[Moq] Re: Simplifying the Object ID Model and caching

Suhas Nandakumar <suhasietf@gmail.com> Sun, 25 October 2026 17:46 UTC

Received: from mail-oi1-x236.google.com (mail-oi1-x236.google.com [IPv6:2607:f8b0:4864:20::236]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx.ietf.org (Postfix) with ESMTPS id 98A5E46 for <moq@ietf.org>; Sun, 25 Oct 2026 17:46:46 +0000 (UTC)
Authentication-Results: mx.ietf.org; dkim=pass header.d=gmail.com header.s=20251104 header.b=QrjqkBNX; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx.ietf.org: domain of suhasietf@gmail.com designates 2607:f8b0:4864:20::236 as permitted sender) smtp.mailfrom=suhasietf@gmail.com; arc=pass ("google.com:s=arc-20260327:i=1")
Received: by mail-oi1-x236.google.com with SMTP id 5614622812f47-4f48d91ba7dso1395658b6e.2 for <moq@ietf.org>; Sun, 25 Oct 2026 10:46:46 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1792950406; cv=none; d=google.com; s=arc-20260327; b=J1c8+A1KXKmkhMzcTog1CNb7HcY5qOxn1sSrrNsiAlEieUZ5Q++moFhNo6gYXj5v3l EagXGJjEETp4Je+HkWvCLAWRo1JPrkDslp28Uvb8UOWSM2S4HkJTaN2cZGYpv0ggr8C6 kiMUo5J2MNyloY5DvCIQbdna0BP8WyDdOO1EsF7WrnemAYbXau+Afy3S4FLKKkQ0AnE6 RSLBNyucGXfwXpH3VzMYbpbnGddUpkvkAkn3wVP1ziTHRleB4B6jA92/uyG7FshryJuu 0F0B2juYjMR7SrjTIBpI4aSBLjLmNgxMTdBlDwO7JNa1YFpQsBhw+ASATVTutXDjb1R0 ih3A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=yjyrJvikYbRunZZDk6rLHfhbIruleBf7wRCEA2bOuIQ=; fh=j2wKMZOOZUG5nM/PSDLYjqUSnFyOWfUi8alUAT9a4qk=; b=eFBQJHRMEDU+guk085rvECgDCQ21v5VAOzVr8xdzupGD7LQSiva5jRAXoOdixyJMNG Jzn0KM06tXkQLFDtlUXpV9YDdMyEZB3mhI++kmxsvtia3uZWaf5pwpcILYx4b4DXNKBn BLUzFte2odSPHbFT7sS52Ts7Tyf71eRKz50PyR6M8qqYSL3GhFsQTq+zLki67RqPcz/R UtMZP7Ho+Cepq+xXCM1mPpzzUYrrSNF1M6UoothQAcL9Y0gI2KVPyFYFlblJdVCVccbf JdfToLq6SYTsjtjqDICzOGtuBTrmLo36RQxxq5GO4LGgUTpW4ehgbZ9cZ7UsFLTYGg2J aowg==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1792950406; x=1793555206; darn=ietf.org; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:from:to:cc:subject:date:message-id:reply-to :content-type; bh=yjyrJvikYbRunZZDk6rLHfhbIruleBf7wRCEA2bOuIQ=; b=QrjqkBNXZHBZKaSYBcz0sbYvArQSWGNVurUHErbzq5A6JBwLEMM8+zJRO8/t7UrC1B CTmzDPDztkqspOA4Ege4l2YwnFEZloHp4PcBXGorwQH/qafDXATHU9IcrZK5CrSOJWZX Ry9Zbj8SmuEYZM4q+qn7MM37lz8a2R4YpjqPkggcy7u3sppUJ1s/Er3Akybufxxvwa8t +S+Tu1JMu0bz9N8BI8YoTM1z8l+Qrzdwu5rxZDRi4lXEMu81RcC417PCPP76SWgmq7SM mfsD+a2RXcdDMjJpX7XqHlV7EgW/sBmaN0Kpa0EbBqjR/xrXPQuUUHnNpKK19hRamGv8 yN9g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1792950406; x=1793555206; h=content-type: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:content-type; bh=yjyrJvikYbRunZZDk6rLHfhbIruleBf7wRCEA2bOuIQ=; b=M8YqHlTIDjIoLp0NIuktM8cUgbPcDa5c5rb7v1pfq0L/BEVGa0uBXaLsj5aCiZuCCR uzLBu+6rAai4Jkvq8XkJyjXYGMzfMAVgEo5yBONEqIaD/fCBzbDoqNO2TG/kBHKvJXKk 8ORDGGvMTQce9wli74BMxTkTUNXpM0apqHi7foeno4n7AsyJHnXW687DFiN6VNBhVPh4 krFXs7pynfufSSsUFeurLj8aL4wLIXPmEo1AjzhHO4B1jrj96V0bl1xSlxdCVxXJm0H5 Imj8xaGQWLz4QeT533MowJPV+ZDiwML+3yZ8foRvurH4ZRZJB34Mn8Gm0kO04HFNWH7f cmAQ==
X-Forwarded-Encrypted: i=1; AKwUvBzmBjBoHz9anSGyCbbRF+xzD7Q08T9LGhwP4DqZRcaHIpLiwooR5AmugeC5BnRt0FX2gGw=@ietf.org
X-Gm-Message-State: AFq9FYIdADR1BPOU/xVEmqSzzCrCny8M+bW91NYWN4KaC37S1Y9wNmRS 4YDnPHSibV2Sz/fvfjcAb6oG4CuqzlG++Dd8CyUwg8eCqc0qH/NRRqsN5ut9+e9OzsoK+fnNzLp nP58EoHbTJTtfnjdHg782TaTPKW+cTRM=
X-Gm-Gg: AYBFou07YqPfj4Rk/wWalV0mcg1aEdhk9CNhy1z243ZZ0ezTEuh5j0VAxr+OWUMx3ot wLD8jxBgZGOdhdXJUXGfEphOzrKoPPthEJzjyPpqxFAJNlxFaCEhDcyJHfsK8ww1XrP2n2Gd1qs 2O/T5+4PVH6wZ2J9y2B0Q8yL609UlGhGtBrvj9wsDruhXmDxLMpAHuXQViTzpJ2OIvd4D9zIz3C /9tIire1PEP9GMHjh8bJD54bkuLILtXAFoqTXKQvK+dEXpZUadmt8Cl/p4Y3l3XhEvHW3FJJcxf p/ixvfg+HMSqkxs4Qo9BVA3Q97pkUp/IYTpWKmUVEMNHAuulds5XKvvNcCu/H6Otco/DQ1+nkSP prDkK/VCuvZJ0vSLhFaWx8ARaePiGWHY/ysA9VkMDsH09WyfQ2UbjCs7/Mn5ov+Lp9RavrQ==
X-Received: by 2002:a05:6808:1b0f:b0:500:5e36:3a9d with SMTP id 5614622812f47-55c002872c6mr2664248b6e.30.1792950405673; Sun, 25 Oct 2026 10:46:45 -0700 (PDT)
MIME-Version: 1.0
References: <CAKcm_gPVnSLx=3eTzqU6mkCHTTMZx3Px_RyKB+RgqdZ5oRyMEg@mail.gmail.com> <CAKXiRhMg5PG1Ac-LCfCA+LadiRbUtKEMsrssKQudA_KkeN1WLg@mail.gmail.com> <a521293c-9454-4023-bb24-c6bf98c263b5@huitema.net> <CAKXiRhPv3irQ5HtpngVnBYXLtu3eKbC_NZ7de9uk5AGBDEm8DQ@mail.gmail.com> <DS0PR11MB81817F1DC0672BAA9326CA5AB4652@DS0PR11MB8181.namprd11.prod.outlook.com> <CAKcm_gOJeQRH3P7gQ0qJ=234AitKC-iX48s1QgfwXo3Xf=k_iQ@mail.gmail.com> <DS0PR11MB8181422BDBCAEB9FD65DF96CB4652@DS0PR11MB8181.namprd11.prod.outlook.com>
In-Reply-To: <DS0PR11MB8181422BDBCAEB9FD65DF96CB4652@DS0PR11MB8181.namprd11.prod.outlook.com>
From: Suhas Nandakumar <suhasietf@gmail.com>
Date: Sun, 25 Oct 2026 10:46:33 -0700
X-Gm-Features: AclHuK8psbuOiH3-nLZW2ZBLRzZX4btBT_V_x6OpooABSCFitpq30GQiKRncNJc
Message-ID: <CAMRcRGSy2QpkuHzdZcM_chvWoxZt2ZTM2XGiB3NU7ViK84D-fA@mail.gmail.com>
To: "Mo Zanaty (mzanaty)" <mzanaty@cisco.com>
Content-Type: multipart/alternative; boundary="00000000000007b96c065eadccb4"
X-Spamd-Bar: -----------------------------
Message-ID-Hash: NDBXR6BAPP6M6FX5NJOSLXHHXINGXBZD
X-Message-ID-Hash: NDBXR6BAPP6M6FX5NJOSLXHHXINGXBZD
X-MailFrom: suhasietf@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Ian Swett <ianswett@google.com>, MOQ Mailing List <moq@ietf.org>
X-Mailman-Version: 3.3.10
Precedence: list
Subject: [Moq] Re: Simplifying the Object ID Model and caching
List-Id: Media over QUIC <moq.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/moq/5_UT7e6kPcIvqUUxj2teUa8D7pc>
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>

