Filter mechanism for an event management service
First Claim
1. A method of managing events in a distributed computing environment wherein event suppliers generate events to be communicated to event consumers, comprising the steps of:
- having each event consumer define an event filter group identifying one or more event filters at least one of which includes a plurality of event filter expressions, the event filter group including information determining whether particular events generated by the event suppliers are communicated to the event consumer;
for a given event, determining if all event filter expressions of any event filter of an event filter group evaluate to a predetermined condition; and
communicating the given event to the event consumer if all event filter expressions of any event filter of the event filter group evaluate to the predetermined condition.
1 Assignment
0 Petitions
Accused Products
Abstract
An event management service (EMS) of a distributed computing environment includes a filter mechanism for determining whether events generated by one or more event suppliers are communicated to one or more event consumers. Each event consumer that registers for the service also defines an event filter group that determines whether particular events generated by the one or more event suppliers are communicated to that event consumer. The event filter group is derived from one or more predefined event type schemas and/or event header information. Events supplied to the service are applied through a parser of the filter mechanism to control whether and where a particular event is routed.
137 Citations
14 Claims
-
1. A method of managing events in a distributed computing environment wherein event suppliers generate events to be communicated to event consumers, comprising the steps of:
-
having each event consumer define an event filter group identifying one or more event filters at least one of which includes a plurality of event filter expressions, the event filter group including information determining whether particular events generated by the event suppliers are communicated to the event consumer;
for a given event, determining if all event filter expressions of any event filter of an event filter group evaluate to a predetermined condition; and
communicating the given event to the event consumer if all event filter expressions of any event filter of the event filter group evaluate to the predetermined condition. - View Dependent Claims (2, 3, 4, 5, 6, 7)
(a) determining whether all event filters in the event filter group have been evaluated;
(b) if all event filters in the event filter group have not been evaluated, selecting a next event filter for evaluation;
(c) determining whether all of the filter expressions in the next event filter evaluate to the predetermined condition;
(d) if all of the filter expressions in the next event filter evaluate to the predetermined condition, communicating the event to the event consumer;
(e) if any of the filter expressions in the event filter do not evaluate to the predetermined condition, returning to step (a).
-
-
4. The method of managing events in a distributed computing environment as described in claim 1 wherein the information is one or more event type schemas each describing an event type and comprising a list of attribute name/type pairs which specify a data format of an event.
-
5. The method of managing events in a distributed computing environment as described in claim 4 wherein an attribute name/type pair comprises an attribute name identifying an attribute of a given event type and an attribute type defining the data format in the attribute.
-
6. The method of managing events in a distributed computing environment as described in claim 5 wherein each filter expression of the event filter comprises an attribute name, an attribute operator and an attribute value, wherein the attribute operator compares the attribute named in the event and the attribute value.
-
7. The method of managing events in a distributed computing environment as described in claim 1 wherein the information is a header attribute associated with an event.
-
8. A computer network providing a distributed computing environment in which users can access distributed resources, comprising:
-
means for establishing an event channel through which events are passed from event suppliers to event consumers; and
means for filtering the events generated by the event suppliers to determine which events are passed to the event consumers, wherein the filtering means comprises;
means for defining an event filter group for each event consumer, the event filter group identifying one or more event filters at least one of which includes a plurality of event filter expressions, the event filter group determining whether particular events generated by the event suppliers are communicated to the event consumer;
means responsive to a given event for determining if all event filter expressions of any event filter of an event filter group evaluate to a predetermined condition; and
means responsive to the determining means for communicating the given event to the event consumer via the event channel if all event filter expressions of any event filter of the event filter group evaluate to the predetermined condition. - View Dependent Claims (9, 10)
-
-
11. A computer system for use in a distributed computing environment, comprising:
-
a processor;
an operating system running on the processor;
event management service (EMS) program means run by the operating system for establishing an event channel through which events are passed from supplier processes to consumer processes; and
means for filtering the events generated by the event suppliers to determine which events are passed to the event consumers, wherein the filtering means comprises;
means for defining an event filter group for each event consumer that determines whether particular events generated by the event suppliers are communicated to the event consumer, wherein the event filter group includes one or more event filters at least one of which includes a plurality of event filter expressions;
means responsive to a given event for determining if all event filter expressions of any event filter of an event filter group evaluate to a predetermined condition; and
means responsive to the determining means for communicating the given event to the event consumer via the event channel if the event filter expressions of any event filter of the event filter group evaluate to the predetermined condition. - View Dependent Claims (12, 13)
-
-
14. A computer program product in a computer-readable medium, comprising:
-
event management service (EMS) program means for establishing an event channel through which events are passed asynchronously from supplier processes to consumer processes; and
means for filtering the events generated by the event suppliers to determine which events are passed to the event consumers, wherein the filtering means comprises;
means for defining an event filter group for each event consumer that determines whether particular events generated by the event suppliers are communicated to the event consumer, wherein the event filter group includes one or more event filters at least one of which includes a plurality of event filter expressions;
means responsive to a given event for determining if all event filter expressions of any event filter of an event filter group evaluate to a predetermined condition; and
means responsive to the determining means for communicating the given event to the event consumer via the event channel if the event filter expressions of any event filter of the event filter group evaluate to the predetermined condition.
-
Specification