[Spread-users] Sending messages to a fixed set of servers
yairamir at cnds.jhu.edu
Wed May 5 13:54:24 EDT 2004
Imposing a system-wide logical clock between all of the potential
participants will help construct a global total order. However, you will need
at least one message from each of the participants in order to order
messages. This can be not achievable if even one participant is down
or not connected, in which case your system will block.
There is vast research on these questions :) and in fact Spread
was designed specifically to aid in solving this problem by providing
a strong-semantics messaging infrastructure that provide a delicate
semantics especially in the case of partitions. However, Spread
does not cope with the persistency problem by itself.
A good solution that handles partitions is fairly complex.
See here for a starting point:
Hope this helps,
On Wednesday, May 05, 2004 1:27 PM
Christian Schnell lulli at cs.tu-berlin.de wrote:
Christian> After thinking a bit more about Lamports logical clocks, I think I
Christian> understood a very simple solution of how to place a correct and usefull
Christian> total order on messages (it's rather obvious).
Christian> A persistent, system-wide logical clock that spans across all messages
Christian> for the entire run-time of a "persistent group". Before sending a
Christian> message m, a node increments its local logical-clock value and sends
Christian> that with m. Upon receiving a message m, a node updates its local
Christian> logical-clock value: logical-clock = MAX(logical-clock, m.lctime + 1).
Christian> On shutdown/startup, each node stores/restores its local logical-clock
Christian> value. Changes in the configuration can be ignored, and by building the
Christian> pair of (local-IP, logical-clock) I have a nice "primary key" for
Christian> message log records.
Christian> With the totally ordered logical-clock in the message log records, it
Christian> becomes *much* simpler to determine the set of mission messages at each
Christian> node, correct?
Christian> Thanks for any input,
Christian> Spread-users mailing list
Christian> Spread-users at lists.spread.org
More information about the Spread-users