Designing and Optimizing a Scalable CORBA Notification Service

Pradeep Gore, Ron Cytron, Douglas Schmidt, Carlos O'Ryan
2001 Proceedings of the 2001 ACM SIGPLAN workshop on Optimization of middleware and distributed systems - OM '01  
Many distributed applications require a scalable event-driven communication model that decouples suppliers from consumers and simultaneously supports advanced quality of service (QoS) properties and event filtering mechanisms. The CORBA Notification Service provides a publish/subscribe mechanism that is designed to support scalable event-driven communication by routing events efficiently between many suppliers and consumers, enforcing various QoS properties (such as reliability, priority,
more » ... ng, and timeliness), and filtering events at multiple points in a distributed system. This paper provides several contributions to research on scalable notification services. First, we present the CORBA Notification Service architecture and illustrate how it addresses limitations with the earlier CORBA Event Service. Second, we explain how we addressed key design challenges faced when implementing the Notification Service in TAO, which is our high-performance, real-time ORB. Finally, we discuss the optimizations used to improve the scalability of TAO's Notification Service. Introduction Many distributed applications, such as real-time avionics mission computing systems, distributed interactive simulations, and computer-assisted stock trading, require an event-based communication model. The CORBA [1] Notification Service provides developers of these applications with a standardsbased, QoS-and filtering-enabled event distribution mechanism. Our work on the Notification Service leverages the experience we gained developing TAO's Real-Time Event Service [2] to provide a flexible, extensible, and predictable implementation. In this paper, we explore the key design challenges faced in providing a scalable notification service. We also discuss optimization issues related to footprint reduction and configurability. Limitations with client/server communication models: The most common invocation model for client/server communication in distributed object computing (DOC) middleware This work was funded in part by ATD, Cisco, Siemens MED, and DARPA ITO is based on synchronous method invocations (SMI). For example, CORBA, COM+, and Java RMI all support invocation models where a client invokes a two-way operation on a target object implemented by a server and then blocks waiting for the response. Although this invocation model is widely used, it has the following limitations:
doi:10.1145/384198.384224 fatcat:zsgezrs2o5badk5w4rfd6evktm