US2013325898A1PendingUtilityA1

Large-scale event evaluation using realtime processors

62
Assignee: MICROSOFT CORPPriority: Dec 20, 2010Filed: Aug 8, 2013Published: Dec 5, 2013
Est. expiryDec 20, 2030(~4.4 yrs left)· nominal 20-yr term from priority
G06Q 10/40G06F 16/245G06Q 30/02G06Q 10/44G06F 17/30424
62
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Large-scale event processing systems are often designed to perform data mining operations by storing a large set of events in a massive database, applying complex queries to the records of the events, and generating reports and notifications. However, because such queries are performed on very large data sets, the processing of the queries often introduces a significant delay between the occurrence of the events and the reporting or notification thereof. Instead, a large-scale event processing system may be devised as a large state machine organized according to an evaluation plan, comprising a graph of event processors that, in realtime, evaluate each event in an event stream to update an internal state of the event processor, and to perform responses when response conditions are met. The continuous monitoring and evaluation of the stream of events may therefore enable the event processing system to provide realtime responses and notifications to complex queries.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method of evaluating events received from an event source according to an evaluation plan on a computer having a processor, the method comprising:
 executing on the computer instructions configured to:
 for respective evaluation stages of the evaluation plan, generate an event processor having a state and at least one response having a response condition and configured to:
 upon receiving an event, update the state of the event processor; and 
 upon the state of the event processor satisfying a response condition, perform the response; 
 
 interconnect the event processors to generate an event processor set covering the evaluation plan; 
 connect the event processor set to the event source; and 
 upon receiving an adjustment request to adjust a state of a selected event processor, adjust the state of the selected event processor according to the adjustment request. 
   
     
     
         2 . The method of  claim 1 , respective event processors configured to, for respective events, generate an outgoing event set that is smaller than the incoming event set. 
     
     
         3 . The method of  claim 1 , the response comprising: generating a notification of an event. 
     
     
         4 . The method of  claim 1 :
 at least one event comprising a query received from a user; and   the response comprising: providing a report to the user in response to the query.   
     
     
         5 . The method of  claim 1 :
 the computer having access to a data store; and   the response comprising: storing at least one event in the data store.   
     
     
         6 . The method of  claim 1 , the instructions configured to generate an evaluation plan using at least one evaluation goal specified by a user. 
     
     
         7 . The method of  claim 6 :
 the user specifying an evaluation result derived from the events, and   the evaluation goal comprising: evaluating the events to generate the evaluation result.   
     
     
         8 . The method of  claim 6 :
 the user specifying a topic, and   the evaluation goal comprising: identifying events associated with the topic.   
     
     
         9 . The method of  claim 6 :
 the user specifying a topic, and   the evaluation goal comprising: identifying other topics associated with the topic.   
     
     
         10 . The method of  claim 1 :
 the event processor set configured to store at least one event in a data store; and   the instructions configured to:
 mine the data store to identify at least one evaluation goal, and 
 suggest the evaluation goal to the user. 
   
     
     
         11 . The method of  claim 1 , the instructions further configured to:
 upon receiving an event through the event source:
 store the event in a historic event set, and 
 evaluate the events with the event processor set; and 
   upon receiving an updated evaluation plan:
 reconfigure the event processor set according to the updated evaluation plan; and 
 connect the event processor set to at least a portion of the historic event set. 
   
     
     
         12 . The method of  claim 11 , reconfiguring the event processor set comprising:
 identifying at least one updated event processor that is updated by the updated evaluation plan; and   while connecting the event processor set to the event source, updating only the updated event processors.   
     
     
         13 . The method of  claim 11 :
 the updated evaluation plan associated with at least one updated event processor; and   connecting the event processor set to at least a portion of the historic event set comprising:
 identifying a selected portion of the historic event set comprising historic events associated with at least one updated event processor; and 
 connecting the event processor set to the selected portion of the historic event set. 
   
     
     
         14 . The method of  claim 13 , the instructions configured to generate the historic event set by selecting, from a historic event source, historic events matching at least one historic event parameter. 
     
     
         15 . The method of  claim 14 , the instructions configured to:
 estimate a computational cost arising from connecting the event processor set to the historic event set; and   before connecting the historic event set to the event processor set, verify the computational cost with a user.   
     
     
         16 . The method of  claim 1 , the instructions configured to:
 upon receiving from a user a presentation request to present a state of at least one event processor in response to an event involving the user, present the state of the event processor; and   upon receiving from a user an adjustment request to adjust the state of at least one event processor, adjust the state of the at least one event processor.   
     
     
         17 . The method of  claim 1 , the instructions configured to store an event processor set snapshot comprising the states of the event processors of the event processor set. 
     
     
         18 . A computer-readable storage device comprising instructions that, when executed on a processor of a computer, evaluate events received from an event source according to an evaluation plan by:
 for respective evaluation stages of the evaluation plan, generating an event processor having a state and at least one response having a response condition and configured to:
 upon receiving an event, updating the state of the event processor; and 
 upon the state of the event processor satisfying a response condition, performing the response; 
   interconnecting the event processors to generate an event processor set covering the evaluation plan;   connecting the event processor set to the event source; and   upon receiving an adjustment request to adjust a state of a selected event processor, adjusting the state of the selected event processor according to the adjustment request.   
     
     
         19 . The computer-readable storage device of  claim 18 , the instructions configured to generate the historic event set by selecting, from a historic event source, historic events matching at least one historic event parameter. 
     
     
         20 . A system for evaluating events received from an event source according to an evaluation plan on a device having a memory and a processor, the system comprising:
 an event processor generator comprising instructions stored in the memory that, when executed on the processor, for respective evaluation stages of the evaluation plan:
 generate an event processor having a state and at least one response having a response condition and configured to:
 upon receiving an event, updating the state of the event processor; and 
 upon the state of the event processor satisfying a response condition, performing the response; 
 
 interconnecting the event processors to generate an event processor set covering the evaluation plan; and 
 connecting the event processor set to the event source; and 
   an event processor updater comprising instructions stored in the memory that, when executed on the processor upon receiving an adjustment request to adjust a state of a selected event processor, adjust the state of the selected event processor according to the adjustment request.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.