SlideShare a Scribd company logo
1 of 90
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
Event processing – past, present, future
VLDB 2010 Tutorial,
Singapore, September 15th, 2010
Opher Etzion (opher@il.ibm.com)
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
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..
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
3
Another example: premature baby monitoring
Patient is hooked up to multiple
monitors (in hospital or at
home) - the physician can set
up event- based rules on
multiple measurements and
patient’s history when to send
an alert and to whom:
Defined
Pattern
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
4
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
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
5
What is behind event processing ? How is it
related to other computing terms? Where are its
roots?
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
6
What is “event processing” anyway?
or
Event processing is a form of computing that
performs operations on events
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
7
In computing we ptocessed events since early days
Network and
System
Management
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
8
Emerging technologies in enterprise computing
(Gartner Hype Cycle, Summer 2009)
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
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.
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
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
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
11
In daily life we often react to events..
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
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
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
13
Event
Patterns
Pattern detection is one of the notable functions of
event processing
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
14
What we actually want to react to are – situation
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
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
15
Event processing is being used for various
reasons
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
16
Event Driven Architecture
Event driven architecture: asynchronous, decoupled; each
component is autonomic.
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
17
Ancestor: active databases
On event
When condition
Do action
With coupling mode
Composite
events were
inherited to
event
processing
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
18
Ancestor: Data Stream management system
Source: Ankur Jain’s website
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
19
Ancestor: Temporal databases
There is a substantial temporal
nature to event processing.
Recently – also spatial and
spatio-temporal functions are
being added
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
20
Ancestor: Messaging – pub/sub middleware
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
21
Ancestor: Discrete event simulation
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
22
Ancestor: Network and system management
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
23
Event processing – architecture, building blocks
24
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
Fast Flower Delivery
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
25
Event processing network
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
26
Example of EPN – part of the FFD example
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
27
Event Processing Agent
Context
Event
Channel
Event
Consumer
Event
Type
Event
Producer
Global
State
The seven
Building blocks
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
28
Event type definition
Header Payload Open content
System defined event
attributes
Attributes specific to the
event type
Additional free format
data included in the
event instance
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
29
Producer – State Observer in workflows
State observer
Push:
Instrumentation points;
Pull:
Query the state
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
30
Producer – Code instrumentation
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
31
Producer – syndication
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
32
Producers – streams to events
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
33
Producer – sensors
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
34
Consumer - Performance monitoring dashboard
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
35
Consumer - Ambient Orb
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
36
Producer and consumer - Sixth sense
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
37
Twitter as a consumer
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
38
Event Processing Agent
Filter Transform Detect Pattern
Translate Aggregate Split Compose
Enrich Project
Event Processing Agents
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
39
The EPA picture
Output
Not selected
Instance
selection
Context
expression
Pattern detect EPA
Relevance
filtering
Input terminal
filter expression
Relevant event types
Derivation
Derivation
expression
Matching
Pattern signature:
Pattern type
Pattern parameters
Relevant event types
Pattern policies
Pattern
matching set
Participant
events
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
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.
Filtering
Filter EPA
Filtered Out
Filtered In
Non-Filterable
Principal filter
expression
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
41
Transform EPA sub types
Translate Compose
Aggregate Enrich
Split
Project
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
42
Sample of pattern types
all pattern is satisfied when the relevant
event set contains at least one instance of
each event type in the participant set
any pattern is satisfied if the relevant event
set contains an instance of any of the event
types in the participant set
 absence pattern is satisfied when there are
no relevant events
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
 value average pattern is satisfied when the
value of a specific attribute, averaged over all
the relevant events, satisfies the value
average threshold assertion.
always pattern is satisfied when all the
relevant events satisfy the always pattern
assertion
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.
increasing pattern is satisfied by an
attribute A if for all the relevant
events, e1 << e2  e1.A < e2.A
 relative max distance pattern is
satisfied when the maximal distance
between any two relevant events
satisfies the max threshold assertion
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.
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
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
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
44
Why do we need policies - A simple example:
heavy trading scenario
 Given:
