Skip to main content

Software Architectures for Group Communication

  • Chapter
Guide to Reliable Distributed Systems

Part of the book series: Texts in Computer Science ((TCS))

  • 3114 Accesses

Abstract

Protocol design is just part of the challenge when building distributed systems: our protocols also need to be presented in an easily-used form that lends itself to high performance and scalability. This chapter discusses some of the challenges. The Isis2 system, available for use by readers of this text, is an example of one embodiment of the ideas we explore here, but we’ll also look at several other approaches, exploring some of the benefits and limitations of each.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 49.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 64.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 89.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    It is common to say that a message is stable when processing has completed and associated information can be garbage collected. Horus standardizes the handling of stability information, but leaves the actual semantics of stability to the user. Thus, an application for which stability means “logged to disk” can share this Horus functionality with an application for which stability means “displayed on the screen.”

  2. 2.

    This protocol differs from the Total protocol in the Trans/Total (see Moser et al. 1996) project in that the Horus protocol only rotates the token among the current set of senders, while the Trans/Total protocol rotates the token among all members.

  3. 3.

    This version of Horus ultimately evolved into the Ensemble system, but the two are not identical. Ensemble was a complete rewrite by Mark Hayden and Ohad Rodeh.

References

  • Abbott, M., Peterson, L.: Increasing network throughput by integrating protocol layers. IEEE/ACM Trans. Netw. 1(5), 600–610 (1993)

    Article  Google Scholar 

  • Birman, K.P., van Renesse, R.: Software for reliable networks. Sci. Am. 274(5), 64–69 (1996)

    Article  Google Scholar 

  • Braun, T., Diot, C.: Protocol implementation using integrated layer processing. In: Proceedings of SIGCOMM-95, September 1995

    Google Scholar 

  • Bressoud, T.C., Schneider, F.B.: Hypervisor-based fault tolerance. In: Proceedings of the Fifteenth Symposium on Operating Systems Principles, Copper Mountain Resort, CO, December 1995, pp. 1–11. ACM Press, New York (1995). Also ACM Trans. Comput. Syst. 13(1) (1996)

    Chapter  Google Scholar 

  • Clark, D., Tennenhouse, M.: Architectural considerations for a new generation of protocols. In: Proceedings of SIGCOMM-87, August 1987, pp. 353–359 (1987)

    Google Scholar 

  • Clark, D., Tennenhouse, D.L.: Architectural considerations for a new generation of protocols. In: Proceedings of the 1990 Symposium on Communication Architectures and Protocols, Philadelphia, September 1990, pp. 200–208. ACM Press, New York (1990)

    Chapter  Google Scholar 

  • Cristian, F.: Probabilistic clock synchronization. Distrib. Comput. 3(3), 146–158 (1989)

    Article  MATH  Google Scholar 

  • Deering, S.E.: Multicast routing in internetworks and extended LANs. Comput. Commun. Rev. 18(4), 55–64 (1988)

    Article  Google Scholar 

  • Friedman, R., Birman, K.P.: Using group communication technology to implement a reliable and scalable distributed IN coprocessor. In: TINA’96: The Convergence of Telecommunications and Distributed Computing Technologies, Heidelberg, September 1996, pp. 25–42. VDE-Verlag, Berlin (1996). Also Technical Report, Department of Computer Science, Cornell University, March (1996)

    Google Scholar 

  • Friedman, R., van Renesse, R.: Packing messages as a tool for boosting the performance of total ordering protocols. Technical Report 95-1527, Department of Computer Science, Cornell University, July (1995b). IEEE Trans. Netw. (submitted)

    Google Scholar 

  • Glade, B.B., Birman, K.P., Cooper, R.C., van Renesse, R.: Lightweight process groups in the Isis system. Distrib. Syst. Eng. J. (1993)

    Google Scholar 

  • Hunt, G.D.: Multicast flow control on local area networks. Ph.D. diss., Department of Computer Science, Cornell University, February (1995). Also available as Technical Report TR-95-1479

    Google Scholar 

  • Kalantar, M.: Issues in ordered multicast performance: A simulation study. Ph.D. diss., Department of Computer Science, Cornell University, August (1995). Also Technical Report TR-95-1531

    Google Scholar 

  • Karamcheti, V., Chien, A.A.: Software overhead in messaging layers: Where does the time go? In: Proceedings of the Sixth ACM Symposium on Principles of Programming Languages and Operating Systems, San Jose, CA, October 1994. ACM Press, New York (1994)

    Google Scholar 

  • Kay, J., Pasquale, J.: The importance of nondata touching processing overheads. In: Proceedings of SIGCOMM-93, August 1993, pp. 259–269 (1993)

    Chapter  Google Scholar 

  • Liu, X., Kreitz, C., van Renesse, R., Hickey, J., Hayden, M., Birman, K.P., Constable, R.: Building reliable, high-performance communication systems from components. In: Proc. of the 17th ACM Symposium on Operating System Principles, Kiawah Island Resort, SC, December 1999

    Google Scholar 

  • Maffeis, S.: Adding group communication and fault tolerance to CORBA. In: Proceedings of the 1995 USENIX Conference on Object-Oriented Technologies, Monterey, CA, June 1995

    Google Scholar 

  • Milner, R., Tofte, M., Harper, R.: The Definition of Standard ML. MIT Press, Cambridge (1990)

    Google Scholar 

  • Mogul, J., Rashid, R., Accetta, M.: The packet filter: An efficient mechanism for user-level network code. In: Proceedings of the Eleventh ACM Symposium on Operating Systems Principles, Austin, November 1987, pp. 39–51. ACM Press, New York (1987)

    Chapter  Google Scholar 

  • 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)

    Article  Google Scholar 

  • Reed, D.P., Kanodia, R.K.: Synchronization with eventcounts and sequencers. Commun. ACM 22(2), 115–123 (1979)

    Article  MATH  Google Scholar 

  • Rodrigues, L., Guo, K., Verissimo, P., Birman, K.P.: A dynamic light-weight group service. J. Parallel Distrib. Comput. 60, 1449–1479 (2000)

    Article  MATH  Google Scholar 

  • Rowe, L.A., Smith, B.C.: A continuous media player. In: Proceedings of the Third International Workshop on Network and Operating Systems Support for Digital Audio and Video, San Diego, CA, November 1992

    Google Scholar 

  • van Renesse, R., Birman, K.P., Friedman, R., Hayden, M., Karr, D.: A framework for protocol composition in Horus. In: Proceedings of the Fourteenth Symposium on the Principles of Distributed Computing, Ottawa, August 1995, pp. 80–89. ACM Press, New York (1995)

    Chapter  Google Scholar 

  • van Renesse, R., Birman, K.P., Maffeis, S.: Horus: A flexible group communication system. Commun. ACM 39(4), 76–83 (1996)

    Article  Google Scholar 

  • von Eicken, T., Basu, A., Buch, V., Vogels, W.: U-Net: A user-level network interface for parallel and distributed computing. In: Proceedings of the Fifteenth Symposium on Operating Systems Principles, Copper Mountain Resort, CO, December 1995, pp. 40–53. ACM Press, New York (1995)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag London Limited

About this chapter

Cite this chapter

Birman, K.P. (2012). Software Architectures for Group Communication. In: Guide to Reliable Distributed Systems. Texts in Computer Science. Springer, London. https://doi.org/10.1007/978-1-4471-2416-0_17

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-2416-0_17

  • Publisher Name: Springer, London

  • Print ISBN: 978-1-4471-2415-3

  • Online ISBN: 978-1-4471-2416-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics