Two Dimensional Array Based Overlay Network for Balancing Load of Peer-to-Peer Live Video Streaming

The live video data is streaming usually in a tree-based overlay network or in a mesh-based overlay network. In case of departure of a peer with additional upload bandwidth, the overlay network becomes very vulnerable to churn. In this paper, a two dimensional array-based overlay network is proposed for streaming the live video stream data. As there is always a peer or a live video streaming server to upload the live video stream data, so the overlay network is very stable and very robust to churn. Peers are placed according to their upload and download bandwidth, which enhances the balance of load and performance. The overlay network utilizes the additional upload bandwidth of peers to minimize chunk delivery delay and to maximize balance of load. The procedure, which is used for distributing the additional upload bandwidth of the peers, distributes the additional upload bandwidth to the heterogeneous strength peers in a fair treat distribution approach and to the homogeneous strength peers in a uniform distribution approach. The proposed overlay network has been simulated by Qualnet from Scalable Network Technologies and results are presented in this paper.


Introduction
Live video streaming or broadcasting is very expensive through satellite or terrestrial system. On the other hand the huge bandwidth requirement puts lots of load on the video streaming server for streaming video in a server to client network. Peer to peer overlay network can reduce load of the video streaming server by utilizing upload bandwidth of peers to stream video to peers, which is called peer-to-peer video streaming. Any one, who is connected to internet, can provide live video content to any one, who is also connected to internet, with very low cost by peer-to-peer video streaming. Peerto-Peer video streaming is providing scalability and it is also providing very low cost solution for live video streaming [1]. To ensure optimized utilization of peers upload bandwidth and to ensure a very effective, efficient and stable performance, a highly reliable overlay network, which creates virtual link between servers and peers, is needed.
The live video stream is divided into pieces, called chunk. For live video streaming every chunk has to reach the destination before a specified very sort time, which is playback deadline. Due to 1  chunk delivery delay or loss of chunk the stream data cannot be delivered to users before their playback deadline. If the stream data cannot be delivered before their playback deadline then distortion less continuous playback of video cannot be delivered to users. Imbalanced overlay network design is one of the main reason for which chunks get lose or corrupt in a network [8].
The upload bandwidth capacity, which is excluding the upload bandwidth capacity required for uploading the video stream to one peer, is denoted as additional upload bandwidth of a peer. Proposed overlay network distributes chunks to the peers by preferring the peers with higher additional upload bandwidth. If an overlay network utilizes peers additional upload bandwidth to support as many peers as possible and having no support in case of departure of a peer with additional upload bandwidth then this makes the overlay network very vulnerable to churn. But this overlay network always provides support in case of departure of a peer with additional upload bandwidth or without additional upload bandwidth. This makes this overlay network very robust to churn, which enhances the stability of the overlay network.
Instead of considering only upload bandwidth of a peer, download bandwidth of the peer is also considered. Because to upload the video stream at a certain streaming rate the peer has to have a minimum download bandwidth to download the video stream. And peers are arranged according to their upload bandwidths and download bandwidths.

Related Works
BitTorrent is one of the most common peer-to-peer file sharing technology. This technology is used by many researchers for live video streaming in a peer-to-peer network [2]. Quality-of-service is one of the main focuses of an overlay network. Fast-Mesh is very much concerned with the quality-of-service [3]. Random peer selection policy is applied in LSONet [4], which is a mesh based overlay network. Some overlay networks like HCPS [5] uses a tracking server or management peer to balance the clusters in it. So the tracking server knows about every single peer. There are also hybrid tree-mesh based overlay network for live video streaming like MultiPeerCast [6]. GradienTv [7] is a mesh based overlay network. It places the video-streaming server at the center of the gradient. PRIME [8] is mesh based overlay network for peer-to-peer live video streaming; it is maximizing the utilization of upload bandwidth of peers while sustaining the quality of content.

