Re: [httpstreaming] Efficient manifest push (Re: FW: New Version Notification for draft-zong-httpstreaming-gap-analysis-01)

"Severa, Michael J (Mike)" <mike.severa@alcatel-lucent.com> Fri, 29 October 2010 03:59 UTC

Return-Path: <mike.severa@alcatel-lucent.com>
X-Original-To: httpstreaming@core3.amsl.com
Delivered-To: httpstreaming@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 038683A69EA for <httpstreaming@core3.amsl.com>; Thu, 28 Oct 2010 20:59:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.599
X-Spam-Level:
X-Spam-Status: No, score=-3.599 tagged_above=-999 required=5 tests=[AWL=-0.999, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id m6la+sJKxGd2 for <httpstreaming@core3.amsl.com>; Thu, 28 Oct 2010 20:59:20 -0700 (PDT)
Received: from ihemail4.lucent.com (ihemail4.lucent.com [135.245.0.39]) by core3.amsl.com (Postfix) with ESMTP id 1B3D13A680E for <httpstreaming@ietf.org>; Thu, 28 Oct 2010 20:59:20 -0700 (PDT)
Received: from usnavsmail3.ndc.alcatel-lucent.com (usnavsmail3.ndc.alcatel-lucent.com [135.3.39.11]) by ihemail4.lucent.com (8.13.8/IER-o) with ESMTP id o9T415I4029502 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 28 Oct 2010 23:01:05 -0500 (CDT)
Received: from USNAVSXCHHUB02.ndc.alcatel-lucent.com (usnavsxchhub02.ndc.alcatel-lucent.com [135.3.39.111]) by usnavsmail3.ndc.alcatel-lucent.com (8.14.3/8.14.3/GMO) with ESMTP id o9T41525028780 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NOT); Thu, 28 Oct 2010 23:01:05 -0500
Received: from USNAVSXCHMBSC2.ndc.alcatel-lucent.com ([135.3.39.144]) by USNAVSXCHHUB02.ndc.alcatel-lucent.com ([135.3.39.111]) with mapi; Thu, 28 Oct 2010 23:01:05 -0500
From: "Severa, Michael J (Mike)" <mike.severa@alcatel-lucent.com>
To: Qin Wu <sunseawq@huawei.com>, Mark Watson <watsonm@netflix.com>, "httpstreaming@ietf.org" <httpstreaming@ietf.org>
Date: Thu, 28 Oct 2010 22:56:41 -0500
Thread-Topic: [httpstreaming] Efficient manifest push (Re: FW: New Version Notification for draft-zong-httpstreaming-gap-analysis-01)
Thread-Index: Act3FciKmPhbA+n6R4qRCJAhUu19tAAB4LcB
Message-ID: <DDF000BCD4FA4F43909CD45448BAE04E0ACA2F13B6@USNAVSXCHMBSC2.ndc.alcatel-lucent.com>
References: <007201cb7664$ffb832e0$3a298a0a@china.huawei.com> <F30F9206-7BE4-4A76-B2B4-91B0EE32FD62@nomor.de> <A0F798C3-2ECB-4150-8EC0-7A23118D057E@netflix.com>, <02a801cb7715$bcd44e80$30298a0a@china.huawei.com>
In-Reply-To: <02a801cb7715$bcd44e80$30298a0a@china.huawei.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.57 on 135.245.2.39
X-Scanned-By: MIMEDefang 2.64 on 135.3.39.11
Subject: Re: [httpstreaming] Efficient manifest push (Re: FW: New Version Notification for draft-zong-httpstreaming-gap-analysis-01)
X-BeenThere: httpstreaming@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Network based HTTP Streaming discussion list <httpstreaming.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/httpstreaming>, <mailto:httpstreaming-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/httpstreaming>
List-Post: <mailto:httpstreaming@ietf.org>
List-Help: <mailto:httpstreaming-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/httpstreaming>, <mailto:httpstreaming-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 29 Oct 2010 03:59:22 -0000

