Gil EinzigerRoy Friedman Computer Science Department Technion.

Slides:



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

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.
Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
“SUB-2-SUB” Self-Organizing Collaborative Content-based Pub/Sub Spyros Voulgaris, Etienne Rivière, Anne-Marie Kermarrec, Maarten van Steen.
Cognitive Publish/Subscribe for Heterogeneous Clouds Šarūnas Girdzijauskas, Swedish Institute of Computer Science (SICS) Joint work with:
Corona: A High Performance Publish-Subscribe System for the World Wide Web Authors: V. Ramasubramanian, R. Peterson and E.G. Sirer Cornell University Presenter:
Search and Replication in Unstructured Peer-to-Peer Networks Pei Cao, Christine Lv., Edith Cohen, Kai Li and Scott Shenker ICS 2002.
Small-Scale Peer-to-Peer Publish/Subscribe
Peer-to-Peer Networks as a Distribution and Publishing Model Jorn De Boever (june 14, 2007)
Scribe: A Large-Scale and Decentralized Application-Level Multicast Infrastructure Miguel Castro, Peter Druschel, Anne-Marie Kermarrec, and Antony L. T.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
Reliable Internetworking using the Pub/Sub Paradigm Nikos Fotiou Advisor: Prof. George C. Polyzos Mobile Multimedia Laboratory, Department of Informatics.
Carnegie Mellon University Complex queries in distributed publish- subscribe systems Ashwin R. Bharambe, Justin Weisz and Srinivasan Seshan.
1 AINA 2006 Wien, April th 2006 DiVES: A DISTRIBUTED SUPPORT FOR NETWORKED VIRTUAL ENVIRONMENTS The IEEE 20th International Conference on Advanced.
Efficient Content Location Using Interest-based Locality in Peer-to-Peer Systems Presented by: Lin Wing Kai.
ECSE Software Engineering 1I HO 7 © HY 2012 Lecture 7 Publish/Subscribe.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
Distributed Publish/Subscribe Network Presented by: Yu-Ling Chang.
© 2009 AT&T Intellectual Property. All rights reserved. Multimedia content growth: From IP networks to Medianets Cisco-IEEE ComSoc Webinar. Sept. 23, 2009.
INTRODUCTION TO PEER TO PEER NETWORKS Z.M. Joseph CSE 6392 – DB Exploration Spring 2006 CSE, UT Arlington.
1 Proceeding the Second Exercises on Computer and Systems Engineering Professor OKAMURA Laboratory. Othman Othman M.M.
1 Napster & Gnutella An Overview. 2 About Napster Distributed application allowing users to search and exchange MP3 files. Written by Shawn Fanning in.
COCONET: Co-Operative Cache driven Overlay NETwork for p2p VoD streaming Abhishek Bhattacharya, Zhenyu Yang & Deng Pan.
JMS Compliance in NaradaBrokering Shrideep Pallickara, Geoffrey Fox Community Grid Computing Laboratory Indiana University.
On P2P Collaboration Infrastructures Manfred Hauswirth, Ivana Podnar, Stefan Decker Infrastructure for Collaborative Enterprise, th IEEE International.
Publisher Mobility in Distributed Publish/Subscribe Systems Vinod Muthusamy, Milenko Petrovic, Dapeng Gao, Hans-Arno Jacobsen University of Toronto June.
1 BitHoc: BitTorrent for wireless ad hoc networks Jointly with: Chadi Barakat Jayeoung Choi Anwar Al Hamra Thierry Turletti EPI PLANETE 28/02/2008 MAESTRO/PLANETE.
Supporting Disconnected Operations in Publish/Subscribe Systems Vinod Muthusamy Joint work with Milenko Petrovic, Ioana Burcea, H.-Arno Jacobsen, Eyal.
UbiStore: Ubiquitous and Opportunistic Backup Architecture. Feiselia Tan, Sebastien Ardon, Max Ott Presented by: Zainab Aljazzaf.
Overlay Network Physical LayerR : router Overlay Layer N R R R R R N.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
Content-Based Routing in Mobile Ad Hoc Networks Milenko Petrovic, Vinod Muthusamy, Hans-Arno Jacobsen University of Toronto July 18, 2005 MobiQuitous 2005.
BitTorrent enabled Ad Hoc Group 1  Garvit Singh( )  Nitin Sharma( )  Aashna Goyal( )  Radhika Medury( )
Data Oriented Network Architecture (DONA) Andrey Ermolinskiy Mohit Chawla CS 262 A Project Poster December 14.
HUAWEI TECHNOLOGIES CO., LTD. Page 1 Survey of P2P Streaming HUAWEI TECHNOLOGIES CO., LTD. Ning Zong, Johnson Jiang.
Kaleidoscope – Adding Colors to Kademlia Gil Einziger, Roy Friedman, Eyal Kibbar Computer Science, Technion 1.
Architecture Models. Readings r Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 m Note: All figures from this book.
Paper Survey of DHT Distributed Hash Table. Usages Directory service  Very little amount of information, such as URI, metadata, … Storage  Data, such.
Copyright © 2006, UCD Dublin Systems Research Group School of Computer Science and Informatics UCD Dublin, Belfield, Dublin 4, Ireland
MIDDLEWARE SYSTEMS RESEARCH GROUP Adaptive Content-based Routing In General Overlay Topologies Guoli Li, Vinod Muthusamy Hans-Arno Jacobsen Middleware.
A Membership Management Protocol for Mobile P2P Networks Mohamed Karim SBAI, Emna SALHI, Chadi BARAKAT.
PROP: A Scalable and Reliable P2P Assisted Proxy Streaming System Computer Science Department College of William and Mary Lei Guo, Songqing Chen, and Xiaodong.
A P2P-Based Architecture for Secure Software Delivery Using Volunteer Assistance Purvi Shah, Jehan-François Pâris, Jeffrey Morgan and John Schettino IEEE.
Content-based Publish-Subscribe Over Structured P2P Networks Peter Triantafillou and Ioannis Aekaterinidis Presented by Jesse Chen 4/10/07.
Performance Study of Message Passing in an Event Service: Java RMI vs. TCP Sockets Laxminarayan Muktinutalapati (Lux) Department of Computing and Information.
On Reducing Mesh Delay for Peer- to-Peer Live Streaming Dongni Ren, Y.-T. Hillman Li, S.-H. Gary Chan Department of Computer Science and Engineering The.
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.
CS 6401 Overlay Networks Outline Overlay networks overview Routing overlays Resilient Overlay Networks Content Distribution Networks.
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,
Peer-to-Peer Systems: An Overview Hongyu Li. Outline  Introduction  Characteristics of P2P  Algorithms  P2P Applications  Conclusion.
MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG Distributed Ranked Data Dissemination in Social Networks Joint work with: Mo Sadoghi Vinod Muthusamy Hans-Arno.
Stefanos Antaris Distributed Publish/Subscribe Notification System for Online Social Networks Stefanos Antaris *, Sarunas Girdzijauskas † George Pallis.
P2P Search COP P2P Search Techniques Centralized P2P systems  e.g. Napster, Decentralized & unstructured P2P systems  e.g. Gnutella.
An overlay for latency gradated multicasting Anwitaman Datta SCE, NTU Singapore Ion Stoica, Mike Franklin EECS, UC Berkeley
Messaging. Literature Hohpe & Woolf, 2004 –We will just scratch the surface Bærbak Christensen2.
Accelerating Peer-to-Peer Networks for Video Streaming
Peer-to-peer networking
Emitter: Scalable, fast and secure pub/sub in Go
CS5412: Using Gossip to Build Overlay Networks
Determining the Peer Resource Contributions in a P2P Contract
A Case for Mutual Notification
Distributed Publish/Subscribe Network
Small-Scale Peer-to-Peer Publish/Subscribe
CS5412: Using Gossip to Build Overlay Networks
Indirect Communication Paradigms (or Messaging Methods)
Indirect Communication Paradigms (or Messaging Methods)
CS5412: Using Gossip to Build Overlay Networks
Presentation transcript:

