Determining how to transport delay-sensitive voice data has long been a problem in multimedia networking. The difficulty arises because voice and best-effort data are different by nature. It would not be fair to give priority to voice traffic and starve its best-effort counterpart; however, the voice data delivered might not be perceptible if each voice call is limited to the rate of an average TCP flow. To address the problem, we approach it from a user-centric perspective by tuning the voice data rate based on user satisfaction.
Our contribution in this work is threefold. First, we investigate how Skype, the largest and fastest growing VoIP service on the Internet, adapts its voice data rate (i.e., the redundancy ratio) to network conditions. Second, by exploiting implementations of public domain codecs, we discover that Skype’s mechanism is not really geared to user satisfaction. Third, based on a set of systematic experiments that quantify user satisfaction under different levels of packet loss and burstiness, we derive a concise model that allows user-centric redundancy control. The model can be easily incorporated into general VoIP services (not only Skype) to ensure consistent user satisfaction.
How to Troubleshoot Apps for the Modern Connected Worker
Tuning Skype’s Redundancy Control Algorithm for User Satisfaction
1. Network and Systems Laboratory
nslab.ee.ntu.edu.tw
Te‐Yuan Huang, Kuan‐Ta Chen, Polly Huang
Network and Systems Laboratory
National Taiwan University
Institute of Information Science
Academia Sinica, Taiwan
INFOCOM, 2009
2. Network and Systems Laboratory
nslab.ee.ntu.edu.tw
Motivation
Voice traffic is sensitive to network impairment
Why VoIP sending rate is important?
Most important factors on user satisfaction
Sending Rate and its Variation
High and Stable voice quality
g q y
Why adapting sending rate is difficult?
Aggressively?
Conservatively?
3. Network and Systems Laboratory
nslab.ee.ntu.edu.tw
Motivation – Cont.
Skype – one of the most popular VoIP software
Q1: How Skype adapts its voice traffic?
Q1: How Skype adapts its voice traffic?
Q2: Is their mechanism good enough?
Q2 I th i h i d h?
Q3: How can Skype’s policy be improved?
4. Network and Systems Laboratory
nslab.ee.ntu.edu.tw
Related Work
Skype’s voice traffic is governed by: [Bonfiglio et al.]
Bit Rate
Bit Rate
Framing Time
Redundant Data
Redundant Data
PC‐PSTN calls
G.729
G 729
PC‐PC calls
iSAC
Only Redundant
Only Redundant Data is controlled by Skype
is controlled by Skype
5. Network and Systems Laboratory
nslab.ee.ntu.edu.tw
Outline
Motivation
Related Work
How does Skype adapt the redundancy ratio?
How does Skype adapt the redundancy ratio?
Is Skype’s mechanism good enough?
How can we do better?
Conclusion
6. Network and Systems Laboratory
nslab.ee.ntu.edu.tw
Outline
Motivation
Related Work
How does Skype adapt its redundant data?
How does Skype adapt its redundant data?
Is Skype’s mechanism good enough?
How can we do better?
Conclusion
7. Network and Systems Laboratory
nslab.ee.ntu.edu.tw
Experiment Setup
p p
PC‐PSTN(G.729)
PC PSTN(G 729)
PC‐PC(iSAC)
8. Network and Systems Laboratory
nslab.ee.ntu.edu.tw
Observation 10%
9%
G.729 (PC‐PSTN) 8%
Constant bit rate 7%
6%
Constant framing
Constant framing
5%
time 4%
3%
2%
1%
0% 0%
9. Network and Systems Laboratory
nslab.ee.ntu.edu.tw
Redundancy Ratio
y
Definition
The percentage of packets that carry redundant voice
Th t f k t th t d d t i
data
4 3 2 1
Redundancy Ratio = 2/4 = 0.5
edu da cy at o / 0.5
10. the latter is used in Taiwan and Hong Kong, and the former is used more often in Mainland
Network and Systems Laboratory
nslab.ee.ntu.edu.tw
Estimate Redundancy Ratio of G.729
stimate Redundancy Ratio of G.7 9 10%
9%
G.729 (PC‐PSTN) 8%
Constant bit rate 7%
6%
Constant framing
Constant framing
5%
time 4%
3%
2%
1%
0% 0%
11. Network and Systems Laboratory
nslab.ee.ntu.edu.tw
Identify Redundancy Ratio
y y
Redundancy Ratio of G.729 (PC‐PSTN Calls)
12. Network and Systems Laboratory
nslab.ee.ntu.edu.tw
Identify Redundancy Ratio
y y
Redundancy Ratio of iSAC (PC‐PC Calls)
13. Network and Systems Laboratory
nslab.ee.ntu.edu.tw
Outline
Motivation
Related Work
How does Skype adapt its redundancy ratio?
How does Skype adapt its redundancy ratio?
Is Skype’s mechanism good enough?
How can we do better?
Conclusion
14. Network and Systems Laboratory
nslab.ee.ntu.edu.tw
Skype s Redundancy Control Algorithm
Skype’s Redundancy Control Algorithm
Adapt to network loss rate
Adapt to network loss rate
Adapt to other factors?
Codec
Network Loss Burstiness
N t kL B ti
15. Network and Systems Laboratory
nslab.ee.ntu.edu.tw
Effect of Codec
G.729
iSAC
16. Network and Systems Laboratory
nslab.ee.ntu.edu.tw
Effect of Network Loss Burstiness
G.729 (PC‐PSTN)
BR=2
BR 1
BR=1
BR=1.5
17. Network and Systems Laboratory
nslab.ee.ntu.edu.tw
Outline
Motivation
Related Work
How does Skype adapt its redundancy ratio?
How does Skype adapt its redundancy ratio?
Is Skype’s mechanism good enough?
How can we do better?
Conclusion
18. Network and Systems Laboratory
nslab.ee.ntu.edu.tw
Optimal Redundancy Control Policy
p y y
What’s the Optimal Policy?
Minimum amount of redundancy data we
need to sustain the same audio quality
need to sustain the same audio quality
under different network conditions
19. Network and Systems Laboratory
nslab.ee.ntu.edu.tw
Emulation Flow
Optimal
Redundancy
Ratio
G.729
20. Network and Systems Laboratory
nslab.ee.ntu.edu.tw
Skype vs. Optimal – G.729
yp p
Skype
Burst Ratio = 1
21. Network and Systems Laboratory
nslab.ee.ntu.edu.tw
Optimal Redundancy for the urst Ratio
Optimal Redundancy for the Burst Ratio
BR=2 BR=1.5
BR=1
Skype
G.729, MOS=3.5
22. Network and Systems Laboratory
nslab.ee.ntu.edu.tw
Modeling Optimal Redundancy Ratio
Modeling Optimal Redundancy Ratio
Based on the targeted voice quality
Take codec and burstiness into
consideration
Optimal Policy for
G.729, targeted
MOS=3.5
23. Network and Systems Laboratory
nslab.ee.ntu.edu.tw
Conclusion
Explore how Skype adapts its voice traffic
Redundancy Ratio
Skype s policy does not factor in the individual
Skype’s policy does not factor in the individual
codec and loss patterns in to consideration
Propose a general model for optimal policy
Consistent user satisfaction
Extensible to general VoIP software