SlideShare une entreprise Scribd logo
1  sur  88
Event processing – past, present, future VLDB 2010 Tutorial,  Singapore, September 15 th , 2010  Opher Etzion (opher@il.ibm.com)
An example to kick-off this tutorial:  Act:  Passenger has been re-routed to another destination – send the luggage  Act:  Bag has reached  to the wrong aircraft  Notify:  Bag has been checked but did not reach the ULD within 20 minutes Notify:  Bag has been checked but did not reach the connecting flight  THE LUGGAGE PERSPECTIVE: Across the 24 largest airlines more than 5.6 million bags went missing in 2006, this is an average of 15.7 bags per 1,000 travelers.  15% of the bags are never found. BBC News, April 4, 2007 Event processing can help here..
Outline of this tutorial  What is behind event processing ?  How is it related to other computing terms? Where are its roots?  Event processing – architecture, building blocks The present: State of the practice in event processing – languages, implementation issues, challenges in implementing event processing applications  The future: Trends and research challenges
What is behind event processing ?  How is it related to other computing terms? Where are its roots?
What is “event processing” anyway? or Event processing is a form of computing that performs operations on  events
Event processing and Data stream management? Aliases? One of them subset of the other? Totally unrelated concepts?
In computing we processed events since early days  Network and System Management
Emerging technologies in enterprise computing (Gartner Hype Cycle, Summer 2009)
What’s new? The analog: moving from files to DBMS  In recent years – architectures, abstractions, and dedicated  commercial products emerge to support functionality that was traditionally carried out within regular programming.  For some applications it is an improvement in TCO; for others is  breaking the cost-effectiveness barrier.
What is an event  There are various definitions of events Event is an occurrence within a particular system or domain; the word event has double meaning: the real-world Occurrence as well as its computerized representation
In daily life we often react to events..
Sometime we even react to the occurrence of multiple events I closed the deal with the Canadians We closed two huge deals in a single day, It is a good opportunity to send all the team to Some fun time  in Singapore  I closed the deal with the  Australians
Event Patterns Pattern detection is one of the notable functions of event processing
What we actually want to react to are – situations  TOLL VILOATOR  FRUSTRATED CUSTOMER  Sometimes the situation is  determined by detecting that some pattern occurred in the Flowing events.  Toll violation  Frustrated customer Sometimes the events can  approximate or indicate with some certainty that the  situation has occurred
Event processing is being used for various reasons
Event Driven Architecture   Event driven architecture: asynchronous, decoupled; each  component is autonomic.
Ancestor: active databases  On event When condition Do action With coupling mode  Composite events were inherited to event processing
Ancestor: Data Stream management system Source: Ankur Jain’s website
Ancestor: Temporal databases  There is a substantial temporal  nature to event processing.  Recently – also spatial and  spatio-temporal functions are  being added
Ancestor:  Messaging – pub/sub middleware
Ancestor: Discrete event simulation
Ancestor: Network and system management
Event processing – architecture, building blocks
Fast Flower Delivery Flower Store Van Driver Ranking and Reporting  System Bid Request   Delivery Bid   Assignments, Bid alerts, Assign  Alerts Control  System   GPS Location  Location Service Location   Driver’s Guild   Ranking and reports  Delivery  confirmation   Pick Up confirmation  Ranked drivers / automatic assignment  Bid System Store Preferences Delivery Request  Assignment  System Manual Assignment Assignment Assignments, Pick Up Alert Delivery Alert  http://www.ep-ts.com/EventProcessingInAction
Event Processing Agent Context  Event Channel Event Consumer Event Type Event Producer Global State  The seven  Building blocks
Event processing network
Example of EPN –  part of the FFD example
Event type definition  Detection time, Occurrence time, source, Certainty… Stock id, quote, volume… Free comments…
Producer – State Observer in workflows  State observer Push:  Instrumentation points; Pull: Query the state
Producer – Code instrumentation
Producer – syndication
Producers –  video streams to events
Producer – sensors
Producer and consumer - Sixth sense
Twitter as a producer and consumer
Consumer - Performance monitoring dashboard
Consumer - Ambient Orb
Event Processing Agent Filter Transform Detect Pattern Translate Aggregate Split  Compose Enrich Project Event Processing Agents
The EPA picture
Filter EPA A filter EPA is an EPA that performs filtering only, and has no matching or derivation steps, so it does not transform the input event .
Transform EPA sub types
Sample of pattern types ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Pattern detection example  Pattern name:  Manual Assignment Preparation  Pattern Type: relative N highest  Context: Bid Interval Relevant event types: Delivery Bid Pattern parameter:  N = 5;  value = Ranking Cardinality: Single deferred   Find the five highest bids within the bid interval  Taken from  the Fast Flower Delivery use case
Why do we need policies - A simple example: heavy trading scenario ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Why defining patterns is not that easy?  Because we need to tune up the semantics
Pattern policies  Evaluation policy —This determines when the matching sets are produced Deferred  Cardinality policy —This determines how many matching sets are produced  within a single context partition Repeated type policy —This determines what happens if the matching step encounters multiple events of the same type Every - Override – First – Last – with max/min value of…
Pattern policies – cont. Consumption policy —This specifies what happens to a participant event  after it has been included in a  matching set Consume Reuse Bounded reuse Order policy —This specifies how temporal order is defined By occurrence time – by detection time – by stream position – by attribute
Our entire culture is context sensitive  ,[object Object],[object Object],[object Object],When hearing concert people are not talking,  eating, and keep their mobile phone on “silent”.
Context has three distinct roles (which may be combined)  Partition the incoming events  The events that relate to each customer are processed separately  Grouping events together  Different processing for Different context partitions Determining the processing  Grouping together events that happened in the same hour at the same location
Context Definition  A   context  is a named specification of conditions that groups event instances so that they can be processed in a related way. It assigns each event instance to one or more  context partitions . A context may have one or more context dimensions. Temporal Spatial State Oriented Segmentation Oriented
Context Types Examples Spatial State Oriented Temporal Context “ Every day between 08:00 and 10:00 AM” “ A week after borrowing a disk” “ A time window bounded by TradingDayStart and TradingDayEnd events” “ 3 miles from the traffic accident location” “ Within an authorized zone in a manufactory” “ All Children 2-5 years old” “ All platinum customers” “ Airport security level is red” “ Weather is stormy” Segmentation Oriented
Context Types Context Fixed location Entity distance location Event distance location Spatial State Oriented Fixed interval Event interval Sliding fixed interval Sliding event interval Temporal Segmentation Oriented
The present: State of the practice in event processing – languages, implementation issues, challenges in implementing event processing applications
An Observation The Babylon Tower symbolizes the tendency Of humanity  to talk in multiple languages. ,[object Object],[object Object],[object Object],[object Object],[object Object],The epts language analysis workgroup is aimed to understand the various styles And extract common functions that can be used to define what is an event  processing language; this tutorial is an interim report  It does not seem that we’ll succeed to settle In the near future around a single programming style
Existing  Styles for EP languages (samples)  Inference Rules State oriented Agent  Oriented Imperative/ Script Based RuleCore Oracle Aleri Streambase Esper EventZero TIBCO WBE Apama Spade AMiT Netcool Impact  *  -  if we add simple and mediated event processing the picture is even more diversified ECA Rules SQL  extension Coral8 Agent Logic Starview XChange EQ Prova
StreamBase Studio
StreamBase Pattern Matching
CCL Studio (Coral8    Sybase)
CCL – Pattern Matching ,[object Object],[object Object],Insert into  StreamAlerts  Select  StreamA.id  From  StreamA a, StreamB b, StreamC c, StreamD d  Matching  [10 seconds: a && b, c, !d]  On  a.id = b.id = c.id = d.id
Microsoft Streaminsights  var topfive = (from window in inputStream.Snapshot() from e in window orderby e.f ascending, e.i descending select e).Take(5); var avgCount = from v in inputStream group v by v.i % 4 into eachGroup from window in eachGroup.Snapshot() select new { avgNumber = window.Avg(e => e.number) };
Esper EPL  – FFD Example /* *  Not delivered up after 10 mins (600 secs) of the request target delivery time */ insert into AlertW(requestId, message, driver, timestamp) select  a.requestId, "not delivered", a.driver, current_timestamp() from pattern[ every a=Assignment    (timer:interval(600 + (a.deliveryTime-current_timestamp)/1000) and  not DeliveryConfirmation(requestId = a.requestId) and  not NoOneToReceiveMSG(requestId = a.requestId)) ];
ruleCore - Reakt ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Amit Terminology Situation Conditions Lifespan e5 e8 Initiator Terminator Event Selection Actions Operation Keys e1 e3 Input events Operator Joining Counting Temporal Absence Aggregation Notifications Messages Definition updates User plug-ins e2
Amit - Situation
IBM Websphere Business Events
Apama EPL – FFD Examples
Apama Simulation Studio – cont.
Non functional properties - scalability  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Scalability  is the capability of a system to adapt readily to a greater or lesser intensity of use, volume ,  or demand while still meeting its business objectives .
Non functional requirements - security ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Performance objectives
Optimizations Optimizations related to EPA assignment: partition, parallelism,  Distribution,  load balancing. Optimization related to the execution process:  scheduling, routing optimizations and load shedding  Optimizations related to the coding of specific EPAs: code optimization, state management.
Putting derived events in order
Ordering in a distributed environment  -  possible issues ,[object Object],Neither the occurrence time nor detection time can be trusted,  so the order of events cannot be accurately determined.
Solutions: ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Inexact event processing  ,[object Object],[object Object],[object Object],[object Object]
The future: Trends and research challenges
Trend I:  Going from narrow to wide  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Some recently reported applications (EPTS use-cases WG)  Source: ebizQ Event processing market pulse
Trend I: Going from narrow to wide  ,[object Object],Robotics Bio-Informatics Socio-technical systems Home Automation
Trend II: Going from monolithic to diversified  Variety of functions Variety of Quality of Service requirements: Variety of platforms  “ One size fits all” will not work –  Instead a collection of building blocks that can fit together
Trend III: Going from proprietary to  standard-based – standard directions  The current situation: Babylon tower: variety of languages, event representation…  Serves as enabler to achieving other trends and general maturity   The shift of vendors from start-up dominant to bigger companies makes the atmosphere more friendly towards standards.   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],PIM
Trend IV: Going from programmer centered to  semi-technical person centered Source: ebizQ Event processing market pulse
Trend V: Going from stand-alone to embedded ,[object Object],Business Activity Monitoring  Sensor Platform  Middleware and platforms
Trend VI:  Going from reactive to proactive
Emerging directions: Four directions to observe  Multiple platforms – same look and feel  The engineering of constructing EP applications Adding intelligence to Event processing  Tailor-made optimizations
Emerging direction I:  multiple platforms – same look and feel
Emerging direction II:  Tailor-made optimizations ,[object Object],[object Object],EPA EPA EPA EPA  Producer Producer EPA Consumer Consumer  Local optimizations Global  optimizations
Emerging direction III:  Event processing software engineering  Best practices  Methodologies Modeling & meta-modeling Design Patterns
Emerging direction IV:  Intelligent event processing Offline and continuous mining of meaningful patterns in event histories  Inexact event processing – handling inexact events and also false positives and false negatives  Causality – a key for proactive, but also vital for provenance
Summary  Event processing has emerged from multiple academic  disciplines  The state of the  Practice is the 1 st   generation of  products – mainly engineering based Going to the next phase – many  challenges that  require collaboration of research and industry Already attracted coverage of analysts and all major software vendors  The  Dagstuhl grand challenge

