Flexible subscription-based event notification
First Claim
1. In a computer system that includes one or more event sources and one or more event consumers, a method for processing events fired by the one or more event sources based on subscriptions received by one or more event consumers, the method comprising the following:
- an act of receiving an event notification from an event source, for an event structured in accordance with a predetermined schema definition;
an act of receiving one or more subscription requests from a requesting entity for one or more event notifications having one or more particular characteristics to be sent to one or more event consumers;
an act of matching the one or more event notifications against the one or more subscriptions;
an act of constructing a tree of filters that comprises a plurality of interconnected filters, the tree of filters incorporating the one or more subscription requests with any other previously received subscription requests; and
a step for filtering the event notification based on the one or more subscriptions.
1 Assignment
0 Petitions
Accused Products
Abstract
Subscription-based notification using event channels that each correspond to a particular scope. Each channel manages notifications through the use of a schema definition. The event subscriptions identify the position and attributes that any desired event notification would take in the schema definition. The channel then receives event notifications in the form of XML fragments. The channel then determines the position that the XML fragment would take as defined by the schema definition. The channel determines whether the position and attributes of the event notification matches the position and attributes of the event subscription. If a match is found, then the event notification is copied and forwarded to the recipient designated in the corresponding subscription.
-
Citations
18 Claims
-
1. In a computer system that includes one or more event sources and one or more event consumers, a method for processing events fired by the one or more event sources based on subscriptions received by one or more event consumers, the method comprising the following:
-
an act of receiving an event notification from an event source, for an event structured in accordance with a predetermined schema definition; an act of receiving one or more subscription requests from a requesting entity for one or more event notifications having one or more particular characteristics to be sent to one or more event consumers; an act of matching the one or more event notifications against the one or more subscriptions; an act of constructing a tree of filters that comprises a plurality of interconnected filters, the tree of filters incorporating the one or more subscription requests with any other previously received subscription requests; and a step for filtering the event notification based on the one or more subscriptions. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer program product for use in a computer system that includes one or more event sources and one or more event consumers, the computer program product for implementing a method for processing events fired by the one or more event sources based on subscriptions received by one or more event consumers, the computer program product comprising one or more computer-readable media having stored thereon the following:
-
computer-executable instructions for detecting receipt of one or more subscription requests from a requesting entity for event notifications having particular characteristics to be sent to one or more event consumers; computer-executable instructions for detecting the receipt of an event notification from an event source, for an event structured in accordance with a predetermined schema definition; computer-executable instructions for matching the event notification against the one or more subscriptions; computer-executable instructions for passing the event notification to each event consumer with a subscription that matches the event notification; computer-executable instructions for constructing a tree of filters that comprises a plurality of interconnected filters, the tree of filters incorporating the one or more subscription requests with any other previously received subscription requests; and computer-executable instructions for filtering out the event notification without passing the event notification to any event consumer without a subscription that matches the event notification. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer system comprising the following:
-
one or more notification channels, each notification channel configured to receive event notifications of a particular classification, each notification channel comprising the following; a schema definition module configured to maintain a schema definition; a subscription module configured to receive one or more subscription requests from a requesting entity for one or more event notifications having one or more particular characteristics to be sent to an event consumer; and at least one filter configured to determine the position that an event notification received from an event source would m into a schema definition, and configured to filter out those event notifications that do not have a position in the schema definition that corresponds with the position represented by the one or more subscription requests, the at least one filter including a tree of filters that comprises a plurality of interconnected filters, the tree of filters incorporating the one or more subscription requests with any other previously received subscription requests. - View Dependent Claims (17, 18)
-
Specification