Complex Event Processing

Complex Event Processing ( CEP short, dt " complex event processing ") is a topic of computer science that deals with the detection, analysis, grouping and processing of interdependent events ( engl. events). CEP is thus a collective term for methods, techniques and tools to process events as they occur, ie continuous and timely fashion. CEP derives from events greater and valuable knowledge in the form of so-called complex events from, that is, situations that can only be recognized as a combination of several events.

  • 2.1 Abstraction levels and dependencies
  • 3.1 Academic Research Projects

Overview

In event-driven computer applications, the flow of the program is controlled by a strict sequence of subsequent events. That is, individual events such as a mouse click, the receipt of an e-mail or the end of a charging solve other related events, such as saving a file on the hard drive, the illumination of a notice message or opening a program window.

The CEP is concerned with events that redundant mehrläufig next to each other and varied chained unreliable occur more than once. In addition, the logic of occurrence is not sharp but blurred defined (fuzzy logic). The CEP provides Adjusted events as status which eliminate the unwanted or unnecessary source events.

Events

Complex Event Processing uses the term event in the following meanings:

  • Everything that happens or is regarded as happening
  • An object that represents an event that encodes or stores; usually for the purpose of machine-based processing
  • An event is an event within a particular system or a domain. It is something that has already happened or is regarded as something that happened within this application domain. The term Event is also used to describe a Programmierentität that represents such an event in an IT system

When it comes CEP in particular to the treatment of events that only occur by the interaction of several events. These have, for example, optionally following characteristics:

  • The events may be interdependent and occur for physical reasons to occasionally more than once: A complex event shows no repeats, but only significant changes in a status. This requires the filtering of events
  • The events occur one after the other peels or even next to each other at the same time.
  • The events are hierarchically dependent on each other and occur repeatedly in the same concatenation.
  • The events are all independent: A complex event is a composite of several events and defines a status.
  • The events may be related: a complex event occurs when a certain relation, for example, a fuzzy relation is fulfilled in a time interval.
  • The events occur partly on in concurrent processes: a complex event occurs when a specified majority of events occurred.

History of the term

Originally the term of David Luckham was first made known in his book The Power of Events. He derived the notion of event processing, a lot of technologies and concepts found in 1950 using the first time. Over time, concepts of networking, middleware, service-oriented architecture and other areas incorporated by Active Databases, which have to do with event processing.

Today, the community is divided over the term Complex, as it is often attempted instead to hide complexity to ignore these arbitrary. For this reason, it is now also often reused Event Processing synonym for Complex Event Processing. The conceptual simplicity is in contrast to the classification of event-driven processing, which is known from the field of Event Driven Architecture ( EDA).

In addition to the terms Complex Event Processing and Event Processing and Business Event Processing is the term used for marketing purposes.

Concepts

In Complex Event Processing high-level concepts have been described so far, the edit the theme of the event processing and detection of event patterns. Some of these terms are heavily overloaded, since they are used in other areas of information technology, mathematics, and in some areas even in business. Although this term overload has been caused some discussion within the Complex Event Processing / event processing community, so the terms are compatible with the existing literature. Their meanings can be derived from the context used.

Complex event processing goes one step further and defines a virtual event as "an event that did not actually occur in the physical world, but appears to suggest an event in the real world, an event that you would imagine, modeled or simulated. " A virtual event is treated like any other event in CEP.

Obviously, nearly everything that exists in the real world or within a computer, be regarded as an event for use by CEP. The definition is deliberately kept as wide as CEP intends to establish relationships both between the different event levels as well as among the design patterns for creating these events so that their semantics, their storage medium, and their transmission mechanism are not affected. In some areas this definition compatible (albeit wider) for event definition of probability theory.

Levels of abstraction and dependencies

Basic concept of CEP is a structuring of events in levels of abstraction. On a level of abstraction separate events from each other and depend on each other to take effect (horizontal dependence). If one summarizes several of these events to a group and it is a higher-level event, we speak of this as an aggregation or even a complex event. This complex event is located in a vertical dependence of the individual events, from which it is made and a level of abstraction are deeper.

