[Moq] Re: Request Synchronization Use Case

Alan Frindell <afrind@meta.com> Tue, 09 June 2026 09:43 UTC

Return-Path: <prvs=4620c28b4b=afrind@meta.com>
X-Original-To: moq@mail2.ietf.org
Delivered-To: moq@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 20AA7FDF0480 for <moq@mail2.ietf.org>; Tue, 9 Jun 2026 02:43:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1780998208; bh=Lh32eLuFkrGx4+kHPTzBYmPvk+GYUWVW2Ji58Mg3vc4=; h=References:In-Reply-To:From:Date:Subject:To:Cc; b=qsOxJ+/46Twg7QZV5HUNvfTXYjM2G2bXId45JIB1sn7hoR/Orv1M3yTtCebthjCIc YFwSgN5s5ygWyREBNKLwLRVUPUlpHAifcM0Qa4VZl7Gzagi4ENDA4l0PY4mAGXzZdu KV8lIod1fIOjfdh8r/duXIusX+N5X3fRr3enNmpY=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.793
X-Spam-Level:
X-Spam-Status: No, score=-2.793 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=meta.com
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 ceUItf8wbmpI for <moq@mail2.ietf.org>; Tue, 9 Jun 2026 02:43:27 -0700 (PDT)
Received: from mx0a-00082601.pphosted.com (mx0a-00082601.pphosted.com [67.231.145.42]) (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 4C6F8FDF0473 for <moq@ietf.org>; Tue, 9 Jun 2026 02:43:24 -0700 (PDT)
Received: from pps.filterd (m0044010.ppops.net [127.0.0.1]) by mx0a-00082601.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 658LibKO808592 for <moq@ietf.org>; Tue, 9 Jun 2026 02:43:16 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=meta.com; h=cc :content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=s2048-2025-q2; bh=277zBL71vriII/VMWNCw H2fCEM7aPLQB+p187q6AFP4=; b=i0kcitVxps7fe5o/8LufQQR2Ev1aga73Rnsc ofJIiIIExEVl6CaaeZW+vzBFqERhipQas7Gtj5Db+OdRGzo8dBR2h7ao1tWpNDsU ogYRna+QIfo7UK0xLQ2q08kmYpJPsiftn7hAkmyMjeSkun36Ic2ipjLb+dXmFi0r xRpJMv7Ao+J0MJTSyBtfqiM8+Qgl77/+O87sRk5HhSdpPS2MyvXU6YGGG20Do1T5 1BlosHEpIwMWDGcp8qkcVYoOpxht51uJNT6Nok0/v+DnLZW67redEuhJMjx5iMs5 so84xx8KE9OWs4dYbMPwkKh7d94K916avsj+UPZXByFAeM1OQA==
Received: from mail-yw1-f200.google.com (mail-yw1-f200.google.com [209.85.128.200]) by mx0a-00082601.pphosted.com (PPS) with ESMTPS id 4emev2fnd8-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for <moq@ietf.org>; Tue, 09 Jun 2026 02:43:16 -0700 (PDT)
Received: by mail-yw1-f200.google.com with SMTP id 00721157ae682-7ebbe5b410eso108184157b3.2 for <moq@ietf.org>; Tue, 09 Jun 2026 02:43:16 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1780998195; cv=none; d=google.com; s=arc-20240605; b=Nt1gSyRIH0ns9r5TC8PDZOCww64wFWuMIUZlxLtyR+FWQUZ35NEhtWd4GtWAWoARY+ wbYnLMAZjTJtaqlK9AG7JDVj9axPhF5K8aVUxEZTqJaENFQsl17kTOoKo9SwYQcCf/TC vm+u0+mq++vTIzUo6CV+xm/ajP+WepamHGCflcVp9SdCe9uybDktU+igEQdh1S70qBJP FgqV0LDh4AHsqkoevNiuZtwP+Xdcpl+7ujqU5MLNB/AzZuKqoTIlYHbcpzo6Paw+pb1E xuv+ZBDTqF0Q3zDJqwi3f2EwaqMiOSlBP8sv51D9Rg8zfXinGYgTIEvpe2F+KgTjbObe 09UQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version; bh=cs4MteTVHcyzYvwdkhm5lW13pAPRdiZ3mI/NrRZB9Gk=; fh=8qVDvRu1vYVfI1RGJuV2IOXUk6V0xt8ajWj9YJKE7P8=; b=WYIVnHFOUNRIECLF0YowSmqPttF30OMHoBxqSS64jsS+WI0n2O3t0vK6nufYn5LlVe pejxi5NAu2kJnUTLjsQUpa7yl6ueNZihXQHWik4WCCLrDGf88P3riTfYvPvL92GNCIA3 qSW9PDrSHS5bRe/E5kl8dJmoA/hvbsYkhznjYEoBN34/fqgYG3tjwvJz+bq7YTFz3f7R x7JkZbYTCxY0c7ssWNznEcZ7MmpVXyGqflYaY377ufGDWjvkvM/GLyrY9O7q62ehqj8w DvaY9I5tmRMfb9wvF0Ftp/ooB8xxxKLeEd70ECHXQjM+SZ0ofVvHDPQomjRw3DzpP5VA QBww==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780998195; x=1781602995; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=cs4MteTVHcyzYvwdkhm5lW13pAPRdiZ3mI/NrRZB9Gk=; b=SE6Wp79DUExr3SOQ2oXhDrWzjeqzMiaPRGLUyxQpmkBkNzX4gV5KllQIm7aPbh10M4 bMIa9qw/Owh1sm0Ym6tj60gERrDDiYpSxGKUkyId9kVkCL9cwJb2z4Ap3FKgO0t0S64d Sa803033J9Ol3NG/15JefX5vFrG+sdt3+QtVEhNe1aQSrtEvf1TwZs4B5/q+EddBP4mi zsVM33tN8t0panrxOMC4OPjPZEDpEU0WhX22sEx4CUVQfClIQNc5ROtbxoQDuH0LTe7p KZoZS/H16eVxYwunV7wm9jJX1xTmHO8JpaBPLrl+NErToTQvt2B6HUTQcjo8HukHKFwG tw9w==
X-Forwarded-Encrypted: i=1; AFNElJ/oujZ3bBuhB4qygXJX15ib9gKEcwVr1GA78x01jI/X1zt2iUSkc7fRJZGvgQ6iu42L/es=@ietf.org
X-Gm-Message-State: AOJu0YxOAnxPBvoW0/7+3EyHMCyQQlZp7/xdJ02yyks+L0jic8nWfWHG Cgm8+SZXh9sHKswtLMszBs6huwyIjzjgPnCu8qa1q4tWgJPWmj4RMcZJSsanvcg0JyFS7Pbc9xB +hX+fWkP8iIia39nAZ9nJy9BUfcK7uxjV/9ooRuZ/un8bmy1/JV7rdxnUNsSeVDQM9sVorpotmt vkmjqb7jiKFLy7Z/iTy63ziLkaaU9UiOo=
X-Gm-Gg: Acq92OEV6iD8QnppdZdxt8tGsxthcvtk5bUJBRRcphdedcoltvtHepQn6DLAT16IFGT lhTmyAggpiTuGiDmY4kV704mR/w9lf2M5vkDhCU+DMuqRiqeDZb+nsSMIfvVDbADAl8xVrei+8f jMzm0OAzvuhFzOWKI9x3WKWA6ROfjRGqcXqaUhpi/zNSz+OsaSGSeLM8psXmsjnomTCJY4SnKHE CjW/P4s8ZlUh5Sq6kVS/+FAe5vLoi4ViBJzWJ6iACx+/Q==
X-Received: by 2002:a05:690c:6088:b0:7cf:c382:c70e with SMTP id 00721157ae682-7ed072f94abmr194423927b3.0.1780998195348; Tue, 09 Jun 2026 02:43:15 -0700 (PDT)
X-Received: by 2002:a05:690c:6088:b0:7cf:c382:c70e with SMTP id 00721157ae682-7ed072f94abmr194423717b3.0.1780998194869; Tue, 09 Jun 2026 02:43:14 -0700 (PDT)
MIME-Version: 1.0
References: <E4E2EA18-6FA9-48C6-82DB-6F6D59F9F22E@iii.ca> <CANPAELvxW+=e7cnGNXa=FcKF6c=JiBih81-+ENNeq-KiHA_CLQ@mail.gmail.com> <BAC94DD2-1FDB-4696-BB80-8AD8968C17F8@iii.ca>
In-Reply-To: <BAC94DD2-1FDB-4696-BB80-8AD8968C17F8@iii.ca>
From: Alan Frindell <afrind@meta.com>
Date: Tue, 09 Jun 2026 02:43:04 -0700
X-Gm-Features: AVVi8CcgkGdbGsm7FxsOd9mDMFTqCcYbWxKXEmdf7KocP6Qhyg3ONBvcczMobYg
Message-ID: <CANPAELvb0_CxaR8CBxfXu0W9smV8J12Kf5JPj+iUt+eHFXZKHA@mail.gmail.com>
To: Cullen Fluffy Jennings <fluffy@iii.ca>
Content-Type: multipart/alternative; boundary="000000000000c042fb0653cef466"
X-Authority-Analysis: v=2.4 cv=a8EAM0SF c=1 sm=1 tr=0 ts=6a27e034 cx=c_pps a=NMvoxGxYzVyQPkMeJjVPKg==:117 a=FelO9ux0wxsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=7x6HtfJdh03M6CCDgxCd:22 a=8elwO82fXORLTBIkMd32:22 a=NEAV23lmAAAA:8 a=Nv--wQFjAAAA:8 a=VabnemYjAAAA:8 a=Fe8lcgGw5ZNg9J-WRswA:9 a=QEXdDO2ut3YA:10 a=eDS7rynIb9SG9CnfOD4A:9 a=0f942_VUS0R3Peu4:21 a=lqcHg5cX4UMA:10 a=kLokIza1BN8a-hAJ3hfR:22 a=NZEjkz1c1RZEYMvUJ3LL:22 a=gKebqoRLp9LExxC7YDUY:22
X-Proofpoint-GUID: K4V--g32mY6cs7eNfoneKpjd-HjPXyh2
X-Proofpoint-ORIG-GUID: K4V--g32mY6cs7eNfoneKpjd-HjPXyh2
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA5MDA4OSBTYWx0ZWRfX1u6LLE2KgfGs /u2P43+c3jdI56j42CLb1Ax6/ohFxFtegdDYhooegd7NEKnW/+zVlpdcYCtKzud6BKVzuxlPKS9 hIxojOGoUqRd9HdU9rM+oiLO+0nHBfuU7kF+lzcU+DkOWfGiv59usVBuhQIOg1l4i8Y+FI6Z63o G7T7FLJ1sMKUFtvpTE3hwi3SXO14JBzL9Te7uQCjzUNA/4cL2fT4KAs3xxGBuAcOtNKBcqRMPGI EUXv981j8ZnoGshoItKZbUrIuik4qIc0p/AAclNvMihUw5S4x8YSp7xOcK1Mn+hK0NlnxvacYOl qJqxIlWg4Uw6pTtd5QxM0DbvYGIG46tUBL0gDXKriJARA2sDE1zqVtjD53pL44qoNYTFxJMS5Cb 8TbeaCxKz96KMWErHVURM+S1WM6HtoA+9JnAz7+bSF7v99IdRxGIHJyauKGCxEvBCjE9otUYq3w lym/I+HOthMWesdYxiQ==
X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-09_02,2026-06-09_01,2025-10-01_01
Message-ID-Hash: SOMZSNROW5VDZ7FAONGBYH3R6OGNQRIB
X-Message-ID-Hash: SOMZSNROW5VDZ7FAONGBYH3R6OGNQRIB
X-MailFrom: prvs=4620c28b4b=afrind@meta.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Gwendal Simon <gsimon@synamedia.com>, MOQ Mailing List <moq@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Moq] Re: Request Synchronization Use Case
List-Id: Media over QUIC <moq.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/moq/Nb5coDS9HGC-MZqFSYjWKOf3MYs>
List-Archive: <https://mailarchive.ietf.org/arch/browse/moq>
List-Help: <mailto:moq-request@ietf.org?subject=help>
List-Owner: <mailto:moq-owner@ietf.org>
List-Post: <mailto:moq@ietf.org>
List-Subscribe: <mailto:moq-join@ietf.org>
List-Unsubscribe: <mailto:moq-leave@ietf.org>

