Multi-channel peer-to-peer streaming systems as resource allocation problems

In the past few years, the Internet has witnessed the success of Peer-to-Peer (P2P) streaming technology, which has attracted millions of users. More recently, commercial P2P streaming systems have begun to support multiple channels and a user in such systems is allowed to watch more than one channel at a time. We refer to such systems as multi-channel P2P streaming systems. In this dissertation, we focus on designing multi-channel P2P streaming systems with the goal of providing optimal streaming quality for all channels, termed as system-wide optimal streaming quality. Specifically, we design the systems from the perspective of how to optimally allocate resources in the whole system (e.g., bandwidth contributed by peers). To achieve system-wide optimal streaming quality, we need to solve two fundamental problems in multi-channel P2P streaming systems, namely bandwidth allocation and block scheduling. According to measurement studies, bandwidth availability across different channels is not uniform, which means that some channels suffer from bandwidth deficit, while some others have surplus bandwidth. The bandwidth allocation problem can be defined as optimally allocating bandwidth to different channels to improve the overall streaming quality. In contrast, the block scheduling problem can be defined as optimally utilizing the allocated bandwidth for delivering useful video streams to peers before their corresponding playback deadlines. We study both problems in this dissertation. Since there already exist many efficient block scheduling protocols, bandwidth allocation protocols for cross-channel bandwidth sharing should be flexible to adopt any of the existing block scheduling protocols. We propose an optimal bandwidth allocation protocol based on Divide-and-Conquer strategy (DAC) and a utility-based optimization model, which is flexible enough to incorporate existing block scheduling protocols and is scalable to support a large number of channels and peers. To provide guidelines for choosing the proper protocol for a specific application scenario, we compare existing and potential designs. Our results show the trade-off between bandwidth utilization efficiency and implementation complexity. When the overall system has insufficient bandwidth to support all peers, we should use admission control algorithms to reject some users. We study a class of admission control algorithms, based on the processor-sharing queueing model, which statistically guarantees that a P2P streaming system has sufficient bandwidth. The bandwidth allocation problem and the block scheduling problem are solved separately in existing works, where each problem has its own optimization objective. Therefore, from the system perspective, the optimal solution to bandwidth allocation is not necessarily the optimal solution to block scheduling and vice versa. We jointly study the two problems to improve the system-wide streaming quality. We establish general nonlinear optimization models for solving the two problems under various scenarios and apply a two-player game theoretic model to analyze the interaction between the two problems. Our analysis results establish the performance loss bounds for special applications and our packet-level simulations show the performance loss in general cases. In future, this work can be extended to other time sensitive systems.