Reliable broadcast protocols

A reliable broadcast protocol for an unreliable broadcast network is described. The protocol operates between the application programs and the broadcast network. It isolates the application programs from the unreliable characteristics of the communication network. The protocol guarantees that all of the broadcast messages are received at all of the operational receivers in a broadcast group. In addition, the sequence of messages is the same at each of the receivers and a total ordering exists among all broadcast messages. This unique message sequencing can be used to simplify distributed database systems and distributed processing algorithms. The protocol can operate with as few as one acknowledgment message per broadcast message, instead of one acknowledgment from each receiver per broadcast message. The protocol continues to operate when sites in the broadcast group fail.