A Composition Methodology for Designing Proactive Distributed Protocols
Nathanael Thompson, Indranil Sen Gupta, Ken Birman · Illinois Digital Environment for Access to Learning and Scholarship (University of Illinois at Urbana-Champaign) · 2004
It is essential to develop methodologies for the design of distributed protocols in order to reduce the complexity of distributed systems, and for maturing the field. This paper presents a composition methodology for designing a range of proactive distributed protocols, with applicability to large-scale distributed groups in both the Internet (e.g., peer to peer systems) and wireless sensor networks. The methodology consists of several basic building blocks and different composition techniques which can be used to combine the blocks into solutions for distributed computing problems. The compositions preserve properties of the original components (reliability, scalability, liveness). Next, we describe a simple specification language called "Proactive Protocol Composition Language (PPCL)" which can be used to specify and compose existing source code (C language) of building block implementations in order to automate the above design methodology. We discuss how the methodology and PPCL are (i) retroactive, i.e., can generate protocols already existing in literature, and (ii) progressive, i.e., can generate new protocols. For an important distributed computing problem (membership management in large groups), we give experimental data to compare (i) a generated protocol with a hand-written protocol, and (ii) an existing protocol with an augmentation realized through PPCL.