Contenu connexe

Similaire à Vldb 2010 event processing tutorial

FIWARE CEP GE introduction, ICT 2015
FIWARE CEP GE introduction, ICT 2015FIWARE CEP GE introduction, ICT 2015
FIWARE CEP GE introduction, ICT 2015ishkin
 
FIWARE Complex Event Processing
FIWARE Complex Event ProcessingFIWARE Complex Event Processing
FIWARE Complex Event ProcessingMiguel González
 
Proposed Event Processing Definitions ,September 20, 2006
Proposed Event Processing Definitions,September 20, 2006Proposed Event Processing Definitions,September 20, 2006
Proposed Event Processing Definitions ,September 20, 2006Tim Bass
 
Open Source Event Processing for Sensor Fusion Applications
Open Source Event Processing for Sensor Fusion ApplicationsOpen Source Event Processing for Sensor Fusion Applications
Open Source Event Processing for Sensor Fusion Applicationsguestc4ce526
 
Event-driven BPM the JBoss way
Event-driven BPM the JBoss wayEvent-driven BPM the JBoss way
Event-driven BPM the JBoss wayKris Verlaenen
 
A Deep Dive into Spring Application Events
A Deep Dive into Spring Application EventsA Deep Dive into Spring Application Events
A Deep Dive into Spring Application EventsVMware Tanzu
 
