Draft: draft-irtf-nwcrg-coding-and-congestion-01

Commentary: This LGTM ! Note that I made a few direct English fixes in the xml .
Coding is a reliability mechanism that is distinct and separated from
the loss detection of congestion controls.  Using coding can be a
useful way to better deal with tail losses or with networks with non-
congestion losses.  However, coding mechanisms should not hide
congestion signals.  This memo offers a discussion of how coding and
congestion control can coexist.
Coding is a reliability mechanism that is distinct and separated from
the loss detection of congestion controls.  Using coding can be a
useful way to better deal with tail losses or with networks with non-
congestion losses.  However, coding mechanisms should not hide
congestion signals.  This memo offers a discussion of how coding and
congestion control can coexist.  This document can help the
comparison of FEC schemes by identifying at which level they are
operating with respect to the transport congestion control.
This memo offers a discussion of how coding and congestion control
can coexist.  One objective is to help the research community
consider congestion control aspects when proposing coding solutions.
This memo offers a discussion of how coding and congestion control
can coexist.  One objective is to help the research community
consider congestion control aspects when proposing and comparing
coding solutions.
fig:sep-entities shows a example where FEC is on top of the CC, but
interactions between the FEC and CC are possible.  In this example,
the inputs to FEC (data to work upon, and signaling from the receiver
about losses and/or repaired blocks) are distinct from the inputs to
CC.  The latter calculates a sending rate or window from network
measurements, and it takes the data to send as input, sometimes along
with application requirements such as upper/lower rate bounds,
periods of quiescence, or a priority.
fig:sep-entities provides more details than fig:sep-channel by
focusing on the server side.  The inputs to FEC (data to work upon,
and signaling from the receiver about losses and/or repaired blocks)
are distinct from the inputs to CC.  The latter calculates a sending
rate or window from network measurements, and it takes the data to
send as input, sometimes along with application requirements such as
upper/lower rate bounds, periods of quiescence, or a priority.
The advantage of this approach is that the FEC does not contribute to
adding congestion in the network.
The drawback of this approach is that it is useless if the transport
guarantees data delivery by retransmitting packets.
The advantage of this approach is that it can enable conjoint
optimization between the CC and the FEC.  Moreover, the transmission
of coded packets does not add congestion in potentially congested
networks but help repair lost packets (such as tail losses).
The drawback of this approach is that it may not result in much gains
as opposed to classical CC retransmissions mechanisms and it costs
bandwidth that could have been exploited to transmit non coded data
packets.  The coding ratio needs to be carefully designed.
The advantage of this approach is that it can result in performance
gains when there are persistent transmission losses along the path.
The drawback of this approach is that it can induce congestion in
already congested networks.  The coding ratio needs to be carefully
designed.