Spanish Italian
17436 Users    

Multimedia Streaming Using P2P Technologies

  Download PDF version of the Article

Introduction

Multimedia streaming is an alternate option in viewing TV programs and other video content through traditional services such as terrestrial, cable and satellite broadcast.  The first architecture developed was based on a client-server architecture, in which a viewer decodes a program stream from a video server.  However, the increase in the number of viewers, along with the growing number of other online applications, has made this architecture ineffective because of bandwidth limitation issues.  One clever solution introduced to solve this problem is peer to peer (P2P) technology, wherein peers automatically relay streams to other peers.  The P2P network they are connected to performs an algorithm that let peers find a relay for a specified stream to connect to.  In implementing a multimedia streaming network, the important parameters to consider are playing time and network bandwidth utilization.

Different Multimedia Streaming Topologies

The figure below shows the different topologies used in multimedia streaming networks starting from the centralized client-server topology to decentralized schemes, which includes IP multicast and P2P solutions.  A client-server network consists of a central server and clients who each have a separate connection to the server.  There is no mechanism to guarantee content delivery and becomes impractical as number of connected clients increases.  IP multicast is an enhancement to the client-server topology wherein the same multimedia stream is sent to a group of clients to reduce network loading.  This is ideal for private LAN networks but may not be practical in multiple LANs or public networks because of firewall and security issues.  In P2P systems, the network may consist of several video servers and the content is sent not only from the server to the clients but also between clients (peers).  P2P can be further sub-divided into mesh-based, tree-based and hybrid overlays.

Mesh-based:  

Each peer can accept media data from multiple parents as well as provide services to multiple children (both parent and child are relative terms in place of master-slave relationship).  The advantages of this solution are: high resource utilization and fast discovery of fresh peers in a single mesh due to gossiping.  The disadvantages are: quality of service cannot be guaranteed due to gossiping among peers and large buffer space needed to reduce impact of autonomy of peers (in a dynamic environment).  Example applications are Coolstreaming, Promise and GNUStream.

Tree-based:  

Each peer communicates only with one parent (per overlay) and provides service to a number of children such that a “tree” topology is always maintained (in an overlay).  The advantages of this solution are: closely resembles original IP multicast ideas and low management overhead.  The disadvantages are: highly vulnerable to disruption under dynamic environments and low resource utilization.  Example applications are ALMI, NICE and ZigZag (single tree protocol) and SplitStream, Bullet and MDC (multiple tree protocol).

Available P2P Solutions

There are several P2P techniques developed to solve bandwidth limitation problems usually experienced with client-server and IP-multicast streaming networks.  The basic peercasting technique works by having peers automatically relay streams to other peers.  However, degradation in quality of service is experienced when peers disconnect requiring other peers to switch to different relays.  An enhanced solution is minute swarming, wherein a live stream is broken up into minute length files that are then made available via P2P application such as BitTorrent.  The disadvantage is excessive overhead in both processing and bandwidth because of the need for the formation of a new swarm every minute.  Another solution is to stripe a live stream into multiple substreams. Forward error correction and timing techniques are then employed in the receiver to reconstruct the original stream.

Other solutions developed were based on network overlay architectures.  These techniques concentrate on the following issues: start-up delay, source-to-end delay and playback continuity.  These metrics are very important to the user because large start-up delays would exhaust user patience and streaming interruptions would spoil viewing experience.  The figure below shows an example of intra-overlay optimization with two logical streaming overlays. Peers A, B, C and D join the stream originating from S1 and peers E, F, G, H and K join the stream originating from S2. The number on each edge of the links represents the cost of the link between two nodes.  Take note that these are relative values and were used only to compare link costs.  Looking at peer D, the cost of S1 to D link is 8, while that for path S1 to S2 to D (intra-overlay optimized) is only 4.  Cost efficiency can be achieved but resource utilization of traditional approaches such as this is relatively low.

Another technique is inter-overlay optimization based scheme, in which resources can join multiple overlays simultaneously.  The objectives are to (1) improve global resource utilization of a live streaming network and then distribute traffic to all physical links evenly; (2) assign resources based on the peers’ locality and delay; (3) guarantee link quality by using the nearest peers, even if they belong to different overlays; and (4) balance the load among members within the group.  The following figure shows the inter-overlay optimization scheme.

Conclusion

We examined in this article several P2P multimedia streaming solutions and discussed important metrics, such as start-up delay, source-to-end delay, and playback continuity that are vital for satisfactory viewing experience.  The basic peercasting solution solved network bottleneck problems but became insufficient because of problems brought about by random connection and disconnection of clients from the P2P network.  New techniques were developed to solve these problems such as minute swarming, stripping to multiple streams, intra-overlay and inter-overlay optimization.  There is no perfect and final solution because number of viewers will continue to grow and more demanding viewing application requirements will come up.  So expect more techniques to be developed in the future, along with developments in processing technologies and network optimization.

Software clients for TVs are already implimenting this

This is a very good and in deapth article providing insights into the near probable future. It is about time that we looked to alternate means of serving multimedia content to Television and Machines. The increase and availabilty of online connectivity in majority of house holds makes it a very lucrative and viable means of delievering multimedia content.

I also wanted to point out that work has already begin for delievering multimedia content such as TV Shows and Movies to the Television Sets directly (not just computers). BitTorrent based TV software is already in its Beta release, the only company that makes it right now is called Tribler which can be integrated with TV sets directly. I wrote an article on this not too long ago, if you are interested, please do have a look at http://indiawebsearch.com/content/bittorrent-based-tv-is-coming-with-tribler

In the Mix

Very detailed article, there are already numerous platforms using similar archetypes.

TVUPlayer uses Meshing, so does Babelgaum I believe.

Babelgum now FLV

Thanks for your nice comments. Yes, TVU is a streaming platform based on P2P technology. But Babelgum has just abandoned P2P and started offering its contents in FLV. Viewers need Adobe flash player to view the materials from their browser. Other popular P2P streaming applications are Alluvium, PPLive and LiveStation, to name a few.

Read the Italian version: Lo

Hope there will be an open

Hope there will be an open source implementation of this p2s protocal, good work

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
1 + 4 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.

Who's new

  • pulper
  • mauriss
  • jbares
  • christiank79
  • agabor
  • fabriziopd
  • irenix
  • pepershoe
  • raghun14
  • andreaspousette

Who's online

There are currently 0 users and 55 guests online.