A Framework for Object-Based
Event Composition in
Distributed Systems
Peter Pietzuch and Brian Shand
{Peter.Pietzuch,[email protected]
June 2002 – 12th PhDOOS Workshop, Malaga, Spain
Motivation
•
Large-scale systems require new middleware paradigms
–
•
O-O middleware (request/reply) limitations:
–
•
synchronous, tight coupling, one-to-one communication
New m/w paradigm: Event-Based Communication
–
•
need: scalability, loose coupling of components, reliability
require additional, expressive middleware services
Framework for Composite Event Detection
–
–
handle complexity of many events
distributed composite event detection (scalability)
1
Overview
•
•
•
Introduction to Event-Based Systems
Event-based Middleware Systems
Composite Event Detection
•
Our Composite Event (CE) Framework
– Composite Event Language
– Composite Event Objects
– Mobile Detection Objects
•
Distributed Composite Event Detection
•
Future Work
2
Event-based Systems
publish
Event Publisher
notify
Pub/Sub System
Event Subscriber
subscribe
•
Notion of an Event: • asynchronous occurrence in time
• contains data that describes the occurrence
• can be implemented as an object
•
•
Examples: PrinterFinishedEvent, SalesOrderEvent
Event Publishers publish events; Event Subscriber
subscribe to events with a subscription (filter
expression)
3
Event-Based Middleware
•
Middleware using the Pub/Sub paradigm
– built on top of an existing O-O/M-O middleware
– Scalable and fault-tolerant event dissemination algorithms
•
Properties: • Publisher/Subscriber are decoupled
•
Must be able to:
• asynchronous notification
• many-to-many communication
– integrate with O-O app programming language
– handle large number of events
 Composite Event Detection
4
Composite Event Detection
•
•
Composite Events denote patterns of events
Composite Event Detectors
Management
CED
Plant B
Supplier B
Client A
Plant C
•
•
Plant A
Sales
Department
Supplier A
Example: “Client A submits new order” ; “Sales Dept.
authorises order” ; “Plant A rejects order”
Scalability  Distributed detection
5
Our CE Framework
•
Design Guidelines
– Integration with an O-O middleware
– Facilitate distributed detection
– Little assumptions about pub&sub mechanisms
•
Components:
– Composite Event Language
– Composite Event Objects
– Mobile Detection Objects
CEO
MDO
MDO
CEO
MDO
MDO
CEO
CEO
MDO
CEO
CEO
MDO
CEO
MDO
6
Composite Event Language
•
Regular-expression based
– can be detected by (extended) finite state automata
– bounded resource usage
– minimal set of operators
•
Examples
– A followed by B, or C
(A;B)|C
– Any number of A in
parallel with B
<A*,B>
•
Distribution:
– Decomposable along
syntax tree
– explicit input alphabet
e.g. [A|B in A,B,C]
Operators
Atom
A
Concatenation
A;B
Duplication
A*
Alternation
A|B
Parallelization
<A,B>
Timing
(A,B)!1s
7
Composite Event Objects
•
•
Represent composite events
Published by detectors
•
Example: (A|B);(C;D)
CEO
;
|
A
•
;
B
C
D
Interface to access primitive event instances
8
Mobile Detection Objects
•
•
•
•
MDO
Detect composite events
Are Event Subscriber + Publisher
Encapsulate extended FSM with explicit input alphabet
Example:
n o tify
e x te n d e d F S M
A
s u b s c rib e
B
n o tify
•
Distribution: Agent-like behaviour
– migrate to different location to optimise detection
– can cooperate by decomposing expressions
9
Distribution Example I
•Example: new expression (A|B);(C;D)
notify
A|B
C;D
MDOA|B
A
MDOC;D
B
notify
C
Composite Event
Object (CEO)
D
notify
MDO
Mobile Detection
Object (MDO)
10
Distribution Example II
notify
(A|B);(C;D)
MDO(A|B);(C;D)
notify
A|B
C;D
MDOA|B
A
MDOC;D
B
notify
C
Composite Event
Object (CEO)
D
notify
MDO
Mobile Detection
Object (MDO)
11
Distribution Example III
n o tify
C E A |B
(A |B );(C ;D )
M D O (A |B );( C ;D )
s u b s c rib e
s u b s c rib e
RN
C E C;D
RN
n o tify
A |B
C ;D
s u b s c rib e
s u b s c rib e
M D O A |B
A
M D O C;D
B
n o tify
C
C o m p o site E v en t
O b ject (C E O )
D
n o tify
MDO
M o b ile D etectio n
O b ject (M D O )
C o m p o site E v en t
R en d ezv o u s N o d e
(C E R N )
12
Distributed Detection
•
Distribution Policy handles
– MDO placement and migration (optimise for bandwidth,
latency, …)
– Degree of CE expression decomposition
– Degree of replication (reliability and load-balancing)
•
Distribution Issues (Network delay)
– Out of order arrival of events due to network delays
– Best-Effort Detection vs. Guaranteed Detection
– Event Publisher failure?
13
Future Work
•
Implementation in Hermes Pub/Sub Simulator
– investigate different Distribution Policies
– performance/cost of the framework?
– temporal issues…
•
Higher-level, domain-specific CE specification
languages
– user-friendly language
– language-binding
– GUI
14
Conclusions
•
Event-Based Middleware
– good for building large-scale systems
– must provide additional services
•
Composite Event Detection
– handle large number of events
– should be part of the middleware
•
Framework for Distributed CE Detection
–
–
–
–
object-based (CEOs & MDOs)
distributed (CE detectors as agents)
composite event language (extended FSMs)
distribution policies
15
Descargar

Document