A stream of events of a single
topic, about the activity in the
stock market for a certain stock.
An event is produced every 10
minutes when there is trade in
the stock.
Each event consists of: quote
(current stock-quote), volume (an
accumulated volume of traded
events within these 10 minutes).
A selection specification:
“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”.
Event-Id Time-Stamp Quote Volume
E1 9:00 33.23
E2 9:10 33.04 320,000
E3 9:20 33.11 280,000
E4 9:30 33.01 400,000
E5 9:40 32.90 315,000
E6 9:50 33.04 320,000
E7 10:00 33.20 303,000
E8 10:10 33.33 219,000
E9 10:20 33.11 301,000
E10 10:40 33.00 210,000
E11 10:50 32.78 400,000
E12 11:00 32.70 176,000
How many times the trade programming is triggered ;
Which arguments are used in each triggering?
Why defining patterns is not that
easy? Because we need to tune up
the semantics
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
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…
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
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
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
47
Our entire culture is context sensitive
In the play “The Tea house of the August Moon”
one of the characters says: Pornography
question of geography
•This says that in different geographical
contexts people view things differently
•Furthermore, the syntax of the language (no
verbs) is typical to the way that the people of
Okinawa are talking
When hearing concert people are not talking,
eating, and keep their mobile phone on “silent”.
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
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
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
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
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
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
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
51
Context Types
Fixed location
Entity distance location
Event distance location
Spatial
State Oriented
Fixed interval
Event interval
Sliding fixed interval
Sliding event interval
Temporal
Segmentation Oriented
Context
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
52
The present: State of the practice in event
processing – languages, implementation issues,
challenges in implementing event processing
applications
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
53
An Observation The Babylon Tower symbolizes the tendency
Of humanity to talk in multiple languages.
The Event Processing area is no different: most languages in the industry really follow
the hammer and nails syndrome – and extended existing approaches
• imperative script language
• SQL extensions
• Extension of inference rule language
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
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
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
XChangeEQ
Prova
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
55
StreamBase Studio
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
56
StreamBase Pattern Matching
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
57
CCL Studio (Coral8  Sybase)
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
58
CCL – Pattern Matching
RFID monitoring application
 Checks if a tag has been seen by readers A and B, then
C, but not D, within a 10 second window.
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
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
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) };
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
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))
];
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
61
ruleCore - Reakt
 Event stream view - a unique context of events
 a view contains a window into the inbound stream of events and
contains commonly only semantically related events
 Situation - an interesting combination of multiple events as they occur over time
 An item with an RFID tag being picked up from the shelf and then moving past the checkout without being paid for
 Rule - an active event processing entity reacting to specific combinations of inbound events over time
 Action - the last part of a rule's evaluation in response to a detected situation
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
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
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
63
Amit - Situation
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
64
IBM Websphere Business Events
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
65
Apama EPL – FFD Examples
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
66
Apama Simulation Studio – cont.
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
67
Non functional properties - scalability
 scalability in the volume of processed events
 Scalability in the quantity of agents
 Scalability in the quantity of producers
 scalability in the quantity of consumers
 scalability in the quantity of context partitions
 Scalability in context state size
 Scalability in the complexity of computation
 scalability in the processor environment
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.
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
68
Non functional requirements - security
 Ensuring only authorized parties are allowed to be event producers
of event consumers
 Ensuring that incoming events are filtered so that authorized
producers cannot introduce invalid events, or events that they are
not entitled to publish
 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.
 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)
 Keeping auditable logs of events received and processed, or other
activities performed by the system.
 Ensuring that all databases and data communications links used by
