Streaming video and audio content over the Internet is becoming more popular, and the P2P network model can be used for this application. P2P does not need support from Internet routers, making it cost effective and simple to deploy. A peer simultaneously acts as a client and a server. A video stream can be downloaded from one set of peers and at the same time uploaded to another set of peers, so P2P streaming can significantly decrease the required bandwidth.
The goal of P2P streaming is to maximize the quality of media delivered to individual peers in a scalable fashion, despite the heterogeneity and irregularity of each peer’s capabilities and link speeds. The amount of resources available to the system physically grows with the number of peers. Each peer should be able to continuously receive suitable content from its connected peers, as long as those peers are offering enough outgoing bandwidth.
Compared to file exchange networks, big P2P video streaming networks have to resolve a number of system and networking issues. P2P streaming has stiff timing requirements for efficient audio and video content delivery. Usually, stream data is played and passed to other peers as soon as it’s received. Stream packets that are received with unadaptable delay are considered lost, and that causes visible degradation. Peers usually have limited upload speeds since the Internet was designed for the client/server paradigm and applications. Network congestion can also cause packets to be lost or delayed.
In a P2P network, video content may be forced to go through a number of intermediate receivers which may cause excessive end-to-end delay. Also, the behavior of peers is unpredictable. They may join and leave the service at any time, and therefore disrupt their successors. Receiving peers have to store some amount of data and exchange state information with each other to preserve connectivity. The control overhead at each receiver should be small to prevent excessive use of network resources and not to exceed the resource limitation at each receiver. Organizing the peers into a high quality overlay for distribution is a challenging problem, especially if the broadcasted video requires high bandwidth and low latency.
P2P streaming systems can be categorized as either live-streaming or on-demand. The technology behind them may be tree-based, mesh-based or a hybrid scheme.