SlideShare a Scribd company logo
Understanding 
              the Processing Delay of 
             Peer‐to‐Peer Relay Nodes

                     Kuan‐Ta Chen and Jing‐Kai Lou
           Institute of Information Science, Academia Sinica


IEEE/IFIP DSN 2008
Motivation

   Peer‐to‐peer relaying is commonly used
       Purpose
             overlay routing (for better quality)
             connection establishment (for peers behind NAT/firewall)
             data aggregation (lower bandwidth usage)
       Application
             Conferencing: 
             Video Streaming:



Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes   2
The Problem
                                 currently relaying is achieved at 
                                         application‐level




                                                             (user space)
                                                     Application




                                               TCP implementation
         scheduling delay
                                              Network Interface Card
      (depending on workload 
          and scheduler)                                  (kernel space)

Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes   3
What We Do

       Measure the processing delays at relay nodes
       proposed a measurement methodology and performed a 
       large‐scale Internet measurement (> 1000 nodes)
       Understand the characteristics of processing delays
       unreliable and predictable
       Examine whether these processing delays degrade
       application quality
       yes, they can significantly affect VoIP quality


Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes   4
Talk Progress

                Overview
                Measuring processing delay (PD)
                Large‐scale measurement
                PD characterization
                Impact of PD on VoIP quality
                Conclusion




Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes   5
Our Basic Method for Measuring PD
                                                 how much delay incurred?




           Sender                                                               Receiver

                                                   Relay node
   Assumptions
       No intentional delays at the relay node
       Source transmits packets with TCP
       TCP implementation is running at high priority, while application is 
       running at low priority
       Sender and receiver are colocated at the same place
Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes              6
The Idea


                              t1               TCP data packet

              Sender                            TCP ACK
                                                                                PD
                              t2

                                                                                     Relay node
                              t3                   Relayed packet


                 Receiver


                       PD = t3 ‐ t2  
        if network delay is approximately constant
Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes                     7
Verifying The Assumption:
     “Is TCP implemetation running at high priority?”
       LAN experiment
       Windows XP on commodity PC
       200‐byte packets sent at 30pkt/sec
       10 random movie clips to simulate workload
                           X: how much time relay packets are generated
                           Y: how much time ack packets are generated




Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes   8
The Problem of Our Basic Method


                              t1               TCP data packet

              Sender
                                                 TCP ACK                        PD

                              t2
                                                                                     Relay node
                              t3                   Relayed packet


                 Receiver


                 Network delays are NOT constant
                (mostly because of queueing delays)
                             t3 – t2 != PD
Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes                     9
Proposed Improvement: IPID Filtering
       Filter out seriously delayed packets
       IPID: the ID field of IP packets
             monotonically increasing
             infer the order of data packets generated by the sender 
             infer the order of ack packets generated by the relay node
             infer the order of relay packets generated by the relay node


       If any pair of packets is reordered along their transmission 
           discarding both packets
             LIS (longest increasing subsequence) algorithm 



Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes   10
Some Common Network Reordering Scenarios




Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes   11
Effectiveness of IPID Filtering
       LAN experiments
       Evaluate the differences between measured PD and true PD

                Average error of inferred PD                 Maximum error of inferred PD




Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes               12
Talk Progress

                Overview
                Measuring processing delay (PD)
                Large‐scale measurement
                PD characterization
                Impact of PD on VoIP quality
                Conclusion




Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes   13
Large‐Scale Measurement

       Goal: To understand PD at real‐life relay nodes


       Testbed: Skype
             > 200 thousands super nodes available anytime
             Skype finds a usable relay node automatically if the caller 
             cannot reach the calle
             We can force Skype to pick an alternate super node for 
             relaying a VoIP call



Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes   14
Collection Methodology
       Automatically call establishment and drop (10 min each)
       Human speech recordings form Open Speech Repository
       Use firewall to block caller <‐> callee direct connection
       We block used relay nodes to force Skype find a new one

                                                                TCP packet

      play sound >>                                             TCP ACK


                                                               Relayed packet   relay node
                                                                                (chosen by Skype)
        traffic capture


Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes                       15
Geographical Diversity of Observed Relay Nodes




Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes   16
Call Information



                     On average, data packets incur 9 ms PD


                          Estimated Processing Delays



              On average, maximum PD is around 240 ms

Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes   17
Talk Progress

                Overview
                Measuring processing delay (PD)
                Large‐scale measurement
                PD characterization
                Impact of PD on VoIP quality
                Conclusion




Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes   18
A Classification of PD Patterns




Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes   19
A Classification of PD Patterns (1)
                             Typical Processing Delays




              variation of PDs is small 
              magnitude is rarely higher than 20 ms
              the relay node is lightly‐loaded and the computer is not in use

Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes   20
A Classification of PD Patterns (2)
                              Varible Processing Delays




              PDs are stable most of time, but occasionally very different
              e.g., the PDs of call 561 are relatively high during the 250–450 ms 
              period, which is likely due to a person using the computer, or an 
              application with a time‐varying workload is running.
Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes        21
A Classification of PD Patterns (3)
                         Level‐shifted Processing Delays




              The levels of PDs are increased or decreased by a significant magnitude, 
              say, larger than 10 ms
              likely a heavily loaded task starts or stops running on the relay node

Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes             22
A Classification of PD Patterns (4)
                              Periodic Processing Delays




              Bursts of high PDs occur at regular intervals, possibly because of the 
              behavior of an application.
              e.g., the 1‐minute interval in Call 214 may be caused by an email 
              notification program with a one‐minute check interval.

Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes           23
A Classification of PD Patterns (5)
                              Loaded Processing Delays




              The level of PDs remains large, say 100 ms or higher.
              the relay node should be running computation‐ or I/O‐ intensive 
              applications

Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes    24
Busy Levels

       The level of workload on the relay node
       95% percentile of PD within a 10‐second window
             Lightly‐load host: application always serviced when needed
             Even on a heavily load machine, the PD incurs by relay packets 
             are not always large
                  A packet arrives just before the application’s execution quantum    get 
                  serviced immediately
                  otherwise          has to wait some time

       If busy level changes > 10 ms in successive 10‐second 
       windows  unstable relay nodes

Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes            25
Average Ratios of All Relay Nodes and Unstable 
                       Relay nodes




       Unstable nodes are mostly observed in work hours at local time
Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes   26
Talk Progress

                Overview
                Measuring processing delay (PD)
                Large‐scale measurement
                PD characterization
                Impact of PD on VoIP quality
                Conclusion




Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes   27
Impact of PD on VoIP Quality

       p2p relaying is commonly used by VoIP applications
             bypass firewall/NAT
             network latency may be reduced by overlay routing
             VoIP bandwidth requirement is not high, e.g., 32 Kbps


       Use trace‐driven simulations to assess the impact of PD
             combine different network delays and processing delays
             simulate VoIP calls with and without processing delays
             examine their differences in VoIP quality


Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes   28
Methodology
       Measuring VoIP quality degradation
             ITU‐T E‐model (G.711) based on delay and loss rate
             yields a R‐score ranges from 0 ‐‐ 100
             R‐score > 80         satisfactory
             R‐score < 70         unacceptable
       Two classes of VoIP playout buffer sizing schemes
             static buffer (60 ms according to Skype)
             adaptive buffer (according to Ramjee INFOCOM’94)
                  size = mean delay + 4 x standard deviation of delays
                  mean and std dev are derived from EWMA processes
       50,000 random samples from 1,243,225 (1,115 x 1,115) possible 
       configurations

Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes   29
R‐scores Decrease due to PD
            20% of calls incur significant                     40% and 60% of calls incur significant
            average R‐score decrease                           maximum R‐score decrease




        PD leads to larger playout buffer that 
        leads to lower e2e packet loss rate

Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes                           30
Original R‐scores vs. Average R‐scores




                                                                 more degradation than static buffer 
                                                                 with original scores >= 40
                                                                 1. higher scores => lower net delay
                                                                 2. PD impact buffer size more




Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes                           31
Impact of Busy Levels
     What busy levels of PD would significantly impact VoIP quality?




                                busy level > 20 ms 
                                 significant quality 
                                  degradation




Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes   32
Busy Period Characterization
       We define a node as busy when its busy level is higher than 20 ms
       23% of relay nodes were ever busy during a 10‐minute call




                               mean: 18 sec                                     mean: 25 sec
                        65% shorter than 10 sec




             The nodes tend to switch between busy and non‐busy states frequently
Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes                  33
Summary

       consider a hidden aspect of peer‐to‐peer relaying ‐‐‐
       processing delays at relay nodes
       PD can be determental to VoIP quality
       we should avoid a relay node with a busy level higher 
       than 20 ms
       we have to monitor the processing delays of a relay 
       node continuously (like we do for the network delays)




Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes   34
Questions?