Debs 2011 tutorial on non functional properties of event processing
Debs 2011 tutorial  on non functional properties of event processingDebs 2011 tutorial  on non functional properties of event processing
Debs 2011 tutorial on non functional properties of event processingOpher Etzion
 
PATTERNS06 - The .NET Event Model
PATTERNS06 - The .NET Event ModelPATTERNS06 - The .NET Event Model
PATTERNS06 - The .NET Event ModelMichael Heron
 
Understanding “Event” in Event Data
Understanding “Event” in Event DataUnderstanding “Event” in Event Data
Understanding “Event” in Event DataNicole O'Malley
 
How Events Are Reshaping Modern Systems
How Events Are Reshaping Modern SystemsHow Events Are Reshaping Modern Systems
How Events Are Reshaping Modern SystemsC4Media
 
Design and Implementation of A Data Stream Management System
Design and Implementation of A Data Stream Management SystemDesign and Implementation of A Data Stream Management System
Design and Implementation of A Data Stream Management SystemErdi Olmezogullari
 
Perpetual Analytics - Health in Motion
Perpetual Analytics - Health in MotionPerpetual Analytics - Health in Motion
Perpetual Analytics - Health in Motionmrosenthal
 
Guido schmutz-jax2011-event-driven soa
Guido schmutz-jax2011-event-driven soaGuido schmutz-jax2011-event-driven soa
Guido schmutz-jax2011-event-driven soaGuido Schmutz
 
