A quorum-consensus replication method for abstract data types

Replication can enhance the availability of data in distributed systems. This paper introduces a new method for managing replicated data. Unlike many methods that support replication only for uninterpreted files, this method systematically exploits type-specific properties of objects such as sets, queues, or directories to provide more effective replication. Each operation requires the cooperation of a certain number of sites for its successful completion. A quorum for an operation is any such set of sites. Necessary and sufficient constraints on quorum intersections are derived from an analysis of the data type's algebraic structure. A reconfiguration method is proposed that permits quorums to be changed dynamically. By taking advantage of type-specific properties in a general and systematic way, this method can realize a wider range of availability properties and more flexible reconfiguration than comparable replication methods.

[1]  Robert Thomas,et al.  Maintenance of duplicate databases , 1975, RFC.

[2]  J. D. Day,et al.  A principle for resilient sharing of distributed resources , 1976, ICSE '76.

[3]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[4]  Joost Verhofstad,et al.  Recovery Techniques for Database Systems , 1978, CSUR.

[5]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[6]  David K. Gifford,et al.  Weighted voting for replicated data , 1979, SOSP '79.

[7]  Alan Snyder,et al.  Exception Handling in CLU , 1979, IEEE Transactions on Software Engineering.

[8]  Christos H. Papadimitriou,et al.  The serializability of concurrent database updates , 1979, JACM.

[9]  Michael Hammer,et al.  Reliability mechanisms for SDD-1: a system for distributed databases , 1980, TODS.

[10]  Jeffrey D. Ullman,et al.  Principles of Database Systems , 1980 .

[11]  Walter H. Kohler,et al.  A Survey of Techniques for Synchronization and Recovery in Decentralized Computer Systems , 1981, CSUR.

[12]  Philip A. Bernstein,et al.  Concurrency Control in Distributed Database Systems , 1986, CSUR.

[13]  David Kenneth Gifford,et al.  Information storage in a decentralized computer system , 1981 .

[14]  Deborah DuBourdieux,et al.  Implementation of Distributed Transactions , 1982, Berkeley Workshop.

[15]  Stephen Fox,et al.  The implementation of an integrated concurrency control and recovery scheme , 1982, SIGMOD '82.

[16]  Roger M. Needham,et al.  Grapevine: an exercise in distributed computing , 1982, CACM.

[17]  Michael J. Fischer,et al.  Sacrificing serializability to attain high availability of data in an unreliable network , 1982, PODS.

[18]  Toshimi Minoura,et al.  Resilient Extended True-Copy Token Scheme for a Distributed Database System , 1982, IEEE Transactions on Software Engineering.

[19]  Derek L. Eager,et al.  Achieving robustness in distributed database systems , 1983, TODS.

[20]  Stephen Fox,et al.  A recovery algorithm for a distributed database system , 1983, PODS.

[21]  David P. Reed,et al.  Implementing atomic actions on decentralized data , 1983, TOCS.

[22]  Yogen K. Dalal,et al.  The clearinghouse: a decentralized agent for locating named objects in a distributed environment , 1983, TOIS.

[23]  Barbara Liskov,et al.  Guardians and Actions: Linguistic Support for Robust, Distributed Programs , 1983, TOPL.

[24]  Philip A. Bernstein,et al.  The failure and recovery problem for replicated databases , 1983, PODC '83.

[25]  William E. Weihl,et al.  SPECIFICATION AND IMPLEMENTATION OF ATOMIC DATA TYPES , 1984 .

[26]  Eric C. Cooper Circus: A Replicated Procedure Call Facility , 1984, Symposium on Reliability in Distributed Software and Database Systems.

[27]  M. P. Herlihy REPLICATION METHODS FOR ABSTRACT DATA TYPES , 1984 .

[28]  Alfred Z. Spector,et al.  Weighted voting for directories : a comprehensive study , 1984 .

[29]  Hector Garcia-Molina,et al.  How to assign votes in a distributed system , 1985, JACM.

[30]  Maurice Herlihy,et al.  Using type information to enhance the availability of partitioned data , 1985 .

[31]  Alfred Z. Spector,et al.  Support for Distributed Transactions in the TABS Prototype , 1985, IEEE Transactions on Software Engineering.

[32]  E. B. Moss,et al.  Nested Transactions: An Approach to Reliable Distributed Computing , 1985 .

[33]  Kenneth P. Birman Replication and fault-tolerance in the ISIS system , 1985, SOSP 1985.

[34]  Kenneth P. Birman,et al.  Low cost management of replicated data in fault-tolerant distributed systems , 1986, TOCS.