A survey of peer-to-peer live video streaming schemes  An algorithmic perspective
Live video streaming applications have gained great popularity among users but exert great pressure on video servers and the Internet. Peer-to-Peer (P2P) networks provide an attractive solution due to their low cost and high scalability. A large number of P2P live video streaming schemes have been proposed and many deployments have appeared on the Internet. These schemes pursue vastly diverse directions, from mimicking IP multicast to BitTorrent-like swarming to distributed hash tables. In this paper, we provide a comprehensive and in-depth survey of P2P live video streaming schemes from an algorithmic perspective. Our purpose is to acquaint future designers with the critical design choices and their impacts on system performance. The primary objective of a P2P live video streaming system is to distribute packets from the video source to peers, and the collective paths through which a packet traverses form a tree. We focus on three aspects of how these trees are formed: determining the supplierreceiver relationships for each packet, handling the departure of the supplier or receiver before their relationship expires, and handling lost packets. We identify critical design choices in each aspect and propose a taxonomy according to these choices. Because the surveyed papers use different performance metrics and the reported results are heavily influenced by their experimental settings, we consider two measures to identify the impact of each design choice: we use a set of internal metrics in addition to the commonly used external metrics, and we examine performance metrics of schemes that have made the same design choice. For better understanding of how the design choices interact with one another and exposing future designers to the design choices specific to each individual scheme, we also provide systematic summaries for a large number of schemes.
live video streaming algorithm peer-to-peer network