Re: [Webtransport] Use of HTTP priorities in WebTransport

Kinuko Yasuda <kinuko@chromium.org> Mon, 26 April 2021 02:49 UTC

Return-Path: <kinuko@google.com>
X-Original-To: webtransport@ietfa.amsl.com
Delivered-To: webtransport@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9AA0D3A1255 for <webtransport@ietfa.amsl.com>; Sun, 25 Apr 2021 19:49:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.25
X-Spam-Level:
X-Spam-Status: No, score=-9.25 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, HEADER_FROM_DIFFERENT_DOMAINS=0.249, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_SPF_WL=-7.5] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=chromium.org
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 M1a_VFSlcMfh for <webtransport@ietfa.amsl.com>; Sun, 25 Apr 2021 19:49:09 -0700 (PDT)
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com [IPv6:2a00:1450:4864:20::332]) (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 8E8293A1250 for <webtransport@ietf.org>; Sun, 25 Apr 2021 19:49:09 -0700 (PDT)
Received: by mail-wm1-x332.google.com with SMTP id l189-20020a1cbbc60000b0290140319ad207so1890014wmf.2 for <webtransport@ietf.org>; Sun, 25 Apr 2021 19:49:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=hkEb9CV18IGjBKB8C45Jzn2yuJFcCsVb0RfRrTyJmrQ=; b=htUm/sgPWQ7krJ4dlPAOd0lAl3ejmCou/IizpDSQUKugu34td+ykWeYKtjvLeJNJSv KKTYOvMzzTWpNIlazJeMV7bv+tKCYJNVP3Gj1g2h/AY6X1vjwuakZeXlWoK81XtQ9CwZ SJv6fiLZjbhIrkgVb6U6eB4V0zJ8ol1c4d6o4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=hkEb9CV18IGjBKB8C45Jzn2yuJFcCsVb0RfRrTyJmrQ=; b=eb3Iswohfg/PIs0zLdXChmA1kem8mWR8rS3kLiroV5Y+kFW2O8NOB27VnLAO1u7t6X b3Ut4OB/+PoM3GTqLm/NzUWFt2yxNwGJPdxvxoCHLWb37jVyGOgIa0eHvIQ5H7tYVNrP ehiqpRKwxTSImAIihvcU4J2voNZyuyil5XVeGMy1u/sirOpKdOy0sj2Qj7UK3h0Gh1ot gjcHGunIrjwTYSVtZPwvtpZOG8GUpMO69h8ZW6kNiKtaDg8WzdTcPDnuPOnt8mKKMBYw v9QKLuNsAjh27BGHn5GJX2Hya0U752oEIds/1jN4Drv7cUeqLhDlzZct3Gw/f4gzc7hb y6ig==
X-Gm-Message-State: AOAM531oyBxvCVKOKGMxjZFjIYJn6gdpQODa5Ly1gECNU9FpdVsiPkby OaEavdNVjxs64PNVzOl1dvvv4MpUEqoFDALj/ALiEA==
X-Google-Smtp-Source: ABdhPJxguFLrxF+O33PfRGwVEwN6B9iD4+4Ah1PpSWmOI304yp+SuT2PVJOaSQ94OcaYwObv8ltr0dWD8t23yKWd87o=
X-Received: by 2002:a1c:4d0d:: with SMTP id o13mr5700520wmh.26.1619405346826; Sun, 25 Apr 2021 19:49:06 -0700 (PDT)
MIME-Version: 1.0
References: <CAKcm_gOMcFYF2YROhsbVW15Q+tnWfwGsHhrjxQwq1jJAyvLvVQ@mail.gmail.com> <CALGR9obOXRk=ZxL8Sj9zhsP-wQyv_09doZuzfCSRzquw4CZFYw@mail.gmail.com> <CAHVo=Zmo0Nta92_Ub0m8v6+=hjQ1iR6R9Aa==fe_-VXkhJEJYQ@mail.gmail.com> <CAKcm_gN9Ro1+ceNd_Q80oLF6Su6LiqV7UV4zN_g6Fz1K_6e4jg@mail.gmail.com> <CAOW+2ds2yn5Cr-VjqB51WmB=d++TXKxscb5zX7BsAFuNGeXzvQ@mail.gmail.com>
In-Reply-To: <CAOW+2ds2yn5Cr-VjqB51WmB=d++TXKxscb5zX7BsAFuNGeXzvQ@mail.gmail.com>
From: Kinuko Yasuda <kinuko@chromium.org>
Date: Mon, 26 Apr 2021 11:48:55 +0900
Message-ID: <CAMWgRNawrEYasohE5qk_NY+6tzA3A-6tqZJbiLJ0g7J5BvuXMA@mail.gmail.com>
To: Bernard Aboba <bernard.aboba@gmail.com>
Cc: Ian Swett <ianswett=40google.com@dmarc.ietf.org>, WebTransport <webtransport@ietf.org>, Luke Curley <kixelated@gmail.com>, Lucas Pardue <lucaspardue.24.7@gmail.com>
Content-Type: multipart/alternative; boundary="0000000000007249dc05c0d7301b"
Archived-At: <https://mailarchive.ietf.org/arch/msg/webtransport/52Xtklzg3ADCWOOGUktv4H8Fhjo>
Subject: Re: [Webtransport] Use of HTTP priorities in WebTransport
X-BeenThere: webtransport@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <webtransport.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/webtransport>, <mailto:webtransport-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/webtransport/>
List-Post: <mailto:webtransport@ietf.org>
List-Help: <mailto:webtransport-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/webtransport>, <mailto:webtransport-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 26 Apr 2021 02:49:13 -0000

Fyi, reg: priority API at web layer, there's an API proposal for resource
loading prioritization that tries to give the priority info as a
"importance hint" (of low, medium, high) rather than concrete priority
value.  This approach has some benefits as UA could still affect and take
care of relative priorities, and got positive buy-ins from developers.
(This hasn't shipped yet though...) I suspect the same/similar attribute
might work here.

https://wicg.github.io/priority-hints/


On Sat, Apr 24, 2021 at 10:31 AM Bernard Aboba <bernard.aboba@gmail.com>
wrote:

> Ian said:
>
> "I agree this is potentially more of a W3C issue to standardize an API
> than an IETF issue."
>
> [BA ]I'm aware of an example of a priority API
> <https://www.w3.org/blog/news/archives/8969>.  But implementations seem
> to be scarce.  Is there an example of a successful W3C API
> supporting priority?
>
> On Fri, Apr 23, 2021 at 2:03 PM Ian Swett <ianswett=
> 40google.com@dmarc.ietf.org> wrote:
>
>> (sorry for the delay, now caught up from leave)
>>
>> I agree this is potentially more of a W3C issue to standardize an API
>> than an IETF issue.
>>
>> I agree that most of this information would not be sent on the wire, but
>> as we add functionality to HTTP(ie: WebTransport and MASQUE), it becomes
>> increasingly important to understand how prioritization might work.
>> Ideally no explicit signals are necessary and each endpoint knows what to
>> do, and we can fit WebTransport(and MASQUE) into the existing scheduler so
>> when multiplexed, there's no ambiguity about what implementations should
>> send first?
>>
>> My concern is if there are no rules or APIs for prioritization, different
>> implementations may make different choices, and the more things which are
>> multiplexed on a single connection, the more important it becomes.
>>
>> Ian
>>
>> On Mon, Apr 5, 2021 at 3:47 PM Luke Curley <kixelated@gmail.com> wrote:
>>
>>> I think stream prioritization is an important next phase for
>>> WebTransport. But like Lucas mentioned, I'm not sure it needs to be handled
>>> at the transport layer.
>>>
>>> Currently, the server can prioritize sending stream data based on any
>>> scheme it wants. The browser could inform the server which prioritization
>>> scheme to use for a given stream, but I think that use-case can be
>>> negotiated at the application level instead.
>>>
>>> The browser definitely needs an API for prioritizing sending stream data
>>> though and a simple scheme like the priorities draft would be a good
>>> starting point.
>>>
>>> On Thu, Apr 1, 2021 at 4:40 PM Lucas Pardue <lucaspardue.24.7@gmail.com>
>>> wrote:
>>>
>>>> Hey Ian,
>>>>
>>>>
>>>> On Thu, Apr 1, 2021 at 6:01 PM Ian Swett <ianswett=
>>>> 40google.com@dmarc.ietf.org> wrote:
>>>>
>>>>> Now that WebTransport is targeted at HTTP/3 and not QUIC, it seems
>>>>> logical to build on the prioritization work in the HTTP priorities draft(
>>>>> draft-ietf-httpbis-priority
>>>>> <https://tools.ietf.org/html/draft-ietf-httpbis-priority-03>).  This
>>>>> could be particularly important when pooling HTTP/3 with WebTransport, but
>>>>> I think that priority model is a good one for WebTransport by itself as
>>>>> well.
>>>>>
>>>>> Except for bidi streams, most of this priority information wouldn't
>>>>> need to be sent on the wire, but it could be used by local schedulers.
>>>>>
>>>>> Thoughts?
>>>>>
>>>>
>>>> The HTTP priorities draft is very specific in that it defines an
>>>> asymmetric signal from client to server. So I'm curious how you picture it
>>>> applying to WebTransport. You're right, the general prioritization scheme
>>>> might be a good fit but I'd like to understand the requirements better. Is
>>>> it only a local priority configuration from the send side? In which case,
>>>> this seems like a W3C API issue. Or is the requirement to support sending
>>>> priority signals that instruct the peer to do something too? The hardest
>>>> case to solve is a server-initiated bidi stream that wants to signal a
>>>> priority to the client. Since WebTransport over HTTP/3 is an extension, you
>>>> might get away with changing the rules for PRIORITY_UPDATE. You could
>>>> define a new frame that carries the same information, or include it in the
>>>> WebTransport stream itself somehow.
>>>>
>>>> Cheers,
>>>> Lucas
>>>> --
>>>> Webtransport mailing list
>>>> Webtransport@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/webtransport
>>>>
>>> --
>> Webtransport mailing list
>> Webtransport@ietf.org
>> https://www.ietf.org/mailman/listinfo/webtransport
>>
> --
> Webtransport mailing list
> Webtransport@ietf.org
> https://www.ietf.org/mailman/listinfo/webtransport
>