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

  • Katia Saikoski
  • Geoff Coulson
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3069)


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.


Fault Tolerance Service Type Adaptation Manager Object Management Group Local Binding 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Object Management Group: CORBA Object Request Broker Architecture and Specification - Revision 2.3 (1999)Google Scholar
  2. 2.
    Microsoft Corporation: COM Home Page (1999), Available at
  3. 3.
    Object Management Group: Fault Tolerant CORBA Specification, V1.0 (2000), Available at OMG document: ptc/2000-04-04.
  4. 4.
    Object Management Group: Event service, v1.0. Formal/97-12-11 (1997)Google Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    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)CrossRefGoogle Scholar
  7. 7.
    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)CrossRefGoogle Scholar
  8. 8.
    Szyperski, C.: Component Software - Beyond Object-Oriented Programming. Addison-Wesley, Reading (1998)Google Scholar
  9. 9.
    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)CrossRefGoogle Scholar
  10. 10.
    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)CrossRefGoogle Scholar
  11. 11.
    ISO/IEC: Open Distributed Processing Reference Model, Part 1: Overview. ITU-T Rec. X.901 — ISO/IEC 10746-1, ISO/IEC (1995)Google Scholar
  12. 12.
    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)CrossRefGoogle Scholar
  13. 13.
    World Wide Web Consortium: Extensible Markup Language (XML) 1.0. W3C Recommendation (1998)Google Scholar
  14. 14.
    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 Google Scholar
  15. 15.
    Object Management Group: CORBA Components Final Submission. OMG Document orbos/99-02-05 (1999)Google Scholar
  16. 16.
    Olsen, M., Oskiewicz, E., Warne, J.: A Model for Interface Groups. In: Proceedings of IEEE 10th Symp. on Reliable Distributed Systems (1991)Google Scholar
  17. 17.
    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)Google Scholar
  18. 18.
    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)Google Scholar
  19. 19.
    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 SystemsGoogle Scholar
  20. 20.
    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)Google Scholar
  21. 21.
    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)Google Scholar
  22. 22.
    van Renesse, R., Birman, K., Hayden, M., Vaysburd, A., Karr, D.: Building Adaptive Systems Using Ensemble. Technical Report TR97-1619, Cornell University (1997)Google Scholar
  23. 23.
    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)Google Scholar
  24. 24.
    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)CrossRefGoogle Scholar
  25. 25.
    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)Google Scholar
  26. 26.
    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)CrossRefGoogle Scholar
  27. 27.
    Maffeis, S.: Adding Group Communication Fault-Tolerance to CORBA. In: Proceedings of USENIX Conference on Object-Oriented Technologies, Monterey, CA (1995)Google Scholar
  28. 28.
    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)CrossRefGoogle Scholar
  29. 29.
    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)Google Scholar
  30. 30.
    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)Google Scholar
  31. 31.
    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)Google Scholar
  32. 32.
    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) Google Scholar
  33. 33.
    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)Google Scholar
  34. 34.
    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)CrossRefGoogle Scholar
  35. 35.
    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)Google Scholar
  36. 36.
    Sun Microsystems: Enterprise JavaBeans Specification Version 1.1 (2000), Available at
  37. 37.
    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)Google Scholar
  38. 38.
    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)CrossRefGoogle Scholar
  39. 39.
    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)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Katia Saikoski
    • 1
  • Geoff Coulson
    • 1
  1. 1.Computing Dept.Lancaster UniversityLancasterUK

Personalised recommendations