RECOVERABLE GLOBAL EVENT DETECTOR FOR DISTRIBUTED ACTIVE APPLICATIONS
Active applications support mechanisms that enable them to respond automatically to events that are taking place and are thus able to monitor and react to specific circumstances of relevance to an application. To support the reactive behavior a description mechanism called ECA (Event-Condition-Action) rules are used.
Based on ECA rule paradigm, Local Event Detector (LED) provides active capability to various kinds of applications enabling them to react to local events. The Global Event Detector (GED) is a server based on the notification/subscription model. It also uses the ECA rule paradigm in order to support active event monitoring capability in a distributed environment.
Distributed applications are prone to a variety of failures like client crashes, system failures and network failures. For reliable operation, any system in a distributed environment should be able to handle such failures. GED as any other application is prone to system crash and in addition, clients connected to GED can fail.
Earlier work on GED did not handle the robustness of GED to failures. The motivation for this thesis is to have reliable event detection and propagation by designing a recoverable GED that can be brought to previous consistent state following various types of failures, can continue to provide services when it recovers from failures and guarantees delivery of events. GED must be able to manage event buffers and accommodate the slow consumers.
This thesis provides buffer management, persistence and recovery capabilities to the GED server. All the information needed for recovery must be in stable storage at the time of recovery. Write Ahead Logging (WAL) concept is used to persist the appropriate information required to recover the GED from a crash. Buffer manager module manages the main memory used to store incoming events and handles buffer over flows and, the required read/write access to secondary storage.