Content-based Publish-Subscribe Over Structured P2P Networks Peter Triantafillou and Ioannis Aekaterinidis Presented by Jesse Chen 4/10/07.

Slides:



Advertisements
Similar presentations
Peer-to-Peer Infrastructure and Applications Andrew Herbert Microsoft Research, Cambridge
Advertisements

Extended Enterprise Laboratory, Hewlett-Packard Laboratories, Bristol Keryx: Internet Notification Service for Dynamic Web Applications Søren Brandt Anders.
Efficient Event-based Resource Discovery Wei Yan*, Songlin Hu*, Vinod Muthusamy +, Hans-Arno Jacobsen +, Li Zha* * Chinese Academy of Sciences, Beijing.
Alex Cheung and Hans-Arno Jacobsen August, 14 th 2009 MIDDLEWARE SYSTEMS RESEARCH GROUP.
Peer to Peer and Distributed Hash Tables
Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK
“SUB-2-SUB” Self-Organizing Collaborative Content-based Pub/Sub Spyros Voulgaris, Etienne Rivière, Anne-Marie Kermarrec, Maarten van Steen.
PDPTA03, Las Vegas, June S-Chord: Using Symmetry to Improve Lookup Efficiency in Chord Valentin Mesaros 1, Bruno Carton 2, and Peter Van Roy 1 1.
CHORD: A Peer-to-Peer Lookup Service CHORD: A Peer-to-Peer Lookup Service Ion StoicaRobert Morris David R. Karger M. Frans Kaashoek Hari Balakrishnan Presented.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Speaker: Cathrin Weiß 11/23/2004 Proseminar Peer-to-Peer Information Systems.
Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
Small-Scale Peer-to-Peer Publish/Subscribe
Scribe: A Large-Scale and Decentralized Application-Level Multicast Infrastructure Miguel Castro, Peter Druschel, Anne-Marie Kermarrec, and Antony L. T.
Subscription Subsumption Evaluation for Content-Based Publish/Subscribe Systems Hojjat Jafarpour, Bijit Hore, Sharad Mehrotra, and Nalini Venkatasubramanian.
Applications over P2P Structured Overlays Antonino Virgillito.
Peer to Peer File Sharing Huseyin Ozgur TAN. What is Peer-to-Peer?  Every node is designed to(but may not by user choice) provide some service that helps.
M ERCURY : A Scalable Publish-Subscribe System for Internet Games Ashwin R. Bharambe, Sanjay Rao & Srinivasan Seshan Carnegie Mellon University.
Topics in Reliable Distributed Systems Lecture 2, Fall Dr. Idit Keidar.
Carnegie Mellon University Complex queries in distributed publish- subscribe systems Ashwin R. Bharambe, Justin Weisz and Srinivasan Seshan.
Scalable Resource Information Service for Computational Grids Nian-Feng Tzeng Center for Advanced Computer Studies University of Louisiana at Lafayette.
1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service.
Matching Patterns Servers assemble sequences of notifications from smaller subsequences or from single notifications.This technique requires an advertisement.
Spring 2003CS 4611 Peer-to-Peer Networks Outline Survey Self-organizing overlay network File system on top of P2P network Contributions from Peter Druschel.
SCALLOP A Scalable and Load-Balanced Peer- to-Peer Lookup Protocol for High- Performance Distributed System Jerry Chou, Tai-Yi Huang & Kuang-Li Huang Embedded.
Object Naming & Content based Object Search 2/3/2003.
Darmstadt University of Technology CoopIS 2001, TrentoGero Mühl Generic Constraints for Content-Based Publish/Subscribe Gero Mühl PhD Program “Enabling.
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
Peer To Peer Distributed Systems Pete Keleher. Why Distributed Systems? l Aggregate resources! –memory –disk –CPU cycles l Proximity to physical stuff.
Wide-area cooperative storage with CFS
1 Peer-to-Peer Networks Outline Survey Self-organizing overlay network File system on top of P2P network Contributions from Peter Druschel.
A Gateway For SIP Event Interworking - Sasu Tarkoma & Thalainayar Balasubramanian Ramya.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
Distributed Publish/Subscribe Network Presented by: Yu-Ling Chang.
INTRODUCTION TO PEER TO PEER NETWORKS Z.M. Joseph CSE 6392 – DB Exploration Spring 2006 CSE, UT Arlington.
Roger ZimmermannCOMPSAC 2004, September 30 Spatial Data Query Support in Peer-to-Peer Systems Roger Zimmermann, Wei-Shinn Ku, and Haojun Wang Computer.
1 Measurements and Mitigation of Peer-to-Peer-based Botnets: A Case Study on Storm Worm T. Holz, M. Steiner, F. Dahl, E. Biersack, and F. Freiling - Proceedings.
Achieving fast (approximate) event matching in large-scale content- based publish/subscribe networks Yaxiong Zhao and Jie Wu The speaker will be graduating.
Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to- peer Lookup Protocol for Internet Applications Dennis Schade.
Content Overlays (Nick Feamster). 2 Content Overlays Distributed content storage and retrieval Two primary approaches: –Structured overlay –Unstructured.
Chord & CFS Presenter: Gang ZhouNov. 11th, University of Virginia.
Gil EinzigerRoy Friedman Computer Science Department Technion.
© Paradigm Publishing Inc. 9-1 Chapter 9 Database and Information Management.
1 Reading Report 5 Yin Chen 2 Mar 2004 Reference: Chord: A Scalable Peer-To-Peer Lookup Service for Internet Applications, Ion Stoica, Robert Morris, david.
Content-Based Routing in Mobile Ad Hoc Networks Milenko Petrovic, Vinod Muthusamy, Hans-Arno Jacobsen University of Toronto July 18, 2005 MobiQuitous 2005.
National Institute of Advanced Industrial Science and Technology Query Processing for Distributed RDF Databases Using a Three-dimensional Hash Index Akiyoshi.
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
Peer to Peer A Survey and comparison of peer-to-peer overlay network schemes And so on… Chulhyun Park
Trust calculus for PKI Roman Novotný, Milan Vereščák.
VLDB2005 CMS-ToPSS: Efficient Dissemination of RSS Documents Milenko Petrovic Haifeng Liu Hans-Arno Jacobsen University of Toronto.
Information-Centric Networks10b-1 Week 10 / Paper 2 Hermes: a distributed event-based middleware architecture –P.R. Pietzuch, J.M. Bacon –ICDCS 2002 Workshops.
Information-Centric Networks Section # 10.2: Publish/Subscribe Instructor: George Xylomenos Department: Informatics.
BATON A Balanced Tree Structure for Peer-to-Peer Networks H. V. Jagadish, Beng Chin Ooi, Quang Hieu Vu.
Measurements and Mitigation of Peer-to-peer Botnets: A Case Study on Storm Worm Thorsten Holz, Moritz Steiner, Frederic Dahl, Ernst Biersack, Felix Freiling.
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
Peter R Pietzuch and Jean Bacon Peer-to-Peer Overlay Networks in an Event-Based Middleware DEBS’03, San Diego, CA, USA,
1 State-of-the-art in Publish/Subscribe Middleware for Supporting Mobility Sumant Tambe EECS Preliminary Examination December 11, 2007 Vanderbilt University,
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Two Peer-to-Peer Networking Approaches Ken Calvert Net Seminar, 23 October 2001 Note: Many slides “borrowed” from S. Ratnasamy’s Qualifying Exam talk.
P2P Search COP6731 Advanced Database Systems. P2P Computing  Powerful personal computer Share computing resources P2P Computing  Advantages: Shared.
Publish Subscribe for XDS-b Vassil Peytchev Epic Systems Corporation.
Virtual Local Area Networks In Security By Mark Reed.
Peer-to-Peer Data Management
(slides by Nick Feamster)
S-Chord: Using Symmetry to Improve Lookup Efficiency in Chord
SCOPE: Scalable Consistency in Structured P2P Systems
Small-Scale Peer-to-Peer Publish/Subscribe
Indirect Communication Paradigms (or Messaging Methods)
Indirect Communication Paradigms (or Messaging Methods)
Presentation transcript:

