Supporting Dependable Distributed Applications Through a Component-Oriented Middleware-Based Group Service

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.

[1]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[2]  Deron Liang,et al.  A fault-tolerant object service on CORBA , 1997, Proceedings of 17th International Conference on Distributed Computing Systems.

[3]  Robbert van Renesse,et al.  Building Adaptive Systems Using Ensemble , 1998, Softw. Pract. Exp..

[4]  Gordon S. Blair,et al.  The Role of Reflective Middleware in Supporting the Engineering of Dynamic Applications , 1999, Reflection and Software Engineering.

[5]  Microsystems Sun,et al.  Enterprise JavaBeans^ Specification Version 2.1 , 2002 .

[6]  Paul D. Ezhilchelvan,et al.  Design and implemantation of a CORBA fault-tolerant object group service , 1999, DAIS.

[7]  ZHANGLi-xia,et al.  A reliable multicast framework for light-weight sessions and application level framing , 1995 .

[8]  Gordon S. Blair,et al.  An Efficient Component Model for the Construction of Adaptive Middleware , 2001, Middleware.

[9]  Luís E. T. Rodrigues,et al.  Appia, a flexible protocol kernel supporting multiple coordinated channels , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[10]  Katia B. Saikoski Experiences with OpenORB's Compositional Meta-Model and Groups of Components , 2001 .

[11]  A. Watson,et al.  OMG (Object Management Group) architecture and CORBA (common object request broker architecture) specification , 2002 .

[12]  Priya Narasimhan,et al.  Replica consistency of CORBA objects in partitionable distributed systems , 1997, Distributed Syst. Eng..

[13]  Gordon S. Blair,et al.  A principled approach to supporting adaptation in distributed mobile environments , 2000, 2000 Proceedings International Symposium on Software Engineering for Parallel and Distributed Systems.

[14]  Alberto Montresor,et al.  The Jgroup Reliable Distributed Object Model , 1999 .

[15]  John P. Warne,et al.  A model for interface groups , 1991, [1991] Proceedings Tenth Symposium on Reliable Distributed Systems.

[16]  Atul Prakash,et al.  Adaptive group communication services for groupware systems , 1998, Proceedings Second International Enterprise Distributed Object Computing (Cat. No.98EX244).

[17]  Pascal Felber,et al.  THE CORBA OBJECT GROUP SERVICE: A SERVICE APPROACH TO OBJECT GROUPS IN CORBA , 1998 .

[18]  Pattie Maes,et al.  Concepts and experiments in computational reflection , 1987, OOPSLA '87.

[19]  Mark Handley,et al.  Reliable Multicast Transport Building Blocks for One-to-Many Bulk-Data Transfer , 2001, RFC.

[20]  Matti A. Hiltunen,et al.  Coyote: a system for constructing fine-grain configurable communication services , 1998, TOCS.

[21]  Gordon S. Blair,et al.  Supporting mobile multimedia applications through adaptive middleware , 1999, IEEE J. Sel. Areas Commun..

[22]  Gordon S. Blair,et al.  The design of a configurable and reconfigurable middleware platform , 2002, Distributed Computing.

[23]  Ravishankar K. Iyer,et al.  Chameleon: A Software Infrastructure for Adaptive Fault Tolerance , 1999, IEEE Trans. Parallel Distributed Syst..

[24]  Richard D. Schlichting,et al.  The Cactus Approach to Building Configurable Middleware Services , 2000 .

[25]  Dan Dumitriu,et al.  Quintet, tools for reliable enterprise computing , 1998, Proceedings Second International Enterprise Distributed Object Computing (Cat. No.98EX244).

[26]  Gordon S. Blair,et al.  The role of reflection in supporting dynamic QoS management functions , 1999, 1999 Seventh International Workshop on Quality of Service. IWQoS'99. (Cat. No.98EX354).

[27]  Robbert van Renesse,et al.  Building adaptive systems using ensemble , 1998 .

[28]  K. H. Kim,et al.  An approach for adaptive fault-tolerance in object-oriented open distributed systems , 1997, Proceedings Third International Workshop on Object-Oriented Real-Time Dependable Systems.

[29]  William H. Sanders,et al.  Proteus: a flexible infrastructure to implement adaptive fault tolerance in AQuA , 1999, Dependable Computing for Critical Applications 7.

[30]  Jeff Magee,et al.  A replication protocol to support dynamically configurable groups of servers , 1996, Proceedings of International Conference on Configurable Distributed Systems.

[31]  Anees Shaikh,et al.  ARMADA Middleware and Communication Services , 1999, Real-Time Systems.

[32]  Silvano Maffeis,et al.  Adding Group Communication and Fault-Tolerance to CORBA , 1995, COOTS.

[33]  Gordon S. Blair,et al.  Configurable & Reconfigurable Group Services in a Component Based Middleware Environment , 2000 .