IEEE/IFIP DSN 2008
Thank You!



                       Kuan‐Ta Chen (Chun‐Yang Chen)

                     http://www.iis.sinica.edu.tw/~ktchen

IEEE/IFIP DSN 2008

More Related Content

PDF
Ijcnc050206
PDF
transport protocols
PPT
FEC & File Multicast
PDF
Picturetel RSVP and Weighted Fair Queuing
PDF
An Empirical Evaluation of VoIP Playout Buffer Dimensioning in Skype, Google ...
PDF
Tma ph d_school_2011
PPTX
TCP Performance Optimizations for Wireless Sensor Networks
PDF
C25008013
Ijcnc050206
transport protocols
FEC & File Multicast
Picturetel RSVP and Weighted Fair Queuing
An Empirical Evaluation of VoIP Playout Buffer Dimensioning in Skype, Google ...
Tma ph d_school_2011
TCP Performance Optimizations for Wireless Sensor Networks
C25008013

What's hot (20)

PDF
Transport protocols
PPTX
DDS over Low Bandwidth Data Links - Connext Conf London October 2014
PDF
Optimization of Low-efficiency Traffic in OpenFlow Software Defined Networks
PDF
PDF
Understanding Low And Scalable Mpi Latency
PDF
Skype Video Responsiveness
PDF
CS 6390 Project design report
PDF
CS 6390 Project design report
PDF
Adv multimedia2k7 1_s
PPT
Cruz: Application-Transparent Distributed Checkpoint-Restart on Standard Oper...
PPT
Tcp ip
PPTX
PDF
Improving Distributed TCP Caching for Wireless Sensor Networks
PDF
Motion Vector Recovery for Real-time H.264 Video Streams
PDF
Vansteen communication
PDF
Investigating the Use of Synchronized Clocks in TCP Congestion Control
PPTX
High performance browser networking ch1,2,3
PPT
Sania rtp
PPTX
DIY Jarvis All Things Open 2019
Transport protocols
DDS over Low Bandwidth Data Links - Connext Conf London October 2014
Optimization of Low-efficiency Traffic in OpenFlow Software Defined Networks
Understanding Low And Scalable Mpi Latency
Skype Video Responsiveness
CS 6390 Project design report
CS 6390 Project design report
Adv multimedia2k7 1_s
Cruz: Application-Transparent Distributed Checkpoint-Restart on Standard Oper...
Tcp ip
Improving Distributed TCP Caching for Wireless Sensor Networks
Motion Vector Recovery for Real-time H.264 Video Streams
Vansteen communication
Investigating the Use of Synchronized Clocks in TCP Congestion Control
High performance browser networking ch1,2,3
Sania rtp
DIY Jarvis All Things Open 2019
Ad

Viewers also liked (11)

PPTX
In Memory OLTP
PDF
Case Processing Delays and Tax Account Errors Increased Hardship for Victims ...
DOC
Impact of IRS Processing Delay on Arkansas Tax Filing
PDF
Nidec asi service partial discharge basic diagnostic
PPTX
code analysis for c++
PDF
[발표자료]안드로메다에서 온 디자이너이야기 5차 next_web_지훈_20130221
PPTX
Partial Discharge Detection Products by EA Technology
PPTX
정종필 팀장이됐어요(더저용량)
PPT
Nav 6 RADAR ARPA
PDF
ENKI: Access Control for Encrypted Query Processing
PDF
Japanese Video Game Market Overview 2012
In Memory OLTP
Case Processing Delays and Tax Account Errors Increased Hardship for Victims ...
Impact of IRS Processing Delay on Arkansas Tax Filing
Nidec asi service partial discharge basic diagnostic
code analysis for c++
[발표자료]안드로메다에서 온 디자이너이야기 5차 next_web_지훈_20130221
Partial Discharge Detection Products by EA Technology
정종필 팀장이됐어요(더저용량)
Nav 6 RADAR ARPA
ENKI: Access Control for Encrypted Query Processing
Japanese Video Game Market Overview 2012
Ad

Similar to Toward an Understanding of the Processing Delay of Peer-to-Peer Relay Nodes (20)

