Re: [Hls-interest] Streaming Video Alliance Comments on HLS Content Steering Proposals

Roger Pantos <rpantos@apple.com> Fri, 16 April 2021 16:09 UTC

Return-Path: <rpantos@apple.com>
X-Original-To: hls-interest@ietfa.amsl.com
Delivered-To: hls-interest@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1FC283A2B0A; Fri, 16 Apr 2021 09:09:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.12
X-Spam-Level:
X-Spam-Status: No, score=-2.12 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=apple.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id r8R8LTys5YMy; Fri, 16 Apr 2021 09:09:18 -0700 (PDT)
Received: from ma1-aaemail-dr-lapp01.apple.com (ma1-aaemail-dr-lapp01.apple.com [17.171.2.60]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7EF1C3A2B09; Fri, 16 Apr 2021 09:09:18 -0700 (PDT)
Received: from pps.filterd (ma1-aaemail-dr-lapp01.apple.com [127.0.0.1]) by ma1-aaemail-dr-lapp01.apple.com (8.16.0.42/8.16.0.42) with SMTP id 13GG2ilL007290; Fri, 16 Apr 2021 09:09:17 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=from : message-id : content-type : mime-version : subject : date : in-reply-to : cc : to : references; s=20180706; bh=YJZcoNy/Ssdhip7Sh+FgBo4WRu8Lyo0ucGkXYDew0HQ=; b=JzKcaPssJRf7opiXfApdR49b1zuOGZ55Zertl6jHoSFLPIn88C1bEoHDCxyMrfJZbgzm 3LMOoY7tJ3/2wXWa5gGjIEFFfipuW6T5Xjp7zVBRzr/W2lhkKb9Y/+niekXAErgtpoJN 8HylCivndNs4Kxii35daFvMUeV9DtNkbe9wI+aWLuT2thzahyFufPVy/aguNKiecfdg5 e4s/glNbSP7neBIdbPi66aOqCSY8F561DNHMQoWDJKLjZZTH6WiEZwvTJY+FAKjnGbNr SCafR9Chr1/FmTpdUBky1HO1EFtybFmo1yMYXnPogz8XXoiy8AMWsE7lIljx9Iun1B+S AA==
Received: from rn-mailsvcp-mta-lapp03.rno.apple.com (rn-mailsvcp-mta-lapp03.rno.apple.com [10.225.203.151]) by ma1-aaemail-dr-lapp01.apple.com with ESMTP id 37uap4swj0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Fri, 16 Apr 2021 09:09:16 -0700
Received: from rn-mailsvcp-mmp-lapp04.rno.apple.com (rn-mailsvcp-mmp-lapp04.rno.apple.com [17.179.253.17]) by rn-mailsvcp-mta-lapp03.rno.apple.com (Oracle Communications Messaging Server 8.1.0.7.20201203 64bit (built Dec 3 2020)) with ESMTPS id <0QRN00VXAZJGUS00@rn-mailsvcp-mta-lapp03.rno.apple.com>; Fri, 16 Apr 2021 09:09:16 -0700 (PDT)
Received: from process_milters-daemon.rn-mailsvcp-mmp-lapp04.rno.apple.com by rn-mailsvcp-mmp-lapp04.rno.apple.com (Oracle Communications Messaging Server 8.1.0.7.20201203 64bit (built Dec 3 2020)) id <0QRN00600ZIDEN00@rn-mailsvcp-mmp-lapp04.rno.apple.com>; Fri, 16 Apr 2021 09:09:16 -0700 (PDT)
X-Va-A:
X-Va-T-CD: 81ca60fce39c2560b6c4a7e5841f9b8f
X-Va-E-CD: 6bb1d5d9e78ec6586cbfd17e1381fd73
X-Va-R-CD: e27214eaec83786dac4edc48de2c1854
X-Va-CD: 0
X-Va-ID: dc7cf907-5974-48a5-afb7-b67f4c591259
X-V-A:
X-V-T-CD: 81ca60fce39c2560b6c4a7e5841f9b8f
X-V-E-CD: 6bb1d5d9e78ec6586cbfd17e1381fd73
X-V-R-CD: e27214eaec83786dac4edc48de2c1854
X-V-CD: 0
X-V-ID: ddc3b741-73a0-4a1b-8e94-bd5a3ca7e40e
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391, 18.0.761 definitions=2021-04-16_08:2021-04-16, 2021-04-16 signatures=0
Received: from smtpclient.apple (unknown [17.150.208.50]) by rn-mailsvcp-mmp-lapp04.rno.apple.com (Oracle Communications Messaging Server 8.1.0.7.20201203 64bit (built Dec 3 2020)) with ESMTPSA id <0QRN00ME9ZJFLA00@rn-mailsvcp-mmp-lapp04.rno.apple.com>; Fri, 16 Apr 2021 09:09:16 -0700 (PDT)
From: Roger Pantos <rpantos@apple.com>
Message-id: <A18617E8-A5A2-4ED5-95FA-539BD5F4C2DF@apple.com>
Content-type: multipart/alternative; boundary="Apple-Mail=_90ABEA30-2274-4E02-9E2F-D6B547D784FF"
MIME-version: 1.0 (Mac OS X Mail 14.0 \(3654.80.0.2.43\))
Date: Fri, 16 Apr 2021 09:09:15 -0700
In-reply-to: <30557D2D-4669-4CD6-9D42-391453D5FB8A@akamai.com>
Cc: "hls-interest@ietf.org" <hls-interest@ietf.org>
To: "Law, Will" <wilaw=40akamai.com@dmarc.ietf.org>
References: <CAA__M0h+cq9ZrBjid33hL-JFVQ8L40cG=tB3DOrXRPPwvCKpVg@mail.gmail.com> <840F37F8-D3EA-44F2-93C9-1D20682BBA0E@apple.com> <9659752D-8C78-4050-BDF5-22736F0F642D@akamai.com> <DA56AC1A-6B14-4774-B13E-7B3B37376A75@apple.com> <30557D2D-4669-4CD6-9D42-391453D5FB8A@akamai.com>
X-Mailer: Apple Mail (2.3654.80.0.2.43)
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391, 18.0.761 definitions=2021-04-16_08:2021-04-16, 2021-04-16 signatures=0
Archived-At: <https://mailarchive.ietf.org/arch/msg/hls-interest/ocCpIQ_VUSBRBUAQi_iyFPXSdxg>
Subject: Re: [Hls-interest] Streaming Video Alliance Comments on HLS Content Steering Proposals
X-BeenThere: hls-interest@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Discussions about HTTP Live Streaming \(HLS\)." <hls-interest.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/hls-interest>, <mailto:hls-interest-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/hls-interest/>
List-Post: <mailto:hls-interest@ietf.org>
List-Help: <mailto:hls-interest-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hls-interest>, <mailto:hls-interest-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2021 16:09:23 -0000

You’re quite welcome Will. We made a very deliberate decision to take this feature public early so that we would have (some) time to incorporate feedback. It’s encouraging to see so many of you giving it prompt and careful consideration.

Regarding your request for lastSteerTime, I don’t know that we need to formalize that into the spec at this point. A particular steering server could do what you describe itself by maintaining per-client state in RELOAD-URI query parameters. For instance, if the RELOAD-URI carried the preferred pathway ID when the response was formulated, the server could compare that with _HLS_pathway the next time the client checked in to determine if it had switched. The server could also record the last time that either the client reported a switch or the preferred pathway was changed to determine churn rate.


Roger.

> On Apr 15, 2021, at 4:23 PM, Law, Will <wilaw=40akamai.com@dmarc.ietf.org> wrote:
> 
> Well a big public thank you to Roger and the team at Apple for their open mindedness and willingness to take feedback around this, even to the degree that it represented a large rewrite of the feature. I think you have a genuinely simpler and thus more robust product as a result. We look forward to supporting you in taking it to production. It’s also encouraging for list members who put time & effort in to preparing feedback, to know that it is given due consideration. So thanks all around.
>  
> In speaking with Kirk this afternoon, it would be really useful to have an additional optional reserved parameter of
>  
> _HLS_lastSteerTime=<timestamp>
>  
> in which the player passes to the steering server the last wall-clock time at which it executed a steering action.
>  
> Why would this be useful? Primarily, it allows the decoupling of the check frequency from the steering execution frequency. Delivery problems can happen quickly  - within 30s in some cases. Having a 5 minute check-in interval means that a player can be banging its head against a poorly performing server for many minutes before it moves away. Users have proven inability to absorb such failures for more than 20s or so. We could address this problem by having the player call the steering server every 20s. However we don’t want the QoE churn that might come if the player switches at 20s intervals. It would be nice solution then if the player has the option of checking in frequently but the steering server could then intelligently steer some players who had been stable for a while, immediately, while for others it could wait for some churn-avoiding threshold before steering them. This new timestamp query arg would enable this optimized behavior and it would allow the steering server to remain stateless in its operation. 
>  
> Cheers
> Will
>  
>  
> From: Roger Pantos <rpantos=40apple.com@dmarc.ietf.org>
> Date: Thursday, April 15, 2021 at 3:29 PM
> To: "hls-interest@ietf.org" <hls-interest@ietf.org>
> Subject: Re: [Hls-interest] Streaming Video Alliance Comments on HLS Content Steering Proposals
>  
> Okay folks, we’ve done a number of audits and we think that simple annotation of redundant streams will work well enough for content steering. I’ve updated the spec to reflect that, and bumped the spec version to 1.2b1. 
>  
> We left an opening in 1.2 that will allow us to introduce new Pathways through the steering manifest if there’s a demand for that in the future.
>  
> As always, thanks to everyone for their thoughtful contributions!