Chapter 9

1)Recall the simple model for HTTP streaming shown in Figure 9.3. Recall that B denotes the size of the client’s application buffer, and Q denotes the number of bits that must be buffered before the client application begins playout.

Also r denotes the video consumption rate. Assume that the server sends bits at a constant rate x whenever the client buffer is not full.

  1. Suppose that xr. As discussed in the text, in this case playout will alternate between periods of continuous playout and period of freezing.

Determine the length of each continuous playout and freezing period as a function of Q, r, and x.

  1. Now suppose that xr. At what time t = tf does the client application buffer become full?

Answer:

a)During a playout period, the buffer starts with Q bits and decreases at rate r - x. Thus, after Q/(r - x) seconds after starting playback the buffer becomes empty. Thus, the continuous playout period is Q/(r - x) seconds. Once the buffer becomes empty, it fills at rate x for Q/x seconds, at which time it has Q bits and playback begins. Therefore, the freezing period is Q/x seconds.

b)Time until buffer has Q bits is Q/x seconds. Time to add additional B - Q bits is (B - Q)/(x - r) seconds. Thus the time until the application buffer becomes full is seconds.

2)

Recall the simple model for HTTP streaming shown in Figure 7.3. suppose the buffer size is infinite but the server sends bits at variable rate x(t). Specifically, suppose x (t) has the following saw-tooth shape. The rate is initially zero at time

t = 0 and linearly climbs to H at time t = T. It then repeats this pattern again and again, as shown in the figure below.

  1. What is the server’s average send rate?
  2. Suppose that Q = 0, so that the client starts playback as soon as it receives a video frame. What will happen?
  3. Now suppose Q > 0. Determine as a function of Q, H, and T the time at which playback first begins.
  4. Suppose H > 2r and Q = HT/2. Prove there will be no freezing after the initial playout delay.
  5. Suppose H > 2r. Find the smallest value of Q such that there will be no freezing after the initial playback delay.
  6. Now suppose that the buffer size B is finite. Suppose H > 2r. As a function of Q, B, T, and H, determine the time t = tf when the client application buffer first becomes full.

Answer:

a)The server’s average send rate is .

b)This part (b) is an odd question and will be removed from the next edition. After playing out the first frame, because x(t) < r, the next frame will arrive after the scheduled playout time of the next frame. Thus playback will freeze after displaying the first frame.

c)Let q(t) denote the number of bits in the buffer at time t. Playout begins when q(t) = Q. Let’s assume throughout this problem that HT/2 ≥ Q, so that q(t) = Q by the end of the first cycle for x(t). We have

.

Therefore, q (t) = Q when t = = tp.

d)At time t = T, q (t) = HT/2 = Q, so that playout begins. If subsequently there is no freezing, we need q(t + T) > 0 for all t ≥ T, we have

>

With t = nT + ∆, with 0 < ∆ < T, we have from above

=

Which is easily seen to be possible for all 0 < ∆ < T.

e)First consider the [0, T]. We have

for tp ≤ t ≤ T

q (t) is minimized at t = rT/H. It can then be shown that q (rT/H) ≥ 0 if and only if

tp ≥ rT/2H. Furthermore, if tp = rT/2H, proof can be extended to show q (t) > 0 for

all t ≥ T thus, tp < rT/2H and Q = r2T/8H.

f)This is a very challenging problem. Assuming that B is reached before time T, then tf is solution to = B.