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

Yair Amir yairamir at cnds.jhu.edu
Wed May 5 13:54:24 EDT 2004


Christian,

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:
http://www.cnds.jhu.edu/rep.html

Hope this helps,

     :) Yair.

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> Christian.


Christian> _______________________________________________
Christian> Spread-users mailing list
Christian> Spread-users at lists.spread.org
Christian> http://lists.spread.org/mailman/listinfo/spread-users






More information about the Spread-users mailing list