Complex Event Processing

From Wikipedia, the free encyclopedia

Jump to: navigation, search

Complex Event Processing, or CEP, is primarily an event processing concept that deals with the task of processing multiple events 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 technique that helps discover complex, inferred events by analyzing and correlating other events: the bells, the man and woman in wedding attire and the rice flying through the air.

There are many commercial applications of CEP including algorithmic stock trading, credit card fraud detection, business activity monitoring, and security monitoring[1]. New applications of CEP are emerging as technology vendors find new uses for the technology.

[edit] Another systemic example of CEP

A more systemic example of CEP involves a car, some sensors and various events and reactions. Imagine that a car has several sensors - one that measures tire pressure, one that measures speed, and one that detects if someone sits on a seat or leaves a seat.

In the first situation, the car is moving and the pressure of one of the tires moves from 45 PSI to 41 PSI over 15 minutes. As the pressure in the tire is reducing, a series of events containing the tire pressure is generated. In addition, a series of events containing the speed of the car is generated. The car's Event Processor may detect a situation whereby a loss of tire pressure over a relatively long period of time results in the creation of the "lossOfTirePressure" event. This new event may trigger a reaction process to note the pressure loss into the car's maintenance log, and alert the driver via the car's portal that the tire pressure has reduced.

In the second situation, the car is moving and the pressure of one of the tires drops from 45 PSI to 20 PSI in 5 seconds. A different situation is detected - perhaps because the loss of pressure occurred over a shorter period of time, or perhaps because the difference in values between each event were larger than a predefined limit. The different situation results in a new event "blowOutTire" being generated. This new event triggers a different reaction process to immediately alert the driver and to initiate onboard computer routines to assist the driver in bringing the car to a stop without losing control through skidding.

In addition, events that represent detected situations can also be combined with other events in order to detect more complex situations. For example, in the final situation the car was moving normally but suffers a blown tire which results in the car leaving the road and striking a tree and the driver is thrown from the car. A series of different situations are rapidly detected. The combination of "blowOutTire", "zeroSpeed" and "driverLeftSeat" within a very short space of time results in a new situation being detected: "occupantThrownAccident". Even though there is no direct measurement that can determine conclusively that the driver was thrown, or that there was an accident, the combination of events allows the situation to be detected and a new event to be created to signify the detected situation. This is the essence of a complex (or composite) event. It is complex because one can not directly detect the situation; one has to infer or deduce that the situation has occurred from a combination of other events.

[edit] Academic research

  • Aurora (Brandeis University, Brown University and MIT)
  • Borealis (Brandeis University, Brown University and MIT)
  • STREAM (Stanford University)
  • Telegraph (UC Berkeley)
  • SASE (UC Berkeley/UMass Amherst)
  • Cayuga (Cornell University)
  • PIPES (University of Marburg)


[edit] See also

[edit] References

[edit] External links

Personal tools
Languages