Investigation and Evaluation of Distributed Storage Strategies for Video Streaming Application

State: completed by Alexander Schäfer

Increasing bandwidth demand for online video streaming is posing challenges and opportunities for content delivery on the Internet. Internet traffic for video delivery is increasing despite its quality being usually lower than television. Reasons for that include on demand behavior, community participation, possibility of interactivity, creation of content by users, and availability of media worldwide. Peer-to-peer (P2P) networks offer the possibility of distributing bandwidth usage to reduce bandwidth bottleneck on source, besides making network more robust against occasional failures.

LiveShift is a P2P video streaming application developed by the CSG group at the University of Zurich. The application, implemented in Java, supports both live streaming and video-on-demand in an integrated manner. While video is transmitted through the peer-to-peer network in a live fashion, all peers participate in a distributed storage. This adds the ability to replay time-shifted streams from other peers in a distributed and scalable manner.

There are important challenges in the design of the distributed storage. It is important that the availability of segments is maximized while popular content is not over replicated. That is difficult to accomplish, since there is no central authority controlling which streams peers store, peers do not have a complete view of the network, and peers are not reliable, in the sense that they may fail or voluntarily disconnect from the network at any time.

Besides availability challenges normally present in P2P systems, a P2P video streaming system has special requirements. Playback must be uniform, in the sense that having scattered short-length streams is not acceptable. The real-time nature of video streaming makes quick decisions very important.

The objective of this thesis is to design and implement a distributed storage strategy for video streams in the LiveShift application. The design must offer a good trade-off among important metrics, which must be defined in detail during the initial part of the thesis, and can include, for example, maximizing availability and load balancing while minimizing fragmentation, delay, and network and processing overhead. Further optimizations can be made, for example, matching user interest based on meta data.

50% Design, 50% Implementation
Java programming language, DHTs, P2P video streaming

Supervisors: Prof. Dr. Burkhard Stiller

back to the main page