US8122087B2ExpiredUtilityA1

Matching engine for comparing data feeds with user profile criteria

73
Assignee: SOBOTKA DAVID CPriority: Mar 21, 2006Filed: Mar 21, 2006Granted: Feb 21, 2012
Est. expiryMar 21, 2026(expired)· nominal 20-yr term from priority
G06F 16/9535G06F 16/951
73
PatentIndex Score
6
Cited by
48
References
12
Claims

Abstract

An event notification matching system, including an event matching table forming a plurality of nodes. Each node is assigned a subscriber request value and contains identifiers for one or more subscribers to be notified at the occurrence of an event relating to the subscriber request value. The event notification matching system may also include a table index. The table index receives input values from an event processing module and selects one or more of the nodes that have subscriber request values corresponding to the received input values. The event processor receives event data from a predetermined source, and formats the input values to simplify the operations performed by the event matching table. The event notification matching system is configured such that the event data need not be compared to non-matching nodes in the event matching table.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A system for event notification, the system comprising a computer-readable storage medium having stored thereon computer-executable instructions configured to:
 store, on a computer-readable storage medium, a data structure organizing nodes into a hierarchy, the hierarchy including:
 a first node assigned to a first subscriber request value that identifies a first event, the first node including a first subscriber identifier associated with a first subscriber who submitted a first request to be notified at an occurrence of the first event identified by the first subscriber request value; and 
 a second node assigned to a second subscriber request value that identifies a second event, the second node including a second subscriber identifier associated with a second subscriber who submitted a second request to be notified at an occurrence of the second event identified by the second subscriber request value; 
 
 receive, from a third subscriber, a third request to be notified at an occurrence of a combination of events including the first event identified by the first subscriber request value and the second event identified by the second subscriber request value; 
 determine that the first event is less likely than the second event to occur; and 
 in response to determining that the first event is less likely than the second event to occur:
 add, to the hierarchy, a third node including a third subscriber identifier associated with the third subscriber; 
 assign the third node to the second subscriber request value that identifies the more likely second event; and 
 link the first node to the third node; 
 wherein the first node, which is assigned to the first subscriber request value that identifies the less likely first event, is a parent node of the third node, 
 
 which is assigned to the second subscriber request value that identifies the more likely second event. 
 
     
     
       2. The system as in  claim 1 , wherein the computer-executable instructions are further configured to:
 match a first portion of a web feed to the first event; and 
 in response to matching a first portion of a web feed to the first event:
 send a first alert to the first subscriber; 
 determine that the third node is linked to the first node; and 
 in response to determining that the third node is linked to the first node:
 match a second portion of the web feed with the second event; and 
 in response to matching a second portion of the web feed with the second event, send a second alert to the third subscriber. 
 
 
 
     
     
       3. The system as in  claim 2 , wherein the act of matching a first portion of a web feed to the first event includes:
 deriving a first index from the first portion of the web feed by applying a hash function to the first portion of the web feed; and 
 using the first index, which was derived from the first portion of the web feed, to directly access the first node in the data structure. 
 
     
     
       4. The system as in  claim 2 , wherein the act of matching a first portion of a web feed to the first event includes:
 deriving a first index from the first portion of the web feed by applying a hash function to the first portion of the web feed; and 
 using the first index, which was derived from the first portion of the web feed, to directly access the first node in the data structure; and 
 wherein the act of matching a second portion of the web feed to the second event includes: 
 deriving a second index from the second portion of the web feed by applying the hash function to the second portion of the web feed; and 
 using the second index, which was derived from the second portion of the web feed, to directly access the second node in the data structure. 
 
     
     
       5. The system as in  claim 2 , wherein the web feed comprises an RSS feed;
 wherein the act of matching a first portion of a web feed to the first event includes:
 deriving a first index from a first portion of the RSS feed by applying a hash function to the first portion of the RSS feed; and 
 using the first index, which was derived from the first portion of the RSS feed, to directly access the first node in the data structure. 
 
 
     
     
       6. The system as in  claim 2 , wherein the web feed comprises an RSS feed;
 wherein the act of matching a first portion of a web feed to the first event includes:
 deriving a first index from a first portion of the RSS feed by applying a hash function to the first portion of the RSS feed; and 
 using the first index, which was derived from the first portion of the RSS feed, to directly access the first node in the data structure; and 
 
 wherein the act of matching a second portion of the web feed to the second event includes:
 deriving a second index from a second portion of the RSS feed by applying the hash function to the second portion of the RSS feed; and 
 using the second index, which was derived from the second portion of the RSS feed, to directly access the second node in the data structure. 
 
 
     
     
       7. A method for event notification, the method comprising: by a computer:
 storing, on a computer-readable storage medium, a data structure organizing nodes into a hierarchy, the hierarchy including:
 a first node assigned to a first subscriber request value that identifies a first event, the first node including a first subscriber identifier associated with a first subscriber who submitted a first request to be notified at an occurrence of the first event identified by the first subscriber request value; and 
 a second node assigned to a second subscriber request value that identifies a second event, the second node including a second subscriber identifier associated with a second subscriber who submitted a second request to be notified at an occurrence of the second event identified by the second subscriber request value; 
 
 receiving, from a third subscriber, a third request to be notified at an occurrence of a combination of events including the first event identified by the first subscriber request value and the second event identified by the second subscriber request value; 
 determining that the first event is less likely than the second event to occur; and 
 in response to determining that the first event is less likely than the second event to occur:
 adding, to the hierarchy, a third node including a third subscriber identifier associated with the third subscriber; 
 assigning the third node to the second subscriber request value that identifies the more likely second event; and 
 linking the first node to the third node; 
 wherein the first node, which is assigned to the first subscriber request value that identifies the less likely first event, is a parent node of the third node, which is assigned to the second subscriber request value that identifies the more likely second event. 
 
 
     
     
       8. The method as in  claim 7 , further comprising: by a computer:
 matching a first portion of a web feed to the first event; and 
 in response to matching a first portion of a web feed to the first event:
 sending a first alert to the first subscriber; 
 determining that the third node is linked to the first node; and 
 in response to determining that the third node is linked to the first node:
 matching a second portion of the web feed with the second event; and 
 in response to matching a second portion of the web feed with the second event, sending a second alert to the third subscriber. 
 
 
 
     
     
       9. The method as in  claim 8 , wherein the act of matching a first portion of a web feed to the first event includes:
 deriving a first index from the first portion of the web feed by applying a hash function to the first portion of the web feed; and 
 using the first index, which was derived from the first portion of the web feed, to directly access the first node in the data structure. 
 
     
     
       10. The method as in  claim 8 , wherein the act of matching a first portion of a web feed to the first event includes:
 deriving a first index from the first portion of the web feed by applying a hash function to the first portion of the web feed; and 
 using the first index, which was derived from the first portion of the web feed, to directly access the first node in the data structure; and 
 wherein the act of matching a second portion of the web feed to the second event includes: 
 deriving a second index from the second portion of the web feed by applying the hash function to the second portion of the web feed; and 
 using the second index, which was derived from the second portion of the web feed, to directly access the second node in the data structure. 
 
     
     
       11. The method as in  claim 8 , wherein the web feed comprises an RSS feed;
 wherein the act of matching a first portion of a web feed to the first event includes:
 deriving a first index from a first portion of the RSS feed by applying a hash function to the first portion of the RSS feed; and 
 using the first index, which was derived from the first portion of the RSS feed, to directly access the first node in the data structure. 
 
 
     
     
       12. The method as in  claim 8 , wherein the web feed comprises an RSS feed;
 wherein the act of matching a first portion of a web feed to the first event includes:
 deriving a first index from a first portion of the RSS feed by applying a hash function to the first portion of the RSS feed; and 
 using the first index, which was derived from the first portion of the RSS feed, to directly access the first node in the data structure; and 
 
 wherein the act of matching a second portion of the web feed to the second event includes:
 deriving a second index from a second portion of the RSS feed by applying the hash function to the second portion of the RSS feed; and 
 using the second index, which was derived from the second portion of the RSS feed, to directly access the second node in the data structure.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.