Android client for dynamic adaptive video streaming in CCN

Ohjelma: 
Hajautetut järjestelmät ja tietoliikenne
Yhteyshenkilö: 

Android client for dynamic adaptive video streaming in CCN

Background

Video streaming is a resource consuming service, specifically in terms of bandwidth. In case the bandwidth requirements cannot be met, the service becomes unpleasant to use which reduces the viewer engagement and causes loss of profits for service providers. Dynamic adaptive video streaming over HTTP (DASH)[1] is a class of protocols that has recently gained a lot of attention and video service providers, such as Netflix, have started to deploy them. The idea with DASH is to scale the video quality to currently available bandwidth on the fly, hence completely avoiding stalling and rebuffering events in the ideal case. These protocols are particularly useful when streaming video over cellular access network, such as HSPA or LTE, because of potentially much more frequent bandwidth fluctuations.

Content Centric Networking (CCN)[2] is a pretty recent revolutionary concept for computer networking. In a nutshell, the idea is to completely change the paradigm from networking between named end hosts to networking named content. In practice, it means that in addition to the nodes that publish content, routers in the network cache it, and end hosts running applications request pieces of content directly from the network without caring which node in the network will serve it. While changing the whole Internet to function as one big CCN is an unrealistic goal in short term, there is growing interest in smaller scale deployments, for instance, by mobile network operators.

There are currently no existing complete DASH+CCN solutions for smartphones although some work have already been done[3] and also IETF is becoming active in this topic [4]. 

Objectives and description of work
The objective of this thesis is to implement and evaluate a CCNx[5] compliant adaptive video streaming client on Android. The work requires developing or adapting an existing video streaming client software to work on top of the existing CCNx code. The evaluation part can be handled in several ways. The possibilities include deploying a small-scale CCNx testbed, deploying CCNx on a larger scale testbed like Planetlab, or using a system emulation approach.

Skills Needed

  • Android programming

Contact: Jussi Kangasharju,  Jussi.Kangasharju@helsinki.fi

References

  1. Thomas Stockhammer. 2011. Dynamic adaptive streaming over HTTP --: standards and design principles. In Proceedings of the second annual ACM conference on Multimedia systems (MMSys '11). ACM, New York, NY, USA, 133-144. DOI=10.1145/1943552.1943572 http://doi.acm.org/10.1145/1943552.1943572
  2. V. Jacobson, D. K. Smetters, J. D. Thornton, M. F. Plass, N. H. Briggs, R. L. Braynard (PARC) Networking Named Content, CoNEXT 2009, Rome, December, 2009.
  3. Y. Liu, J. Geurts, J.-P. Point, S. Lederer, B. Rainer, C. Mueller, C. Timmerer and H. Hellwagner, “Dynamic Adaptive Streaming over CCN: A Caching and Overhead Analysis”, In Proceedings of the IEEE International Conference on Communication (ICC) 2013 – Next-Generation Networking Symposium, Budapest, Hungary, June, 2013
  4. Adaptive Video Streaming over ICN. Internet Draft July 23, 2013. http://trac.tools.ietf.org/group/irtf/trac/attachment/wiki/icnrg/draft-video-streaming-over-ICN-00.txt
  5. CCNx: http://www.ccnx.org/ 
11.12.2013 - 12:59 Suzan Bayhan
11.12.2013 - 12:56 Suzan Bayhan