Tom -
What's the difference between X and X_Bps?
Section 4.2 says X is the allowed sending rate in bytes per second.
Later, section 8.3 discusses an example of "an allowed sending rate
of X packets per round-trip time". Which is it, bytes per second or
packets per round-trip time? I think it's bytes/second and the
example is just being casual.
Section 3.1 says X_Bps is the transmit rate in bytes/second. I
assume "transmit rate" == "allowed sending rate" because X_Bps is
the result of the TCP throughput calculation, not some measurement
of activity.
So that sounds to me like X and X_Bps are the same thing. But the
pseudo-code uses X sometimes, X_Bps others, and sometimes in the
same line of code. Particularly bothersome is the line in step 4 of
section 4.3 that updates the allowed sending rate:
X = max(min(X_Bps, recv_limit), s/t_mbi);
If they're the same, why would you use X_Bps in the min expression?
So I guess they aren't the same.
After writing all of this, I think I'm starting to get it -- X_Bps
is the result of the TCP throughput equation calculation and X is
the currently allowed sending rate, which might be less than X_Bps
due to X_recv or other stuff. Both are in bytes/second. Is that
accurate?
Yep. I will add a sentence to clarify.
(The first sentence of Section 4.2 says that X is "the allowed
sending rate in bytes per second", and when X_Bps is first used
in the pseudocode in Section 4.3, the pseudocode says "Calculate X_Bps
using the TCP throughput equation.".)
If I'm now correct, or not, PLEASE, make the text more clear. Even
better would be to also have a section that lists and defines all of
the variables used. I have compiled such a list in order to
implement CCID 3. I'd be happy to give you text for the section,
that you could then correct :-).
The list of variables is in Appendix A, and Section 2 has a forward
pointer to that list. You would be welcome to add text and/or
variables...
Take care,
- Sally
http://www.icir.org/floyd/