Summary-based routing for content-based event distribution networks
First Claim
1. A computerized event distribution system, comprising:
- a source of event messages;
a plurality of matchers for determining whether received ones of the event messages fall within an event message scope defined by each of a set of hosted subscriptions and issuing corresponding notification messages to corresponding subscriber clients; and
at least one event message router communicatively coupled to the source of event messages and programmed to selectively pass event messages to the plurality of matchers, wherein the event message router is configured to maintain, for each one of the plurality of matchers, an imprecise summary of subscriptions for which each of the plurality of matchers is responsible the imprecise summary having a level of summary precision that is less than 100%;
wherein the at least one event message router is programmed to pass some amount of false positive event messages to the plurality of matchers based on a level of precision of the imprecise summary of subscriptions for each one of the plurality of matchers; and
wherein the at least one event message router is configured such that the level of precision of each imprecise summary of subscriptions is variable based at least in part on a load of the at least one event message router.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for enabling highly scalable multi-node event distribution networks through the use of summary-based routing, particularly event distribution networks using a content-based publish/subscribe model to distribute information. By allowing event routers to use imprecise summaries of the subscriptions hosted by matcher nodes, an event router can eliminate itself as a bottleneck thus improving overall event distribution network throughput even though the use of imprecise summaries results in some false positive event traffic. False positive event traffic is reduced by using a filter set partitioning that provides for good subscription set locality at each matcher node, while at the same time avoiding overloading any one matcher node. Good subscription set locality is maintained by routing new subscriptions to a matcher node with a subscription summary that best covers the new subscription. Where event space partitioning is desirable, an over-partitioning scheme is described that enables load balancing without repartitioning.
58 Citations
26 Claims
-
1. A computerized event distribution system, comprising:
-
a source of event messages; a plurality of matchers for determining whether received ones of the event messages fall within an event message scope defined by each of a set of hosted subscriptions and issuing corresponding notification messages to corresponding subscriber clients; and at least one event message router communicatively coupled to the source of event messages and programmed to selectively pass event messages to the plurality of matchers, wherein the event message router is configured to maintain, for each one of the plurality of matchers, an imprecise summary of subscriptions for which each of the plurality of matchers is responsible the imprecise summary having a level of summary precision that is less than 100%; wherein the at least one event message router is programmed to pass some amount of false positive event messages to the plurality of matchers based on a level of precision of the imprecise summary of subscriptions for each one of the plurality of matchers; and wherein the at least one event message router is configured such that the level of precision of each imprecise summary of subscriptions is variable based at least in part on a load of the at least one event message router. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-implemented method, comprising:
-
assigning, to each of a plurality of matcher nodes, a subset of subscriptions hosted by an event distribution network; maintaining, at an event router node, for each of the plurality of matcher nodes, at least one imprecise summary of the subscriptions assigned to a matcher node, the at least one imprecise summary having a level of summary precision that is less than 100%; for each of the plurality of matcher nodes, reciving event messages at the event router node, the event messages comprising first event messages falling within the imprecise summary of the subscriptions assigned to matcher node and second false positive event messages falling outside of the imprecise summary of the subscriptions assigned to the matcher node, and passing all of the first event messages and at least some of the second false positive event messages from the event router node to the matcher node based on the imprecise summary of subscriptions for the matcher node; and varying a level of precision of at least one imprecise summary of subscriptions based at least in part on a load of the event router node. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A computer-readable storage medium having stored thereon computer executable instructions for performing a method comprising:
-
assigning, to each of a plurality of matcher nodes, a subset of subscriptions hosted by an event distribution network; maintaining, at an event router node, for each of the plurality of matcher nodes, at least one imprecise summary of the subscriptions assigned to a matcher node, the at least one imprecise summary level of summary precision is less than 100%; for each of the plurality of matcher nodes, receiving event messages at the event router node, the event messages comprising first event messages falling within the imprecise summary of the subscriptions assigned to matcher node and second false positive event messages falling outside of the imprecise summary of the subscriptions assigned to the matcher node, and passing all of the first event messages and at least some of the second false positive event messages from the event router node to the matcher node based on the imprecise summary of subscriptions for the matcher node; and varying a level of precision of at least one imprecise summary of subscriptions based at least in part on a load of the event router node.
-
-
18. A computerized first event distribution network node, comprising:
-
a subscription summary module configured to maintain an imprecise summary of subscriptions hosted by a second event distribution network node, the imprecise summary having a level of summary precision that is less tan 100%; a route event module configured to route an event to the second event distribution network node if the event falls within the imprecise summary of subscriptions; and a tune routing precision module configured to vary the level of precision of the imprecise summary of subscriptions maintained by the subscription summary module so as to vary a number of false positive events routed to the second event distribution network node based at least in part on a load of the event distribution node. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26)
-
Specification