Tuesday, January 04, 2011

Complex Event Processing

We added a home-grown rules engine into our software last year as a sub-system in order to provide Complex Event Processing (CEP) capabilities. CEP deals with complex event pattern detection, event correlation, as well as the causal and temporal relationships between events. CEP examines small events taking place across a busy environment, like a city, and is typically used to analyze impact at a higher level, with the goal of giving users the ability to take action in real-time when confronted with changing conditions. 

Our rules engine monitors event data as it streams into the system from a variety of sources, mainly from IP cameras. Rules can be setup to determine whether or not an event is of interest, or part of a larger pattern. 

The focus of last year's release was on providing CEP for sequences of events. For example, we can now setup rules to look at incoming events and determine if they were preceded by a related event within a defined time constraint. This gives our customers the ability to correlate sequences of events, sometimes looking for cause and effect, which would otherwise go by unnoticed. The rules engine can be setup to handle a myriad of scenarios involving sequenced events.  

One of the simplest scenarios we use for our tests takes place in a hypothetical Jewelry Store. A single rule is setup to detect if a car speeding out of a Jewelry Store parking lot is preceded by someone bolting out the door which itself is preceded by a valuable object being removed from a shelf, within a certain time constraint defined in seconds. This sequence of events, one happening after the other, in the Jewelry Store context is of interest, of course, and likely to be carried out by a thief. When this happens, the rules engine correlates, sends out a notification, and creates a fourth, derivative event that represents a composite of the other three. 

No comments:

Post a Comment