Gil EinzigerRoy Friedman Computer Science Department Technion

Background: Publish/Subscribe Publisher: any entity that wishes to publish some event Look at my new hairstyle

Background: Publish/Subscribe Subscriber: any entity that wishes to be notified about events that match its interests (also called subscription) I want to know everything about hairstyles I want to know everything about Ariana Grande I only care about science fiction

Background: Publish/Subscribe The system’s goal is to deliver notifications about events to interested subscribers and only to them – Decoupling of information producers from consumers Applications: – Social networking (Twitter and the likes) – Stock quotes – Control systems – Data-center management – Etc.

Background: P2P Decentralized systems in which (most of) the communication is performed directly between the end nodes of the system – the peers Often, peers are donated users’ machines – But can also be set-top boxes, routers, a large datacenter’s servers, etc. Famous example applications: – Skype, Bittorrent (and other file sharing), IPTV, Bitcoin

It’s a Brave New World Out There Most users access online content through their mobiles – Intermittent connectivity – Limited bandwidth – Limited battery life – Limited resources We need to decouple the devices used to access the data and the ones serving the P2P network

A Vision for Future P2P Solutions Whether ran as a true P2P network between donated machines or inside a data-center: – Decoupling between devices that consume services and the ones providing the service Incentives might be in the form of revenue share with advertisers or paid subscribers – P2P machines are used for providing multiple services Not feasible to optimize the P2P overlay for a specific service

