Perspectives on Distributed Network Protocols: A Case for Building Blocks
Eli M. Gafni · 1986
Although it is common practice to design large systems by decomposition, it does not seem to be the case in the design of "small" distributed protocols, especially when the network is assumed reliable. Many such protocols share common features, yet are designed and proved as isolated cases, which makes them difficult to understand and even more difficult to validate. In this paper, a building-block approach to the design of distributed protocols is advocated. We take a few simple and rather basic protocols proposed by various researchers, and assert that these protocols are suitable to serve as building blocks. We then go through the exercise of designing several protocols employing these building blocks. We illustrate how such a design can lead to better understanding and clarity of the protocols, and even to improvement in performance.