Title: Layered Video for Incentives in P2P Live Streaming
1Layered Video for Incentives in P2P Live Streaming
- Zhengye Liu
- Yanming Shen
- Shivendra Panwar
- Keith W. Ross
- Yao Wang
- Polytechnic University, Brooklyn, NY, USA
2File Distribution BitTorrent
tracker
obtain list of peers
trading chunks
peer
3BitTorrent 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
4BitTorrent 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.
5BitTorrent Trading
(1) Alice optimistically unchokes Bob
(2) Alice becomes one of Bobs top-four
providers Bob reciprocates
(3) Bob becomes one of Alices top-four providers
With higher upload rate, can find better trading
partners get file faster!
6Basic idea P2P live streaming
tracker
trade chunks
Source of video
7Incentives 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 youre
receiving the video at the full rate? - Our main idea
- If you upload more, you get better quality.
8Layered 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
- Higher upload contribution results in better
received video quality
9Layered Video w/ Tit-for-Tat
- Generate multiple layers, each divided into layer
chunks (LCs) - Exchange LCs
- Measure download rates from neighbors
- Reciprocate to neighbors based on their
contributions
10Supplier 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
11Supplier Side Scheduler
- Goal Supply neighbors in proportion to their
contributions - Measure the download rates, dk from neighbor k
-
- Maintain separate FIFO rqstqueue for each
neighbor - Serve neighbor k next with probability
12Receiver Side State
- Request LCs at beginnings of rounds
- Can request in a window up to B chunks into future
13Receiver 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
14Receiver Side Scheduler (2)
- Where to send the request for the LC?
- Estimate the current delay from each neighbor
- 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
15Performance Study Schemes
- Single layer video without incentives
(Single-Layer) - Layered video without incentives (Layered)
- MDC with incentives (MDC-Incent)
- Layered video with incentives (Layered-Incent)
16System Setup
- Peers
- Ethernet peer 1000 kbps cable peer 300 kbps
- free-rider 0 kbps
- Fix ratio of Ethernet peers to cable peers 37
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
17Performance Metrics
- Useful rate received (R)
- The bits that are useful for video decoding
- Discontinuity ratio (a)
- The percentage of time that a video is
undecodable and unplayable - Average PSNR (Q)
- Received video quality
18Differentiated 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.
19Free-Riding
- Received video quality does not degrade with
free-riding
20Conclusion
- A decentralized incentive mechanism for video
streaming - Performance studies show that the scheme can
- Provide differentiated video quality
commensurate with a peers contribution - Largely prevents free-riders