We all know about adaptive video streaming (DASH, HLS) but what is information-centric networking (ICN) and how does it relate to adaptive video streaming?
We started Bitmovin as a tech company “related to cutting-edge standards and multimedia technologies” with a strong focus on research into various aspects of today’s Video Infrastructure for the Web including video cloud encoding and the HTML5 adaptive player. One of the research topics that we have been working on for quite some time has just recently reached a first milestone: RFC 7933 [txt].
Information-Centric Networking (ICN)
The massive increase of data being transmitted over the Internet (mostly audio/video streaming) has resulted in a popular new research domain referred to as the “Future Internet”, which investigates both revolutionary and evolutionary approaches to better handling this growth and envisioning what the future of the Internet might look like. One aspect of the Future Internet was presented at CoNEXT’09 as content-centric networking (CCN) with the following principle: “replace where with what“. In CCN, instead of addressing content by using host names (where), the goal is to address content by its name (what). That is, at the lowest level of communication, a network packet addresses content names and not its location. This is fundamentally different to the currently available networking abstraction employing host-to-host communication. CCN has been further developed into ICN while maintaining the same basic design principle, namely “ICN is directly requesting content pieces from the network without addressing its location”. Clients simply send out an interest for the content which is implicitly satisfied by the network assuming a naming scheme (i.e., using URIs) and appropriate routing facilities.
The IRTF research group on ICN is working on interoperability aspects and has published a series of informational RFCs in this domain including RFC7933 on adaptive video streaming.
Adaptive Video Streaming over Information-Centric Networking
In today’s adaptive video streaming (over HTTP: DASH, HLS) we assume content being available/addressable in segments/chunks (physical or indexed) in multiple versions and requested according to different context conditions (terminal device, network, user preferences, etc.). Interestingly, this concept has very much in common with ICN, namely:
- the client-initiated pull approach;
- the content being dealt with in pieces, segments, or chunks;
- the support of efficient replication and distribution of content pieces within the network;
- the scalable, session-free nature of the exchange between the client and the server at the streaming layer: the client is free to request any chunk from any location; and
- the support for potentially multiple source locations.
As ICN is a promising candidate for the Future Internet architecture, it is important to investigate its suitability in combination with multimedia streaming standards like DASH (or HLS). Our main focus of this investigation was on MPEG-DASH but conclusions can also be applied on HLS. While RFC7933 lists some issues for the deployment of such services, our focus was on how to integrate and implement DASH over ICN (by adopting the CCN implementation which was available as open source).
There are two major options to combine adaptive video streaming and ICN: a proxy service between HTTP and ICN and an adaptive streaming client implementing a native ICN interface. A proxy service translates conventional HTTP requests to corresponding ICN requests and returned data packets to HTTP responses, including reliable transport as offered by TCP . In our work we are focusing on a more integrated approach aiming at fully exploiting the potential of ICN by using a native ICN interface within the adaptive streaming client using our DASH client and CCNx as a basis (hence, using CCN terminology instead of ICN).
The segments are stored within the network and described by an appropriate MPD. The adaptive streaming client is modified with a CCN access module to enable the request and the delivery of DASH segments over CCN. We simply adopt a CCN naming scheme (CCN URIs) to denote segments in the Media Presentation Description (MPD). This requires an update to the MPD – including mitigating the requirement that only HTTP-URLs are allowed within the MPD – and the actual network component requesting the segments through CCN interest packets as well as handling the data packets.
Initially, the DASH client retrieves the MPD containing the CCN URIs for the media segments. The naming scheme of the segments may reflect intrinsic features of CCN like versioning and segmentation support. Such segmentation support is already compulsory for multimedia streaming in CCN and, thus, can also be leveraged for DASH-based streaming over CCN. The CCN versioning can be adopted to signal different representations of the DASH-based content, which enables an implicit adaptation of the requested content to the client’s bandwidth conditions. That is, the interest packet already provides the desired characteristics of a segment (such as bit rate, resolution, etc.) within the content name. Additionally, if bandwidth conditions of the corresponding interfaces or routing paths allow so, DASH media segments could be aggregated automatically by the CCN nodes, which reduces the amount of interest packets needed to request the content. However, such approaches need further research, specifically in terms of additional intelligence and processing power needed at the CCN nodes.
After requesting the MPD, the DASH client will start to request particular segments. Therefore, CCN interest packets are generated by the CCN access component and forwarded to the available interfaces. Within the CCN, these interest packets leverage the efficient interest aggregation for, e.g., popular content, as well as the implicit multicast support. Finally, interest packets are satisfied by the corresponding data packets containing the video segment data, which are stored on the origin server or any CCN node, respectively. With an increasing popularity of the content, it will be distributed across the network resulting in lower transmission delays and reduced bandwidth requirements for origin servers and content providers respectively.
We have conducted comprehensive evaluations of this approach in dynamically changing networking environments demonstrating the effectiveness of using ICN – in particular CCN – in adaptive video streaming…
We have conducted comprehensive evaluations of this approach in dynamically changing networking environments demonstrating the effectiveness of using ICN – in particular CCN – in adaptive video streaming (see further readings for detail). However, the RFC also contains additional material concerning (i) P2P video distribution and ICN, (ii) IPTV and ICN, and (iii) DRM in ICN. Finally, the RFC concludes with future steps for video in ICN including – but not limited to – large-scale live events, video conferencing and real-time communications, store-and-forward optimized rate adaptation, heterogenous wireless environment dynamics, network coding for video distribution in ICN, and synchronization issues for video distribution in ICN.
We agree and acknowledge that it might be still a long and stony road but at least we made sure that current princples of dynamic, adaptive streaming over HTTP will also work in the Future Internet featuring ICN/CCN.
Westphal, C., Ed., Lederer, S., Posch, D., Timmerer, C., Azgin, A., Liu, W., Mueller, C., Detti, A., Corujo, D., Wang, J., Montpetit, M., and N. Murray, Adaptive Video Streaming over Information-Centric Networking (ICN), RFC 7933, DOI 10.17487/RFC7933, August 2016.
Christian Timmerer, Christopher Mueller, Stefan Lederer, Adaptive Media Streaming over Emerging Protocols, In 2014 NAB Broadcast Engineering Conference Proceedings, National Association of Broadcasters (NAB), Washington DC, USA, pp. 4, 2014.
Stefan Lederer, Christopher Mueller, Christian Timmerer, Hermann Hellwagner, Adaptive Multimedia Streaming in Information-Centric Networks, In IEEE Network, vol. 28, no. 6, pp. 91-96, 2014.