Network Working Group H. Ruellan
Internet-Draft March 23, 2015
Intended status: Informational
Expires: September 24, 2015

DASH and HTTP2
draft-ruellan-httpbis-dash-http2-00

Abstract

This document describes possibilities for DASH to take advantage of HTTP/2 features, in particular of server push.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at http://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on September 24, 2015.

Copyright Notice

Copyright (c) 2015 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.


Table of Contents

1. Introduction

MPEG Dynamic Adaptive Streaming over HTTP (DASH [DASH]) is an adaptive bit-rate HTTP-based streaming solution standardized under MPEG. In DASH, a media is split into segments. Each segment of the media is encoded with different bit-rates to provide adaptation possibilities.

The client controls the streaming and the adaptation. To play the media, the client requests the segments one after the other, when needing them. For each segment, it can select the most appropriate bit-rate.

DASH defines a format for describing a media, the Media Presentation Description (MPD). The MPD contains information about the media, in particular the list of segments making up the media, and the different available bit-rates. DASH also defines formats for the media segments themselves.

The Full-Duplex HTTP based Protocols (FDH) is a Core Experiment inside MPEG for studying bi-directional communication protocols, such as HTTP/2 [I-D.ietf-httpbis-http2] and WebSocket [RFC6455], in the context of DASH. Inside this Core Experiments, the usage of the new features of HTTP/2 for DASH is investigated. Among these features, server push is attracting much interest.

2. Using Push with DASH

2.1. Live Video Latency

When using DASH for streaming a live video, there are some trade-off to make for choosing the duration of a segment. Shorter segments enable a lower latency, which is of importance for live video. However shorter segments also induce a larger number of requests, which can negatively impact the network performances.

In [LowLatencyStreaming], a solution to this problem is proposed: the live video is split into short segments. However, for each segment requested by the client, the server not only sends the corresponding segment, but also pushes some of the following segments. This enables to use a low latency while still keeping a low number of requests, therefore not incurring any negative impact on the network.

To let the client keep the control of the streaming, the client selects the number k of segments the server should push and transmit it to the server in its request. This strategy of segment transmission is therefore called k-push.

2.2. FDH Proposal

The FDH Core Experiment has built upon this k-push strategy for taking advantage of the push feature of HTTP/2, while letting the client control the streaming.

This Core Experiment is defining a new HTTP header field, named DASH-PUSH, that enables the client to indicate what it would like the server to push.

The DASH-PUSH header field contains parameters defining the strategy proposed by the client for indicating which segments it would like the server to push. Currently two strategies are defined.

2.3. Other Proposals

The DASH-PUSH header field can be extended for increasing its expressiveness.

3. Informative References

, "
[DASH]Dynamic adaptive streaming over HTTP (DASH)", ISO/IEC 23009-1:2014, 2014.
[I-D.ietf-httpbis-http2] Belshe, M., Peon, R. and M. Thomson, Hypertext Transfer Protocol version 2", Internet-Draft draft-ietf-httpbis-http2-17, February 2015.
[LowLatencyStreaming] Wei, S. and V. Swaminathan, "Low Latency Live Video Streaming over HTTP 2.0", NOSSDAV 2014, 2014.
[RFC6455] Fette, I. and A. Melnikov, "The WebSocket Protocol", RFC 6455, December 2011.
[RFC6570] Gregorio, J., Fielding, R., Hadley, M., Nottingham, M. and D. Orchard, "URI Template", RFC 6570, March 2012.

Author's Address

Herve Ruellan EMail: herve.ruellan@crf.canon.fr