Layer971016

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