Hi. Check out server-sent events in HTML5. Essentially what is described here, though intended more for the application layer than the media layer. With a decoder interface at the application layer it would probably be possible to do this now by using that feature. 

Mike  
________________________________________
From: httpstreaming-bounces@ietf.org [httpstreaming-bounces@ietf.org] On Behalf Of Qin Wu [sunseawq@huawei.com]
Sent: Thursday, October 28, 2010 8:02 PM
To: Mark Watson; httpstreaming@ietf.org
Subject: Re: [httpstreaming] Efficient manifest push (Re: FW: New Version Notification for      draft-zong-httpstreaming-gap-analysis-01)

Hi,
----- Original Message -----
From: "Mark Watson" <watsonm@netflix.com>
To: <httpstreaming@ietf.org>
Sent: Friday, October 29, 2010 3:17 AM
Subject: [httpstreaming] Efficient manifest push (Re: FW: New Version Notification for draft-zong-httpstreaming-gap-analysis-01)


Here is an idea sparked by Thomas' mention below of AJAX and RSS push services.

In these services the client establishes a long-lived HTTP connection to a server on which it sends a single request. The response comes back in chunks, over time, enabling the server to "push" new content as it becomes available. Generally caches and proxies are transparent to this, although I think it does not work with some older proxies which expect to receive the whole response from upstream before returning anything to the client. Perhaps these are all gone by now. But anyway, the "chunks" cannot really be cached as the proxy has no idea what they are.

In the case of a document, such as a manifest, which is being periodically updated, or a sequence of different files, one could very simply expose these semantics in a standard way, which would enable caches to do their thing.

For example, suppose we define a new MIME type, multipart/versions, where each part of the multipart MIME response is a different version of the originally requested resource. A smart cache receiving a request for this resource can cache the "parts" as they arrive, each replacing the previously cached version. It can serve multiple incoming persistent connections with one upstream persistent connection, providing scalability. It would be transparent to existing caches. Clients would indicate their support in the Accept header and clients which did not support this mode would just poll the resource in the usual way with conditional GET requests.

All that would be required from a standards perspective would be definition of the multipart/versions MIME type.

Maybe this is not new. I could easily imagine CDNs do this kind of thing internally already.

Similarly, one could imagine a multipart/sequence MIME type where the parts form a sequence of objects. The client requests an object and (if it indicates support of the multipart/sequence MIME type) gets back that object and subsequent ones in the sequence (with their file names). Again, smart caches could optimise for scalability, caching the parts as separate objects. This could help with delivery of segments in the live case, but again maintaining backwards-compatibility. Again, perhaps CDNs already do something like this internally.

I'm not proposing to progress these ideas, just thought they were interesting.

[Qin]: Sounds like a good idea to me. I think this is one way to build the interoperable solution for concurrent live streaming viewing with backwards compability to existing cache and client, which may bring the advantage of alleviating server load.  But I am not sure the MIME subtype has the right semantic to do this. We may need some new MIME subtype and new behaviors on how to process it.

...Mark




On Oct 27, 2010, at 11:51 PM, Thomas Stockhammer wrote:

