[Moq] Re: Request Synchronization Use Case

"Ali C. Begen" <ali.begen@networked.media> Tue, 09 June 2026 14:20 UTC

Return-Path: <ali.begen@networked.media>
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 3C276FE1430E for <moq@mail2.ietf.org>; Tue, 9 Jun 2026 07:20:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1781014842; bh=Yr3LFsJb2//saAmzafQclqVMBOFtyRk5shUiKvHoELo=; h=References:In-Reply-To:From:Date:Subject:To:Cc; b=OxPos2Bn+2x+LM1e+Oq6O26u2GEM1xlpqGpGjSKIPcvOhfAxTd/WipQVhNj6b41nw BjQOZpq7LQSgv6Y8KxVDSp4E6op54Qe15D09IfRhDNu7RaUJYGJ9cPx/uu34XjsL5h IQa/YVCpSMTVjg0JYLKNaZElkloq1NHcZIIOfjpc=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 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_NONE=-0.0001, SPF_HELO_NONE=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=networked.media
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 B8n0S1A2OY_H for <moq@mail2.ietf.org>; Tue, 9 Jun 2026 07:20:41 -0700 (PDT)
Received: from mail-yw1-x1133.google.com (mail-yw1-x1133.google.com [IPv6:2607:f8b0:4864:20::1133]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id EFAA2FE141AE for <moq@ietf.org>; Tue, 9 Jun 2026 07:20:07 -0700 (PDT)
Received: by mail-yw1-x1133.google.com with SMTP id 00721157ae682-7efd2dc350cso20063607b3.1 for <moq@ietf.org>; Tue, 09 Jun 2026 07:20:07 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1781014807; cv=none; d=google.com; s=arc-20240605; b=UKZO4Hrc0beJhLlcz+8/BTwo90Y+xaDFpV8jfbPJ8l5GHHuUsdBrN+QiAtBuhggvRJ QyEq6Wx9ldM0Uupp3dEB7miKGSHMl54/QL2o2axp4j/oEKOeZnZbCXz6Xme53/EkQWp4 aJjGHmX9KYxJdzmI/9FhDpMjn8XVDXm6lHb9y0M0pJLspZGOKhvcpod9vwuMdzeZl/Cq hUA2pZ6t3cvg3LOsNUyzsOcV9I8QChV97PkPgyVPdK3+Z1i0Z9yoTendezVrjI9TRPX9 /QDqGBfHsAFyz7SVy/50W429rbyyR2ws9Y1gZ0KQ+Xw+QWXz0y3V0SM/FRRJnuxRuRxj chbw==
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:dkim-signature; bh=vSJ+3dSgA6T5qpCMqgTTOvHJVO/GdRaC7qO6oxbBbMM=; fh=mX3x6a59qaFtU8sNT+nSdjqgbAMLAN8yO3SajoRwChc=; b=Y2HPsxz+9os5WWp4B063BYeeOkwebvsudszJOGuOm8HGiqCfk6ad/pdYJH5Qmgx94m xUjYpyiNiINcHOzAtqPTuBXKWNnFa0RqZ+3kjcRvgSrVCgGcNux5v70EZFwsVULQmwYL vRu2H9w0uCtRMA72x5S9l9xaH/TMsbaVuA9TEEYELEkAmfwfm1Bzc+P8hYUVPF9BjqOc +Z/hRhqy0gYaBPmvcXb5fa7JoEklvRPEs/1hz5J9GOB0j08TYtWpFm4a62ihoGKOlHbv bxAgBxD7zAVuUpAxafalqdgLXpZXCqbrlTDnx8qSmT58t9m9Gykz7dkUSQ962YTrr/Ik D0Eg==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networked.media; s=google; t=1781014807; x=1781619607; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=vSJ+3dSgA6T5qpCMqgTTOvHJVO/GdRaC7qO6oxbBbMM=; b=EeHScTf7S57hqQeJBRrhLplh9iodQAji0tLde3Trphfz6OmM4WbhzNyMoV5ERauOQU 0GcKNMwU2ed2IFaR+DVN1hzRt/+R70oQyapZkqTHrj7og6XKgddYfHMUcwAVR5wPb82r HA5Jvu5WBriW1IJsuKI0j1k4Y32Az5uefR9kGmCJSnMhBJyMvkDhDDhj8jxOt7ftlvxz 6otuV86oG0TmrTGDZYriIT92GgDGCfwWnxYZdZr1oGVuPSHF/I0ZrDpQnFwDXk1CLYoj k4xJ0b13gvbVPsh5g45J4TK6qd2AL5RHD713YTjhB4wfX8PKqgswIuVqZI+ZlwENJVW/ Rt0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781014807; x=1781619607; 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=vSJ+3dSgA6T5qpCMqgTTOvHJVO/GdRaC7qO6oxbBbMM=; b=ebbe4eLJYhS1olNa5vmWqRPC/ChYBoCnpVgjqBdy/4Mreyx2M+5rgmSY2/LeroE0aQ VIiW15I/uR6P3wNt6EAmbgq2LfLUWdvdtx9UgonabSxVoFNc45h9Ccfvhlh5QHRIapNV bG9fPvj3nzUV+/Adk4jRKgXtfVUQy/7aYCgum5MB7w1/77Opf6GrpQvxe3Rdbe8iVSVQ rvQoc0jrefY+2yb459OHjrC4tZeL7fUFRMzqwjb5pm7vVago6AojZzqwE244GUvlO/gj hctof5IN2hCC7v83sZJBqzdG9jRZJHef96exVK+gxCduMhr3yDCR++qLz8mYV92QaMul 0/Xw==
X-Forwarded-Encrypted: i=1; AFNElJ+BWz9sk/2g3wRGovY8hyb+RUy39dCKqVEcLiLy41azcadyKTBrgULOcgTr/D9S7k13GE0=@ietf.org
X-Gm-Message-State: AOJu0Yx3kCdrDGmNyIIUIOYjJD6orhTsevcr3Fh1I9gLp4lfEpVKgLEy 4n6STrebLNCv8tom0/ec1IGyRPx3rrDoWoFXojXPWv6Xm79PCIlYlp5AwB+l9+YKAKTR8mEYEsO 5qhkMIeONaNQ3gLjti5i86NaXNG6rw7MMmVxbG+ORBQ==
X-Gm-Gg: Acq92OGt2eZqqYJtpT9UpS7C1HRkEi+wZVjqhxXEToJO8d4yDA5A/x/j1RFi1zEpAo3 J0dFYVlyE+AxDDo/i8WCSul1pGtmbwVwwaKtHfRFFC1wz+2wA9LO9K+hcsltBeln0aC9/hM29DD H6xL5l0YC67OernQ0AGAKjTgXeddnKJrU0MQCPFezVdBGX8iJLEFvFTS4kQw7kkuWNH3KEyDRBC BOJvydncLtVEIGtxT2/KYDcSV8SKPjbndEglhTj6Tw4+b/5J/E8BJSO7N67Ym0QXf2V88gJiJj2 f28/nRCXXyOCfnEsQMFWvVW/DYJg
X-Received: by 2002:a05:690c:e34b:b0:7bf:4a9:1a86 with SMTP id 00721157ae682-7f2b801c8d1mr28468807b3.45.1781014806936; Tue, 09 Jun 2026 07:20:06 -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> <CANPAELvb0_CxaR8CBxfXu0W9smV8J12Kf5JPj+iUt+eHFXZKHA@mail.gmail.com>
In-Reply-To: <CANPAELvb0_CxaR8CBxfXu0W9smV8J12Kf5JPj+iUt+eHFXZKHA@mail.gmail.com>
From: "Ali C. Begen" <ali.begen@networked.media>
Date: Tue, 09 Jun 2026 16:19:55 +0200
X-Gm-Features: AVVi8CcSHEKldFgMBGEbekQqfcPxsJ-S0XB6Ovs-_oMFrcVuql6ymCAbwzczTRY
Message-ID: <CAA4Mczs7Bt2sPZNB51Ne2iSsAJHtpgz1a_b5BhnZ578D9fDV_g@mail.gmail.com>
To: Alan Frindell <afrind=40meta.com@dmarc.ietf.org>
Content-Type: multipart/alternative; boundary="000000000000e84be90653d2d2c0"
Message-ID-Hash: FTJSVSZ7GJ2GJPLZ4SLRA74HPVQ54UH5
X-Message-ID-Hash: FTJSVSZ7GJ2GJPLZ4SLRA74HPVQ54UH5
X-MailFrom: ali.begen@networked.media
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: Cullen Fluffy Jennings <fluffy@iii.ca>, 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/7tWmgR5K6iqfVUlDlv2PTGoZ6kE>
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, Alan. This PR #18 (and #1642) looks good to me. It does pretty much
everything I wanted from the original SWITCH PR and is closer to our
current implementation in MOQtail.

I hope to show some live ABR demos (subscriber-side and relay side) on Thu.

-acbegen

On Tue, Jun 9, 2026 at 11:43 AM Alan Frindell <afrind=
40meta.com@dmarc.ietf.org> wrote:

> 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
>>
>> --
> Moq mailing list -- moq@ietf.org
> To unsubscribe send an email to moq-leave@ietf.org
>