Adaptive Voting for Balancing Data Integrity with Availability

  • Johannes Osrael
  • Lorenz Froihofer
  • Matthias Gladt
  • Karl M. Goeschka
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4278)

Abstract

Data replication is a primary means to achieve fault tolerance in distributed systems. Data integrity is one of the correctness criteria of data-centric distributed systems. If data integrity needs to be strictly maintained even in the presence of network partitions, the system becomes (partially) unavailable since no potentially conflicting updates are allowed on replicas in different partitions. Availability can be enhanced if data integrity can be temporarily relaxed during degraded situations. Thus, data integrity can be balanced with availability.

In this paper, we contribute with a new replication protocol based on traditional quorum consensus (voting) that allows the configuration of this trade-off. The key idea of our Adaptive Voting protocol is to allow non-critical operations (that cannot violate critical constraints) even if no quorum exists. Since this might impose replica conflicts and data integrity violations, different reconciliation policies are needed to re-establish correctness at repair time. An availability analysis and an experimental evaluation show that Adaptive Voting provides better availability than traditional voting if (i) some data integrity constraints of the system are relaxable and (ii) reconciliation time is shorter than degradation time.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Thomas, R.H.: A majority consensus approach to concurrency control for multiple copy databases. ACM Trans. Database Syst. 4(2) (1979)Google Scholar
  2. 2.
    Gifford, D.K.: Weighted voting for replicated data. In: SOSP 1979: Proc. of the 7th ACM Symp. on Operating Systems Principles, pp. 150–162. ACM Press, New York (1979)CrossRefGoogle Scholar
  3. 3.
    Smeikal, R., Goeschka, K.M.: Fault-tolerance in a distributed management system: a case study. In: Proc. 25th Int. Conf. on Software Engineering, pp. 478–483. IEEE, Los Alamitos (2003)CrossRefGoogle Scholar
  4. 4.
    Epics - experimental physics and industrial control system, http://aps.anl.gov/epics/
  5. 5.
    Osrael, J., Froihofer, L., Goeschka, K.M., Beyer, S., Galdámez, P., Muñoz, F.: A system architecture for enhanced availability of tightly coupled distributed systems. In: Proc. of 1st Int. Conf. on Availability, Reliability, and Security. IEEE, Los Alamitos (2006)Google Scholar
  6. 6.
    Cristian, F.: Understanding fault-tolerant distributed systems. Commun. ACM 34(2) (1991)Google Scholar
  7. 7.
    Froihofer, L., Osrael, J., Goeschka, K.M.: Trading integrity for availability by means of explicit runtime constraints. In: Proc. 30th Int. Computer Software and Applications Conference. IEEE, Los Alamitos (2006)Google Scholar
  8. 8.
    Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. Journal of the ACM 32(2), 374–382 (1985)MATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Rountree, S.L.K., Gillet, B.E.: Parametric integer linear programming: A synthesis of branch and bound with cutting planes. European Journal of Operations Research (1982)Google Scholar
  10. 10.
    Osrael, J., Froihofer, L., Gladt, M., Goeschka, K.M.: Availability of the adaptive voting replication protocol. Technical Report IR3.3-TUV-03, DeDiSys Consortium (2006)Google Scholar
  11. 11.
    Urban, P., Defago, X., Schiper, A.: Neko: a single environment to simulate and prototype distributed algorithms. In: Proc. 15th Int. Conf. on Information Networking, pp. 503–511. IEEE, Los Alamitos (2001)CrossRefGoogle Scholar
  12. 12.
    Jajodia, S., Mutchler, D.: Dynamic voting algorithms for maintaining the consistency of a replicated database. ACM Trans. Database Syst. 15(2), 230–280 (1990)CrossRefGoogle Scholar
  13. 13.
    Pâris, J.: Voting with witnesses: A consistency scheme for replicated files. In: Proc. of the 6th Int. Conf. on Distributed Computing Systems, pp. 606–612. IEEE, Los Alamitos (1986)Google Scholar
  14. 14.
    Felber, P., Narasimhan, P.: Reconciling replication and transactions for the end-to-end reliability of corba applications. In: Meersman, R., Tari, Z., et al. (eds.) CoopIS 2002, DOA 2002, and ODBASE 2002. LNCS, vol. 2519, pp. 737–754. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  15. 15.
    Ren, Y., Bakken, D.E., Courtney, T., Cukier, M., Karr, D.A., Rubel, P., Sabnis, C., Sanders, W.H., Schantz, R.E., Seri, M.: Aqua: An adaptive architecture that provides dependable distributed objects. IEEE Trans. on Computers 52(1), 31–50 (2003)CrossRefGoogle Scholar
  16. 16.
    Yu, H., Vahdat, A.: Design and evaluation of a conit-based continuous consistency model for replicated services. ACM Trans. Comput. Syst. 20(3), 239–282 (2002)CrossRefGoogle Scholar
  17. 17.
    Terry, D.B., Theimer, M.M., Petersen, K., Demers, A.J., Spreitzer, M.J., Hauser, C.H.: Managing update conflicts in bayou, a weakly connected replicated storage system. In: Proc. 15th ACM Symp. on Operating Systems Principles, pp. 172–182. ACM, New York (1995)Google Scholar
  18. 18.
    Gray, J., Helland, P., O’Neil, P., Shasha, D.: The dangers of replication and a solution. In: Proc. of the 1996 ACM SIGMOD Int’l Conf. on Management of Data, pp. 173–182. ACM, New York (1996)CrossRefGoogle Scholar
  19. 19.
    Preguica, N., Baquero, C., Moura, F., Legatheaux Martins, J., Oliveira, R., Domingos, H., Pereira, J., Duarte, S.: Mobile transaction management in mobisap. In: Masunaga, Y., Thalheim, B., Štuller, J., Pokorný, J. (eds.) ADBIS 2000 and DASFAA 2000. LNCS, vol. 1884, pp. 379–386. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  20. 20.
    Saito, Y., Shapiro, M.: Optimistic replication. ACM Comput. Surv. 37(1), 42–81 (2005)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Johannes Osrael
    • 1
  • Lorenz Froihofer
    • 1
  • Matthias Gladt
    • 1
  • Karl M. Goeschka
    • 1
  1. 1.Institute of Information SystemsVienna University of TechnologyWienAustria

Personalised recommendations