1 / 13

A Framework for Architecting Peer-to-Peer Receiver-driven Overlays

A Framework for Architecting Peer-to-Peer Receiver-driven Overlays. Reza Rejaie, Shad Stafford Mirage Research Group Department of Computer Science University of Oregon NOSSDAV 2004 Cork, Ireland. Introduction. Problem : non-interactive streaming in P2P Networks Design goals :

morrison
Download Presentation

A Framework for Architecting Peer-to-Peer Receiver-driven Overlays

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 Framework for Architecting Peer-to-Peer Receiver-driven Overlays Reza Rejaie, Shad Stafford Mirage Research Group Department of Computer Science University of Oregon NOSSDAV 2004 Cork, Ireland

  2. Introduction • Problem: non-interactive streaming in P2P Networks • Design goals: • Maximum delivered quality to each peer. • Scalability (of data and control traffic) with group size • Robust to dynamics of peer participation • Adaptable to changing network dynamics (variations in BW) • Accommodating peer BW heterogeneity and asymmetry • Common approach: form a P2P overlay • Existing solutions are unable to form a bandwidth-aware overlay => can not maximize delivered quality

  3. Basic Design Issues • Structured vs unstructured P2P? • Unstructured can gracefully cope with churn • Single vs multiple parents in the overlay? • Onlymultiple parent overlay (mesh) can accommodate BW Hetro. & Asym. • Pair-wise connections must be congestion controlled • Delivery: how to deliver a single stream from multiple congestion controlled parents? • Requires tight coordination among senders to efficiently “stream” maximum deliverable quality from multiple parents

  4. Main Components 1) Peer Discovery: the mechanism to find other peers • Must scale with group size 2) Parent Selection: the mechanism to select “good” parents • Selection Criteria: 1) Minimizing overall Delay, & 2) maximizing overall Bandwidth from all parents. • Minimizing Delay and Maximizing BW might be conflicting goals • Scalable Delay estimation using Global Network Positioning (GNP) • Estimation of pair-wise available BW between all peers requires periodic N*N measurement => Does not scale • Selecting a parent could affect BW from others (i.e. shared bottleneck)

  5. Existing Solutions • Layered encoded content, each layer is delivered through a separate source-rooted tree • accommodate BW Heterogeneity, but does not perform congestion control • Peer Discovery: Mesh-first or centralized approach • Neither scalable nor bandwidth-aware • Parent Selection: only using delay as selection criteria • Delivered bandwidth over a tree structure is inherently limited by minimum outgoing bandwidth among upstream peers • Multiple trees may share congested links

  6. Proposed approach • Decouple Delivery & Overlay construction 1) Delivery (PALS): A receiver-driven mechanism to stream from multiple congestion-controlled senders [NOSSDAV 2003] • Higher bandwidth => Higher quality 2) Overlay construction (PRO): • Each receiver selfishly, independently, dynamically searches for parents to maximize its own BW, and thus its own quality

  7. PRO: An Overview • Search for good parents by each peer is conducted in two phases: 1) Gossip-based Peer Discovery (PD): • Identifies potentially good parents in the overlay through periodic gossiping. • Good parents are maintained in a local image • Reducing scope of search from the entire group to a small number of peers 2) Parent selection (PS) • PS searches for a subset of parents within the local image that maximize performance • Their actual BW is verified through passive measurement

  8. Gossip-based Peer Discovery target Local Image • Peer Pi (originator) periodically selects a target peer (Pj) to gossip with • Gathered info about good parents are maintained in a local, incomplete image. Per peer info: • Pk : IPAddk , GNP-Coork, inBWk, outBWk , TS • [gossip target] Pj can identify good parents Pk from its local image for gossip originator Pi since: • Well known Utility func: U(outBWk, Dki) enables Pj to assess value of any peer Pk in its local image for Pj , e.g. joint-ranking • Dki: Relative Distance Pk- Pj is estimated from their GNP cor. • outBWkis used as a “hint” for potential ave BW from Pk Pj Pk : IPAddk Good parents for me? Pk,Pn,Pm Pk Pi originator

  9. Gossiping: Main Components 1) Target selection: how to select gossip target? • Random selection, biased towards peers with higher utility 2) Content selection: how should the target peer select content of a gossip message? • Select N peers from its local image with Max utility for the gossip originator. 3) Image maintenance: how to improve “quality” of local image? [there are two orthogonal dimension for img quality] • Utility: Maximizing overall utility [drop peers w lower utility] • Freshness: Maximizing freshness (ts) of image [drop older ts] • Tradeoff between freshness and utility of image • Degree of overlap among images affects reachability, search efficiency, and robustness to peer dynamics

  10. Parent Selection • Local image contains potentially good parents • Each peer selfishly, progressively searches for a subset of parents from the local image in order to • Maximize total BW/Quality from all parents • Minimize total delay from all parents • Maximize path diversity from parents • Best subset of parents is not unique, and changes with time • PS strategy by individual peers collectively determines shape of the overlay. • What is a proper search & evaluation strategy to dynamically find the best subset of parent?

  11. Parent Selection: Main Components 1) When to select a new parent? • Tradeoff between responsiveness and stability • Hysteresis and binning (of BW and distance) => stability • Select a new parent to increase BW or decrease delay 2) Which peer to select as new parent? • Non-uniform random selection, biased with peer’s utility 3) How should a parent be evaluated? [both new and existing] • Monitor available BW from parents & correlation among them • Correlation in available BW => shared bottleneck • [Degree of correlation => level of mux on a shared bottleneck] • [Maximize path diversity and/or overall BW from parents]

  12. The Key Idea • Congestion controlled BW from parents serves as an implicit signal for each peer to detect: • Any relevant change in the overlay, mainly peers that share a parent • Any measurable/major shared bottleneck among connection from parents • Major, long-term changes in BW due to congestion • CC bandwidth signals peers to properly change their parents • dynamically reshape the overlay

  13. Conclusion & Future Work • PRO is a simple, receiver-driven framework to architect unstructured P2P overlays, that • Maximizes delivered bandwidth to heterogeneous peers • Gracefully accommodate dynamics of peer participation • Incorporates scalable peer discovery, and selfish parent selection • Dynamically adapts to changes in overlay or network conditions. • PRO trades simplicity with performance • Optimal performance is very hard to achieve anyway! • Gossip-based peer discovery is applicable to any P2P net. • Future Work • Detailed evaluations of various components are being conducted • Plan to prototype the PD and PS functions as a generic middleware • See paper for further details.

More Related