1 Layered Video for Incentives in P2P Live Streaming Zhengye Liu Yanming Shen Shivendra Panwar Keith...

Post on 27-Mar-2015

213 views 1 download

Transcript of 1 Layered Video for Incentives in P2P Live Streaming Zhengye Liu Yanming Shen Shivendra Panwar Keith...

1

Layered Video for Incentives in P2P Live Streaming

Zhengye LiuYanming Shen

Shivendra PanwarKeith W. Ross

Yao Wang

Polytechnic University, Brooklyn, NY, USA

File Distribution: BitTorrent

obtain listof peers

trading chunks

tracker

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 listof peers

trade chunks

tracker

peer

Basic idea P2P live streaming

Sourceof 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

L4

L3

L2

L1

L2

L1

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

LC11

LC21

LC31

LC12

LC22

LC32

LC13

LC23

LC33

LC14

LC24

LC34Layer 3

Layer 2

Layer 1

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:

Requests queue

...

Receiver 1 Receiver 2 Receiver K

i i

kk d

dp

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

kk d

rm

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