Adaptive P2P Streaming

Adaptive P2P Streaming

Fabrizio Bertone (Politecnico di Torino, Italy), Vlado Menkovski (Eindhoven University of Technology, The Netherlands) and Antonio Liotta (Eindhoven University of Technology, The Netherlands)
Copyright: © 2012 |Pages: 22
DOI: 10.4018/978-1-4666-1613-4.ch004


Widespread adoption of broadband Internet and the introduction of multimedia-capable mobile devices enable the proliferation of many streaming video services. However, best-effort networks are not natively designed to such a purpose. They do not provide any guarantees for delivering the content on time or offer constant service quality. Furthermore, video streaming presents a heavy load for servers. This is especially the case for special events that bring an enormous amount of users causing so called “flash crowds,” which overload unsuitable systems. Peer-to-peer (P2P) techniques can be successfully exploited to build scalable streaming systems using the distributed resources of users themselves. In this chapter, the authors explore the different techniques proposed in the context of adaptive streaming, both live and on demand. Each covered approach addresses the video streaming problem from a different perspective, and so, brings specific advantages and disadvantages in its solution.
Chapter Preview


The number of users watching multimedia contents over the Internet, both live and on demand, has dramatically increased in recent years, and is now the first source of traffic, surpassing even Peer-to-Peer (P2P) file sharing. This trend has been reported by several surveys, and is confirmed even by network operators. Over one third of the top 50 sites by volume are based on video distribution. (Cisco Visual Networking Index: Usage, 2010) Netflix, a provider of on-demand internet streaming video, at the moment accounts by itself for almost 30% of peak period downstream traffic (Global Internet Phenomena Report - Spring 2011, 2011). The sum of all forms of video is expected to exceed 90% of global user traffic by 2014 (Cisco Visual Networking Index: Forecast and Methodology, 2009– 2014, 2010). The web is becoming one of the main broadcasting platforms, this is due to the recent availability of the so-called “three screens” (digital TV, PC and smartphones) capable of accessing it, and the increase of the number of faster connections to the network. The most recent sport events like FIFA World Cup, Olympic games etc. have been watched in streamed form by several million of unique simultaneous viewers (Begen et al., 2011).

The common solution used to stream over the Internet nowadays is the classic client/server architecture, In which a connection is opened between the client and the server, and the content is transferred directly. The major issue for this technology is its lack of scalability. One single server is not able to handle a big number of connections, both due to its limited resources and the network bandwidth. One extension of the client/server approach that tries to overcome the scalability problem introduces clusters of servers scattered throughout the network. Instead of downloading directly from the source server, clients are redirected to the nearest server, reducing latency and exploiting more efficiently network resources. This approach is called Content Delivery Network (CDN). CDNs are costly and complex to maintain, so that a small number of specialized enterprises (e.g., Akamai, CDNetworks and EdgeCast) share all the market. Besides that, even if CDNs are dimensioned for normal traffic conditions particular events can still attract a great number of users and overload the system.

Peer-to-peer networking emerged as a new paradigm to build distributed applications. In P2P systems, each client contributes with its own resources to the operation of the network. A peer is distinguished from a normal client because not only does it download data, but also uploads to other users. This way the load of the source server is considerably reduced, allowing for great degree of scalability. P2P systems can be classified in two main classes, according to the structure in which peers are organized: trees or meshes (Y. Liu et al., 2008). Figure 1 shows the different link topology between tree (a) and mesh (b) structures.

Figure 1.

Tree (a) and mesh (b) based structures.


In a tree topology, the source server is placed at the root of the distribution paths and actively pushes the stream to peers directly attached to it. Those peers will then forward received data to their child nodes in a cascade. To reduce the delays, a short and wide tree is preferable. The main drawback of tree structures is the complexity of its maintenance. In P2P systems, users typically join and leave the network quite frequently. When a node abandons the tree, it stops forwarding data to its descendant peers, which necessitates restructuring of that part of the tree. The alternative to trees is using meshes (Hei et al., 2008). In a mesh there is not an explicit parent-child configuration; peers can freely create links between them. This enables peers to close slower connections and connect to faster nodes, in the attempt to improve performances. Mesh-based systems can use both “push” and “pull” strategies, unlike tree-based systems that are forced to use push transfers. In pull protocols, each node is responsible for actively retrieving required content from its neighbours. While tree structures provide lower delays and overhead in static networks, experimental simulations show that meshes are perform better in highly dynamic systems like P2P, and appear to be more stable over a long time period (Magharei et al., 2007).

Complete Chapter List

Search this Book: