In current peer-to-peer (P2P) live streaming systems, nodes in a channel form a P2P overlay for video sharing. To watch a new channel, a node depends on the centralized server to join in the overlay of the channel. In today’s live streaming applications, the increase in the number of channels triggers users’ desire of watching multiple channels successively or simultaneously. However, the support of such watching modes in current applications is no better than joining in different channel overlays successively or simultaneously through the centralized server, which if widely used, poses a heavy burden on the server. In order to achieve higher efficiency and scalability, we propose a Social-network-Aided efficient liVe strEaming system (SAVE). SAVE regards users’ channel switching or multichannel watching as interactions between channels.
By collecting the information of channel interactions, nodes’ interests, and watching times, SAVE forms nodes in multiple channels with frequent interactions into an overlay, constructs bridges between overlays of channels with less frequent interactions, and enables nodes to identify friends sharing similar interests and watching times. Thus, a node can connect to a new channel while staying in its current overlay, using bridges or relying on its friends, reducing the need to contact the centralized server. We further propose the channel-closeness-based chunk-pushing strategy and capacity-based chunk provider selection strategy to enhance the system performance. Extensive experimental results from the PeerSim simulator and PlanetLab verify that SAVE outperforms other systems in system efficiency and server load reduction, as well as the effectiveness of the two proposed strategies.