160 likes | 201 Vues
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 PhDOOS Workshop, Malaga, Spain. Motivation. Large-scale systems require new middleware paradigms
E N D
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 – 12th PhDOOS Workshop, Malaga, Spain
Motivation • 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)
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
Event-based Systems publish notify • Notion of an Event: • Examples: PrinterFinishedEvent, SalesOrderEvent • Event Publishers publish events; Event Subscriber subscribe to events with a subscription (filter expression) Event Publisher Pub/Sub System Event Subscriber subscribe • asynchronous occurrence in time • contains data that describes the occurrence • can be implemented as an object
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: • Must be able to: • integrate with O-O app programming language • handle large number of events • Publisher/Subscriber are decoupled • asynchronous notification • many-to-many communication Composite Event Detection
Management Plant A CED Plant B Supplier B Client A Sales Supplier A Plant C Department Composite Event Detection • 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
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
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 inparallel with B<A*,B> • Distribution: • Decomposable alongsyntax tree • explicit input alphabet e.g. [A|B in A,B,C]
Composite Event Objects • Represent composite events • Published by detectors • Example: (A|B);(C;D) • Interface to access primitive event instances
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
Distribution Example I • Example: new expression (A|B);(C;D) notify C;D A|B MDO MDO A|B C;D Composite Event A B Object (CEO) C D notify Mobile Detection notify MDO Object (MDO)
Distribution Example II notify (A|B);(C;D) MDO (A|B);(C;D) notify C;D A|B MDO MDO A|B C;D Composite Event A B Object (CEO) C D notify Mobile Detection notify MDO Object (MDO)
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?
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
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