Ordered
machine-readable messages are reliably delivered among
processing members in a
multiprocessing computer
system. The
system includes multiple
processing nodes, each having a unique source-ID and a membership view including one or more of the
processing nodes with which it can nominally exchange messages. When a stimulus message is received by a first processing node, the node increments a coordinated local counter (CC). The node also sends a
multicast message to all processing nodes in the first node's membership group. The
multicast message includes the received stimulus message, the incremented CC value, and the first node's source-ID. The node further sets a
timer, exclusively associated with the incremented CC value. When a
multicast message is received at a processing node, the node performs a multicast input processing routine. The node sets its CC equal to the greater of its current value or the received
multicast message's CC value. The node also sends an
acknowledgement message to all processing nodes in its membership group. Also, in response to the
multicast message, the node sets a
timer, exclusively associated with the received
multicast message's CC value. Whenever a node's
timer associated with a CC value expires before messages with the same CC value have been received from each of the node's membership group, the node invokes a membership protocol requiring asymmetric safety.