Efficient voting protocols with witnesses

  • Jehan-François Pâris
Fault Tolerance
Part of the Lecture Notes in Computer Science book series (LNCS, volume 470)


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.


distributed file systems replicated data voting witnesses 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    M. Ahamad and M. H. Ammar, “Performance Characterization of Quorum-Consensus Algorithms for Replicated Data,” IEEE Transactions on Software Engineering, SE-15, 4 (1989), pp. 492–496.CrossRefGoogle Scholar
  2. [2]
    D. Agrawal and A. El Abbadi, “Reducing Storage for Quorum Consensus Algorithms,” Proc. 14th VLDB Conference (1988), pp. 419–430.Google Scholar
  3. [3]
    J. Bechta Dugan and G. Ciardo, “Stochastic Petri Net Analysis of a Replicated File System,” IEEE Transactions on Software Engineering, SE-15, 4 (1989), pp. 394–401.Google Scholar
  4. [4]
    D. Barbara, H. Garcia-Molina, and A. Spauster, “Increasing Availability Under Mutual Exclusion Constraints with Dynamic Vote Reassignment,” ACM Transaction on Computer Systems, 7, 4 (1989), pp. 394–426.Google Scholar
  5. [5]
    J. L. Carroll and D. D.E. Long, “The Effect of Failure and Repair Distributions on Consistency Protocols for Replicated Data Objects,” PROC. 22d Annual Simulation Symposium (1989), pp. 47–60.Google Scholar
  6. [6]
    D. Davcev and W. A. Burkhard, “Consistency and Recovery Control for Replicated Files,” Proc. 10th ACM Symposium on Operating System Principles (1985) pp. 87–96.Google Scholar
  7. [7]
    C. A. Ellis, “Consistency and Correctness of Duplicate Database Systems,” Operating Systems Review, 11 (1977).Google Scholar
  8. [8]
    D. K. Gifford, “Weighted Voting for Replicated Data,” Proc. 7th ACM Symposium on Operating System Principles (1979), pp. 150–161.Google Scholar
  9. [9]
    A. Hisgen, A. Birrell, T. Mann, M. Schroeder, and G. Swart, “Availability and Consistency Tradeoffs in the Echo Distributed File System,” Proc. 2nd Workshop on Workstation Operating Systems, (1989), pp. 49–54.Google Scholar
  10. [10]
    B. V. Gnedenko, Yu. K. Belyayev and A. D. Solovyev, Mathematical Methods of Reliability Theory, (English translation of “Matematicheskiye Metody v Teorii Nadezhnosti”), Academic Press, New York (1969).Google Scholar
  11. [11]
    S. Jajodia and D. Mutchler, “Enhancements to the Voting Algorithm,” Proc. 13th VLDB Conference (1987), pp. 399–405.Google Scholar
  12. [12]
    D. D. E. Long and J.-F. Pâris, “A Realistic Evaluation of Optimistic Dynamic Voting,” Proc. 7th Symposium on Reliable Distributed Systems, (1988), pp. 129–137.Google Scholar
  13. [13]
    J.-F. Pâris, “Voting with Witnesses: A Consistency Scheme for Replicated Files,” Proc. 6th International Conference on Distributed Computing Systems, (1986), pp. 606–612.Google Scholar
  14. [14]
    J.-F. Paris “Voting with Bystanders,” Proc. 9th International Conference on Distributed Computing Systems, (1989), pp. 394–401.Google Scholar
  15. [15]
    C. Pu, J. D. Noe and A. Proudfoot, “Regeneration of Replicated Objects: A Technique and its Eden Implementation,” IEEE Transactions on Software Engineering, SE-14, 7 (1988), pp. 936–945.Google Scholar
  16. [16]
    R. van Renesse and A. Tanenbaum, “Voting with Ghosts,” Proc. 8th International Conference on Distributed Computing Systems, (1988), pp. 456–462.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Jehan-François Pâris
    • 1
  1. 1.Department of Computer ScienceUniversity of HoustonHouston

Personalised recommendations