How to avoid congestion in computer networks

It is important to dynamically tune communication network parameters in order to improve the performance of the network and to prevent congestion. All parameters can be tuned, including the size of a packet, the retransmission timeout (i.e. the amount of time to wait for an acknowledgement), etc. Tuning is usually done by applying some predefined linear transformation to the current values of these parameters: e.g., add a constant, subtract a constant or multiply the current values by a constant. However even the careful choice of these linear transformations still leaves us with some congestion problems. As an attempt to avoid this difficulty Jacobson proposed to use nonlinear transformations (namely, a specific family of fractionally linear ones). His simulation results showed that this new tuning algorithm really worked well. However, the resulting behavior is still sometimes highly unstable. There exists system operators who can tune the network perfectly, but we cannot use them 24 hours a day. It is therefore necessary to formalize their ability to avoid congestion. Since these individuals often cannot explain their knowledge in precise mathematical term, we have been led to use a fuzzy control technique to transform their words into an efficient control strategy. As a result, we get a congestion control technique that is much better than the fractional linear approach.<<ETX>>