> Ning,
>
> thanks ....
>
> I recognized that you only replied to some of my comments.
> Does this mean that you agree/disagree with the remaining ones?
>
> Inline some more with [T] ... [\T]
>
> Thomas
>
>> - I am not sure I understand the term "is encrypted into files"
>> [ZN]: I mean "use file with media container" here.
>
> [T]  I do not understand this either! [\T]
>
>> - What do you mean "normal text file"?
>> [ZN]: traditional web page (e.g. html file).
>
> [T] we should be much more careful with terminology [\T]
>
>> - The intelligence in the Adaptive Streaming over HTTP is almost
>> exclusively in the client, there is no negotiation
>> [ZN]: Sorry for confusion, "negotiation" should be "massage exchange".
>
> [T]
> First I hope this is a typo, otherwise I get more curious ...!
> Secondly, I am still not clear what needs to be done beyond regular
> http connections
> [\T]
>
>> 5.2)
>> - It is not correct that the 3GPP MPD needs to be updated even for
>> live. If you use a template mode, the MPD stays static until some
>> "unforeseen" event occurs. Client and Content Preparation have agreed
>> on rules to construct URIs.
>> - If necessary, the MPD update happens asynchronously to the media
>> decoding, so this is not considered to be a problem.
>> [ZN]: I didn't intend to state that pull model doesn't work. My
>> point is,
>> why not investigating the possible usage of push model in certain
>> cases
>> without experiencing the above mentioned "unforeseen" event or
>> asynchronous
>> updates?
>
> [T]
> "Push" is a very very broad term. In Web applications you can for
> example use AJAX or RSS/ATOM like techniques for push-like updates. If
> you use conditional GET for regular polling, this is very efficient.
> The MPD updates in 3GPP work in a similar manner. If you use polling,
> conditional GETs and templates, you are extremely efficient. We should
> really understand what we mean by push model? HTTP-based delivery is
> rich and provides many successfully deployed options.
>
> Should you really refer to something completely different such as IP
> multicast, then I would feel very very uncomfortable.
> [\T]
>
>> - There is for sure mechanisms to deliver important packets more
>> reliably in HTTP - you just request it earlier. In anticipation of
>> switching a smart client may also prepare such data. The client is
>> intelligent.
>> [ZN]: Well, I think this startup issue doesn't like the pre-fetch
>> which is
>> of course still valuable to improve playback. IMO, it is hard to
>> predict
>> which channel the user will switch to in the next moment, hence it
>> is not
>> reasonable to request important packets for other channels. Did I
>> misunderstand you?
>
> [T]
> I would not be worried to have the MPD and the initialization segment
> of the two neighboring channels ready in my device. Again, the client
> can be very smart, especially as it does have access to all the
> information.
>
> In general, I do not disagree that we can create more detailed use
> cases for environments in which we envision that HTTP streaming will
> be used. This may include live multi-channel environments. However, we
> should not conclude per se that the existing technologies do have a
> problem.
> [\T]
>
>> - 3GPP defines QoE metrics that can reused also for HTTP Streaming.
>> there will also be efforts in MPEG in including QoE.
>> [ZN]: I am not proposing to focus on defining QoE metrics, but
>> looking on
>> the protocols to report such metrics, like RTCP. We will support the
>> work in
>> 3GPP/MPEG and cooperate with them to see how to capsulate the
>> metrics in a
>> series of messages.
>
> [T]
> What do you mean with "capsulate"?
> Also, can you be more specific what metrics there are in RTCP that can
> also be used in HTTP Streaming. I consider that anything dealing with
> packet loss is irrelevant. I also do not see the relevance of sending
> regular 5 seconds receiver reports as the content is static and
> adaptation will not happen. Some reporting on Media Presentation level
> may be sufficient, for example when the presentation has been completed.
> [\T]
>
>
> ---
> Dr. Thomas Stockhammer (CEO) || stockhammer@nomor.de || phone +49 89
> 978980 02 || cell +491725702667 || http://www.nomor-research.com
> Nomor Research GmbH  -  Sitz der Gesellschaft: München -
> Registergericht: München, HRB 165856 – Umsatzsteuer-ID: DE238047637 -
> Geschäftsführer: Dr. Thomas Stockhammer, Dr. Ingo Viering.
>
>
>
>
> _______________________________________________
> httpstreaming mailing list
> httpstreaming@ietf.org
> https://www.ietf.org/mailman/listinfo/httpstreaming
>

_______________________________________________
httpstreaming mailing list
httpstreaming@ietf.org
https://www.ietf.org/mailman/listinfo/httpstreaming
_______________________________________________
httpstreaming mailing list
httpstreaming@ietf.org
https://www.ietf.org/mailman/listinfo/httpstreaming