The Virtual Synchrony Execution Model

  • Kenneth P. Birman
Part of the Texts in Computer Science book series (TCS)


The protocols of Chap.  12 represent a new kind of building block from which a wide variety of sophisticated systems can be constructed. Here, we do so, exploring the needed mechanisms that will let us take the step from a world of protocols that live in isolation to a full-fledged toolkit for implementing applications. When the properties of the model are combined with these primitives, we will say that a virtually synchronous execution environment results (see Birman and Joseph 1987a, 1987b; Birman and van Renesse 1994). Our treatment here is detailed but not fully formalized; a more mathematical treatment is provided in Appendix A.




  1. Agapi, A., Birman, K., Broberg, R., Cotton, C., Kielmann, T., Millnert, M., Payne, R., Surton, R., van Renesse, R.: Routers for the cloud: Can the Internet achieve 5-nines availability? IEEE Internet Comput. 15(5), 72–77 (2011) CrossRefGoogle Scholar
  2. Agarwal, D.A.: Totem: A reliable ordered delivery protocol for interconnected local area networks. Ph.D. diss., Department of Electrical and Computer Engineering, University of California, Santa Barbara (1994) Google Scholar
  3. Amir, Y.: Replication using group communication over a partitioned network. Ph.D. diss., Hebrew University of Jerusalem (1995) Google Scholar
  4. Amir, Y., Danilov, C., Stanton, J.: A low latency, loss tolerant architecture and protocol for wide area group communication. In: International Conference on Dependable Systems and Networks (DCCA-8), New York, June 25–28, 2000 Google Scholar
  5. Birman, K.P., Joseph, T.A.: Exploiting virtual synchrony in distributed systems. In: Proceedings of the Eleventh Symposium on Operating Systems Principles, Austin, November 1987, pp. 123–138. ACM Press, New York (1987a) CrossRefGoogle Scholar
  6. Birman, K.P., Joseph, T.A.: Reliable communication in the presence of failures. ACM Trans. Comput. Syst. 5(1), 47–76 (1987b) CrossRefGoogle Scholar
  7. Birman, K.P., van Renesse, R. (eds.): Reliable Distributed Computing with the Isis Toolkit. IEEE Computer Society Press, New York (1994) Google Scholar
  8. Birman, K.P., van Renesse, R.: Software for reliable networks. Sci. Am. 274(5), 64–69 (1996) CrossRefGoogle Scholar
  9. Birman, K.P., Freedman, D.F., Huang, Q.: Overcoming CAP with consistent soft-state replication. IEEE Comput. Soc. Mag., special issue on the growing importance of the CAP conjecture, January/February 2012 Google Scholar
  10. Budhiraja, N., et al.: The primary-backup approach. In: Mullender, S.J. (ed.) Distributed System, 2nd edn. Addison-Wesley/ACM Press, Reading (1993) Google Scholar
  11. Chockler, G., Keidar, I., Vitenberg, R.: Group communication specifications: A comprehensive study. ACM Comput. Surv. 33(4), 1–43 (2001) CrossRefGoogle Scholar
  12. Cooper, B.F., Ramakrishnan, R., Srivastava, U., Silberstein, A., Bohannon, P., Jacobsen, H.A., Puz, N., Weaver, D., Yerneni, R.: PNUTS: Yahoo!’s hosted data serving platform. In: Proc. 34th VLDB, August 2008, vol. 1, 2, pp. 1277–1288 (2008) Google Scholar
  13. Cristian, F.: Synchronous and asynchronous group communication. Commun. ACM 39(4), 88–97 (1996) CrossRefGoogle Scholar
  14. Dolev, D., Malkhi, D.: The Transis approach to high availability cluster communication. Commun. ACM 39(4), 64–70 (1996) CrossRefGoogle Scholar
  15. Dolev, D., Malkhi, D., Strong, R.: A framework for partitionable membership service. Technical Report TR 95-4, Institute of Computer Science, Hebrew University of Jerusalem, March (1995) Google Scholar
  16. Keidar, I.: Consistency and high availability of information dissemination in multi-processor networks. Ph.D. thesis, Hebrew University of Jerusalem, October (1998) Google Scholar
  17. Keidar, I.: Challenges in evaluating distributed algorithms. In: Future Directions in Distributed Computing. Lecture Notes in Computer Science, vol. 2584, pp. 40–44 (2010) CrossRefGoogle Scholar
  18. Keidar, I., Dolev, D.: Totally ordered broadcast in the face of network partitions. Exploiting group communication for replication in partitionable networks. In: Avresky, D. (ed.) Dependable Network Computing, pp. 51–75. Kluwer Academic, Dordrecht (2000). Chap. 3 CrossRefGoogle Scholar
  19. Keidar, I., Khazan, R.: A virtually synchronous group multicast algorithm for WANs: Formal approach. SIAM J. Comput. 32(1), 78–130 (2002) MathSciNetMATHCrossRefGoogle Scholar
  20. Keidar, I., Khazan, R., Lynch, N., Shvartsman, A.: An inheritance-based technique for building simulation proofs incrementally. ACM Trans. Softw. Eng. Methodol. 11(1), 63–91 (2002a) CrossRefGoogle Scholar
  21. Keidar, I., Sussman, J., Marzullo, K., Dolev, D.: Moshe: A group membership service for wans. ACM Trans. Comput. Syst. 20(3), 1–48 (2002b) CrossRefGoogle Scholar
  22. Lamport, L.: Using time instead of timeout for fault-tolerant distributed systems. ACM Trans. Program. Lang. Syst. 6(2), 254–280 (1984) CrossRefGoogle Scholar
  23. Lamport, L.: Paxos made simple. Distrib. Comput. Column ACM SIGACT News 32(4), 51–58 (2001) Google Scholar
  24. Lamport, L., Malkhi, D., Zhou, L.: Vertical Paxos and primary-backup replication. In: Proceedings of the 28th ACM Symposium on Principles of Distributed Computing (PODC’09), pp. 312–313 (2009a) CrossRefGoogle Scholar
  25. Malkhi, D.: Multicast communication for high availability. Ph.D. diss., Hebrew University of Jerusalem (1994) Google Scholar
  26. Moser, L.E., Melliar-Smith, P.M., Agarwal, D.A., Budhia, R.K., Lingley-Papadopoulos, C.A.: Totem: A fault-tolerant multicast group communication system. Commun. ACM 39(4), 54–63 (1996) CrossRefGoogle Scholar
  27. Powell, D.: Introduction to special section on group communication. Commun. ACM 39(4), 50–53 (1996) CrossRefGoogle Scholar
  28. Pritchett, D.: BASE: An acid alternative. Queue 6(3), 48–55 (2008) CrossRefGoogle Scholar
  29. Reiter, M.K.: Distributing trust with the Rampart toolkit. Commun. ACM 39(4), 71–75 (1996) MathSciNetCrossRefGoogle Scholar
  30. Schiper, A., Raynal, M.: From group communication to transactions in distributed systems. Commun. ACM 39(4), 84–87 (1996) CrossRefGoogle Scholar
  31. Schneider, F.B.: The StateMachine approach: A tutorial. In: Proceedings of the Workshop on Fault-Tolerant Distributed Computing, Asilomar, CA. Lecture Notes on Computer Science, vol. 448, pp. 18–41. Springer, Berlin (1988) CrossRefGoogle Scholar
  32. Schneider, F.B.: Implementing fault-tolerant services using the StateMachine approach. ACM Comput. Surv. 22(4), 299–319 (1990) CrossRefGoogle Scholar
  33. van Renesse, R.: Paxos made moderately simple. Technical report, Cornell University, March (2011) Google Scholar
  34. Vogels, W.: Eventually consistent—Revisited. Dec (2008)
  35. Zhao, B., Duan, Y., Huang, L., Joseph, A.D., Kubiatowicz, J.: Brocade: Landmark routing on overlay networks. In: IPTPS 2002, pp. 34–44 (2002a) Google Scholar
  36. Zhao, Duan, B.Y., Huang, L., Joseph, A.D., Kubiatowicz, J.D.: Brocade: Landmark routing on overlay networks. In: First International Workshop on Peer-to-Peer Systems (IPTPS), Cambridge, MA, March 2002b Google Scholar

Copyright information

© Springer-Verlag London Limited 2012

Authors and Affiliations

  • Kenneth P. Birman
    • 1
  1. 1.Department of Computer ScienceCornell UniversityIthacaUSA

Personalised recommendations