the system are secure.
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
69
Performance objectives
Objective
Number
Objective Name Objective metrics
1 MAX input
throughput
Maximize the quantity of input events processed by a
certain system or sub-system within a given time period
2 MAX output
throughput
Maximize the quantity of derived events produced by a
certain system or sub-system within a given time period
3 MIN average
latency
Minimize the average time it takes to process an event
and all its consequences in a certain system or sub-
system
4 Min maximal
latency
Minimize the maximal time it takes to process an event
and all its consequences in a certain system or sub-
system
5 Latency
leveling
Minimize the variance of processing times for a single
event or a collection of events in a certain system or sub-
system
6 Real-time
constraints
Minimize the deviation in latency, from a given value,
for the processing of an event and all its consequences in
a certain system or sub-system.
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
70
Optimizations
Optimizations related to EPA assignment: partition, parallelism,
distribution and load shedding.
Optimization related to the execution process: scheduling, routing
optimizations and load shedding
Optimizations related to the coding of specific EPAs: code optimization,
state management.
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
71
Putting derived events in order
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
72
Ordering in a distributed environment -
possible issues
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.
Neither the occurrence time nor detection time can be trusted,
so the order of events cannot be accurately determined.
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
73
Solutions:
Buffering techniques:
 Assumptions:
 Events are reported by the producers
as soon as they occur;
 The delay in reporting events to the
system is relatively small, and can
be bounded by a time-out offset;
 Events arriving after this time-out
can be ignored.
 Principles:
 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.
 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.
Retrospective
compensation:
 Find out all EPAs that have
already sent derived events
which would have been
affected by the "out-of-
order" event if it had arrived
at the right time.
 Retract all the derived
events that should not have
been emitted in their current
form.
 Replay the original events
with the late one inserted in
its correct place in the
sequence so that the correct
derived events are
generated.
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
74
Inexact event processing
 uncertainty whether an event actually occurred
 inexact content in the event payload
 inexact matching between derived events and the situations they purport to
describe
Source
malfunction
Malicious
source
Projection of
temporal
anomalies
Imprecise
source
Sampling or
estimate
Propagation
of
inexactness
Uncertain
event
Inexact event
content
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
75
False positives and false negatives
False positive situation detection refers to cases in which an
event representing a situation was emitted by an event
processing system, but the situation did not occur in reality.
False negative situation detection refers to cases in which a
situation occurred in reality, but the event representing this
situation was not emitted by an event processing system
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
76
Retraction
Delivery
Request
issued
Bid
Request
issued
Assignment
issued
Pick-up
occurred
Delivery
occurred
Order Cancellation
Cancel
bid
preparation
Cancel
bid
and
assignment
process
Notify
assigned
driver
about
cancellation
Undoable
May
still
be
cancelled
with
some
penalty
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
77
The future: Trends and research challenges
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
78
Trend I: Going from narrow to wide
Border security radiation detection
Mobile asset geofence
Logistic and scheduling
Unauthorized use of heavy
machinery
Hospital patient and asset tracking
Activity monitoring for taxing and
fraud detection
Intelligent CRM in banking
EDA and asynchronous BPM in
retail
Situation awareness in energy
utilities
Situation awareness in airlines
Reduce cost in injection therapy
Next generation navigation
Real-time management of
hazardous materials
Finding anomalies in point of sales
in retail stores
Elderly behavior monitoring
Some recently
reported applications
(EPTS use-cases WG)
Source: ebizQ Event processing market pulse
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
79
Trend I: Going from narrow to wide
Taking event processing outside enterprise computing:
Robotics
Bio-Informatics
Socio-technical systems
Home
Automation
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
80
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
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
81
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.
Areas for
Standards:
Modeling
Event representation
Interoperability
Languages PIM
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
82
Trend IV: Going from programmer centered to
semi-technical person centered
Source: ebizQ Event processing market pulse
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
83
Trend V: Going from stand-alone to
embedded
Packaged applications
Business Activity
Monitoring
Sensor Platform
Middleware and platforms
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
84
Trend VI: Going from reactive to proactive
TRAFFIC JAM
End of game
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
85
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
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
86
Emerging direction I: multiple platforms – same
look and feel
Appliance
Appliance
Stream
Platform
Stream
Platform
Cloud
computing
Platform
Cloud
computing
Platform
ESB /
Messaging
Platform
ESB /
Messaging
Platform
Embedded
Embedded
Virtual Event Processing Platform
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
87
Emerging direction II: Tailor-made
optimizations
 Local optimizations: each EPA will be optimized for its own
purpose / assumptions / QoS indicators – average/worst
case latency, input/output throughput …
 Global optimization: scheduling, load balancing,
