P2VoD: Providing Fault Tolerant Video-on

Download Report

Transcript P2VoD: Providing Fault Tolerant Video-on

P2VoD: Providing Fault Tolerant
Video-on-Demand Streaming in
Peer-to-Peer Environment
Tai T.Do, Kien A. Hua, Mounir A. Tantaoui
Proc. of the IEEE Int. Conf. on Communications (ICC 2004)
Outline
 Introduction
 Related Work
 Architecture of P2VoD
 Performance Evaluation
 Conclusion
2
Introduction
 P2P approach can potentially solve many
serious problems posed in existing streaming
systems


Infeasibility of IP Multicast
Network bottleneck at the video server
 Several projects on “live streaming”
 Not trivial to apply these techniques into VoD
systems
3
Introduction (cont.)
 Live streaming
 Shorter end-to-end delay, more lively the stream
 Short tree rooted at the video server
 User simply joins an on-going live streaming
session
 User may not quit if QoS degrades
 VoD streaming
 Liveness is irrelevant, video is pre-recorded
 Whole video must be delivered
 User will stop watching if QoS degrades
4
Introduction (cont.)
 Proposed techniques not based on any
existing live streaming systems
 Problems to be solved for a P2P VoD
streaming system




Fast and localized failure recovery without jitter
Quick join
Effective handling of clients’ asynchronous
requests
Small control overhead
 P2VoD (Peer-to-Peer approach for VoD
streaming)
5
Related Work: P2Cast
 Architecture uses a P2P approach to stream video
using patching
 Build application level multicast tree

Server streams the entire video over base tree
 P2Cast clients provide two functions


Base stream forwarding
Patch serving
 Base tree construction & patch server selection
algorithm



Best Fit (BF): find the “fattest pipes” to requesting clients
BF-delay: also use network delay information
BF-delay-approx: not using actual available bandwidth, (1 or
0 represents enough bandwidth or not)
6
Architecture of P2VoD
 A streaming connection is assumed to
constant bit-rate

equals to the playback rate of the video
 Retrieval block (R-block) as a data unit of the
video

equivalent to one unit of playback time
 Each client has a buffer, whose maximum
size is worth of MB units of playback time (i.e.
MB R-block)
7
Architecture of P2VoD (cont.)
 abX : actual amount of buffer storage used by
a client X

1 ≤ abX ≤ MB
 By using the cache, early arriving client can
serve late coming clients by forwarding the
stream


tjX : the joining time of a client X
X can serve clients whose joining time

[tjX , tjX + abX ]
8
P2VoD system
 abC1 = MB = 5, abC4 = 3 < MB
 When C6 arrives to the system at time 3, the first
R-block of the video is still in the buffer of C1
 C1 can serve the video stream to C6
9
Architecture of P2VoD (cont.)
 “Generation”
 Group of clients having the same smallest
numbered R-block in their caches
 Generations are also numbered
 G1 as the oldest generation to Gn as the youngest
generation
 Clients in these generations, excluding the
server, form a video session

A video session is closed

none of the clients has the first R-block of the video
10
P2VoD system
 C1, C2 , C3 , C4 , and C5 all have the same smallest
number R-block
11
Data Caching and Generation (cont.)
 Rules to build generations



Generations are indexed by numbers starting from 1
Members of a lower indexed generation arrive to the system
no latter than any member of other higher indexed
generations
A peer in generation i-th (i > 1) receives the video stream
from a peer in generation (i – 1)-th


Peers at the first generation receive the video stream directly
from the server
When joining a video session of the system, a new peer


belongs to the current highest numbered generation, OR
be the first member of a newly created generation of that video
session
12
Data Caching and Generation (cont.)
 Caching scheme with the generation concept
 X and Y join the same generation at time tjX and tjY


Caching Rule: The difference of actual cache sizes used by
two peers in the same generation must offset the difference
in their arrival times
abX – abY = tjY – tjX
E.g. abC2 = abC1 – (tjC2 – tjC1)
= 5 – (1 - 0) = 4
13
Data Caching and Generation (cont.)
 Assume that at time
36, peer C3 fails.
 C1, C2, C4, C5 available
to C8
 allow a quick and
localized recovery for
C8
14
Control Protocol
 Control Protocol is required to maintain the system
connectivity
 Neighbors of peer X



Siblings (peer in same G): need to keep a list of their IP
addresses
 Periodically update the list
 Update the list on-demand (joining/leaving)
Child: agree to forward the video stream, X needs to send
the IP addresses of X and its siblings to its child
Parent: first join the system, X sends the IP address to its
parent
X
t
 X sends control information < addX, G(X), exp > to
server when joining the system
X
 t exp : expiration time when the first R-block of the
video is no longer in the cache of X
15
Join Algorithm
 Server S has the list of peers at the youngest
generation for each video session, denoted
as Gy
Gy
 Expiration time t exp is the same for every
