In this book, we consider the problem of achieving the maximum throughput and utility in a class of networks with resource-sharing constraints. This is a classical problem of great importance. In the context of wireless networks, we first propose a fully distributed scheduling algorithm that achieves the maximum throughput. Inspired by CSMA (Carrier Sense Multiple Access), which is widely deployed in today's wireless networks, our algorithm is simple, asynchronous, and easy to implement. Second, using a novel maximal-entropy technique, we combine the CSMA scheduling algorithm with congestion control to approach the maximum utility. Also, we further show that CSMA scheduling is a modular MAC-layer algorithm that can work with other protocols in the transport layer and network layer. Third, for wireless networks where packet collisions are unavoidable, we establish a general analytical model and extend the above algorithms to that case. Stochastic Processing Networks (SPNs) model manufacturing, communication, and service systems. In manufacturing networks, for example, tasks require parts and resources to produce other parts. SPNs are more general than queueing networks and pose novel challenges to throughput-optimum scheduling. We proposes a "deficit maximum weight" (DMW) algorithm to achieve throughput optimality and maximize the net utility of the production in SPNs.

Table of Contents: Introduction / Overview / Scheduling in Wireless Networks / Utility Maximization in Wireless Networks / Distributed CSMA Scheduling with Collisions / Stochastic Processing networks