Time - Worcester Polytechnic Institute

advertisement
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!
Download