Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
1
Measurement of the Congestion Responsiveness of RealPlayer Streaming Video Over UDP
Jae Chung, Mark Claypool, Yali Zhu
(Technical Report WPI-CS-TR-02-17)Proceedings of the Packet Video Workshop
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 fluctuations
So, 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)
Cum
mul
ativ
e De
nsity
TCP
UDP
Specific Motivation
TCP
UDP
Outline
• Introduction √• Background ←• Experiments
• Results• Analysis
• Conclusions
2
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
3
Distribution of Loss
0
0.2
0.4
0.6
0.8
1
0 0.05 0.1 0.15 0.2
Cum
ulat
ive
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
ulat
ive
Den
sity
RTT (milliseconds)
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
ulat
ive
Den
sity
Packet Size (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
Thro
ughp
ut (K
bps)
Playout + Buffering Time (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
Thro
ughp
ut (K
bps)
Playout + Buffering Time (Seconds)
Clip-31 TCP (DSL: BW = 600Kbps, Q = 10Kbytes)Clip-31 UDP (DSL: BW = 600Kbps, Q = 10Kbytes)
4
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
ulat
ive
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
ulat
ive
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 300C
umul
ativ
e D
ensi
tyAverage 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
ulat
ive
Den
sity
Average Bandwidth for 600 Kbps (Kbps)
Average Bandwidth for TCPAverage Bandwidth for UDP
600 Kbps300 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
Aver
age
Ban
dwid
th fo
r UD
P (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
ulat
ive
Den
sity
Normalized Average Bandwidth Difference (TCP-UDP)
75 Kbps150 Kbps300 Kbps600 Kbps
Mostly TCP-Friendy!• 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
ulat
ive
Den
sity
Number of Scales (Coded-Bandwidth)
5
Media Scales Media Scaling Dynamics (1)
0
50000
100000
150000
200000
250000
0 50 100 150 200 250 300 350
Cod
ed-B
andw
idth
(bps
)
Playout + Buffereing Time (sec)
local bw limit (35 kbps)Scale (Coded-BW) Movement for Clip-65 TCPScale (Coded-BW) Movement for Clip-65 UDP
Media Scaling Dynamics (2)
0
50000
100000
150000
200000
250000
300000
0 20 40 60 80 100 120 140
Cod
ed-B
andw
idth
(bps
)
Playout + Buffereing Time (sec)
local bw limit (35 kbps)Scale (Coded-BW) Movement for Clip-78 TCPScale (Coded-BW) Movement for Clip-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
ulat
ive
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
ulat
ive
Den
sity
Elaps Time in Seconds: 0 to time(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
6
Buffering Rate to Playout Rate
0
1
2
3
4
5
6
7
0 50 100 150 200 250 300 350 400
Aver
age
Buf
ferin
g R
ate
/ Ave
rage
Ste
ady
Pla
yout
Rat
e
Average Steady Playout Rate (Kbps)
TCP (All DSL-TBF Runs)UDP (All DSL-TBF Runs)
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
ulat
ive
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
Cum
ulat
ive
Den
sity
Throughput Ratio
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
Cum
ulat
ive
Den
sity
Throughput Ratio 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
Cum
ulat
ive
Den
sity
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
Cum
ulat
ive
Den
sity
Throughput Ratio 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
Cum
ulat
ive
Den
sity
Throughput Ratio for 300 Kbps
TCPUDP
Discussion of Results• No concrete incentives to respond to
congestion– In fact, may be “rewarded” for not
• However, clearly responds– often TCP-Friendly
• Content providers need to provide chance for scalability
• But buffering at higher rate is bad for network
• TCP can be as smooth as UDP• So why not TCP? API is limiting
Conclusions
• Response to congestion important to Internet
• Measured responsiveness of RealVideo• RealVideo over UDP is largely responsive
– receives typically same bandwidth as TCP– often TCP friendly
7
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