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

Qin Wu <sunseawq@huawei.com> Mon, 01 November 2010 09:03 UTC

Return-Path: <sunseawq@huawei.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 7104B3A659C for <httpstreaming@core3.amsl.com>; Mon, 1 Nov 2010 02:03:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 3.566
X-Spam-Level: ***
X-Spam-Status: No, score=3.566 tagged_above=-999 required=5 tests=[AWL=-0.292, BAYES_50=0.001, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, MIME_BASE64_TEXT=1.753, RDNS_NONE=0.1]
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 z8dXXODjvggB for <httpstreaming@core3.amsl.com>; Mon, 1 Nov 2010 02:03:02 -0700 (PDT)
Received: from szxga03-in.huawei.com (unknown [119.145.14.66]) by core3.amsl.com (Postfix) with ESMTP id A2FC83A67C3 for <httpstreaming@ietf.org>; Mon, 1 Nov 2010 02:03:01 -0700 (PDT)
Received: from huawei.com (szxga03-in [172.24.2.9]) by szxga03-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTP id <0LB7004LF7PWR8@szxga03-in.huawei.com> for httpstreaming@ietf.org; Mon, 01 Nov 2010 17:01:08 +0800 (CST)
Received: from huawei.com ([172.24.2.119]) by szxga03-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTP id <0LB7006DO7PW1U@szxga03-in.huawei.com> for httpstreaming@ietf.org; Mon, 01 Nov 2010 17:01:08 +0800 (CST)
Received: from w53375 ([10.138.41.48]) by szxml06-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTPA id <0LB700LAZ7PVPI@szxml06-in.huawei.com> for httpstreaming@ietf.org; Mon, 01 Nov 2010 17:01:08 +0800 (CST)
Date: Mon, 01 Nov 2010 17:01:07 +0800
From: Qin Wu <sunseawq@huawei.com>
To: "Severa, Michael J (Mike)" <mike.severa@alcatel-lucent.com>, Mark Watson <watsonm@netflix.com>, httpstreaming@ietf.org
Message-id: <01c601cb79a3$5266a580$30298a0a@china.huawei.com>
MIME-version: 1.0
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.3664
X-Mailer: Microsoft Outlook Express 6.00.2900.3664
Content-type: text/plain; charset="windows-1252"
Content-transfer-encoding: base64
X-Priority: 3
X-MSMail-priority: Normal
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> <DDF000BCD4FA4F43909CD45448BAE04E0ACA2F13B6@USNAVSXCHMBSC2.ndc.alcatel-lucent.com>
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: Mon, 01 Nov 2010 09:03:03 -0000

Hi,
Besides the usage using server sent events you mentioned, when the server needs to
a. switch to the next or the previous entry in a server-side playlist
b. inform the client the last packet is transmitted
c. notify the client that some exceptions occur at the server side,
the server sent events also have their values. But not sure it is worthwhile building such features.

Regards!
-Qin
----- Original Message ----- 
From: "Severa, Michael J (Mike)" <mike.severa@alcatel-lucent.com>
To: "Qin Wu" <sunseawq@huawei.com>; "Mark Watson" <watsonm@netflix.com>; <httpstreaming@ietf.org>
Sent: Friday, October 29, 2010 11:56 AM
Subject: RE: [httpstreaming] Efficient manifest push (Re: FW: New Version Notification for draft-zong-httpstreaming-gap-analysis-01)


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