A Framework for Object-Based Event Composition in Distributed Systems Peter Pietzuch and Brian Shand June 2002 – 12 th PhDOOS Workshop, Malaga, Spain
1 Large-scale systems require new middleware paradigms –need: scalability, loose coupling of components, reliability O-O middleware (request/reply) limitations: –synchronous, tight coupling, one-to-one communication New m/w paradigm: Event-Based Communication –require additional, expressive middleware services Framework for Composite Event Detection –handle complexity of many events –distributed composite event detection (scalability) Motivation
2 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 Overview
3 Notion of an Event: Examples: PrinterFinishedEvent, SalesOrderEvent Event Publishers publish events; Event Subscriber subscribe to events with a subscription (filter expression) Event-based Systems Event Publisher Event Subscriber publish notify subscribe Pub/Sub System asynchronous occurrence in time contains data that describes the occurrence can be implemented as an object
4 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: Must be able to: –integrate with O-O app programming language –handle large number of events Event-Based Middleware Publisher/Subscriber are decoupled asynchronous notification many-to-many communication Composite Event Detection
5 Composite Event Detection Management Plant A Plant B Sales Department Plant C Supplier A CED Supplier B Client A Composite Events denote patterns of events Composite Event Detectors Example: “Client A submits new order” ; “Sales Dept. authorises order” ; “Plant A rejects order” Scalability Distributed detection
6 Design Guidelines –Integration with an O-O middleware –Facilitate distributed detection –Little assumptions about pub&sub mechanisms Components: Our CE Framework – Composite Event Language – Composite Event Objects – Mobile Detection Objects
7 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 Distribution: –Decomposable along syntax tree –explicit input alphabet e.g. [A|B in A,B,C] Composite Event Language Operators AtomA ConcatenationA;B DuplicationA* AlternationA|B Parallelization Timing(A,B)!1s
8 Represent composite events Published by detectors Example: (A|B);(C;D) Interface to access primitive event instances Composite Event Objects
9 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 Mobile Detection Objects
10 Distribution Example I MDO A|B MDO C;D notify Composite Event Object (CEO) MDO Mobile Detection Object (MDO) AB CD A|B C;D notify Example: new expression (A|B);(C;D)
11 Distribution Example II MDO (A|B);(C;D) MDO A|B MDO C;D notify Composite Event Object (CEO) MDO Mobile Detection Object (MDO) AB CD A|B C;D (A|B);(C;D) notify
12 Distribution Example III
13 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? Distributed Detection
14 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 Future Work
15 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 Conclusions