Skip to main content

Protocol classes for designing reliable distributed environments

  • Conference paper
  • First Online:
ECOOP ’96 — Object-Oriented Programming (ECOOP 1996)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1098))

Included in the following conference series:

Abstract

In this paper, we present Bast, an extensible library of protocol classes. The latter is aimed at helping system programmers to build distributed programming environments. Protocol classes constitute the basic structuring components for higher-level programming models, such as the transactional model, and add flexibility to distributed environments. We focus on classes that implement a generic agreement protocol named DTM (Dynamic-Terminating-Multicast). To the programmer, the DTM generic protocol appears as a set of classes that can be specialized to solve agreement problems in distributed systems. In particular, we show how those classes can be derived to build atomic commitment and reliable total order protocols. An overview of the Smalltalk design and implementation of the Bast library is also presented.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. G. Agha, S. FrØlund, R. Panwar, and D. Sturman. A linguistic framework for dynamic composition of dependability protocols. In Dependable Computing for Critical Applications III Proceedings (DCCA-3), pages 197–207. IFIP Transactions, 1993. Elsevier.

    Google Scholar 

  2. M. Aksit, K. Wakita, J. Bosh, L. Bergmans, and A. Yonezawa. Abstracting object interactions using composition filters. In Object-Based Distributed Programming, volume 791 of Lecture Notes in Computer Science, pages 152–184. Springer Verlag, 1993.

    Google Scholar 

  3. P.A. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database Systems. Addison Wesley, 1987.

    Google Scholar 

  4. K. Birman and R. Van Renesse. Reliable Distributed Computing with the Isis Toolkit. IEEE Computer Society Press, 1993.

    Google Scholar 

  5. A. Black. Understanding transactions in the operating system context. Operating Systems Review, 25(28):73–77, January 1991.

    Article  Google Scholar 

  6. S. Brandt and O.L Madsen. Object-oriented distributed programming in Beta. In Object-Based Distributed Programming, volume 791 of Lecture Notes in Computer Science, pages 185–212. Springer Verlag, 1993.

    Google Scholar 

  7. R. Campbell, N. Islam, D. Ralia, and P. Madany. Designing and implementing Choices: An object-oriented system in C++. Communications of the ACM, 36(9):117–126, September 1993.

    Article  Google Scholar 

  8. T.D. Chandra and S. Toueg. Unreliable failure detectors for reliable distributed systems. Technical Report TR94-1458, Cornell University, Computer Science Department, October 1994. A preliminary version appears in PODC'91.

    Google Scholar 

  9. B. Garbinato, R. Guerraoui, and K.R. Mazouni. Implementation of the GARF replicated object plateform. Distributed Systems Engineering Journal, 2:14–27, 1995.

    Article  Google Scholar 

  10. A.J. Goldberg and A.D. Robson. SMALLTALK-80: The Language and its Implementation. Addison Wesley, 1983.

    Google Scholar 

  11. Object Management Group and X/Open. The Common Object Request Broker: Architecture and Specification. Object Management Group, 1990. Document No. 91.12.1 (Revision 1.1).

    Google Scholar 

  12. R. Guerraoui. Modular atomic objects. Theory and Practice of Object Systems, 1(2):89–100, 1995.

    Google Scholar 

  13. R. Guerraoui. Revisiting the relationship between non-blocking atomic commitment and consensus. In J.-M. Hélary and M. Raynal, editors, Distributed Algorithms — 9th International Workshop on Distributed Algorithms (WDAG'95), volume 972 of Lecture Notes in Computer Science, pages 87–100. Springer Verlag, September 1995.

    Google Scholar 

  14. R. Guerraoui and A. Schiper. A generic multicast primitive to support transactions on replicated objects in distributed systems. In IEEE International Workshop on Future Trends in Distributed Computing Systems (FTDCS-95), August 1995. Korea.

    Google Scholar 

  15. R. Guerraoui and A. Schiper. Transaction model vs virtual synchrony model: Bridging the gap. In Theory and Practice in Distributed Systems, volume 938 of Lecture Notes in Computer Science, pages 121–132. Springer Verlag, 1995.

    Google Scholar 

  16. L. Lamport. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, 21(7):558–565, July 1978.

    Article  MATH  Google Scholar 

  17. N. Lynch, M. Merrit, W. Weihl, and A. Fekete. Atomic Transactions. Morgan Koffmann, 1994.

    Google Scholar 

  18. O.L Madsen. Building abstractions for object-oriented programming. Technical report, University of Arhus, Computer Science Department, February 1993.

    Google Scholar 

  19. D. McCue. Developing a class hierarchy for object-oriented transaction processing. In European Conference on Object-Oriented Programming Proceedings (ECOOP'92), volume 615 of Lecture Notes in Computer Science, pages 413–426, Utrecht (Netherland), June/July 1992. Springer Verlag.

    Google Scholar 

  20. S. Mishra, L. Peterson, and R. Schlichting. Experience with modularity in Consul. Software-Practice and Experience, 23(10):1053–1075, October 1993.

    Google Scholar 

  21. S. Mullender, editor. Distributed Systems. ACM Press, 1989.

    Google Scholar 

  22. G. Parrington and S. Schrivastava. Implementing concurrency control in reliable distributed object-oriented systems. In European Conference on Object-Oriented Programming Proceedings (ECOOP'88), Norway, August 1988.

    Google Scholar 

  23. L. Peterson, N. Hutchinson, S. O'Malley, and M. Abott. Rpc in the x-Kernel: Evaluating new design techniques. ACM Symposium on Operating Systems Principles, 23(10):91–101, November 1989.

    Article  Google Scholar 

  24. S. Popovitch, G. Kaiser, and S. Wu. An object-based approach to implementing distributed concurrency control. In IEEE Conference on Distributed Computing Systems Proceedings, pages 65–72, Arlington (Texas), May 1991.

    Google Scholar 

  25. D. Ritchie. A stream input-output system. Bell Laboratories Technical Journal, 63(8):1897–1910, 1984.

    Google Scholar 

  26. A. Schiper and R. Guerraoui. Faul-tolerant total order “multicast” with an unreliable failure detector. Technical report, Operating System Laboratory (Computer Science Department) of the Swiss Federal Institute of Technology, November 1995.

    Google Scholar 

  27. D.C. Schmidt. ASX: an object-oriented framework for developing distributed applications. In Proceedings of the 6 th USENIX C++ Technical Conference. USENIX Association, April 1994.

    Google Scholar 

  28. R. van Renesse and K. Birman. Protocol composition in Horus. ACM Principles of Distributed Computing, 1995.

    Google Scholar 

  29. J. Wing. Decomposing and recomposing transaction concepts. In Workshop OBDP93, pages 111–122, 1994.

    Google Scholar 

  30. Y. Yokote. The Apertos reflective operating system: The concept and its implementation. In Object-Oriented Programming Systems, Languages and Applications Conference Proceedings (OOPSLA '92), pages 414–434. ACM Press, October 1992. Special Issue of Sigplan Notices.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Pierre Cointe

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Garbinato, B., Felber, P., Guerraoui, R. (1996). Protocol classes for designing reliable distributed environments. In: Cointe, P. (eds) ECOOP ’96 — Object-Oriented Programming. ECOOP 1996. Lecture Notes in Computer Science, vol 1098. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0053068

Download citation

  • DOI: https://doi.org/10.1007/BFb0053068

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61439-5

  • Online ISBN: 978-3-540-68570-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics