A method for ensuring consistent message reception among a plurality of nodes
in
a distributed system includes the step of causing nodes with outgoing messages
to send the messages to all of the nodes. Each of the nodes then re-sends whatever
messages it has received to all of the nodes after each of the nodes has received
at least one message. The sequence of received messages in each of the nodes is
then determined. If the sequence is not the same for all of the nodes, then each
of the nodes re-sends what it has received until each node receives the same sequence
of messages. A distributed system with a weak atomic broadcast module in each node
to ensure consistent message reception while the nodes operate asynchronously is
also described.