Understanding Meshbased PeertoPeer Streaming Nazanin Magharei Reza Rejaie
Understanding Mesh-based Peer-to-Peer Streaming Nazanin Magharei Reza Rejaie
Motivation & Related works n n P 2 P overlays support one-to-many multimedia streaming applications without any special network support P 2 P streaming mechanism goals are: q q n Maximizing delivered quality Achieving scalability Accommodating heterogeneity and asymmetry of peers’ bandwidth Providing resiliency despite peers’ dynamic Common approach is tree-based overlay construction with push-based content delivery q q Delivered quality is limited to each peer Leaf peers’ bandwidth can not be utilized
Mesh-based streaming n Mesh-based overlay construction with pull-based content delivery q Inspired by file-swarming mechanisms (e. g. Bit. Torrent) n n Distribute pieces of a file among different peers Most peers contribute their outgoing bandwidth Scalable Resilient to peers’ dynamic
Challenges & Goals n n Problem: Incorporating swarm-like content delivery mechanism to support live media streaming to a large number of dynamic peers Challenges: q q n Goals: q q q n In-time requirement of content delivery Limited availability of future content Effectively utilizing outgoing bandwidth of all participating peers Maximizing delivered quality to each peers Minimizing buffer (playback delay from source) In this paper we try to answer these fundamental questions: q q How do the key properties of the overlay (e. g. degree) affect the delivered quality to individual peers? What is the global flow pattern of content over mesh-based overlay to achieve system goals?
Mesh-based P 2 P Streaming Overview n Two key components: q Overlay Construction n n q q q Simple Resilient to churn Content Delivery n n n 5 Randomly connected and directed mesh Each peer has multiple parents and multiple children 2 12 10 4 Source 7 1 Push reporting by parents Periodically pull requesting 8 11 by child peers New segment of length D generated by source 9 every D sec. Peers delay their playout time by at least w*D behind source MDC stream to deliver maximum quality to each peer based on its available bandwidth 3 6 13
Performance Bottleneck n n To separate causes of low quality, define two performance bottlenecks: Bandwidth Bottleneck ou t q q n Avg. BW for a connection between parent p and child c: MIN (outbwp/outdegp, inbwc/indegc) If these two ratios are not equal, one of them causes BW bottleneck. Condition : outbwp/outdegp = inbwc/indegc = bwpf de g p p ind c eg c All connections in the overlay must have roughly the same bandwidth. Content Bottleneck q Useful content among some parents of a given peer is not sufficient to fully utilize its available bandwidth
Content Bottleneck cont, n n n Data units = bwpf * D (interval) Each parent peer should have at least one useful data unit per Interval D for each of its child peer Unique data units of each segment must be delivered to peers within w intervals after its generation time by source Buffer = w delay = w*D Goal is to: q q n minimize content bottleneck maximize quality minimize w minimize playback delay To achieve these goals content delivery should have two phases: q q Diffusion swarm [t[t 00+2 D, t +D, t [t 0] +3 D ] ]] 00+D 0+2 D 1 4 2 5 3 6 7
Organized view of the overlay mesh n n Peers organized into levels, based on their shortest distance from source Each peer with degree deg in level n has one parent in level n-1 (diffusion parent) and deg-1 parents in the same or lower level (swarming parents) q n Peer 13 in level 3 has one parent 7 in level 2 the rest in level 3 Population of levels increases by going down into levels : pop(n) <= degsrc * deg(n-1) 8 Source Level 1 1 4 Level 2 6 5 9 3 2 7 Level 3 10 11 12 13
Content Delivery: Diffusion n Diffusion phase q q Source Fastest time for pulling all data units of a segment from source to the lowest level = depth*D sec All connections from diffusion parents should be exclusively used for diffusion of new data units n n Each subtree rooted at level 1 peers receives the same data unit which we called diffusion subtree After depth intervals each peer has one data units of the segment 1 4 8 6 5 9 3 2 10 11 7 12 13
Content Delivery: Swarm n Swarming phase q Pulling the missing data units of the segment from swarming parents q Only a swarming parent in a different diffusion subtree can 1 rapidly provide a new useful data units n n Source 2 3 Swarming parent 11 for child 4 6 5 7 12 are at the same diffusion subtree ! Even larger for parent 8 to child 1, 3 swarming intervals 10 12 8 13 Swarming phase for a segment 9 11 may take more than 1 interval depends on the location of swarming parents. Kmin = minimum number of swarming intervals for which 90% of peers quality > 90% Kmin = wmin – depth
Key overlay property n n Goal : maximizing quality while minimizing delay Increasing degree can help to achieve goals by : q q n reducing depth and increasing diversity of swarm connections But increases observed loss rate thus decreases throughput of each connection Limited degree range for a bandwidth? n What is a good degree for a peer with certain bandwidth? That is what is a good bwpf ?
Evaluation n n Kmin is fixed =3 Very low degree, decrease in diversity of swarm parents increase in swarming interval Very high degree, increase in loss rate increase in swarming interval Higher bw scenario, higher bwpf ratio There is a sweet range of bwpf values
Results Increasing degree, increases transmission rate • Depth gradually increases • Swarming interval Kmin does not change with peer population as number of diffusion Subtrees are fixed so the diversity is fixed scales well
Conclusions future works n n n We presented a global pattern of content delivery that is able to effectively utilize outgoing bw of peers while maximizing delivered quality with minimum buffer requirement There is a sweet range of peer degree (bwpf) that maximizes delivered quality to individual peers with minimum buffer. Future work: Conducting a comprehensive evaluation of P 2 P meshbased streaming protocol. q q q Heterogeneity in peer properties (e. g. access link bandwidth) Peer behavior (e. g. packet scheduling strategy) Churn
- Slides: 14