Content-based Publish-Subscribe Over Structured P2P Networks Peter Triantafillou and Ioannis Aekaterinidis Presented by Jesse Chen 4/10/07

Outline of Talk What is a publish/subscribe system? What is a publish/subscribe system? Why do we build publish/subscribe systems over p2p networks? Why do we build publish/subscribe systems over p2p networks? What is an event/subscription? What is an event/subscription? How to store subscriptions? How to store subscriptions? How to update subscriptions? How to update subscriptions? The matching algorithm The matching algorithm Delivering of events to the subscribers Delivering of events to the subscribers

What is a publish/subscribe system? A communication (information dissemination) system that delivers published notifications from every producer (publishers) to all interested consumers (subscribers). A communication (information dissemination) system that delivers published notifications from every producer (publishers) to all interested consumers (subscribers). Two types of publish/subscribe systems: Two types of publish/subscribe systems: Topic based Topic based Users express interest by joining a group (topic) Users express interest by joining a group (topic) Content based Content based Users express interest by specifying subscriptions (a collection of predicates over the values of some attributes). Users express interest by specifying subscriptions (a collection of predicates over the values of some attributes).

Why Build Publish/Subscribe Systems Over P2P Networks? To avoid the lack of scalability and fault- tolerance of centralized approaches. To avoid the lack of scalability and fault- tolerance of centralized approaches. To take advantages of Chord: decentralized, scalable, self-organizing. To take advantages of Chord: decentralized, scalable, self-organizing. Chord’s structured network: using DHT for easy resource lookup/routing. Chord’s structured network: using DHT for easy resource lookup/routing.

