Multimedia streaming is an alternate option in viewing TV programs and other video content through traditional services such as terrestrial, cable and satellite broadcast. The first architecture developed was based on a client-server architecture, in which a viewer decodes a program stream from a video server. However, the increase in the number of viewers, along with the growing number of other online applications, has made this architecture ineffective because of bandwidth limitation issues. One clever solution introduced to solve this problem is peer to peer (P2P) technology, wherein peers automatically relay streams to other peers. The P2P network they are connected to performs an algorithm that let peers ﬁnd a relay for a speciﬁed stream to connect to. In implementing a multimedia streaming network, the important parameters to consider are playing time and network bandwidth utilization.
1. Different Multimedia Streaming Topologies
The figure 1 shows the different topologies used in multimedia streaming networks starting from the centralized client-server topology to decentralized schemes, which includes IP multicast and P2P solutions. A client-server network consists of a central server and clients who each have a separate connection to the server. There is no mechanism to guarantee content delivery and becomes impractical as number of connected clients increases. IP multicast is an enhancement to the client-server topology wherein the same multimedia stream is sent to a group of clients to reduce network loading. This is ideal for private LAN networks but may not be practical in multiple LANs or public networks because of firewall and security issues. In P2P systems, the network may consist of several video servers and the content is sent not only from the server to the clients but also between clients (peers). P2P can be further sub-divided into mesh-based, tree-based and hybrid overlays.
Each peer can accept media data from multiple parents as well as provide services to multiple children (both parent and child are relative terms in place of master-slave relationship). The advantages of this solution are: high resource utilization and fast discovery of fresh peers in a single mesh due to gossiping. The disadvantages are: quality of service cannot be guaranteed due to gossiping among peers and large buffer space needed to reduce impact of autonomy of peers (in a dynamic environment). Example applications are Coolstreaming, Promise and GNUStream.
Each peer communicates only with one parent (per overlay) and provides service to a number of children such that a “tree” topology is always maintained (in an overlay). The advantages of this solution are: closely resembles original IP multicast ideas and low management overhead. The disadvantages are: highly vulnerable to disruption under dynamic environments and low resource utilization. Example applications are ALMI, NICE and ZigZag (single tree protocol) and SplitStream, Bullet and MDC (multiple tree protocol).
Figure 1: different topologies used in multimedia streaming networks
2. P2P Solutions
There are several P2P techniques developed to solve bandwidth limitation problems usually experienced with client-server and IP-multicast streaming networks. The basic peercasting technique works by having peers automatically relay streams to other peers. However, degradation in quality of service is experienced when peers disconnect requiring other peers to switch to different relays. An enhanced solution is minute swarming, wherein a live stream is broken up into minute length files that are then made available via P2P application such as BitTorrent. The disadvantage is excessive overhead in both processing and bandwidth because of the need for the formation of a new swarm every minute. Another solution is to stripe a live stream into multiple substreams. Forward error correction and timing techniques are then employed in the receiver to reconstruct the original stream. Other solutions developed were based on network overlay architectures. These techniques concentrate on the following issues: start-up delay, source-to-end delay and playback continuity. These metrics are very important to the user because large start-up delays would exhaust user patience and streaming interruptions would spoil viewing experience. The figure 2 shows an example of intra-overlay optimization with two logical streaming overlays. Peers A, B, C and D join the stream originating from S1 and peers E, F, G, H and K join the stream originating from S2. The number on each edge of the links represents the cost of the link between two nodes. Take note that these are relative values and were used only to compare link costs. Looking at peer D, the cost of S1 to D link is 8, while that for path S1 to S2 to D (intra-overlay optimized) is only 4. Cost efficiency can be achieved but resource utilization of traditional approaches such as this is relatively low.
Figure 2: Example of Intra-overlay optmization scheme
Another technique is inter-overlay optimization based scheme (Figure 3), in which resources can join multiple overlays simultaneously. The objectives are to (1) improve global resource utilization of a live streaming network and then distribute traffic to all physical links evenly; (2) assign resources based on the peers’ locality and delay; (3) guarantee link quality by using the nearest peers, even if they belong to different overlays; and (4) balance the load among members within the group.
Figure 3: inter-overlay optimization based scheme
The basic peercasting solution solved network bottleneck problems but became insufficient because of problems brought about by random connection and disconnection of clients from the P2P network. New techniques were developed to solve these problems such as minute swarming, stripping to multiple streams, intra-overlay and inter-overlay optimization. There is no perfect and final solution because number of viewers will continue to grow and more demanding viewing application requirements will come up. So expect more techniques to be developed in the future, along with developments in processing technologies and network optimization.
Based on article written by Diego Villa