3 BitTorrent: Incentive Question: What is the incentive to provide higher upload rate?Answer: To get file fasterImplementation: Tit-for-tat mechanism. Search for trading partners that upload to you at higher rates
4 BitTorrent: TradingAlice 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.
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 providersWith higher upload rate, can find better tradingpartners & get file faster!
6 Basic idea P2P live streaming trackerobtain listof peerspeertradechunksSourceof video
7 Incentives for Live Streaming Why upload at all?Currently no tit-for-tat mechanism in existing deploymentsIs 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.
8 Layered Video Single layer Video Layered video All peers receive the same video qualityLayered videoA video is encoded into several layersMore layers introduce better video qualityNested dependence between layersHigher upload contribution results in better received video quality
9 Layered Video w/ Tit-for-Tat Generate multiple layers, each divided into layer chunks (LCs)Exchange LCsMeasure download rates from neighborsReciprocate to neighbors based on their contributions
10 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 qualityMultiple LCs are to be requested
11 Supplier Side Scheduler Goal: Supply neighbors in proportion to their contributionsMeasure the download rates, dk from neighbor kMaintain separate FIFO rqst queue for each neighborServe neighbor k next with probability:
12 Receiver Side State Request LCs at beginnings of rounds Can request in a window up to B chunks into future
13 Receiver Side Scheduler (1) Goal: Maximize the received video qualityWhich LC should be requested first?Assign heuristic “importance” to each LC, taking into account:Layer indexPlayback deadlineRarenessRequest LCs from the highest importance to the lowest importance
14 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 lengthSend request to neighbor that will send it firstAs long as it can come before deadline
15 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)
16 System Setup Peers Video Overlay Ethernet peer: 1000 kbps; cable peer: 300 kbps;free-rider: 0 kbpsFix ratio of Ethernet peers to cable peers: 3:7; change percentage of free-ridersVideoForeman video sequence (CIF, 30 frames/sec)SVC video codec20 layers, with each layer having a rate of 50 kbpsOverlayEach peer has 14 to 18 neighborsRandomly replace worst neighbor every 30 seconds
17 Performance Metrics Useful rate received (R) Discontinuity ratio (α) The bits that are useful for video decodingDiscontinuity ratio (α)The percentage of time that a video is undecodable and unplayableAverage PSNR (Q)Received video quality
18 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.
19 Free-RidingReceived video quality does not degrade with free-riding
20 Conclusion A decentralized incentive mechanism for video streaming Performance studies show that the scheme canProvide differentiated video quality commensurate with a peer’s contributionLargely prevents free-riders