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

Kevin Staunton-Lambert <kevin.staunton-lambert@metacdn.com> Wed, 14 April 2021 20:25 UTC

Return-Path: <kevin.staunton-lambert@metacdn.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 312A93A1E9F for <hls-interest@ietfa.amsl.com>; Wed, 14 Apr 2021 13:25:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.797
X-Spam-Level:
X-Spam-Status: No, score=-1.797 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, MIME_QP_LONG_LINE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=metacdn-com.20150623.gappssmtp.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 JB3_wRM-aBll for <hls-interest@ietfa.amsl.com>; Wed, 14 Apr 2021 13:25:49 -0700 (PDT)
Received: from mail-pg1-x536.google.com (mail-pg1-x536.google.com [IPv6:2607:f8b0:4864:20::536]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CD33C3A1E9E for <hls-interest@ietf.org>; Wed, 14 Apr 2021 13:25:49 -0700 (PDT)
Received: by mail-pg1-x536.google.com with SMTP id j7so5842659pgi.3 for <hls-interest@ietf.org>; Wed, 14 Apr 2021 13:25:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=metacdn-com.20150623.gappssmtp.com; s=20150623; h=content-transfer-encoding:from:mime-version:subject:message-id :references:in-reply-to:to:date; bh=CiqBUlru6/uxNck3iRVCuuWTyprHETtgMWr2BRz+qP4=; b=oJc7dUisYm/dSa9YOBChQA2gmm/xIpngqYZYBObBkGF7dEJy7bPczKY10dq3LFqsLI miLbvuRdInRWV3pLQsdQfEhm8JrWaTUqGX7kGk7x3xwE4h7ifpJE3kx61I+3EMDu18BY BBu+Rpyj7sP/UrMsfLFqIzjiWwRpEMlSZZLcEKnZa5t3xQhjoMMU3A3MppFrfhORuy6l OtP8XVGEc8/JphsXcb3HxdaG6BXN8a3P56fX2pSGOtNIhiKzuxHjGjRFXcGuU9ResYMj g4343aY2DGfbA1RzheKsLGLZWQJW6zQOayqDA4hbF33C2DrD3oXbM20EizAk54cwmVaV 48lg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:content-transfer-encoding:from:mime-version :subject:message-id:references:in-reply-to:to:date; bh=CiqBUlru6/uxNck3iRVCuuWTyprHETtgMWr2BRz+qP4=; b=eQJvWM3HN0tdSRW8fkcKzCxR0l+hkOxpfZW7pn46nlWJJ1ySmdY6Qp3M26RjMw3R+q Q0GCzXTl9QLdPcp0rYI2IhDcTuSOqIi4j/PGyeW1MdjNkLMJ/11SZaEhNeUeVcqfGwi4 PbtDCoZP7cKJdHw7pNXuU5yqimzbw+oq1ePSXQyKOIfg4ZJw7i0W47JfJuF0XjFAk7N4 enOIBpZe3518N7N47kVrg1GlIvlcIp0L6PMB95OiTYGHpNAs/nPM/9a09KH7iG9uM519 PWlSE2ok/cWU+rHLsLSW36z9n5XOc1BtrMlBBOep7Mkj6mcDMcOduWpIq3aKbjRnVpeR Mxlg==
X-Gm-Message-State: AOAM53118fkdw9C2T1iXmv/ac701YpVsGKSTuckdYTED/MxlCCxgMK5V w0qIrBwtIYQYPeOoKNDWOt1FnTCW2z7DsA==
X-Google-Smtp-Source: ABdhPJxK/yXwpqzfR7OrA1BOGrf7Xxvz1PjGLlSQlT/qWmMfKKqS/dwOSG1cRL1eK2aGjdVfPGVORA==
X-Received: by 2002:a63:ea50:: with SMTP id l16mr126467pgk.70.1618431946684; Wed, 14 Apr 2021 13:25:46 -0700 (PDT)
Received: from smtpclient.apple ([203.40.117.251]) by smtp.gmail.com with ESMTPSA id l35sm350299pgm.10.2021.04.14.13.25.45 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 14 Apr 2021 13:25:46 -0700 (PDT)
Content-Type: multipart/alternative; boundary="Apple-Mail-AE7A335C-54A8-49F9-A44B-F657F2A39CD8"
Content-Transfer-Encoding: 7bit
From: Kevin Staunton-Lambert <kevin.staunton-lambert@metacdn.com>
Mime-Version: 1.0 (1.0)
Message-Id: <84BA6F66-0D89-451F-91F9-A7A1E47F2F3C@metacdn.com>
References: <49DDD62F-9B44-4BE3-BF0D-30DE7992BBAC@pyrmontbrewery.com.au>
In-Reply-To: <49DDD62F-9B44-4BE3-BF0D-30DE7992BBAC@pyrmontbrewery.com.au>
To: hls-interest@ietf.org
Date: Thu, 15 Apr 2021 06:25:43 +1000
X-Mailer: iPhone Mail (18E5198a)
Archived-At: <https://mailarchive.ietf.org/arch/msg/hls-interest/OAnrdrFzHvldz3TqUbT0SWBjyrg>
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: Wed, 14 Apr 2021 20:25:55 -0000

Presumably if D for whatever reason becomes the active pathway what happens if the original preferred pathway A then comes good again? 

Maybe you can force D to fail - and so the group resets to A (or the RSS preferred), but a dynamic mechanism where the RSS is re-requested would be better because causing D to fail is somewhat risky 

I was thinking instead of complexity around adding support for RSS perhaps the master manifest could itself just be made dynamic by flagging to re-request master playlist when MSN>=X and expire (i.e switch over) when MSN==Y

This mechanism should simplify SSAI solutions too where effectively the player resets at a given MSN (introducing a concept of a full discontinuity where the codec and bitrate could safely change at that splice)

Kev

>> On 13 Apr 2021, at 6:44 am, Law, Will <wilaw@akamai.com> wrote:
>> 
> 
> Hi Roger
>  
> Re “. The biggest casualty of that approach is the ability to add new pathways during playback.”
>  
> Content distributors cannot add new CDNs on a whim. At a minimum there are contracts to be signed, keys and signing-secrets to be shared and QA tests to be performed. This implies that the universe of possible CDNs is known before an event and before the main playlist is generated. What is a practical requirement however is that a distributor may not want to use all their available CDNs all the time and may want the flexibility to change the mixture and prioritization midway through an event. This I believe can be accommodated with RSS.
>  
> Imagine a distributor has 4 pathways they can use, A,B, C and D. D is very expensive and they prefer not to use them at all, unless they absolutely have to when the other 3 pathways are all failing to perform. The main playlist could be generated with the redundant variants (A ..D) listed in order. The steering manifest would only return A,B,C at the start of the event. There would be no traffic on D since that pathway is not advertised by the steering server. If at some midpoint due to performance or economic reasons they wished to shift all the traffic to D, they could so by instructing the steering response to now only return an option for D. All steering-aware clients would shift to D. This is the same effect as adding a new pathway, the only nuance being that the pathway had to be described in the main playlist even if it is never used.
>  
> The above behavior assumes steering-aware clients. Legacy clients (steering un-aware) would see the redundant offerings and would select the first available. By listing D last, the distributor would ensure that legacy traffic only reached D if A,B,C had all failed and that is probably the desirable outcome under those conditions.
>  
> Cheers
> Will
>  
>  
>  
>  
>  
> From: Roger Pantos <rpantos=40apple.com@dmarc.ietf.org>
> Date: Monday, April 12, 2021 at 11:43 AM
> To: Jason Thibeault <jt@streamingvideoalliance.com>
> Cc: "hls-interest@ietf.org" <hls-interest@ietf.org>
> Subject: Re: [Hls-interest] Streaming Video Alliance Comments on HLS Content Steering Proposals
>  
>  
> 
> 
> On Apr 7, 2021, at 9:21 PM, Jason Thibeault <jt@streamingvideoalliance.com> wrote:
>  
> Streaming Video Alliance (SVA) Comments on HLS Steering Proposal
> 
> The Streaming Video Alliance is a group of companies spanning the streaming video value chain. These companies are dedicated to solving the critical challenges facing online video to improve consumer adoption. Alliance members have reviewed the HLS Content Steering Proposal 1.1b1 and the subsequent Redundant Stream Steering Proposal (RSS) and provided comments on both from the perspectives of our diverse membership (content providers, CDNs, ISPs, open caching networks, multi-CDN management systems, encoding systems, advertising insertion systems, video analytics systems, and video player developers).
>  
> Hello Jason (and everyone else in SVA), glad to have you in the discussion.
>  
> You’ve raised some interesting issues. On the one hand, I think that most could be addressed by the current scheme — per-CDN query parameters could be communicated from the master playlist to the steering server via the content-steering URI, new URI replacement rules could be introduced to allow sub-path customization, etc.
>  
> On the other hand, there is simplicity to simply tagging redundant variants with a pathway ID that is appealing. The biggest casualty of that approach is the ability to add new pathways during playback.
>  
> We’ve got some discussions going on internally. I expect to come back with a more concrete response shortly.
>  
>  
> Roger.
> 
> 
> 
> ---- SEPARATION OF CONCERNS ----
> * It is typical in multi-CDN deployments for different entities to provide distinct parts of the solution. Manifests may be generated and manipulated by multiple provider’s services, media segments may come from other provider’s service, and CDN recommendation intelligence may come from yet another service.
> 
> * The HLS Content Steering Proposal blurs the clean delineation of responsibilities across these services, putting responsibility on the Steering Service to generate CDN-specific path prefixes (and possibly tokens).  A cleaner separation of concerns could be achieved by limiting the steering service’s scope of responsibility strictly to recommending pathways in a preferred order (as described in the Redundant Stream Steering Proposal).
> CDN-Specific Tokens
> 
> * Our most significant concern was initially about the inability to have CDN-specific suffixes on the steering templates, precluding the real-world situations where different tokenization schemes are used by different CDNs.
> 
> * While the addition of QUERY-PARAMS appears to address this problem when tokens are expressed as query parameters, it still requires that the steering server generates CDN tokens (see above: Separation of Concerns) and it doesn’t address tokens that may be inserted anywhere in the path as path parameters or segments.
> 
> ---- IMPACT ON OPEN CACHING REQUEST ROUTING & EXISTING MULTI_CDN SOLUTIONS ----
> 
> * Open Caching Request Routing schemes (relying on several IETF’s CDNI RFCs) can be configured to inspect and rewrite either main or media manifests to direct traffic to downstream CDNs.
> 
>    - The HLS Content Steering Proposal may preclude the rewriting of media manifest URLs in the main manifest, as the steering server also has responsibility for generating media manifest URLs.
>    - The HLS Content Steering Proposal adds complexity to request routing based on HTTP redirect, as envisaged in IETF CDNI and SVA. It may, for example, require steering server requests to be redirected to an open caching controller for rewriting of URL prefixes.
>    - To better support Open Caching redirect routing, the PREFIX attribute in the steering manifest should be optional. For example, If the current non-penalized pathway is the first in the list for which there is no PREFIX attribute, the client would form the URL of variant streams attached to the corresponding template in the conventional manner  (e.g. using the relative URI).
> 
> * It should be noted that some multi-CDN solutions use DNS on media segment hostnames to implement mid-stream CDN switching that is transparent to the player. The HLS Content Steering Proposal’s focus on alternate manifests will not break these types of solutions, but integration with such solutions could be challenging.
> 
> * Compatibility can be maintained with client-side multi-CDN management systems if HLS Video players allow client application override of the steering server pathway recommendation (see Player Behavior section below).
>  
> ---- SERVER-SIDE AD INSERTIONS ----
> 
> * SSAI systems typically generate ad loads at the time of the main manifest request and persist session identifiers that need to be passed to media manifests so that identical ad loads can be stitched into each rendition. The addition of QUERY-PARAMS should be sufficient for allowing session IDs to be passed on media manifest URLs.
> 
> ---- PLAYER BEHAVIOR ----
> 
> In reviewing the HLS Content Steering Proposal, the SVA suggests the following additions to the Player Behavior section:
> 
> * HLS Video Players should generate events whenever a pathway is selected, exposing the PATHWAY-ID so that Video QoS systems can log CDN changes.
> 
> * HLS Video Players should generate events whenever requests are made to the steering server, enabling Video QoS systems to log details from the steering manifest such as TTL and Pathways on successful requests, and error information on failed requests.
> 
> * For compatibility with existing client-side multi-CDN management systems, HLS Video Players should expose an API that allows access to the existing Pathway list and to force a pathway change (overriding the server-directed steering).
> 
> --------------------------------------------------------------------
> 
> SVA SUPPORT FOR THE HLS REDUNDANT STREAM STEERING PROPOSAL (RSS)
> 
> The SVA supports the Redundant Stream Steering Proposal for the following reasons:
> 
> * RSS embraces and extends redundant playlists (the existing HLS approach for supporting multiple CDNs), and is backward compatible with any player that supports redundant playlists.
> 
> * RSS provides a cleaner separation of concerns and simplifies the responsibilities of the Steering Service, as it no longer participates in generation of manifest URLs or tokens.
>  
> * RSS simplifies the HLS Stream Steering scheme by eliminating the steering templates, prefixes, query parameters, and any code complexity associated with supporting the template substitution.
> 
> * RSS avoids the token-generation challenges that have been identified, as token generation for media manifest URLs remains in the main manifest.
>  
> -------------------------------------------------------------------
>  
> This document can also be found on the Streaming Video Alliance website at https://www.streamingvideoalliance.org/document/comments-on-hls-steering-proposal/
>  
> ----------
> 
> Jason Thibeault
> Executive Director
> Streaming Video Alliance
> +1 480-399-2037
> https://www.streamingvideoalliance.org
> Contributing Editor, Streaming Media Magazine
> https://www.linkedin.com/in/thejasonthibeault
> -- 
> Hls-interest mailing list
> Hls-interest@ietf.org
> https://www.ietf.org/mailman/listinfo/hls-interest
> 
>