Re: Receiver Estimated Bitrate Extension

Martin Thomson <mt@lowentropy.net> Thu, 11 June 2026 23:57 UTC

Return-Path: <mt@lowentropy.net>
X-Original-To: quic@mail2.ietf.org
Delivered-To: quic@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 0E811FFBE62F for <quic@mail2.ietf.org>; Thu, 11 Jun 2026 16:57:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1781222235; bh=5LVadIjFi2+8hCwZKD3et2OtdwYeWS9cdzu6MZw2RVA=; h=Date:From:To:In-Reply-To:References:Subject; b=dPadsonqggVJK0WLv3ab7yRKbQB8vHpypekhKMPr3x/SrCSGiplAcv+ynYwc/zHtv zk6cJA9bC5FVYDhSLPDhBHxqGDf8ucK/B7q34791YrzswzM+Ta+lTbGiXXzrYzz96W +10SLd2Gz7rlimLIWGp+Zv0gtz2RoN1deuXzcg1o=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.798
X-Spam-Level:
X-Spam-Status: No, score=-2.798 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=lowentropy.net header.b="uOa7SYck"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="ixX2XXwg"
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vYKYaj2KbhcC for <quic@mail2.ietf.org>; Thu, 11 Jun 2026 16:57:14 -0700 (PDT)
Received: from fout-b1-smtp.messagingengine.com (fout-b1-smtp.messagingengine.com [202.12.124.144]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 83A95FFBE4CC for <quic@ietf.org>; Thu, 11 Jun 2026 16:56:40 -0700 (PDT)
Received: from phl-compute-04.internal (phl-compute-04.internal [10.202.2.44]) by mailfout.stl.internal (Postfix) with ESMTP id 20E291D000F0 for <quic@ietf.org>; Thu, 11 Jun 2026 19:56:34 -0400 (EDT)
Received: from phl-imap-15 ([10.202.2.104]) by phl-compute-04.internal (MEProxy); Thu, 11 Jun 2026 19:56:34 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lowentropy.net; h=cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm2; t=1781222193; x=1781308593; bh=XvsxRaBEXmTC0tSzJzIY+zPXDZ6Qiy/QZTFU1j+kwmI=; b= uOa7SYckzgHa+5fP0JLNLMEj2S62W+bCgp8X31tf1jeSnTXfQGDCKFVf9EJKaHOV SNgoZOuSQPFPBMq+12Gz+3pgPCx1IdtYp1F+Eyoa2IFrboQJi+WRibNlFbUYnUDA M5NO1EasDIbvSNNfp3frZ/888TJvX0v66BHqRSI8BxG9cZYL3Xu9yLvPWu9sq1MD 9f/I4JbOQoLO74cI2lxTucPy9KJro16robxp9xxtmwRv4jjsq/c+DSoMdsvdoaY+ AYzFWp6af/XeFDERDR5cM1jgIEwmLPRX9+OuE2K+9e68gx/h5Wg3r09FU3mcSuMr qpRPMsU8hszCRkoutgRozw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; t=1781222193; x=1781308593; bh=X vsxRaBEXmTC0tSzJzIY+zPXDZ6Qiy/QZTFU1j+kwmI=; b=ixX2XXwgtRxeh4OCc Fd4t12YWVnmEvqNMgMab9IC/13g88n08kFAtgGrt82PRzmSWXg+Tq+D/hOV841qg YbYbpyMhFx8Hfbz1vdizZNSJnf/fQmyYPQtau16KZZU0jUzxMa9ce2EhjzqdSwRI 7C9X/sa64LaDZt7uqE9Qe6roz3LwchR18tcxNvGytTVeGVVHWZe6mi+KZCkNE3W/ DmJPhG7QZMf0BGhUQTH2hgabheF4e2OYyatob3XrOD+VFzRkbH9cyBzXbqDpfBhh tYqNJo1er+OuuTWMscxKkKIWUQE85t2Ij6ZkOVTqelTSo5H/EBozeGqXBdC1LF5q WAj8g==
X-ME-Sender: <xms:MUsramx1C71yFWtcunVfsphFpGOMxrIRUVykcMvf-IQZPrE2CujSHg> <xme:MUsratHafozFtb2Kw8e8KPtvTXJcJjKoK_Pwk51MFPofMEnrcOpo_rH-KmDn5yPdI lgGWghpAPlu6jFYYInkJOoZ-Uf5d5yOJUWFm-TLH6sGiRqdHlEfq_g>
X-ME-Proxy-Cause: dmFkZTEk6GeiVSfgDW8uJwr1vOrq9bSAGp2Oplbm+PimHkgYH7ADDtXXUtFi0WvOTMvazk QcGw+mY0ujWaqZ/1yFUoYThO6r4KorLgyVuoiS5BPBnixIH3SA9XWIKZO1fsd5Z8cincwp sOqqwzJlczo5oVhu5FB6mwB617u5iC8PKfmu68QJ2hXAMP8RQFssFFkza1cjo2PdhvCBjj w7kG//B0fGb4bPlBbBug474uKRGLO04VvYb/8h8SvdulFL7xsGUDTXqfF9dbXA/U6hjQgx arpbL+NpA4aJ2zuSHQMa7vvpsEBrC6aYHi3UGS8dpt6PnPQTirOzRBVBw02BXTcIjWsqpt IdLavnOGTmDGF+vQIC2UHtDnbb93UthcaE67TQ2QNLb9H8Q4Hx5++rXdG/Yj9gZnjOMPWc sKSzh+bf+93cQk8fj8vHXVJR4mGqbIOPxCQjpCjp75WMnJ/djRpBn//tY1gkJKHpEG6IWc URoM2yV5WUjBXSAtnviN6RrFyQ0zyUmvN8WXCBjCxv0/UwZTuFlR47cQqs1w1Ft5RG41VY 28VLXTsjMK8SHBtuUSp/GolXSFjt+/mGLZ854P/kAo+1DNK42JEJuyReD/lNt3aBcSALvi lCXO9IgqQGs0w00BKfJcjoQD8fVutC1Xlx7n6ryZu4vvOmI5VcDYvoEDlNMQ
X-ME-Proxy: <xmx:MUsragUCYnWLq-6tJl5RQA79-Je_uZb9Ws4brhHU3ak8sNbvTycElA> <xmx:MUsrarhux-FvFog6pD8RYXehyMAG0WwaZ8dOiRL7DeG0KdkpFeX6GA> <xmx:MUsraqDfJW1Lx5T5ah_4GaCOKgiBUO6AFRuJjX3OpKgwP5M5tS5Ehw> <xmx:MUsrakd4_89SpYQZBcLuxEcNISj8sRbZ776E-6fIId-upNuBKfQDgg> <xmx:MUsramOyXRjTjxaU0cQ0VEbV-RSJTHopJFNrdsypZQTFe5EfKq-49C0->
Feedback-ID: ic129442d:Fastmail
Received: by mailuser.phl.internal (Postfix, from userid 501) id A9B1F780070; Thu, 11 Jun 2026 19:56:33 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
MIME-Version: 1.0
Date: Fri, 12 Jun 2026 09:56:13 +1000
From: Martin Thomson <mt@lowentropy.net>
To: quic@ietf.org
Message-Id: <18940f6a-f921-4854-b91d-bed0b9944660@betaapp.fastmail.com>
In-Reply-To: <CAHVo=Z=ikyys23reoq_ff20PeUfp0Y4Zo3hjCufMA37niyA9Aw@mail.gmail.com>
References: <CAHVo=Z=ikyys23reoq_ff20PeUfp0Y4Zo3hjCufMA37niyA9Aw@mail.gmail.com>
Subject: Re: Receiver Estimated Bitrate Extension
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Message-ID-Hash: DXKQY2RJFWLUL6QB3PEWTEIMF4KMUCFQ
X-Message-ID-Hash: DXKQY2RJFWLUL6QB3PEWTEIMF4KMUCFQ
X-MailFrom: mt@lowentropy.net
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-quic.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc6
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/RAlCb-jaAmVbZAyQ_ttDLStg79I>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Owner: <mailto:quic-owner@ietf.org>
List-Post: <mailto:quic@ietf.org>
List-Subscribe: <mailto:quic-join@ietf.org>
List-Unsubscribe: <mailto:quic-leave@ietf.org>

Hi Luke,

An interesting idea.  The conceptual overlap with SCONE and Martin Duke's SCONE signal (https://datatracker.ietf.org/doc/html/draft-duke-scone-scone-echo) is worth considering, though this is clearly stepping beyond that.

On Fri, Jun 12, 2026, at 08:48, Luke Curley wrote:
> The QUIC 
> equivalent would be retransmitting STREAM frames that have not yet been 
> marked as lost. This adds a crude form of redundancy, so even if our 
> probe causes packet loss, it partially masks the problem.

Just a note on this.  Even if you manage to send every byte twice, which is unlikely, it can be the case that loss will cause some packets to be lost.  Sending duplicates improves the odds that a loss is covered by the redundancy, but if you induce loss, you don't necessarily get to chose what gets hit.

> My MoQ extension more-or-less looks like this:
>  -->  PROBE_REQUEST      target_bitrate=0
>  <--  PROBE_RESPONSE  estimated_bitrate=3000000
>  <--  PROBE_RESPONSE  estimated_bitrate=3123456
>  -->  PROBE_REQUEST      target_bitrate=6000000
>  <--  PROBE_RESPONSE  estimated_bitrate=4999999
>  <--  PROBE_RESPONSE  estimated_bitrate=6233345
> (success, we can switch up)

I'm not following your proposal from here.  Can you explain a little more about what is going on here?  Who is sending each message (I'm guessing the client is on the left)?  Is there some timing assumed that I'm missing? What goals are each of these messages help drive?  Or, put differently: who is driving the rate increase?  And how does awareness of the sender bitrate help?

I think that what you are saying is that in cases where the receiver is choosing the bitrate (or rendition), it helps to have a way for them to ask the sender to bump their send rate above the bitrate that is active, to test whether a higher bitrate could be sustained.  Is that right?

If I'm right, then my initial inclination is to suggest that this sort of thing is so highly application-specific that it doesn't belong in QUIC.  I can definitely see why the machinery for sending at a higher bitrate is a useful feature to have in QUIC implementations, but that doesn't necessarily need a QUIC standard to drive it, just an API.  MoQ is a different beast though and a way for the client to request this sort of thing in MoQ makes more sense to me.

All that said, if Ian thinks this might be better in QUIC, I'm very interested in his reasoning.  Martin Duke's SCONE signaling thing does point at there being deployment scenarios where it could be better for signaling capabilities like this being more generic (I'm not entirely convinced there, but I can see the case).