An event service architecture in distributed real-time systems

Events are used in many distributed systems for the purpose of asynchronous communications. In systems where group-based asynchronous communication is needed, a publisher/subscriber-based model is often adopted to provide event services. Composite events, which are compound events defined in terms of the conditions of some existing events, are an important event service requirement for many systems, e.g. network management systems, air traffic control systems, etc. Such systems with real-time requirements, e.g. avionics control systems, may also have timing constraints on critical events, for which violations must be detected as soon as possible for safety reasons. However, despite the composite event research in the active database area and industry effort in CORBA Event Service and Notification Service, few have addressed the needs for real-time event service that requires not only timely detection and delivery of events, including composite events, but also the ability to specify and monitor timing constraints among these events. In this thesis, we analyze and categorize the real-time event service requirements in distributed systems, namely composite event specification and detection, timely event delivery, event subscription, registration and event query. A real-time event service architecture is proposed to support these requirements. Among these real-time event services, we focus our study on the composite event service and, as a result, propose a unified formalism for specifying composite events as well as timing constraints. Using this approach, complex timing conditions can be precisely specified in composite event definitions and the occurrence semantics of composite events are clearly defined, both of which capabilities are lacking in most existing composite event specification approaches. The problem of how to detect the occurrences of these composite events efficiently and in a timely way, especially when timing constraints are involved, is further studied and efficient algorithms are developed. We implemented this composite event service in a Java package called JEM, along with some other event services mentioned above, including event registration and subscription services. To demonstrate the practical value of our research results, we also studied two application cases where event services are useful: network event correlation and active portfolio management. Using JEM, we were able to build prototypes of both systems quickly. Through preliminary testing and experimental results using these prototype systems, this thesis shows that our approach is helpful in correlating network events effectively and in supporting active functionality for the next generation electronic brokerage systems.