Video streaming over heterogeneous P2P networks


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Video streaming over heterogeneous P2P networks

  1. 1. Video streaming over heterogeneous P2P networks Javier Gálvez Guerrero Wireless Networks Group Technical University of Catalonia Barcelona, Spain Abstract—Video streaming is becoming one of the most important services deployed over telecommunication networks II. MOTIVATION such as the Internet and tripe-play operators' networks. This service differs from the rest in being highly lost and delay A. Heterogeneous environments sensitive and requiring a considerable amount of bandwidth in Today's connectivity has become such widely spread that order to offer a smooth transmission of packets through the currently manufactured mobile phones and computers support network. While upgrading network elements with quality of many different network access technologies, specially wireless service and multicast transmission capabilities becomes ones, namely WiFi, Bluetooth, 3G and WiMax. However, prohibitive for most network operators, pee-to-peer (P2P) wired connectivity through ADSL and cable modem must be architectures appear to be smart and efficient solutions to the previous issues. Many different P2P systems have been proposed considered in static environments, where higher service quality and deployed to offer reliable video streaming services. These levels can be achieved with computers and set-top boxes. approaches address issues such as multicast transmission, quality In addition to networking features, all these available user of service enablement, mobility robustness and video distribution devices have different general capabilities, such as storage, according to network and user devices capabilities. This paper processing and power resources, and video related features, gives an overview of some P2P systems aimed to provide a including screen size and display resolution. As an example, a reliable video streaming platform over heterogeneous networks. user watching a movie at home with a large screen through an ADSL connection might need higher network bandwidth and I. INTRODUCTION display resolution than another user watching the same content through a mobile phone, which has a smaller screen, less Currently available communication devices have many bandwidth capacity and depends on limited power resources. different capabilities regarding network connectivity, display size and resolution, power and battery durability, data storage This heterogeneity in user devices forces service providers and processing features, etc. In order to offer video streaming to enable different possibilities to access the offered services in services such as video on demand or scheduled television, order to achieve a high quality of service and save resources. In unicast and multicast IP sessions are established through the order to do that, different video coding techniques and entire network. In later years, some techniques such as Content transport methods must be taken into account. Delivery Networks and peer-to-peer overlay networks have been introduced in order to overcome the foreseen issues B. Video coding techniques related to the increasing demand, quality of service The network and end user devices heterogeneity causes a management and network and end user devices heterogeneity. video streaming service not to be experienced the same way in Moreover, new video coding techniques such as Scalable these devices. As a result, some video coding techniques have Video Coding extension of the H.264/AVC standard of the been developed in order to enable different user devices to MPEG-4 framework and Multiple Description Coding allow access video streaming services in a proper and nearly adapting the original content quality to the user device independent way. capabilities, thus saving resources and enhancing the user The two main techniques regarding this issue are Scalable experience. Video Coding (SVC) [1] and Multiple Description Coding This paper aims to give an overview of the current status of (MDC) [2]. SVC is an amendment to the H.264/AVC video video streaming architectures based on different P2P system coding standard of the MPEG-4 framework, which aims to implementations, considering the different issues regarding split a video content in a base layer and different enhancement quality of service management and network heterogeneity, layers. These enhancement layers (Figure 1) can be used to such as device capabilities and mobility. In order to do that, increase the frame rate, display resolution or video quality Section II of this paper briefly summarizes some aspects using temporal, spatial or quality scalability techniques related to the main motivation of implementing such P2P respectively. It must be noted that these enhancement layers architectures to deploy video streaming in heterogeneous take the base one as a reference, so this one is needed to decode networks. Section III gives an overview of some of the existing and play the video streaming along with the selected architectures. Finally, Section IV concludes with a summary of enhancement layers. On the other hand, MDC also splits the this state of the art overview. content in different streams called descriptions, but without
  2. 2. architecture [3]. Content Delivery Networks (CDN) reduce the probability of network congestion in streaming services by distributing contents through different servers along the network, then placing the source servers closer to the end users. However, this solution faces a number of problems [4]. CDNs are not scalable since a large number of simultaneous connection requests can lead to servers' overload. Additionally, CDNs are based in the client-server model, so if the link between the two end points is broken there is no alternative to receive the video streaming data. Thus, deploying a reliable CDN platform for video streaming services is still prohibitive for most network operators. On the other hand, peer-to-peer (P2P) networks can be implemented to build an application level overlay network Fig. 1. Example of temporal and spatial scalability where user devices (peers) behave both as client, server and routing elements, then relying in user devices capabilities instead of network ones to stream data. In order to provide end defining any base. Thus, with MCD there is no dependency devices with different video quality and requirement between the different descriptions, just the more descriptions alternatives, P2P networks can build different multicast trees, are received, the better the video quality is. each transporting a SVC layer or a MDC description. Otherwise, the overlay network can be built without defining Although both techniques provide similar improvements in any structure, so video data is streamed when requested by video streaming allowing different layer/description combina- peers. Both techniques allow saving resources with regard to tions, they also result in a slightly increased coding and unicast and simulcast transmissions without the need of decoding complexity and a lower efficiency in regard to single upgrading network devices with multicast capabilities. layer video coding techniques. However, as these issues are being studied by numerous research groups and better results Although P2P can offer a proper video streaming are expected in forthcoming developments, SVC and MCD networking architecture, some important issues must be allow end user devices to receive and play video streams considered [3]. These include billing, digital rights according to their capabilities. management and peers mobility, which must be analyzed in order to design a potentially commercial video streaming C. Peer-to-peer networking platform relying in P2P networking. Once these issues are solved, merging video splitting coding techniques such as SVC Video streaming differs from traditional video services in and MDC with P2P overlay networking, video streaming that users do not need to download the whole content in order services could be offered in heterogeneous networks while to start watching it, but it can be done once a small portion of it guaranteeing reliability, device adaptability and scalability. is available at the receiver end. With this method it is not necessary to store the content but, as video streaming is highly delay and loss sensitive, a reliable network connection is III. STATE OF THE ART needed in order to avoid these issues during packet transmission. Next, some P2P overlay networking designs are There are different ways for a network operator to transport overviewed so the different proposed ideas can be analyzed video streaming services, depending on if they are to be served and compared. to one or many end users. Unicast streams are used in video on demand (VoD) services, where the user independently chooses A. DONet/Coolstreaming when to start watching a content. On the other side, multicast DONet [5] is a Data-driven Overlay Network for live media transmissions are used when a group of users asks for the same streaming, meaning this that nodes periodically exchange data content being transmitted at the same time, like a live football availability information with a set of partners and retrieve match, then saving network resources by transporting the unavailable data from one or more partners while supply requested stream only once and replicating it where necessary. available data to other partners. This represents a unstructured Simulcast implies sending multiple multicast streams of the and data-centric design of a streaming overlay with no father or same content coded at different quality levels, thus enabling children peers defined, thus avoiding node dynamics end users to select receiving the stream that better suits its drawbacks to a certain extent. quality requirements and device capabilities. However, this method along with unicast transmission is not scalable due to A DONet node has three key modules: a membership the high bandwidth requirements. Additionally, current manager, a partnership manager, and a scheduler. Additionally, networks do no fully support multicast transport given how these nodes have a unique identifier and a membership cache expensive the network devices upgrade is. (mCache) containing a partial list of the identifiers of the active nodes in the DONet. This situation has made network operators search for a cheaper, more scalable and reliable network transmission
  3. 3. For each segment of a video stream, a DONet node can be B. HotStreaming either a supplier, a receiver or both, depending dynamically on HotStreaming [6] is basically a revision of CoolStreaming the segment's availability information, except the so-called developed by a different group of researchers, which included origin node, which is always a supplier, e.g. a dedicated video some improvements to the original P2P overlay server. This node receives all joining requests and redirects implementation. These improvements are essentially the them to a deputy node randomly selected from its mCache. The addition of two new policies to the partnership formation joining node receives a list of candidate nodes from the deputy process and the usage of MDC descriptions. node and processes it in order to establish its partners in the overlay. The Scalable Gossip Membership Protocol (SCAM) is HotStreaming uses SCAM protocol as partnership protocol used to distribute the membership messages (i.e. mCache just as CoolStreaming does. Although it achieves a good load information) among DONet nodes, being scalable and light- balance level, the randomicity of the process can lead to some weight, essential features for an algorithm to be used in a P2P stability problems in dynamic environments where some peers system. All this behavior is controlled by the membership can become isolated. To overcome this, HotStreaming uses two manager. policies called Preferential Random Forwarding and Preferential Random Selection. The former increase the As it relies in an unstructured overlay network design, probability of partners with larger partnerships to be chosen as neither the partnerships nor the data transmission directions are the targets of subscription messages while the subsequent fixed in a DONet. Besides that, the availability of the stream forwarding of the subscription messages will be sent to segments in the buffer of a node is represented by a buffer map. partners with smaller partnership; in the latter, a peer with a The partnership manager is in charge of continuously exchange small partnership size selects all nodes from all subscriptions it the node's buffer map with its partners, while the scheduler has received until reaching a default partnership size limit. manages the retrieved information and programs which segment is to be fetched from which partner accordingly. The HotStreaming also implements the MDC approach while scheduling algorithm is designed in order to meet two defining a new coding scheme called MDC-STHI (Spatial constraints: the playback deadline for each segment and the Temporal Hybrid Interpolation), consisting of 4 streams available streaming bandwidth from the partners. To do so, the containing even or odd and full-size or down-sampled algorithmic first calculates the number of potential suppliers combinations streams respectively. All streams can be for each segment. Then, since a segment with less potential combined taking into account the devices' network and display suppliers is considered to be more difficult to meet the deadline capabilities while guaranteeing video playback continuity with constraints, the algorithm tries to schedule first the segments a single stream being received, given MDC coding properties. with less suppliers and wait for those with more. When there So, HotStreaming implements a MDC approach where are multiple potential suppliers, the one with the highest descriptions are requested using algorithms defined in bandwidth and enough available time is selected, then meeting CoolStreaming but with some new policies aimed to enhance the second requirement. the stability of the platform, then the streaming service. Regarding the overlay network prune process, when a peer leaves gracefully, it sends a departure message similar to a C. P2P-Leveraged Mobile Live Streaming joining request message. When there is a node failure, a partner P2P-Leveraged Mobile Live Streaming (P2PMLS) [7] is a that detects the failure issues the departure message on behalf mobile video streaming system which uses the multiple of the failed node. In order to avoid duplicated failure network interfaces of mobile hosts to build different kinds of messages in this case, only the first received message is connections. Thus, P2PMLS aims to use WiFi or Bluetooth gossiped. Additionally, each node periodically establishes new technologies to form a P2P overlay network, while cellular data partnerships with nodes randomly selected from its mCache, networks such as UMTS or GPRS are intended for seed peers then maintaining a stable number of partners to strengthen the to receive the streaming data from a server. overlay in the presence of node departures while exploring it to look for better quality connections. In the system architecture of P2PMLS, depicted in Figure 2, mobile hosts have at least two wireless interfaces, one is used Based in DONet mechanisms, its developers implemented a to communicate in the wide area cellular network, and the public Internet video streaming service called CoolStreaming, other is used to communicate in the local area wireless network which was accessible worldwide during one year and achieved and then build a P2P overlay network. Some peers in this a reasonable success in the home user environment. From their overlay network behave as seed nodes, which directly receive experience and received feedback, DONet/CoolStreaming the streaming data from the streaming server through the developers concluded that the current Internet had enough cellular network and propagate it to peers who request it. available bandwidth to support TV-quality streaming and the larger the data-driven overlay is, the better the streaming The server side is comprised of a streaming server and a quality it delivers. Apart from these practically obvious management server. The former streams the different contents, conclusions, they faced some real-environment issues such as which are encoded in substreams through MDC techniques, to NAT traversing problems and lack of stream remote control, users, while the latter manages the users in the network and the which were to be considered as future work. content information. On the other side, a mobile peer node includes 4 modules. The endpoint communication module provides the functions to
  4. 4. D. KQstream Kindred-based QoS-aware Live Media Streaming (KQStream) [8] is a streaming system aimed to work in heterogeneous P2P environments using MDC through a multi- tree structure in order to deliver content in a granular mode. The two pillars of this implementation are the kindred-based topology construction and QoS-aware streaming process. KQStream defines a KindredSet structure containing information about a peer, its parents, siblings and children, all sharing a common MDC description. This structure is used in order to exchange information about the available description and peers' resources with neighbor peers. In order to join a multicast tree, joining nodes will obtain this information and make a selection taking into account user's preferences, available bandwidth and buffer size regarding the joining peer itself and other parameters based in candidate peers such as link delay, contribution degree or tree depth. After this process, Fig. 2. P2PMLS system architecture the joining node will be attached to a specific description and will start receiving streaming media content through the joined communicate two mobile hosts over a wireless link, both the multicast tree. Peer leaving is managed through QUIT overlay network and the cellular network. The mobility support messages to all kindreds and with periodical probing to detect a layer module manages the power state of the mobile host and leaving peer under unexpected failures in peer communication. collects its neighbors' energy states, detects the mobility pattern of the mobile host in terms of direction and speed and In order to improve the overlay performance, three identifies mobile hosts in the overlay network with the same optional policies are included in the topology management mobility pattern and periodically monitors and probes the process. These are load balancing to avoid parent-demand network bandwidth and exchanges this information with overload in nodes with better network conditions; shorten tree neighbor peers. The peer layer module manages member and depth, which causes descriptions with the shortest depth to be partnership processes and, finally, the streaming protocol layer requested first; and shorter delay preference to guarantee a module implements the different standard streaming protocols better general connectivity. to receive and send video data. The QoS-aware mechanism in KQStream is based on the In order to join the P2PMLS platform, a joining node first individual streaming state of peers, allowing users to configure gets the content list from the management server and requests their playback requirements while not requesting media quality the information related to a specific program, including the over their available downstream bandwidth. With re-buffering seed nodes and the different MDC descriptions location. If techniques, KQStream allows peers to manage buffer there are no seed nodes for the selected descriptions, the new occupancy and the number of requested descriptions according peer requests one or more substreams from the streaming to the received quality and buffer size. Additionally, a peer- server, according to the node resources and capabilities, and attachment regulating technique to face loss rate fluctuations becomes a seed node for the received descriptions. Otherwise, and peer dynamicity is implemented, so attachment attempts the membership manager chooses a subset of neighbor peers are limited in order to guarantee streaming stability and for every description according to the previously commented topology construction efficiency. algorithms and starts receiving the video data. If the new peer's partnership requests are rejected, the peer asks the streaming E. SplitStream server for it and becomes a seed node. Conventional tree-based multicast P2P overlay networks Peers can leave the system when the mobile host's source are not well matched to a cooperative environment given that power is exhausted, moves out of the communication scope or forwarding multicast traffic is carried by the subset of peers the user exits from the application. In the two former cases, that are interior nodes in the tree, while the majority of peers given they can be predicted in advance, the leaving mobile are leaf nodes and contribute no resources. The problem is peers broadcast BYE messages in the overlay network. The further aggravated in high-bandwidth consuming applications, unpredicted leaving peers are detected by the manager server such as video streaming, where many peers may not be able to through probing messages, then issuing recovery alerts to the become an interior node because of the resources and network affected peers. Additionally, depending on the information requirements. SplitStream [9] addresses these issues by provided by the mobility support layer, the membership splitting the content into stripes (MDC descriptions or SVC manager periodically updates the list of neighbors, so the peer layers, although non-video traffic can also be transported over adapts the partnership in order to increase the reliability of this system) and multicast each stripe using a separate tree. service. Thus, peers join as many trees as stripes they wish to receive and they specify an upper bound on the number of stripes that they are willing to forward according to their capabilities. As depicted in Figure 3, the group of multicast trees is built such
  5. 5. On the other hand, KQStream implements a QoS-aware mechanism that takes into account the streaming service status and user preferences and also proposes optional policies to enhance the overlay performance. SplitStream, the other tree- based approach analyzed, presents a cooperative P2P environment where all peers share the service load. This protocol would not be very efficient where peer nodes have very different capabilities. However, the peer selection algorithms can be slightly modified to overcome this issue [12]. It must be noted that all the commented approaches use Fig. 3. SplitStream multicast trees MDC video coding because of the relative low impact that a description transmission interruption causes as long as another that an interior node in one tree is a leaf node in all the description is being received, while losing SVC base layer remaining trees (i.e. a disjoint interior node), then building a packets would cause the whole video to be interrupted no cooperative multicast P2P overlay system where the matter how many enhancement layers are being properly forwarding load can be spread across all participating peers. received. Anyway, some other proposals [13] [14] consider SVC video coding extension in their P2P overlay network This approach is based on Pastry [10] and Scribe [11], approaches. which rely on distributed hash tables in order to guarantee a fast peer location. Essentially, SplitStream uses Pastry routing All presented protocols introduce interesting ideas that and Scribe hash key assignations in order to create disjoint allow implementing a reliable and scalable video streaming interior nodes and distinguish different multicast trees. It must service over heterogeneous networks while relying in end user be noted that a joining peer is always accepted by a SplitStream devices capabilities to offer an adapted service. However, some node, regardless it has reached its maximum number of issues regarding P2P platforms like billing, digital rights children. However, the parent node rejects one of its children management or seamless mobility must still be studied before after submitting them to a decision algorithm, which takes into launching any real commercial service over such networks. account if children belong to another group and the node IDs and group keys similarity to the parent's one (the more similar, REFERENCES the physically closer they are). The orphan node starts searching for a new parent with similar IDs. SplitStream also defines a spare capacity group, which contains all peers with [1] H. Schwarz, D. Marpe, T. Wiegand, “Overview of the Scalable Video Coding Etension of the H.264/AVC Standard”, IEEE Trasactions on fewer children that their forwarding capacity limit and that can Circuits and Systems for Video Technology, Volume 17, Issue 9, serve children for other stripes. pp.1103 – 1120, Sept. 2007. [2] V.K. Goyal, “Multiple Description Coding: Compression meets the network”, IEEE Signal Processing Magazine, pp.74 – 93, September IV. SUMMARY 2001. [3] M. Mushtaq, T. Ahmed, “P2P-based mobile IPTV: Challenges and Tree-based and unstructured P2P architectures have opportunities”, Computer Systems and Applications, AICCSA 2008, different advantages and drawbacks. While the former rely on pp.975 – 980, March 2008. interior nodes which have more resources than other peers in [4] S. Khan, “Multiple Description Streaming in peer-to-peer and Content the network and centralizes the multicast overlay management, Delivery Networks”, the latter generate more redundant messages through gossip algorithms, whose randomicity can lead to a less efficient but a [5] X. Zhang, J. Liu, B. Li, Y.-S.P. Yum, “CoolStreaming/DONet: A data- driven overlay network for efficient live media streaming”, INFOCOM better balanced implementation. 2005, Vol.3, pp.2102-2111, March 2005. However, the different approaches overviewed in this paper [6] J.-C. Wu, K.-J. Peng, M.-T. Lu, C.-K. Lin, Y.-H.- Cheng, P. Huang, J. try to overcome these drawbacks while enhancing the existing Yao, H. H. Chen, “HotStreaming: Enabling scalable and quality IPTV services”, advantages. Regarding unstructured designs, HotStreaming iptv06.pdf increases CoolStreaming peer stability with some preferential [7] Z. Jinfeng, N. Jianwei, H. Rui, H. Jianping, S. Limin, “P2P-leveraged selection algorithms and introduces the use of MDC mobile live streaming”, Advanced Information Netwoking and descriptions to allow user devices to play the distributed Applications Workshops 2007, Vol.2, pp.195 – 200, May 2007. contents according to their capabilities. P2PMLS relies on the [8] Y. He, T. Gu, J. Guo, J. Dai, “KQStream: Kindred-based QoS-aware different terminal interfaces to create an unstructured P2P live media streaming inheterogeneous peer-to-peer environments”, overlay network and exchange video data with other peers and, Parallel Processing Workshops 2007, pp.56 – 61, September 2007. when necessary, become a seed node requesting the streaming [9] M. Castro, P. Druschel, A.-M. Kermarrec, A. Nandi, A. Rowstron, A. Singh, “SplitStream: High-bandwidth multicast in a cooperative data directly from the server. P2PMLS also introduces some environment”, Proceedings of the nineteenth ACM symposium on interesting algorithms that enhances service continuity through Operating systems principles, October 2003. mobility and power resources information exchange between [10] A. Rowstron, P. Druschel, “Pastry: Scalable, distributed object location peers. and routing for large-scale peer-to-peer systems, IPFiP/ACM International Conference on Distributed Systems Platforms (Middleware), pp.329 – 350, November 2001.
  6. 6. [11] M. Castro, P. Druschel, A. Kermarrec, A. Rowstron, “Scribe: a large- [13] J. Rieckh, “Scalable video for peer-to-peer streaming” (Master Thesis), scale and decentralized application-level multicast infrastructure”, IEEE Director: L. Superiori, M. Rupp, W. Warner, Vienna, 2008. Journal on Selected Areas in Communications, 20(8):pp.1489 – 1499, [14] T. Zahariadis, O. Negru, F. Álvarez, “Scalable content delivery over P2P 2002. convergent networks”, IEEE International Symposium on Consumer [12] A. Bikfalvi, “Nozzilla: A novel peer-to-peer architecture for video Electronics, ISCE 2008, pp.1 – 4, April 2008. streaming” (Master Thesis), Director: J. García, Madrid, July 2008.