SOPRANO Ambient Middleware (AAL)
SOPRANO Ambient Middleware (AAL)SOPRANO Ambient Middleware (AAL)
SOPRANO Ambient Middleware (AAL)Andreas Schmidt
 
Event Driven Architecture (EDA), November 2, 2006
Event Driven Architecture (EDA), November 2, 2006Event Driven Architecture (EDA), November 2, 2006
Event Driven Architecture (EDA), November 2, 2006Tim Bass
 
discrete-event-simulation-190410063238.pptx
discrete-event-simulation-190410063238.pptxdiscrete-event-simulation-190410063238.pptx
discrete-event-simulation-190410063238.pptxubaidullah75790
 

Similaire à Vldb 2010 event processing tutorial (20)

FIWARE CEP GE introduction, ICT 2015
FIWARE CEP GE introduction, ICT 2015FIWARE CEP GE introduction, ICT 2015
FIWARE CEP GE introduction, ICT 2015
 
FIWARE Complex Event Processing
FIWARE Complex Event ProcessingFIWARE Complex Event Processing
FIWARE Complex Event Processing
 
FIWARE Complex Event Processing
FIWARE Complex Event ProcessingFIWARE Complex Event Processing
FIWARE Complex Event Processing
 
Proposed Event Processing Definitions ,September 20, 2006
Proposed Event Processing Definitions,September 20, 2006Proposed Event Processing Definitions,September 20, 2006
Proposed Event Processing Definitions ,September 20, 2006
 
Open Source Event Processing for Sensor Fusion Applications
Open Source Event Processing for Sensor Fusion ApplicationsOpen Source Event Processing for Sensor Fusion Applications
Open Source Event Processing for Sensor Fusion Applications
 
Event-driven BPM the JBoss way
Event-driven BPM the JBoss wayEvent-driven BPM the JBoss way
Event-driven BPM the JBoss way
 
A Deep Dive into Spring Application Events
A Deep Dive into Spring Application EventsA Deep Dive into Spring Application Events
A Deep Dive into Spring Application Events
 
Debs 2011 tutorial on non functional properties of event processing
Debs 2011 tutorial  on non functional properties of event processingDebs 2011 tutorial  on non functional properties of event processing
Debs 2011 tutorial on non functional properties of event processing
 
PATTERNS06 - The .NET Event Model
PATTERNS06 - The .NET Event ModelPATTERNS06 - The .NET Event Model
PATTERNS06 - The .NET Event Model
 
Understanding “Event” in Event Data
Understanding “Event” in Event DataUnderstanding “Event” in Event Data
Understanding “Event” in Event Data
 
How Events Are Reshaping Modern Systems
How Events Are Reshaping Modern SystemsHow Events Are Reshaping Modern Systems
How Events Are Reshaping Modern Systems
 
Design and Implementation of A Data Stream Management System
Design and Implementation of A Data Stream Management SystemDesign and Implementation of A Data Stream Management System
Design and Implementation of A Data Stream Management System
 
Reaction RuleML 1.0
Reaction RuleML 1.0Reaction RuleML 1.0
Reaction RuleML 1.0
 
Perpetual Analytics - Health in Motion
Perpetual Analytics - Health in MotionPerpetual Analytics - Health in Motion
Perpetual Analytics - Health in Motion
 
Guido schmutz-jax2011-event-driven soa
Guido schmutz-jax2011-event-driven soaGuido schmutz-jax2011-event-driven soa
Guido schmutz-jax2011-event-driven soa
 
SOPRANO Ambient Middleware (AAL)
SOPRANO Ambient Middleware (AAL)SOPRANO Ambient Middleware (AAL)
SOPRANO Ambient Middleware (AAL)
 
Event Driven Architecture (EDA), November 2, 2006
Event Driven Architecture (EDA), November 2, 2006Event Driven Architecture (EDA), November 2, 2006
Event Driven Architecture (EDA), November 2, 2006
 
