Networking Working Group Q.Wu R.Huang Internet Draft Huawei Intended status: Informational September 27, 2010 Expires: March 2011 Problem Statement for HTTP Streaming draft-wu-http-streaming-optimization-ps-02.txt Abstract HTTP Streaming allows breaking the live contents or stored contents into several chunks/fragments and supplying them in order to the client. However streaming long duration and high quality media over the internet has several Challenges when we require the client to access the same media content with the common Quality experience at any device, anytime, anywhere. This document explores problem inherent in HTTP streaming. Several issues regarding network support for HTTP Streaming have been raised, which include QoS guarantee offering to streaming video over Internet, efficient delivery, network control adaptive and real time streaming media synchronization support. Status of this Memo This Internet-Draft is submitted to IETF 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 March 27, 2011. Copyright Notice Copyright (c) 2010 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 Wu Expires March 27, 2011 [Page 1] Internet-Draft PS for HTTP Streaming September 2010 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. This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English. Table of Contents 1. Introduction.................................................3 1.1. Why HTTP Streaming......................................4 2. Terminology and Concept......................................5 3. Scope and Existing Work......................................5 3.1. Media Fragments URI.....................................5 3.2. Media Presentation Description..........................5 3.3. Playback Control on media fragments.....................6 3.4. Server Push.............................................6 3.5. Scope of the problem....................................6 4. Applicability Statement......................................7 5. System Overview..............................................7 5.1. Server Components.......................................7 5.1.1. Media Encoder......................................8 5.1.2. Streaming Segmenter................................8 5.2. Distribution Components.................................8 5.3. Client Components.......................................8 6. Deployment Scenarios for HTTP Streaming Optimization.........9 6.1. HTTP Streaming Push model without Distribution Server.... involvement..................................................9 6.2. HTTP Streaming Pull model without Distribution Server.... involvement..................................................9 6.3. HTTP Streaming Push model with Distribution Server....... involvement..................................................10 6.4. HTTP Streaming Pull model with Distribution Server....... involvement..................................................11 7. Aspects of Problem...........................................11 Wu Expires March 27, 2011 [Page 2] Internet-Draft PS for HTTP Streaming September 2010 7.1. Over-Utilization of Resources..........................12 7.2. Inefficient Streaming Content Delivery.................13 7.3. Inadequate Streaming Playback Control..................13 7.4. Lacking Streaming Monitoring and Feedback Support......14 7.5. No QoS/QoE guaranteed..................................15 7.6. Lacking Streaming media Synchronization support........15 7.6.1. Push model........................................15 7.6.2. Pull model........................................15 8. Streaming Session State Control.............................16 9. Analysis of different use cases.............................17 9.1. Live Streaming Media broadcast.........................17 9.2. RTP to HTTP Gateway....................................17 9.3. "Multi-Screen" Service Delivery........................18 9.4. Heterogeneous Handover.................................18 9.5. Time Shifted Playback..................................19 9.6. Content Publishing.....................................19 10. Security Consideration.....................................19 10.1. Streaming Content Protection..........................19 11. References.................................................19 11.1. Normative References..................................19 11.2. Informative References................................20 1. Introduction Streaming service is described as transmission of data over network as a steady continuous stream, allowing playback to proceed while subsequent data is being received, which may utilize multiple transport protocols for data delivery. HTTP streaming refers to the streaming service wherein the HTTP protocol is used for basic transport of media data. One example of HTTP streaming is progressive download streaming which allows the user to access content using existing infrastructure before the data transfer is complete. Since HTTP streaming takes Existing HTTP as data transport (i.e., HTTP 1.1) and HTTP is operated over TCP, it is much more likely to cause major packet drop-outs and greater delay due to TCP with the characteristic which keeps TCP trying to resend the lost packet before sending anything further. One way to reduce such major packet drop-outs is to introduce media segmentation capability in the network behind media encoder, i.e., using segmenter to split the input streaming media into a serial of small chunks and meanwhile creating manifest file containing reference to each chunks. Allowing such streaming media segmentation can mitigate great delays and breakups during streaming content playout. With media segmentation support, existing streaming technology (e.g., progressive download streaming) is characterized as: Wu Expires March 27, 2011 [Page 3] Internet-Draft PS for HTTP Streaming September 2010 - Client based pull schemes that more relies on client to handle buffer and playback during download. - No network support, i.e.,no special server is required other than a standard HTTP Server. However streaming long duration and high quality media over the internet has several unique Challenges when there are no network capabilities available for HTTP Streaming: - Client polling for each new data in chunks using HTTP requests is not efficient to deliver high-quality video content across the Internet - Segmentation capability requires over-utilizing CPU and bandwidth resources, which may not be a desirable and effective way to improve the quality of streaming media delivery - Lack of QoS guarantee on the packet switching based Internet , the quality of Internet media streaming may significant degrade due to rising usage - Experience burstiness or other dynamics changes due to bandwidth fluctuations and heterogeneous handover. - Impossible to fast-forward through any part of a streaming contents until it is stored on the user's device With these above challenges, the typical user experience in the existing streaming schemes can be limited by delayed startups, poor quality, buffering delays, and inadequate playback control. Therefore these existing streaming schemes can only offer a better experience over slower connections. This document explores problem inherent in HTTP streaming. Several issues regarding network support for HTTP Streaming have been raised, which include QoS guarantee offering to streaming video over Internet, efficient delivery, network control adaptive and real time streaming media synchronization support. The following section defines the scope of this document, describes related work and lists the symptoms and the underlying problems. 1.1. Why HTTP Streaming As the HTTP protocol is widely used on the Internet as data transport, it has since been employed extensively for the delivery of multimedia content. A significant part of the Internet traffic today formerly Wu Expires March 27, 2011 [Page 4] Internet-Draft PS for HTTP Streaming September 2010 generated by Peer to Peer (P2P) application has been eclipsed by streaming, CDN and direct download. Another trend is the growing popularity of connected devices like Smartphones, TVs, PCs and tablets is raising interest in multi-screen services that enable consumers to access the same media content and quality of experience (QoE) on any device, anytime and anywhere. Since almost all the connected devices have browser support, but not all of them can afford high CPU load and batteries draining as TVs or PCs, obviously it is a best choice to use HTTP streaming to support multi-screen video delivery. 2. Terminology and Concept The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT","SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. Pull model: The model that allows the server keep pushing data packets to the client. Push model: The model that allows the client keep pulling data packets from the server. 3. Scope and Existing Work This section describes existing related work and defines the scope of the problem. 3.1. Media Fragments URI W3C Media Fragments Working Group extends URI defined in [RFC3986]and specifies some new semantics of URI fragments and URI queries [Media Fragments] which is used to identify media fragments. The client can use such Media Fragments URI component to retrieve one fragment following the previous fragment from the server. However such component is not extensible to convey more important streaming information about bandwidth utilization, quality control and buffer management. Therefore it is a big challenge to use the existing infrastructure with such component to delivery streaming contents with QoS/QoE guaranteed. 3.2. Media Presentation Description [I.D-pantos-http-live-streaming] formerly defines media presentation format by extending M3U Playlist files and defining additional flags. 3GPP TS 26.234 also centers around media presentation format and specifies Semantics of Media presentation description for HTTP Wu Expires March 27, 2011 [Page 5] Internet-Draft PS for HTTP Streaming September 2010 Adaptive Streaming [TS 26.234], which contains metadata required by the client(i.e., Smartphone) to construct appropriate URIs [RFC3986]to access segments and to provide the streaming service to the user. We refer to this media presentation description as playlist component. With such component support, client can poll the new data in chunks one by one. However without client request using HTTP, the server will not push the new data to the client, therefore it is not efficient way to rely on client polling to deliver high quality streaming contents across the Internet, especially when bitrate switching occurs frequently or bandwidth fluctuates frequently. 3.3. Playback Control on media fragments W3C HTML5 Working Group has incorporated video playback features into HTML5 Specification which we refer to as local playback control. Such local playback capability has been previously dependent on third- party browser plug-ins. Now HTML5 specification lifts video playback out of the generic element and put it into specialized