View
212
Download
0
Embed Size (px)
Citation preview
Understanding Mesh-based Peer-to-Peer Streaming
Nazanin Magharei
Reza Rejaie
Motivation & Related works
P2P overlays support one-to-many multimedia streaming applications without any special network support
P2P streaming mechanism goals are: 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 Delivered quality is limited to each peer Leaf peers’ bandwidth can not be utilized
Mesh-based streaming
Mesh-based overlay construction with pull-based content delivery Inspired by file-swarming mechanisms (e.g.
BitTorrent( Distribute pieces of a file among different peers Most peers contribute their outgoing bandwidth Scalable Resilient to peers’ dynamic
Challenges &Goals
Problem: Incorporating swarm-like content delivery mechanism to support live media streaming to a large number of dynamic peers
Challenges: In-time requirement of content delivery Limited availability of future content
Goals: 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: 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 P2P StreamingOverview
Two key components: Overlay Construction
Randomly connected and directed mesh Each peer has multiple parents and multiple
children Simple Resilient to churn
Content Delivery Push reporting by parents Periodically pull requesting
by child peers New segment of length generated by source
every sec. Peers delay their playout time by at least
behind source MDC stream to deliver maximum quality to
each peer based on its available bandwidth
2
1
3
6
7
5
4
12
139
10
118
Source
Performance Bottleneck
To separate causes of low quality, define two performance bottlenecks:
Bandwidth Bottleneck 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 All connections in the overlay must have roughly the same
bandwidth. Content Bottleneck
Useful content among some parents of a given peer is not sufficient to fully utilize its available bandwidth
c
poutdeg
p
indegc
21 3
6 754
[t0,t0+ ][t0t0+2 ][t0t0+3 ]
Content Bottleneck cont, Data units = bwpf * (interval) Each parent peer should have at
least one useful data unit per Interval for each of its child peer
Unique data units of each segment must be delivered to peers within intervals after its generation time by source
Bufferdelay Goal is to:
minimize content bottleneck maximize quality
minimize minimize playback delay
To achieve these goals content delivery should have two phases: Diffusion swarm
[t0]
Organized view of the overlay mesh
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) 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)
Level 1
Level 2
Level 3
21 3
6 754
12 13910
118
Source
Content Delivery: Diffusion
Diffusion phase Fastest time for pulling all data
units of a segment from source to the lowest level = depthsec
All connections from diffusion parents should be exclusively used for diffusion of new data units 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
21 3
6 754
12 13910
118
Source
Content Delivery: Swarm Swarming phase
Pulling the missing data units of the segment from swarming parents Only a swarming parent in a
different diffusion subtree can rapidly provide a new useful data units Swarming parent 11 for child
12 are at the same diffusion subtree ! Even larger for parent
8 to child 1, 3 swarming intervals Swarming phase for a segment
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 = min – depth
21 3
6 754
12 13910
118
Source
Key overlay property
Goal : maximizing quality while minimizing delay Increasing degree can help to achieve goals by :
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? What is a good degree for a peer with certain
bandwidth? That is what is a good bwpf ?
Evaluation
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
• 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
Increasing degree, increases transmission rate
Conclusionsfuture works
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 P2P mesh-based streaming protocol. Heterogeneity in peer properties (e.g. access link bandwidth) Peer behavior (e.g. packet scheduling strategy) Churn