1 / 29

Unified Approach for Routing, Covering, and Merging in Pub/Sub Systems

This article presents a unified approach for routing, covering, and merging in pub/sub systems using modified binary decision diagrams. It explores covering-based and merging-based routing and evaluates their effectiveness.

Download Presentation

Unified Approach for Routing, Covering, and Merging in Pub/Sub Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Unified Approach to Routing, Covering and Merging in Pub/Sub Systems based on Modified Binary Decision Diagrams Guoli Li Shuang Hou Hans-Arno Jacobsen Middleware Systems Research Group University of Toronto

  2. Agenda • PADRES Project • MBD-based Router Architecture • Covering-based Routing • Merging-based Routing • Evaluations ICDCS 2005 Columbus, Ohio

  3. PADRES Project • Goal: development of a distributed , content-based, publish/subscribe routing fabric to support distributed applications Distributed Overlay Broker Network … … PADRES ICDCS 2005 Columbus, Ohio

  4. Advertisement Subscription Publication PADRES Architecture • Based on advertisement/subscription/publication message routing paradigm, similar to SIENA, Gryphon and REBECA … … PADRES ICDCS 2005 Columbus, Ohio

  5. Problem ICDCS 2005 Columbus, Ohio

  6. P P S S 1 2 Background:Covering Relation • Publications matching S2 must match S1 • S1 covers S2 iff: • Covering-based routing S1 1 Publisher 5 4 3 S1 3 S1 1 S2 2 S2 3 S2 2 If S1 covers S2 ICDCS 2005 Columbus, Ohio

  7. S1 3 S2 3 S 3 Background:Merging Relation • Publications matching S1 overlap with publications matching S2 • S is a merger of S1 and S2, iff: S1 1 Publisher 5 4 3 S1 3 S1 1 S2 2 S2 3 S2 2 If S1 and S2 can be merged to S ICDCS 2005 Columbus, Ohio

  8. Background:Perfect vs. Imperfect Merging • Perfect Merging • S is a perfect merger of S1 and S2, iff: • Imperfect Merging • S is a imperfect merger of S1 and S2, iff: ICDCS 2005 Columbus, Ohio

  9. Sub:(price=150)^(time=06/08/2005) ^(destination=Columbus) (price=150) X (time=06/08/2005) Y (destination=Columbus) Z Background:BDD-based Subscriptions • BDDs are binary decision diagrams [Bryant,1986] • BDDs are abstract representations of Boolean functions • A node v represents a function: • A subscription is a Boolean function, when each predicate is assigned a Boolean variable 1 0 1 0 0 1 0 1 ICDCS 2005 Columbus, Ohio

  10. MBD-based Subscriptions • MBDs are modified binary decision diagrams [Jacobi,1993] • An MBD has multiple roots and represents multiple Boolean functions • An MBD represents a set of subscriptions: MBD(O1, O2,…,On), where Oi is a subscription • In an MBD, common predicates are shared • An MBD evaluates shared predicates only once ICDCS 2005 Columbus, Ohio

  11. MBD-based Subscriptions Subscription 1: (X ^ Y ^ Z) (price=150) ^(time=06/08/2005)^(destination=Columbus) Subscription 2: (X’^ Y ^ Z) (price>150) ^(time=06/08/2005)^(destination=Columbus) MBD(O1, O2) O1 O2 0 X’ X X’ X 1 Y Y Y Z Z Z 0 1 0 1 0 1 S2 S1 ICDCS 2005 Columbus, Ohio

  12. X=false Z=true Global Predicate Index 10 = … X: price = 150 150 • Indexed by • Data type • Attribute • Operator • Value • Each predicate is assigned a Boolean variable • Benefits • Storage • Evaluation • Evaluate both publication and subscription price Integer > < … Y: time = 06/08/2005 Date … Toronto … … = destination Z: destination=Columbus Columbus substring String … … Publication: (price,200)(destination, Columbus) ICDCS 2005 Columbus, Ohio

  13. Publication Routing • Publication routing against subscriptions • Each attribute-value pair travels the index to evaluate the predicates • All Boolean variables have value assignments • Evaluate MBDs wrt. the truth assignment • For MBD(O1,O2,…,On), if Oi=1: a subscription represented by Oi is matched by the publication ICDCS 2005 Columbus, Ohio

  14. MBD-based Covering • Covering relations encoding LHS RHS • No covering relations [0 0] • Is-covered-by [0 1] • Is-covering [1 0] • Equal [1 1] LHS RHS (price=150) A new Subscription: (price>100) ^ (time=06/08/2005) ^ (destination=Columbus) X= [1 0] X X (time=06/08/2005) Y Y Y= [1 1] (destination=Columbus) Z Z Z= [1 1] [1 0] 0 1 0 1 ICDCS 2005 Columbus, Ohio

  15. MBD-based Covering Algorithm • Subscription routing against subscriptions • Each predicate travels the index to evaluate the covering relation at predicate level resulting in[vl, vr] • Evaluate LHS/RHS MBDs wrt. the truth assignment • If a RHS of MBD(O1,O2,…,On) has Oi=1, the new subscription is covered by Oi. • Not insert the new subscription • If a LHS of MBD(O1,O2,…,On) has Oi=1, the new subscription covers Oi. • Evaluate the LHS of MBDs only • Insert the new subscription and remove all Oi,where Oi=1 • Otherwise, insert the new subscription. ICDCS 2005 Columbus, Ohio

  16. Optimization for Covering • Optimization: cache the predicate covering relations • e.g., if x1=(price>150) is true, then x2=(price>100) must also be true ICDCS 2005 Columbus, Ohio

  17. MBD-based Merging • Subscriptions in the same MBD have a better chance to be merged • The merger may cause new covering relations O1: (price=150) O2: (price>150) O: (price>=150) X’ X X1 Y Y Z Z 0 1 0 1 ICDCS 2005 Columbus, Ohio

  18. Imperfect Merging • Imperfect Degree • Imperfect Merging Threshold (IMT) • Advertisement-based Optimization where Aj is an advertisement available at the broker ICDCS 2005 Columbus, Ohio

  19. Evaluation • Environment • Intel Xeon 3GHz, 2GB RAM • JDK 1.4.2 using JavaBDD package • Workload description • Predicates based on 20 pre-ordered attributes with random operators • Values are uniformly distributed in the value range • Data sets with different number of distinct predicates • Metrics • Routing table size • Routing delay per publication • False positives ICDCS 2005 Columbus, Ohio

  20. Routing Table Size Publication Routing delay ICDCS 2005 Columbus, Ohio

  21. Routing Table Size with IMT ICDCS 2005 Columbus, Ohio

  22. False Positives ICDCS 2005 Columbus, Ohio

  23. Related Work • A. Campailla, S. Chaki, E. Clarke, S. Jha, H. Veith. Efficient filtering in publish-subscribe systems using binary decision diagrams. ICSE'01. • Focus on centralized publication matching • We extend to an MBD-based approach • We unify routing, covering and merging with the same data structure • REBECA: G. Mühl. Generic constraints for content-based publish/ subscribe systems. CoopIS'01. • Establish merging-based routing • A. Carzaniga, D. S. Rosenblum, A. L. Wolf. Design and Evaluation of a Wide-Area Event Notification Service. ACM Transactions on Computer Systems, 2001 • Establish advertisement-based distributed pub/sub paradigm ICDCS 2005 Columbus, Ohio

  24. Conclusions • Novel data structures and algorithms that unify publication routing, subscription covering and merging • MBD-based approach is flexible to support extended subscription languages • Covering and merging lead to a compact routing table and reduce the network traffic • Efficient publication routing and subscription processing ICDCS 2005 Columbus, Ohio

  25. Thank You! ICDCS 2005 Columbus, Ohio

  26. Routing Table Size Publication Routing Time ICDCS 2005 Columbus, Ohio

  27. Routing Table Size ICDCS 2005 Columbus, Ohio

  28. ICDCS 2005 Columbus, Ohio

  29. ICDCS 2005 Columbus, Ohio

More Related