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.
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
P.A. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database Systems. Addison Wesley, 1987.
K. Birman and R. Van Renesse. Reliable Distributed Computing with the Isis Toolkit. IEEE Computer Society Press, 1993.
A. Black. Understanding transactions in the operating system context. Operating Systems Review, 25(28):73–77, January 1991.
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.
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.
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.
B. Garbinato, R. Guerraoui, and K.R. Mazouni. Implementation of the GARF replicated object plateform. Distributed Systems Engineering Journal, 2:14–27, 1995.
A.J. Goldberg and A.D. Robson. SMALLTALK-80: The Language and its Implementation. Addison Wesley, 1983.
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).
R. Guerraoui. Modular atomic objects. Theory and Practice of Object Systems, 1(2):89–100, 1995.
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.
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.
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.
L. Lamport. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, 21(7):558–565, July 1978.
N. Lynch, M. Merrit, W. Weihl, and A. Fekete. Atomic Transactions. Morgan Koffmann, 1994.
O.L Madsen. Building abstractions for object-oriented programming. Technical report, University of Arhus, Computer Science Department, February 1993.
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.
S. Mishra, L. Peterson, and R. Schlichting. Experience with modularity in Consul. Software-Practice and Experience, 23(10):1053–1075, October 1993.
S. Mullender, editor. Distributed Systems. ACM Press, 1989.
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.
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.
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.
D. Ritchie. A stream input-output system. Bell Laboratories Technical Journal, 63(8):1897–1910, 1984.
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.
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.
R. van Renesse and K. Birman. Protocol composition in Horus. ACM Principles of Distributed Computing, 1995.
J. Wing. Decomposing and recomposing transaction concepts. In Workshop OBDP93, pages 111–122, 1994.
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.
Author information
Authors and Affiliations
Editor information
Rights 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