Proposed Overlay Network
The overlay network puts peers in a two dimensional array. The overlay network has total ((P*n) +c) peers. P is number of complete rows and n is number of columns. c is number of peers in the incomplete row. Number of rows depends on number of users and it can be extended to as many as required, which enhances scalability of the overlay network. Number of columns is equivalent to number of live video streams supported by upload bandwidth of streaming server. Number of row is denoted by 1 i P+1 and number of column is denoted by 1 j n. P= ((m/n) +1) and m=total number of peers excluding the last row.
The live video streaming server is streaming live video stream data to n peers, which are on first row of the two dimensional array. After that the live video stream data is streaming to the peers of every column in a line topology method. Streaming server and peers are streaming in unicast way. Streaming links from streaming server are unidirectional, but streaming links from peers are bidirectional. Tracking server links with every peer to exchange control signals, which links are also bidirectional. Tracking server receives information from peers about their transmitted and received chunks. And it transmits scheduling policy to every peer about identity of chunks, which will forward and identity of peers, where chunks will forward. The minimum upload and download bandwidths of each peer are equivalent to video streaming rate. Minimum peer degree of a peer is one and maximum peer degree of a peer depends on upload bandwidth capacity of that peer and the upload bandwidth capacity of the overall system. Each peer X i,j can at least upload or download the stream data to or from peer X i-1,j and peer X i+1,j if they exist. The Fig. 1 shows the arrangement of peers in the proposed overlay network.

Peer strength measurement
Peers are organized based on their actual upload and download bandwidths. Both upload and download bandwidths are compared to determine the strength of a peer. The one with higher download bandwidth is considered as higher download strength peer if download bandwidth is between the video streaming rate and twice of the video streaming rate. But peers with download bandwidth above twice of the video streaming rate are considered as same download strength peer. And always peer with higher upload bandwidth is considered as higher upload strength peer. Peer with higher upload strength and higher download strength is considered as higher strength peer.
Additional upload bandwidth links are distributed to heterogeneous strength peers by preferring the peer with higher strength. And additional upload bandwidth links are distributed to homogeneous strength peers by preferring the peer with longer presence.

Setup
The proposed overlay network has been simulated by Qualnet from Scalable Network Technologies. Total number of peer was twenty (excluding the live video streaming server). There were ten peers on every row, so there were two rows of peers and the live video streaming server was streaming directly to the ten peers, which are on the upper row of each column. As the peers on the lower row was receiving packets from the live video streaming server through the peers on the upper row, so we could observe the effect of peer-to-peer packet transmission. We have considered constant-bit-rate coding (CBR) content for the live video streaming service. The propagation delay for each link was 60 milliseconds. The uplink bandwidths of peers are allocated according to the distribution of Table 1 [5]. 320 seconds, 3020 seconds and 30020 seconds simulation time was considered for short duration live video streaming, average duration live video streaming and long duration live video streaming respectively.

Result and Analysis
Average end-to-end delay, jitter and throughput for different simulation times are plotted in from Fig.  2 to Fig. 10. Columns designated by number 1 to 10 are the number of peer's ID on the lower row of the overlay network. The average end-to-end delay, jitter and throughput variations of peers of different columns on the lower row are very minimum, which confirms that the overlay network is balancing the load of the live video streaming server. With the increase of simulation time, the throughput (bits/s) does not vary much. Also, average end-to-end delay (s)'s variation is not very significant with the change of simulation time. But average jitter (s)'s variation is significant with the increase of simulation time compared to average end-to-end delay (s) and throughput (bits/s). Average jitter (s)'s variation between different columns is reducing as the simulation time is increasing.    hroughput (bits/s) for 30020 seconds simulation. Average Jitter varied from 0.000223912 seconds to 0.000247614 seconds for 320 seconds simulation. And it varied from 0.000235382 seconds to 0.000244231 seconds for 3020 seconds simulation. At last it varied from 0.000236399 seconds to 0.000239535 seconds for 30020 seconds simulation.
Average End-to-End Delay varied from 0.155671 seconds to 0.160222 seconds for 320 seconds simulation. And it varied from 0.155679 seconds to 0.160220 seconds for 3020 seconds simulation. At last it varied from 0.155680 seconds to 0.160214 seconds for 30020 seconds simulation.
Throughput is 81933 (bits/s) for 320 seconds simulation. And it is 81921 (bits/s) for 3020 seconds simulation. At last it is 81920 (bits/s) for 30020 seconds simulation.

Conclusion
An overlay network has been proposed for both homogenous and heterogeneous strength peers by arranging peers in a two dimensional array to provide better performance. Homogeneous strength peers can be further organized based on their locality and scaling the video can further enhance the scalability of the overlay network. The arrangement of the proposed overlay network provides balanced load on the streaming server. The balancing of load has been observed in simulation by considering 20 nodes over various time durations. Average End-to-End delay, Jitter and Throughput are balanced over the different columns of the overlay network. However the proposed network's performance needs to be tested by increasing the number of nodes to 100 and 1000 and so on.