ion wed pm

Upload: ashwin-pai

Post on 06-Apr-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 ion Wed PM

    1/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation

    Event processing past, present, future

    VLDB 2010 Tutorial,Singapore, September 15th, 2010

    Opher Etzion ([email protected])

  • 8/3/2019 ion Wed PM

    2/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation2

    An example to kick-off this tutorial:

    Act:Passenger

    has been re-routed toanotherdestination send theluggage

    Act: Bag hasreached tothe wrongaircraft

    Notify: Baghas beenchecked butdid not reachthe ULDwithin 20minutes

    Notify: Baghas beenchecked butdid not reachtheconnecting

    flight

    THE LUGGAGE PERSPECTIVE:

    Across the 24 largest airlines morethan 5.6 million bags went missing in2006, this is an average of 15.7 bagsper 1,000 travelers. 15% of the

    bags are never found.BBC News, April 4, 2007

    Event processing canhelp here..

  • 8/3/2019 ion Wed PM

    3/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation3

    Another example: premature baby monitoring

    Patient is hooked up to multiplemonitors (in hospital or athome) - the physician can setup event- based rules onmultiple measurements and

    patients history when to sendan alert and to whom:

    DefinedPattern

  • 8/3/2019 ion Wed PM

    4/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation4

    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

  • 8/3/2019 ion Wed PM

    5/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation5

    What is behind event processing ? How is it

    related to other computing terms? Where are itsroots?

  • 8/3/2019 ion Wed PM

    6/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation6

    What is event processing anyway?

    or

    Event processing is a form of computing thatperforms operations on events

  • 8/3/2019 ion Wed PM

    7/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation7

    In computing we ptocessed events since early days

    Network andSystemManagement

  • 8/3/2019 ion Wed PM

    8/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation8

    Emerging technologies in enterprise computing(Gartner Hype Cycle, Summer 2009)

  • 8/3/2019 ion Wed PM

    9/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation9

    Whats new?The analog: moving fromfiles to DBMS

    In recent years architectures, abstractions, and dedicated

    commercial products emerge to support functionality that wastraditionally carried out within regular programming.For some applications it is an improvement in TCO; for others isbreaking the cost-effectiveness barrier.

  • 8/3/2019 ion Wed PM

    10/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation10

    What is an event

    There are various definitions of events

    Event is an occurrence within a particular system ordomain; the word event has double meaning: the real-worldOccurrence as well as its computerized representation

  • 8/3/2019 ion Wed PM

    11/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation11

    In daily life we often react to events..

  • 8/3/2019 ion Wed PM

    12/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation12

    Sometime we even react to the occurrence

    of multiple eventsI 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

  • 8/3/2019 ion Wed PM

    13/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation13

    EventPatterns

    Pattern detection is one of the notable functions ofevent processing

  • 8/3/2019 ion Wed PM

    14/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation14

    What we actually want to react to are situation

    TOLL

    VILOATOR FRUSTRATEDCUSTOMER

    Sometimes the situation isdetermined by detecting thatsome pattern occurred in theFlowing events.

    Toll violation

    Frustrated customer

    Sometimes the events can

    approximate or indicate withsome certainty that thesituation has occurred

  • 8/3/2019 ion Wed PM

    15/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation15

    Event processing is being used for variousreasons

    IBM Haifa Research Lab Event Processing

    IBM Haifa Research Lab Event Processing 2008 IBM Corporation

    Detect

    Decide

    Respond

    EP Solution Segments Business Value

    Real-Time

    Operational

    Information

    Dissemination

    Observation

    PredictiveProcessingActive Diagnostics

    Reactions to events are done as part of business

    transactions achieving low latency decisions,

    and quick reaction to threats and opportunities

    Getting the

    right

    information

    in the rightgranularity

    to the right

    person at

    the right

    time

    Diagnose

    problems

    based on

    symptoms and

    resolve them

    Quick observation into exceptional business

    behavior and notification to the appropriate

    people.

    Mitigate oreliminate

    predicted events

  • 8/3/2019 ion Wed PM

    16/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation16

    Event Driven Architecture

    Event driven architecture: asynchronous, decoupled; eachcomponent is autonomic.

  • 8/3/2019 ion Wed PM

    17/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation17

    Ancestor: active databases

    On event

    When condition

    Do actionWith coupling mode

    Compositeevents wereinherited toeventprocessing

  • 8/3/2019 ion Wed PM

    18/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation18

    Ancestor: Data Stream management system

    Source: Ankur Jains website

  • 8/3/2019 ion Wed PM

    19/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation19

    Ancestor: Temporal databases

    There is a substantial temporalnature to event processing.Recently also spatial andspatio-temporal functions arebeing added

  • 8/3/2019 ion Wed PM

    20/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation20

    Ancestor: Messaging pub/sub middleware

  • 8/3/2019 ion Wed PM

    21/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation21

    Ancestor: Discrete event simulation

  • 8/3/2019 ion Wed PM

    22/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation22

    Ancestor: Network and system management

  • 8/3/2019 ion Wed PM

    23/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation23

    Event processing architecture, building blocks

  • 8/3/2019 ion Wed PM

    24/90

    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

    Drivers Guild

    Ranking and reports

    Delivery

    confirmation

    Pick Up confirmation

    Ranked drivers /

    automatic assignment

    Bid System

    StorePreferences

    Delivery Request

    Assignment

    System

    Manual AssignmentAssignment

    Assignments,

    Pick Up Alert

    Delivery Alert

    Fast Flower Delivery

  • 8/3/2019 ion Wed PM

    25/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation25

    Event processing network

    Event

    Producer 1Event

    Consumer 1

    Event

    Consumer 2

    Event

    Producer 2Event

    Consumer 3

    Agent 2

    Channel

    Agent 1

    State

    Agent 3

  • 8/3/2019 ion Wed PM

    26/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation26

    Example of EPN part of the FFD example

    Automatic

    assignment

    Driver

    Bid routing

    Storereference

    Manual

    assignment

    preparationBid Request

    channel Bidenrichment

    Assignmentmanager

    Alerts

    channel

    Assignment

    channel

    Assignment

    request

    channel

    Driverstatus

    Driver

    enrichment

  • 8/3/2019 ion Wed PM

    27/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation27

    Event Processing AgentContext

    Event

    Channel

    Event

    ConsumerEvent

    Type

    Event

    Producer

    Global

    State

    The seven

    Building blocks

  • 8/3/2019 ion Wed PM

    28/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation28

    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

  • 8/3/2019 ion Wed PM

    29/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation29

    Producer State Observer in workflows

    State observer

    Push:

    Instrumentation points;

    Pull:

    Query the state

  • 8/3/2019 ion Wed PM

    30/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation30

    Producer Code instrumentation

  • 8/3/2019 ion Wed PM

    31/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation31

    Producer syndication

  • 8/3/2019 ion Wed PM

    32/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation32

    Producers streams to events

  • 8/3/2019 ion Wed PM

    33/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation33

    Producer sensors

  • 8/3/2019 ion Wed PM

    34/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation34

    Consumer - Performance monitoring dashboard

  • 8/3/2019 ion Wed PM

    35/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation35

    Consumer - Ambient Orb

  • 8/3/2019 ion Wed PM

    36/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation36

    Producer and consumer - Sixth sense

  • 8/3/2019 ion Wed PM

    37/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation37

    Twitter as a consumer

  • 8/3/2019 ion Wed PM

    38/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation38

    Event Processing Agent

    Filter TransformDetect Pattern

    Translate Aggregate Split Compose

    Enrich Project

    Event Processing Agents

  • 8/3/2019 ion Wed PM

    39/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation39

    The EPA picture

    Output

    Not selected

    Instanceselection

    Context

    expression

    Pattern detect EPA

    Relevancefiltering

    Input terminalfilter expression

    Relevant event types

    Derivation Derivationexpression

    MatchingPattern signature:Pattern typePattern parameters

    Relevant event types

    Pattern policies

    Patternmatching set

    Participantevents

  • 8/3/2019 ion Wed PM

    40/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation40

    Filter EPAA 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

  • 8/3/2019 ion Wed PM

    41/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation41

    Transform EPA sub types

    Translate Compose

    Aggregate Enrich

    Split

    Project

  • 8/3/2019 ion Wed PM

    42/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation42

    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 areno 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

  • 8/3/2019 ion Wed PM

    43/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation43

    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 fivehighest bidswithin the

    bid interval

    Taken fromthe Fast

    FlowerDelivery usecase

  • 8/3/2019 ion Wed PM

    44/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation44

    Why do we need policies - A simple example:heavy trading scenario

    Given:

    A stream of events of a singletopic, about the activity in thestock market for a certain stock.

    An event is produced every 10minutes when there is trade inthe stock.

    Each event consists of: quote(current stock-quote), volume (anaccumulated volume of tradedevents within these 10 minutes).

    A selection specification:trigger an automatic tradeprogram if the volume exceeds300,000 3 times within an hour;pass as an argument the last

    quote and the sum of the 3volume 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,000E11 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 thateasy? Because we need to tune upthe semantics

  • 8/3/2019 ion Wed PM

    45/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation45

    Pattern policies

    Evaluation policyThis determines when the matching sets are produced

    Deferred

    Cardinality policyThis determines how many matching sets are produced

    within a single context partition

    Repeated type policyThis determines what happens if the matching stepencounters multiple events of the same type

    Every - Override First Last with max/min value of

  • 8/3/2019 ion Wed PM

    46/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation46

    Pattern policies cont.

    Consumption policyThis specifies what happens to a participant eventafter it has been included in a matching set

    Consume Reuse Boundedreuse

    Order policyThis specifies how temporal order is defined

    By occurrence time by detection time by stream position by attribute

  • 8/3/2019 ion Wed PM

    47/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation47

    Our entire culture is context sensitive

    In the play The Tea house of the August Moonone of the characters says: Pornographyquestion of geography

    This says that in different geographicalcontexts people view things differently

    Furthermore, the syntax of the language (noverbs) is typical to the way that the people ofOkinawa are talking

    When hearing concert people are not talking,

    eating, and keep their mobile phone on silent .

  • 8/3/2019 ion Wed PM

    48/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation48

    Context has three distinct roles (which may be combined)

    Partition the incoming events

    The events that relate toeach customer areprocessed separately

    Grouping events together

    Different processing forDifferent contextpartitions

    Determining the processing

    Grouping together eventsthat happened in thesame hour at the samelocation

  • 8/3/2019 ion Wed PM

    49/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation49

    Context Definition

    A context is a named specification of conditions that groups eventinstances so that they can be processed in a related way. It assignseach event instance to one or more context partitions.

    A context may have one or more context dimensions.

    A context is a named specification of conditions that groups eventinstances so that they can be processed in a related way. It assignseach event instance to one or more context partitions.

    A context may have one or more context dimensions.

    TemporalTemporal

    SpatialSpatial

    State OrientedState Oriented

    Segmentation OrientedSegmentation Oriented

  • 8/3/2019 ion Wed PM

    50/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation50

    Context Types Examples

    Spatial

    State Oriented

    Temporal

    ContextContext

    Every day between 08:00

    and 10:00 AM

    A week after borrowing a disk

    A time window bounded by

    TradingDayStart andTradingDayEnd events

    3 miles from the trafficaccident location

    Within an authorized zone ina manufactory

    All Children 2-5 years oldAll platinum customers

    Airport security level is redWeather is stormy

    Segmentation Oriented

  • 8/3/2019 ion Wed PM

    51/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation51

    Context Types

    Fixed locationFixed location

    Entity distance locationEntity distance location

    Event distance locationEvent distance location

    Spatial

    State Oriented

    Fixed intervalFixed interval

    Event intervalEvent interval

    Sliding fixed intervalSliding fixed interval

    Sliding event intervalSliding event interval

    Temporal

    Segmentation Oriented

    ContextContext

  • 8/3/2019 ion Wed PM

    52/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation52

    The present: State of the practice in event

    processing languages, implementation issues,challenges in implementing event processing

    applications

    IBM H if R h L b E P i

  • 8/3/2019 ion Wed PM

    53/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation53

    An ObservationThe Babylon Tower symbolizes the tendencyOf humanity to talk in multiple languages.

    The Event Processing area is no different: most languages in the industry really followthe 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 stylesAnd extract common functions that can be used to define what is an eventprocessing language; this tutorial is an interim report

    It does not seem that well succeed to settleIn the near future around a single programming style

    IBM H if R h L b E t P i

  • 8/3/2019 ion Wed PM

    54/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation54

    Existing Styles for EP languages (samples)

    InferenceRules

    Stateoriented

    AgentO

    riented

    Imperative/Script Based

    RuleCore

    Oracle

    Aleri Streambase

    Esper

    EventZero

    TIBCOWBE

    Apama

    Spade

    AMiT

    Netcool Impact

    * - if we add simple and mediated event processing the picture is even more diversified

    ECARules

    SQLextension

    Coral8

    Agent LogicStarview

    XChangeEQProva

    IBM H if R h L b E t P i

  • 8/3/2019 ion Wed PM

    55/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation55

    StreamBase Studio

    IBM H if R h L b E t P i

  • 8/3/2019 ion Wed PM

    56/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation56

    StreamBase Pattern Matching

    IBM Haifa Research Lab Event Processing

  • 8/3/2019 ion Wed PM

    57/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation57

    CCL Studio (Coral8 Sybase)

    IBM Haifa Research Lab Event Processing

  • 8/3/2019 ion Wed PM

    58/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation58

    CCL Pattern Matching

    RFID monitoring application

    Checks if a tag has been seen by readers A and B, thenC, but not D, within a 10 second window.

    Insert into StreamAlertsSelect StreamA.idFrom StreamA a, StreamB b, StreamC c, StreamD dMatching [10 seconds: a && b, c, !d]

    On a.id = b.id = c.id = d.id

    IBM Haifa Research Lab Event Processing

  • 8/3/2019 ion Wed PM

    59/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation59

    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 inputStreamgroup 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

  • 8/3/2019 ion Wed PM

    60/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation60

    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

  • 8/3/2019 ion Wed PM

    61/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation61

    ruleCore - Reakt

    Event stream view - a unique context of events

    a view contains a window into the inbound stream of events andcontains 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

  • 8/3/2019 ion Wed PM

    62/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation62

    Amit Terminology

    Situation

    Conditions

    Lifespanee55 ee88

    Initiator Terminator

    Event SelectionEvent Selection ActionsActionsOperationOperation

    Keys

    ee11

    ee33

    Input

    events

    Operator

    Joining

    Counting

    TemporalAbsence

    Aggregation

    Notifications

    Messages

    Definition updatesUser plug-ins

    ee22

    IBM Haifa Research Lab Event Processing

  • 8/3/2019 ion Wed PM

    63/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation63

    Amit - Situation

    IBM Haifa Research Lab Event Processing

  • 8/3/2019 ion Wed PM

    64/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation64

    IBM Websphere Business Events

    IBM Haifa Research Lab Event Processing

  • 8/3/2019 ion Wed PM

    65/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation65

    Apama EPL FFD Examples

    IBM Haifa Research Lab Event Processing

  • 8/3/2019 ion Wed PM

    66/90

    IBM Haifa Research Lab Event Processing

    2010 IBM Corporation66

    Apama Simulation Studio cont.

    IBM Haifa Research Lab Event Processing

  • 8/3/2019 ion Wed PM

    67/90

    g

    2010 IBM Corporation67

    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

  • 8/3/2019 ion Wed PM

    68/90

    g

    2010 IBM Corporation68

    Non functional requirements - security

    Ensuring only authorized parties are allowed to be event producersof event consumers Ensuring that incoming events are filtered so that authorized

    producers cannot introduce invalid events, or events that they arenot entitled to publish

    Ensuring that consumers only receive information to which theyare entitled. In some cases a consumer might be entitled to seesome of the attributes of an event but not others.

    Ensuring that unauthorized parties cannot add new EPAs to thesystem, or make modifications to the EPN itself (in systems wheredynamic EPN modification is supported)

    Keeping auditable logs of events received and processed, or otheractivities performed by the system.

    Ensuring that all databases and data communications links used bythe system are secure.

    IBM Haifa Research Lab Event Processing

  • 8/3/2019 ion Wed PM

    69/90

    g

    2010 IBM Corporation69

    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

  • 8/3/2019 ion Wed PM

    70/90

    g

    2010 IBM Corporation70

    Optimizations

    Optimizations related to EPA assignment: partition, parallelism,distribution and load shedding.

    Optimization related to the execution process: scheduling, routingoptimizations and load shedding

    Optimizations related to the coding of specific EPAs: code optimization,state management.

    IBM Haifa Research Lab Event Processing

  • 8/3/2019 ion Wed PM

    71/90

    2010 IBM Corporation71

    Putting derived events in order

    Auction Context Interval time

    Bidevent

    Auction

    entry

    Anomaly 1

    Bid

    event

    s

    Auction

    entries

    Anomaly 2

    IBM Haifa Research Lab Event Processing

  • 8/3/2019 ion Wed PM

    72/90

    2010 IBM Corporation72

    Ordering in a distributed environment -

    possible issuesThe occurrence time of an event is accurate, but the event

    arrives out-of-order and processing that should haveincluded 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

  • 8/3/2019 ion Wed PM

    73/90

    2010 IBM Corporation73

    Solutions:

    Buffering techniques: Assumptions:

    Events are reported by the producersas soon as they occur;

    The delay in reporting events to thesystem is relatively small, and canbe bounded by a time-out offset;

    Events arriving after this time-outcan be ignored.

    Principles:

    Let X be the time-out offset,according to the assumption it is safeto assume that at any time-point t,all events whose occurrence time isearlier than t - X have alreadyarrived.

    Each event whose occurrence timeis To is then kept in the buffer untilTo+X, at which time the buffer canbe sorted by occurrence time, andthen events can be processed in thissorted order.

    Retrospectivecompensation:

    Find out all EPAs that havealready sent derived eventswhich would have beenaffected by the "out-of-

    order" event if it had arrivedat the right time. Retract all the derived

    events that should not havebeen emitted in their currentform.

    Replay the original events

    with the late one inserted inits correct place in thesequence so that the correctderived events aregenerated.

    IBM Haifa Research Lab Event Processing

    I t t i

  • 8/3/2019 ion Wed PM

    74/90

    2010 IBM Corporation74

    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 todescribe

    Source

    malfunction

    Malicious

    source

    Projection of

    temporal

    anomalies

    Imprecise

    source

    Sampling orestimate

    Propagation

    of

    inexactness

    Uncertain

    event

    Inexact event

    content

    IBM Haifa Research Lab Event Processing

  • 8/3/2019 ion Wed PM

    75/90

    2010 IBM Corporation75

    False positives and false negatives

    False positive situation detection refers to cases in which anevent representing a situation was emitted by an eventprocessing system, but the situation did not occur inreality.

    False negative situation detection refers to cases in which asituation occurred in reality, but the event representing thissituation was not emitted by an event processing system

    IBM Haifa Research Lab Event Processing

  • 8/3/2019 ion Wed PM

    76/90

    2010 IBM Corporation76

    Retraction

    DeliveryRequest

    issued

    BidRequest

    issued

    Assignmentissued

    Pick-upoccurred

    Deliveryoccurred

    Order Cancellation

    Cancelbid

    preparation

    Cancelbidandassignmentprocess

    Notifyassigneddriverabout

    cancellation

    Und

    oable

    Maystillbeca

    ncelledwithsome

    penalty

    IBM Haifa Research Lab Event Processing

  • 8/3/2019 ion Wed PM

    77/90

    2010 IBM Corporation77

    The future: Trends and research challenges

    IBM Haifa Research Lab Event Processing

  • 8/3/2019 ion Wed PM

    78/90

    2010 IBM Corporation78

    Trend I: Going from narrow to wide

    Border security radiation detection

    Mobile asset geofence

    Logistic and scheduling

    Unauthorized use of heavymachinery

    Hospital patient and asset tracking

    Activity monitoring for taxing andfraud detection

    Intelligent CRM in banking

    EDA and asynchronous BPM inretail

    Situation awareness in energy

    utilities

    Situation awareness in airlines

    Reduce cost in injection therapy

    Next generation navigation

    Real-time management ofhazardous materials

    Finding anomalies in point of salesin retail stores

    Elderly behavior monitoring

    Some recentlyreported applications

    (EPTS use-cases WG)

    Source: ebizQ Event processing market pulse

    IBM Haifa Research Lab Event Processing

  • 8/3/2019 ion Wed PM

    79/90

    2010 IBM Corporation79

    Trend I: Going from narrow to wide

    Taking event processing outside enterprise computing:

    Robotics

    Bio-Informatics

    Socio-technical systems

    HomeAutomation

    IBM Haifa Research Lab Event Processing

  • 8/3/2019 ion Wed PM

    80/90

    2010 IBM Corporation80

    Trend II: Going from monolithic to

    diversified

    Variety of functions

    Variety of Quality of Servicerequirements:

    Variety of platforms

    One size fits all will not work Instead a collection of building blocksthat can fit together

    IBM Haifa Research Lab Event Processing

  • 8/3/2019 ion Wed PM

    81/90

    2010 IBM Corporation81

    Trend III: Going from proprietary tostandard-based standard directions

    The current situation: Babylon tower: variety oflanguages, event representation

    Serves as enabler to achieving other trends and

    general maturity

    The shift of vendors from start-up dominant tobigger companies makes the atmosphere more

    friendly towards standards.

    Areas for

    Standards:ModelingEvent representationInteroperabilityLanguages PIM

    IBM Haifa Research Lab Event Processing

    T d IV G i f t d t

  • 8/3/2019 ion Wed PM

    82/90

    2010 IBM Corporation82

    Trend IV: Going from programmer centered tosemi-technical person centered

    Source: ebizQ Event processing market pulse

    IBM Haifa Research Lab Event Processing

  • 8/3/2019 ion Wed PM

    83/90

    2010 IBM Corporation83

    Trend V: Going from stand-alone toembedded

    Packaged applications

    Business ActivityMonitoring

    Sensor Platform

    Middleware and platforms

    IBM Haifa Research Lab Event Processing

  • 8/3/2019 ion Wed PM

    84/90

    2010 IBM Corporation84

    Trend VI: Going from reactive to proactive

    TRAFFIC JAM

    End of game

    IBM Haifa Research Lab Event Processing

  • 8/3/2019 ion Wed PM

    85/90

    2010 IBM Corporation85

    Emerging directions: Four directions to observe

    Multiple platforms samelook and feel

    The engineering ofconstructing EPapplications

    Adding intelligence toEvent processing

    Tailor-made optimizations

    IBM Haifa Research Lab Event Processing

  • 8/3/2019 ion Wed PM

    86/90

    2010 IBM Corporation86

    Emerging direction I: multiple platforms samelook and feel

    ApplianceApplianceStream

    Platform

    Stream

    PlatformCloud

    computing

    Platform

    Cloudcomputing

    Platform

    ESB /

    Messaging

    Platform

    ESB /Messaging

    Platform

    EmbeddedEmbedded

    Virtual Event Processing Platform

    IBM Haifa Research Lab Event Processing

  • 8/3/2019 ion Wed PM

    87/90

    2010 IBM Corporation87

    Emerging direction II: Tailor-madeoptimizations

    Local optimizations: each EPA will be optimized for its ownpurpose / assumptions / QoS indicators average/worstcase 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

  • 8/3/2019 ion Wed PM

    88/90

    2010 IBM Corporation88

    Emerging direction III:Event processing software engineering

    Best practices

    MethodologiesModeling

    & meta-modeling

    DesignPatterns

    IBM Haifa Research Lab Event Processing

  • 8/3/2019 ion Wed PM

    89/90

    2010 IBM Corporation89

    Emerging direction IV:Intelligent event processing

    Offline andcontinuous miningof meaningful

    patterns in eventhistories

    Inexact eventprocessing handling inexactevents and alsofalse positives andfalse negatives

    Causality a key

    for proactive, butalso vital forprovenance

    IBM Haifa Research Lab Event Processing

  • 8/3/2019 ion Wed PM

    90/90

    Summary

    Event processinghas emerged fromsome academic

    disciplines

    The state of thePractice is the 1st

    generation ofproducts mainly

    engineering based

    Going to the nextphase manychallenges thatrequire collaboration

    of research andindustry

    Already attracted coverage ofanalysts and all major softwarevendors