The current implementation of the TCP congestion window adjustment uses a strategy called *additive increase multiplicative decrease* (AIMD). The idea is that when a packet is acknowledged, the window size is increased by 1, but when a packet is lost, then the window is reduced to 1/2 of its previous size. The problem with this methodology is that it's inflexible. The value of increase and the ratio of reduction are fixed. Therefore when an application desires greater bandwidth but lower reliability, it chooses not to use TCP but UDP, which has no congestion control. Excessive use of unresponsive applications cna lead to the collaspe of the Internet.

Rather than using the all-or-nothing approach of TCP vs. UDP, this paper proposes a *general additive increase and multiplicative descrease* (GAIMD) strategy. GAIMD takes the additive value (a) and the multiplicative ratio (b) as parameters in a function to recalculate the window size. The authors of the paper derived a formula for the mean sending rate of a GAIMD flow as a function of a and b. This method gives flexibility to implement end-to-end flow service differentiatian.

This paper measures the validity of the formula by setting b, and then plotting the predicted value of a from the formula versus the measured value. The measured values are taken from sampling from Linux and NetBSD kernels that implement GAIMD. The graph shows that the ratio of the measured value versus the predicted value is 1 as long as the loss rate is under 20%.

The heart of the paper focuses on making GAIMD TCP-friendly, by deriving a relationship between a and b. Furthermore, the authors used the values of (a = 0.31 and b = 7/8) for simulations and testing. Comparisons are made using exponential evaluation with TCP-Reno and TCP-SACK implementations. Sending rates are plotted against different congestion levels, which are simulated by different number of GAIMD and TCP flows. These tests show that the GAIMD model is competitive with TCP over a wide range of loss rates. GAIMD also reduced rate fluctuations compared to TCP flows.

I give this paper a ranking of 4 because it made significant contribution to providing a possible solution to the Internet congestion problem. GAIMD allows flexibility that a combination of TCP and UDP does not. One inherent problem with this paper is that it makes the assumption that sending rate is a random process. Based on this assumption, the paper limits its research scope to modeling the mean value of the sending rate. In the larger scope of the Internet, where many factors can influence the communications of a packet, the sending rate can very well have some systematic properties. Therefore more research needs to be done in to measure the variance of the sending rate.