Hierarchically Clustered P2P Video Streaming: Design, implementation, and evaluation
P2P based live streaming has been gaining popularity. The new generation P2P live streaming systems not only attract a large number of viewers, but also support better video quality by streaming the content at higher bit-rate. In this paper, we propose a novel P2P streaming framework, called Hierarchically Clustered P2P Video Streaming, or HCPS, that can support the streaming rate approaching the optimal upper bound while accommodating large viewer population. The scalability comes with the hierarchical overlay architecture by grouping peers into clusters and forming a hierarchy among them. Peers are assigned to appropriate cluster so as to balance the bandwidth resources across clusters and maximize the supportable streaming rate. Furthermore, individual peers perform distributed queue-based scheduling algorithms to determine how to retrieve data chunks from source and neighboring peers, and how to utilize its uplink bandwidth to serve data chunks to other peers. We show that queue-based scheduling algorithms allow to fully utilize peers uplink bandwidths, and HCPS supports the streaming rate close to the optimum in practical network environment. The prototype of HCPS is implemented and various design issues/tradeoffs are investigated. Experiments over the PlanetLab further demonstrate the effectiveness of HCPS design.
hierarchical clustering streaming peer-to-peer optimal scheduling