Towards Real-Time Fault-Tolerant CORBA Middleware

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.

[1]  Rachid Guerraoui,et al.  The Implementation of a CORBA Object Group Service , 1998, Theory Pract. Object Syst..

[2]  Andrew B. Whinston,et al.  A Web-Based Financial Trading System , 1999, Computer.

[3]  Douglas C. Schmidt,et al.  Evaluating policies and mechanisms for supporting embedded, real-time applications with CORBA 3.0 , 2000, Proceedings Sixth IEEE Real-Time Technology and Applications Symposium. RTAS 2000.

[4]  Douglas C. Schmidt,et al.  The Design and Performance of a Scalable ORB Architecture for CORBA Asynchronous Messaging , 2000, Middleware.

[5]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[6]  Douglas C. Schmidt,et al.  Mastering complexity with ACE and patterns , 2002 .

[7]  Alan Burns,et al.  Replica Determinism and Flexible Scheduling in Hard Real-Time Dependable Systems , 2000, IEEE Trans. Computers.

[8]  Douglas C. Schmidt,et al.  The design and performance of a scable ORB architecture for COBRA asynchronous messaging , 2000 .

[9]  K. H. Kim,et al.  Fault-tolerant real-time objects , 1997, CACM.

[10]  Robbert van Renesse,et al.  Reliable Distributed Computing with the Isis Toolkit , 1994 .

[11]  Douglas C. Schmidt,et al.  An architecture for monitoring, visualization, and control of gigabit networks , 1997 .

[12]  Aniruddha S. Gokhale,et al.  Software Architectures for Reducing Priority Inversion and Non-determinism in Real-time Object Request Brokers , 2001, Real-Time Systems.

[13]  Douglas C. Schmidt,et al.  C++ Network Programming: Resolving Complexity Using Ace and Patterns (C++ in-Depth Series) , 2001 .

[14]  Douglas C. Schmidt,et al.  Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Objects , 2013 .

[15]  C. Subbaraman,et al.  PSRR: a scheme for time-bounded fault tolerance in distributed object-based systems , 1996, Proceedings. IEEE High-Assurance Systems Engineering Workshop (Cat. No.96TB100076).

[16]  D. C. Sharp,et al.  Reducing avionics software cost through component based product line development , 1998, 17th DASC. AIAA/IEEE/SAE. Digital Avionics Systems Conference. Proceedings (Cat. No.98CH36267).

[17]  Douglas C. Schmidt,et al.  The Design and Performance of a Real-Time CORBA Scheduling Service , 2001, Real-Time Systems.

[18]  Priya Narasimhan,et al.  Using Interceptors to Enhance CORBA , 1999, Computer.

[19]  Wanlei. Zhou Building reliable distributed systems , 2001 .

[20]  Priya Narasimhan,et al.  A fault tolerance framework for CORBA , 1999, Digest of Papers. Twenty-Ninth Annual International Symposium on Fault-Tolerant Computing (Cat. No.99CB36352).

[21]  Jean-Charles Fabre,et al.  Friends - A Flexible Architecture for Implementing Fault Tolerant and Secure Distributed Applications , 1996, EDCC.

[22]  Richard Blum C# Network Programming , 2002 .

[23]  Alfred Strohmeier,et al.  Fault Tolerance by Transparent Replication for Distributed Ada 95 , 1999, Ada-Europe.

[24]  Douglas C. Schmidt,et al.  An overview of the Real-Time CORBA specification , 2000, Computer.

[25]  K. H. Kim Issues insufficiently resolved in Century 20 in the fault-tolerant distributed computing field , 2000, Proceedings 19th IEEE Symposium on Reliable Distributed Systems SRDS-2000.

[26]  Douglas C. Schmidt,et al.  The design and performance of a real-time CORBA event service , 1997, OOPSLA '97.

[27]  Paulo Veríssimo,et al.  Priority-based totally ordered multicast. , 1995 .

