A PERSISTENT AND RECOVERABLE MIDDLEWARE APPROACH TO ALERT DISTRIBUTION
Distributed systems are characterized by large numbers of autonomous processes running on numerous processors connected by a network. Unlike centralized systems, monitoring the state of these processes is difficult, hindered by their physical separation. The state of distributed processes can be interesting for many reasons: reporting the progress of computation, controlling dependent tasks, monitoring use and availability of resources, etc.
Notification Systems attempt to provide a mechanism for signaling the occurrence of an event and informing interested parties through alerts or messages. Typically, they support a mechanism for dynamically registering an interest in some types of events, thus removing the necessity of establishing dependency relationships between event producers and consumers at build time.
This selective delivery of notification is fundamental: conventional broadcast and multicast communications mechanisms fail in large-scale distributed environments due to the sheer number of recipients. A subscription-based service can drastically reduce the required fan out.
Finally, consideration must be given to scalability. While use of subscriptions reduces the immediate burden on the distribution mechanism, it will not scale beyond the capacity of a single notification server. Allowing the distribution mechanism across multiple domains allows the cost of delivery to share, thus removing the upper bound imposed by the possible performance of a single delivery component.
Decoupling the production and consumption of information in software systems facilitates extensibility by removing explicit dependencies between components. So called "publish/subscribe" notification architectures are comprised of undirected production, and subscription to events by their characteristics rather than their source.
Alert Server is such a notification service, being developed at ITLAB. It is being used as an application integration environment. It is used in collaboration with Global Event Detector (GED) and Local Event Detector (LED) that are also being developed at ITLAB. This thesis discusses its design, implementation and use.