discrete-event-simulation-190410063238.pptx
discrete-event-simulation-190410063238.pptxdiscrete-event-simulation-190410063238.pptx
discrete-event-simulation-190410063238.pptx
 
Discrete event-simulation
Discrete event-simulationDiscrete event-simulation
Discrete event-simulation
 
Event Processing For Dummies
Event Processing For DummiesEvent Processing For Dummies
Event Processing For Dummies
 

Plus de Opher Etzion

DEBS 2019 tutorial : correctness and consistency of event-based systems
DEBS 2019 tutorial  : correctness and consistency of event-based systems DEBS 2019 tutorial  : correctness and consistency of event-based systems
DEBS 2019 tutorial : correctness and consistency of event-based systems Opher Etzion
 
Sw architectures 2018 on microservices and eda
Sw architectures 2018    on microservices and edaSw architectures 2018    on microservices and eda
Sw architectures 2018 on microservices and edaOpher Etzion
 
ER 2017 tutorial - On Paradoxes, Autonomous Systems and dilemmas
ER 2017 tutorial - On Paradoxes, Autonomous Systems and dilemmasER 2017 tutorial - On Paradoxes, Autonomous Systems and dilemmas
ER 2017 tutorial - On Paradoxes, Autonomous Systems and dilemmasOpher Etzion
 
Event processing within the human body - Tutorial
Event processing within the human body - Tutorial Event processing within the human body - Tutorial
Event processing within the human body - Tutorial Opher Etzion
 
DEBS 2015 tutorial When Artificial Intelligence meets the Internet of Things
DEBS 2015 tutorial   When Artificial Intelligence meets the Internet of ThingsDEBS 2015 tutorial   When Artificial Intelligence meets the Internet of Things
DEBS 2015 tutorial When Artificial Intelligence meets the Internet of ThingsOpher Etzion
 
Has Internet of Things really happened?
Has Internet of Things really happened? Has Internet of Things really happened?
Has Internet of Things really happened? Opher Etzion
 
On the personalization of event-based systems
On the personalization of event-based systems On the personalization of event-based systems
On the personalization of event-based systems Opher Etzion
 
On Internet of Everything and Personalization. Talk in INTEROP 2014
On Internet of Everything and Personalization. Talk in INTEROP 2014On Internet of Everything and Personalization. Talk in INTEROP 2014
On Internet of Everything and Personalization. Talk in INTEROP 2014Opher Etzion
 
Introduction to the institute of technological empowerment
Introduction to the institute of technological empowermentIntroduction to the institute of technological empowerment
Introduction to the institute of technological empowermentOpher Etzion
 
DEBS 2014 tutorial on the Internet of Everything.
DEBS 2014 tutorial  on the Internet of Everything. DEBS 2014 tutorial  on the Internet of Everything.
DEBS 2014 tutorial on the Internet of Everything. Opher Etzion
 
The Internet of Things and some introduction to the Technological Empowerment...
The Internet of Things and some introduction to the Technological Empowerment...The Internet of Things and some introduction to the Technological Empowerment...
The Internet of Things and some introduction to the Technological Empowerment...Opher Etzion
 
ER 2013 tutorial: modeling the event driven world
ER 2013 tutorial:  modeling the event driven world ER 2013 tutorial:  modeling the event driven world
ER 2013 tutorial: modeling the event driven world Opher Etzion
 
Event semantics and model - multimedia events workshop
Event semantics and model -  multimedia events workshopEvent semantics and model -  multimedia events workshop
Event semantics and model - multimedia events workshopOpher Etzion
 
Debs 2013 tutorial : Why is event-driven thinking different from traditional ...
Debs 2013 tutorial : Why is event-driven thinking different from traditional ...Debs 2013 tutorial : Why is event-driven thinking different from traditional ...
Debs 2013 tutorial : Why is event-driven thinking different from traditional ...Opher Etzion
 
Debs 2012 gong show immortality
Debs 2012 gong show immortalityDebs 2012 gong show immortality
Debs 2012 gong show immortalityOpher Etzion
 
Debs 2012 basic proactive
Debs 2012 basic proactiveDebs 2012 basic proactive
Debs 2012 basic proactiveOpher Etzion
 
Debs 2012 uncertainty tutorial
Debs 2012 uncertainty tutorialDebs 2012 uncertainty tutorial
Debs 2012 uncertainty tutorialOpher Etzion
 
Proactive eth talk
Proactive eth talkProactive eth talk
Proactive eth talkOpher Etzion
 
Debs 2011 pattern rewritingforeventprocessingoptimization
Debs 2011  pattern rewritingforeventprocessingoptimizationDebs 2011  pattern rewritingforeventprocessingoptimization
Debs 2011 pattern rewritingforeventprocessingoptimizationOpher Etzion
 

