publish subscribe system s
play

Publish/ Subscribe System s IBM? An Application Case UBS? UBS? - PDF document

ETH Zurich Kay Rmer Publish/ Subscribe System s IBM? An Application Case UBS? UBS? IBM: 100 : 20 UBS : 20 UBS Network 2 0 0 2 0 1 : S B : M U B I Characteristics Hard to realize with RPC S ender needs to know


  1. ETH Zurich Kay Römer Publish/ Subscribe System s

  2. IBM? An Application Case UBS? UBS? IBM: 100 : 20 UBS : 20 UBS Network 2 0 0 2 0 1 : S B : M U B I

  3. Characteristics � Hard to realize with RPC – S ender needs to know identities of all receivers – S ender communicates with a large and dynamically changing set of receivers – S enders and receivers may not be up simultaneously – Information dissemination blocks sender � Many other applications – S tock information systems, auction systems, air traffic control, news ticker, alerting services, ... 3

  4. Pub/ Sub Architecture � Publishers publishers – Entities that produce information � S ubscribers events events events – Entities that consume information � Broker – Delivers information from producers broker to consumers � Events events events events subsc. subsc. subsc. – Basic units of information � S ubscription – Expression of interest in certain subscribers events 4

  5. Application Revisited subscriptions UBS? : 20 IBM? UBS events I B M : 1 0 0 IBM: 100 broker UBS 0 : 20 2 : S B U UBS? publishers subscribers 5

  6. Events & Notifications � Events – Asynchronous state transitions – Have a type: „ stockvalue“ – May have parameters: „ IBM“ , „ 100“ • Parameter names: „ company“ , „ value“ • Parameter types: string, integer • S pecial parameters: time, location � Representation – Plain text, XML, binary encoding, ... – Example: stockvalue(string company=„ IBM“ , int value=100) � Notifications – Messages carrying event representations 6

  7. Broker � Main tasks – (De)registration of publishers / subscribers – Matching of events with subscriptions – Routing of events from publishers to matching subscribers � Different implementations – Centralized vs. Distributed – S implicity vs. S calability 7

  8. Benefits � Decoupling of publishers and subscribers – S pace: no need to be connected or even know each other (anonymous) – Time: no need to be up at the same time – S ynchronization: publishing and receiving events are asynchronous operations � S uitable for large, dynamic systems – Many participating entities – Entities frequently enter and leave the system 8

  9. Event Matching � Key operation to identify subscribers to which an event must be delivered – Input: event e , set of subscriptions S – Output: all s ∈ S that match e � Depends on the semantics of subscriptions – Type-based: type of the event – Channel-based: cf. multicast group – Topic-based: cf. news group – Content-based: parameters of events 9

  10. Type-Based Subscriptions � S ubscriptions specify the type of the requested events – E.g., „ stockvalue“ � Event matching – Comparison of event type and suscription type 10

  11. Channel-based Subscriptions � Multiple, named broadcasts channels can be created – E.g., news, stock, ... � Publishers publish events to a specific channel – Events of different types may be published to a single channel � S ubscriptions specify the desired channel � Event matching – E.g., a multicast group for each channel news stock 11

  12. Topic-Based Subscriptions � Each event has a „ topic“ parameter � Topics are organized in a hierarchy � S ubscriptions specify a topic of interest � Event matching: – s matches e if topic of e is descendent of topic of s in the hierarchy stock IT financial IBM banks insurance UBS CS 12

  13. Content-Based Subscriptions � S ubscriptions refer to type and parameters values of events – E.g., type =„ stockvalue“ ∧ company =„ UBS “ ∧ value < 100 – Often a conj unction over atomic predicates: ( p 1 op 1 v 1 ) ∧ ( p 2 op 2 v 2 ) ∧ ... � Event matching – s matches e if the predicate of s holds on the parameter values of e – Algorithms to process multiple subscriptions with much lower overhead • If „ value < 100“ doesn‘ t match, then „ value < 20“ won‘ t match as well 13

  14. Event Routing � Nontrivial problem with distributed brokers for content-based subscriptions – Cannot use address-based routing! � Many different approaches – Hierarchical vs. peer-to-peer – Flooding vs. overlay 14

  15. A Distributed Broker Model � S ubscribers and publishers connect to a local broker � Brokers maintain connections to some, but not all other brokers – Form connected (acyclic? ) network � Routing problem: – Broker receives an event from either a publisher or another broker – To which brokers (and subscribers) should the event be sent? 15

  16. Event Flooding � If a broker receives an event e from n – Do nothing if e has been received before end e to all neighboring brokers except n – S end e to all matching subscribers – S � Ensures that all brokers will receive each event 16

  17. Exam ple � Event: e(v=...) � Content-based subscription: v<100 e(v=2) v<100 1 2 5 3 4 17

  18. Subscription Flooding � Idea: Use subscriptions to compute routing paths for events – This causes overhead whenever a subscriptions is added / removed / changed – But pays off if subscriptions change rarely compared to number of events published � Approach: each broker maintains a routing table of entries ( n i , s i ) – n = neighboring broker, s = subscription end e to all n i where s i matches e – S � S etup by subscription flooding: When a broker receives s from n – Do nothing if s has been received before – Create routing table entry ( n , s ) end s to all neighboring brokers – S 18

  19. Exam ple � Event: e(v=...) � Content-based subscription: v<100 e(v=2) 2: v<100 v<100 1 5: v<100 6 2 5 3 4 4: v<100 2: v<100 19

  20. Covered Subscriptions � Observations – Flooding the complete network for each subscription – Each broker has one routing table entry per subscription � Idea: exploit redundancy of subscriptions – E.g., events matching „ v <20“ also match „ v <100“ – We say: „ v <100“ covers „ v <20“ � Modified route setup: When a broker receives s from n – Do nothing if s has been received before – Do nothing if there is an entry ( n , s i ) and s is covered s i – Create routing table entry ( n , s ) end s to all neighboring brokers – S 20

  21. Exam ple How to handle Unsubscriptions? e(v=2) 2: v<100 4: v<20 v<100 1 5: v<100 7 2 5 v<20 3 6 4 4: v<100 2: v<100 Beware of loops 6: v<20 21

  22. Subscription Merging � Goal: reduce size of the routing table � Approach: Merge two routing table entries with same destination into one – Perfect: (1, v<10), (1, v>10) -> (1, v ≠ 10) – Imperfect: (1, v<10), (1, v>11) -> (1, v ≠ 10) 22

  23. Advertisem ents � Idea: Publishers announce details on the events they will generate, e.g. v <500 – Assuming this won‘ t change over time � Approach: Flood advertisements, building a second routing table – S ubscriptions are no longer flooded, but routed using the advertisement routing table – Instead of checking if an event matches a subscription, need to check if a subscription overlaps an advertisement • E.g., v <500 and v <100 overlap, but not v <500 and v > 600 23

  24. Exam ple � Advertisement: v<500 What if advertisement after subscription? � S ubscription: v<100 What if almost concurrently? 2: v<100 v<500 6: v<500 5: v<100 v<100 1 1: v<500 6 2 5 3 4 1: v<500 3: v<500 24

  25. Further I ssues � Dynamic networks – Joining, leaving, crashing brokers � Intermittent connectivity – Mobile networks with roaming publishers / subscribers – Event buffering � Quality of S ervice – Event ordering, latency, guaranteed delivery, security, ... � Composite events – A and B, A followed by B, ... 25

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend