2001/10/25 1

Efficient and Scalable OnDemand Data Streaming
Using UEP Codes
Lihao Xu
Washington University in St. Louis
ACM Multimedia 2001
Sept. 30 – Oct. 5, 2001
2001/10/25
Sheng-Feng Ho
1
Outline
Introduction
Unequal Error Protection Codes


UEP Codes Example
Theorem
The Scheme
Resource Consumption



Network Bandwidth
Client’s Buffer Space
Client’s Network Bandwidth
Additional Initial Playout Delay
Conclusion
2001/10/25
Sheng-Feng Ho
2
Introduction
Streaming Method

Unicast:Point-to-point
 Resource consumption is proportional to the
number of requests.

Multicast:Pyramid or Skyscraper
 The lowest resource consumption with no initial
data playout delay is proportional to logarithm
of the average request arrival rate.
 The reliability:Automatic-Repeat-Request、
Forward Error Correction
2001/10/25
Sheng-Feng Ho
3
Unequal Error Protection Codes
(N,K) block code encodes an original
message of K symbols into a codeword
of N data symbols of the same size.
A data symbol is a general data unit of
certain size:a bit, a byte, a packet or a
frame.
Original K data symbols can be recovered
from any M data symbols of its codeword.
(M≧K)
2001/10/25
Sheng-Feng Ho
4
Unequal Error Protection Codes
For a UEP code, certain data symbols of its
codeword are protected against a greater
number of errors than others.
For a message m with n data symbols, if the
error protection degree of its i-th symbol is Li
(i≦1 ≦n), and it is encoded with a UEP
code C of N symbols, then any Li symbols
of its codeword are sufficient to retrieve
the i-th symbol in the original message m.
2001/10/25
Sheng-Feng Ho
5
UEP Codes Example (1)
Message m has 3 symbols of equal size:
a, b and c. (m=abc)
Partition symbol



a into 6 sub-symbols of equal size:
a=a1..a6,
b into 9 sub-symbols:b=b1..b9
c into 6 sub-symbols:c1..c6
2001/10/25
Sheng-Feng Ho
6
UEP Codes Example (2)
Apply the (6,2) B-Code on a to get a
codeword of a:A=A1..A6 (Ai is ½ size of a)







A1 = a1, a2+a3, a4+a6,
A2 = a2, a3+a4, a5+a1,
A3 = a3, a4+a5, a6+a2,
A4 = a4, a5+a6, a1+a3,
A5 = a5, a6+a1, a2+a4,
A6 = a6, a1+a2, a3+a5,
and + is the simple bit-wise binary exclusive or
(XOR) operations
2001/10/25
Sheng-Feng Ho
7
UEP Codes Example (3)
Apply a modified (6,3) RS-Code on b to get a
codeword of b:B=B1..B6 (Bi is 1/3 size of b)







B1 = b1, b2, b3,
B2 = b1+b3+b4, b2+b4+b5, b2+b3+b6,
B3 = b6+b7, b4+b6+b8, b5+b9,
B4 = b3+b6+b7, b1+b4+b7+b8, b2+b5+b9
B5 = b4+b6+b9, b4+b7,?
B6 = b7, b8, b9
“+” is the XOR operation
Let Ci = ci for i = 1 to 6, thus each Ci is 1/6
size of c.
2001/10/25
Sheng-Feng Ho
8
UEP Codes Example (4)
Construct a UEP codeword of the
original message m:U = U1..U6,
where Ui = AiBiCi for i = 1 to 6.
The protection degrees of the original
data symbols a, b and c are La=2, Lb=3
and Lc=6 respectively.
1/La+1/Lb+1/Lc=1
2001/10/25
Sheng-Feng Ho
9
UEP Codes Example (5)
Original Message
m=abc
Original Message
m=abc
UEP Codeword
U=U1U2U3
U1=A1B1C1,U2=..
UEP Codeword
U=U1U2U3
a=a1..a6,b=b1..
Server Multicast Network Transmit
2001/10/25
Sheng-Feng Ho
Client Receive
10
Theorem
For a message m with n symbols, if
there exists a UEP code such that the
error protection degree of the i-th
symbol in the original message m is Li
(i≦1 ≦n), then

n
1
/
Li
≦
1
i 1
2001/10/25
Sheng-Feng Ho
11
The Scheme (1)
Encoding the original data of n symbols
into a UEP codeword of N symbols.
Multicast the UEP codeword in a cyclic
fashion.
Once the number of data symbols in
user’s buffer space reaches Li, the user
retrieves the i-th symbol of the original
data stream and plays it out.
2001/10/25
Sheng-Feng Ho
12
The Scheme (2)
B:normal playout unicast network
bandwidth
d:the initial playout number of original
data symbols
The peak network bandwidth needed:
rpeakB, where rpeak = max(Li/(i+d))
The average network bandwidth is raveB,
where raveB = Ln/(n+d)
2001/10/25
Sheng-Feng Ho
13
The Scheme (3)
d
R
0
12.859
1
8.87
C 36.788%
36.790%
30
5.484
60
4.796
36.941% 37.095%
Resource Consumption vs. Initial Playout Delay for
Multicasting a 2-hour Video.
d:initial playout delay in seconds
R:normalized backbone network bandwidth
C:normalized client buffer space needed
2001/10/25
Sheng-Feng Ho
14
Resource Consumption (1)
The peak network bandwidth needed:
rpeakB, where rpeak = max(Li/(i+d))
Minimize rpeak, set Li/(i+d) = R for all i’s
n
i 11 / Li ≦ 1
1
H m  i 11 / i  1   log 2 l , where    1
2
m
R=Hn+d-Hd≒αlog2(1+n/d), where
½≦α≦1
R≒αlog2(1+n/d), where ½≦α≦1
2001/10/25
Sheng-Feng Ho
15
Resource Consumption (2)
Let Si be the buffer space needed
between the retrieval of the i-th and the
(i+1)th original data symbols, then
i
1
1
Si  (1   )li 1 , i  i  n  1, li  R(i  d )
n
j 1 l j
( H nd  H i d )(i  d  1)
Client’s Buffer Space: S  max
n
0i n 1
( H nd  H i d )(i  d  1)
S  max
n
0i n 1
2001/10/25
Sheng-Feng Ho
16
Resource Consumption (3)
The normalized network bandwidth a
client needs to consume between the
retrieval of the i-th and (i+1)th original
i
1
data symbols is Ci  R(1   j 1 ), li  R(i  d )
Ci  H nd  Hi d ,0  i  n  1
lj
Ci  H nd  Hi d ,0  i  n  1
2001/10/25
Sheng-Feng Ho
17
Additional Initial Playout Delay
d:additional initial playout delay
R(d )  H nd  H d:normalized backbone
network bandwidth
W:client’s normalized incoming
network badnwidth
1
1
D(W , d )  d  ( 
)ln , ln  R(d )( n  d )
w R( d )
(n  d ) R(d ) / W  n,W  R(d ), W  R(d )
D(W , d )  
d ,W  R( d )

2001/10/25
Sheng-Feng Ho
18
Conclusion
Our scheme utilizes nice properties of
error control codes, particularly UEP
codes.
The scheme also tolerates packet loss
during transmission, thus further
reduces multicast cost.
Problem:Fast Seek
2001/10/25
Sheng-Feng Ho
19