13e9010c79a5bca6a848c8aed0d2b84c.ppt
- Количество слайдов: 74
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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 1
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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 2
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Introduction: The Publish/Subscribe Communication Style Publisher Publish/Subscribe Middleware Subscriber Publishers publish notifications with Subscribers register subscriptions Middleware delivers notifications to Middleware determines which characterizing information interests interesting subscribers subscriptions matchinformation matching which notifications MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 3
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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, P 2 P etc) • Many research issues, involving several research areas (e. g. , systems, software eng. , databases etc) MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 4
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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 5
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Basic Interaction Model subscribers publishers notification service IBM: -3, 75 “IBM” S 1 IBM: 12, 51 ACME: +0, 15 S 1: IBM S 2: ACME S 3: ACME “ACME” ACME: +0, 15 S 2 “ACME” ACME: +0, 15 IBM: +2, 51 S 3 subscription event notification MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 6
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Distributed Notification Service broker notification service IBM: -3, 75 S 1: IBM “IBM” S 1 IBM: 12, 51 “ACME” ACME: +0, 15 S 2: ACME: +0, 15 “ACME” S 3: ACME: +0, 15 IBM: +2, 51 S 2 S 3 Matching Determining the recipients for an event Routing Delivering a notification to all the recipients MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 7
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Research Topics • • • System architecture Efficient routing algorithm Reliable messaging sending (the Qo. S issue) Security Special application issues – – Millions of users Mobile environment P 2 P Sensors networks……. MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 8
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Pub/Sub Systems • • IBM – Gryphon Stanford – SIFT and more… CU-Boulder – Siena France – Le Subscribe Technische University Darmstadt – REBECA Microsoft – Herald MIT Others – XMLBlaster, Elvin 4, TIB, Keryx, REBECA MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 9
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Subscription Models notification service IBM: -3, 75 “IBM” & v<0 S 1 IBM: +2, 51 ACME: +0, 15 S 1: IBM, v<0 S 2: ACME S 3: ACME “ACME” ACME: +0, 15 S 2 “ACME” IBM: +2, 51 Topic-Based [Oki et al. 93]: - events are divided in topics - subscribers subscribe for a single topic ACME: +0, 15 S 3 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 10
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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 11
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Content Based pub-sub: event schema • Subscriptions and events defined over an n-dimensional event space (E. g. Stock. Name = change < -3) “ACME” and – Subscription: conjunction of constraints a 2 event subscription Content-based subscriptions can include range constraints a 1 MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 12
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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 13
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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 14
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Architectural Model of a pub/sub • Network Multicasting • Broker layer overlay • Structured Overlay MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 15
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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 16
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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 17
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Identification of intermediate routing solutions Connectivity subscribers publishers brokers Handling subscriptions MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 18
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Identification of intermediate routing solutions Handling subscriptions: “subscription partitioning” i. e. , “where to store s” Subscription Partitioning (s) Connectivity s subscribers publishers brokers MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 19
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Identification of intermediate routing solutions Handling subscriptions: “subscription routing” i. e. , “how to bring s there” Subscription Partitioning (s) Subscription Routing Connectivity s subscribers publishers brokers MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 20
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Identification of intermediate routing solutions Handling events Subscription Partitioning (s) Subscription Routing Connectivity e subscribers publishers brokers MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 21
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Identification of intermediate routing solutions Handling events: “Event Partitioning” i. e. , “where to match e” Subscription Partitioning (s) Subscription Routing Connectivity e subscribers brokers Event Partitioning (e) MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 publishers 22
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Identification of intermediate routing solutions Handling events: “Event Routing” i. e. , “How to bring e there” Subscription Partitioning (s) Subscription Routing Connectivity e Event Routing subscribers brokers Event Partitioning (e) MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 publishers 23
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Identification of intermediate routing solutions Handling events: “Event Matching” i. e. , “define the set of recipients of e” Subscription Partitioning (s) Subscription Routing Matching (e) Connectivity e Event Routing subscribers brokers Event Partitioning (e) MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 publishers 24
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Identification of intermediate routing solutions Handling events: “Notification Routing” i. e. , “bring e to the destinations” Subscription Partitioning (s) Subscription Routing Matching (e) Connectivity e Notification routing Event Routing subscribers brokers Event Partitioning (e) MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 publishers 25
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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 26
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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 27
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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 28
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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 29
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica SIENA Filtering-Based Routing Subscription Forwarding s 1: price > 600 a 1 s 1: 1 2 s 1: a s 1: 2 s 1: 1 3 5 4 s 1: 3 6 s 1: 3 s 1: 5 8 s 1: 6 7 9 MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 30
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica SIENA Filtering-Based Routing Subscription Merging s 1 covers s 2 a splitter 1 s 1: a s 2: 2 4 s 1 covers s 2 2 s 1: 2 s 2: 8 s 1: 1 s 2: 5 s 1: 2 3 5 s 1: 3 6 s 2: price > 700 b s 1: 5 s 2: b s 1: 3 8 s 1: 6 7 9 MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 31
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica SIENA Filtering-Based Routing Notification Delivery a 1 s 1: 1 s 2: 5 s 1: a s 2: 2 2 s 1: 2 s 2: 8 s 1: 1 4 n 1 matches s 1 n 1 matches s 2 s 1: 2 3 5 s 1: 3 6 s 1: 3 b s 1: 5 s 2: b 8 7 n 1: s 1: 6 9 price = 899 MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 32
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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 33
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Rendez Vous Routing • Each event of the event space is owned by one or more (reliability reasons) brokers • Three functions: – SN( ): 2 N – EN(e): 2 N – If e SN( ) then SN( ) EN(e) (rendez-vous nodes of e) (intersection rule) • Main characteristics: – Controlled subscriptions distribution – Controlled matching – Better load balance MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 34
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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 School MINEMA Summer Klagenfurt (Austria) July 11 -15, 2005 e 35
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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 36
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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 37
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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 38
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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 publication publisher MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 39
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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 40
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Rendez-Vous routing [Baldoni et al 2005] Application sub() unsub() Subs pub() notify() ak-mapping CB-pub/sub send() delivery() join() leave() kn-mapping DHT MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 Event space is mapped into the universe of keys (fixed) Stateless mapping: -Does not depend on execution history (subscriptions, node joins and leaves) Overlay maintains consistency of KN mapping 41
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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 42
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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 43
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica A few pub/sub systems MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 44
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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 45
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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 46
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Pub/Sub Systems: SCRIBE [Castro et al. 02] • • • Topic 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 47
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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 48
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Mobile Environment MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 49
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica 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 50
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Impact of mobility: Information-Centric Mobile Wireless Applications • • • Consumer Alerts Location-Based Services Multiplayer Online Games Battlefield Awareness Distributed Sensor Networks Workflow management MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 51
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Scenarios of mobility • One-hop mobile network – Centralized vs distributed dispatcher – JEDI 2001, Huang 2001 • Multi-hop mobile network (MANET) – No wired infrastructure – Frequent changes in topology (2002 – now…) MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 52
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica One-hop wireless network • Problems in distributed pub/sub architectures [Huang 2001]: failures, message losses and disconnections • Important issues in a replicated pub-sub [Huang 2001]: – Orderedness – Consistency – Completeness MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 53
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Mobile ad-hoc network: issues • Costantly changing topology • Unicast is expensive while broadcast is cheap • Communication is less “reliable” than in wired systems due to disconnections (driven by mobility or volountary) • Effects on how to design a middleware for pub/sub (e. g. , to improve performance of the event dispatching system reducing the complexity of expressiveness) MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 54
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Frequent Questions • Do we really need complex subscription languages for pub/sun over MANETs? • What is the right MANET model? ? – Reconfiguration and a long period of stability or – Frequent reconfigurations and short period of stability – Partition or not partition? ? ? • Allowing partitions means a lot of memory on board!! MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 55
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Architectural Model for Mobile adhoc networks Application Pub/sub Routing PS-Routing Pub/sub MAC MAC [Anceaume et al 2002, [Mottola et al 2005, Picco et al 2003] Bacon et al 2005] [Huang et al 2002, Baldoni et al 2005, Bahemi et al 2005] MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 56
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Topological Reconfiguration Assumption: the underlying tree is kept connected and loop-free by some algorithm Application CB Pub/sub Routing MAC [Picco et al 2003] SIENA is the target CB-Pub/Sub System Target: rearrange route traversed by events in response to changes in the topology of the network of dispatchers (brokers) Separation of concerns between connectivity layer and event dispatching layer MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 57
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Topological Reconfiguration Application Original topology of the event dispatching layer CB Pub/sub AB link breakage Routing MAC CD link formation [Picco et al 2003] MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 58
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Topological Reconfiguration Application CB Pub/sub Routing MAC [Picco et al 2003] Strawman approach: • A and B trigger unsubscriptions in their subtrees immediately after link breakage • C and D trigger subscriptions immediately when link appears Proposed approach: • after link breakage, A and B delay the triggerring of unsubscriptions in their subtrees • C and D trigger subscriptions immediately when link appears Rationale: Subscriptions persist longer on the tree and upon reconnection subscriptions propagate only till the first splitter (executing the filter merging) MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 59
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Topological Reconfiguration • Retrofitting reliability (events lost during reconfiguration) through gossip-based algorithms Application CB Pub/sub • What about partitioning or isolation? ? [Anceaume et al. 2002] assumes the network does not partition for a time long enough to maintain the DAG Routing • New approaches: Semi-deterministic routing (Costa et al 2005) MAC – Trading subscription diffusion for better reaction to topology changes [Picco et al 2003] – Similar to ZRP in MANET MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 60
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Integration Approach Assumption: the underlying tree is kept connected and loop-free by MAODV Application PS-Routing MAC Target: maintaining a tree-shaped overlay network on top of the dynamic topology of a MANET Integration between connectivity layer and event dispatching layer [Mottola et al 2005] MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 61
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Broadcast-Based approach • Usage of multicast provided by the MAC • [Huang et al. 2002] Application Pub/sub MAC [Huang et al 2002, Baldoni et al 2005, Bahemi et al 2005] – Keep a pub/sub tree to disseminate events • Same assumption as [Anceaume et al. 2002] • [Bahemi et al 2005] – Smart gossipping – Local subscription – Similar to eventual consistency (entropy algorithm) in databases [Bayeaux, Demers et al. 94] – No assumption on frequency of reconfiguration MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 62
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Broadcast-based approach Motivation: a tree topology over a MANET is hard to implement it (expecially when topology changes become frequent) Application Assumption: structure-less (not requiring any logical CB Pub/sub network-wide structure and no link breakage detection) MAC Autonomous behavior: (no need of nodes to cooperate explicitly) [Baldoni et al 2005] Subscriptions are kept local Result: good reaction to partitions MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 63
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Gossip-based approach Basic observation: for any two brokers b and b’, it is possible to define a sequence of brokers b 1, . . bn, such that Application 1. their distance from b strictly increase and their distance to b’ strictly decrease. CB Pub/sub 2. bi and bi+1 are adjacent each other MAC • [Baldoni et al 2005] • Do not rely on a positioning service (a beacon message is sufficient to estimate the distance between two adjacent nodes) The approach is fully distributed (each process decide autonomously if relaying the message) MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 64
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Broadcast-based approach Application Basic beaconing Algorithm: • Each broker periodically sends a beacon containing its filter • A broker receiving beacons from adjacent brokers form a hint table CB Pub/sub • The hint table contains for each row the last time the beacon has been received from a given broker. MAC This permits a broker to determine how many [Baldoni et al 2005] beacons have been missed from another broker. This value is set to: • if the two brokers never come in contact • 0 if they are currently adiacent MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 65
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Broadcast-based approach Basic “descreasing distance” Algorithm: • each event carries a destination list (the “estimated” list of brokers interested to that event) • Receiving an event e, a broker b goes in the “ready to forward state for e” if: (i) b is aware of some broker not mentioned in the destination list and matchnig the event or (ii) for some broker b’ contained in the destination list whose hint is greater than the one stored at b • If “ready to forward state for e”, b schedules the actual forwarding of e with a delay proportional to the lowest hint applicable from the previou steps • During the delay if b receives e from some other neighbors it drops the forwarding MINEMA Summer School 66 Klagenfurt (Austria) July 11 -15, 2005
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Broadcast-based approach Application CB Pub/sub MAC [Baldoni et al 2005] MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 67
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Comparison • Topological reconfiguration – Not suitable for frequent topology changes (too much overhead for updating the filter information) – not suitable for partition or isolation (too much overhead) … this means no disconnected work – Alway need cooperations among brokers • Broadcast-based – – Suitable for frequent topology changes Can adapt to partitions and isolations Expoit the broadcast nature of the environment Nodes do not need to cooperate MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 68
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Research Directions for pub/sub on MANETs Capture fundamental problems posed by dynamic behavior Applications Reference implementations Real deployments Qos definition and enforcement Properties of sparse networks But…most important Please stop doing papers on algorithms + sim MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 69
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Dynamic Distributed Systems • Common problems among implementing pub/sub on mobile ad-hoc networks and realizing pub/sub on a structured overlay or on a dense sensor network • Similar techniques have been used • Dynamic behavior becomes crucial in modern distributed systems • It would be interested to studying general solutions to such a common problem MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 70
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Thanks Roberto Beraldi, Gianpaolo Cugola, Antonino Virgillito, Roman Vitemberg, Mariangela Contenti, Carlo Marchetti, Sara Tucci Piergiovanni, Leonardo Querzoni and thanks to many other people that worked with me on the topic I also have to thank David Rosemblum and Hans-Arno Jacobsen for taking inspiration (…and a few slides) by some of their presentations on the topic MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 71
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica A few references Paolo Costa, Matteo Migliavacca, Gian Pietro Picco, Gianpaolo Cugola: Epidemic Algorithms for Reliable Content. Based Publish-Subscribe: An Evaluation. ICDCS 2004: 552 -561 Paolo Costa, Matteo Migliavacca, Gian Pietro Picco, Gianpaolo Cugola: Introducing reliability in content-based publish-subscribe through epidemic algorithms. DEBS 2003 Gian Pietro Picco, Gianpaolo Cugola, Amy L. Murphy: Efficient Content-Based Event Dispatching in the Presence of Topological Reconfiguration. ICDCS 2003: 234 -243 Gianpaolo Cugola, Elisabetta Di Nitto, Alfonso Fuggetta: The JEDI Event-Based Infrastructure and Its Application to the Development of the OPSS WFMS. IEEE Trans. Software Eng. 27(9): 827 -850 (2001) Eiko Yoneki, Jean Bacon: Content-Based Routing with On-Demand Multicast. ICDCS Workshops 2004: 788 -793 Eiko Yoneki, Jean Bacon: Dynamic Publish/Subscribe in Mobile Peer-to-Peer Systems. OTM Workshops 2004: 1 S. Baehni, C. S. Chhabra, R. Guerraoui, Mobility Friendly Publish/Subscribe, EPFL technical report 2005 Roberto Baldoni, Roberto Beraldi, Sara Tucci Piergiovanni, Antonino Virgillito: On the modelling of publish/subscribe communication systems. Concurrency - Practice and Experience 17(12): 1471 -1495 (2005) Roberto Baldoni, Roberto Beraldi, Leonardo Querzoni, Antonino Virgillito: Subscription-Driven Self-Organization in Content-Based Publish/Subscribe. ICAC 2004: R. Baldoni, R. Beraldi, G. Cugola, M. Migliavacca, L. Querzoni, Structure-less Content-Based Routing in Mobile Ad Hoc Networks (To appear) International Conference on Pervasive Services (ICPS '05), Santorini, Greece, July 2005 R. Baldoni, C. Marchetti, A. Virgillito, R. Vitenberg, Content-Based Publish/Subscribe over Structured Overlay Networks To appear in Proceedings of the 25 th International Conference on Distributed Computing Systems (ICDCS '05), Columbus, Ohio, June 2005 P. Costa. G. P. Picco, Semi Probabilistic content based-pub-subscribe To appear in Proceedings of the 25 th International Conference on Distributed Computing Systems (ICDCS '05), Columbus, Ohio, June 2005 MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 72
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Other references MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 73
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Other references MINEMA Summer School Klagenfurt (Austria) July 11 -15, 2005 74