Abstract
Dependable distributed applications require flexible infrastructure support for controlled redundancy, replication, and recovery of components and services. However, most group-based middleware platforms, which are increasingly being used as implementation environments for such systems, fail to provide adequate flexibility to meet diverse application requirements. This paper presents a group-based middleware platform that aims at maximal flexibility. In particular, flexibility is provided at design time, deployment time and run-time. At design and deployment time, the developer can configure a system by assembling software components shaped to a specific use. Then, at run-time, s/he can dynamically reconfigure the resulting system to adjust it to new circumstances, or can add arbitrary machinery to enable the system to perform self-adaptation. As examples, levels of fault tolerance can be dynamically increased and decreased as desired by adding, removing or replacing replicas; or the underlying communications topology can be adapted by switching from point-to-point TCP to multicast as numbers of replicants increase. Importantly, it is not necessary that the shape that run-time reconfiguration takes has been foreseen at design or deployment time. Our proposed solution employs software component technology and computational reflection as the basic means by which to perform and manage configuration and reconfiguration.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Object Management Group: CORBA Object Request Broker Architecture and Specification - Revision 2.3 (1999)
Microsoft Corporation: COM Home Page (1999), Available at http://www.microsoft.com/com/
Object Management Group: Fault Tolerant CORBA Specification, V1.0 (2000), Available at http://www.omg.org OMG document: ptc/2000-04-04.
Object Management Group: Event service, v1.0. Formal/97-12-11 (1997)
Blair, G., Coulson, G., Robin, P., Papathomas, M.: An Architecture for Next Generation Middleware. In: Proceedings of IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing (Middleware 1998), pp. 191–206. Springer, Heidelberg (1998)
Costa, F.M., Duran, H.A., Parlavantzas, N., Saikoski, K.B., Blair, G., Coulson, G.: The Role of Reflective Middleware in Supporting the Engineering of Dynamic Applications. In: Cazzola, W., Stroud, R.J., Tisato, F. (eds.) Reflection and Software Engineering. LNCS, vol. 1826, pp. 79–99. Springer, Heidelberg (2000)
Coulson, G., Blair, G., Clark, M., Parlavantzas, N.: The Design of a Highly Configurable and Reconfigurable Middleware Platform. ACM Distributed Computing Journal 15, 109–126 (2002)
Szyperski, C.: Component Software - Beyond Object-Oriented Programming. Addison-Wesley, Reading (1998)
Coulson, G., Blair, G., Davies, N., Robin, P., Fitzpatrick, T.: Supporting Mobile Multimedia Applications through Adaptive Middleware. IEEE Journal on Selected Areas in Communications 17, 1651–1659 (1999)
Maes, P.: Concepts and Experiments in Computational Reflection. In: Proceedings of OOPSLA 1987. ACM SIGPLAN Notices, vol. 22, pp. 147–155. ACM Press, New York (1987)
ISO/IEC: Open Distributed Processing Reference Model, Part 1: Overview. ITU-T Rec. X.901 — ISO/IEC 10746-1, ISO/IEC (1995)
Floyd, S., Jacobson, V., Liu, C., McCanne, S., Zhang, L.: A Reliable Multicast Framework for Light-weight Sessions and Application Level Framing. IEEE/ACM Transactions on Networking 5, 784–803 (1997)
World Wide Web Consortium: Extensible Markup Language (XML) 1.0. W3C Recommendation (1998)
Whetten, B., Vicisano, L., Kermode, R., Handley, M., Floyd, S., Luby, M.: Reliable Multicast Transport Building Blocks for One-to-Many Bulk-Data Transfer. INTERNET-DRAFT - RMT Working Group, Internet Engineering Task Force (2000), draft-ietf-rmt-buildingblocks-02.txt
Object Management Group: CORBA Components Final Submission. OMG Document orbos/99-02-05 (1999)
Olsen, M., Oskiewicz, E., Warne, J.: A Model for Interface Groups. In: Proceedings of IEEE 10th Symp. on Reliable Distributed Systems (1991)
Blair, G.S., Andersen, A., Blair, L., Coulson, G.: The role of reflection in supporting dynamic QoS management functions. In: Seventh International Workshop on Quality of Service (IWQoS 1999). Number MPG-99-03 in Distributed Multimedia Research Group Report, London, UK, IEEE/IFIP, Lancaster University (1999)
Saikoski, K., Coulson, G.: Experiences with OpenORB’s Compositional Meta- Model and Groups of Components. In: The Workshop on Experience with Reflective Systems, Kyoto, Japan (2001)
Kalbarczyk, Z.T., Bagchi, S., Whisnant, K., Iyer, R.K.: Chameleon: A Software Infrastructure for Adaptive Fault Tolerance. IEEE Trans. on Parallel and Distributed Systems 10 (1999), Special Issue on Dependable Real Time Systems
Shokri, E., Hecht, H., Crane, P., Dussalt, J., Kim, K.: An Approach for Adaptive Fault Tolerance in Object-Oriented Open Distributed Systems. In: Proceedings of the Third International Workshop on Object-oriented Real-Time Dependable Systems (WORDS 1997), Newport Beach, California (1997)
Sabnis, C., Cukier, M., Ren, J., Rubel, P., Sanders, W.H., Bakken, D.E., Karr, D.A.: Proteus: A Flexible Infrastructure to Implement Adaptive Fault Tolerance in AQuA. In: Proceedings of the 7th IFIP Working Conference on Dependable Computing for Critical Applications (DCCA-7), San Jose, CA, USA, pp. 137–156 (1999)
van Renesse, R., Birman, K., Hayden, M., Vaysburd, A., Karr, D.: Building Adaptive Systems Using Ensemble. Technical Report TR97-1619, Cornell University (1997)
Litiu, R., Prakash, A.: Adaptive Group Communication Services for Groupware Systems. In: Proceedings of the Second International Enterprise Distributed Object Computing Workshop (EDOC 1998), San Diego, CA (1997)
Bhatti, N., Hiltunen, M., Schlichting, R., Chiu, W.: Coyote: A system for constructing fine-grain configurable communication services. ACM Transactions on Computer Systems 16, 321–366 (1998)
Hiltunen, M., Schlichting, R.: The Cactus Approach to Building Configurable Middleware Services. In: Proceedings of the SRDS Dependable System Middleware and Group Communication Workshop (DSMGC), Nürnberg, Germany (2000)
Miranda, H., Pinto, A., Rodrigues, L.: Appia: A Flexible Protocol Kernel Supporting Multiple Coordinated Channels. In: Proceedings of the 21st International Conference on Distributed Computing Systems, Phoenix, Arizona, pp. 707–710. IEEE, Los Alamitos (2001)
Maffeis, S.: Adding Group Communication Fault-Tolerance to CORBA. In: Proceedings of USENIX Conference on Object-Oriented Technologies, Monterey, CA (1995)
Narasimhan, P., Moser, E., Melliar-Smith, P.M.: Replica consistency of CORBA objects in partitionable distributed systems. Distributed Systems Engineering Journal 4, 139–150 (1997)
Felber, P.: The CORBA Object Group Service: A Service Approach to Object Groups in CORBA. PhD thesis, Départment D’Informatique – École Polytechnique Fédérale de Lausanne (1997)
Sheu, G.W., Chang, Y.S., Liang, D., Yuan, S.M., Lo, W.: A Fault-Folerant Object Service on CORBA. In: Proceedings of the 17th International Conference on Distributed Computing Systems (ICDCS 1997), Baltimore, MD (1997)
Morgan, G., Shrivastava, S., Ezhilchelvan, P., Little, M.: Design and Implementation of a CORBA Fault-tolerant Object Group Service. In: Proceedings of the Second IFIP WG 6.1 International Working Conference on Distributed Applications and Interoperable Systems (DAIS 1999), Helsinki, Finland (1999)
Montresor, A.: The Jgroup Reliable Distributed Object Model. In: Proceedings of the Second IFIP WG 6.1 International Working Conference on Distributed Applications and Interoperable Systems (DAIS 1999), Helsinki, Finland (1999)
Karamanolis, C., Magee, J.: A Replication Protocol to Support Dynamically Configurable Groups of Servers. In: Press, I.C.S. (ed.) Proceedings of the Third International Conference on Configurable Distributed Systems (ICCDS 1996), Annapolis MD (1996)
Abdelzaher, T.F., Dawson, S., Feng, W.C., Jahanian, F., Johnson, S., Mehra, A., Mitton, T., Shaikh, A., Shin, K.G., Wang, Z., Zou, H.: ARMADA Middleware and Communication Services. Real-Time Systems 16, 127–153 (1999)
Vogels, W., Dumitriu, D., Pantiz, M., Chipawolski, K., Pettis, J.: Quintet, Tools for Reliable Enterprise Computing. In: Proceedings of the 2nd International Enterprise Distributed Object Computing Workshop (EDOC 1998), San Diego, CA (1998)
Sun Microsystems: Enterprise JavaBeans Specification Version 1.1 (2000), Available at http://java.sun.com/products/ejb/index.html
Saikoski, K.B., Coulson, G., Blair, G.: Configurable and Reconfigurable Group Services in a Component Based Middleware Environment. In: Proceedings of the SRDS Dependable System Middleware and Group Communication Workshop (DSMGC), Nürnberg, Germany (2000)
Clark, M., Blair, G., Coulson, G., Parlavantzas, N.: An Efficient Component Model for the Construction of Adaptive Middleware. In: Guerraoui, R. (ed.) Middleware 2001. LNCS, vol. 2218, p. 160. Springer, Heidelberg (2001)
Blair, G., Coulson, G., Andersen, A., Blair, L., Clark, M., Costa, F., Limon, H.D., Parlavantzas, N., Saikoski, K.B.: A Principled Approach to Supporting Adaptation in Distributed Mobile Environment. In: 5th International Symposium on Software Engineering for Parallel and Distributed Systems (PDSE 2000), Limerick, Ireland (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Saikoski, K., Coulson, G. (2004). Supporting Dependable Distributed Applications Through a Component-Oriented Middleware-Based Group Service. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds) Architecting Dependable Systems II. Lecture Notes in Computer Science, vol 3069. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-25939-8_5
Download citation
DOI: https://doi.org/10.1007/978-3-540-25939-8_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-23168-4
Online ISBN: 978-3-540-25939-8
eBook Packages: Springer Book Archive