<html>
<body>
Mayutan,<br><br>
inline marked &quot;[BB]:&quot; <br><br>
At 15:19 21/03/2010, Mayutan A. wrote:<br>
<blockquote type=cite class=cite cite="">Hello Bob,<br><br>
Thanks a lot for your feedback. See inline for comments. <br><br>
On Sun, Mar 21, 2010 at 12:48 AM, Bob Briscoe
&lt;<a href="mailto:rbriscoe@jungle.bt.co.uk">rbriscoe@jungle.bt.co.uk</a>
&gt; wrote:<br>

<dl>
<dd>Mayutan, Xiaoming, KK,<br><br>

<dd>It seems a good idea to try to decompose the sub-functions of CC. I
suspect this is best kept to the CC design process though (primarily
ICCRG). Rather than an organising principle for standardisation as well
(as suggested in the draft).<br><br>

</dl><br>
Our primary focus was to attempt such a decoupling in the LEDBAT WG for a
scavenger transport protocol, before attempting a more general one in the
ICCRG.&nbsp;&nbsp; <br>

<dl><br>

<dd>So I'll split my thoughts into 2 mails:<br>

<dd>#1 (this one) Applicability of the decomposition: design, or
standards too?<br>

<dd>#2 (next) thoughts on the decomposition itself<br><br>

<dd>Sub-questions to help determine whether we should decompose CC
standards:<br><br>

<dd>Q1. Are we likely to need lots of different scavenger CCs, or are we
more likely to be refining and improving a single track of progressively
more generic/graceful/cool ones?<br>

<dd>A1. I say we probably need just one track<br><br>

</dl><br>
I would agree to having just one track too, but based on a decoupled
architecture (not completely decoupled though). This would make it easier
to propose extensions. For e.g, if someone comes up with a better delay
based congestion detection tool, or a more efficient available bandwidth
estimation tool, we could just standardize the mechanism. The mechanism
could then be used not only by a scavenger protocol, but also by other
congestion control protocols. To phrase it differently, once the LEDBAT
WG standardizes a one-way delay based scavenger protocol, other CC
protocols may want to use the one-way delay based mechanism to detect
congestion, but their reaction to detected congestion might vary from
that of a scavenger CC protocol.&nbsp;&nbsp; <br>

<dl><br>

<dd>Q2. Does experience show that the sub-functions are cleanly
separated, to the extent that they could be plugged together in different
ways?<br>

<dd>A2. I think the skill of designing a good congestion control is about
how well the parts complement each other. In fact, one theme of the talk
I'm planning for ICCRG this week is that we need to be more careful to
think about the cross-effects of some flows in slow-start on others in
congestion avoidance (&amp; vv) when designing CC.<br><br>

</dl><br>
I agree that the various modules need to complement each other. This
draft is an attempt to study how and to what extent can we decouple the
various components.<br><br>

<dl>
<dd>So rather than showing Fig 1 as if there is one common interface
between the paris of modules, it's more important to show that the
interface depends on which type of outer module is used. For instance
&quot;CONGESTION_DETECTED&quot; could be a binary congestion event, or a
delay variable, or a QS bit-rate.</blockquote>
</dl><br>
[BB]: Altho this sounds fine in theory, at a practical level, code that
responds to binary events is very different to code that uses numbers in
equations. In event-based code, the outcome emerges from the frequency of
different behaviours following different events. Whereas in the
equation-based code, the outcome is always present internally, in the
values of the parameters.<br><br>
Hence my point about using this at the conceptual design phase vs the
practical stages like standardisation and coding.<br><br>
<br><br>
<blockquote type=cite class=cite cite="">Currently, what I had in mind
was a binary indicator (congested/not-congested) or a multilevel
indicator.&nbsp; We need to give more thought to whether we require
multiple interfaces between the modules or could we come up with a method
to map the various indicators to a common &quot;CONGESTION_DETECTED&quot;
indicator.&nbsp; <br>

<dl><br><br>

<dd>Here's an example of where we've already got more modularisation than
we should have in the TCP standards (in your I-D's terminology, the flow
control module behaviour should depend on the which congestion detection
module we choose):<br><br>

<dd>If my window is 30x yours, and I get 40 ECN marks within one RTT and
you get 1, I should reduce more than once within the RTT. Whereas if I
get 40 drops in one RTT, it's more correct to only reduce once.<br><br>

<dd>Reasoning: If congestion detection is by ECN not drop, it implies the
congestion must be from AQM not tail drop. Whereas 40 drops can mean a
whole load of synchronised tail drop, 40 ECN marks can't mean
synchronised drop. So I should take 40 ECN marks more seriously.<br><br>

</dl>I would take this example as a pro for a decoupled architecture. The
congestion-detection module could take this into consideration while
mapping the <br>
obtained indication to the&nbsp; &quot;CONGESTION_DETECTED&quot;&nbsp;
variable. The flow control module could be designed based on just the
value returned by the &quot;CONGESTION_DETECTED&quot; variable and need
not have to differentiate between a drop, an ecn marking or increase in
delay.&nbsp; </blockquote><br>
[BB]: Yes, perhaps you're right. We'd need to try coding this.<br><br>
<blockquote type=cite class=cite cite="">&nbsp;<br>

<dl><br>

<dd>Finally, another thought on applicability: This I-D isn't only
applicable to scavenger CCs. It's clearly applicable to all CC design
work (again primarily ICCRG).<br><br>

<dd>That's not to say it can't help LEDBAT in future. LEDBAT is on the
experimental track, so it would be fine if we learn something from this
decomposition that can help improve LEDBAT between experimental and
Proposed Standard stages.<br><br>

</dl><br>
Yes, we are planning to present it at the LEDBAT and make a short
presentation at the ICCRG too. We feel that the LEDBAT WG might be a good
starting point, and that the approach could be extended to all kinds of
congestion control protocols. </blockquote><br>
[BB]: I'm suspect LEDBAT won't want to be distracted from it's very
focused task. While I suspect folks in ICCRG might be more receptive to
thinking like this.<br><br>
Cheers<br><br>
<br>
Bob<br><br>
<br>
<blockquote type=cite class=cite cite="">Mayutan <br>

<dl><br>

<dd>Bob<br><br>
<br>

<dd>At 19:40 03/03/2010, Mayutan A. wrote:<br><br>

<dl>
<dd>We have submitted a new draft to the LEDBAT WG and are planning to
make a short presentation at the LEDBAT WG and the ICCRG.<br>

<dd>We are looking forward to all your comments.<br>

<dd>
&lt;<a href="http://tools.ietf.org/html/draft-mayutan-ledbat-congestionarchitecture-00">
http://tools.ietf.org/html/draft-mayutan-ledbat-congestionarchitecture-00</a>
&gt;<a href="http://tools.ietf.org/html/draft-mayutan-ledbat-congestionarchitecture-00" eudora="autourl">
http://tools.ietf.org/html/draft-mayutan-ledbat-congestionarchitecture-00</a>
<br><br>
<br>

<dd>Feedback is welcome,<br>

<dd>Mayutan Arumaithurai<br><br>

</dl><br><br>
<br><br>

<dd>________________________________________________________________<br>

<dd><font color="#888888">Bob
Briscoe,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
BT Innovate &amp; Design&nbsp; <br>
</font><br>

</dl><br><br>
<br>
-- <br>
Mayutan Arumaithurai<br>
0049-551-2712647 (Home number) <br>
0049-176-20322049 (mobile number)</blockquote>
<x-sigsep><p></x-sigsep>
________________________________________________________________<br>
Bob
Briscoe,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
BT Innovate &amp; Design</body>
</html>