Research : Congestion Control

IETF 86 — Presentation on RTP Circuit Breakers

Posted on in category cc

I'll give a presentation on the RTP circuit breakers in the AVTCORE working group at IETF 86 in Orlando, in March 2013. This presentation summarises the changes in the -02 version of the draft.


IETF 86 — RTCP Feedback for Unicast Multimedia Congestion Control

Posted on in category cc

I submitted a draft on the use of RTCP Feedback for Unicast Multimedia Congestion Control. Congestion control requires a feedback loop, to report on reception quality, and in the case of RTP-based multimedia, this is has typically been provided by RTCP feedback. There have been some suggestions in the working group that RTCP feedback is too slow for effective congestion control. This draft provides a rough sketch of how quickly feedback can be provided by RTCP. It seems clear that per-packet feedback cannot be provided using RTCP, but per-frame feedback is very possible. If RTCP is to be used in it's current form for congestion feedback, then the algorithms should be designed to work with feedback per-frame or per-RTT, rather than per packet.

Slides from my talk at IETF 86 are available.


Multimedia Congestion Control: Circuit Breakers for Unicast RTP Sessions (-02)

Posted on in category cc

We submitted an updated version of the RTP circuit breakers draft just before the cut-off for IETF 86. The significant changes in this version are as follows:

  • In the media timeout circuit breaker, disallow reduction in rate by a factor of 10 as a response when circuit breaker triggered. A media timeout (several reporting intervals when media is being set but not received) signals significant path failure, not a transient problem, and so should stop the RTP media flow, not just reduce it's rate.
  • Clarify RTCP Timeout circuit breaker: note that the fixed minimum RTCP reporting intervals SHOULD be used when calculating the RTCP timeout. The rationale is in Section 6.2 of RFC 3550; to avoid premature timeouts if not all participants use reduced minimum interval.
  • Clarify congestion circuit breaker: use actual RTCP reporting interval, not the fixed minimum interval, when determining if congestion is occurring. The actual interval, when using the reduced minimum interval, scales with the data rate, and so matches the dynamics of the congestion circuit breaker.
  • Break out the description of what it means to cease transmission into a separate section, and expand. When deciding when to restart transmission, clarify that the destination 3-tuple (transport, port, IP addr) rather than the full 5-tuple is used when checking if congestion has eased. The Rationale is that it is not okay to simply change the source port, and try again on the same path; need a different IP-layer path
  • Clarify behaviour with reduced-size RTCP: reduced-size RTCP packets containing RTCP SR or RR packets MUST be counted towards the circuit breaker conditions, while reduced size RTCP packets that don't contain SR or RR packets are not counted towards the circuit breaker. The intention is to allow use of low-overhead reduced-size RTP/AVPF NACKs for congestion control without risk of triggering circuit breaker, whilst reacting to significant loss events reported by SR/RR packets.
  • Expand discussion of how and when ECN-CE marks are counted towards the circuit breaker. RFC 6679 provides RTCP extensions to feedback ECN-CE marks in RTCP XR, and these are counted towards the circuit breaker. ECN-CE marks reported in a reduced size RTCP packets along with SR or RR blocks are processed; if the SR or RR block is not present, they're ignored. These are conceptually the same rules as for packet loss, but adapted for ECN.
In addition, there are a number of minor changes:
  • Update title and abstract
  • Clarify that multicast is out of scope
  • Clarify why unicast RTP sessions might have more than two SSRCs
  • Clarify that RTCP support is required
  • Clarify that implementations without a circuit breaker, or congestion control algorithm operating within a circuit breaker envelope, ought not be used on networks subject to congestion
  • Note that the RTCP RR jitter estimate is not valid for frames split across multiple RTP packets with the same timestamp
  • Expand discussion of competition with TCP flows
  • Clarify operation of the congestion circuit breaker if the fraction of packets lost is zero
  • Clarify that the circuit breaker at a sender only looks at RTCP SR/RR packets that contain reports for the SSRC values it is using to send
This draft will be discussed in the AVTCORE working group at IETF 86 in Orlando, FL, USA on 12 March 2013.


Can Congestion-controlled Interactive Multimedia Traffic Co-exist with TCP?

Posted on in category cc

I gave an invited talk on “Can Congestion-controlled Interactive Multimedia Traffic Co-exist with TCP?” in the Capacity Sharing Workshop at ACM CoNEXT 2012 in Nice, France, yesterday. The abstract for my talk was: “The WebRTC activity in the Internet Engineering Task Force (IETF) and World-Wide Web Consortium (W3C) is adding standards-based interactive multimedia conferencing features to web browsers. WebRTC systems are expected to see extremely wide deployment, starting in the next year. This deployment poses a challenge, since congestion control algorithms for interactive multimedia have not been standardized. The nature of interactive multimedia traffic complicates congestion control, and the interactions between WebRTC traffic, TCP flows, and the modern network worsen the problem. The region where congestion-controlled interactive multimedia traffic can feasibly co-exist with TCP is outlined, and areas where additional development seems necessary are highlighted.”


IETF 85 — Presentation on RTP Circuit Breakers

Posted on in category cc

I gave a presentation on the RTP circuit breakers draft to the AVTCORE working group at IETF 85 in Atlanta on 5 November 2012. The slides outline the changes since the last IETF meeting, and highlight the open issues with the draft.


RTP Congestion Control: Circuit Breakers for Unicast Sessions (-01)

Posted on in category cc

We submitted an updated version of the RTP circuit breakers draft just before the cut-off for IETF 85. The changes in this version are as follows:

  • Clarify that multicast congestion control is outside the scope of this memo.
  • Clarify what it means for an implementation to cease transmission when the circuit breaker fires. Specifically, the intention is that the application will stop sending RTP data packets until the user makes an explicit attempt to restart the call. The draft notes that RTP flows halted by the circuit breaker should not be restarted automatically unless the sender has received information that the congestion has dissipated.
  • Add an explicit RTCP Timeout circuit breaker in Section 4.2 (this is a revised and extended version of Section 8 of the -00 draft). Unlike the media timeout in Section 4.1, which fires when returning RTCP RR packets show that media isn't reaching the receiver, this circuit breaker is triggered if RTCP packets are no longer returning to the sender.
  • In section 4.3, clarify when high-rate senders can back-off to a lower rate when the circuit breaker is triggered, and when they need to cease transmission.
  • Expand and clarify Section 5 about RTP circuit breakers for systems using the RTP/AVPF profile. A sender needs to process early RTCP reports that contain an SR/RR packet as-if they were regular RTCP reports, but ignore early non-compound RTCP packets without an SR/RR. This allows the use of low-overhead early RTP/AVPF feedback without triggering the RTP circuit breaker, and so is suitable for RTP congestion control algorithms that need to quickly report loss events in between regular RTCP reports.
  • Expand and clarify Section 6 about the impact of RTCP XR, to note that RTCP XR packets are ignored by the circuit breaker algorithm.
  • Expand and clarify Section 7 about the impact of ECN, to note that reports of ECN-CE marks are treated as packet loss for the congestion based circuit breaker, but ignored for the media timeout and RTCP timeout circuit breakers.
  • Expand and clarify Section 8 on the security considerations to discuss authentication requirements.
This draft will be discussed in the AVTCORE working group at IETF 85 in Atlanta, GA, USA on 5 November 2012.


RTP Congestion Control: Circuit Breakers for Unicast Sessions (-00)

Posted on in category cc

Our draft on circuit breakers for RTP congestion control was adopted as an AVTCORE working group draft at IETF 84 in Vancouver. I've just submitted an updated draft to reflect this change in status. There are no content changes in this version.


IETF 84 — RTP Media Congestion Avoidance Techniques BoF

Posted on in category cc

A birds-of-a-feather (BoF) session on RTP Media Congestion Avoidance Techniques was held at the 84th IETF meeting in Vancouver on 2 August 2012. I co-chaired this BoF with Michael Welzl from the University of Oslo. The agenda was as follows:

13:00 Introduction (Chairs)
13:05 Problem statement (Alvestrand)
13:25 Context: IAB/IRTF congestion control workshop (Welzl)
13:35 Context: buffer bloat and AQM (Gettys)
13:45 Context: competing traffic (Mathis)
13:55 Potential solutions: rrtcc (Alvestrand)
14:00 Potential solutions: dflow (O'Hanlon)
14:05 Proposed charter (Chairs)
14:15 Discussion  
14:50 Wrap-up and next steps (Chairs/ADs)
15:00 Close  

An audio recording and minutes of the BoF are available.


IETF 84 — Presentation on RTP Circuit Breakers

Posted on in category cc

I gave a short presentation on RTP circuit breakers to the AVTCORE working group at IETF 84 in Vancouver. The slides summarise the changes made to the drafta since IETF 83, and outline open issues with their suggested resolution.


RTP Congestion Control: Circuit Breakers for Unicast Sessions (-01)

Posted on in category cc

We've just submitted an updated version of the RTP circuit breakers draft. This is a minor update, to address the comments from our presentations at IETF 83 in Paris earlier this year. The main change in this version is to use the simple TCP throughput model of Mathis et al in place of the more complex model used in the earlier version of the draft. There have also been various minor editorial clarifications and corrections.


IETF 83 — RTP Circuit Breakers Presentations

Posted on in category cc

I gave presentations about the RTP Circuit Breakers draft to the IETF AVTCORE working group and the IRTF ICCRG, meeting in Paris in March 2012. Both presentations were generally well-received. The main conclusion from the discussion following the presentations was that the simple TCP throughput model of Mathis et al is sufficient for this purpose, and there is little need to use the more complex model of Padhye et al. An updated version of the draft will be submitted in a few weeks to address this, and other, feedback.


IETF 83 — TCP Segment Caching Presentation

Posted on in category cc

Pasi Sarolahti gave a presentation on our TCP Segment Caching work at the IRTF Internet Congestion Control Research Group (ICCRG) meeting in Paris on 27 March 2012. The presentation slides are now available.


TCP Segment Caching

Posted on in category cc

This internet-draft describes Content- and Cache-Aware TCP (CATCP). This is an extension to TCP that allows caching of TCP segments, so they can be re-used between different flows transmitting same data. When large amounts of redundant data are being simultaneously sent to multiple receivers, this can lead to significant load reductions and performance improvements. A typical use-case might be to improve the efficiency of HTTP-based streaming video services, through ubiquitous in-network caching.

  • Pasi Sarolahti, Jörg Ott, and Colin Perkins, TCP Segment Caching, Internet Engineering Task Force, March 2012, Work in progress (draft-sarolahti-irtf-catcp-00.txt).

This draft marks the start of a formal specification of the ideas previously outlined in our technical report on Poor Man's Content Centric Networking (with TCP) .


Alvaro Saurin — Congestion Control for Video-conferencing Applications

Posted on in category cc

Congratulations to Alvaro Saurin, who has completed his MSc thesis on Congestion Control for Video-conferencing Applications, looking into how well TCP-Friendly Rate Control (TFRC) works on real-world networks. The abstract reads:

In the Internet, transmission systems must deal with congestion in order to keep the stability of the network. However, the model used for congestion control determines some important properties of the traffic. The most important algorithm currently used, found in the TCP protocol, has characteristics that make it unsuitable for videoconferencing systems.

The aim of this dissertation is to provide an insight into the field of congestion control for such systems. In particular, this work examines one of the most promising alternatives available, TCP-Friendly Rate Control (TFRC), to answer the question “is TFRC suitable for interactive videoconferencing applications?”

This dissertation presents the results obtained with TFRC, focusing on some practical aspects and providing recommendations for the implementation of such a rate-based congestion control system. This work examines the scenarios where TFRC is an adequate solution, exposing the behavior that can be expected and suggesting future improvements.

The thesis also presents the experiences of integrating TFRC in the UltraGrid videoconferencing application. It shows the difficulties found, demonstrating that this integration requires an significant amount of support from the application, and questioning the suit- ability of TFRC in some situations.

This works was completed as part of the NSF-funded UltraGrid project.


New research student: Alvaro Saurin

Posted on in category cc

Welcome to Alvaro Saurin, who will be working on integration of TCP Friendly Rate Control (TFRC) with high performance interactive video, as part of the UltraGrid project.


Congestion Control for Real-Time Media

Posted on in category cc

Provision of congestion control is a significant open issue for interactive real-time networked multimedia systems. Numerous congestion control algorithms have been proposed, but they frequently conflict with the demands of interactive multimedia applications. My paper “Building Adaptive Applications: On The Need For Congestion Control” (an invited paper presented at the 17th SPIE/IS&T International Symposium on Electronic Imaging, San Jose, CA, USA, January 2005) outlines some of the issues.

My research has focussed on the effects of jitter and reordering on congestion controlled transport protocols, on TCP friendly rate control, and on the integration of real time applications with the Datagram Congestion Control Protocol (DCCP).

Effects of Jitter and Reordering

Evaluation of the effects of network timing jitter and packet reordering on multimedia applications. Design of congestion control protocols to decouple response to loss and reordering. Comparison with TCP and TCP-Friendly Rate Control.

RTP over DCCP

Developing a mapping of the Real-time Transport Protocol (RTP) onto the Datagram Congestion Control Protocol (DCCP).