A Framework for ObjectBased Event Composition in Distributed
A Framework for Object-Based Event Composition in Distributed Systems Peter Pietzuch and Brian Shand {Peter. Pietzuch, Brian. Shand}@cl. cam. ac. uk June 2002 – 12 th Ph. DOOS 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: Printer. Finished. Event, Sales. Order. 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 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)!1 s 7
Composite Event Objects • • Represent composite events Published by detectors • Example: (A|B); (C; D) • Interface to access primitive event instances 8
Mobile Detection Objects • • Detect composite events Are Event Subscriber + Publisher Encapsulate extended FSM with explicit input alphabet Example: • 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 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
- Slides: 16