Information Technology Reference
In-Depth Information
S 0
S 1
S 2
S 3
S 4
Recovering Lost Units
Stripe
v 2 = v 0 ⊕ v 1 ⊕ v 3 ⊕ p 0
v 0
v 1
v 2
v 3
p 0
v 6 = v 4
v 5
p 1
v 7
v 4
v 5
v 6
p 1
v 7
Stripe unit
not needed
v 8
v 9
p 2
v 10
v 11
v 13 = v 12 ⊕ p 3 ⊕ v 14 ⊕ v 15
v 12
p 3
v 13
v 14
v 15
Parity unit
v 17 = p 4 v 16 v 18 v 19
p 4
v 16
v 17
v 18
v 19
Figure 9.6 Recovering stripe units lost due to failure of server 2
server can be computed from the parity unit together with the remaining stripe units as shown
in Figure 9.6.
For single-failure protection, simple parity computed from exclusive-or between the data
stripe units can be used. Higher level of redundancies can be achieved by the use of more sophis-
ticated erasure-correction codes such as the Reed-Solomon Erasure Correction code [22, 23].
Note that to perform erasure-correction computation, stripe units of the same stripe must be
of the same size. Therefore, time striping algorithm which results in variable stripe unit sizes
cannot easily be supported. Conversely, space striping has fixed stripe size and hence can easily
be extended to incorporate redundancy.
9.4 Parallel Video Delivery Protocols
In this section, we focus on ways to deliver video data from multiple servers to a video client.
The parallel video delivery requirement poses challenges in designing the application protocol's
flow control, error control, and synchronization. In the following, we first consider the client
pull versus the server push service model, and then discuss synchronization and fault-tolerance
issues.
9.4.1 Client Pull versus Server Push
In VoD systems, there are generally two ways to request and deliver video data from a server
to a client. Most studies on VoD systems let the video server send video data to the client at
a controlled data rate. The client receives and buffers the incoming video data for playback
through a video decoder. As shown in Figure 9.7a, once the video session has started, the video
server will continue the data transmissions until the client specifically sends a request to stop
it. Since the server pushes video data to the client at a controlled rate, this approach is called
server push .
A second approach is the traditional request-response model in which the video client sends
a request to the server for a particular piece of video data. As shown in Figure 9.7b, upon
Search WWH ::




Custom Search