Performance Optimization of VoIP Using an Overlay Network Raj Kumar Rajendran Samrat Ganguly

advertisement
Performance Optimization of
VoIP Using an Overlay Network
Raj Kumar Rajendran
Samrat Ganguly
Rauf Izmailov
Dan Rubenstein
Mentor(s):
Project: Grid Networking (GRIN)/VoIP
Group: IP Networking and Distributed Systems Group
Motivation

VoIP traffic poised to grow rapidly

FCC projects 27 million residential VoIP lines by 2010
Corporate VoIP usage to go from 4% to 44% by 2010
Skype had 10 billion minutes of calls in first year

Not clear how it works





Internet not engineered for delay-sensitive
applications
Skype is proprietary
Hypothesized that VoIP performance can be
improved by


Path-Diversity
Error-coding
Challenge


Design VoIP-specific overlay network
Implement




Path-Diversity
Parity-coding
Deploy
Test performance




Design test tools and methodology
Test usefulness of overlay
Effect of Path-Diversity
Tradeoffs of Redundancy and Error-Coding
Measuring VoIP Performance

ITU-T E-Model


R-factor
Delay Impairment (Id)


R-Factor
Voice Quality Rating
0<R<100
Best
80<R<90
High
70<R<80
Medium

60<R<70
Low

50<R<60
Poor
R  94.2  I e  I d



0.024D unto 177ms
0.11D after 177ms
Loss Impairment (Ie)
Network Loss
Jitter Loss



Variance in Delay
I e   1   2  ln( 1   3 E )
Non-Linear
Depends on Codec  i
R-factor depends on delay, loss, clustering of loss
Is Non-linear
System


Nodes play 3 roles
User-node

Overlay-nodes




User-nodes
Beacon-node

Beacon-Nodes
Runs VoIP appl
On startup finds and registers with
beacon-node
Intermediary between overlay and user
Represents registered user-nodes for
routing purposes
Overlay-Node


Routes VoIP streams
Receives and sends VoIP streams
directly to user-nodes
Architecture

User-Nodes


Beacon-node


Send VoIP stream to overlay
node indicated to it by beacon
With Overlay-nodes periodically
assesses quality of links
between them
Overlay Nodes


Calculates optimal routes to all
beacon-nodes (directly or
through other overlay-nodes)
Receives VoIP streams directly
from user-nodes and optimally
routes them
Control
Control-Layer
Control-Layer
Route-Compute Layer
Route-Compute Layer
Probe Layer
Data Layer
Overlay-nodes
Probe Layer
Data
Data Layer
Quality
Probe
Probe Layer
Data
User Layer
Beacon-Nodes
Data Layer
Beacon Layer
User-nodes
Data Layer
Beacon Layer
Estimating Link-Quality

Overlay-nodes
periodically asses
quality of link
between each other


They send a talk-spurt
Estimate quality of
link

Link Quality-Probe






Spurt-beginning
132B
8 second talk-spurt (1000
132Byte packets) is sent and
we estimate
Average Delay (d)
Network Loss-rate (n)
Jitter Loss-rate (j)
Delay loss
Loss Clustering (c)
1000 132B packets
Spurt-end
Estimating Path-Quality



We know quality of link
between individual overlay
nodes
Call may go over multiple-links
What is the end-to-end quality
of the path (R-factor) ?
R-factor is not linear so is
not additive !

We cannot just add the Rfactor of the links


We need to estimate
parameters for whole path!



Overlay

Delay is additive
Network loss is multiplicative
Cluster-factor can be
computed as a weighted
average
Jitter (delay) loss is hard

User-node
Our experiments indicated
that sum is a good estimate
The Routing Algorithm


Calculates best
quality (R-factor)
paths.
Uses a modified
Bellman-Ford
(distance-vector)
algorithm

Do (Every T seconds)


Measure quality of directpath to beacon, overlay nodes
Repeat




Exchange delay, loss(
network,cluster) of bestpath with other overlaynodes
If better-path exists
through another overlaynode, update best-path
Until (paths don’t change)
Done
Experimental Setup

System
Implemented on
PlanetLab


35 nodes spread
over US, Europe,
Asia
11 nodes were
chosen to be
overlay-nodes

Tests Used the G.711 codec



120 Byte frames every 15 ms
(133 f/s)
Each call 170Kbps
(Frame+RTP+UDP+IP)
Created a VoIP tester
application


Generated a call consisting of
8-second talk-spurts
Statistics are collected for
each talk spurt
Results: Overlay Performance


Overlay run for 1 day
uninterrupted
Routing algorithm
rerun every 10 minutes



% Paths that improved
Avg. R-factor
improvement
% Paths where R-factor


Improved from low to
medium (< 70 to >70)
Improved from
medium to high (< 80
to > 80)





41% of calls improved
R-factor improved by 26
for these calls
11% improved from “low”
to “medium” quality
11% improved from
“medium” to “high”
The improvement was
stable over time
Usefulness of Path-Diversity


Can we put through
more calls if we use
multiple paths?
We tested 2-calls, 3calls and 4-calls
1
Path-1
1
2
1
2
Path-2
2
2
1


R-factor improved on
average by 4, 11 and 12
low quality spurts fell by
11%, 21% and 22%
90
80
70
2-Path
3-Path
4-path
Benefit
Single-Path
60
50
edu net com org eur
il
Use of Coding

Can we improve quality by
using more bandwidth


Path-1
1
Packet-duplication
Parity-codes
2
1
P
1
P
2
2
1
Path-2
2
60
40

20

0
4
3
com
2
net
1.66
1.33
1
edu
Duplication deteriorates performance of
regular channels
Parity-coding offers better tradeoff. A
50% increase in BW

(3,2) code channel improves R-factor by 16,
and low-quality spurts fell by 27%
org
eur
il
Conclusion

Quality of VoIP calls can significantly improved by using an
overlay-network


The Path-diversity offered by overlays can be used to
improve quality


41% of calls improve, and 10% improve from low to medium
quality and 10% improve from medium to high quality
At large loads 20% fall in low-quality spurts
When bandwidth is available

Parity codes can be used to effectively trade-off bandwidth
for quality
Details: Infocom submission at www.ee.columbia.edu/~kumar/papers/
Download