[Spread-users] Sending messages to a fixed set of servers

John Schultz jschultz at spreadconcepts.com
Wed May 5 14:04:46 EDT 2004

You give a good description of Lamport time stamps.  It sounds like you 
are on the right track to implement persistant messaging.  Some of the 
things you will need to consider:

(0) Is your system client replicator based or server replicator based? 
Meaning can a light-weight client connect from anywhere and just get the 
messages it needs from replicating servers, or does it run the 
replication algorithm itself?

(1) How do you handle partitions and merges and any updates that are 
generated in different partitions?

(2) Efficient state transfer / synchronization.

(3) Efficient use of permanent store (disk).

(4) The permanent addition and/or removal of clients.

One thing I'd recommend to you is to use logical names instead of using 
IP addresses as the names of your replicators.  This is a more general 
approach as it will allow you to relocate a replicator more easily and 
also allow you to run multiple replicators on a single machine (if you 
ever need to).

Also, don't underestimate the difficulty of what you are proposing. :)

Good luck!

John Lane Schultz
Spread Concepts LLC
Phn: 443 838 2200

Christian Schnell wrote:
> After thinking a bit more about Lamports logical clocks, I think I 
> understood a very simple solution of how to place a correct and usefull 
> total order on messages (it's rather obvious).
> A persistent, system-wide logical clock that spans across all messages 
> for the entire run-time of a "persistent group". Before sending a 
> message m, a node increments its local logical-clock value and sends 
> that with m. Upon receiving a message m, a node updates its local 
> logical-clock value: logical-clock = MAX(logical-clock, m.lctime + 1). 
> On shutdown/startup, each node stores/restores its local logical-clock 
> value. Changes in the configuration can be ignored, and by building the 
> pair of (local-IP, logical-clock) I have a nice "primary key" for 
> message log records.
> With the totally ordered logical-clock in the message log records, it 
> becomes *much* simpler to determine the set of mission messages at each 
> node, correct?
> Thanks for any input,
> Christian.
> _______________________________________________
> Spread-users mailing list
> Spread-users at lists.spread.org
> http://lists.spread.org/mailman/listinfo/spread-users

More information about the Spread-users mailing list