RTP Media Congestion Avoidance Techniques
charter-ietf-rmcat-01

Document Charter RTP Media Congestion Avoidance Techniques WG (rmcat)
Title RTP Media Congestion Avoidance Techniques
Last updated 2015-09-14
State Approved
WG State Active
IESG Responsible AD Mirja Kühlewind
Charter Edit AD Spencer Dawkins
Send notices to (None)

Charter
charter-ietf-rmcat-01

Today's Internet traffic includes interactive real-time media, which is
often carried via sets of flows using RTP over UDP.  There is no generally
accepted congestion control mechanism for this kind of data flow.  With the
deployment of applications using the RTCWEB protocol suite, the number of such
flows is likely to increase, especially non-fixed-rate flows such as video or
adaptive audio. There is therefore some urgency in specifying one or more
congestion control mechanisms that can find general acceptance.

Congestion control algorithms for interactive real time media may need to be
quite different from the congestion control of TCP: for example, some
applications can be more tolerant to loss than delay and jitter. The set of
requirements for such an algorithm includes, but is not limited to:
    - Low delay and low jitter for the case where there is no competing traffic
    using
      other algorithms
    - Reasonable share of bandwidth when competing with RMCAT traffic, other
      real-time media protocols, and ideally also TCP and other protocols. A
      'reasonable share' means that no flow has a significantly negative impact
      [RFC5033] on other flows and at minimum that no flow starves.
    - Effective use of signals like packet loss and ECN markings to adapt to
      congestion

The working group will:
    - Develop a clear understanding of the congestion control requirements for
    RTP
      flows, and document deficiencies of existing mechanisms such as TFRC with
      regards to these requirements.  This must be completed prior to finishing
      any Experimental algorithm specifications.
    - Identify interactions between applications and RTP flows to enable
    conveying
      helpful cross-layer information such as per-packet priorities, flow
      elasticity, etc. This information might be used to populate an API, but
      the WG will not define a specific API itself.
    - Determine if extensions to RTP/RTCP are needed for carrying congestion
      control feedback, using DCCP as a model.  If so, provide the requirements
      for such extensions to the AVTCORE working group for standardization
      there.
    - Develop techniques to detect, instrument or diagnose failing to meet RT
      schedules due to failures of components outside of the charter scope,
      possibly in collaboration with IPPM.
    - Develop a mechanism for identifying shared bottlenecks between groups of
      flows, and means to flexibly allocate their rates within the aggregate
      hitting the shared bottleneck.
    - Define evaluation criteria for proposed congestion control mechanisms, and
      publish these as an Informational RFC.  This must be completed prior to
      finishing any Proposed Standard algorithm specifications.
    - Find or develop candidate congestion control algorithms, verify that
    these can be
      tested on the Internet without significant risk, and publish one or more
      of these as Experimental RFCs.
    - Publish evaluation criteria and the result of experimentation with these
      Experimental algorithms on the Internet.  This must be completed prior to
      finishing any Proposed Standard algorithm specifications.
    - Once an algorithm has been found or developed that meets the evaluation
      criteria, and has a satisfactory amount of documented experience on the
      Internet, publish this algorithm as a Standards Track RFC.  There may be
      more than one algorithm; in this case it will be one of the objects of the
      experimentation to determine the applicabilities and relative merits of
      the algorithms.
    - For each of the Experimental algorithms that have not been
      selected for the Standards Track, the working group will review
      the algorithm and determine whether there are significant flaws,
      such as ones that turn out to be harmful to flows using or
      competing with them. If so, the WG will write a document
      describing the issues encountered and recommending to the IESG
      to move the specification to Historic status.

The work will be guided by the advice laid out in RFC 5405 (UDP Usage
Guidelines), RFC 2914 (congestion control principles), and RFC5033 (Specifying
New Congestion Control Algorithms).

The following topics are out of scope of this working group, on the assumption
that work on them will proceed elsewhere:
    - Circuit-breaker algorithms for stopping media flows when network
    conditions
      render them useless; this work is done in AVTCORE
    - Media flows for non-interactive purposes like stored video playback;
    those are not
      as delay sensitive as interactive traffic
    - Defining active queue management algorithms or modifications to TCP of any
      kind
    - Multicast congestion control; common control of multiple unicast flows is
    in
      scope
    - Topologies other than point-to-point connections; implications on
    multi-hop
      connections will be considered at a later stage

The working group is expected to work closely with the RAI area, including the
underlying technologies being worked on in the AVTCORE and AVTEXT WGs, and
the applications/protocol suites being developed in the  CLUE and RTCWEB working
groups.  It will also coordinate closely with other Transport area groups
working on congestion control, and with the Internet Congestion Control
Research Group of the IRTF.

Deliverables:
    - Requirements for congestion control algorithms for interactive real time
    media as
      an Informational RFC
    - Evaluation criteria for congestion control algorithms for interactive
    real time media
      as an Informational RFC
    - Requirements for RTCP extensions for use with congestion control
    algorithms as
      an input to the AVTCORE WG.
    - Interactions between applications and RTP flows as an Informational RFC
    - Identifying and controlling groups of flows as a Proposed Standard RFC
    - Techniques to detect, instrument or diagnose failing to meet RT schedules
    as
      either an Informational RFC or on the Standards Track if needed for
      interoperability or other aspects that would justify it.
    - Candidate congestion control algorithm for interactive real time media as
      Experimental RFCs (likely more than one)
    - Experimentation and evaluation results for candidate congestion control
      algorithms as an Informational RFC
    - One or more recommended congestion control algorithms for interactive
    real time
      media as Proposed Standard RFCs