Method and system for matching consumers to events

Data processing: database and file management or data structures – Database design – Data structure types

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C706S048000, C709S229000

Reexamination Certificate

active

06216132

ABSTRACT:

TECHNICAL FIELD
This invention relates, in general, to event computing systems and, in particular, to evaluating which consumers of an event computing system are interested in a particular event.
BACKGROUND ART
A common practice for connecting autonomous components within a computing system has been to utilize events. Events are, for example, data generated by a provider and delivered through a communication medium, such as a computer network, hard disk, or random access memory, to a set of interested consumers. The providers and consumers need not know one another's identity, since delivery is provided through intermediary software. This independence between provider and consumer is known as decoupling.
One example of an event computing system is a database event system. Modern database systems include support for event triggers. Event triggers associate a filter, which is a predicate that selects a subset of events and excludes the rest, with an action to take in response to events on the database. An event on a database is any change to the state of the database.
In database event systems, gating tests have been used to determine which consumers of a system are interested in a particular event. That is, gating tests have been used to match filters in event triggers to events. As described in “A Predicate Matching Algorithm for Database Rule Systems,” by Hanson et al., Proceedings of SIGMOD (1991), pp. 271-280, gating tests identify a single predicate for each filter as primary, and tests are organized in a data structure based on this primary predicate. Additionally, the data needs to be organized based on the primary predicate.
Another example of an event computing system is a distributed event system, also known as a publish/subscribe system. A publish/subscribe system is a mechanism where subscribers express interest in future information by some selection criterion, publishers provide information, and the mechanism delivers the information to all interested subscribers. Current publish/subscribe systems organize information around groups (also called channels, subjects or streams). Providers or publishers publish events to groups and consumers or subscribers subscribe to all data from a particular group. Thus, in order to use a group based publish/subscribe system, data must be pre-partitioned into groups. Although new groups may be added to the system as it evolves, there is no mechanism to reconfigure the existing groups in a system. Additionally, groups tend to partition information along a single dimension. There is no elegant mechanism to support applications that view data along another dimension.
One example of a publish/subscribe system is described in detail in U.S. Pat. No. 5,557,798, issued to Skeen et al. on Sep. 17, 1996, and entitled “Apparatus And Method For Providing Decoupling Of Data Exchange Details For Providing High Performance Communication Between Software Processes”, which is hereby incorporated herein by reference in its entirety. In U.S. Pat. No. 5,557,798, the publisher of an event annotes each message with a group identifier called a subject and a subscriber subscribes to a particular subject. Thus, if a subscriber is interested in just a portion of the events having a given subject, it would have to receive the entire subject and then discard the unwanted information.
Based on the foregoing, a need exists for a matching capability that does not require the partitioning of data into subjects. A further need exists for a matching capability that enables a consumer to use any filtering criterion expressible with the available predicates. Additionally, a need exists for a mechanism that allows a consumer to receive only the information that it desires, such that the filtering is done independent of the consumer.
SUMMARY OF THE INVENTION
The shortcomings of the prior art are overcome and additional advantages are provided through the provision of a method of determining zero or more consumers interested in an event. The method includes, for example, receiving an event and using a search data structure to determine zero or more consumers interested in the event. The search data structure includes a path having one or more levels and the one or more levels correspond to one or more attributes. A value of at least one attribute is a don't care value, indicating traversal of the path is guaranteed to proceed.
In one embodiment, use of the search data structure includes traversing the search data structure from a root of the search data structure to zero or more leaves of the data structure. The zero or more leaves indicates zero or more consumers interested in the event.
In another embodiment, the method includes building the search data structure. In one example the building includes specifying, by a consumer, a filter having one or more attribute values. The one or more attribute values corresponds to one or more attributes. The one or more attribute values are inserted into the search data structure.
In a further embodiment of the invention, the building includes transforming the search data structure. In one example, the transforming includes combining levels within the path corresponding to a plurality of consecutive attributes in the path having the don't care values.
In another embodiment, the search data structure includes a plurality of paths and the method further includes computing a successor set for a node of the search data structure. The successor set defines how to traverse the search data structure after reaching the node.
In yet another embodiment of the invention, the search data structure includes a plurality of sub-search data structures.
In another aspect of the present invention, a method of publishing an event in a publish/subscribe system is provided. The method includes, for example, providing, by a publisher of the publish/subscribe system, an event to be published to one or more subscribers of the publish/subscribe system. The event is independent of a group association and lacks a group identifier. The event is published to the one or more subscribers indicating interest in the event.
In a further aspect of the invention, a method of publishing an event in a publish/subscribe system is provided. The method includes, for instance, indicating interest in an event, by a first subscriber, using one attribute; indicating interest in the event, by a second subscriber, using another attribute; and publishing the event to the first and second subscribers.
In another aspect of the present invention, at least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform a method of determining zero or more consumers interested in an event is provided. The method includes, for instance, receiving an event and using a search data structure to determine zero or more consumers interested in the event. The search data structure includes a path having one or more levels, in which the one or more levels corresponds to one or more attributes. A value of at least one attribute is a don't care value indicating traversal of the path is guaranteed to proceed.
In another aspect of the present invention, at least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform a method of publishing an event in a publish/subscribe system is provided. The method includes, for instance, providing by a publisher of the publish/subscribe system an event to be published to one or more subscribers of the publish/subscribe system. The event is independent of a group association and lacks a group identifier. The event is published to the one or more subscribers indicating interest in the event.
In yet another aspect of the present invention, at least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform a method of publishing an event in a publish/subscribe system is provided. The method i

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and system for matching consumers to events does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and system for matching consumers to events, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for matching consumers to events will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2438463

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.