member of the youngest generation
 Initially, when the system is empty


Gy
t exp
is set to minus infinity
Set of youngest generation peers contains only S
16
Join Algorithm (cont.)
 Case 1
 If all of the existing video sessions are closed, X
will be admitted if server S still has enough
outbound-bandwidth
 Otherwise, X will be rejected
 Case 2
 For the case where there is at least one existing
video session still open, X will try to join that video
session
17
Join Algorithm (cont.)
 Case 2 proceeds as follows.
 Step1



Step2:



X contacts a random member of the Gy set
acquires the list of peers at the super generation of Gy.
If texp at the super generation > tjX, then go to Step3
Otherwise go to Step4
Step3: (generation not expired)


X selects a parent from the super generation
If such a candidate exists, X becomes a member of Gy
 X starts receiving the video stream from its selected parent
 X sets its actual cache size abX to conform to the caching rule

Otherwise go to Step4
18
Join Algorithm (cont.)
 Case 2 proceeds as follows.
 Step4: (generation expired)





A new generation is formed below Gy
X becomes the first member of that generation
Actual cache size abX is set to equal to MB
X selects a peer from Gy as its parent
If no such peer exists, X tries other open video sessions
or contacts the server
19
Parent Selection Criteria
 Round Robin Selection


promote the fairness among peers
the requesting peer should select a peer, who hasn’t served
any client for the longest period of time
 Smallest Delay Selection


minimize the joining time of the requesting peer
the requesting peer picks the first peer in the candidate
group, who has enough out-bound bandwidth
 Smallest Distance Selection


reduce the number of links involved in the underlying
network
the requesting peer chooses a peer, who has enough outbound bandwidth and closest to it
20
Failure Recovery
 P2VoD uses a two-phase failure recovery
protocol
 1) Detecting failure


Grateful failures: When a peer leaves the system,
it forwards the LEAVE_MESSAGE to its children
Unexpected failures: it happens unexpectedly
without any explicit warning, peers in P2VoD are
required to monitor their incoming traffic
21
Failure Recovery (cont.)
 2) Recovering from failures
 Failure at a peer X, the whole sub-tree under X is
affected
 The rest of the sub-tree are informed to wait
through the WAIT msg
 A disrupted peer X finds a new parent





X contacts the siblings of its parent
If no such parent exists, X contacts the server
Otherwise, X is rejected
X succeeds, the sub-tree is recovered
X fails, the immediate children of X will invoke the
recovery process
22
Performance Evaluation
 Examine the effects of two
parameters in P2VoD:


max number of clients allowed in
the first generation of each video
session, K
max buffer size each client can use,
MB
 Compare P2VoD with P2Cast
 Network topology using GT-ITM
 Clients arriving to system follow
the Poisson distribution
 one Transit network (with 4 nodes)
 12 stub domains (with 96 nodes)
 backbone link support 25 streams
 edge link support 7 concurrent streams
23
Performance Evaluation (cont.)
 Rejection probability
 probability that a client tries to join the system but
can not get the service
 Server stress
 amount of bandwidth used at the server, or the
number of streams established at the server
 Number of contacts during the recovery
 number of nodes a client has to contact during the
recovery process
24
Rejection probability for various
maximum buffer sizes (K = 3)
 MB is varied from 0.1 to 0.4 of the length of the video
 When doubling size of MB, the rejection probability is reduced by half
25
Server stress with various values of K
(MB = 0.1)
 In light workload, almost every clients get the video stream directly from
the server
 In heavy workload, most clients get the video stream from some other
client, not the server
 With small K, a failure at the
first generation will likely
cause disruption the whole
video session
 With large K, such failure
only cause a portion of the
video session to be in
recovery mode
26
P2VoD vs. P2Cast: Client rejection
probability
 P2VoD use K =6 & MB = 0.2
 The threshold for P2Cast is set at 0.2.
 P2VoD outperforms BF because P2Cast requires each client to obtain
two streams
27
P2VoD vs. P2Cast: Server stress
 In P2VoD, a video session is open as long as clients in the Gy still have
the first block of the video buffer
 In P2Cast, a video session is open for a short period of time starting
when the first client join the video session and last for the length of the
threshold
28
P2VoD vs. P2Cast: Failure overhead
 Clients arrive to the system at a rate of 0.4 per second during a period
of 2 hours (3516 clients)
 When the failure probability increases, the number of clients contacted
during a recovery decreases


more clients leave the system, network bandwidth is also released
easier for an affected client to find a new parent
29
Conclusion
 P2VoD, a new system for Video-On-Demand
streaming in a Peer-to-Peer environment
 the concept of generation and caching scheme
to deal effectively with failures
 An efficient control protocol help P2VoD to
allow clients join the system fast, as well as to
recover failures in a quick and localized
manner
 Simulation-based performance study shows
that P2VoD is superior than P2Cast
30