Facilitating event notification through use of an inverse mapping structure for subset determination
First Claim
1. A method for performing event notification in a distributed computing system, comprising:
- receiving an event that was generated at a node in the distributed computing system, wherein the event includes a set of name/value pairs associated with the event;
comparing the event against a set of client event registrations to determine a set of clients to be notified of the event, wherein each client event registration identifies a client and a target set of name/value pairs;
wherein the client is to be notified of the event if the target set of name/value pairs matches a subset of the set of name/value pairs associated with the event; and
sending a notification of the event to the set of clients to be notified of the event;
wherein comparing the event against the set of client event registrations involves performing a subset determination operation to identify which client event registrations match a subset of the set of name/value pairs associated with the event; and
wherein for each name/value pair associated with the event, performing the subset determination operation involves;
looking up an entry in a hash table for the name/value pair, wherein the entry identifies which client event registrations contain matching name/value pairs,incrementing a counter for each client event registration that contains a matching name/value pair, andif the counter for a client event registration equals the number of name/value pairs in the client event registration, adding the associated client to the set of clients to be notified of the event.
2 Assignments
0 Petitions
Accused Products
Abstract
One embodiment of the present invention provides a system that performs event notification in a distributed computing system. During operation, the system receives an event that was generated at a node in the distributed computing system, wherein the event includes a set of name/value pairs associated with the event. Next, the system compares the event against a set of client event registrations to determine a set of clients to be notified of the event, wherein each client event registration identifies a client and a target set of name/value pairs, wherein the client is to be notified of the event if the target set of name/value pairs matches a subset of the set of name/value pairs associated with the event. Finally, the system sends a notification of the event to the set of clients to be notified of the event.
-
Citations
15 Claims
-
1. A method for performing event notification in a distributed computing system, comprising:
-
receiving an event that was generated at a node in the distributed computing system, wherein the event includes a set of name/value pairs associated with the event; comparing the event against a set of client event registrations to determine a set of clients to be notified of the event, wherein each client event registration identifies a client and a target set of name/value pairs; wherein the client is to be notified of the event if the target set of name/value pairs matches a subset of the set of name/value pairs associated with the event; and sending a notification of the event to the set of clients to be notified of the event; wherein comparing the event against the set of client event registrations involves performing a subset determination operation to identify which client event registrations match a subset of the set of name/value pairs associated with the event; and wherein for each name/value pair associated with the event, performing the subset determination operation involves; looking up an entry in a hash table for the name/value pair, wherein the entry identifies which client event registrations contain matching name/value pairs, incrementing a counter for each client event registration that contains a matching name/value pair, and if the counter for a client event registration equals the number of name/value pairs in the client event registration, adding the associated client to the set of clients to be notified of the event. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for performing event notification in a distributed computing system, the method comprising:
-
receiving an event that was generated at a node in the distributed computing system, wherein the event includes a set of name/value pairs associated with the event; comparing the event against a set of client event registrations to determine a set of clients to be notified of the event, wherein each client event registration identifies a client and a target set of name/value pairs; wherein the client is to be notified of the event if the target set of name/value pairs matches a subset of the set of name/value pairs associated with the event; and sending a notification of the event to the set of clients to be notified of the event; wherein comparing the event against the set of client event registrations involves performing a subset determination operation to identify which client event registrations match a subset of the set of name/value pairs associated with the event; and wherein for each name/value pair associated with the event, performing the subset determination operation involves; looking LIP an entry in a hash table for the name/value pair, wherein the entry identifies which client event registrations contain matching name/value pairs, incrementing a counter for each client event registration that contains a matching name/value pair, and if the counter for a client event registration equals the number of name/value pairs in the client event registration, adding the associated client to the set of clients to be notified of the event. - View Dependent Claims (7, 8, 9, 10)
-
-
11. An apparatus that performs event notification in a distributed computing system, comprising:
-
a receiving mechanism configured to receive an event that was generated at a node in the distributed computing system, wherein the event includes a set of name/value pairs associated with the event; a comparison mechanism configured to compare the event against a set of client event registrations to determine a set of clients to be notified of the event, wherein each client event registration identifies a client and a target set of name/value pairs; wherein the client is to be notified of the event if the target set of name/value pairs matches a subset of the set of name/value pairs associated with the event; and a notification mechanism configured to send a notification of the event to the set of clients to be notified of the event; wherein the comparison mechanism is configured to perform a subset determination operation to identify which client event registrations match a subset of the set of name/value pairs associated with the event; and wherein for each name/value pair associated with the event, the comparison mechanism is configured to; look up an entry in a hash table for the name/value pair, wherein the entry identifies which client event registrations contain matching name/value pairs, increment a counter for each client event registration that contains a matching name/value pair, and if the counter for a client event registration equals the number of name/value pairs in the client event registration, to add the associated client to the set of clients to be notified of the event. - View Dependent Claims (12, 13, 14, 15)
-
Specification