Measurement of the Congestion Responsiveness
of RealPlayer Streaming Video Over UDP
Jae Chung, Mark Claypool, Yali Zhu
Proceedings of the InternationalWorkshop on Packet Video (PV)
Nantes, France April 2003
http://www.cs.wpi.edu/~claypool/papers/h2h/
The Hungry Wolf - Bandwidth Requirements for Video
•Streaming media growing– 350,000 hours of online video broadcast
’01
•Voice is 32-64 Kbps, but video has range of data rates– Videoconference 0.1 Mbps (H.261, MPEG-4)– VCR 1.2 Mbps (MPEG-1)– Broadcast quality 2-4 Mbps (MPEG-2)– HDTV quality 25-34 Mbps (MPEG-2) Thus, potential for more than network
capacity
The Wolf on the Prowl – Transport Protocols for Video
•Streaming video doesn’t like TCP– Wants rate-based not window-based– Can tolerate some loss– AIMD causes rate fluctuationsSo, use UDP where application controls
•But UDP has no congestion control– Unfair, unfriendly, and even collapse!
•Approaches to have router catch– Model video as CBR “firehose” (is it?)
The Wolf Pack – Commercial Video
•Commercial products have major impact
•Have been studies characterizing commercial traffic– Bandwidth use, frame rate, user use…
•But no work measuring responsiveness, or lack of it, of commercial video products
0
0.2
0.4
0.6
0.8
1
0 10 20 30
Frame Rate (fps)
Cu
mm
ula
tive
De
ns
ity
TCP
UDP
Specific Motivation
TCP
UDP
Outline
•Introduction •Background •Experiments •Results •Analysis
•Conclusions
RealVideo Network Characteristics
•SureStream– Allows bandwidth scaling
•Buffering– Remove jitter
Server
RTSP
Data: TCP or UDP
-Choice, unclear
-We’ll force
Outline
•Introduction •Background
•Experiments •Results •Analysis
•Conclusions
Methodology
•Select Real Video Clips
•Construct environment for measuring congestion response
•Construct environment to measure ability to scale (SureStream)
•Iteratively plan clips varying network
RealVideo Clip Playlist
•If put in controlled environment, may not be representative of clips “in the wild”
•Select large number through search engines (Yahoo, Google …)
•Randomly choose 100 (79 analyzed)
•Geography results:– 76 US, 9 Canada, 8 UK, 6 Italy, 1 Germany– North American dominance likely reflected
in typical user locality of reference
•Length results:– Median 3 minutes, min 20 seconds, max 30
minutes
Responsiveness Measurement Environment
• PIII 700 Mhz, 128 MB RAM, Linux 2.4
• RealPlayer version 8.0.3
• Sniffing via tcpdump
• Loss and round-trip time via ping
• TBF to limit bandwidth
• 2 Measurements for each clip
• (Note, RealTracer for MediaScaling)
Internet
Client
Hub
Router
10Mbps
DSL
700KbpsClient
Token Bucket Filter
UDP
TCPServer
Outline
•Introduction •Background
•Experiments
•Results •Analysis
•Conclusions
Distribution of Loss
0
0.2
0.4
0.6
0.8
1
0 0.05 0.1 0.15 0.2
Cum
ula
tive
Den
sity
Loss (fraction)
075 Kbps150 Kbps300 Kbps600 Kbps
Distribution of Latency
0
0.2
0.4
0.6
0.8
1
0 100 200 300 400 500 600 700 800 900
Cum
ula
tive
Den
sity
RTT (m illiseconds)
075 Kbps150 Kbps300 Kbps600 Kbps
Distribution of Packet Sizes
0
0.2
0.4
0.6
0.8
1
0 200 400 600 800 1000 1200 1400 1600
Cum
ula
tive
Den
sity
Packet S ize (Kbytes)
TCPUDP
Outline
• Introduction • Background
• Experiments
• Results
• Analysis
– Head to Head – Bandwidth– Scaling– Buffering– Smooth
• Conclusions
RealPlayer = FairPlayer?
0
50
100
150
200
250
300
350
400
0 50 100 150 200 250
Th
roug
hpu
t (K
bps)
P layout + Buffering Tim e (Seconds)
Clip-19 TCP (DSL: BW = 600Kbps, Q = 10Kbytes)Clip-19 UDP (DSL: BW = 600Kbps, Q = 10Kbytes)
RealPlayer = FoulPlayer?
0
100
200
300
400
500
600
0 50 100 150 200 250
Th
roug
hpu
t (K
bps)
P layout + Buffering Tim e (Seconds)
Clip-31 TCP (DSL: BW = 600Kbps, Q = 10Kbytes)Clip-31 UDP (DSL: BW = 600Kbps, Q = 10Kbytes)
Bandwidth Distribution
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 10 20 30 40 50 60 70
Cum
ula
tive
Den
sity
Average Bandwidth for 75 Kbps (Kbps)
Average Bandwidth for TCPAverage Bandwidth for UDP
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 20 40 60 80 100 120 140
Cum
ula
tive
Den
sity
Average Bandwidth for 150 Kbps (Kbps)
Average Bandwidth for TCPAverage Bandwidth for UDP
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 50 100 150 200 250 300
Cum
ula
tive
Den
sity
Average Bandwidth for 300 Kbps (Kbps)
Average Bandwidth for TCPAverage Bandwidth for UDP
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 100 200 300 400 500 600
Cum
ula
tive
Den
sity
Average Bandwidth for 600 Kbps (Kbps)
Average Bandwidth for TCPAverage Bandwidth for UDP
600 Kbps
300 Kbps
150 Kbps 75 Kbps
Head-to-Head Bandwidth
0
50
100
150
200
250
300
350
400
0 50 100 150 200 250 300 350 400
Ave
rag
e B
and
wid
th fo
r U
DP
(K
bps
)
Average Bandwidth for TCP (Kbps)
75 Kbps150 Kbps300 Kbps600 Kbps
Bandwidth Difference Distribution
0
0.2
0.4
0.6
0.8
1
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8
Cum
ula
tive
Den
sity
Norm alized Average Bandwidth D ifference (TCP-UDP)
75 Kbps150 Kbps300 Kbps600 Kbps
Mostly TCP-Friendly!
•Remove low bandwidth (36%)
•Then remove unscalable (14%)
Outline
• Introduction • Background
• Experiments
• Results
• Analysis – Head to Head – Bandwidth – Scaling – Buffering– Smooth
• Conclusions
Media Scaling Distribution
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1 2 3 4 5 6 7 8 9
Cum
ula
tive
Den
sity
Number of Scales (Coded-Bandwidth)
Media Scales
Media Scaling Dynamics (1)
0
50000
100000
150000
200000
250000
0 50 100 150 200 250 300 350
Co
ded-
Ban
dw
idth
(bp
s)
P layout + Buffereing Tim e (sec)
local bw lim it (35 kbps)Scale (Coded-BW ) Movement for C lip-65 TCPScale (Coded-BW ) Movement for C lip-65 UDP
Media Scaling Dynamics (2)
0
50000
100000
150000
200000
250000
300000
0 20 40 60 80 100 120 140
Co
ded-
Ban
dw
idth
(bp
s)
P layout + Buffereing Tim e (sec)
local bw lim it (35 kbps)Scale (Coded-BW ) Movement for C lip-78 TCPScale (Coded-BW ) Movement for C lip-78 UDP
Media Scaling Distributions
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 2 4 6 8 10
Cum
ula
tive
Den
sity
Number of Scale (Coded-Bandwidth) Changes
Number of Scale Changes Seen for TCPNumber of Scale Changes Seen for UDP
Media Scaling Adaptation Speed
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 10 20 30 40 50 60 70 80
Cum
ula
tive
Den
sity
E laps Time in Seconds: 0 to tim e(Coded-BW < 35kbps)
Scale Adaptation Speed for TCPScale Adaptation Speed for UDP
Outline
• Introduction • Background
• Experiments
• Results
• Analysis – Head to Head – Bandwidth
– Scaling – Buffering – Smooth
• Conclusions
Buffering Rate to Playout Rate
0
1
2
3
4
5
6
7
0 50 100 150 200 250 300 350 400
Ave
rage
Buf
feri
ng R
ate
/ A
vera
ge S
tead
y P
layo
ut R
ate
Average Steady Playout Rate (Kbps)
TCP (A ll DSL-TBF Runs)UDP (All DSL-TBF R uns)
Buffering Rate to Playout Rate Distribution
0
0.2
0.4
0.6
0.8
1
0 1 2 3 4 5 6 7
Cum
ula
tive
Den
sity
Average Buffering Rate / Average Steady Playout Rate
TCP (All LAN Runs)UDP (All LAN Runs)
Smoothness
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1/2 1 2
Cu
mul
ativ
e D
ensi
ty
Throughput Ra tio
TCPUDP
Smoothness at each Bottleneck
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1/2 1 2
Cu
mul
ativ
e D
ensi
ty
Throughput Ra tio for 75 Kbps
TCPUDP
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1/2 1 2
Cu
mul
ativ
e D
ensi
ty
Throughput Ratio for 150 Kbps
TCPUDP
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1/2 1 2
Cu
mul
ativ
e D
ensi
ty
Throughput Ra tio for 600 Kbps
TCPUDP
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1/2 1 2
Cu
mul
ativ
e D
ensi
ty
Throughput Ra tio for 300 Kbps
TCPUDP
Discussion of Results
•No concrete incentives to respond to congestion– In fact, may be “rewarded” for not
•However, RealVideo clearly responds– Often TCP-Friendly
•Content providers need to provide chance for scalability– Scaling levels
•But buffering at higher rate is bad for network
•TCP can be as smooth as UDP
•So why not TCP? API is limiting
Future Work?
Future Work
•Other commercial Players– Microsoft Media Player
•Live clips (versus pre-recorded clips)
•Perceptual quality of video over TCP versus UDP
•Characterization of clips on Internet– So can examine “typical” clips