This Article 
 Bibliographic References 
 Add to: 
A Configurable Membership Service
May 1998 (vol. 47 no. 5)
pp. 573-586

Abstract—A membership service is used to maintain information about which sites are functioning in a distributed system at any given time. Many such services have been defined, with each implementing a unique combination of properties that simplify the construction of higher levels of the system. Despite this wealth of possibilities, however, any given service typically realizes only one set of properties, which makes it difficult to tailor the service provided to the specific needs of the application. Here, a configurable membership service that addresses this problem is described. This service is based on decomposing membership into its constituent abstract properties and then implementing these properties as separate software modules called micro-protocols that can be configured together to produce a customized membership service. A prototype C++ implementation of the membership service for a simulated distributed environment is also described.

[1] Dependability: Basic Concepts and Terminology, J.C. Laprie, ed. Vienna: Springer-Verlag, 1992.
[2] Y. Amir, L.E. Moser, M. Melliar-Smith, D.A. Agarwal, and P. Ciarfella, “The Totem Single-Ring Ordering and Membership Protocol,” ACM Trans. Computer Systems, vol. 13, no. 4, pp. 311–342, 1995.
[3] F. Cristian, "Reaching Agreement on Processor-Group Membership in Synchronous Distributed Systems," Distributed Computing, vol. 4, pp. 175-187, 1991.
[4] P.D. Ezhilchelvan and R. de Lemos, “A Robust Group Membership Algorithm for Distributed Real-Time Systems,” Proc. Real-Time Systems Symp., 1990.
[5] H. Kopetz, G. Grunsteidl, and J. Reisinger, "Fault-Tolerant Membership Service in a Synchronous Distributed Real-Time System," Dependable Computing for Critical Applications, A. Avizienis and J. Laprie, eds., pp. 411-429.Wien: Springer-Verlag, 1991.
[6] P.M. Melliar-Smith, L.E. Moser, and V. Agrawala, “Processor Membership in Asynchronous Distributed Systems,” IEEE Trans. Parallel and Distributed Systems, vol. 5, no. 5, pp. 459-473, May 1994.
[7] F. Jahanian, A. Fakhouri, and R. Rajkumar, "Processor group membership protocols: Specification, design and implementation," Proc. 12th Symp. Reliable Distributed Systems, pp. 2-11, Oct. 1993.
[8] A. Ricciardi and K. Birman, “Using Process Groups to Implement Failure Detection in Asynchronous Environments,” Proc. ACM Symp. Principles of Distributed Computing, ACM Press, New York, 1991, pp. 341‐351.
[9] M. Reiter, "A Secure Group Membership Protocol," IEEE Trans. Software Eng., vol. 22, no. 1, pp. 31-42, Jan. 1996.
[10] K. Birman, A. Schiper, and P. Stephenson, “Lightweight Causal and Atomic Group Multicast,” ACM Trans. Computer Systems, vol. 9, no. 3, pp. 272-314, Aug. 1991.
[11] N.C. Hutchinson and L.L. Peterson, “The x-Kernel: An Architecture for Implementing Network Protocols,” IEEE Trans. Software Eng., vol. 17, no. 1, pp. 64-76, Jan. 1991.
[12] R. van Renesse, K.P. Birman, and S. Maffeis, “Horus: A Flexible Group Communication System,” Comm. ACM, vol. 39, no. 4, pp. 76–83, 1996.
[13] M. Hiltunen and R. Schlichting, "Properties of Membership Services," Proc. Second Int'l Symp. Autonomous Decentralized Systems, pp. 200-207,Phoenix, Ariz., Apr. 1995.
[14] S. Mishra, L. Peterson, and R. Schlichting, "Consul: A Communication Substrate for Fault-Tolerant Distributed Programs," Distributed System Eng., vol. 1, pp. 87-103, Dec. 1993.
[15] D. Dolev and D. Malki, “The Transis Approach to High Availability Cluster Communication,” Comm. ACM, vol. 39, no. 4, pp. 64–70, 1996.
[16] M.J. Fischer, N.A. Lynch, and M.S. Paterson, “Impossibility of Distributed Consensus with One Faulty Process,” J. ACM, vol. 32, no. 2, pp. 374i–382, 1985.
[17] T.D. Chandra and S. Toueg, “Unreliable Failure Detectors for Reliable Distributed Systems,” J. ACM, vol. 43, no. 2, pp. 225–267, 1996.
[18] L.E. Moser, Y. Amir, P.M. Melliar-Smith, and D.A. Agarwal, "Extended Virtual Synchrony," Proc. 14th Int'l Conf. Distributed Computing Systems, pp. 56-65, June 1994.
[19] B. Rajagopalan and P. McKinley, "A Token-Based Protocol for Reliable, Ordered Multicast Communication," Proc. Eighth Symp. Reliable Distributed Systems, pp. 84-93,Seattle, Wash., Oct. 1989.
[20] H. Orman, E.M. III, S. O'Malley, and L. Peterson, "A Fast and General Implementation of Mach IPC in a Network," Proc. Third Usenix Mach Conf., pp. 75-88,Santa Fe, N.M., Apr. 1993.
[21] M. Hiltunen, "Configurable Distributed Fault-Tolerant Services," PhD thesis, Dept. of Computer Science, Univ. of Arizona, Tucson, July 1996.
[22] N. Bhatti and R. Schlichting, "A System for Constructing Configurable High-Level Protocols," Proc. SIGCOMM '95, pp. 138-150,Cambridge, Mass., Aug. 1995.
[23] D. Schmidt, D. Box, and T. Suda, "ADAPTIVE: A Dynamically Assembled Protocol Transformation, Integration, and Evaluation Environment," Concurrency: Practice and Experience, vol. 5, pp. 269-286, Jun 1993.
[24] G. Agha and D. Sturman, "A Methodology for Adapting to Patterns of Faults," in Foundations of Dependable Computing: Models and Frameworks for Dependable Systems, G. Koob and C. Lau, eds., pp. 23-60. Kluwer Academic Publishers, 1994.
[25] J.C. Fabre, V. Nicomette, T. Perennou, R.J. Stroud, and Z. Wu, Implementing Fault Tolerant Applications Using Reflective Object-Oriented Programming Proc 25th IEEE Int'l Symp. Fault-Tolerant Computing (FTCS-25), pp. 489-498, 1995.
[26] F. Cristian, S. Mishra, and G. Alvarez, "High-Performance Asynchronous Atomic Broadcast," Distributed Systems Eng., vol. 4, pp. 109-128, June 1997.
[27] J. Chang and N. Maxemchuk,“Reliable broadcast protocols,”ACM Trans. Comput. Syst., vol. 2, pp. 251–273, Aug. 1984.
[28] B. Whetten, T. Montgomery, and S. Kaplan, "A High Performance Totally Ordered Multicast Protocol," Theory and Practice in Distributed Systems, LCNS 938, Spriner Verlag, Berlin, 1994, .
[29] A. Schiper and A. Ricciardi, "Virtually-Synchronous Communication Based on a Weak Failure Suspector," Proc. 23rd Int'l Symp. Fault-Tolerant Computing, pp. 534-543, June 1993.

Index Terms:
Distributed systems, networks, communication protocols, customization, modularity, micro-protocols.
Matti A. Hiltunen, Richard D. Schlichting, "A Configurable Membership Service," IEEE Transactions on Computers, vol. 47, no. 5, pp. 573-586, May 1998, doi:10.1109/12.677244
Usage of this product signifies your acceptance of the Terms of Use.