Problem Statement A scalable and efficient pub/sub system for self- sustained P2P networks – The challenge Subscribers might not be present much of the time Short client sessions Use the existing overlay – Quality Goals High delivery rate Efficient publication delivery Reasonable latency High churn resilience

Our Solution: Overview

Our Solution: Subscribing to Mailbox Clients that are aware of mailboxes serving their topics, simply notify these mailboxes about it A client that is unaware of such mailboxes, initiates multiple biased random walks – Each mailbox distributes a hint (Bloom filter) with the topics it subscribes to its overlay neighbors up to some distance – The random walks favor visiting nodes whose hints include a match – The random walks continue for a given TTL trying to find as many matching mailbox as possible If none is found, then the home node becomes a mailbox for these topics

Our Solution: Mailboxes An overloaded mailbox can refuse to accept new clients and topics Mailboxes disappear naturally due to churn or when they are underutilized The important objective is load sharing rather than load balancing

Our Solution: Dissemination Spanning tree among mailboxes that know each other Random walks to discover new mailboxes and disseminate to them

Our Solution: Dissemination Spanning tree among mailboxes that know each other Random walks to discover new mailboxes and disseminate to them

Our Solution: Dissemination Spanning tree + random walks between mailboxes Normally, a mailbox pushes events to corresponding registered clients Additionally, out-of-band gossip between mailboxes and clients – Clients poll their set of known mailboxes – Exchange list of known events with each polled mailbox – Occurs periodically plus after re-connection

Implementation – Written in Java – Open source project All code including testing available online – Can be run on top of real IP networks as well as the PeerSim simulator In the real networks case, executed on top of the OpenKAD implementation of the Kademlia DHT – Measurements confirm similarity between results with similar size networks Simulations can be used to explore scalability Real networks can be used to validate simulation results

Evaluation: Methodology Traces: – Synthetic traces Subscriptions are spread to clients/home nodes uniformly Topic publication distribution is Zipf-like with α=0.9 – Twitter traces Metrics: – Delivery rate – Communication load – Mailbox subscription pattern vs. users’ – Effects of churn

Results: Synthetic Workload Time (minutes) Delivery Rate Delivery rate over time vs. network size 1) Delivery rate approachs 100% after a few minutes 2) For 1500 nodes, simulation ~ real runs

Results: Twitter Traces Time (minutes) Delivery Rate Delivery rate over time

Results: Load Distribution # node Total Handled Messages Load Distribution (Twitter) 1)Almost all load goes to mailboxes only 2)Even most loaded need to handle fewer than 10 messages per second

Results: Subscription Pattern # node Subscription Number Twitter (Feb :00-20:20) Subscription pattern of mailboxes much more uniform than of clients => balanced dissemination trees

Results: Subscription Pattern # node Subscription Number 1000 nodes, 3000 clients, 3 topics each

Results: Subscription Pattern Client Subscriptions Mailbox Subscriptions #Registered Clients/#Registered Mailboxes Only a small number of mailboxes register even to the most popular topics => the dissemination trees are relatively small

Results: Single 10% Churn Event Time (minutes) Miss Rate Churn Recovery Time

Results: Repetitive 10% Churn Time (minutes) Miss Rate Churn Recovery Over Time

Results: Repetitive 100% Churn Time (minutes) Miss Rate Churn Recovery Time (Loosing All Mailboxes)

Summary The concept of elastic mailboxes – Self electing, self evaporating, self organizing Complementing delivery mechanisms – Spanning tree – Random walks – Out-of-band gossip through clients interaction End result: – Mailboxes dramatically reduce the scalability problem – Highly efficient, highly effective, highly robust to failures and churn

Open Issues Exploit subscription similarity Privacy

Q&A Thanks for listening…

Client applications poll mailboxes in order to satisfy all their subscriptions. 4 Conformity Architecture: Mailbox A rendezvous point between publications and subscriptions. Mailboxes use load sharing in order to adjust their number to match the demand for publish/subscribe service. When busy mailboxes refuse or fail to serve client applications, these applications create additional mailboxes. A publish/subscribe architecture pushes content to the mailboxes.