Scalable On-Demand Media Streaming With Packet Loss Recovery

Scalable On-Demand Media
Streaming With Packet Loss Recovery
Anirban Mahanti, Derek L. Eager, Mary K.
Vernon, and David J. Sundaram-Stukel
IEEE/ACM Trans. on Networking,
April 2003
Outline

Introduction




Lower bound (server bandwidth)
Loss recovery strategies



Periodic broadcast
Bandwidth skimming
Erasure code
Retransmission
Reliable periodic broadcast
Periodic broadcast (startup delay)



Divide the media file into many segments.
Each segment is repeatedly broadcast.
Ex: Harmonic, Pyramid, Skyscraper, …
Bandwidth skimming (no delay)


Initiate a multicast stream for each request.
Merge streams to reduce network bandwidth.
Notations
Maximum achievable scalability (1/2)


The lower bound is derived on the required
server bandwidth for any protocol that
provides immediate on-demand streaming
of multimedia content.
Consider a small portion of the object at time
offset x:


For an client request that arrives at time t, this
portion of the object must be delivered no later
than time t+x.
If the portion is multicast at time t+x, then (at
best) those clients that request the object from
time t and t+x can receive the same multicast.
Maximum achievable scalability (2/2)
1/
t



t+x
Next request
Assuming Poisson arrivals, the average time from
t+x until the next request of the object is 1/.
The minimum frequency of multicasts of the
portion at time offset x is 1/(x+1/).
The lower bound is
d 0
min
B

T
0
dx
 ln  N  1
x 1/ 
Required server bandwidth (d=0)
Required server bandwidth (d>0)

The bound can be extended by adding a
startup delay d. d
T dx
T

Bmin  
 ln   1
0 xd
d 
Loss recovery strategies (1/2)

Multicast transmission


Use erasure codes.
If the average client packet loss probability is p,
the lower bound for immediate service using
erasure codes is
d 0
min, erasure
B

1

ln N  1
1 p
The lower bound for streaming with bounded
delay is
d
min, erasure
B
1
T


ln   1
1 p  d 
Loss recovery strategies (2/2)

Unicast transmission




Use retransmission.
If the object playback duration is T, the average
amount of data that is retransmitted per client
is pT/(1-p).
Given a client request rate , the server bandwidth
required for retransmitted data is pT/(1-p).
Because N=T, the minimal server bandwidth is
d 0
min, ur
B
p
 ln N  1 
N
1 p
Bmin (15% packet loss)
Reliable periodic broadcast

Optimized PB protocols



Basic RPB


Have the minimum possible startup delay. (under
their model)
Do not support packet loss recovery.
Using erasure codes.
RPB protocols for bursty packet loss

Allow each segment to have a different associated
cumulative loss protection.
Parameters
Optimized PB protocols (1/4)



Assume a maximum aggregate
transmission rate to any given client is b.
Each segment must be entirely
received before the beginning of the
segment is played.
Assume r=1,

For each segment k, 1<ks, it has
maximum lk equal to (the time to receive
segment 1 + the time to play segment 1 ~
k-1).
Optimized PB protocols (2/4)
s=3
1
2
k>s
3
4
5
Optimized PB protocols (3/4)


For segment k>s, the client will begin
receiving segment k at the time that
segment k-s is just received and starts
playing. The client must finish receiving
segment k by the time that segment k-1
finishes playing.
If l1=1, the maximum sizes for segment
k>1:
k 1
k 1


lk  l1   l j , 1  k  s;  l j , k  s 
j 1
j k s


Optimized PB protocols (4/4)

If we use K server streams to multicast the
object,


The total server bandwidth B=rK.
The client startup delay (time to receive segment
1) =T/(rlk)
K = 6, r = 1, s = 2
Required server bandwidth
b = sr
Multicast frequency

The lower bound: the portion of the object at position
x must be broadcast with frequency at least 1/(x+d).
Required client buffer space
Basic RPB



Each segment is encoded using an erasure
code.
A client can listen to each channel until it has
correctly received the number of packets
required to reconstruct the respective
segment. (1-p)
Let a=1/(1-p), the maximum relative
segment sizes are
k 1

lk  l1 k 1
a   a    l j , 1  k  s;  l j , k  s 
r  r j 1
j k  s

Example Optimized RPB protocol
K = 6, r = 1, s = 2, 10% packet loss
No boundary!! (because of erasure code)
Performance (3% loss)
Performance (10% loss)
Performance (25% loss)
Impact of segment streaming rate
RPB protocols for bursty packet
loss (1/2)



If a given client observes cumulative packet
rate less than p at the end of receiving a
given segment, that segment can be
reconstructed before its playout point.
In this case, the client can begin listening to
later segments earlier.
This “work-ahead” allows the client to
tolerate a higher loss rate than p for a later
segment.
RPB protocols for bursty packet
loss (2/2)


Packet loss is bursty, so earlier
segments require a higher level of loss
protection than later segments.
Assume each segment has a different ak,
the segment sizes for the specified
values of ak are:
lk 
l1 k 1
ak   a1    l j , 1  k  s;
r 
r j 1

l j , k  s

j k  s

k 1
Performance