Quoting Sally Floyd:
| > (2) One needs to ensure that the TFRC minimum rates are not under-run
| > by doing
| > oscillation prevention (which is possible with integer arithmetic
| > when
| > sqrt(R_sample) > R_sqmean): something like
| >
| > X_inst = X * R_sqmean / sqrt(R_sample)
| >
| > /* where X is obtained as in step (4) of section 4.3 */
| >
| > If (p > 0)
| > X_inst = max(X_inst, s/t_mbi)
| > Else if (not first feedback packet, or the first feedback
| > packet
| > after a nofeedback timer) {
| > X_inst = max(X_inst, s/R)
| > }
|
| I added a slightly revised version of this. You can look at the revised
| version, along with the revised version of Section 4.3, and see what you
| think.
The changes look good, thank you. But I noticed that the entire algorithm in
section
4.3 has changed: the first feedback / first feedback packet after nofeedback
timer
expiry are no longer ignored; the Limited Receive Rate flag is completely new;
and there are references to the Faster-Restart Receive Rate Length.
With the many interpretations of computing the sending rate (RFC 3448,
rfc3448bis,
RFC 4342 + errata, Faster-Restart draft), and the frequent changes to this
algorithm,
it looks currently not a good idea to try and implement this: the changes are
too
frequent and the interpretations of the same subject are too many and not
necessarily
conform. I think it would be good if the IETF people could reach consensus on
this,
and agree on a uniform presentation of how to compute/update the sending rate.
Otherwise
these divergences will very clearly continue to hinder implementability.