(Illustration by Gaich Muramatsu)
This is a good summary of the kind of primitives Ensemble provides. One thing, however, to bear in mind: Ensemble is written as a framework in Objective Caml, a dialect of ML from INRIA in France. So one has to think through the implementation consequences of incorporating it (which are more significant than those raised by starting to exploit a C library). Michael On Mon, 16 Feb 1998, Brian Bartholomew wrote: > > What does "distributed simultaneous group broadcast code" mean? It > > sounds like it means "multicast". I assume, though, it provides > > some facilities beyond simple IP multicast. > > Oops, sorry, one more time in English. Mark and others, feel free to > jump in and correct me. Ensemble is based on IP multicast. However, > under the covers it is a multi-phase commit protocol. It gives you > primitives like the following: > > Message A is guaranteed to be delivered to every recipient, or > none of them. You know which happened. > > All recipients can find out who all the other recipients are, > with no race conditions relative to sent messages. > > Messages A, B, and C are guaranteed to be delivered in ABC > order, no matter how the network reorders or drops them. > > It is multicast, so applications that want to be multicast are > efficient. Wouldn't you like to have redundant Coda servers > on your LAN, in a self-correcting/voting arrangement? Or > distributed not across the LAN, but around the world? > > (I believe this is true) Recipients listen to the protocol > details of a sender. If the sender makes a mistake (because > that machine is crashing), one or more of the recipients takes > over, declares the sender to be busted, kicks it out of the > group, and finishes the protocol to a consistant state. > > > Another member of the League for Programming Freedom (LPF) www.lpf.org > ------------------------------------------------------------------------------- > Brian Bartholomew - bb_at_wv.com - www.wv.com - Working Version, Cambridge, MA >Received on 1998-02-16 01:44:47