NEEL: The Nested Complex Event Language for Real-Time Event Analytics Mo Liu1, Elke A. Rundensteiner1, Dan Dougherty1, Chetan Gupta2, Song Wang2, Ismail Ari3, and Abhay Mehta2 1Worcester Polytechnic Institute, USA 2HP Labs, USA 3Ozyegin University, Turkey BIRTE2010 Singapore Acknowledgements: This work is partly supported by HP Innovations Award, NSF 1018443 and NSF IIS 0917017, Turkish National Science Foundation TUBITAK under career award 109E194. We thank Di Wang, Han Wang and Richard T. Ellison III for the case study. Event Processing—The Big Picture Event Processing Event Producer 2 Event Consumer Hospital Disease and Hygiene Control Data Sources Put on mask for H1N1 contagious patients RFID Input Wash your hands before touching next patients RFID Input Query Results RFID Input Data Streams Track workers Put on surgical gloves Detect hygiene violations Aggregate statistics for a hospital 3 D. Wang, E. Rundensteiner, R. Ellison III, Active complex event processing: applications in realtime health care, VLDB (demonstration paper), 2010. CEP Basics Primitive event instance is defined to be an occurrence of interest in time. e(t) time t Composite event instance occurs over an interval. e([t1, t2]) t1 t2 time Event history H is an ordered set of primitive event instances. 4 Outline • • • • • • Event Processing NEEL Formal Semantics of NEEL E-Analytics System Case Study Conclusion Why Nested Queries? Compact Incremental Convenient + + + + + 6 NEEL: The Nested Complex Event Language • Support nested SEQ, AND, OR with NEGATION • • • 7 Specify time period Specify condition on attributes Assume value-based comparison NEEL Query Example Time 8 Nested Expression Variable Scope Outer query Inner query AND Time Nested sub-query 9 Window Constraints Sub Window: [w.ts, o.ts] time w.ts 10 o.ts Predicate Specification Correlated predicate Simple predicate 11 Negation Positive component Negative component Positive component Time 12 Scoping of Negation ! Washing [r.ts, o.ts] time r.ts 13 o.ts Nested Negation r w time o <r1, w2, o10> is outputted if No s or no c between w2 and o10 14 (s, c) exists between w2 and o10, d must exist between (s, c) r1 w2 o10 time r1 w2 s5 d8 c9 o10 time Predicates with Negation Condition: all events have the same id. Option 1: State condition in the outer SEQ Inner events s, d and c are not visible in the outer SEQ construct. 15 Predicates with Negation Condition: all events have the same id. Option 2: State condition in the inner SEQ Should the query return <r1, w2, o10> when no negative events exist? r1 Id: 1 16 w2 o10 1 1 −Condition is evaluated to be true when involving negative events. Any P v s.id !=s.id is true time −Condition is evaluated to be false: No final output. However, no outer results should be filtered as no negative event exists. Our Proposal: Predicates with Negation We split condition and stateinfluences the predicates involving negative The way we write predicates its meaning and results. components directly with these negative components. Predicates only involving positive components are stated directly with these positive components. The positive components are first evaluated. If negative components exist, we evaluate the negative predicates. r1 17 Id: 1 w2 o10 1 1 time <r1, w2, o10> is generated. Predicates with Negation Example SEQ(Recycle r, ! SEQ(Washing w, ! Sharpening s, Disinfection d), Checking c, Operating o) Condition: all events have the same id. SEQ(Recycle r, ! SEQ(Washing w, ! (Sharpening s, s.id = w.id | d.id ), Disinfection d, w.id = d.id = o.id | c.id| r.id ), Checking c, Operating o, r.id = c.id = o.id) 18 Outline • • • • • • Event Processing NEEL Formal Semantics of NEEL E-Analytics System Case Study Conclusion Notations • denotes an ordered sequence. • denotes a set of event instances. • • 20 denotes the cross product of event histories. denotes predicates on events Formal Semantics of NEEL • Window constrained event history • Window constrained event history for the event type Ei • Union of event histories 21 Formal Semantics of NEEL • SEQ operator • SEQ operator with Negation 22 Formal Semantics of NEEL • AND operator • AND operator with Negation • OR operator 23 Outline • • • • • • Event Processing NEEL Formal Semantics of NEEL E-Analytics System Case Study Conclusion E-Analytics System Selective caching [DMSN] Algebraic operators: WinSeq WinOr, WinAnd Iterative execution strategy [DMSN] 25 [DMSN] Processing Strategies for Nested Complex Sequence Pattern Queries over Event Streams, Mo Liu, Medhabi Ray, Elke A. Rundensteiner, Dan Dougherty, Chetan Gupta, Song Wang, and Abhay Mehta, DMSN 2010 Outline • • • • • • • • Event Processing CEP Basics NEEL Formal Semantics of NEEL E-Analytics System Case Study Related Work Conclusion Case Study: Real-time Infection Control D. Wang, E. Rundensteiner, R. Ellison III, Active complex event processing: applications in realtime health care, VLDB (demonstration paper), 2010. 27 WPI and UMass Medical School project: Development and Testing of an Electronic Infection Control Reminder System for Healthcare Workers . Hospital Infection Control System (HICS) Sample Queries 28 Related Work SNOOP: do not support scope SASE: only support flat queries Cayuga: apply SQL-like syntax SEL: focus on temporal relationships only ODE: not compact for sequence and negation [SNOOP] Sharma Chakravarthy, V. Krishnaprasad, etc, Composite events for active databases: semantics, contexts and detection.VLDB 1994, pp. 606-617 [SASE] E. Wu,Y. Diao, and S. Rizvi, High-performance complex event processing over streams, SIGMOD, 2006, pp. 407-418. [Cayuga] A. J. Demers, J. Gehrke, B. Panda, M. Riedewald, V. Sharma, and W. M. White, Cayuga: A general purpose event monitoring system. in CIDR, 2007, pp. 412-422. [SEL] D. Zhu and A.S. Sethi, SEL - A New Event Pattern Specification Language for Event Correlation, Proc. ICCCN-2001, Tenth International Conference on Computer Communications and Networks, Scottsdale, AZ (Oct. 2001), pp. 586-589. [ODE] Narain H. Gehani, H. V. Jagadish, Oded Shmueli: Composite Event Specification in Active Databases: Model & Implementation. VLDB 1992, pp. 327-338 29 Conclusion Design NEEL composed of SEQ, NEGATION, AND, OR; Introduce the formal query semantics for NEEL; Study issues in NEEL for predicate, negation and etc; Design E-Analytics system; Conduct case study in health care 30 Thank You!