Complex event processing: Difference between revisions

Content deleted Content added
Integration with time series databases: not encyclopedic and unsourced
Adding local short description: "Method of analysing information about events", overriding Wikidata description "approach to processing events in software engineering, aiming to identify meaningful events such as opportunities or threats in real-time situations and respond as quickly as possible"
 
(18 intermediate revisions by 12 users not shown)
Line 1:
{{Short description|Method of analysing information about events}}
'''Event processing''' is a method of tracking and [[data analytics|analyzing]] (processing) streams of information (data) about things that happen (events),<ref name=LuckhamD>{{cite book|last=Luckham|first=David C.|title=Event Processing for Business: Organizing the Real-Time Enterprise|url=http://ee.stanford.edu/~luckham/|publisher=John Wiley & Sons, Inc.|___location = Hoboken, New Jersey|year=2012|page=3|isbn=978-0-470-53485-4}}</ref> and deriving a conclusion from them. '''Complex event processing''', or ('''CEP''',) consists of a set of concepts and techniques developed in the early 1990s for processing real-time events and extracting information from event streams as they arrive. The goal of complex event processing is to identify meaningful events (such as [[business opportunity|opportunities]] or threats)<ref name=Bates>{{citation|last=Bates|first=John|title=John Bates of Progress explains how complex event processing works and how it can simplify the use of algorithms for finding and capturing trading opportunities|date=15 June 2011|url=http://fixglobal.com/home/secrets-revealed-trading-tools-uncover-hidden-opportunities/|publisher=Fix Global Trading|access-date=May 14, 2012}}</ref> in real-time situations and respond to them as quickly as possible.
 
These events may be happening across the various layers of an organization as sales leads, orders or [[customer service]] calls. Or, they may be news items,<ref>{{citation|last=Crosman|first=Penny|title=Aleri, Ravenpack to Feed News into Trading Algos|url=http://www.wallstreetandtech.com/articles/217500395|publisher=Wall Street & Technology|date=May 18, 2009}}{{Dead link|date=July 2019 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> [[text message]]s, [[social media]] [[Posting style|posts]], [[Marketbusiness data|stockprocesses market(such feed]]sas supply chain), [[traffic report]]s, [[weather forecasting|weather report]]s, or other kinds of data.<ref name=LuckhamD /> An event may also be defined as a "change of state," when a measurement exceeds a predefined threshold of time, temperature, or other value.
 
Analysts have suggested that CEP will give organizations a new way to analyze patterns in real-time and help the business side communicate better with IT and service departments.<ref>{{citation|last=McKay|first=Lauren|title=Forrester Gives a Welcoming Wave to Complex Event Processing|url=http://www.destinationcrm.com/Articles/CRM-News/Daily-News/Forrester-Gives-a-Welcoming-Wave-to-Complex-Event-Processing-55492.aspx|publisher=Destination CRM|date=August 13, 2009}}</ref> CEP has since become an enabling technology in many systems that are used to take immediate action in response to incoming streams of events. Applications are now to be found (2018) in many sectors of business including stock market trading systems, [[mobile device]]s, internet operations, [[fraud detection]], the [[transportation industry]], and [[Intelligence gathering network|governmental intelligence gathering]].
Line 20 ⟶ 21:
 
* Event-[[pattern detection]]
* Event [[Abstraction (computer science)|abstraction]]
* Event filtering
* Event aggregation and transformation
Line 31 ⟶ 32:
 
==History==
The CEP area has roots in [[discrete event simulation]], the [[active database]] area and some programming languages. The activity in the industry was preceded by a wave of research projects in the 1990s. According to<ref>{{citation|last=Leavit|first=Neal|title=Complex-Event Processing Poised for Growth|url= http://www.computer.org/csdl/mags/co/2009/04/mco2009040017-abs.html|publisher=Computer, vol. 42, no. 4, pp. 17-20 Washington|date=April 2009}}</ref> the first project that paved the way to a generic CEP language and execution model was the Rapide project in [[Stanford University]], directed by [[David Luckham]]. In parallel there have been two other research projects: Infospheres in [[California Institute of Technology]], directed by [[K. Mani Chandy]], and [[Apama (software)|Apama]] in [[University of Cambridge]] directed by John Bates. The commercial products were dependents of the concepts developed in these and some later research projects. Community efforts started in a series of event processing symposiumssymposia organized by the [[Event Processing Technical Society]], and later by the ACM DEBS conference series. One of the community efforts was to produce the event processing manifesto.<ref>{{cite webjournal|url=http://drops.dagstuhl.de/opus/volltexte/2011/2985|title=10201 Executive Summary and Manifesto – Event Processing|first1=Mani K.|last1=Chandy|first2=Opher|last2=Etzion|first3=Rainer von|last3=Ammon|journal=Drops-Idn/V2/Document/10.4230/Dagsemproc.10201.1 |series=Dagstuhl Seminar Proceedings|editor-first1=K. Mani|editor-last1=Chandy|editor-first2=Opher|editor-last2=Etzion|editor-first3=Rainer von|editor-last3=Ammon|date=22 December 2017|volume=10201 |pages=1–60 |publisher=Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Germany|doi=10.4230/DagSemProc.10201.1 |doi-access=free |via=Dagstuhl Research Online Publication Server}}</ref>
 
==Related concepts==
Line 69 ⟶ 70:
The ideal case for CEP analysis is to view historical time series and real-time streaming data as a single time continuum. What happened yesterday, last week or last month is simply an extension of what is occurring today and what may occur in the future. An example may involve comparing current market volumes to historic volumes, prices and volatility for trade execution logic. Or the need to act upon live market prices may involve comparisons to benchmarks that include sector and index movements, whose intra-day and historic trends gauge volatility and smooth outliers.
 
==Internet of Thingsthings and Smartsmart Cybercyber-physical systems==
Complex event processing is a key enabler in [[Internet of Thingsthings]] (IoT) settings and Smartsmart [[Cybercyber-physical system]]s (CPS) as well. Processing dense and heterogeneous streams from various sensors and matching patterns against those streams is a typical task in such cases.<ref>{{cite web|url=http://msdl.cs.mcgill.ca/people/istvan/pub/mtcps2016|title=Balogh, Dávid, Ráth, Varró, Vörös: Distributed and Heterogeneous Event-based Monitoring in Smart Cyber-Physical Systems, In 1st Workshop on Monitoring and Testing of Cyber-Physical Systems, Vienna, Austria. 2016.}}</ref> The majority of these techniques rely on the fact that representing the IoT system's state and its changes is more efficient in the form of a data stream, instead of having a static, materialized model. Reasoning over such stream-based models fundamentally differs from traditional reasoning techniques and typically require the combination of [[model transformation]]s and CEP.<ref>I. Dávid, I. Ráth, D. Varró: Foundations for Streaming Model Transformations by Complex Event Processing, International Journal on Software and Systems Modeling, pp 1--28, 2016. {{doi|10.1007/s10270-016-0533-1}}</ref>
 
==See also==
Line 88 ⟶ 89:
* [[Apama (software)|Apama]] by [[Software AG]] - monitors rapidly moving event streams, detects and analyzes important patterns, and takes action according to rules.<ref>[http://www.softwareag.com/corporate/products/bigdata/apama/overview/default.asp Apama Real-Time Analytics Overview] {{Webarchive|url=https://web.archive.org/web/20151025155227/http://www.softwareag.com/corporate/products/bigdata/apama/overview/default.asp |date=2015-10-25 }}. Softwareag.com. Retrieved on 2013-09-18.</ref>
* [[Azure Stream Analytics]]
* [https://liflab.github.io/beepbeep-3/ BeepBeep 3] an open source event stream processing library with multiple extensions for various use cases, including temporal logic, finite-state machines, statistics, and more.
* [[Drools|Drools Fusion]]
* [http://www.evam.com EVAM Streaming Analytics]
* [[Esper (software)|Esper]] Complex event processing for Java and C# (GPLv2).
* [https://www.esri.com/en-us/arcgis/products/arcgis-geoevent-server Esri ArcGIS GeoEvent Server]
* [[Feedzai|Feedzai - Pulse]]
* [[Microsoft|Microsoft StreamInsight]] Microsoft CEP Engine implementation<ref>{{cite web|url=https://technet.microsoft.com/en-us/library/ee362541(v=sql.111).aspx|title=Microsoft StreamInsight|website=technet.microsoft.com|date=28 July 2016 }}</ref>
* [[GigaSpaces]] XAP
* ''Informatica RulePoint'' by [[Informatica]]
* [[Microsoft|Microsoft StreamInsight]] Microsoft CEP Engine implementation<ref>{{cite web|url=https://technet.microsoft.com/en-us/library/ee362541(v=sql.111).aspx|title=Microsoft StreamInsight|website=technet.microsoft.com}}</ref>
* [[openPDC]] — A set of applications for processing streaming time-series data in real-time.
* [[Oracle SOA Suite|Oracle Event Processing]] - for building applications to filter, correlate, and process events in real time.
* BRMS - A rules management engine by [[Red Hat]] based on [[Drools]]
* [[SAP SE|SAP ESP]] - A low-latency, rapid development and deployment platform that allows processing multiple streams of data in real time<ref>{{Cite web |url=http://scn.sap.com/community/developer-center/esp |title=SAP ESP - Developers community |access-date=2014-07-17 |archive-url=https://web.archive.org/web/20150105095944/http://scn.sap.com/community/developer-center/esp |archive-date=2015-01-05 |url-status=dead }}</ref>
* [[Sqlstream|SQLstream]] SQLstream's stream processing platform, s-Server, provides a relational stream computing platform for analyzing large volumes of service, sensor and machine and log file data in real-time.
* [[SAS ESP]] - A platform that is built for speed to analyse (apply SAS' and third-party analytics, including machine learning algorithms) millions of data records in motion (events) with low-latency response time (milliseconds and sub-milliseconds). Deployable at the edge, on premises and to the Cloud. Flexible platform that is built with openness in mind to make Analytics pervasive everywhere.<ref>{{cite web|url=https://www.sas.com/en_gb/software/data-management/event-stream-processing.html|title=SAS Event Stream Processing}}</ref>
* [[Sqlstream|SQLstream]] SQLstream's stream processing platform, s-Server, provides a relational stream computing platform for analyzing large volumes of service, sensor and machine and log file data in real-time.
* [[TIBCO| TIBCO BusinessEvents & Streambase ]] - CEP platform and High Performance Low Latency Event Stream Processing
* VIATRA-CEP<ref>{{cite web|url=https://wiki.eclipse.org/VIATRA/CEP|title=VIATRA/CEP - Eclipsepedia|website=wiki.eclipse.org}}</ref> - A model-driven CEP engine, part of the 3rd generation of the [[VIATRA]] [[model transformation]] framework
* [[WebSphere Business Events]]
* [https://wso2.github.io/siddhi/ Siddhi] a Stream Processing and Complex Event Processing java library released under Apache License v2, that listens to events from data streams, detects complex conditions described via a Streaming SQL language, and triggers actions.
* [https://wso2.com/analytics WSO2 Stream Processor] a fully open source distributed and highly available Stream Processing Server released under Apache License v2 by [[WSO2]].
* [[Apache Flink]] Open-source distributed stream processing framework with a CEP API<ref>{{cite web|url=https://ci.apache.org/projects/flink/flink-docs-release-1.2/dev/libs/cep.html|title=Apache Flink 1.2 Documentation: FlinkCEP - Complex event processing for Flink|website=ci.apache.org}}</ref> for Java and Scala.
* [[Apache Storm]] Free and open source distributed realtime computation system. Storm processes unbounded streams of data in realtime.
Line 114 ⟶ 105:
{{reflist}}
 
 
==External links==
* [http://www.complexevents.com Complex Event Processing & Real Time Intelligence]
* [http://www.rfidjournal.com/article/view/1196 Separating the Wheat from the Chaff] Article about CEP as applied to RFID, appeared in RFID Journal
* [https://web.archive.org/web/20080512000929/http://www.computerworld.com.au/index.php/id;918976660;fp;4;fpid;1398720840 Complex event processing: still on the launch pad in Computerworld]
* [http://www.debs.org The ACM conference on distributed event-based systems] - Research articles on innovations in event-based systems
* [https://web.archive.org/web/20160812211946/http://www.thecepblog.com/what-is-complex-event-processing/ What is Complex Event Processing?] - A Technical Overview of CEP
 
[[Category:Information systems]]