One of the requirements in Grid computing is the need to monitor interconnected components that are part of a distributed scientific application. Event based systems pose an elegant and robust solution to make this possible.
An event can be described as a message containing typed data generated by a source and delivered to any listener interested in events of that type. It may contain additional information like timestamp or sequence number used by the application or used for message management.
Events can be broadly classified into two categories: lower level events such as middleware or system events and higher level events like application events. The system events are typically built into the services layer of the framework being used by the Grid application. For instance, a component may generate an event upon its instantiation or connection to another component. Events used to monitor network or host performance, as in the case of Network Weather Service (NWS), also constitute middleware events. Application events disseminate application-specific information like file activity or application state transition.
In this paper, we address the following research questions:
1. How does one design a Grid-based event system that is compatible with web-services?
2. What are the design features we require to make the event delivery robust and reliable?
3. How can existing standards like SOAP/XML be leveraged to our advantage?
4. Is the system extensible and flexible enough to interoperate with diverse systems?
5. Can we construct and API simple enough to use without constricting the functionality?
6. What additional features, such as filtering and logging, would be useful to the user?
In addition to satisfying the answers posed by the above questions, it would increase the credibility if such an event system has been deployed and used with distributed applications. We shall demonstrate the design of such an event system and exhibit its use in Grid applications.