Bounding sequence numbers in distributed systems: a general approach

The authors present a general methodology for bounding the range of sequence numbers utilized in a distributed program to order events. This methodology requires explicit knowledge of bounds on the rate at which processes may increment sequence numbers and the time required to transmit a message. It may also require the inclusion of additional synchronization in a distributed application which utilizes the bounded sequence numbers. The methodology is demonstrated in three contexts. It is shown how a scheme for bounding sequence numbers on requests for network mutual exclusion is consistent with the methodology. Sequence numbers are bound in a network mutual exclusion protocol. The methodology is utilized to bound the size of sequence numbers used in successive fault-tolerant broadcasts among a group of fail-stop processors. In all three cases, with totally different message-passing patterns and means of incrementing sequence numbers, consistent application of the methodology is stressed.<<ETX>>