[Spread-users] Sending messages to a fixed set of servers
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. :)
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,
> Spread-users mailing list
> Spread-users at lists.spread.org
More information about the Spread-users