What is a publish-subscribe system? Publisher 1 Publisher 2 … Matching Algorithm Subscriber 1 Subscriber 2 … Event Subscription - Publishers and subscribers are decoupled. - Publishers are the information producers and the subscribers are the information consumers. - Subscriptions act as filters that filter out unrelated events and the system only delivers matched events to the subscribers.

What is a publish-subscribe system? An example of a publish/subscribe system: An example of a publish/subscribe system: Online stock quote Online stock quote Publishers: stock exchanges - NYSE, NASDAQ Publishers: stock exchanges - NYSE, NASDAQ Events might contain the following information: Events might contain the following information: Opening price, closing price, high/low price, volume… Opening price, closing price, high/low price, volume… Subscribers: stock traders Subscribers: stock traders Subscription: A stock’s price at a particular moment. Subscription: A stock’s price at a particular moment.

What is an event? A set of typed attributes A set of typed attributes Each attribute consists of a type, a name and a value Each attribute consists of a type, a name and a value

What is a subscription? Subscription 1 Subscription 2 An event matches a subscription if and only if all the subscription’s attribute predicate/constraints are satisfied.

The subscription identifier Each subscription is identified by an id (subID) Each subscription is identified by an id (subID) C1: The id of the node receiving the subscription C1: The id of the node receiving the subscription m bits for a m-bit Chord identifier address space m bits for a m-bit Chord identifier address space C2: The id of the subscription itself C2: The id of the subscription itself Size is the rounded-up log of the maximum number of outstanding subscriptions a node can have. Size is the rounded-up log of the maximum number of outstanding subscriptions a node can have. C3: The number of attributes declared C3: The number of attributes declared

How to store subscriptions?

For an attribute a with value v(a): For an attribute a with value v(a): Generate the key k: k = h(v(a)) Generate the key k: k = h(v(a)) Place subID at the node = successor(k) Place subID at the node = successor(k) Equality constraint attribute Equality constraint attribute Place subID at Place subID at node = successor(h(“NYSE”)) Range value attribute Range value attribute Place subID at the following nodes: Place subID at the following nodes: Successor(h(8.31)), successor(h(3.32)), …, successor(h(8.69)).

How to store subscriptions? Subscription generator Successor(h(NYSE)) SubID list: SubID 1 Successor(h(OTE)) SubID list: SubID1 Successor(h(8.69)) SubID list: SubID1 … Successor(h(8.31)) SubID list: SubID 1 The average number of hops needed to store a subID: Equality constraint: Range attribute:

Updating subscriptions The old node is forced to delete the SubID for the attribute that belongs to the subscription. The old node is forced to delete the SubID for the attribute that belongs to the subscription. The new node is going to store the subID The new node is going to store the subID Subscription generator Successor(h(NYSE)) SubID list: SubID 1 Successor(h(NASDAQ)) SubID list: SubID 1 An update is performed by contacting:

Updating subscriptions Range attribute Range attribute Updating depends on the new values of the range bounds(V low- new(a),V high-new(a)) compare to the old range bounds. Updating depends on the new values of the range bounds(V low- new(a),V high-new(a)) compare to the old range bounds. V low-new(a) < V low(a) V low-new(a) < V low(a) Store SubID at the following nodes: [V low-new(a), V low(a)) Store SubID at the following nodes: [V low-new(a), V low(a)) V high-new(a) > V high(a) V high-new(a) > V high(a) Store SubID at the following nodes: (V high(a), V high-new(a)] Store SubID at the following nodes: (V high(a), V high-new(a)] V low-new(a) > V low(a) or V high-new(a) V low(a) or V high-new(a) < V high(a) Delete SubID at the following nodes: [V low(a), V low-new(a)) or (V high-new(a), Vhigh(a)] Delete SubID at the following nodes: [V low(a), V low-new(a)) or (V high-new(a), Vhigh(a)] The average number of nodes need to be contacted: K(logN). The average number of nodes need to be contacted: K(logN). K depends on whether new range is smaller or wider than old one. K depends on whether new range is smaller or wider than old one.

The Matching Algorithm – Matching Events with Subscriptions

Successor(h(NYSE)) SubID list: SubID 1 Successor(h(OTE)) SubID list: SubID1, SubID 2 Successor(h(8.40)) SubID list: SubID1 Successor(h(8.80)) SubID list: Matching algorithm will retrieve the SubID lists for each attribute in the event by going to the successor nodes. Count the number of lists containing SubID1: 3 Number of attributes declared in C3 field of SubID1: 3

How to deliver the event to the subscriber? Informing the node which generated the subscription with the matched event. Informing the node which generated the subscription with the matched event. The node stores the subscription and it also holds metadata information about the subscription (the IP address of the subscription generator). The node stores the subscription and it also holds metadata information about the subscription (the IP address of the subscription generator). Finally, the event is delivered to the subscriber. Finally, the event is delivered to the subscriber.

Thank You!