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

"Law, Will" <wilaw@akamai.com> Mon, 12 April 2021 20:44 UTC

Return-Path: <wilaw@akamai.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 599D73A0B9B; Mon, 12 Apr 2021 13:44:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 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, HTTPS_HTTP_MISMATCH=0.1, SPF_HELO_NONE=0.001, 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=akamai.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 a2zSyFTA7ycY; Mon, 12 Apr 2021 13:44:38 -0700 (PDT)
Received: from mx0b-00190b01.pphosted.com (mx0b-00190b01.pphosted.com [IPv6:2620:100:9005:57f::1]) (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 46D713A0B93; Mon, 12 Apr 2021 13:44:38 -0700 (PDT)
Received: from pps.filterd (m0122331.ppops.net [127.0.0.1]) by mx0b-00190b01.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 13CKi5lR013997; Mon, 12 Apr 2021 21:44:35 +0100
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akamai.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=jan2016.eng; bh=lXzKSnZmERYxUfTM0GokOHx86BqkDVxgcslqyrtribI=; b=DhrKYgBhH1WAelJ4zMA8oZ4shxBqRH1VYyXHOXB5lcTKem9DmVoGWIMujzl72D/R+tnv 9s50EfqsZK+W21zj1xCzHuTDYvNtHoE7KKwPMg+fBywPkTuBHGGCn/nvfuv/05ZpLHvn lmh1NCYdtP2tjyGdylwCzxi8LgoQoPBGbPmfyPsiAwv/C2xu7vkZmmuq103ntZnLeoHV YcGVSHSPKE3KAtGgFbP0qGdZJ6bR30lgOayoHdEBizK6nLm04QDTv9Mo/fhtYhhZh8iw dvNwnP/y9pJPj4owgOTDj8ldl1MqgUR4HsRcm8aLzSQvdF+BNFdVxPNLg7lCkWAbSmWH Mg==
Received: from prod-mail-ppoint7 (a72-247-45-33.deploy.static.akamaitechnologies.com [72.247.45.33] (may be forged)) by mx0b-00190b01.pphosted.com with ESMTP id 37v56713tv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 12 Apr 2021 21:44:34 +0100
Received: from pps.filterd (prod-mail-ppoint7.akamai.com [127.0.0.1]) by prod-mail-ppoint7.akamai.com (8.16.0.43/8.16.0.43) with SMTP id 13CKZJjD013390; Mon, 12 Apr 2021 16:44:34 -0400
Received: from email.msg.corp.akamai.com ([172.27.165.116]) by prod-mail-ppoint7.akamai.com with ESMTP id 37u7byuvdf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Mon, 12 Apr 2021 16:44:34 -0400
Received: from USTX2EX-DAG1MB2.msg.corp.akamai.com (172.27.165.120) by ustx2ex-dag1mb1.msg.corp.akamai.com (172.27.165.119) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 12 Apr 2021 15:44:33 -0500
Received: from USTX2EX-DAG1MB2.msg.corp.akamai.com ([172.27.165.120]) by ustx2ex-dag1mb2.msg.corp.akamai.com ([172.27.165.120]) with mapi id 15.00.1497.012; Mon, 12 Apr 2021 15:44:32 -0500
From: "Law, Will" <wilaw@akamai.com>
To: Roger Pantos <rpantos=40apple.com@dmarc.ietf.org>
CC: "hls-interest@ietf.org" <hls-interest@ietf.org>, Jason Thibeault <jt@streamingvideoalliance.com>
Thread-Topic: [Hls-interest] Streaming Video Alliance Comments on HLS Content Steering Proposals
Thread-Index: AQHXLC7P1LYFbpAhF0uIrw7Uon7qB6qxkvOA//+sbQA=
Date: Mon, 12 Apr 2021 20:44:32 +0000
Message-ID: <9659752D-8C78-4050-BDF5-22736F0F642D@akamai.com>
References: <CAA__M0h+cq9ZrBjid33hL-JFVQ8L40cG=tB3DOrXRPPwvCKpVg@mail.gmail.com> <840F37F8-D3EA-44F2-93C9-1D20682BBA0E@apple.com>
In-Reply-To: <840F37F8-D3EA-44F2-93C9-1D20682BBA0E@apple.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.47.21031401
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [172.27.118.139]
Content-Type: multipart/alternative; boundary="_000_9659752D8C784050BDF522736F0F642Dakamaicom_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391, 18.0.761 definitions=2021-04-12_11:2021-04-12, 2021-04-12 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 bulkscore=0 mlxlogscore=999 suspectscore=0 malwarescore=0 mlxscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104060000 definitions=main-2104120132
X-Proofpoint-GUID: unmLZb0Q7bTZ89hLwTO5u8OR3bYDBH3t
X-Proofpoint-ORIG-GUID: unmLZb0Q7bTZ89hLwTO5u8OR3bYDBH3t
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391, 18.0.761 definitions=2021-04-12_11:2021-04-12, 2021-04-12 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 phishscore=0 impostorscore=0 mlxlogscore=999 lowpriorityscore=0 spamscore=0 suspectscore=0 clxscore=1011 priorityscore=1501 adultscore=0 bulkscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104060000 definitions=main-2104120134
X-Agari-Authentication-Results: mx.akamai.com; spf=${SPFResult} (sender IP is 72.247.45.33) smtp.mailfrom=wilaw@akamai.com smtp.helo=prod-mail-ppoint7
Archived-At: <https://mailarchive.ietf.org/arch/msg/hls-interest/u9YIbASawViS9ERB8c1Fcbto_UE>
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: Mon, 12 Apr 2021 20:44:43 -0000

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<mailto: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/<https://urldefense.com/v3/__https:/www.streamingvideoalliance.org/document/comments-on-hls-steering-proposal/__;!!GjvTz_vk!D0iuZIYq23Zuq29cTqeTLY6eqQT8Q_pCUYP95dpjE5yM-Yrnz7k0O7G1uoMU$>

----------
[Image removed by sender.]
Jason Thibeault
Executive Director
Streaming Video Alliance
+1 480-399-2037
https://www.streamingvideoalliance.org<https://urldefense.com/v3/__https:/www.streamingvideoalliance.org/__;!!GjvTz_vk!D0iuZIYq23Zuq29cTqeTLY6eqQT8Q_pCUYP95dpjE5yM-Yrnz7k0OzRDKJof$>
Contributing Editor, Streaming Media Magazine<https://urldefense.com/v3/__https:/www.streamingmedia.com/Search/?Query=jason*20thibeault__;JQ!!GjvTz_vk!D0iuZIYq23Zuq29cTqeTLY6eqQT8Q_pCUYP95dpjE5yM-Yrnz7k0O_5YJ5dh$>
https://www.linkedin.com/in/thejasonthibeault<https://urldefense.com/v3/__https:/www.linkedin.com/in/thejasonthibeault__;!!GjvTz_vk!D0iuZIYq23Zuq29cTqeTLY6eqQT8Q_pCUYP95dpjE5yM-Yrnz7k0OwW_9oGD$>
--
Hls-interest mailing list
Hls-interest@ietf.org<mailto:Hls-interest@ietf.org>
https://www.ietf.org/mailman/listinfo/hls-interest