PDF
Lecture04 H
PPT
Network and TCP performance relationship workshop
PPT
PPTX
6TiSCH @Telecom Bretagne 2015
PDF
Computer network (13)
PDF
Predictable Packet Lossand Proportional Buffer Scaling Mechanism
PPT
Somerdata AROW Data Diode
PPTX
TCP vs UDP / Sumiet23
PDF
Userspace networking
PDF
Lec 4 and_5
PPT
PPT
PDF
PDF
Distributed systems short notes module 1
PDF
Analytical Research of TCP Variants in Terms of Maximum Throughput
PDF
Improving Performance of TCP in Wireless Environment using TCP-P
PPTX
Redesigning MPTCP in Edge clouds
PDF
DIANA: Scenarios for QoS based integration of IP and ATM
PDF
MPLS Deployment Chapter 1 - Basic
PPT
Mk ppt chapter 5
Lecture04 H
Network and TCP performance relationship workshop
6TiSCH @Telecom Bretagne 2015
Computer network (13)
Predictable Packet Lossand Proportional Buffer Scaling Mechanism
Somerdata AROW Data Diode
TCP vs UDP / Sumiet23
Userspace networking
Lec 4 and_5
Distributed systems short notes module 1
Analytical Research of TCP Variants in Terms of Maximum Throughput
Improving Performance of TCP in Wireless Environment using TCP-P
Redesigning MPTCP in Edge clouds
DIANA: Scenarios for QoS based integration of IP and ATM
MPLS Deployment Chapter 1 - Basic
Mk ppt chapter 5

More from Academia Sinica (20)

PDF
Computational Social Science:The Collaborative Futures of Big Data, Computer ...
PDF
Games on Demand: Are We There Yet?
PDF
Detecting In-Situ Identity Fraud on Social Network Services: A Case Study on ...
PDF
Cloud Gaming Onward: Research Opportunities and Outlook
PPTX
Quantifying User Satisfaction in Mobile Cloud Games
PDF
量化「樂趣」-以心理生理量測探究數位娛樂商品之市場價值
PPTX
On The Battle between Online Gamers and Lags
PPTX
Understanding The Performance of Thin-Client Gaming
PPT
Quantifying QoS Requirements of Network Services: A Cheat-Proof Framework
PPT
Online Game QoE Evaluation using Paired Comparisons
PPTX
GamingAnywhere: An Open Cloud Gaming System
PPT
Are All Games Equally Cloud-Gaming-Friendly? An Electromyographic Approach
PPT
Forecasting Online Game Addictiveness
PDF
Identifying MMORPG Bots: A Traffic Analysis Approach
PDF
Inferring Speech Activity from Encrypted Skype Traffic
PDF
Game Bot Detection Based on Avatar Trajectory
PDF
Improving Reliability of Web 2.0-based Rating Systems Using Per-user Trustiness
PDF
A Collusion-Resistant Automation Scheme for Social Moderation Systems
PDF
Tuning Skype’s Redundancy Control Algorithm for User Satisfaction
PDF
Network Game Design: Hints and Implications of Player Interaction
Computational Social Science:The Collaborative Futures of Big Data, Computer ...
Games on Demand: Are We There Yet?
Detecting In-Situ Identity Fraud on Social Network Services: A Case Study on ...
Cloud Gaming Onward: Research Opportunities and Outlook
Quantifying User Satisfaction in Mobile Cloud Games
量化「樂趣」-以心理生理量測探究數位娛樂商品之市場價值
On The Battle between Online Gamers and Lags
Understanding The Performance of Thin-Client Gaming
Quantifying QoS Requirements of Network Services: A Cheat-Proof Framework
Online Game QoE Evaluation using Paired Comparisons
GamingAnywhere: An Open Cloud Gaming System
Are All Games Equally Cloud-Gaming-Friendly? An Electromyographic Approach
Forecasting Online Game Addictiveness
Identifying MMORPG Bots: A Traffic Analysis Approach
Inferring Speech Activity from Encrypted Skype Traffic
Game Bot Detection Based on Avatar Trajectory
Improving Reliability of Web 2.0-based Rating Systems Using Per-user Trustiness
A Collusion-Resistant Automation Scheme for Social Moderation Systems
Tuning Skype’s Redundancy Control Algorithm for User Satisfaction
Network Game Design: Hints and Implications of Player Interaction

Recently uploaded (20)

PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Electronic commerce courselecture one. Pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
cuic standard and advanced reporting.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
NewMind AI Weekly Chronicles - August'25-Week II
Building Integrated photovoltaic BIPV_UPV.pdf
Spectral efficient network and resource selection model in 5G networks
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Per capita expenditure prediction using model stacking based on satellite ima...
MYSQL Presentation for SQL database connectivity
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Electronic commerce courselecture one. Pdf
20250228 LYD VKU AI Blended-Learning.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Big Data Technologies - Introduction.pptx
Assigned Numbers - 2025 - Bluetooth® Document
Chapter 3 Spatial Domain Image Processing.pdf
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
cuic standard and advanced reporting.pdf

Toward an Understanding of the Processing Delay of Peer-to-Peer Relay Nodes

  • 1. Understanding  the Processing Delay of  Peer‐to‐Peer Relay Nodes Kuan‐Ta Chen and Jing‐Kai Lou Institute of Information Science, Academia Sinica IEEE/IFIP DSN 2008
  • 2. Motivation Peer‐to‐peer relaying is commonly used Purpose overlay routing (for better quality) connection establishment (for peers behind NAT/firewall) data aggregation (lower bandwidth usage) Application Conferencing:  Video Streaming: Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 2
  • 3. The Problem currently relaying is achieved at  application‐level (user space) Application TCP implementation scheduling delay Network Interface Card (depending on workload  and scheduler) (kernel space) Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 3
  • 4. What We Do Measure the processing delays at relay nodes proposed a measurement methodology and performed a  large‐scale Internet measurement (> 1000 nodes) Understand the characteristics of processing delays unreliable and predictable Examine whether these processing delays degrade application quality yes, they can significantly affect VoIP quality Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 4
  • 5. Talk Progress Overview Measuring processing delay (PD) Large‐scale measurement PD characterization Impact of PD on VoIP quality Conclusion Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 5
  • 6. Our Basic Method for Measuring PD how much delay incurred? Sender Receiver Relay node Assumptions No intentional delays at the relay node Source transmits packets with TCP TCP implementation is running at high priority, while application is  running at low priority Sender and receiver are colocated at the same place Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 6
  • 7. The Idea t1 TCP data packet Sender TCP ACK PD t2 Relay node t3 Relayed packet Receiver PD = t3 ‐ t2   if network delay is approximately constant Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 7
  • 8. Verifying The Assumption: “Is TCP implemetation running at high priority?” LAN experiment Windows XP on commodity PC 200‐byte packets sent at 30pkt/sec 10 random movie clips to simulate workload X: how much time relay packets are generated Y: how much time ack packets are generated Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 8
  • 9. The Problem of Our Basic Method t1 TCP data packet Sender TCP ACK PD t2 Relay node t3 Relayed packet Receiver Network delays are NOT constant (mostly because of queueing delays) t3 – t2 != PD Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 9
  • 10. Proposed Improvement: IPID Filtering Filter out seriously delayed packets IPID: the ID field of IP packets monotonically increasing infer the order of data packets generated by the sender  infer the order of ack packets generated by the relay node infer the order of relay packets generated by the relay node If any pair of packets is reordered along their transmission  discarding both packets LIS (longest increasing subsequence) algorithm  Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 10
  • 12. Effectiveness of IPID Filtering LAN experiments Evaluate the differences between measured PD and true PD Average error of inferred PD Maximum error of inferred PD Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 12
  • 13. Talk Progress Overview Measuring processing delay (PD) Large‐scale measurement PD characterization Impact of PD on VoIP quality Conclusion Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 13
  • 14. Large‐Scale Measurement Goal: To understand PD at real‐life relay nodes Testbed: Skype > 200 thousands super nodes available anytime Skype finds a usable relay node automatically if the caller  cannot reach the calle We can force Skype to pick an alternate super node for  relaying a VoIP call Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 14
  • 15. Collection Methodology Automatically call establishment and drop (10 min each) Human speech recordings form Open Speech Repository Use firewall to block caller <‐> callee direct connection We block used relay nodes to force Skype find a new one TCP packet play sound >> TCP ACK Relayed packet relay node (chosen by Skype) traffic capture Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 15
  • 17. Call Information On average, data packets incur 9 ms PD Estimated Processing Delays On average, maximum PD is around 240 ms Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 17
  • 18. Talk Progress Overview Measuring processing delay (PD) Large‐scale measurement PD characterization Impact of PD on VoIP quality Conclusion Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 18
  • 20. A Classification of PD Patterns (1) Typical Processing Delays variation of PDs is small  magnitude is rarely higher than 20 ms the relay node is lightly‐loaded and the computer is not in use Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 20
  • 21. A Classification of PD Patterns (2) Varible Processing Delays PDs are stable most of time, but occasionally very different e.g., the PDs of call 561 are relatively high during the 250–450 ms  period, which is likely due to a person using the computer, or an  application with a time‐varying workload is running. Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 21
  • 22. A Classification of PD Patterns (3) Level‐shifted Processing Delays The levels of PDs are increased or decreased by a significant magnitude,  say, larger than 10 ms likely a heavily loaded task starts or stops running on the relay node Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 22
  • 23. A Classification of PD Patterns (4) Periodic Processing Delays Bursts of high PDs occur at regular intervals, possibly because of the  behavior of an application. e.g., the 1‐minute interval in Call 214 may be caused by an email  notification program with a one‐minute check interval. Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 23
  • 24. A Classification of PD Patterns (5) Loaded Processing Delays The level of PDs remains large, say 100 ms or higher. the relay node should be running computation‐ or I/O‐ intensive  applications Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 24
  • 25. Busy Levels The level of workload on the relay node 95% percentile of PD within a 10‐second window Lightly‐load host: application always serviced when needed Even on a heavily load machine, the PD incurs by relay packets  are not always large A packet arrives just before the application’s execution quantum  get  serviced immediately otherwise  has to wait some time If busy level changes > 10 ms in successive 10‐second  windows  unstable relay nodes Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 25
  • 26. Average Ratios of All Relay Nodes and Unstable  Relay nodes Unstable nodes are mostly observed in work hours at local time Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 26
  • 27. Talk Progress Overview Measuring processing delay (PD) Large‐scale measurement PD characterization Impact of PD on VoIP quality Conclusion Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 27
  • 28. Impact of PD on VoIP Quality p2p relaying is commonly used by VoIP applications bypass firewall/NAT network latency may be reduced by overlay routing VoIP bandwidth requirement is not high, e.g., 32 Kbps Use trace‐driven simulations to assess the impact of PD combine different network delays and processing delays simulate VoIP calls with and without processing delays examine their differences in VoIP quality Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 28
  • 29. Methodology Measuring VoIP quality degradation ITU‐T E‐model (G.711) based on delay and loss rate yields a R‐score ranges from 0 ‐‐ 100 R‐score > 80  satisfactory R‐score < 70  unacceptable Two classes of VoIP playout buffer sizing schemes static buffer (60 ms according to Skype) adaptive buffer (according to Ramjee INFOCOM’94) size = mean delay + 4 x standard deviation of delays mean and std dev are derived from EWMA processes 50,000 random samples from 1,243,225 (1,115 x 1,115) possible  configurations Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 29
  • 30. R‐scores Decrease due to PD 20% of calls incur significant  40% and 60% of calls incur significant average R‐score decrease maximum R‐score decrease PD leads to larger playout buffer that  leads to lower e2e packet loss rate Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 30
  • 31. Original R‐scores vs. Average R‐scores more degradation than static buffer  with original scores >= 40 1. higher scores => lower net delay 2. PD impact buffer size more Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 31
  • 32. Impact of Busy Levels What busy levels of PD would significantly impact VoIP quality? busy level > 20 ms  significant quality  degradation Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 32
  • 33. Busy Period Characterization We define a node as busy when its busy level is higher than 20 ms 23% of relay nodes were ever busy during a 10‐minute call mean: 18 sec mean: 25 sec 65% shorter than 10 sec The nodes tend to switch between busy and non‐busy states frequently Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 33
  • 34. Summary consider a hidden aspect of peer‐to‐peer relaying ‐‐‐ processing delays at relay nodes PD can be determental to VoIP quality we should avoid a relay node with a busy level higher  than 20 ms we have to monitor the processing delays of a relay  node continuously (like we do for the network delays) Kuan‐Ta Chen / Understanding the Processing Delay of Peer‐to‐Peer Relay Nodes 34
  • 36. Thank You! Kuan‐Ta Chen (Chun‐Yang Chen) http://www.iis.sinica.edu.tw/~ktchen IEEE/IFIP DSN 2008