assignment…
EPA EPA
EPA
EPA
Producer
Producer
EPA
Consumer
Consumer
Local optimizations
Global optimizations
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
88
Emerging direction III:
Event processing software engineering
Best practices
Methodologies
Modeling
& meta-modeling
Design
Patterns
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
89
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
IBM Haifa Research Lab – Event Processing
© 2010 IBM Corporation
90
Summary
Event processing
has emerged from
some academic
disciplines
The state of the
Practice is the 1st
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

More Related Content

Similar to OpherEtzion Wed-PM.ppt

Soa12c launch 5 event processing shmakov eng cr
Soa12c launch 5 event processing shmakov eng crSoa12c launch 5 event processing shmakov eng cr
Soa12c launch 5 event processing shmakov eng crVasily Demin
 
Udi Dahan: Event Sourcing Keynote @ DDD EU
Udi Dahan: Event Sourcing Keynote @ DDD EUUdi Dahan: Event Sourcing Keynote @ DDD EU
Udi Dahan: Event Sourcing Keynote @ DDD EUudidahan
 
Network Intelligence Driven Human Behavior Modeling
Network Intelligence Driven Human Behavior ModelingNetwork Intelligence Driven Human Behavior Modeling
Network Intelligence Driven Human Behavior ModelingFahim Kawsar
 
Python for Big Data Analytics
Python for Big Data AnalyticsPython for Big Data Analytics
Python for Big Data AnalyticsEdureka!
 
Enabling Event Driven Architecture with PubSub+
Enabling Event Driven Architecture with PubSub+Enabling Event Driven Architecture with PubSub+
Enabling Event Driven Architecture with PubSub+Himanshu Gupta
 
Picos, CloudOS, and Connecting Things
Picos, CloudOS, and Connecting ThingsPicos, CloudOS, and Connecting Things
Picos, CloudOS, and Connecting ThingsPhil Windley
 
Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019
Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019
Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019Icinga
 
Open Blueprint for Real-Time Analytics in Retail: Strata Hadoop World 2017 S...
Open Blueprint for Real-Time  Analytics in Retail: Strata Hadoop World 2017 S...Open Blueprint for Real-Time  Analytics in Retail: Strata Hadoop World 2017 S...
Open Blueprint for Real-Time Analytics in Retail: Strata Hadoop World 2017 S...Grid Dynamics
 
Osgis2011 edina addy_pope
Osgis2011 edina addy_popeOsgis2011 edina addy_pope
Osgis2011 edina addy_popeAddy Pope
 
Osgis2011 edina addy_pope
Osgis2011 edina addy_popeOsgis2011 edina addy_pope
Osgis2011 edina addy_popeAddy Pope
 
Internet of Things: Patterns For Building Real World Applications
Internet of Things: Patterns For Building Real World ApplicationsInternet of Things: Patterns For Building Real World Applications
Internet of Things: Patterns For Building Real World ApplicationsIvan Dwyer
 
Event Mesh Presentation at Gartner AADI Mumbai
Event Mesh Presentation at Gartner AADI MumbaiEvent Mesh Presentation at Gartner AADI Mumbai
Event Mesh Presentation at Gartner AADI MumbaiSolace
 
How to monitor business processes with WSO2 BAM and WSO2 ESB
How to monitor business processes with WSO2 BAM and WSO2 ESBHow to monitor business processes with WSO2 BAM and WSO2 ESB
How to monitor business processes with WSO2 BAM and WSO2 ESBWSO2
 
The Internet of Things: Patterns for building real world applications
The Internet of Things:  Patterns for building real world applicationsThe Internet of Things:  Patterns for building real world applications
The Internet of Things: Patterns for building real world applicationsIron.io
 
Complex Event Processing
Complex Event ProcessingComplex Event Processing
Complex Event ProcessingJohn Plummer
 
Actionable Insights - Thompson
Actionable Insights - ThompsonActionable Insights - Thompson
Actionable Insights - ThompsonProlifics
 
Big Data, Analytics and Real Time Event Processing
Big Data, Analytics and Real Time Event Processing Big Data, Analytics and Real Time Event Processing
Big Data, Analytics and Real Time Event Processing WSO2
 
