11 using layered video to provide incentives in p2p live streaming zhengye liu yanming shen...

30
1 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

Post on 18-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

11

Using Layered Video to Provide Incentives in P2P Live

StreamingZhengye Liu

Yanming ShenShivendra Panwar

Keith W. RossYao Wang

Polytechnic University, Brooklyn, NY, USA

ACM SIGCOMM P2P-TV Workshop, Kyoto, 2007

2

Outlines

• Introduction• P2P live streaming• System architecture and design

– Layered Video / MDC

• Simulation results • Conclusion

33

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.

http://vc.cs.nthu.edu.tw/home/paper/codfiles/jwhuang/200803251226/BiToS970325.ppt

44

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.

5

File Distribution: BitTorrent

obtain listof peers

trading chunks

tracker

peer

5

6

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

7

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

8

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

9

obtain listof peers

trade chunks

tracker

peer

Basic idea P2P live streaming

Sourceof video

9

10

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

11

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

• Higher upload contribution results in better received video quality

L4

L3

L2

L1

L2

L1

11

12

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

encoding

MDCVideocontent

decoding

MDC

# of description

Vid

eo

qu

ality

12

13

Layered Video w/ Tit-for-Tat• Generate multiple layers, each layer

divided into layer chunks (LCs)– Assign higher priorities to the lower layers

• 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

13

14

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

15

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

15

16

Receiver Side State

• 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

Figure 1: Buffer state at a given time.

17

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

18

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

kk d

rm

18

19

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

20

System Setup (1) • Peers

– 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

21

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

22

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

23

Differentiated Service (1)

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.

(a) Ethernet peer

•Ethernet peers with Layered-Incent scheme have much higher received useful rates.•Peers with high upload contributions receive better video quality.

24

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.

25

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.

26

Free-Riding (1)

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%.

•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 free- riding.

27

Free-Riding (2)

•The Single-Layer scheme is seriously affected by free-riding.

28

Free-Riding (3)

•The video quality degradation is less severe than that with Single-Layer, the average PSNR Q decreases more than 2 dB. •Received video quality does not degrade with free- riding.

29

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

30

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.