Using principle patterns to optimize real-time ORBs
First-generation CORBA middleware was reasonably successful at meeting the demands of applications with besteffort quality of service (QoS) requirements. Supporting applications with more stringent QoS requirements poses new challenges for next-generation real-time CORBA middleware, however. This paper provides three contributions to the design and optimization of real-time CORBA middleware. First, we outline the challenges faced by real-time Object Request Broker (ORB) implementers, focusing
... menters, focusing on requirements for efficient, predictable, and scalable concurrency, demultiplexing, and protocol processing in CORBA's ORB Core and Object Adapter components. Second, we describe how TAO, our real-time CORBA implementation, addresses these challenges by applying key ORB optimization principle patterns, which are rules for avoiding common design and implementation problems that can degrade the efficiency, scalability, and predictability of complex systems. Third, we present the results of benchmarks that evaluate the impact of TAO's patterns and design strategies empirically. Our results indicate that it is possible to develop highly configurable, adaptable, and standard-compliant ORBs that can meet the QoS requirements of many real-time applications. A key contribution of our work is to demonstrate that the ability of CORBA ORBs to support real-time systems is largely an implementation detail. In particular, relatively few changes are required to the standard CORBA reference model and programming API to support real-time applications.