Complex Event Processing

From Wikipedia, the free encyclopedia

Complex Event Processing, or CEP, is a technology for building and managing event-driven information systems. CEP is primarily an event processing concept that deals with the task of processing multiple events from an event cloud with the goal of identifying the meaningful events within the event cloud. CEP employs techniques such as detection of complex patterns of many events, event correlation and abstraction, event hierarchies, and relationships between events such as causality, membership, and timing, and event-driven processes.

Contents

[edit] A conceptual description of CEP

Examples of events include church bells ringing, the appearance of a man in a tuxedo with a woman in a flowing white gown, and rice flying through the air. A complex event is what one infers from the simple events: a wedding is happening. CEP is a programming language that helps discover complex, inferred events by analysing and correlating other events: the bells, the man and girl in wedding gear and the rice flying through the air.

[edit] Another systemic example of CEP

A more systemic example of CEP involves a car, some sensors and an accident. Imagine that a car has several sensors on it. It is able to measure the tires' pressure, speed, seat occupied (is someone sitting in a seat) and has two buttons "Help" and "Cancel."

Imagine the car is riding and the tire pressure of one of the tires moves from 45 PSI to 41PSI over 5 minutes. The event "lossofTirePresure" is announced. This event triggers a process which analyses the pressure loss. The pressure is still within safety tolerances, but it notes the pressure loss into the car's maintenance log, and alerts the driver via the car's portal that the tire pressure needs to be taken care of. It also determines the closest gas station that advertizes an air-compressor and displays that for the driver's convenience.

Imagine that same car has a significant pressure loss in the front, left tire. They change from 45 PSI to 20PSI in 2 seconds. These are announced as separate events of "blowOutTire". And the car's process determines that and takes appropriate measures to keep the car and occupants safe. It alerts the driver and takes actions to slow down the car by anti-lock breaking techniques to bring the car to a stop.

Image that this same car is in an accident when the tire blew and the speed goes quickly to zero. Unfortunately the driver was thrown from the car and the event "driverUnseated" is announced. The combination of "blowOutTire", "zeroSpeed" and "driverUnseated" come in a very short period of time (a few seconds) and the car infers that the driver was thrown from the car and announced the "occupantThrown" event. There is no direct measurement that can determine conclusively that the driver was thrown, but the combination of events allows the conclusion to be made. This is the essence of a complex (or composite) event. It is complex because one can not directly measure the event, one has to infer or deduce that it has occurred from a combination of other simpler events.

Like simple events, complex or composite events are also announced on the same channel and triggers reactions. In this case a process was triggered by the "occupantThrown" event and uses services from the GPS system and car communication system to determine the location, and to determine how to contact the local sheriff and ambulances via a web service. Armed with this information, the car contacts the emergency responders and saves the life of the incapacitated driver.

[edit] Academic research


[edit] See also

[edit] External links