Plus de Opher Etzion (20)

DEBS 2019 tutorial : correctness and consistency of event-based systems
DEBS 2019 tutorial  : correctness and consistency of event-based systems DEBS 2019 tutorial  : correctness and consistency of event-based systems
DEBS 2019 tutorial : correctness and consistency of event-based systems
 
Sw architectures 2018 on microservices and eda
Sw architectures 2018    on microservices and edaSw architectures 2018    on microservices and eda
Sw architectures 2018 on microservices and eda
 
ER 2017 tutorial - On Paradoxes, Autonomous Systems and dilemmas
ER 2017 tutorial - On Paradoxes, Autonomous Systems and dilemmasER 2017 tutorial - On Paradoxes, Autonomous Systems and dilemmas
ER 2017 tutorial - On Paradoxes, Autonomous Systems and dilemmas
 
Event processing within the human body - Tutorial
Event processing within the human body - Tutorial Event processing within the human body - Tutorial
Event processing within the human body - Tutorial
 
DEBS 2015 tutorial When Artificial Intelligence meets the Internet of Things
DEBS 2015 tutorial   When Artificial Intelligence meets the Internet of ThingsDEBS 2015 tutorial   When Artificial Intelligence meets the Internet of Things
DEBS 2015 tutorial When Artificial Intelligence meets the Internet of Things
 
Dynamic stories
Dynamic storiesDynamic stories
Dynamic stories
 
Has Internet of Things really happened?
Has Internet of Things really happened? Has Internet of Things really happened?
Has Internet of Things really happened?
 
On the personalization of event-based systems
On the personalization of event-based systems On the personalization of event-based systems
On the personalization of event-based systems
 
On Internet of Everything and Personalization. Talk in INTEROP 2014
On Internet of Everything and Personalization. Talk in INTEROP 2014On Internet of Everything and Personalization. Talk in INTEROP 2014
On Internet of Everything and Personalization. Talk in INTEROP 2014
 
Introduction to the institute of technological empowerment
Introduction to the institute of technological empowermentIntroduction to the institute of technological empowerment
Introduction to the institute of technological empowerment
 
DEBS 2014 tutorial on the Internet of Everything.
DEBS 2014 tutorial  on the Internet of Everything. DEBS 2014 tutorial  on the Internet of Everything.
DEBS 2014 tutorial on the Internet of Everything.
 
The Internet of Things and some introduction to the Technological Empowerment...
The Internet of Things and some introduction to the Technological Empowerment...The Internet of Things and some introduction to the Technological Empowerment...
The Internet of Things and some introduction to the Technological Empowerment...
 
ER 2013 tutorial: modeling the event driven world
ER 2013 tutorial:  modeling the event driven world ER 2013 tutorial:  modeling the event driven world
ER 2013 tutorial: modeling the event driven world
 
Event semantics and model - multimedia events workshop
Event semantics and model -  multimedia events workshopEvent semantics and model -  multimedia events workshop
Event semantics and model - multimedia events workshop
 
Debs 2013 tutorial : Why is event-driven thinking different from traditional ...
Debs 2013 tutorial : Why is event-driven thinking different from traditional ...Debs 2013 tutorial : Why is event-driven thinking different from traditional ...
Debs 2013 tutorial : Why is event-driven thinking different from traditional ...
 
Debs 2012 gong show immortality
Debs 2012 gong show immortalityDebs 2012 gong show immortality
Debs 2012 gong show immortality
 
Debs 2012 basic proactive
Debs 2012 basic proactiveDebs 2012 basic proactive
Debs 2012 basic proactive
 
Debs 2012 uncertainty tutorial
Debs 2012 uncertainty tutorialDebs 2012 uncertainty tutorial
Debs 2012 uncertainty tutorial
 
Proactive eth talk
Proactive eth talkProactive eth talk
Proactive eth talk
 
Debs 2011 pattern rewritingforeventprocessingoptimization
Debs 2011  pattern rewritingforeventprocessingoptimizationDebs 2011  pattern rewritingforeventprocessingoptimization
Debs 2011 pattern rewritingforeventprocessingoptimization
 

