200 likes | 215 Views
This study explores the implementation of layered video and tit-for-tat mechanism in P2P live streaming to provide differentiated video quality based on peer contributions and prevent free-riding.
E N D
Layered Video for Incentives in P2P Live Streaming Zhengye Liu Yanming Shen Shivendra Panwar Keith W. Ross Yao Wang Polytechnic University, Brooklyn, NY, USA
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!
obtain list of peers peer Basic idea P2P live streaming tracker trade chunks Source of video
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 • Higher upload contribution results in better received video quality
Layered 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
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 • Maintain separate FIFO rqstqueue for each neighbor • Serve neighbor k next with probability:
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 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
Performance 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)
System Setup • Peers • 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