slides

advertisement
Layered Video for Incentives in
P2P Live Streaming
Zhengye Liu
Yanming Shen
Shivendra Panwar
Keith W. Ross
Yao Wang
Polytechnic University, Brooklyn, NY, USA
1
File Distribution: BitTorrent
tracker
obtain list
of peers
trading
chunks
peer
BitTorrent: Incentive
• Question: What is the incentive to
provide higher upload rate?
• Answer: To get file faster
• Implementation: Tit-for-tat mechanism.
Search for trading partners that upload
to you at higher rates
BitTorrent: Trading
• Alice measures rate she receives bits
from each neighbor.
• Alice sends chunks to four best
neighbors.
• Every 10 seconds, she recalculates rates
& possibly modifies set of four peers.
• Every 30 seconds, she “optimistically
unchokes” random peer.
BitTorrent: Trading
(1) Alice “optimistically unchokes” Bob
(2) Alice becomes one of Bob’s top-four providers; Bob reciprocates
(3) Bob becomes one of Alice’s top-four providers
With higher upload rate,
can find better trading
partners & get file faster!
Basic idea P2P live streaming
tracker
obtain list
of peers
peer
Source
of video
trade
chunks
Incentives for Live Streaming
• Why upload at all?
– Currently no tit-for-tat mechanism in
existing deployments
• Is tit-for-tat a sufficient incentive?
– No! Why provide more upload bandwidth if
you’re receiving the video at the full rate?
• Our main idea:
– If you upload more, you get better quality.
Layered Video
• Single layer Video
– All peers receive the same video quality
• Layered video
– A video is encoded into several layers
– More layers introduce better video quality
– Nested dependence between layers
L4
L3
L2
L1
L2
L1
• Higher upload contribution results in better received
video quality
Layered Video w/ Tit-for-Tat
• Generate multiple layers, each divided into
layer chunks (LCs)
Layer 3
LC31
LC32
LC33
LC34
Layer 2
LC21
LC22
LC23
LC24
Layer 1
LC11
LC12
LC13
LC14
• Exchange LCs
• Measure download rates from neighbors
• Reciprocate to neighbors based on their
contributions
Supplier & Receiver Side
Schedulers
• Supplier: How to allocate uplink
bandwidth to neighbors?
– BitTorrent roughly gives each unchoked
neighbor an equal share.
• Receiver: How to maximize the received
video quality
– Multiple LCs are to be requested
Supplier Side Scheduler
• Goal: Supply neighbors in proportion to their
contributions
• Measure the download rates, dk from neighbor k
Receiver 1
Receiver 2
• Maintain separate FIFO rqst
queue for each neighbor
...
Requests queue
• Serve neighbor k next with probability:
pk 
dk

i
di
Receiver K
Receiver Side State
• Request LCs at beginnings of rounds
• Can request in a window up to B chunks
into future
Receiver Side Scheduler (1)
• Goal: Maximize the received video quality
• Which LC should be requested first?
• Assign heuristic “importance” to each LC,
taking into account:
– Layer index
– Playback deadline
– Rareness
• Request LCs from the highest importance to
the lowest importance
Receiver Side Scheduler (2)
• Where to send the request for the LC?
• Estimate the current delay from each
r
neighbor:
mk
dk
where mk is # of outstanding requests, r
is video rate, Δis chunk length
• Send request to neighbor that will send
it first
– As long as it can come before deadline
Performance Study: Schemes
• Single layer video without incentives
(Single-Layer)
• Layered video without incentives
(Layered)
• MDC with incentives (MDC-Incent)
• Layered video with incentives (LayeredIncent)
• Peers
System Setup
– Ethernet peer: 1000 kbps; cable peer: 300 kbps;
free-rider: 0 kbps
– Fix ratio of Ethernet peers to cable peers: 3:7;
change percentage of free-riders
• Video
– Foreman video sequence (CIF, 30 frames/sec)
– SVC video codec
– 20 layers, with each layer having a rate of 50 kbps
• Overlay
– Each peer has 14 to 18 neighbors
– Randomly replace worst neighbor every 30 seconds
Performance Metrics
• Useful rate received (R)
– The bits that are useful for video
decoding
• Discontinuity ratio (α)
– The percentage of time that a video is
undecodable and unplayable
• Average PSNR (Q)
– Received video quality
Differentiated Service
• Peers with high upload
contributions receive better
video quality;
• Peers with low contributions
receive relatively low but
still acceptable video quality;
• Free-riders receive
unacceptable video quality.
Free-Riding
Received video quality
does not degrade with
free-riding
Conclusion
• A decentralized incentive mechanism
for video streaming
• Performance studies show that the
scheme can
– Provide differentiated video quality
commensurate with a peer’s contribution
– Largely prevents free-riders
Download