[28]  Xavier Défago,et al.  Semi-passive replication , 1998, Proceedings Seventeenth IEEE Symposium on Reliable Distributed Systems (Cat. No.98CB36281).

[29]  Douglas C. Schmidt,et al.  The design and performance of a real-time I/O subsystem , 1999, Proceedings of the Fifth IEEE Real-Time Technology and Applications Symposium.

[30]  Steve Vinoski,et al.  Advanced CORBA® Programming with C++ , 1999 .

[31]  John A. Zinky,et al.  Architectural Support for Quality of Service for CORBA Objects , 1997, Theory Pract. Object Syst..

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

[33]  Douglas C. Schmidt,et al.  Measuring the performance of communication middleware on high-speed networks , 1996, SIGCOMM 1996.

[34]  K. H. Kim,et al.  Principles of constructing a timeliness-guaranteed kernel and time-triggered message-triggered object support mechanisms , 1998, Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98).

[35]  Roberto Baldoni,et al.  Design of an Interoperable FT-CORBA Compliant Infrastructure , 2001 .

[36]  Douglas C. Schmidt,et al.  Systematic reuse with ACE and frameworks , 2003 .

[37]  Priya Narasimhan,et al.  Transparent fault tolerance for corba , 1999 .

[38]  Aniruddha S. Gokhale,et al.  DOORS: towards high-performance fault tolerant CORBA , 2000, Proceedings DOA'00. International Symposium on Distributed Objects and Applications.

[39]  Douglas C. Schmidt,et al.  The design of the TAO real-time object request broker , 1998, Comput. Commun..

[40]  K. H. Kim,et al.  APIs for Real-Time Distributed Object Programming , 2000, Computer.

[41]  Walter R. Bischofberger,et al.  Building Reliable Distributed Systems with CORBA , 1997, Theory Pract. Object Syst..

[42]  Carlos O'Ryan,et al.  The Design and Performance of a Pluggable Protocols Framework for Real-Time Distributed Object Computing Middleware , 2000, Middleware.

[43]  Miguel Oom Temudo de Castro,et al.  Practical Byzantine fault tolerance , 1999, OSDI '99.

[44]  Kenneth P. Birman,et al.  The Maestro Approach to Building Reliable Interoperable Distributed Applications with Multiple Execution Styles , 1998, Theory Pract. Object Syst..

[45]  Aniruddha S. Gokhale,et al.  Applying Patterns to Improve the Performance of Fault Tolerant CORBA , 2000, HiPC.

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

[47]  Newtop: a fault-tolerant group communication protocol , 1995, Proceedings of 15th International Conference on Distributed Computing Systems.

[48]  Aniruddha S. Gokhale,et al.  The Advanced Computing Systems Association 5 Th Usenix Conference on Object-oriented Technologies and Systems (coots '99) Applying Optimization Principle Patterns to Design Real-time Orbs Applying Optimization Principle Patterns to Design Real-time Orbs , 2022 .

[49]  Douglas C. Schmidt,et al.  Patterns and performance of a CORBA event service for large-scale distributed interactive simulations , 2002, Comput. Syst. Sci. Eng..

[50]  Douglas C. Schmidt,et al.  Applying the Quality Connector Pattern to Optimise Distributed Real-time and Embedded Applications , 2003, Patterns and Skeletons for Parallel and Distributed Computing.

[51]  Louise E. Moser,et al.  Totem: a fault-tolerant multicast group communication system , 1996, CACM.

[52]  William H. Sanders,et al.  AQuA: An Adaptive Architecture that Provides Dependable Distributed Objects , 2003, IEEE Trans. Computers.

[53]  Douglas C. Schmidt,et al.  C++ Network Programming Volume 2: Systematic Reuse with ACE and Frameworks , 2003 .

[54]  Ferranti Computer Systems Limited,et al.  THE DELTA-4 EXTRA PERFORMANCE ARCHITECTURE (XPA) , 1990 .

[55]  D. Schmidt,et al.  Applying the Quality Connector Pattern to Optimize Distributed Real-time and Embedded Middleware and Applications , 2002 .