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