To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
Johannes Kepler was the assistant of the sixteenth-century Danish astronomer Tycho Brahe. They had an ideal combination of talents. Brahe had the ingenuity and skill to measure planetary positions to better than
0.01°, all made by naked eye because the telescope was not invented until a few years after his death. Kepler had the mathematical genius and fortitude to discover that Brahe's measurements could be fitted by three simple empirical laws. The task was formidable. It took Kepler 18 years of laborious calculation to obtain the following three laws of planetary motion, which he stated early in the seventeenth century:
Every planet moves in an ellipse with the Sun at one focus.
The radius vector from the Sun to a planet sweeps out equal areas in equal times.
The period of revolution T of a planet about the Sun is related to the major axis A of the ellipse by T2 = kA3, where k is the same for all the planets.
Kepler's empirical laws went unexplained until the latter half of the seventeenth century, when Newton's fascination with the problem of planetary motion inspired him to formulate his laws of motion and the law of universal gravitation. Using these mathematical laws, Newton explained Kepler's empirical laws, giving an overwhelming argument in favor of the new mechanics and marking the beginning of modern mathematical physics. Planetary motion and the more general problem of motion under a central force continue to play an important role in many branches of physics and turn up in such topics as particle scattering, atomic structure, and space navigation.
An Introduction to Mechanics grew out of a one-semester course at the Massachusetts Institute of Technology—Physics 8.012—intended for students who seek to understand physics more deeply than the usual freshman level. In the four decades since this text was written physics has moved forward on many fronts but mechanics continues to be a bedrock for concepts such as inertia, momentum, and energy; fluency in the physicist's approach to problem-solving—an underlying theme of this book—remains priceless. The positive comments we have received over the years from students, some of whom are now well advanced in their careers, as well as from faculty at M.I.T. and elsewhere, reassures us that the approach of the text is fundamentally sound. We have received many suggestions from colleagues and we have taken this opportunity to incorporate their ideas and to update some of the discussions.
We assume that our readers know enough elementary calculus to differentiate and integrate simple polynomials and trigonometric functions. We do not assume any familiarity with differential equations. Our experience is that the principal challenge for most students is not with understanding mathematical concepts but in learning how to apply them to physical problems. This comes with practice and there is no substitute for solving challenging problems. Consequently problem-solving takes high priority. We have provided numerous worked examples to help provide guidance. Where possible we try to tie the examples to interesting physical phenomena but we are unapologetic about totally pedagogical problems.
Stationary distributions of queueing systems with general arrivals and service-time distributions are difficult to compute. In this chapter, we will develop techniques to understand the behavior of such systems in certain asymptotic regimes. We consider two such regimes: the heavy-traffic regime and the large-deviations regime. The analysis in the heavy-traffic regime can be thought of as the analog of the central limit theorem for random variables, and the analysis of the large-deviations regime can be thought of as the analog of the Chernoff bound. Traditionally, heavy-traffic analysis is performed by scaling arrival and service processes so that they can be approximated by Brownian motions, which are the stochastic process analogs of Gaussian random variables. Here, we take a different approach: we will show that heavy-traffic results can be obtained by extending the ideas behind the discrete-time Kingman bound presented in Chapter 3. The analysis of the large-deviations regime in this chapter refines the probability of overflow estimates obtained using the Chernoff bound, also in Chapter 3.
Roughly speaking, heavy traffic refers to a regime in which the mean arrival rate to a queueing system is close to the boundary of the capacity region. We will first use a Lyapunov argument to derive bounds on the moments of the scaled queue length ∈q(t) for the discrete-time G/G/1 queue; where ∈ = μ — λ; μ is the service rate and λ is the arrival rate.
In Chapter 2, we learned about routing algorithms that determine the sequence of links a packet should traverse to get to its destination. But we did not explain how a router actually moves a packet from one link to another. To understand this process, let us first look at the architecture of a router. Generally speaking, a router has four major components: the input and the output ports, which are interfaces connecting the router to input and output links, respectively, a switch fabric, and a routing processor, as shown in Figure 4.1. The routing processor maintains the routing table and makes routing decisions. The switch fabric is the component that moves packets from one link to another link. In this chapter, we will assume that all packets are of equal size. In reality, packets in the Internet have widely variable sizes. In the switch fabric, packets are divided into equal-sized cells and reassembled at the output, hence our assumption holds.
Earlier, we implicitly assumed that this switch fabric operates infinitely fast, so packets are moved from input ports to output ports immediately. This allowed us to focus on the buffers at output ports. So, all our discussions so far on buffer overflow probabilities are for output queues since an output buffer is the place where packets “enter” a link. For example, WFQ, introduced in Chapter 3, may be implemented at output port buffers to provide isolation among flows. However, in reality, the switch fabric does not really operate at infinite speed.
Traditionally, analytical techniques for communication networks discussed in textbooks fall into two categories: (i) analysis of network protocols, primarily using queueing theoretic tools, and (ii) algorithms for network provisioning which use tools from optimization theory. Since the mid 1990s, a new viewpoint of the architecture of a communication network has emerged. Network architecture and algorithms are now viewed as slow-time-scale, distributed solutions to a large-scale optimization problem. This approach illustrates that the layered architecture of a communication network is a natural by-product of the desire to design a fair and stable system. On the other hand, queueing theory, stochastic processes, and combinatorics play an important role in designing low-complexity and distributed algorithms that are viewed as operating at fast time scales.
Our goal in writing this book is to present this modern point of view of network protocol design and analysis to a wide audience. The book provides readers with a comprehensive view of the design of communication networks using a combination of tools from optimization theory, control theory, and stochastic networks, and introduces mathematical tools needed to analyze the performance of communication network protocols.
Organization of the book
The book has been organized into two major parts. In the first part of the book, with a few exceptions, we present mathematical techniques only as tools to design algorithms implemented at various layers of a communication network. We start with the transport layer, and then consider algorithms at the link layer and the medium access layer, and finally present a unified view of all these layers along with the network layer.
A communication network is an interconnection of devices designed to carry information from various sources to their respective destinations. To execute this task of carrying information, a number of protocols (algorithms) have to be developed to convert the information to bits and transport these bits reliably over the network. The first part of this book deals with the development of mathematical models which will be used to design the protocols used by communication networks. To understand the scope of the book, it is useful first to understand the architecture of a communication network.
The sources (also called end hosts) that generate information (also called data) first convert the data into bits (0s and 1s) which are then collected into groups called packets. We will not discuss the process of converting data into packets in this book, but simply assume that the data are generated in the form of packets. Let us consider the problem of sending a stream of packets from a source S to destination D, and assume for the moment that there are no other entities (such as other sources or destinations or intermediate nodes) in the network. The source and destination must be connected by some communication medium, such as a coaxial cable, telephone wire, or optical fiber, or they have to communicate in a wireless fashion. In either case, we can imagine that S and D are connected by a communication link, although the link is virtual in the case of wireless communication.
In Chapter 2, we assumed that the transmission rates xr are positive, and we derived fair and stable resource allocation algorithms. In reality, since data are transmitted in the form of packets, the rates xr are converted to discrete window sizes, which results in bursty (non-smooth) arrival rates at the links in the network. In addition, many flows in the Internet are very short (consisting of only a few packets), for which the convergence analysis in the previous chapter does not apply. Further, there may also be flows which are not congestion controlled. Because of these deviations, the number of incoming packets at a link varies over time and may exceed the link capacity occasionally even if the mean arrival rate is less than the link capacity. So buffers are needed to absorb bursty arrivals and to reduce packet losses. To understand the effect of bursty arrivals and the role of buffering in communication networks, in this chapter we model packet arrivals at links as random processes and study the packet level performance at a link using discrete-time queueing theory. This chapter is devoted to answering the following questions.
• How large should the buffer size be to store bursty packet arrivals temporarily before transmission over a link?
• What is the relationship between buffer overflow probabilities, delays, and the burstiness of the arrival processes?
• How do we provide isolation among flows so that each flow is guaranteed a minimum rate at a link, independent of the burstiness of the other flows sharing the link?
So far we have looked at resource allocation algorithms in networks with wireline links. In this chapter, we consider networks with wireless components. The major difference between wireless and wireline networks is that in wireless networks links contend for a common resource, namely the wireless spectrum. As a result, we have to design Medium Access Control (MAC) algorithms to decide which links access the wireless medium at each time instant. As we will see, wireless MAC algorithms have features similar to scheduling algorithms for high-speed switches, which were studied in Chapter 4. However, there are some differences: wireless networks are subject to time-varying link quality due to channel fluctuations, also known as channel fading; and transmissions in wireless networks may interfere with each other, so transmissions have to be scheduled to avoid interference. In addition, some wireless networks do not have a central coordinator to perform scheduling, so scheduling decisions have to be taken independently by each link. In this chapter, we will address the following issues specific to wireless networks.
• Does channel-state information play a critical role in scheduling in wireless networks?
• What is the capacity region of a cellular network, and what scheduling algorithm can be used to achieve the full capacity region?
• What is the capacity region of an ad hoc wireless network, what scheduling algorithm can be used to support the capacity region, and can the algorithm be implemented in a distributed fashion?
We have learned about Discrete-Time Markov Chains (DTMCs) and discrete-time queueing systems in Chapter 3. In this chapter, we will look at continuous-time queueing systems, which were first developed to analyze telephone networks but has broader applications in communication networks, manufacturing, and transportation. The focus of this chapter is on the basics of continuous-time queueing theory and its application to communication networks. As in the case of discrete-time queueing systems, continuous-time queueing systems will be analyzed by relating them to Markov chains. For this purpose, we will first introduce Continuous-Time Markov Chains (CTMCs) and related concepts, such as the global balance equation, the local balance equation, and the Foster–Lyapunov theorem for CTMCs. Then, we will introduce and study simple queueing models including the M/M/1 queue, the M/GI/1 queue, the GI/GI/1 queue, and the Jackson network, as well as important concepts such as reversibility and insensitivity to service time distributions. Finally, we will relate CTMCs and queueing theory to the study of connection-level stability in the Internet, distributed admission control, telephone networks, and P2P file-sharing protocols. The following questions will be answered in this chapter.
• Under what conditions does a CTMC have a stationary distribution, and how should it be computed if it exists?
• What are the mean delays and queue lengths of simple queueing models?
• What is the reverse chain ofa CTMC, and how does the concept of reversibility help the calculation of the stationary distributions of queueing networks?
• How should CTMCs and queueing theory be used to model and analyze communication networks, including the Internet, telephone networks, and P2P networks?
In this chapter, we explore the relationship between the algorithms discussed in the previous chapters and the protocols used in the Internet and wireless networks today. We will first discuss protocols used in the wired Internet, and then discuss protocols used in wireless networks.
It is important to note that Internet congestion control protocols were not designed using the optimization formulation of the resource allocation problem discussed earlier. The predominant concern while designing these protocols was to minimize the risk of congestion collapse, i.e., large-scale buffer overflows, and hence they tended to be rather conservative in their behaviors. Even though the current Internet protocols were not designed with clearly defined fairness and stability ideas in mind, they bear a strong resemblance to the ideas of fair resource allocation that we have discussed so far. In fact, the utility maximization methods presented earlier provide a solid framework that could be for understanding the operation of these congestion control algorithms. Further, going forward, the utility maximization approach seems like a natural candidate framework that could be used to modify existing protocols to adapt to the evolution of the Internet as it continues to grow faster.
In our earlier discussion on network utility maximization for the Internet, we assumed that routes are Axed. In this chapter, we discuss how the Internet chooses a route for each source-destination pair. Further, we also discuss the addressing protocol used in the Internet which allows one to implement routing protocols.
As we have seen so far, the Internet is a collection of physical links and routers that communicate with each other using a common set of protocols. Many applications run on top of this physical network. Some of these applications involve a collection of computers (called peers), which form a logical overlay network on top of the physical Internet. When communication takes place between the peers, the underlying physical network is transparent to them, and so the communication appears as though it takes place between the peers without the participation of any intermediate nodes. Hence, these types of networks are called Peer-to-Peer (P2P) networks.
Typically, P2P networks are used for high bandwidth data transfer due to its scalability. In a traditional client-server system, the capacity of the system is limited by the bandwidth of the server. In a P2P network, peers upload data to other peers while receiving the data, so the network capacity increases with the number of peers. In this chapter, we will introduce three P2P applications: Distributed Hash Tables (DHTs), file-sharing applications, and streaming systems. A DHT protocol is a distributed database which stores (key, value) pairs at participating peers and facilitates the retrieval of content location. In filesharing applications, peers who are interested in the same content (such as a movie or a music file) exchange content pieces among themselves.
In earlier chapters, we considered distributed resource allocation algorithms for ad hoc wireless networks. We showed that there exist algorithms, called throughput-optimal algorithms, that maximize the network throughput. However, we do not yet have a simple expression for the total amount of information that can be transferred in an ad hoc wireless network. The problem of computing such an expression is challenging due to interference caused by simultaneous wireless transmissions. This chapter focuses on understanding the limitations on network throughput imposed by wireless interference. We will introduce geometric random graph models of wireless networks, in which n wireless nodes are distributed over a geographical area. Two nodes can communicate if the distance between them is smaller than a threshold and if no nodes near the receiver are transmitting at the same time. The capacity region of such a network is difficult to characterize exactly. Therefore, we will study the network capacity when the number of wireless nodes becomes large. We will show that, in such an asymptotic regime, one can obtain expressions for the network capacity that are asymptotically correct in a sense that will be made precise. A key insight of this chapter is that the throughput per source diminishes as the number of wireless nodes (in a fixed geographical area) increases because of wireless interference. The following questions will be addressed in this chapter.
What is the maximum achievable throughput in a network of n wireless nodes distributed over a geographical area, and how does the maximum throughput scale with the number of wireless nodes?
What algorithms should be used to achieve the maximum throughput?
In this chapter, we will develop a mathematical formulation of the problem of resource allocation in the Internet. A large communication network such as the Internet can be viewed as a collection of communication links shared by many sources. Congestion control algorithms are protocols that allocate the available network resources in a fair, distributed, and stable manner among the sources. In this chapter, we will introduce the network utility maximization formulation for resource allocation in the Internet, where each source is associated with a utility function Ur(xr), and xr is the transmission rate allocated to source r. The goal of fair resource allocation is to maximize the net utility Σr Ur (xr) subject to resource constraints. We will derive distributed, congestion control algorithms that solve the network utility maximization problem. In a later chapter, we will discuss the relationship between the mathematical models developed in this chapter to transport layer protocols used in the Internet. Optimality and stability of the congestion control algorithms will be established using convex optimization and control theory. We will also introduce a game-theoretical view of network utility maximization and study the impact of strategic users on the efficiency of network utility maximization. Finally, routing and IP addressing will be discussed. The following key questions will be answered in this chapter.
• What is fair resource allocation?
• How do we use convex optimization and duality to design distributed resource allocation algorithms to achieve a fair and stable resource allocation?
• What are the game-theoretic implications offair resource allocation?