Skip to main content
Log in

Towards Real-Time Fault-Tolerant CORBA Middleware

  • Published:
Cluster Computing Aims and scope Submit manuscript

Abstract

An increasing number of applications are being developed using Distributed Object Computing (DOC) middleware, such as CORBA. Many of these applications require the underlying middleware, operating systems, and networks to provide dependable end-to-end Quality of Service (QoS) support to enhance their efficiency, predictability, scalability, and reliability. The Object Management Group (OMG), which standardizes CORBA, has addressed many of these application requirements individually in the Real-Time CORBA (RT-CORBA) and Fault-Tolerant CORBA (FT-CORBA) specifications. Though the implementations of RT-CORBA are suitable for mission-critical commercial or military distributed Real-Time and Embedded (DRE) systems, the usage of FT-CORBA with RT-CORBA implementations are not yet suitable for systems that have stringent simultaneous dependability and predictability requirements.

This paper provides three contributions to the study and evaluation of dependable CORBA middleware for performance-sensitive DRE systems. First, we provide an overview of FT-CORBA and illustrate the sources of unpredictability associated with conventional FT-CORBA implementations. Second, we discuss the QoS requirements of an important class of mission-critical DRE systems to show how these requirements are not well served by FT-CORBA today. Finally, we empirically evaluate new dependability strategies for FT-CORBA that can help make the use of DOC middleware for mission-critical DRE systems a reality.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Object Management Group, The Common Object Request Broker: Ar-chitecture and Specification, 3.0 edn. (June 2002).

  2. M. Henning and S. Vinoski, Advanced CORBA Programming with C++(Addison-Wesley, Reading, MA, 1999).

    Google Scholar 

  3. Object Management Group, Real-Time CORBA Specification, 1.1 edn. (August 2002).

  4. D.C. Schmidt and F. Kuhns, An overview of the real-time CORBA specification, IEEE Computer Magazine, Special Issue on Object-Oriented Real-Time Computing 33(6) (2000).

  5. D.C. Schmidt et al., TAO: A pattern-oriented object request broker for distributed real-time and embedded systems, IEEE Distributed Systems Online 3(2) (2002).

  6. R. Callison, M. Goo and D. Butler, Real-time CORBA trade study, Tech. report D204-31159, The Boeing Company (1999).

  7. D. Corman, WSOA-weapon systems open architecture demonstration-using emerging open system architecture standards to enable innovative techniques for time critical target (TCT) prosecution, in: Proceedings of the 20th IEEE/AIAA Digital Avionics Systems Conference (DASC) (October 2001).

  8. C. O'Ryan, D.C. Schmidt, F. Kuhns, M. Spivak, J. Parsons, I. Pyarali and D. Levine, Evaluating policies and mechanisms for supporting em-bedded, real-time applications with CORBA 3.0, in: Proceedings of the 6th IEEE Real-Time Technology and Applications Symposium, IEEE, Washington, DC (May 2000).

    Google Scholar 

  9. T.H. Harrison, D.L. Levine and D.C. Schmidt, The design and perfor-mance of a real-time CORBA event service, in: Proceedings of OOP-SLA '97, ACM, Atlanta, GA (October 1997) pp. 184–199.

    Google Scholar 

  10. P. Narasimhan, Transparent fault tolerance for CORBA, Ph.D. thesis, Available as Technical report UCSB 99-18, University of California, Department of Electrical and Computer Engineering, Santa Barbara, CA (December 1999).

    Google Scholar 

  11. K. Birman and R. van Renesse, Reliable Distributed Computing with the Isis Toolkit (IEEE Computer Society Press, Los Alamitos, 1994).

    Google Scholar 

  12. S. Maffeis, Adding group communication and fault-tolerance to CORBA, in: Proceedings of the Conference on Object-Oriented Tech-nologies, USENIX, Monterey, CA (June 1995).

    Google Scholar 

  13. D.C. Schmidt, M. Stal, H. Rohnert and F. Buschmann, Pattern-Oriented Software Architecture: Patterns for Concurrent and Net-worked Objects, Vol. 2 (Wiley, New York, 2000).

    Google Scholar 

  14. P. Narasimhan, L.E. Moser and P.M. Melliar-Smith, Using Interceptors to Enhance CORBA, IEEE Computer 32(7) (1999) 64–68.

    Google Scholar 

  15. M. Cukier, J. Ren, C. Sabnis, W.H. Sanders, D.E. Bakken, M.E. Ber-man, D.A. Karr and R.E. Schantz, AQuA: An adaptive architecture that provides dependable distributed objects, in: IEEE Symposium on Re-liable and Distributed Systems (SRDS), West Lafayette, IN (October 1998) pp. 245–253.

  16. P.Y. Chung, Y. Huang, S. Yajnik, D. Liang and C.Y. Shih, Providing fault tolerance to CORBA applications, in: Poster at Middleware '98, Lake District, England (September 1998).

  17. B. Natarajan, A. Gokhale, D.C. Schmidt and S. Yajnik, DOORS: To-wards high-performance fault-tolerant CORBA, in: Proceedings of the 2nd International Symposium on Distributed Objects and Applications (DOA 2000), OMG, Antwerp, Belgium (September 2000)

    Google Scholar 

  18. B. Natarajan, A. Gokhale, D.C. Schmidt and S. Yajnik, Applying pat-terns to improve the performance of fault-tolerant CORBA, in: Pro-ceedings of the 7th International Conference on High Performance Computing (HiPC 2000), ACM/IEEE, Bangalore, India (December 2000).

    Google Scholar 

  19. P. Felber, R. Guerraoui and A. Schiper, The implementation of a CORBA object group service, Theory and Practice of Object Systems (TAPOS) 4(2) (1998) 93–105.

    Google Scholar 

  20. P.D. Ezhilchelvan, R.A. Macedo and S.K. Shrivastava, NewTop: A fault-tolerant group communication protocol, in: International Con-ference on Distributed Computing Systems (1995) pp. 296–306.

  21. C. Marchetti, A. Virgillito and R. Baldoni, Design of an interoperable FT-CORBA compilant infrastructure, in: Proceedings of the 6th Inter-national Workshop on Object Oriented Real-Time Dependable Systems (WORDS'01), Rome, Italy (January 2001).

  22. J.-C. Fabre and T. Perennou, Friends-a flexible architecture for implementing fault tolerant and secure distributed applications, in: European Dependable Computing Conference (1996) pp. 3–20.

  23. J.K. Cross and D.C. Schmidt, Applying the quality connector pattern to optimize distributed real-time and embedded middleware, in: Patterns and Skeletons for Distributed and Parallel Computing, eds. F. Rabhi and S. Gorlatch (Springer, Berlin, 2002).

    Google Scholar 

  24. E. Gamma, R. Helm, R. Johnson and J. Vlissides, Design Patterns: El-ements of Reusable Object-Oriented Software (Addison-Wesley, Read-ing, MA, 1995).

    Google Scholar 

  25. D.C. Schmidt, D.L. Levine and S. Mungee, The design and perfor-mance of real-time object request brokers, Computer Communications 21(4) (1998) 294–324.

    Google Scholar 

  26. C.D. Gill, D.L. Levine and D.C. Schmidt, The design and performance of a real-time CORBA scheduling service, Real-Time Systems, The In-ternational Journal of Time-Critical Computing Systems, Special Issue on Real-Time Middleware 20(2) (March 2001).

  27. F. Kuhns, D.C. Schmidt and D.L. Levine, The design and perfor-mance of a real-time I/O subsystem, in: Proceedings of the 5th IEEE Real-Time Technology and Applications Symposium, IEEE, Vancouver, British Columbia, Canada (June 1999) pp. 154–163.

    Google Scholar 

  28. C. O'Ryan, F. Kuhns, D.C. Schmidt, O. Othman and J. Parsons, The design and performance of a pluggable protocols framework for real-time distributed object computing middleware, in: Proceedings of the Middleware 2000 Conference, ACM/IFIP (April 2000).

  29. D.C. Schmidt, S. Mungee, S. Flores-Gaitan and A. Gokhale, Software architectures for reducing priority inversion and non-determinism in real-time object request brokers, Journal of Real-Time Systems, Special issue on Real-Time Computing in the Age of the Web and the Internet 21(2) (2001).

  30. A.B. Arulanthu, C. O'Ryan, D.C. Schmidt, M. Kircher and J. Par-sons, The design and performance of a scalable ORB architecture for CORBA asynchronous messaging, in: Proceedings of the Middleware 2000 Conference, ACM/IFIP (April 2000).

  31. A. Gokhale and D.C. Schmidt, Measuring the performance of commu-nication middleware on high-speed networks, in: Proceedings of SIG-COMM '96, ACM, Stanford, CA (August 1996) pp. 306–317.

    Google Scholar 

  32. I. Pyarali, C. O'Ryan, D.C. Schmidt, N. Wang, V. Kachroo and A. Gok-hale, Applying optimization patterns to the design of real-time ORBs, in: Proceedings of the 5th Conference on Object-Oriented Technologies and Systems, USENIX, San Diego, CA (May 1999)

    Google Scholar 

  33. L.E. Moser, P.M. Melliar-Smith, D.A. Agarwal, R.K. Budhia and C.A. Lingley-Papadopoulos, Totem: A fault-tolerant multicast group com-munication system, Communications of ACM (1996).

  34. A. Vaysburd and K. Birman, The maestro approach to building reliable interoperable distributed applications with multiple execution styles, Theory and Practice of Object Systems (TAPOS) 4(2) (1998) 73–80.

    Google Scholar 

  35. S. Poledna, A. Burns, A.J. Wellings and P. Barrett, Replica determinism and flexible scheduling in hard real-time dependable systems, IEEE Transactions on Computers 49(2) (2000) 100–111.

    Google Scholar 

  36. P. Barrett, A. Hilborne, P. Bond, D. Seaton, P. Verissimo, L. Rodrigues and N. Speirs, The Delta-4 extra performance architecture (XPA), in: Proceedings of the 20th International Symposium on Fault-Tolerant Computing Systems (FTCS-20) (1990).

  37. K. Kim and C. Subbaraman, PSRR: A scheme for time-bounded fault tolerance in distributed object-based systems, in: Proc. IEEE High-Assurance Systems Engineering (HASE) Workshop, IEEE, Ontario, Canada (October 1996).

    Google Scholar 

  38. K. Kim and C. Subbaraman, Fault-tolerant real-time objects, Commu-nications of the ACM (January 1997).

  39. L. Rodrigues, A. Casimiro and P. Verissimo, Priority-based totally or-dered multicast, in: Proceedings of the 3rd IFAC/IFIP Workshop on Al-gorithms and Architectures for Real-Time Control (AARTC'95) (May 1995).

  40. D.C. Schmidt and S.D. Huston, C++Network Programming,Vol.1, Mastering Complexity with ACE and Patterns (Addison-Wesley, Boston, 2002).

    Google Scholar 

  41. D.C. Schmidt and S.D. Huston, C++Network Programming,Vol.2, Systematic Reuse with ACE and Frameworks (Addison-Wesley, Read-ing, MA, 2002).

    Google Scholar 

  42. G. Thaker, P. Lardieri and Ch. Winters, SCTP and its adaptation to TAO, i n: Proceedings of the 2nd Annual TAO Workshop (July 2002).

  43. VITA Standards Organization, Myrinet-on-VME Protocol Specifica-tion Draft Standard; http://www.myri.com/open-specs (2000).

  44. D.C. Sharp, Reducing avionics software cost through component based product line development, in: Proceedings of the 10th Annual Software Technology Conference (April 1998).

  45. C. O'Ryan, D.C. Schmidt and J.R. Noseworthy, Patterns and perfor-mance of a CORBA event service for large-scale distributed interactive simulations, International Journal of Computer Systems Science and Engineering 17(2) (March 2002).

  46. G. Parulkar, D.C. Schmidt, E. Kraemer, J. Turner and A. Kantawala, An architecture for monitoring, visualization, and control and gigabit networks, IEEE Network 11(5) (September/October 1997).

  47. S. Landis and S. Maffeis, Building reliable distributed systems with CORBA, Theory and Practice of Object Systems 3(1) (1997) 31–43.

    Google Scholar 

  48. L. Moser, P. Melliar-Smith and P. Narasimhan, A fault tolerance frame-work for CORBA, in: International Symposium on Fault Tolerant Com-puting, Madison, WI (June 1999) pp. 150–157.

  49. J.A. Zinky, D.E. Bakken and R. Schantz, Architectural support for qual-ity of service for CORBA Objects, Theory and Practice of Object Sys-tems 3(1) (1997) 1–20.

    Google Scholar 

  50. W3C HTTP-NG Working Group, W3C HTTP-NG Protocol, www.w3. org/Protocols/HTTP-NG (1998).

  51. T. Wolf and A. Strohmeier, Fault tolerance by transparent replica-tion for distributed Ada 95, in: International Conference on Reliable Software Technologies-Ada-Europe'99, Santander, Spain, 7-11 June 1999, No. 1622, eds. M.G. Harbour and J.A. de la Puente (Springer, Berlin, 1999) pp. 412–424.

    Google Scholar 

  52. X. Defago, A. Schiper and N. Sergent, Semi-passive replication, in: Proceedings of the 17th IEEE Symposium on Reliable Distributed Sys-tems (IEEE Computer Society Press, Los Alamitos, CA, 1998) pp. 43–50.

    Google Scholar 

  53. K. Kim and C. Subbaraman, Principles of constructing a timeliness-guaranteed kernel and time-triggered message-triggered object sup-port mechanisms, in: Proceedings of the International Sympo-sium on Object-Oriented Real-Time Distributed Computing (ISORC) (IEEE/IFIP, April 1998).

  54. K. Kim, APIs enabling high-level real-time distributed object program-ming, IEEE Computer Magazine, Special Issue on Object-Oriented Real-Time Computing (June 2000).

  55. K. Kim, Issues insufficiently resolved in century 20 in the fault-tolerant distributed computing field, in: Proceedings of Symposium on Reliable Distributed Systems (IEEE Computer Society Press, Los Alamitos, CA, 2000).

    Google Scholar 

  56. M. Castro and B. Liskov, Practical byzantine fault tolerance, in: Pro-ceedings of the 3rd Symposium on Operating Systems Design and Im-plementation (February 1999).

Download references

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Gokhale, A.S., Natarajan, B., Schmidt, D.C. et al. Towards Real-Time Fault-Tolerant CORBA Middleware. Cluster Computing 7, 331–346 (2004). https://doi.org/10.1023/B:CLUS.0000039493.73008.13

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/B:CLUS.0000039493.73008.13

Navigation