Technical Report Number
To be an effective platform for performance-sensitive real-time and embedded applications, off-the-shelf OO middleware like CORBA, DCOM, and Java RMI must preserve communication-layer quality of service (QoS) properties to applications end-to-end. However, conventional OO middleware interoperability protocols, such as CORBA's GIOP/IIOP or DCOM's MS-RPC, are not well suited for applications that cannot tolerate the message footprint size, latency, and jitter associated with general-purpose messaging and transport protocols. It is essential, therefore, to develop standard plugable protocols frameworks that allow custom messaging and transport protocols to be configured flexibly and used transparently by applications. This paper provides three contributions to research on plugab le protocols frameworks for performance-sensitive communication middleware. First, we outline the key design challenges faced by pluggable protocols developers. Second, we descrive how TAO, our high-performance, real-time CORBA-compliant ORB, addresses these challenges in its pluggable protocols framework. Third, we present the results of benchmarks that pinpoint the impact of TAO's pattern-priented OO design on it end-to-end efficiency, predictability, and scalability. Our results demonstrate how applying optimizations and patterns to communication middleware can yield highly flexible/reusable designs and highly efficient/predictable implementations. In particular, TAO's middleware overhead is only ~110 microsecs using a commercial, off-the-shelf 200 Mhz embedded system CPU, interconnect, and OS. These results illustrate that (1) communication middleware performance is largely an implementation detail and (2) the next-generation of optimized, standards-based middleware can replace ad hoc and proprietary solutions.
Kuhns, Fred; O'Ryan, Carlos; Schmidt, Douglas C.; and Parsons, Jeff, "The Design and Performance of a Pluggable Protocols Framework for Object Request Broker Middleware" Report Number: WUCS-99-12 (1999). All Computer Science and Engineering Research.