Making the Most of Customer Data
Making the Most of Customer DataMaking the Most of Customer Data
Making the Most of Customer DataWSO2
 

Similar to OpherEtzion Wed-PM.ppt (20)

Soa12c launch 5 event processing shmakov eng cr
Soa12c launch 5 event processing shmakov eng crSoa12c launch 5 event processing shmakov eng cr
Soa12c launch 5 event processing shmakov eng cr
 
Udi Dahan: Event Sourcing Keynote @ DDD EU
Udi Dahan: Event Sourcing Keynote @ DDD EUUdi Dahan: Event Sourcing Keynote @ DDD EU
Udi Dahan: Event Sourcing Keynote @ DDD EU
 
Network Intelligence Driven Human Behavior Modeling
Network Intelligence Driven Human Behavior ModelingNetwork Intelligence Driven Human Behavior Modeling
Network Intelligence Driven Human Behavior Modeling
 
Python for Big Data Analytics
Python for Big Data AnalyticsPython for Big Data Analytics
Python for Big Data Analytics
 
Enabling Event Driven Architecture with PubSub+
Enabling Event Driven Architecture with PubSub+Enabling Event Driven Architecture with PubSub+
Enabling Event Driven Architecture with PubSub+
 
Picos, CloudOS, and Connecting Things
Picos, CloudOS, and Connecting ThingsPicos, CloudOS, and Connecting Things
Picos, CloudOS, and Connecting Things
 
Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019
Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019
Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019
 
Open Blueprint for Real-Time Analytics in Retail: Strata Hadoop World 2017 S...
Open Blueprint for Real-Time  Analytics in Retail: Strata Hadoop World 2017 S...Open Blueprint for Real-Time  Analytics in Retail: Strata Hadoop World 2017 S...
Open Blueprint for Real-Time Analytics in Retail: Strata Hadoop World 2017 S...
 
Siddhi CEP 1st presentation
Siddhi CEP 1st presentationSiddhi CEP 1st presentation
Siddhi CEP 1st presentation
 
Osgis2011 edina addy_pope
Osgis2011 edina addy_popeOsgis2011 edina addy_pope
Osgis2011 edina addy_pope
 
Osgis2011 edina addy_pope
Osgis2011 edina addy_popeOsgis2011 edina addy_pope
Osgis2011 edina addy_pope
 
Streaming analytics
Streaming analyticsStreaming analytics
Streaming analytics
 
Internet of Things: Patterns For Building Real World Applications
Internet of Things: Patterns For Building Real World ApplicationsInternet of Things: Patterns For Building Real World Applications
Internet of Things: Patterns For Building Real World Applications
 
Event Mesh Presentation at Gartner AADI Mumbai
Event Mesh Presentation at Gartner AADI MumbaiEvent Mesh Presentation at Gartner AADI Mumbai
Event Mesh Presentation at Gartner AADI Mumbai
 
How to monitor business processes with WSO2 BAM and WSO2 ESB
How to monitor business processes with WSO2 BAM and WSO2 ESBHow to monitor business processes with WSO2 BAM and WSO2 ESB
How to monitor business processes with WSO2 BAM and WSO2 ESB
 
The Internet of Things: Patterns for building real world applications
The Internet of Things:  Patterns for building real world applicationsThe Internet of Things:  Patterns for building real world applications
The Internet of Things: Patterns for building real world applications
 
Complex Event Processing
Complex Event ProcessingComplex Event Processing
Complex Event Processing
 
Actionable Insights - Thompson
Actionable Insights - ThompsonActionable Insights - Thompson
Actionable Insights - Thompson
 
Big Data, Analytics and Real Time Event Processing
Big Data, Analytics and Real Time Event Processing Big Data, Analytics and Real Time Event Processing
Big Data, Analytics and Real Time Event Processing
 
Making the Most of Customer Data
Making the Most of Customer DataMaking the Most of Customer Data
Making the Most of Customer Data
 

Recently uploaded

HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).pptssuser5c9d4b1
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 

Recently uploaded (20)

HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 

