Using Layered Video to Provide Incentives in P2P Live Streaming Zhengye Liu Yanming Shen Shivendra Panwar Keith W. Ross Yao Wang Polytechnic University, Brooklyn, NY, USA ACM SIGCOMM P2P-TV Workshop, Kyoto, 2007 1 Outlines • Introduction • P2P live streaming • System architecture and design – Layered Video / MDC • Simulation results • Conclusion 2 BT (Basic idea) • Chop file into many pieces. – piece : typically 256KB in size. • Replicate different pieces on different peers as soon as possible. • As soon as a peer has a complete piece, it can trade it with other peers. • Hopefully, we will be able to assemble the entire file at the end. 3 http://vc.cs.nthu.edu.tw/home/paper/codfiles/jwhuang/200803251226/BiToS970325.ppt 3 BT (Basic components) • Seed – Peer that has the entire file. • Leacher – Peer that has an incomplete copy of the file. • Torrent file – Files are typically fragmented into 256KB pieces. – The torrent file lists the hashes of all the pieces to allow peers to verify integrity. – Typically hosted on a web server. • Tracker – The tracker is responsible to help the peers find each other and to keep the download/upload statistics of each peer. – Returns a random list of peers. 44 File Distribution: BitTorrent tracker obtain list of peers trading chunks peer 5 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 6 BitTorrent: Trading • Alice measures rate she receives bits from each neighbor. • Alice sends chunks to 4 best neighbors. • Every 10 seconds, she recalculates rates & possibly modifies set of 4 peers. • Every 30 seconds, she “optimistically unchokes” random peer. 7 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! 8 Basic idea P2P live streaming tracker obtain list of peers peer trade chunks Source of video 9 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. 10 Layered Video • Single layer Video – All peers receive the same video quality – PPStream, PPLive, CoolStreaming • Layered video – – – – A video is encoded into several layers More layers introduce better video quality Nested dependence between layers A higher layer can be decoded only if all the lower layers are available L4 L3 L2 L1 L2 L1 • Higher upload contribution results in better received video quality 11 Multiple Description Coding (MDC) • Video encoding/decoding technology – Video content is encoded into several descriptions – Each description can be decoded independently – Even receiver only receives one description, the video is displayed with low quality – The more descriptions received, the better video quality – Compatible for transmitting video streaming in the Internet MDC encoding MDC decoding Video quality Video content # of description 12 Layered Video w/ Tit-for-Tat • Generate multiple layers, each layer divided into layer chunks (LCs) – Assign higher priorities to the lower layers 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 13 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 14 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 Receiver K ... Requests queue • Serve neighbor k next with probability: pk dk i di 15 Receiver Side State Figure 1: Buffer state at a given time. • Peer request LCs at beginnings of rounds • Peer may request LCs from the current time up until a window of B chunks times into the future, B=8 here. 16 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 17 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 the video bit rate of one layer, Δis chunk length • Send request to neighbor that will send it first – As long as it can come before deadline 18 Performance Study: Schemes • Single layer video without incentives (Single-Layer) – A video is encoded by single layer video coding • Layered video without incentives (Layered) – A video is encoded into multiple layers; however, the upload contribution is ignored and each peer is treated equally • MDC with incentives (MDC-Incent) – A video is encoded into multiple descriptions, and the received video quality of a peer depends on its upload contribution • Layered video with incentives (Layered-Incent) – our proposed scheme 19 • Peers System Setup (1) – Uplink bandwidth: 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 (5%~30%) • Video – Foreman video sequence (CIF, 30 frames/sec) – SVC (Scalable Video Coder) video codec – 20 layers, with each layer having a bit rate of 50 kbps – Each layer is further divided into 1 second LCs. 20 System Setup (2) • Video – MDC-Incent scheme • Apply multiple description FEC (MD-FEC) scheme on the FGS encoded bit stream to generate 20 descriptions • The bit rate of each description is 50 kbps – Single-Layer scheme • Code “Foreman“ sequence into a single layer bit stream with bit rate 400 kbps using the H.264 codec JM9.6 • The GOP length is 1 second • We divide each GOP into 8 chunks • Overlay – Each peer, total 1000 peers, has 14 to 18 neighbors – Randomly replace worst neighbor every 30 seconds 21 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 22 Differentiated Service (1) (a) Ethernet peer •Ethernet peers with Layered-Incent scheme have much higher received useful rates. •Peers with high upload contributions receive better video quality. Figure 3: Cumulative distribution of received useful rate for all peers during the simulation period under different schemes. The percentage of free-rider is 5%. Average (Q, α) for each class of peers are indicated. 23 Differentiated Service (2) (b) Cable peer •Ethernet peer can receive more descriptions than a cable peer •Peers with low contributions receive relatively low but still acceptable video quality. 24 Differentiated Service (3) (c) Free rider •Free-riders receive unacceptable video quality. •The discontinuity ratio for free-rider is high (Layered-Incent: 13% and 20%, MDC-Incent: 76%), which is unacceptable for video service. •For the Single-Layer case, just about every peer receives the video at the encoded rate of 400kbps. 25 Free-Riding (1) •R : the average received useful rate for a particular class of peers. •With Layered-Incent, the Ethernet peers receive much higher rates. •Received video quality does not degrade with freeriding. Figure 4: Robustness of schemes to free-riding for different users under different performance metrics. (a)-(c) Ethernet peers. Vary the percentage of free-riders in the system from 5% to 30%. 26 Free-Riding (2) •The Single-Layer scheme is seriously affected by free-riding. 27 Free-Riding (3) •The video quality degradation is less severe than that with SingleLayer, the average PSNR Q decreases more than 2 dB. •Received video quality does not degrade with free- riding. 28 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 29 References • • • • • • [6] A. Habib and J. Chuang, “Incentive mechanism for peer-to-peer media streaming,” Proceedings of International Workshop on Quality of Service (IWQoS) 2004, 2004. [7] X. Hei, , C. Liang, J. Liang, Y. Liu, and K. W. Ross, “A measurement study of a large-Scale P2P IPTV system,” IEEE Transactions on Multimedia, December 2007. [9] Z. Liu, Y. Shen, S. Panwar, K. Ross, and Y. Wang, “P2P video live streaming with MDC: Providing incentives for redistribution,” IEEE ICME 2007, Beijing, 2007. [17] Y. Wang, A. R. Reibman, and S. Lin, “Multiple description coding for video delivery,” Proceeding of the IEEE, pages 57-70, Jan. 2005. [18] X. Hei and Y. Liu and K.W. Ross, “Inferring network-wide quality in P2P live streaming systems,” IEEE JSAC, special issue on P2P Streaming, December 2007 . Z. Liu, Y. Shen, K.W. Ross, S. Panwar, K.W. Ross, Y. Wang, “Substream Trading: Towards an Open P2P Live Streaming System,” International Conference on Network Protocols (ICNP), Orlando, October 2008. 30