Event processing – past, present, future VLDB 2010 Tutorial,  Singapore, September 15 th , 2010  Opher Etzion (opher@il.ib...
An example to kick-off this tutorial:  Act:  Passenger has been re-routed to another destination – send the luggage  Act: ...
Outline of this tutorial  What is behind event processing ?  How is it related to other computing terms? Where are its roo...
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  commercia...
What is an event  There are various definitions of events Event is an occurrence within a particular system or domain; the...
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 ...
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  determ...
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...
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  s...
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 a...
Event Processing Agent Context  Event Channel Event Consumer Event Type Event Producer Global State  The seven  Building b...
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 ...
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 tr...
Transform EPA sub types
Sample of pattern types <ul><li>all  pattern is satisfied when the relevant event set contains at least one instance of ea...
Pattern detection example  Pattern name:  Manual Assignment Preparation  Pattern Type: relative N highest  Context: Bid In...
Why do we need policies - A simple example: heavy trading scenario <ul><li>Given:  </li></ul><ul><ul><li>A stream of event...
Pattern policies  Evaluation policy —This determines when the matching sets are produced Deferred  Cardinality policy —Thi...
Pattern policies – cont. Consumption policy —This specifies what happens to a participant event  after it has been include...
Our entire culture is context sensitive  <ul><li>In the play “The Tea house of the August Moon” one of the characters says...
Context has three distinct roles (which may be combined)  Partition the incoming events  The events that relate to each cu...
Context Definition  A   context  is a named specification of conditions that groups event instances so that they can be pr...
Context Types Examples Spatial State Oriented Temporal Context “ Every day between 08:00 and 10:00 AM” “ A week after borr...
Context Types Context Fixed location Entity distance location Event distance location Spatial State Oriented Fixed interva...
The present: State of the practice in event processing – languages, implementation issues, challenges in implementing even...
An Observation The Babylon Tower symbolizes the tendency Of humanity  to talk in multiple languages. <ul><li>The Event Pro...
Existing  Styles for EP languages (samples)  Inference Rules State oriented Agent  Oriented Imperative/ Script Based RuleC...
StreamBase Studio
StreamBase Pattern Matching
CCL Studio (Coral8    Sybase)
CCL – Pattern Matching <ul><li>RFID monitoring application  </li></ul><ul><ul><li>Checks if a tag has been seen by readers...
Microsoft Streaminsights  var topfive = (from window in inputStream.Snapshot() from e in window orderby e.f ascending, e.i...
Esper EPL  – FFD Example /* *  Not delivered up after 10 mins (600 secs) of the request target delivery time */ insert int...
ruleCore - Reakt <ul><li>Event stream view  - a unique context of events </li></ul><ul><ul><li>a view contains a window in...
Amit Terminology Situation Conditions Lifespan e5 e8 Initiator Terminator Event Selection Actions Operation Keys e1 e3 Inp...
Amit - Situation
IBM Websphere Business Events
Apama EPL – FFD Examples
Apama Simulation Studio – cont.
Non functional properties - scalability  <ul><ul><li>scalability in the volume of processed events   </li></ul></ul><ul><u...
Non functional requirements - security <ul><li>Ensuring only authorized parties are allowed to be event producers of event...
Performance objectives
Optimizations Optimizations related to EPA assignment: partition, parallelism,  Distribution,  load balancing. Optimizatio...
Putting derived events in order
Ordering in a distributed environment  -  possible issues <ul><li>The occurrence time of an event is accurate, but the eve...
Solutions: <ul><li>Buffering techniques:  </li></ul><ul><li>Assumptions: </li></ul><ul><ul><li>Events are reported by the ...
Inexact event processing  <ul><li>uncertainty whether an event actually occurred  </li></ul><ul><li>Uncertainty when exact...
The future: Trends and research challenges
Trend I:  Going from narrow to wide  <ul><li>Border security radiation detection  </li></ul><ul><li>Mobile asset geofence ...
Trend I: Going from narrow to wide  <ul><li>Taking event processing outside enterprise computing: </li></ul>Robotics Bio-I...
Trend II: Going from monolithic to diversified  Variety of functions Variety of Quality of Service requirements: Variety o...
Trend III: Going from proprietary to  standard-based – standard directions  The current situation: Babylon tower: variety ...
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 <ul><li>Packaged applications </li></ul>Business Activity Monitoring  Sensor P...
Trend VI:  Going from reactive to proactive
Emerging directions: Four directions to observe  Multiple platforms – same look and feel  The engineering of constructing ...
Emerging direction I:  multiple platforms – same look and feel
Emerging direction II:  Tailor-made optimizations <ul><li>Local optimizations:  each EPA will be optimized for its own pur...
Emerging direction III:  Event processing software engineering  Best practices  Methodologies Modeling & meta-modeling Des...
Emerging direction IV:  Intelligent event processing Offline and continuous mining of meaningful patterns in event histori...
Summary  Event processing has emerged from multiple academic  disciplines  The state of the  Practice is the 1 st   genera...
Upcoming SlideShare
Loading in...5
×

Vldb 2010 event processing tutorial

2,699

Published on

VLDB 2010 tutorial - "event processing - past present and future". Singapore, September 15, 2010

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,699
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
197
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Vldb 2010 event processing tutorial

  1. 1. Event processing – past, present, future VLDB 2010 Tutorial, Singapore, September 15 th , 2010 Opher Etzion (opher@il.ibm.com)
  2. 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. 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. 4. What is behind event processing ? How is it related to other computing terms? Where are its roots?
  5. 5. What is “event processing” anyway? or Event processing is a form of computing that performs operations on events
  6. 6. Event processing and Data stream management? Aliases? One of them subset of the other? Totally unrelated concepts?
  7. 7. In computing we processed events since early days Network and System Management
  8. 8. Emerging technologies in enterprise computing (Gartner Hype Cycle, Summer 2009)
  9. 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. 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. 11. In daily life we often react to events..
  12. 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. 13. Event Patterns Pattern detection is one of the notable functions of event processing
  14. 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. 15. Event processing is being used for various reasons
  16. 16. Event Driven Architecture Event driven architecture: asynchronous, decoupled; each component is autonomic.
  17. 17. Ancestor: active databases On event When condition Do action With coupling mode Composite events were inherited to event processing
  18. 18. Ancestor: Data Stream management system Source: Ankur Jain’s website
  19. 19. Ancestor: Temporal databases There is a substantial temporal nature to event processing. Recently – also spatial and spatio-temporal functions are being added
  20. 20. Ancestor: Messaging – pub/sub middleware
  21. 21. Ancestor: Discrete event simulation
  22. 22. Ancestor: Network and system management
  23. 23. Event processing – architecture, building blocks
  24. 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. 25. Event Processing Agent Context Event Channel Event Consumer Event Type Event Producer Global State The seven Building blocks
  26. 26. Event processing network
  27. 27. Example of EPN – part of the FFD example
  28. 28. Event type definition Detection time, Occurrence time, source, Certainty… Stock id, quote, volume… Free comments…
  29. 29. Producer – State Observer in workflows State observer Push: Instrumentation points; Pull: Query the state
  30. 30. Producer – Code instrumentation
  31. 31. Producer – syndication
  32. 32. Producers – video streams to events
  33. 33. Producer – sensors
  34. 34. Producer and consumer - Sixth sense
  35. 35. Twitter as a producer and consumer
  36. 36. Consumer - Performance monitoring dashboard
  37. 37. Consumer - Ambient Orb
  38. 38. Event Processing Agent Filter Transform Detect Pattern Translate Aggregate Split Compose Enrich Project Event Processing Agents
  39. 39. The EPA picture
  40. 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 .
  41. 41. Transform EPA sub types
  42. 42. Sample of pattern types <ul><li>all pattern is satisfied when the relevant event set contains at least one instance of each event type in the participant set </li></ul><ul><li>any pattern is satisfied if the relevant event set contains an instance of any of the event types in the participant set </li></ul><ul><li>absence pattern is satisfied when there are no relevant events </li></ul><ul><li>relative N highest values pattern is satisfied by the events which have the N highest value of a specific attribute over all the relevant events, where N is an argument </li></ul><ul><li>value average pattern is satisfied when the value of a specific attribute, averaged over all the relevant events, satisfies the value average threshold assertion. </li></ul><ul><li>always pattern is satisfied when all the relevant events satisfy the always pattern assertion </li></ul><ul><li>sequence pattern is satisfied when the relevant event set contains at least one event instance for each event type in the participant set, and the order of the event instances is identical to the order of the event types in the participant set. </li></ul><ul><li>increasing pattern is satisfied by an attribute A if for all the relevant events, e1 << e2  e1.A < e2.A </li></ul><ul><li>relative max distance pattern is satisfied when the maximal distance between any two relevant events satisfies the max threshold assertion </li></ul><ul><li>moving toward pattern is satisfied when for any pair of relevant events e1, e2 we have e1 << e2  the location of e2 is closer to a certain object then the location of e1. </li></ul>
  43. 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. 44. Why do we need policies - A simple example: heavy trading scenario <ul><li>Given: </li></ul><ul><ul><li>A stream of events of a single topic, about the activity in the stock market for a certain stock. </li></ul></ul><ul><ul><li>An event is produced every 10 minutes when there is trade in the stock. </li></ul></ul><ul><ul><li>Each event consists of: quote (current stock-quote), volume (an accumulated volume of traded events within these 10 minutes). </li></ul></ul><ul><ul><li>The pattern based action is: trigger an automatic trade program if the volume exceeds 300,000 3 times within an hour; pass as an argument the last quote and the sum of the 3 volume values. </li></ul></ul><ul><li>How many times the trade programming is triggered ; </li></ul><ul><li>Which arguments are used in each triggering? </li></ul>Why defining patterns is not that easy? Because we need to tune up the semantics
  45. 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. 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. 47. Our entire culture is context sensitive <ul><li>In the play “The Tea house of the August Moon” one of the characters says: Pornography question of geography </li></ul><ul><li>This says that in different geographical contexts people view things differently </li></ul><ul><li>Furthermore, the syntax of the language (no verbs) is typical to the way that the people of Okinawa are talking </li></ul>When hearing concert people are not talking, eating, and keep their mobile phone on “silent”.
  48. 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. 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. 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. 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. 52. The present: State of the practice in event processing – languages, implementation issues, challenges in implementing event processing applications
  53. 53. An Observation The Babylon Tower symbolizes the tendency Of humanity to talk in multiple languages. <ul><li>The Event Processing area is no different: most languages in the industry really follow </li></ul><ul><li>the hammer and nails syndrome – and extended existing approaches </li></ul><ul><li>imperative script language </li></ul><ul><li>SQL extensions </li></ul><ul><li>Extension of inference rule language </li></ul>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
  54. 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
  55. 55. StreamBase Studio
  56. 56. StreamBase Pattern Matching
  57. 57. CCL Studio (Coral8  Sybase)
  58. 58. CCL – Pattern Matching <ul><li>RFID monitoring application </li></ul><ul><ul><li>Checks if a tag has been seen by readers A and B, then C, but not D, within a 10 second window. </li></ul></ul>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
  59. 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. 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, &quot;not delivered&quot;, 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. 61. ruleCore - Reakt <ul><li>Event stream view - a unique context of events </li></ul><ul><ul><li>a view contains a window into the inbound stream of events and contains commonly only semantically related events </li></ul></ul><ul><li>Situation - an interesting combination of multiple events as they occur over time </li></ul><ul><ul><li>An item with an RFID tag being picked up from the shelf and then moving past the checkout without being paid for </li></ul></ul><ul><li>Rule - an active event processing entity reacting to specific combinations of inbound events over time </li></ul><ul><li>Action - the last part of a rule's evaluation in response to a detected situation </li></ul>
  62. 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
  63. 63. Amit - Situation
  64. 64. IBM Websphere Business Events
  65. 65. Apama EPL – FFD Examples
  66. 66. Apama Simulation Studio – cont.
  67. 67. Non functional properties - scalability <ul><ul><li>scalability in the volume of processed events </li></ul></ul><ul><ul><li>Scalability in the quantity of agents </li></ul></ul><ul><ul><li>Scalability in the quantity of producers </li></ul></ul><ul><ul><li>scalability in the quantity of consumers </li></ul></ul><ul><ul><li>scalability in the quantity of context partitions </li></ul></ul><ul><ul><li>Scalability in context state size </li></ul></ul><ul><ul><li>Scalability in the complexity of computation </li></ul></ul><ul><ul><li>scalability in the processor environment </li></ul></ul>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 .
  68. 68. Non functional requirements - security <ul><li>Ensuring only authorized parties are allowed to be event producers of event consumers </li></ul><ul><li>Ensuring that incoming events are filtered so that authorized producers cannot introduce invalid events, or events that they are not entitled to publish </li></ul><ul><li>Ensuring that consumers only receive information to which they are entitled. In some cases a consumer might be entitled to see some of the attributes of an event but not others. </li></ul><ul><li>Ensuring that unauthorized parties cannot add new EPAs to the system, or make modifications to the EPN itself (in systems where dynamic EPN modification is supported) </li></ul><ul><li>Keeping auditable logs of events received and processed, or other activities performed by the system. </li></ul><ul><li>Ensuring that all databases and data communications links used by the system are secure. </li></ul>
  69. 69. Performance objectives
  70. 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.
  71. 71. Putting derived events in order
  72. 72. Ordering in a distributed environment - possible issues <ul><li>The occurrence time of an event is accurate, but the event arrives out-of-order and processing that should have included the event might already been executed. </li></ul>Neither the occurrence time nor detection time can be trusted, so the order of events cannot be accurately determined.
  73. 73. Solutions: <ul><li>Buffering techniques: </li></ul><ul><li>Assumptions: </li></ul><ul><ul><li>Events are reported by the producers as soon as they occur; </li></ul></ul><ul><ul><li>The delay in reporting events to the system is relatively small, and can be bounded by a time-out offset; </li></ul></ul><ul><ul><li>Events arriving after this time-out can be ignored. </li></ul></ul><ul><li>Principles: </li></ul><ul><ul><li>Let  be the time-out offset, according to the assumption it is safe to assume that at any time-point t, all events whose occurrence time is earlier than t -  have already arrived. </li></ul></ul><ul><ul><li>Each event whose occurrence time is To is then kept in the buffer until To+  , at which time the buffer can be sorted by occurrence time, and then events can be processed in this sorted order. </li></ul></ul><ul><li>Retrospective compensation: </li></ul><ul><li>Find out all EPAs that have already sent derived events which would have been affected by the &quot;out-of-order&quot; event if it had arrived at the right time. </li></ul><ul><li>Retract all the derived events that should not have been emitted in their current form. </li></ul><ul><li>Replay the original events with the late one inserted in its correct place in the sequence so that the correct derived events are generated. </li></ul>
  74. 74. Inexact event processing <ul><li>uncertainty whether an event actually occurred </li></ul><ul><li>Uncertainty when exactly the event happened </li></ul><ul><li>inexact content in the event payload </li></ul><ul><li>inexact matching between derived events and the situations they purport to describe </li></ul>
  75. 75. The future: Trends and research challenges
  76. 76. Trend I: Going from narrow to wide <ul><li>Border security radiation detection </li></ul><ul><li>Mobile asset geofence </li></ul><ul><li>Logistic and scheduling </li></ul><ul><li>Unauthorized use of heavy machinery </li></ul><ul><li>Hospital patient and asset tracking </li></ul><ul><li>Activity monitoring for taxing and fraud detection </li></ul><ul><li>Intelligent CRM in banking </li></ul><ul><li>EDA and asynchronous BPM in retail </li></ul><ul><li>Situation awareness in energy utilities </li></ul><ul><li>Situation awareness in airlines </li></ul><ul><li>Reduce cost in injection therapy </li></ul><ul><li>Next generation navigation </li></ul><ul><li>Real-time management of hazardous materials </li></ul><ul><li>Finding anomalies in point of sales in retail stores </li></ul><ul><li>Elderly behavior monitoring </li></ul>Some recently reported applications (EPTS use-cases WG) Source: ebizQ Event processing market pulse
  77. 77. Trend I: Going from narrow to wide <ul><li>Taking event processing outside enterprise computing: </li></ul>Robotics Bio-Informatics Socio-technical systems Home Automation
  78. 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. 79. 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. <ul><li>Areas for </li></ul><ul><li>Standards: </li></ul><ul><li>Modeling </li></ul><ul><li>Event representation </li></ul><ul><li>Interoperability </li></ul><ul><li>Languages </li></ul>PIM
  80. 80. Trend IV: Going from programmer centered to semi-technical person centered Source: ebizQ Event processing market pulse
  81. 81. Trend V: Going from stand-alone to embedded <ul><li>Packaged applications </li></ul>Business Activity Monitoring Sensor Platform Middleware and platforms
  82. 82. Trend VI: Going from reactive to proactive
  83. 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. 84. Emerging direction I: multiple platforms – same look and feel
  85. 85. Emerging direction II: Tailor-made optimizations <ul><li>Local optimizations: each EPA will be optimized for its own purpose / assumptions / QoS indicators – average/worst case latency, input/output throughput … </li></ul><ul><li>Global optimization: scheduling, load balancing, assignment… </li></ul>EPA EPA EPA EPA Producer Producer EPA Consumer Consumer Local optimizations Global optimizations
  86. 86. Emerging direction III: Event processing software engineering Best practices Methodologies Modeling & meta-modeling Design Patterns
  87. 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. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×