740 likes | 1.16k Views
The Publish/Subscribe Communication Paradigm and its Application to Mobile Systems . Roberto Baldoni Dipartimento di Informatica e Sistemistica Università degli Studi di Roma “La Sapienza”. Outline. Introduction Basics of pub/sub communication systems Subscription models
E N D
The Publish/Subscribe Communication Paradigm and its Application to Mobile Systems Roberto Baldoni Dipartimento di Informatica e Sistemistica Università degli Studi di Roma “La Sapienza” MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Outline • Introduction • Basics of pub/sub communication systems • Subscription models • Architectural models • Event Routing • Impact of mobility MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Introduction: The Publish/Subscribe Communication Style Publish/Subscribe Middleware Publisher Subscriber Publishers publish notifications withinteresting information Subscribers register subscriptionscharacterizing information interests Middleware delivers notifications tomatching subscribers Middleware determines whichsubscriptions match which notifications MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Inroduction The Publish/Subscribe Paradigm • Publish/Subscribe (pub/sub): a powerful abstraction for building distributed applications • Message-based, anonymous communication • Participants are decoupled • in space: no need to be connected or even know each other • in flow: no need to be synchronized • in time: no need to be up at the same time • Good solution for highly dynamic, decentralized systems (e.g., wired environments with huge numbers of publishers and subscribers, MANETs, P2P etc) • Many research issues, involving several research areas (e.g., systems, software eng., databases etc) MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Introduction • Widely popular both in the industry and in the research • Industry solutions for pub/sub are almost centralized • Research has mainy to face the scalability aspect • Applications • Stock information delivery • Auction system • Air traffic control • .etc… • Many names for pub/sub systems: notification service, data distribution service MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
notification service IBM: -3,75 IBM: -3,75 IBM: 12,51 S1: IBM S2: ACME S3: ACME ACME: +0,15 ACME: +0,15 ACME: +0,15 IBM: +2,51 Basic Interaction Model subscribers publishers “IBM” S1 “ACME” S2 “ACME” S3 subscription event notification MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
broker IBM: -3,75 IBM: -3,75 IBM: 12,51 ACME: +0,15 ACME: +0,15 ACME: +0,15 IBM: +2,51 Distributed Notification Service notification service “IBM” S1 S1: IBM “ACME” S2 S2: ACME “ACME” S3: ACME S3 • Matching • Determining the recipients for an event • Routing • Delivering a notification to all the recipients MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Research Topics • System architecture • Efficient routing algorithm • Reliable messaging sending (the QoS issue) • Security • Special application issues • Millions of users • Mobile environment • P2P • Sensors networks……. MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Pub/Sub Systems • IBM – Gryphon • Stanford – SIFT and more… • CU-Boulder – Siena • France – Le Subscribe • Technische University Darmstadt – REBECA • Microsoft – Herald • MIT • Others – XMLBlaster, Elvin4, TIB, Keryx, REBECA MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
IBM: -3,75 ACME: +0,15 IBM: +2,51 Subscription Models notification service IBM: -3,75 “IBM” & v < 0 S1 IBM: +2,51 S1: IBM S2: ACME S3: ACME S1: IBM,v<0 S2: ACME S3: ACME “ACME” ACME: +0,15 S2 “ACME” ACME: +0,15 S3 • Topic-Based [Oki et al. 93]: • events are divided in topics • subscribers subscribe for a single topic • Content-Based [Carzaniga et al 2001]: • subscriptions are generic queries SQL-like on the event schema • Type-Based [Eugster 2001]: • notifications are objects • type is the discriminating attribute MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Pub/Sub Variants: Topic-based • Event space is divided in topics, corresponding to logical channels • Participants subscribe for a topic and publish on a topic • Receivers for an event are known a priori • Channel = Group • Therefore often exploit network-level multicast • Group communication MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Content Based pub-sub: event schema • Subscriptions and events defined over an n-dimensional event space (E.g. StockName = “ACME” and change < -3) • Subscription: conjunction of constraints a2 subscription event Content-based subscriptions can include range constraints a1 MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Pub/Sub Variants: Content-based • Receivers are calculated for each event being published • Exploiting multicast is not straighforward • How are subscribers assigned to groups? “ACME” ACME, change = -5 ACME, change = -2 “ACME”, change < -3 MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Topic vs. Content • Topic-based pub/sub • Recipients are known a-priori • Many efficient implementations exist: e.g. tib • Limited expressiveness • Content-based pub/sub • Cannot determine recipients before publication • More flexible • More general • Much more difficult to implement efficiently MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Architectural Model of a pub/sub • Network Multicasting • Broker layer overlay • Structured Overlay MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Architectural Model of a pub/sub • Network Multicasting • Use of multicast networking facilities (also at data link level) • Broker layer overlay • Based on transport level connections between nodes • Hierarchical (Decision tree from publisher to subscribers) • Undirected Acyclic graph spanning all brokers • Structured Overlay • DHT (abstracting from physical nodes) MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
EVENT vs SUBSCRIPTION ROUTING • Extreme solutions • Sol 1 (event flooding) • flooding of events in the notification event box • each subscription stored only in one place within the notification event box • Matching operations equal to the number of brokers • Sol 2 (subscription flooding) • each subscription stored at any place within the notification event box • each event matched directly at the broker where the event enters the notification event box MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Identification of intermediate routing solutions Connectivity publishers subscribers brokers Handling subscriptions MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Subscription Partitioning (s) Connectivity publishers subscribers brokers Identification of intermediate routing solutions Handling subscriptions: “subscription partitioning” i.e., “where to store s” s MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Subscription Partitioning (s) Connectivity publishers subscribers brokers Identification of intermediate routing solutions Handling subscriptions: “subscription routing” i.e., “how to bring s there” Subscription Routing s MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Subscription Partitioning (s) Subscription Routing Connectivity publishers subscribers brokers Identification of intermediate routing solutions Handling events e MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Subscription Partitioning (s) Subscription Routing Connectivity Event Partitioning (e) publishers subscribers brokers Identification of intermediate routing solutions Handling events: “Event Partitioning” i.e., “where to match e” e MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Subscription Partitioning (s) Subscription Routing Connectivity Event Routing Event Partitioning (e) publishers subscribers brokers Identification of intermediate routing solutions Handling events: “Event Routing” i.e., “How to bring e there” e MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Subscription Partitioning (s) Subscription Routing Matching (e) Connectivity e Event Routing Event Routing Event Partitioning (e) publishers subscribers brokers Identification of intermediate routing solutions Handling events: “Event Matching” i.e., “define the set of recipients of e” MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Matching (e) Notification routing Event Routing Event Partitioning (e) Identification of intermediate routing solutions Handling events: “Notification Routing” i.e., “bring e to the destinations” Subscription Partitioning (s) Subscription Routing Connectivity e Event Routing publishers subscribers brokers MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Identification of intermediate routing solutions Subscription Partitioning Subscription Routing Matching Notification routing Event Routing Event Partitioning (e) MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Basic Techniques for intermediate routing solutions • Filtering-based Routing [Carzaniga et al. 2001] • Undirected Acyclic graph spanning all the brokers • Rendez-Vous Routing • [Wang et al. 2002] based on dynamic partitioning of the event space among a set of brokers • [Castro et al 2002] based on DHT MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Filtering based routing • Identifying as soon as possible events that are not interesting for any subscriber and arrest their diffusion • Creating “diffusion paths” that lead to subscribers for the event • Construction of a diffusion path requires routing info to be maintained at brokers • Routing information consists of a set of filters (aggregate of subscriptions) that are reachable through that broker MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Filtering based routing: Three main phases • Subscription forwarding: subscriptions (filters) are propagated to every broker leaving state along the path • Matching notification follow (backwards) the path set by subscriptions • Reducing subscription propagation • Avoiding subscription propagation when a filter including the subscription has been already forwarded MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
s1: price > 600 SIENAFiltering-Based RoutingSubscription Forwarding s1:1 a 2 s1:a 1 s1:2 s1:2 3 5 s1:1 4 6 s1:3 7 s1:3 8 s1:5 9 s1:6 MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
s2: price > 700 SIENAFiltering-Based Routing Subscription Merging s1 covers s2 s1:1 s2:5 s1:1 s1 covers s2 splitter a 2 s1:a s2:2 s1:a 1 splitter s1:2 s1:2 s2:8 s1:2 3 5 s1:1 4 6 s1:3 7 s1:3 8 b s1:5 s1:5 s2:b 9 s1:6 MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
n1:price = 899 SIENAFiltering-Based Routing Notification Delivery n1matches s1 n1matches s2 s1:1 s2:5 a 2 s1:a s2:2 1 s1:2 s1:2 s2:8 3 5 s1:1 4 6 s1:3 7 s1:3 8 b s1:5 s2:b 9 s1:6 MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Filtering based routing • Tradeoff between subscription redundancy and subscription flooding • The more the brokers aware of any subscription the earlier notifications that do not match any subscription are filtered out • Tradeoff between expressiveness of subscription language and scalability • Expressiveness complexity brings to flood filters • Limited complexity better scalability MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Rendez Vous Routing • Each event of the event space is owned by one or more (reliability reasons) brokers • Three functions: • SN(): 2N (rendez-vous nodes of ) • EN(e): 2N (rendez-vous nodes of e) • If e SN() thenSN() EN(e) (intersection rule) • Main characteristics: • Controlled subscriptions distribution • Controlled matching • Better load balance MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
σ σ σ σ σ e Rendezvous-based routing • Each node is responsible for a partition of the event space • Storing subscriptions, matching events e σ Problem: difficult to define mapping functions when the set of nodes changes over time MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Rendez-Vous routing based on DHT • A matching publisher & subscriber must come up with the same hash keys based on the content Distributed Hash Table buckets distributed publish/subscribe system MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Rendez-Vous routing based on DHT • A matching publisher & subscriber must come up with the same hash keys based on the content Distributed Hash Table buckets home node subscriber subscription MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Rendez-Vous routing based on DHT • A matching publisher & subscriber must come up with the same hash keys based on the content Distributed Hash Table buckets home node subscription subscriber publisher publication MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Rendez-Vous routing based on DHT • A matching publisher & subscriber must come up with the same hash keys based on the content Distributed Hash Table buckets home node subscription publication subscriber publisher MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Rendez-Vous routing based on DHT • A matching publisher & subscriber must come up with the same hash keys based on the content Distributed Hash Table buckets home node subscription subscriber publisher publication MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
unsub() sub() send() pub() leave() join() notify() delivery() Rendez-Vous routing [Baldoni et al 2005] Application Event space is mapped into the universe of keys (fixed) CB-pub/sub Subs ak-mapping • Stateless mapping: • Does not depend on execution history (subscriptions, node joins and leaves) DHT Overlay maintains consistency of KN mapping kn-mapping MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Rendez Vous Routing • Problem: • bottleneck at hash bucket nodes • Structuring subscribers as a multicast diffusion tree • Restrictions on the subscription language: • Mapping between multidimensional multi-typed subscriptions to the uni or bi-dimensional space of a structured overlay is not straightforward (e.g., string manipulation) • Strong points: • Handle inherently dynamic changes in the overlay MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Summary of routing • Filtering based routing: • Order of hundreds of brokers • Managed environment • Rendez-vous routing based on DHT • Order of thousands of nodes • Unmanaged environment MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
A few pub/sub systems MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Pub/Sub Sysems: Tib/RV [Oki et al 03] • Topic Based • Two level hierarchical architecture of brokers (deamons) on TCP/IP • Event routing is realized through one diffusion tree per subject • Each broker knows the entire network topology and current subscription configuration MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Pub/Sub systems: Gryphon [IBM 00] • Content based • Hierarchical tree from publishers to subscribers • Filtering-based routing • Mapping content-based to network level multicast MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Pub/Sub Systems: SCRIBE [Castro et al. 02] • Topic Based • Based on DHT (Pastry) • Rendez-vous event routing • A random identifier is assigned to each topic • The pastry node with the identifier closest to the one of the topic becomes responsible for that topic MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
MEGHDOOT • Content Based • Based on Structured Overlay CAN • Mapping the subscription language and the event space to CAN space • Subscription and event Routing exploit CAN routing algorithms MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Mobile Environment MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005
Potential Advantages of Pub/Sub for Mobile Wireless • Decoupling of publishers and subscribers aids mobility • Decoupling of publishers and subscribers aids disconnected operation • Multicast delivery can exploit intrinsic broadcast properties of wireless MINEMA Summer School - Klagenfurt (Austria) July 11-15, 2005