Information Technology Reference
In-Depth Information
Similar to the block-striping case, the worst-case delay will be experienced by the stripe that
is being transmitted when the failure occurs, provided that ( N S
K )
K . The worst-case
delay can be up to
N F
=
k
j
+
( N S
1)
+
N S
( N S
K ) T D
T F
=
+
2 N S
1
(11.12)
R V T D
Q
Q
R V
=
+
2 N S
1
,
T F =
( N S
K )
micro-rounds, where ( k
1) is the
worst-case delay to wait for the current service round to end, and N S is the delay due to the
first constraint discussed previously. Noting that the length of a micro-round is equal to T S / N S
seconds, the delay is then given by
j ) is the worst-case delay due to failure detection, ( N S
R V T D
Q
1 Q
R V
N F T S
D F =
N S =
+
2 N S
(11.13)
seconds.
11.4 Analysis of Forward Erasure Correction
In this section, we derive the amount of client buffer needed to support fault tolerance under FEC
so that non-stop playback can be sustained. Client buffers are originally introduced to absorb
jitters in video-block playback times and delivery delays. To support fault tolerance using FEC,
we need additional client buffers to store a complete stripe (with redundant units) for erasure-
correction computation. The derivations in the following sections are based on the model
introduced in Chapter 10. The overall approach is to obtain upper and lower bounds for stripe
unit arrival times and stripe unit consumption times. Then, using the continuity condition,
i.e., the latest arrival time for a stripe unit must not be later than the earliest consumption time,
we can obtain the number of buffers required to prevent buffer underflow. We can obtain the
number of buffers required to prevent buffer overflow in a similar way.
11.4.1 Buffer Requirement under Block Striping
We first consider the case for block striping. Let there be L
Z ) buffers (each Q bytes)
at the client, organized as a circular buffer. Video playback starts once the first Y buffers
are completely filled with video data. The client prefills the first Y buffers to prevent buffer
underflow, and reserves the last Z buffers for incoming data to prevent buffer overflow.
Since all N S servers transmit data to a client concurrently, the client will be receiving
N S video blocks simultaneously, of which ( N S
=
( Y
+
K ) blocks contain video data and the rest
contain redundant data. This suggests that Y must be multiples of N S . Therefore, we consider
groups of N S buffers (i.e., group zero consists of blocks 0 to N S
1, group one consists
of blocks N S to 2 N S
1, and so on.) and let y
=
Y / N S be the number of buffer groups
prefilled.
Search WWH ::




Custom Search