CHAPTER 2. RELATED WORK
The design of this P2P solution addresses two key shortcomings of the
earlier BitTorrent design with regards to VOD.
Low delay in getting the initial few pieces.
Placing the implementation within the browser.
Since the browser is the main target for VOD streaming, creating a plugin
to implement this functionality is a step in the right direction. This plu-
gin has been developed (initially only for the Mozilla browser) based on the
P2P-Next platform. The video player used is the HTML5 <video> tag,
which uses the native implementation of video player within the browser.
Although using a plugin is much more simpler than asking users to install a
native application, the drawback of this is that the plugin needs to be imple-
mented for every browser separately, and as a fallback the video would have
to be streamed over HTTP in the traditional way. Eectively this means
that users would need to install the plugin only to participate in the P2P
functionality. A more desirable approach would be have this functionality
implemented within the browser so that it is available by default.
With HTML5, browsers are making a concerted eort to be more standard-
ized, and are attempting to move away from plugins, and towards building
web applications that could be as powerful as native applications. If the
functionality that was previously oered by a plugin becomes part of the
functionality available in the browser itself, it is no longer considered a plu-
gin. For example, Microsoft has decided to move to a plugin-free browser
with the release of their ‘Windows 8’ operating system, and since Adobe
Flash is a heavily used plugin they have decided to incorporate the imple-
mentation of Adobe Flash into the browser code base. In order to get cross
browser support for native functionality, it is important to have a standard
in place and this is the role of HTML5.
To conclude, it is quite clear now that one solution to reduce the network
trac load on VOD streaming servers would be to employ a P2P approach
to distribute the network trac among the nodes. However currently there
exist no solutions thatsupport this functionality fully within the web browser
(which is the main medium used for viewing videos online) independent of
third-party plugins (which as mentioned before require user intervention to
install). In this thesis we attempt to design and implement an alternative
solution inside a web browser using only currently available HTML5 APIs to
achieve video streaming with P2P functionality.