On Thu, Oct 22, 2026 at 1:59 PM Mo Zanaty (mzanaty) <mzanaty=
40cisco.com@dmarc.ietf.org> wrote:

> What about a Mandatory Track Property “Mind the Gap”? Publishers MUST add
> it if the track can have any gaps in Group or Object ID, and SHOULD signal
> each one via Prior Group/Object ID Gap Object Properties. Relays can then
> assume any track without this is “dense” like Suhas’ AI. :)
>
> This puts the burden of unknown gap handling on relays which specifically
> advertise they can “Mind the Gap”. A basic relay can assume dense tracks if
> it never advertises this, so it can always fetch upstream if it needs to
> fill a cache without wasting any fetch requests on non-existent gaps. This
> doesn’t guarantee the relay won’t see gaps, but it will know they are
> missing objects, not unknown status.
>
> If we want to simplify the spec and push more things to extensions, which
> seemed to be the sentiment at the interim, we could move all of this (Mind
> the Gap MTP, Prior Group/Object OPs) to an extension draft. The core draft
> would only define behavior for dense tracks. The extension draft would
> define tracks with gaps.
>

[Suhas] The specification as defined today does already provide a natural
way for applications that follow continuous sequences to work fine
end-to-end. We have been building such applications and/or relays for a
while.  For cases , as defined in my earlier email, the spec provides
mechanisms to specify it in the wire-format.  Even for applications that
have need for continuous sequence numbers, OP needs a way to say there will
be a gap, relays need a way to handle gaps ( datagrams lost, stream reset
and restart across pause/resumes and sub-group mappings ) . F


>
> Cheers,
> Mo
>
>
> *From: *Ian Swett <ianswett@google.com>
> *Date: *Thursday, October 22, 2026 at 3:52 PM
> *To: *Mo Zanaty (mzanaty) <mzanaty@cisco.com>
> *Cc: *Aman Sharma <amsharma=40meta.com@dmarc.ietf.org>; Christian Huitema
> <huitema@huitema.net>; MOQ Mailing List <moq@ietf.org>
> *Subject: *Re: [Moq] Re: Simplifying the Object ID Model and caching
>
> Yes, Prior Object ID Gap can help, though I'm unsure how to make it
> required in practice?  I guess a Subscriber to an OP could declare a Track
> Malformed if it didn't include the Prior Object ID gaps?
>
> Unless we did something like what Luke suggested, the cache will have gaps
> and Relays will have to deal with that, but sequential IDs (or required
> Prior Object ID Gaps) do make the problem easier.
>
> Ian
>
> On Thu, Oct 22, 2026 at 9:03 AM Mo Zanaty (mzanaty) <mzanaty@cisco.com>
> wrote:
>
> Prior Object ID Gap already handles the case where the original publisher
> made gaps. Maybe just make it required? But I don’t see how eliminating OP
> gaps helps relays or end subscribers, since they must still deal with
> non-OP gaps in subscribe and fetch, which seems like the dominant case.
>
> If the problem is excessive relay upstream actions on a fragmented cache,
> can we just punt this downstream? If a fetch spans cached and unknown
> objects, deliver the cached and mark the rest unknown in the response. If
> it only spans unknown, only then request upstream.
>
> Cheers,
> Mo
>
>
> ------------------------------
> *From:* Aman Sharma <amsharma=40meta.com@dmarc.ietf.org>
> *Sent:* Wednesday, 21 October 2026 23:02:02
> *To:* Christian Huitema <huitema@huitema.net>
> *Cc:* Ian Swett <ianswett@google.com>; MOQ Mailing List <moq@ietf.org>
> *Subject:* [Moq] Re: Simplifying the Object ID Model and caching
>
> I think Ian’s proposal eliminates fetches needed merely to resolve
> intentionally unused ID slots, but you're right that fetches may still be
> needed to recover material omitted because of congestion (e.g. timeout
> cancellation, datagram dropping, etc).
>
> On Wed, Oct 21, 2026 at 7:41 PM Christian Huitema <huitema@huitema.net>
> wrote:
>
>
>
> What happens if a relay is skipping some subsets as a response to
> congestion?
>
> On 10/21/2026 7:36 PM, Aman Sharma wrote:
> >
> > I agree that this would be a simplification, and would allow us to
> > remove the Prior Object ID Gap property. Any implementation relying on
> > non-contiguous object IDs could trivially define its own parameter to
> > convey the information previously conveyed through object IDs.
> >
> >
> >
> > On Wed, Oct 21, 2026 at 7:00 PM Ian Swett
> > <ianswett=40google.com@dmarc.ietf.org> wrote:
> >
> >     I believe all members of this WG can agree that the MoQ Object
> >     Model is too complex. In the past, we've been unable to simplify
> >     it, but I believe there is a simplification that improves caching
> >     and is acceptable. That's sequentially
> >     I believe all members of this WG can agree that the MoQ Object
> >     Model is too complex. In the past, we've been unable to simplify
> >     it, but I believe there is a simplification that improves caching
> >     and is acceptable.
> >
> >     That's sequentially increasing Object IDs beginning at 0 (ie: 0,
> >     1, 2, 3, etc).  This makes it trivial to know when all the Objects
> >     in a Group have been received once the End of Group is received,
> >     and it avoids unnecessary Fetches upstream when a Track is
> >     initially Subscribe-delivered and then cached.
> >
> >     I realize there is an attraction to ascribing a meaning to the
> >     Object ID (e.g., using it for the timestamp), but the byte savings
> >     are minimal at best and this makes MoQ much more brittle. Don't
> >     think I haven't tried.
> >
> >     Are there people for whom this would break their usecase and can
> >     they explain why?
> >
> >     Ian
> >     _______________________________________________
> >     Moq mailing list -- moq@ietf.org
> >     To unsubscribe send an email to moq-leave@ietf.org
> >
> >
> > _______________________________________________
> > Moq mailing list -- moq@ietf.org
> > To unsubscribe send an email to moq-leave@ietf.org
>
> _______________________________________________
> Moq mailing list -- moq@ietf.org
> To unsubscribe send an email to moq-leave@ietf.org
>