Bittorrent Based Transmission of Real-Time Scalable Video Over P2P Networks
Total Page:16
File Type:pdf, Size:1020Kb
View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Sapientia BitTorrent based Transmission of Real-Time Scalable Video over P2P Networks Pedro L. Rodrigues Jânio M. Monteiro Departamento de Engª. Eletrotécnica INESC Inovação, Lisbon, Portugal & Instituto Superior de Engenharia, UAlg Instituto Superior de Engenharia, UAlg Faro, Portugal Faro, Portugal [email protected] Abstract— The number of software applications available on the support of Quality of Service (QoS) in the Internet; and finally Internet for distributing video streams in real time over P2P they are proprietary solutions without a defined standard. networks has grown quickly in the last two years. Typical this kind of distribution is made by television channel broadcasters In terms of video the Scalable Video Coding (SVC) which try to make their content globally available, using viewer’s extension [2] of the H.264/AVC standard enables the resources to support a large scale distribution of video without transmission and decoding of several layers with different incurring in incremental costs. However, the lack of adaptation temporal, spatial or signal-to-noise ratio resolutions. The in video quality , combined with the lack of a standard protocol scalability property of SVC supports the splitting of the main for this kind of multimedia distribution has driven content bit stream into several sub-streams, forming a base layer, fully providers to basically ignore it as a solution for video delivery compatible with H.264/AVC devices, and several enhancement over the Internet. While the scalable extension of the H.264 layers. These properties support the adaptation of the video encoding (H.264/SVC) can be used to support terminal and quality to different bit rates and distinct terminal capabilities. network heterogeneity, it is not clear how it can be integrated in a When combined with an adequate protection mechanism it also P2P overlay to form a large scale and real time distribution. In enables a graceful degradation of quality for the transmission this paper, we start by defining a solution that combines the most over loss prone channels [3]. popular P2P file-sharing protocol, the BitTorrent, with the H.264/SVC encoding for a real-time video content delivery. Using In terms of P2P, the BitTorrent protocol is the most popular this solution we then evaluate the effect of several parameters in P2P file-sharing protocol used on the Internet. In 2008 P2P the quality received by peers. file-sharing traffic was the largest type of traffic on Internet and 70% of this traffic was estimated to be made by BitTorrent Keywords- Peer-to-Peer (P2P), Video, Scalable Video Coding clients [4]. However, although it is extensively used in the (SVC), Real-Time, BitTorrent transmission of non-real time data, its adaptation for the transmission of real-time video is still an open issue. I. INTRODUCTION The massive utilization of video services over the Internet Given these considerations, the aim of this paper is to like YouTube, live Internet video, online video purchases and evaluate how to combine the P2P file-sharing protocol rentals, webcam viewing and web-based video monitoring has BitTorrent with the scalable extension of the H.264 encoding increased the global traffic of Internet video so significantly, (SVC) [2] for the support of real-time video delivery. The rest that for the first time in ten years P2P file-sharing traffic is no of this paper is organized as follows. Section II describes some longer the largest Internet traffic type in the Internet. Video of the main features of the BitTorrent protocol. Section III took its place during 2010, with 40% of the overall traffic, with presents the changes required to enable the transmission of some forecasts predicting that it will reach 90% in 2015, as H.264/SVC over IP networks taking into account its scalability described in [1]. properties. Section IV describes the implemented simulator and the improvements made to the BitTorrent protocol to support a This growth partially results from the continuous increment real-time transmission of SVC. Section V presents the obtained of the utilization of P2PTV software applications like simulation results. Finally, section VI concludes the paper TVUPlayer or PPStream, that distribute video content in real pointing out future developments that follow from this work. time over P2P networks. Typical this kind of distribution is made by TV broadcast channels from all over the world trying II. BITTORRENT PROTOCOL to make their contents globally available. By using the peer’s The BitTorrent protocol [5] was designed to distribute large computational and network resources, they are able to files in smaller pieces using a mutual distribution method distribute their video content to a much larger number of between a group of peers called a swarm. To download a file receivers, without incurring in additional infrastructure costs. using BitTorrent protocol, besides requiring a BitTorrent client However, all these software applications suffer from very installed, a torrent file is needed. The torrent file contains very similar problems, including: lack of adaption to bandwidth important information required to download the content files, fluctuations; lack of support for different type of terminals; including the fixed piece size in which the content files will be low quality of the multimedia streams due to the lack of chopped and the URL of the tracker of the swarm. The tracker is built from a web server and monitors all the peers in the In the first part of this study, transmission tests were swarm. Each peer contacts the tracker to get a list of peers in performed with the H.264/SVC stream [3] in order to analyze the swarm and, after that, starts communicating directly with its capability of being transmitted over the Internet without the other peers, i.e. without intervention of the tracker. Active losing its scalable properties. For that purpose, four different peers that have a complete copy of the content are called seeds video sequences were encoded using the H.264/SVC encoder and peers still downloading the content are called leechers [5]. [7]. Two image definitions (424x240 and 848x480) were used, with four levels of temporal scalability (30, 15, 7.5 and 3.75 Each peer requests pieces to download from its neighbor fps) and two levels of SNR quality. peers in a random order. Each time a peer has successfully downloaded a piece of the file, it announces it to the other TABLE I connected peers within the swarm. TRANSMISSION LAYERS ACCORDING TO SVC SCALABILITY LAYERS The purpose of each peer is to maximize its piece download rate in a reciprocal manner. Several policies are implemented Transmission SVC NAL Unit Layer in the protocol to achieve fairness, provide incentives for D T Q mutual exchange, avoid overloading and find better peers with Layer 0 0 0, 1, 2 and 3 0 which to exchange pieces. Each peer should avoid being Layer 1 0 0 1 overloaded by requests for pieces. For this reason and for good Layer 2 0 1 1 TCP performance, each peer limits the number of simultaneous Layer 3 0 2 1 active connections, typically to four different peers [6]. Then Layer 4 0 3 1 the choke/unchoke mechanism is put into place and the active Layer 5 1 0, 1, 2 and 3 0 connections are placed in the unchoked state, while the other Layer 6 1 0 1 Layer 7 1 1 1 neighbor connections are placed in the choked state. To avoid Layer 8 1 2 1 repetitive changes of choked state, called as fibrillation, this Layer 9 1 3 1 process is limited to occur in intervals of 10 seconds. Exchanges with neighbors should be fair, that is, each peer should reciprocate by supplying pieces to peers that also A. Fragmentation and Reassembling of H.264/SVC Streams provide downloads to it. Finally, each peer should try to In order to explore the scalability options of the H.264/SVC connect other peers periodically to see if their download rate is bit stream, it must be fragmented in several transmission layers, better than the current ones in its active group of peers. taking into account the Network Adaptation Layer (NAL) unit types. To achieve this, the H.264/SVC bit stream is in a first To achieve the fairness and performance goals, each peer stage partitioned into smaller files, called chunk files, which in follows several strategies. First, it uses a rarest-first turn were fragmented into several transmission layers, prioritization of pieces to download by selecting pieces that according to their NAL unit types and in response to the have been least downloaded, increasing the probability of other scalable spatial, temporal and SNR layers (i.e., (D,T,Q) peers becoming interested in exchanging pieces with it. identifiers). Table I represents the (D,T,Q) identifiers of each Second, it favors peers with higher capacity of transferring transmission layer and Figure 1 presents the Block diagram of information, based on previous data transfer rates with each the chunk and layer partitioning/reassembling functions. neighbor peer. Third, it tests other peers periodically to see if better transfer rates can be obtained. This optimistic unchoking The fragmentation process starts by analyzing H.264/SVC mechanism selects an interested random peer every 30 seconds. bit stream structures searching for NAL units of Supplemental Enhancement Information (SEI) type. At the encoding it was Additionally, the BitTorrent protocol uses a called tit-for-tat defined that each chunks starts by the SEI message. strategy in which the downloading peer chooses other peers Afterwards, the splitting into transmission layers is based on based on the capacity of that peer to download the piece he is the analysis of the tuple (D,T,Q) of the correspondent NAL interested in.