Re: [Moq] Warp

Lucas Pardue <lucaspardue.24.7@gmail.com> Tue, 15 February 2022 07:41 UTC

Return-Path: <lucaspardue.24.7@gmail.com>
X-Original-To: moq@ietfa.amsl.com
Delivered-To: moq@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2E8C33A1232 for <moq@ietfa.amsl.com>; Mon, 14 Feb 2022 23:41:21 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.848
X-Spam-Level:
X-Spam-Status: No, score=-1.848 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 AhqiYzNBOVBD for <moq@ietfa.amsl.com>; Mon, 14 Feb 2022 23:41:18 -0800 (PST)
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com [IPv6:2a00:1450:4864:20::52a]) (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 0CCC93A1221 for <moq@ietf.org>; Mon, 14 Feb 2022 23:41:17 -0800 (PST)
Received: by mail-ed1-x52a.google.com with SMTP id w2so11987704edc.8 for <moq@ietf.org>; Mon, 14 Feb 2022 23:41:17 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=iuxx8bhsA+/HuqRh07OIC+s+jnt5Wn/gVLQ46bV9ytg=; b=fWk10WsFaLbEb3cXHtWqOQecitUyq0nWbxIA1RlNM8S5dVYAyRqgrNJ4EeE8s7Ah8y xeQTETq+DQZQe0S8XCdZqiSLHZ3q+ZAi8nILmiBftPcScsZtzEmuVYiN1/1Ors+vmDA9 l0X54+Yc6X4xXLmxIzH/e7OfGCqQSGYTg/kXj1Yi0s4+0dxY6zd6M5/ur40DvgmXylNi GTtCVYCmV+PTMkFLmMsvPiGubERShVoU/OiQ3LsvsHMAmYU2k/Y4liZR7AL7ITE7U2eV xlPjTQhwymW9nXgxgUPtrVrCtvv9uamadVtusq1Xhrg0NUQgu97MDVbZxG2Y8AxrPnQu w9hw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=iuxx8bhsA+/HuqRh07OIC+s+jnt5Wn/gVLQ46bV9ytg=; b=IoPXZG1iecJGkPjestfpdaTf9ItzsWSIvlH7GlBU1p/eHPQNoB4aGUNkScSzhJHIFq NPknFZYLwv82VXxti6YdhSmtBSkOUKe3jdiXLcbkI52+HoWEi+1ZfqoB+3GnaZp/WKhA RZaaqM++u15s1Cqwsr6zRKJao+Lz7QUVL/7Rf/XWIxq1STCGTOfVB3nIJDD835kDybUi u3kDKrm87ltMz7pjg0WTcYLw28dH9kxwjT98hdnKLVXx5aiC6LsWQxvRSRa/Tn+kSMv/ HOO+BIBDI4PCm+qVa5+HU1GQDhArDFmuiColF/w+joFpZUEQAwLnoz7n80coIenAej2b jZUw==
X-Gm-Message-State: AOAM531zZNtiUCPaZov5hMuunqJw0cH5MbzsfzRTDmha0XuvvXgRZ8oc QXsRDxS3T+E6A1Wr64Znp/CMLz+5aBfK4QWYM2P0J1CD
X-Google-Smtp-Source: ABdhPJwfz1BF3l06CYR2PCLdz/dq6egRokOCmtc9jQsO2AfDxr4LJEFm5dBh18PGsTC6sIT5k1/GlqBD6zxRrgawUq8=
X-Received: by 2002:aa7:db18:: with SMTP id t24mr2589993eds.157.1644910875149; Mon, 14 Feb 2022 23:41:15 -0800 (PST)
MIME-Version: 1.0
References: <CAHVo=Zm5dt7jCVDMreU0Ob5=SSm6JxrV5RMGnnWXN7NrWHCcFQ@mail.gmail.com> <EBA75A3F-8A7B-4F37-87F1-B4DA6E15E1ED@cisco.com> <CAHVo=Z=KOz-wFcuff6os10oJAeQXuN4DNYZU+YuA+BxE3gEgOw@mail.gmail.com>
In-Reply-To: <CAHVo=Z=KOz-wFcuff6os10oJAeQXuN4DNYZU+YuA+BxE3gEgOw@mail.gmail.com>
From: Lucas Pardue <lucaspardue.24.7@gmail.com>
Date: Tue, 15 Feb 2022 07:41:03 +0000
Message-ID: <CALGR9obj1h2zKiwTgXQWPEzu5Z5WPH3-XSgvfH0LjJaWtkDwCw@mail.gmail.com>
To: Luke Curley <kixelated@gmail.com>
Cc: "Mo Zanaty (mzanaty)" <mzanaty@cisco.com>, MOQ Mailing List <moq@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000006688d605d809a845"
Archived-At: <https://mailarchive.ietf.org/arch/msg/moq/EWTCHxOJKzh1DLjpIH5AEvyCT68>
Subject: Re: [Moq] Warp
X-BeenThere: moq@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Media over QUIC <moq.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/moq>, <mailto:moq-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/moq/>
List-Post: <mailto:moq@ietf.org>
List-Help: <mailto:moq-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/moq>, <mailto:moq-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 15 Feb 2022 07:41:21 -0000

Hey,

Thanks for publishing Luke, it's been a good conversation catalyst.

On Tue, 15 Feb 2022, 06:23 Luke Curley, <kixelated@gmail.com> wrote:

> Hey Mo,
>
> Absolutely!
>
> Twitch is using QUIC (actually WebTransport) instead of HTTP/3 just to
> avoid some extra headaches caused by HTTP semantics. I'm not sure which
> approach is easier to standardize, but we should take it!
>
> At one point I started a draft called DASH-WARP but I'll be honest, I
> didn't want to learn the DASH terminology. I'm also not a fan of how
> divergent contribution and distribution protocols have become. This is a
> good opportunity to reevaluate why we currently need a separate protocol
> for both use cases. I like your idea of flipping the HTTP verb while
> keeping everything else the same. You'll notice that I used the terms
> "sender" and "receiver" instead of "server" and "client" in the Warp draft
> for the very same reason.
>
> As for why this hasn't been done before; no clue, and maybe it has. I
> really only stumbled upon the idea thanks to the recent efforts to actually
> eliminate head-of-line blocking in HTTP.
>

I could speculate that part of the reason such an approach wasn't done
before was the absence of conmon APIs and/or absence of standard
intermediary-to-origin and origin-to-intermediary signalling.

For APIs, I mean, an ability for clients to control the value of a priority
signal; an ability for server applications to control how servers actually
schedule.

For signalling, I mean a way to talk about the priority of the
client-to-intermediary connection properties outside of the actual
connection.

RFC 7540 priority signals (the first incarnation of HTTP/2 signals) support
the notion of signalling strict priority order where newer streams are more
important. As suggested in Warp. It just wasn't really exposed very well to
let people use it.  For example, trying to do so using Fetch. So even if
there was a full end-to-end H2 chain across intermediaries (e.g. low
latency HLS) it would be difficult to have explicit control over the
sending of response data to clients.

As Mo suggested, Extensible Priorities [1] addresses some of these
challenges, especially where there are multiple hops that might support
different HTTP versions or where APIs are version agnostic (Fetch).
However, out of the box Extensible Prioirites suggests serving data of the
same importance in the order it was requested. There's ways to do the
reverse; Luke and I have talked previously about different possible
methods. I'm confident that we could find an answer with enough discussion,
design and implementation experience.

All that said, I'm not overwhelmingly convinced that HTTP has to be used.
It introduces the potential for problems where an intermediary shards or
coalesces requests over different connections and ordering is affected. In
contrast, WebTransport stands a better chance of keeping streams bound to
the connection, aiding strict ordering. It also has a web-accessible API,
avoiding problems with going native QUIC.

Cheers
Lucas

[1] https://datatracker.ietf.org/doc/draft-ietf-httpbis-priority/