This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
From Set Membership to Group Membership: A Separation of Concerns
January-March 2006 (vol. 3 no. 1)
pp. 2-12
We revisit the well-known group membership problem and show how it can be considered a special case of a simple problem, the set membership problem. In the set membership problem, processes maintain a set whose elements are drawn from an arbitrary universe: They can request the addition or removal of elements to/from that set, and they agree on the current value of the set. Group membership corresponds to the special case where the elements of the set happen to be processes. We exploit this new way of looking at group membership to give a simple and succint specification of this problem and to outline a simple implementation approach based on the state machine paradigm. This treatment of group membership separates several issues that are often mixed in existing specifications and/or implementations of group membership. We believe that this separation of concerns greatly simplifies the understanding of this problem.

[1] Y. Amir, D. Dolev, S. Kramer, and D. Malki, “Membership Algorithms for Multicast Communication Groups,” Proc. Sixth Int'l Workshop Distributed Algorithms (WDAG-6), pp. 292-312, Nov. 1992.
[2] E. Anceaume, B. Charron-Bost, P. Minet, and S. Toueg, “On the Formal Specification of Group Membership Services,” Technical Report 95-1534, Dept. of Computer Science, Cornell Univ., Aug. 1995.
[3] O. Babaoglu, R. Davoli, and A. Montresor, “Group Communication in Partitionable Systems: Specification and Algorithms,” IEEE Trans. Software Eng., vol. 27, no. 4, pp. 308-336, 2001.
[4] T.D. Chandra, V. Hadzilacos, S. Toueg, and B. Charron-Bost, “On the Impossibility of Group Membership,” Proc. 15th ACM Symp. Principles of Distributed Computing, pp. 322-330, May 1996.
[5] T.D. Chandra and S. Toueg, “Unreliable Failure Detectors for Reliable Distributed Systems,” J. ACM, vol. 43, no. 2, pp. 225-267, 1996.
[6] W. Chen, S. Toueg, and M.K. Aguilera, “On the Quality of Service of Failure Detectors,” IEEE Trans. Computers, vol. 51, no. 5, pp. 561-580, May 2002.
[7] G.V. Chockler, I. Keidar, and R. Vitenberg, “Group Communication Specifications: A Comprehensive Study,” ACM Computing Surveys, vol. 33, no. 4, pp. 1-43, Dec. 2001.
[8] B. Chor and C. Dwork, “Randomization in Byzantine Agreement,” Advances in Computing Research, Randomness in Computation, S. Micali, ed., vol. 5, pp. 443-497, JAI Press, 1989.
[9] M. Clegg and K. Marzullo, “A Low-Cost Group Membership Protocol for a Hard Real-Time Distributed System,” Proc. 18th IEEE Real-Time Systems Symp. (RTSS '97), pp. 90-98, Dec. 1997.
[10] F. Cristian, “Reaching Agreement on Processor Group Membership in Synchronous Distributed Systems,” Distributed Computing, vol. 4, no. 4, pp. 175-187, Apr. 1991.
[11] F. Cristian and C. Fetzer, “The Timed Asynchronous Distributed System Model,” IEEE Trans. Parallel & Distributed Systems, vol. 10, no. 6, pp. 642-657, June 1999.
[12] D. Dolev, C. Dwork, and L. Stockmeyer, “On the Minimal Synchrony Needed for Distributed Consensus,” J. ACM, vol. 34, no. 1, pp. 77-97, Jan. 1987.
[13] C. Dwork, N. Lynch, and L. Stockmeyer, “Consensus in the Presence of Partial Synchrony,” J. ACM, vol. 35, no. 2, pp. 288-323, Apr. 1988.
[14] A. Fekete, N. Lynch, and A.A. Shvartsman, “Specifying and Using a Group Communication Service,” ACM Trans. Computer Systems, vol. 19, no. 2, pp. 171-216, May 2001.
[15] M. Fischer, N. Lynch, and M. Paterson, “Impossibility of Distributed Consensus with One Faulty Process,” J. ACM, vol. 32, pp. 374-382, Apr. 1985.
[16] M. Franceschetti and J. Bruck, “A Group Membership Algorithm with a Practical Specification,” IEEE Trans. Parallel & Distributed Systems, vol. 12, no. 11, pp. 1190-1200, Nov. 2001.
[17] R. Guerraoui and A. Schiper, “The Generic Consensus Service,” IEEE Trans. Software Eng., vol. 27, no. 1, pp. 29-41, Jan. 2001.
[18] V. Hadzilacos and S. Toueg, “Fault-Tolerant Broadcasts and Related Problems,” Technical Report 94-1425, Dept. of Computer Science, Cornell Univ., May 1994.
[19] M.A. Hiltunen, “Membership and System Diagnosis,” Proc. 14th IEEE Symp. Reliable Distributed Systems (SRDS-14), pp. 208-217, Sept. 1995.
[20] M.A. Hiltunen and R.D. Schlichting, “Properties of Membership Services,” Proc. Second Int'l Symp. Autonomous Decentralized Systems, Apr. 1995.
[21] M.A. Hiltunen and R.D. Schlichting, “A Configurable Membership Service,” IEEE Trans. Computers, vol. 47, no. 5, pp. 573-586, May 1998.
[22] L. Lamport, “Time, Clocks, and the Ordering of Events in a Distributed System,” Comm. ACM, vol. 21, no. 7, pp. 558-565, July 1978.
[23] K. Lin and V. Hadzilacos, “Asynchronous Group Membership Service,” Proc. 13th. Int'l Symp. Distributed Computing (DISC '99), pp. 79-93, Sept. 1999.
[24] P.M. Melliar-Smith, L.E. Moser, and V. Agrawala, “Processor Membership in Asynchronous Distributed Systems,” IEEE Trans. Parallel & Distributed Systems, vol. 5, no. 5, pp. 459-473, May 1994.
[25] A. Mostefaoui and M. Raynal, “Solving Consensus Using Chandra-Toueg's Unreliable Failure Detectors: A Synthetic Approach,” Proc. 13th. Int'l Symp. Distributed Computing (DISC '99), Sept. 1999.
[26] A.M. Ricciardi and K.P. Birman, “Using Process Groups to Implement Failure Detection in Asynchronous Environments,” Proc. 10th ACM Symp. Principles of Distributed Computing, pp. 341-352, Aug. 1991.
[27] A. Schiper, “Early Consensus in an Asynchronous System with a Weak Failure Detector,” Distributed Computing, vol. 10, no. 3, pp. 149-157, Apr. 1997.
[28] F.B. Schneider, “Implementing Fault Tolerant Services Using the State Machine Approach: A Tutorial,” Computing Surveys, vol. 22, no. 4, pp. 299-319, Dec. 1990.
[29] P. Urbán, “Evaluating the Performance of Distributed Agreement Algorithms: Tools, Methodology, and Case Studies,” PhD thesis, Number 2824, École Polytechnique Fédérale de Lausanne, Switzerland, Aug. 2003.
[30] P. Urbán, X. Défago, and A. Schiper, “Chasing the FLP Impossibility Result in a LAN or How Robust Can a Fault Tolerant Server Be?” Proc. 20th IEEE Symp. Reliable Distributed Systems (SRDS-20), pp. 190-193, Oct. 2001.

Index Terms:
Fault-tolerance, high availability.
Citation:
Andr? Schiper, Sam Toueg, "From Set Membership to Group Membership: A Separation of Concerns," IEEE Transactions on Dependable and Secure Computing, vol. 3, no. 1, pp. 2-12, Jan.-March 2006, doi:10.1109/TDSC.2006.13
Usage of this product signifies your acceptance of the Terms of Use.