OpherEtzion Wed-PM.ppt

  • 1. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation Event processing – past, present, future VLDB 2010 Tutorial, Singapore, September 15th, 2010 Opher Etzion (opher@il.ibm.com)
  • 2. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 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. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 3 Another example: premature baby monitoring Patient is hooked up to multiple monitors (in hospital or at home) - the physician can set up event- based rules on multiple measurements and patient’s history when to send an alert and to whom: Defined Pattern
  • 4. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 4 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
  • 5. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 5 What is behind event processing ? How is it related to other computing terms? Where are its roots?
  • 6. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 6 What is “event processing” anyway? or Event processing is a form of computing that performs operations on events
  • 7. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 7 In computing we ptocessed events since early days Network and System Management
  • 8. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 8 Emerging technologies in enterprise computing (Gartner Hype Cycle, Summer 2009)
  • 9. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 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. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 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. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 11 In daily life we often react to events..
  • 12. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 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. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 13 Event Patterns Pattern detection is one of the notable functions of event processing
  • 14. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 14 What we actually want to react to are – situation 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. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 15 Event processing is being used for various reasons
  • 16. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 16 Event Driven Architecture Event driven architecture: asynchronous, decoupled; each component is autonomic.
  • 17. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 17 Ancestor: active databases On event When condition Do action With coupling mode Composite events were inherited to event processing
  • 18. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 18 Ancestor: Data Stream management system Source: Ankur Jain’s website
  • 19. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 19 Ancestor: Temporal databases There is a substantial temporal nature to event processing. Recently – also spatial and spatio-temporal functions are being added
  • 20. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 20 Ancestor: Messaging – pub/sub middleware
  • 21. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 21 Ancestor: Discrete event simulation
  • 22. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 22 Ancestor: Network and system management
  • 23. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 23 Event processing – architecture, building blocks
  • 24. 24 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 Fast Flower Delivery
  • 25. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 25 Event processing network
  • 26. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 26 Example of EPN – part of the FFD example
  • 27. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 27 Event Processing Agent Context Event Channel Event Consumer Event Type Event Producer Global State The seven Building blocks
  • 28. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 28 Event type definition Header Payload Open content System defined event attributes Attributes specific to the event type Additional free format data included in the event instance
  • 29. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 29 Producer – State Observer in workflows State observer Push: Instrumentation points; Pull: Query the state
  • 30. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 30 Producer – Code instrumentation
  • 31. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 31 Producer – syndication
  • 32. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 32 Producers – streams to events
  • 33. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 33 Producer – sensors
  • 34. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 34 Consumer - Performance monitoring dashboard
  • 35. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 35 Consumer - Ambient Orb
  • 36. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 36 Producer and consumer - Sixth sense
  • 37. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 37 Twitter as a consumer
  • 38. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 38 Event Processing Agent Filter Transform Detect Pattern Translate Aggregate Split Compose Enrich Project Event Processing Agents
  • 39. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 39 The EPA picture Output Not selected Instance selection Context expression Pattern detect EPA Relevance filtering Input terminal filter expression Relevant event types Derivation Derivation expression Matching Pattern signature: Pattern type Pattern parameters Relevant event types Pattern policies Pattern matching set Participant events
  • 40. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 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. Filtering Filter EPA Filtered Out Filtered In Non-Filterable Principal filter expression
  • 41. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 41 Transform EPA sub types Translate Compose Aggregate Enrich Split Project
  • 42. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 42 Sample of pattern types all pattern is satisfied when the relevant event set contains at least one instance of each event type in the participant set any pattern is satisfied if the relevant event set contains an instance of any of the event types in the participant set  absence pattern is satisfied when there are no relevant events 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  value average pattern is satisfied when the value of a specific attribute, averaged over all the relevant events, satisfies the value average threshold assertion. always pattern is satisfied when all the relevant events satisfy the always pattern assertion 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. increasing pattern is satisfied by an attribute A if for all the relevant events, e1 << e2  e1.A < e2.A  relative max distance pattern is satisfied when the maximal distance between any two relevant events satisfies the max threshold assertion 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.
  • 43. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 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. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 44 Why do we need policies - A simple example: heavy trading scenario  Given: A stream of events of a single topic, about the activity in the stock market for a certain stock. An event is produced every 10 minutes when there is trade in the stock. Each event consists of: quote (current stock-quote), volume (an accumulated volume of traded events within these 10 minutes). A selection specification: “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”. Event-Id Time-Stamp Quote Volume E1 9:00 33.23 E2 9:10 33.04 320,000 E3 9:20 33.11 280,000 E4 9:30 33.01 400,000 E5 9:40 32.90 315,000 E6 9:50 33.04 320,000 E7 10:00 33.20 303,000 E8 10:10 33.33 219,000 E9 10:20 33.11 301,000 E10 10:40 33.00 210,000 E11 10:50 32.78 400,000 E12 11:00 32.70 176,000 How many times the trade programming is triggered ; Which arguments are used in each triggering? Why defining patterns is not that easy? Because we need to tune up the semantics
  • 45. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 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. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 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. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 47 Our entire culture is context sensitive In the play “The Tea house of the August Moon” one of the characters says: Pornography question of geography •This says that in different geographical contexts people view things differently •Furthermore, the syntax of the language (no verbs) is typical to the way that the people of Okinawa are talking When hearing concert people are not talking, eating, and keep their mobile phone on “silent”.
  • 48. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 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. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 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. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 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. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 51 Context Types Fixed location Entity distance location Event distance location Spatial State Oriented Fixed interval Event interval Sliding fixed interval Sliding event interval Temporal Segmentation Oriented Context
  • 52. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 52 The present: State of the practice in event processing – languages, implementation issues, challenges in implementing event processing applications
  • 53. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 53 An Observation The Babylon Tower symbolizes the tendency Of humanity to talk in multiple languages. The Event Processing area is no different: most languages in the industry really follow the hammer and nails syndrome – and extended existing approaches • imperative script language • SQL extensions • Extension of inference rule language 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. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 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 XChangeEQ Prova
  • 55. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 55 StreamBase Studio
  • 56. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 56 StreamBase Pattern Matching
  • 57. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 57 CCL Studio (Coral8  Sybase)
  • 58. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 58 CCL – Pattern Matching RFID monitoring application  Checks if a tag has been seen by readers A and B, then C, but not D, within a 10 second window. 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. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 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. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 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. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 61 ruleCore - Reakt  Event stream view - a unique context of events  a view contains a window into the inbound stream of events and contains commonly only semantically related events  Situation - an interesting combination of multiple events as they occur over time  An item with an RFID tag being picked up from the shelf and then moving past the checkout without being paid for  Rule - an active event processing entity reacting to specific combinations of inbound events over time  Action - the last part of a rule's evaluation in response to a detected situation
  • 62. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 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. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 63 Amit - Situation
  • 64. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 64 IBM Websphere Business Events
  • 65. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 65 Apama EPL – FFD Examples
  • 66. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 66 Apama Simulation Studio – cont.
  • 67. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 67 Non functional properties - scalability  scalability in the volume of processed events  Scalability in the quantity of agents  Scalability in the quantity of producers  scalability in the quantity of consumers  scalability in the quantity of context partitions  Scalability in context state size  Scalability in the complexity of computation  scalability in the processor environment 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. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 68 Non functional requirements - security  Ensuring only authorized parties are allowed to be event producers of event consumers  Ensuring that incoming events are filtered so that authorized producers cannot introduce invalid events, or events that they are not entitled to publish  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.  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)  Keeping auditable logs of events received and processed, or other activities performed by the system.  Ensuring that all databases and data communications links used by the system are secure.
  • 69. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 69 Performance objectives Objective Number Objective Name Objective metrics 1 MAX input throughput Maximize the quantity of input events processed by a certain system or sub-system within a given time period 2 MAX output throughput Maximize the quantity of derived events produced by a certain system or sub-system within a given time period 3 MIN average latency Minimize the average time it takes to process an event and all its consequences in a certain system or sub- system 4 Min maximal latency Minimize the maximal time it takes to process an event and all its consequences in a certain system or sub- system 5 Latency leveling Minimize the variance of processing times for a single event or a collection of events in a certain system or sub- system 6 Real-time constraints Minimize the deviation in latency, from a given value, for the processing of an event and all its consequences in a certain system or sub-system.
  • 70. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 70 Optimizations Optimizations related to EPA assignment: partition, parallelism, distribution and load shedding. 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. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 71 Putting derived events in order
  • 72. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 72 Ordering in a distributed environment - possible issues 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. Neither the occurrence time nor detection time can be trusted, so the order of events cannot be accurately determined.
  • 73. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 73 Solutions: Buffering techniques:  Assumptions:  Events are reported by the producers as soon as they occur;  The delay in reporting events to the system is relatively small, and can be bounded by a time-out offset;  Events arriving after this time-out can be ignored.  Principles:  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.  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. Retrospective compensation:  Find out all EPAs that have already sent derived events which would have been affected by the "out-of- order" event if it had arrived at the right time.  Retract all the derived events that should not have been emitted in their current form.  Replay the original events with the late one inserted in its correct place in the sequence so that the correct derived events are generated.
  • 74. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 74 Inexact event processing  uncertainty whether an event actually occurred  inexact content in the event payload  inexact matching between derived events and the situations they purport to describe Source malfunction Malicious source Projection of temporal anomalies Imprecise source Sampling or estimate Propagation of inexactness Uncertain event Inexact event content
  • 75. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 75 False positives and false negatives False positive situation detection refers to cases in which an event representing a situation was emitted by an event processing system, but the situation did not occur in reality. False negative situation detection refers to cases in which a situation occurred in reality, but the event representing this situation was not emitted by an event processing system
  • 76. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 76 Retraction Delivery Request issued Bid Request issued Assignment issued Pick-up occurred Delivery occurred Order Cancellation Cancel bid preparation Cancel bid and assignment process Notify assigned driver about cancellation Undoable May still be cancelled with some penalty
  • 77. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 77 The future: Trends and research challenges
  • 78. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 78 Trend I: Going from narrow to wide Border security radiation detection Mobile asset geofence Logistic and scheduling Unauthorized use of heavy machinery Hospital patient and asset tracking Activity monitoring for taxing and fraud detection Intelligent CRM in banking EDA and asynchronous BPM in retail Situation awareness in energy utilities Situation awareness in airlines Reduce cost in injection therapy Next generation navigation Real-time management of hazardous materials Finding anomalies in point of sales in retail stores Elderly behavior monitoring Some recently reported applications (EPTS use-cases WG) Source: ebizQ Event processing market pulse
  • 79. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 79 Trend I: Going from narrow to wide Taking event processing outside enterprise computing: Robotics Bio-Informatics Socio-technical systems Home Automation
  • 80. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 80 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
  • 81. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 81 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. Areas for Standards: Modeling Event representation Interoperability Languages PIM
  • 82. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 82 Trend IV: Going from programmer centered to semi-technical person centered Source: ebizQ Event processing market pulse
  • 83. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 83 Trend V: Going from stand-alone to embedded Packaged applications Business Activity Monitoring Sensor Platform Middleware and platforms
  • 84. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 84 Trend VI: Going from reactive to proactive TRAFFIC JAM End of game
  • 85. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 85 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
  • 86. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 86 Emerging direction I: multiple platforms – same look and feel Appliance Appliance Stream Platform Stream Platform Cloud computing Platform Cloud computing Platform ESB / Messaging Platform ESB / Messaging Platform Embedded Embedded Virtual Event Processing Platform
  • 87. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 87 Emerging direction II: Tailor-made optimizations  Local optimizations: each EPA will be optimized for its own purpose / assumptions / QoS indicators – average/worst case latency, input/output throughput …  Global optimization: scheduling, load balancing, assignment… EPA EPA EPA EPA Producer Producer EPA Consumer Consumer Local optimizations Global optimizations
  • 88. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 88 Emerging direction III: Event processing software engineering Best practices Methodologies Modeling & meta-modeling Design Patterns
  • 89. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 89 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
  • 90. IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation 90 Summary Event processing has emerged from some academic disciplines The state of the Practice is the 1st 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