Efficient Voting Protocols with Witnesses

Witnesses are small entities recording the state of a replicated object. They are especially useful in voting protocols as these protocols require 2n + 1 replicas to guarantee continuous access to the data in the presence of n site failures but allow some of these replicas to be replaced by a witness. We propose in this paper two orthogonal enhancements to the original voting with witnesses protocol. Our first proposal introduces a new kind of witness that can be stored in volatile memory and is put in a state of temporary amnesia when it recovers from a hardware failure. Our second proposal allows the set of all current replicas to act as a majority even when it only has a minority of the votes; it is then referred to as a leading minority. We show that under standard Markovian assumptions two full replicas and one volatile witness managed by a majority consensus voting protocol recognizing leading minorities provide a data availability comparable to that achieved by three full replicas managed by majority consensus voting.

[1]  Garret Swart,et al.  Availability and consistency tradeoffs in the Echo distributed file system , 1989, Proceedings of the Second Workshop on Workstation Operating Systems.

[2]  Mostafa H. Ammar,et al.  Performance Characterization of Quorum-Consensus Algorithms for Replicated Data , 1989, IEEE Trans. Software Eng..

[3]  Jehan-François Pâris Voting with bystanders , 1989, [1989] Proceedings. The 9th International Conference on Distributed Computing Systems.

[4]  Robbert van Renesse,et al.  Voting with ghosts , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

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

[6]  Gianfranco Ciardo,et al.  Stochastic Petri Net Analysis of a Replicated File System , 1989, IEEE Trans. Software Eng..

[7]  Hector Garcia-Molina,et al.  Increasing availability under mutual exclusion constraints with dynamic vote reassignment , 1989, TOCS.

[8]  Darrell D. E. Long,et al.  The Effect of Failure and Repair Distributions on Consistency Protocols for Replicated Data Objects , 1989, [1989] Record of Proceedings. The 22nd Annual Simulation Symposium.

[9]  Calton Pu,et al.  Regeneration of replicated objects: A technique and its Eden implementation , 1986, 1986 IEEE Second International Conference on Data Engineering.

[10]  Divyakant Agrawal,et al.  Reducing Storage for Quorum Consensus Algorithms , 1988, VLDB.

[11]  Walter A. Burkhard,et al.  Consistency and recovery control for replicated files , 1985, SOSP 1985.

[12]  Boris Vladimirovič Gnedenko,et al.  Mathematical methods in the reliability theory , 1969 .

[13]  Jehan-François Pâris,et al.  Voting with Witnesses: A Constistency Scheme for Replicated Files , 1986, ICDCS.

[14]  Sushil Jajodia,et al.  Enhancements to the Voting Algorithm , 1987, VLDB.

[15]  Clarence A. Ellis,et al.  Consistency and correctness of duplicate database systems , 1977, SOSP '77.

[16]  Darrell D. E. Long,et al.  A realistic evaluation of optimistic dynamic voting , 1988, Proceedings [1988] Seventh Symposium on Reliable Distributed Systems.