Vldb 2010 event processing tutorial

  • 1. Event processing – past, present, future VLDB 2010 Tutorial, Singapore, September 15 th , 2010 Opher Etzion (opher@il.ibm.com)
  • 2. An example to kick-off this tutorial: Act: Passenger has been re-routed to another destination – send the luggage Act: Bag has reached to the wrong aircraft Notify: Bag has been checked but did not reach the ULD within 20 minutes Notify: Bag has been checked but did not reach the connecting flight THE LUGGAGE PERSPECTIVE: Across the 24 largest airlines more than 5.6 million bags went missing in 2006, this is an average of 15.7 bags per 1,000 travelers. 15% of the bags are never found. BBC News, April 4, 2007 Event processing can help here..
  • 3. Outline of this tutorial What is behind event processing ? How is it related to other computing terms? Where are its roots? Event processing – architecture, building blocks The present: State of the practice in event processing – languages, implementation issues, challenges in implementing event processing applications The future: Trends and research challenges
  • 4. What is behind event processing ? How is it related to other computing terms? Where are its roots?
  • 5. What is “event processing” anyway? or Event processing is a form of computing that performs operations on events
  • 6. Event processing and Data stream management? Aliases? One of them subset of the other? Totally unrelated concepts?
  • 7. In computing we processed events since early days Network and System Management
  • 8. Emerging technologies in enterprise computing (Gartner Hype Cycle, Summer 2009)
  • 9. What’s new? The analog: moving from files to DBMS In recent years – architectures, abstractions, and dedicated commercial products emerge to support functionality that was traditionally carried out within regular programming. For some applications it is an improvement in TCO; for others is breaking the cost-effectiveness barrier.
  • 10. What is an event There are various definitions of events Event is an occurrence within a particular system or domain; the word event has double meaning: the real-world Occurrence as well as its computerized representation
  • 11. In daily life we often react to events..
  • 12. Sometime we even react to the occurrence of multiple events I closed the deal with the Canadians We closed two huge deals in a single day, It is a good opportunity to send all the team to Some fun time in Singapore I closed the deal with the Australians
  • 13. Event Patterns Pattern detection is one of the notable functions of event processing
  • 14. What we actually want to react to are – situations TOLL VILOATOR FRUSTRATED CUSTOMER Sometimes the situation is determined by detecting that some pattern occurred in the Flowing events. Toll violation Frustrated customer Sometimes the events can approximate or indicate with some certainty that the situation has occurred
  • 15. Event processing is being used for various reasons
  • 16. Event Driven Architecture Event driven architecture: asynchronous, decoupled; each component is autonomic.
  • 17. Ancestor: active databases On event When condition Do action With coupling mode Composite events were inherited to event processing
  • 18. Ancestor: Data Stream management system Source: Ankur Jain’s website
  • 19. Ancestor: Temporal databases There is a substantial temporal nature to event processing. Recently – also spatial and spatio-temporal functions are being added
  • 20. Ancestor: Messaging – pub/sub middleware
  • 22. Ancestor: Network and system management
  • 23. Event processing – architecture, building blocks
  • 24. Fast Flower Delivery Flower Store Van Driver Ranking and Reporting System Bid Request Delivery Bid Assignments, Bid alerts, Assign Alerts Control System GPS Location Location Service Location Driver’s Guild Ranking and reports Delivery confirmation Pick Up confirmation Ranked drivers / automatic assignment Bid System Store Preferences Delivery Request Assignment System Manual Assignment Assignment Assignments, Pick Up Alert Delivery Alert http://www.ep-ts.com/EventProcessingInAction
  • 25. Event Processing Agent Context Event Channel Event Consumer Event Type Event Producer Global State The seven Building blocks
  • 27. Example of EPN – part of the FFD example
  • 28. Event type definition Detection time, Occurrence time, source, Certainty… Stock id, quote, volume… Free comments…
  • 29. Producer – State Observer in workflows State observer Push: Instrumentation points; Pull: Query the state
  • 30. Producer – Code instrumentation
  • 32. Producers – video streams to events
  • 34. Producer and consumer - Sixth sense
  • 35. Twitter as a producer and consumer
  • 36. Consumer - Performance monitoring dashboard
  • 38. Event Processing Agent Filter Transform Detect Pattern Translate Aggregate Split Compose Enrich Project Event Processing Agents
  • 40. Filter EPA A filter EPA is an EPA that performs filtering only, and has no matching or derivation steps, so it does not transform the input event .
  • 42.
  • 43. Pattern detection example Pattern name: Manual Assignment Preparation Pattern Type: relative N highest Context: Bid Interval Relevant event types: Delivery Bid Pattern parameter: N = 5; value = Ranking Cardinality: Single deferred Find the five highest bids within the bid interval Taken from the Fast Flower Delivery use case
  • 44.
  • 45. Pattern policies Evaluation policy —This determines when the matching sets are produced Deferred Cardinality policy —This determines how many matching sets are produced within a single context partition Repeated type policy —This determines what happens if the matching step encounters multiple events of the same type Every - Override – First – Last – with max/min value of…
  • 46. Pattern policies – cont. Consumption policy —This specifies what happens to a participant event after it has been included in a matching set Consume Reuse Bounded reuse Order policy —This specifies how temporal order is defined By occurrence time – by detection time – by stream position – by attribute
  • 47.
  • 48. Context has three distinct roles (which may be combined) Partition the incoming events The events that relate to each customer are processed separately Grouping events together Different processing for Different context partitions Determining the processing Grouping together events that happened in the same hour at the same location
  • 49. Context Definition A context is a named specification of conditions that groups event instances so that they can be processed in a related way. It assigns each event instance to one or more context partitions . A context may have one or more context dimensions. Temporal Spatial State Oriented Segmentation Oriented
  • 50. Context Types Examples Spatial State Oriented Temporal Context “ Every day between 08:00 and 10:00 AM” “ A week after borrowing a disk” “ A time window bounded by TradingDayStart and TradingDayEnd events” “ 3 miles from the traffic accident location” “ Within an authorized zone in a manufactory” “ All Children 2-5 years old” “ All platinum customers” “ Airport security level is red” “ Weather is stormy” Segmentation Oriented
  • 51. Context Types Context Fixed location Entity distance location Event distance location Spatial State Oriented Fixed interval Event interval Sliding fixed interval Sliding event interval Temporal Segmentation Oriented
  • 52. The present: State of the practice in event processing – languages, implementation issues, challenges in implementing event processing applications
  • 53.
  • 54. Existing Styles for EP languages (samples) Inference Rules State oriented Agent Oriented Imperative/ Script Based RuleCore Oracle Aleri Streambase Esper EventZero TIBCO WBE Apama Spade AMiT Netcool Impact * - if we add simple and mediated event processing the picture is even more diversified ECA Rules SQL extension Coral8 Agent Logic Starview XChange EQ Prova
  • 57. CCL Studio (Coral8  Sybase)
  • 58.
  • 59. Microsoft Streaminsights var topfive = (from window in inputStream.Snapshot() from e in window orderby e.f ascending, e.i descending select e).Take(5); var avgCount = from v in inputStream group v by v.i % 4 into eachGroup from window in eachGroup.Snapshot() select new { avgNumber = window.Avg(e => e.number) };
  • 60. Esper EPL – FFD Example /* * Not delivered up after 10 mins (600 secs) of the request target delivery time */ insert into AlertW(requestId, message, driver, timestamp) select a.requestId, "not delivered", a.driver, current_timestamp() from pattern[ every a=Assignment  (timer:interval(600 + (a.deliveryTime-current_timestamp)/1000) and not DeliveryConfirmation(requestId = a.requestId) and not NoOneToReceiveMSG(requestId = a.requestId)) ];
  • 61.
  • 62. Amit Terminology Situation Conditions Lifespan e5 e8 Initiator Terminator Event Selection Actions Operation Keys e1 e3 Input events Operator Joining Counting Temporal Absence Aggregation Notifications Messages Definition updates User plug-ins e2
  • 65. Apama EPL – FFD Examples
  • 67.
  • 68.
  • 70. Optimizations Optimizations related to EPA assignment: partition, parallelism, Distribution, load balancing. Optimization related to the execution process: scheduling, routing optimizations and load shedding Optimizations related to the coding of specific EPAs: code optimization, state management.
  • 72.
  • 73.
  • 74.
  • 75. The future: Trends and research challenges
  • 76.
  • 77.
  • 78. Trend II: Going from monolithic to diversified Variety of functions Variety of Quality of Service requirements: Variety of platforms “ One size fits all” will not work – Instead a collection of building blocks that can fit together
  • 79.
  • 80. Trend IV: Going from programmer centered to semi-technical person centered Source: ebizQ Event processing market pulse
  • 81.
  • 82. Trend VI: Going from reactive to proactive
  • 83. Emerging directions: Four directions to observe Multiple platforms – same look and feel The engineering of constructing EP applications Adding intelligence to Event processing Tailor-made optimizations
  • 84. Emerging direction I: multiple platforms – same look and feel
  • 85.
  • 86. Emerging direction III: Event processing software engineering Best practices Methodologies Modeling & meta-modeling Design Patterns
  • 87. Emerging direction IV: Intelligent event processing Offline and continuous mining of meaningful patterns in event histories Inexact event processing – handling inexact events and also false positives and false negatives Causality – a key for proactive, but also vital for provenance
  • 88. Summary Event processing has emerged from multiple academic disciplines The state of the Practice is the 1 st generation of products – mainly engineering based Going to the next phase – many challenges that require collaboration of research and industry Already attracted coverage of analysts and all major software vendors The Dagstuhl grand challenge