Welcome to Scribd. Sign in or start your free trial to enjoy unlimited e-books, audiobooks & documents.Find out more
Standard view
Full view
of .
Look up keyword
Like this
0 of .
Results for:
No results containing your search query
P. 1
Using P2P Technologies for Providing Video Streaming (February 2011 Report)

Using P2P Technologies for Providing Video Streaming (February 2011 Report)

Ratings: (0)|Views: 435|Likes:
Usability and performance issues when deploying video streaming on top of a Peer-to-Peer video streaming solution part of the P2P-Next project, dubbed NextShare.
Usability and performance issues when deploying video streaming on top of a Peer-to-Peer video streaming solution part of the P2P-Next project, dubbed NextShare.

More info:

Published by: Călin-Andrei Burloiu on Feb 08, 2011
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less





Using P2P Technologies for Providing VideoStreaming
alin-Andrei BurloiuScientific Advisor: Nicolae T
Technical Advisor: R˘azvan DeaconescuAutomatic Control and Computers FacultyUniversity Politehnica of BucharestSplaiul Independent
ei nr. 313, Bucharest, Romania
razvan.deaconescu, nicolae.tapus
February 8, 2011
The continuous advance of Peer-to-Peer systems during the last decade hassparked numerous extensions and scientific and research interests. Numerous over-lays, social networking facilities, moderation techniques, anonymity are just of fewof the topics that ignite the interest of various scientific entities.A specialized topic is the introduction of video-streaming in Peer-to-Peer proto-cols, both video on demand (VoD) and live streaming. Streaming in Peer-to-Peerbandwidth promises to use potentially unused bandwidth, remove bottlenecks andimprove user experience. Projects such as P2P-Next address the issue of building asustainable next-generation content delivery system.Our work deals with usability and performance issues when deploying videostreaming on top of a Peer-to-Peer video streaming solution part of the P2P-Nextproject, dubbed NextShare.
1 Introduction
1.1 Objectives and Motivation
P2P-Next is a consortium of industrial and academic players which aims to build by itsprojects the next generation
) content delivery platform[10]. It involves21 partners from 12 different countries like BBC, Technische Universiteit Delft, Pioneer,Technical Research Centre of Finland and also University Politehnica of Bucharest. P2P-Next takes as design principals the usage of open standards, open source developmentand future proof iterative integration.The research and implementation of this project is motivated by the increasing needof multimedia content for Internet users. The television is no longer the main mediumfor audio and visual information content. New technologies built over the Internet forcomputers and mobile devices are increasingly advancing. The current Internet infras-tructure was not initially designed for simultaneous transmission of live events to millions1
of people and proposed technologies like multicasting do not seem to resolve the problem.That is why P2P-Next decided to develop a new multimedia infrastructure based on P2Ptechnologies like
. As a result of the projects developed by the consortium,the users are going to share multimedia content and live streams more easily, in a morescalable infrastructure, by using web-based technologies, IP-TV, video-on-demand, socialnetworks and many more personalized tools.The reference platform of content distribution developed by P2P-Next is named
,which enables services for both PCs and
digital set-top-boxes
), usable with TVs.Among the basic services and features are live video and on-demand video available onlinewith an interactive experience and with most of the content being free.
1.2 Activities
Through the Automatic Control and Computers Faculty, University Politehnica of Bucharest(UPB) provides a
Living Lab
for the P2P-Next, among others from Slovenia, Norway,UK and Finland. The purpose of it is to offer early access to the technologies developed bythe consortium and to receive feedback from users determined to test the infrastructure.The UPB Living Lab from Romania provides high speed access to Peer-to-Peer technology-enabled content through 10 systems kindly provided by the NCIT cluster. The usersdetermined to test the NextShare infrastructure use as an interface to the Living Lab,the UPB Living Lab trial site [13], p2p-next.cs.pub.ro, where video content is offered fordistribution and occasionally live streams. Through the feedback form, the users are giv-ing valuable information about the problems and issues of the technology which is underdevelopment.Being part of the Living Lab team we are testing the NextShare technologies andcomponents with various parameters and comparing them with other related technologiesin matters of performance, usability and reliability. An important activity in Living Labis analyzing users’ feedback in order to diagnose the issues of NextShare and to reportthem to the design and developing team from P2P-Next.Processing video in order to give users the best quality-performance ratio is an activitywhich involves a lot of documentation and experimentation with video streaming, videocontainers, codecs and tools.NextShare core technologies testing is made up on the P2P Testing Infrastructure [16],which runs peers, seeders and trackers on our cluster. The reports generated by the toolscontain performance information which can be used to improve NextShare.
1.3 Keywords
is a distributed networking application architecture that partitionstasks between peers, which are participants with the same role in the application, beingequally privileged and equipotent [11].
is a peer-to-peer file sharing protocol used for distributing large amountsof data. In a BitTorrent system, a
is typically a computer program that is activelyparticipating in sharing a file in the network. The context in which a BitTorrent contentdistribution session takes place is defined by a BitTorrent
which is the peer en-semble that participate in sharing a given file. A swarm consists of two types of peers:leechers and seeders. A
is a peer that has complete access to the distributed con-tent and is, thus, only uploading data. A
has incomplete access to distributed2
content and is both uploading and downloading. The BitTorrent negotiation protocoluses a form of tit-for-tat that forces peers to upload in order to download (though thishas been proven to be abused[17]) therefore ensuring fairness and rapid distribution. Aswarm is given birth by an
initial seeder 
which is the peer sharing a file it has completeaccess to. The seeding/sharing process within a swarm is started through a metafile, a
file, that defines swarm trackers and piece hashes to ensure content integrity.Typically, a peer uses a web server to download a .torrent file and then uses a BitTorrentclient to interpret it and take part into a swarm.NextShare technologies use BitTorrent because of its efficiency that made it one of the most popular protocols for transferring large amounts of data. It is estimated that in2009 it was responsible with roughly 27% to 55% of all Internet traffic [15].Classical BitTorrent protocol uses TCP for the communication between peers.
Torrentdeveloped a more appropriate protocol for this purpose over UDP, named
MicroTransport Protocol 
), sometimes spelled
. Although the source code of its library waspublished, it is still a proprietary protocol, thus as a response, P2P-Next designed the
protocol. In Section5more details are going to be given about this two protocols.Typical terms for video handling like
frame rate
aspect ratio
are going to be explained in Section4.Also, details about the technologies,compression standards and libraries are going to be given in the same section.
2 Related Work
Video content is currently the dominating force in Internet traffic [15]. With BitTorrentand HTTP traffic dominating the Internet backbone, video traffic accounts for a largepart of that. Video streaming, the possibility of viewing video content while downloadingis the type of traffic with the largest increase, due to the advance of popular services suchas YouTube or Google Videos. Other services such as Vimeo allow streaming of highdefinition (HD) content.Peer-to-Peer systems have begun incorporating streaming features since their incep-tion. Protocol updates such as Give-to-Get [
] have been specially designed to cope withthe particularities of both video streaming and Peer-to-Peer protocols. Multicast trees, se-quential reordering and other features have been deployed to allow Peer-to-Peer protocolsto incorporate video streaming.Streaming may refer to other Video-on-Demand (VoD) or Live Streaming.
refers to downloading and playing an existing video file. The entire file isstored on the host system. Clients will prioritize pieces that are closer to the currentposition but still request files that will be accessed later on. The existence of a Peer-to-Peer network for video streaming allows efficient use of existing bandwidth and increasesscalability.
Live Streaming 
is distribution of live content, that is content generated inreal-time. The requirements for this kind of streaming are more stringent as it requiresrapid transmisition (low delay) of data that is generated in real-time and there is no“future” pieces that may be collected. Live streaming solutions have been incorporatedin the recent years. Magharei et. al [18]have provided a study of the advantages anddisadvantages of using meshes or multi-trees for live streaming.This work is integrated in the EU FP7 P2P-Next project[10]. P2P-Next’s stated goalis building the next generation Peer-to-Peer content delivery platform. The core of theproject is the NextShare core, which is an updated and extended BitTorrent implementa-tion with incorporated streaming support. The actual implementations, running on top3

Activity (4)

You've already reviewed this. Edit your review.
1 thousand reads
1 hundred reads
t00yclee liked this

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->