Broadcast scheduling

Scheduling problems deal with the allocation of scarce resources to activities over time. This broad definition of scheduling gives rise to an unlimited number of problems that have applications in diverse areas such as manufacturing, operating systems, telecommunication networks and many others. Designing algorithms that solve these problems efficiently is critical for such applications. However, most interesting scheduling problems are NP-hard; thus finding optimal solutions for these problems is prohibitively time consuming. A useful approach for these problems is to design efficient solutions that produce near-optimal (approximate) solutions. In traditional scheduling problems, a resource can contribute towards at most one activity at any time. In this thesis, we study scheduling problems in which “overlapping” activities can be grouped together and allocated a resource. Hence, the total resources needed to satisfy a group of activities may be significantly less than the resources needed to satisfy each of the activities individually. This is the common thread among all the problems addressed in this work. We call these problems broadcast scheduling problems because of their applicability in areas such as information dissemination systems and ad hoc networks, in which a single transmission of data can satisfy many requests for that data. In contrast with the traditional model of scheduling which is relatively well understood, the broadcast model is not well understood. This thesis focuses on designing approximation algorithms for broadcast scheduling problems. In this thesis we study the following three problems: the channel allocation problem, broadcast scheduling in pull-based systems and broadcast scheduling in ad hoc networks. We develop approximation algorithms for these problems and in some cases prove that the problem is hard to approximate within a certain factor. We also develop a randomized rounding technique called dependent rounding that can be used to solve a variety of optimization problems. We demonstrate the applicability of the dependent rounding technique by using it to obtain improved solutions for broadcast scheduling in pull-based systems.