Optimizing Voip Performance Using Overlays

Download Report

Transcript Optimizing Voip Performance Using Overlays

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 Internet not engineered for delay-sensitive applications Skype is proprietary  Not clear how it works 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

R-Factor

0

Voice Quality Rating

Best High Medium Low Poor

R

 94 .

2 

I e

I d

  Delay Impairment (I d )  0.024D unto 177ms  0.11D after 177ms Loss Impairment (I e )  Network Loss    Jitter Loss  Variance in Delay Non-Linear

I e

 Depends on Codec   1

i

  2  ln( 1   3

E

)   R-factor depends on

Is Non-linear delay, loss, clustering of loss

System

Overlay-nodes Beacon-Nodes User-nodes     Nodes play 3 roles User-node   Runs VoIP appl On startup finds and registers with beacon-node Beacon-node   Overlay-Node  Routes VoIP streams  Intermediary between overlay and user Represents registered user-nodes for routing purposes Receives and sends VoIP streams directly to user-nodes

Architecture

   User-Nodes  Send VoIP stream to overlay node indicated to it by beacon Beacon-node  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 -Layer Route-Compute Layer Probe Layer Data Layer Overlay-nodes Control Control -Layer Data Quality Probe Route-Compute Layer Probe Layer Data Layer Data Probe Layer 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     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 Spurt-beginning 132B

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) ?

Overlay   R-factor is not linear so is not additive !

 We cannot just add the R factor of the links We need to estimate parameters for whole path!

    Delay is additive Network loss is multiplicative Cluster-factor can be computed as a weighted average Jitter (delay) loss is hard  Our experiments indicated that sum is a good estimate User-node

The Routing Algorithm

  Calculates best quality (R-factor) paths.

Uses a modified Bellman-Ford (distance-vector) algorithm   Do (Every T seconds)    Measure quality of direct path to beacon, overlay nodes

Repeat

  Exchange delay, loss( network,cluster) of best path with other overlay nodes If better-path exists through another overlay node, 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

2 1   Can we put through more calls if we use multiple paths?

We tested 2-calls, 3 calls and 4-calls 1

Usefulness of Path-Diversity

1 Path-1 2 1  

R-factor improved on average by 4, 11 and 12 low quality spurts fell by 11%, 21% and 22% 90 80 70 60 50 4-path Benefit Single-Path edu net com org eur il

2 2 Path-2

Use of Coding

 Can we improve quality by using more bandwidth   Packet-duplication Parity-codes 2 1

P

1 Path-1

P

1

2

1 2 Path-2

60 40 20 0

2

edu net com org eur il

  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%

Conclusion

   Quality of VoIP calls can significantly improved by using an overlay-network  41% of calls improve, and 10% improve from low to medium quality and 10% improve from medium to high quality The Path-diversity offered by overlays can be used to improve 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/