In addition to the abstraction, there are also vertical, the horizontal abstraction. Here events of different levels, such as network monitoring events, database events and business process incidents are linked together so that it can be concluded a higher value, complex event. Currently, there is little implementation experience with the formation of horizontal dependencies, as it is a non-trivial task of representing the causality of the events between the different levels.

Academic and entrepreneurial activities

The complex event processing is the subject in both academic research and product development of software houses.

Since around the turn of the millennium, it is part of various research projects at universities. The following list gives some insight.

Academic Research Projects

  • STREAM (Stanford University): motivation of the STREAM project is the need of long-term, continuous queries on data streams that originate for example from the network monitoring, the Telco data management, production, and from sensor networks, instead of one-time queries on stored data sets.
  • Rapide (Stanford University): In order to describe events and their horizontal and vertical dependencies formal, was an Event Processing Language (EPL ) developed at Stanford University by the name Rapide. It is thought that it can be integrated as an extension in modern object-oriented languages ​​such as Java or C #.
  • Telegraph (UC Berkeley ): telegraph is an adaptive dataflow system that allows data from different sources to access, combine, analyze. As a data flow system Telegraph can process stored data as well as data streams from sensor networks.
  • Aurora ( Brandeis University, Brown University and MIT): Aurora addressed three broad types of applications in a single framework. These are continuous real-time monitoring of applications at the same time the processing of persistent held, archived data in large quantities, and the combination of real-time data with the historical in an efficient manner.
  • Borealis ( Brandeis University, Brown University and MIT): Borealis is a distributed data stream engine, which builds on the experience from the projects Aurora and Medusa. The software is available for Linux x86 -based computers designed.
  • SASE (UC Berkeley / UMass Amherst ): A growing number of applications require a high volume of real-time data, for example in the areas of financial services, network monitoring and sensor networks. These requirements are implemented in the SASE project by means of a declarative event language with a formal semantics, the theoretical foundations of CEP in an efficient, automata -based implementation.
  • Cayuga ( Cornell University): publish / subscribe is a popular paradigm to the interest of the user ( " subscribtion " ) to events ( "Publications" ) express. Cayuga deals with the issue of stateful subscriptions and to enable users to maintain the context on multiple events.
  • Odysseus (University of Oldenburg): Odysseus is a framework for event and data stream processing architecture which is based on flexible, extensible and customizable components. This makes it possible to integrate diverse approaches to various systems in a system to thereby combine the benefits of fast or be supplemented by new concepts. The processing allows doing various data models that can be defined by arbitrary query languages ​​while addressing additional concepts such as optimization, load management, scheduling, distribution or robustness.
  • PIPES (University of Marburg ): PIPES deals with the research problems of adaptive memory management for the scheduling and query optimization in a generic runtime environment, the maintainability of the information flow and the indexing of the historical queries, the maintanance of non- parametric estimation variables over data streams, static and dynamic Multy - query optimizations and Assorted, multiple join operations over data streams.
  • CEPiL ( University of Stuttgart, Georgia Tech ). Central aim of the project " CEP in the Large" ( CEPiL ) is to realize a highly scalable complex event processing under high dynamics of participating in the event processing components as well as producers and consumers of information is. Specifically, the system developed in the framework of the project is to satisfy the additional requirements of today's applications with respect to robustness and data security.
  • SpoVNet (Karlsruhe Institute of Technology, University of Stuttgart, University of Mannheim, University of Tübingen). The aim of the SpoVNet architecture, it is spontaneously reproduce decentralized applications on heterogeneous networks with required quality of service. In particular, adaptive method for event -based communication have been developed in this project, adjust the overlay topologies of event broker on dynamically changing network topologies.

In addition to these projects, the research continues thematically deal with complex event processing and event processing. An overview of current publications from the research environment can be, among others, on the well-maintained by Arnd Schröter LinkCollection event- based.org win.

199366
de