Video streaming over heterogeneous P2P networks
Javier Gálvez Guerrero
Wireless Networks Group
Technical University of Catalonia
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)  and Multiple Description Coding
This paper aims to give an overview of the current status of (MDC) . 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
architecture . 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 . 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 . 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  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
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  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)  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
Kindred-based QoS-aware Live Media Streaming
(KQStream)  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  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
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
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   consider
SVC video coding extension in their P2P overlay network
This approach is based on Pastry  and Scribe ,
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  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.
 V.K. Goyal, “Multiple Description Coding: Compression meets the
network”, IEEE Signal Processing Magazine, pp.74 – 93, September
IV. SUMMARY 2001.
 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  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  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  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
advantages. Regarding unstructured designs, HotStreaming iptv06.pdf
increases CoolStreaming peer stability with some preferential  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  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  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  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.
 M. Castro, P. Druschel, A. Kermarrec, A. Rowstron, “Scribe: a large-  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,  T. Zahariadis, O. Negru, F. Álvarez, “Scalable content delivery over P2P
2002. convergent networks”, IEEE International Symposium on Consumer
 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.