Thanks for the detail Cullen.

> is there a possible unification with a slightly simpler SWITCH

I drafted a PR <https://github.com/afrind/moq-transport/pull/18> (currently
in my repo) for a new "SWITCH_FROM" *parameter* that can be included in
SUBSCRIBE and REQUEST_UPDATE.  This PR builds on #1642 fill-fetch streams,
and offers a subset of SWITCH functionality from #1378, while also adapting
to the unrelated track scenario.  The essential bits are:

SWITCH_FROM {
  Switch From Request ID (vi64),
  Mode (1),  // Hard or Soft
  Publish Done (1),
  Reserved (6),
}

The publisher determines the Start Group of the resume subscription as
normal
1. Set Forward=1 and Apply the Subscription Filter (this ensures new
objects in future groups aren't missed)
2. Continue delivery on the suspend subscription until there’s an object to
publish in the resume's Start Group
3. Make the Switch
  Mode = Hard --> Set Forward=0 on the suspend subscription
  Mode = Soft --> Set End Group = Start Group - 1 on the suspend
subscription
Cancel delivery of any Groups >= Start Group
Send PUBLISH_DONE if requested
4. Send SUBSCRIBE/REQUEST_OK

Having spent time writing this PR, I have a much deeper appreciation for
the work Gwendal and co have been doing.  There are many cases to consider,
and I don't think I've worked through them all exhaustively.  There is room
to expand the functionality.  Thanks Zafer and Gwendal for some early
reviews and feedback.

I plan to cover this in more detail during Thursday's discussion on Request
Ordering - I'm open to feedback or a different direction entirely.

Thanks

-Alan


On Sat, Jun 6, 2026 at 10:13 PM Cullen Fluffy Jennings <fluffy@iii.ca>
wrote:

> >
>
>
> > On Jun 3, 2026, at 12:14 PM, Alan Frindell <afrind@meta.com> wrote:
> >
> > Circling back to the use cases here -- I copied them into issue #1519
> last month and there has been some discussion there, but I'd like
> additional input ahead of next week in case folks have missed it.
> >
> > > 3) a stream being paused and unpaused in rapid succession and requests
> reorders on the wire resulting in the opposite of the desired state.
> >
> > Since REQUEST_UPDATEs are serialized on the subscription stream, I
> believe this use case is already met.  Please correct me if I'm missing
> something?
>
> Agree
>
> >
> > > 1) Swap tracks. In a video conference, a subscriber is subscribe to
> track for Alice and Bob’s video and is watching Alice with Bob paused, but
> wants to pause Alice and unpause the track with Bob. It’s pretty common to
> want to ensure to pause the current one before unpausing the new track to
> not have congestion.
> >
> > I just want to clarify -- is this scoped to a single pair of tracks or
> many pairs (eg Alice's Audio + Video and Bob's Audio + Video), or something
> that's not even pairwise (Swap Alice's Video for Bob *and* Cindy's)?
>
> Both cases happen but when switching from Alice to Bob & Cindy, if you
> switch to Bob then put in a separate subscribe update to change Cindy
> forward to true, it does result with Cindy delayed an bit but this all gets
> masked a bit as the windows change size. I think we could live with having
> a bit of delay in that case.
>
> I’m mostly concerned with the Alice to Bob case.
>
>
> >
> > > 2) client side ABR
> >
> > Ian added some questions in the issue, but i think it reduces to
> essentially the same problem as above, except it's Alice's low-quality for
> Alice's high-quality video.
>
> Agree this is same as Alice to Bob case above.
>
> >
> > I guess the direction I'm heading in -- is there a possible unification
> with a slightly simpler SWITCH.  If we reduce SWITCH to only swapping the
> forward state on two tracks with existing subscriptions (no more
> SWITCH->PUBLISH), and make "min group" an option, would this meet all our
> ordering requirements?  This presumes some way to effect a join, which
> #1642 offers.
> >
>
> I’ll send a review of the PR - I agree something in that direction could
> work -  thanks.
>
> > Thanks
> >
> > -Alan
>
>