The Mathematics of Internet Congestion Control

Computer networks have experienced an explosive growth over the past years and with that growth have come severe congestion problems. For example, it is now common to see Internet gateways drop 10% of the incoming packets because of local buffer overflow [5]. Congestion is a state of sustained network overload, when the demands for resources exceed the supply for an extended period of time. A congestion event will cause a significant number of packets to be lost consecutively. When a user detects a dropped packet, it typically retransmits the dropped packet. Thus, congestion slows down network traffic flow and it tends to get more severe once it starts. Congestion avoidance and control has been a hot research topic in the past two decades and researchers have investigated algorithms that maximize the throughput of the network and minimize the packet-loss rate for networks including the Internet. To many control researchers and engineers, research in computer networks, especially the Internet, is not very close. The main reason is that research in computer networks typically involves much less mathematical rigor and derivations than what we are used to see in the control literature. This book may help to close this gap. This book is about the application of some well-known results in control theory to the study of Internet congestion control. Readers will find mathematical equations and derivations throughout the book. Results that are familiar to control researchers including convex optimization, Lyapunov stability theory, and the Nyquist criterion are the main tools used in this book. The origin of the problem studied in this book came from Jacobson [5] where the first Internet congestion control algorithm was published for implementation as part of the transmission control protocol (TCP). Mathematical tools familiar to control engineers are used in this book to understand the dynamics of Jacobson’s algorithm and to improve the algorithm. Chapter 1 provides a brief introduction to the problem of Internet congestion control that is studied in this book. Two simple examples based on the algorithm developed in [2] are used in this chapter to illustrate the problem definition and the mathematics involved in the problem formulation. The Second Method of Lyapunov is used as a tool in arriving at the analysis results of the two examples. Chapter 2 is concerned with the problem of resource/bandwidth allocation which is viewed as an optimization problem [7]. With the introduction of a general class of utility functions, approaches developed in the literature for convex optimization are applied to solving the present optimization problem for resource allocation. Specific cases of network resource allocation considered include minimum potential delay fairness, proportional fairness, and max–min fairness [6]. Some existing results from convex optimization are introduced in an Appendix at the end of the chapter. Chapter 3 studies the case of the decentralized resource allocation problem. The resource allocation problem introduced in Chapter 2 which is formulated as a constrained optimization problem is solved in this chapter as an unconstrained optimization problem that incorporates the constraints using a penalty term in the utility function.