Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


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