[Moq] Re: Request for "FETCH" Proposals
Cullen Fluffy Jennings <fluffy@iii.ca> Wed, 02 October 2024 12:54 UTC
Return-Path: <fluffy@iii.ca>
X-Original-To: moq@ietfa.amsl.com
Delivered-To: moq@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A5330C15106C for <moq@ietfa.amsl.com>; Wed, 2 Oct 2024 05:54:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.106
X-Spam-Level:
X-Spam-Status: No, score=-2.106 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_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=iii.ca header.b="BCW8ereI"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="hPcyyM12"
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Wtr7y89f3p0b for <moq@ietfa.amsl.com>; Wed, 2 Oct 2024 05:54:34 -0700 (PDT)
Received: from flow-a2-smtp.messagingengine.com (flow-a2-smtp.messagingengine.com [103.168.172.137]) (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 ietfa.amsl.com (Postfix) with ESMTPS id 126F5C14F5FF for <moq@ietf.org>; Wed, 2 Oct 2024 05:54:34 -0700 (PDT)
Received: from phl-compute-08.internal (phl-compute-08.phl.internal [10.202.2.48]) by mailflow.phl.internal (Postfix) with ESMTP id 2F78220058C; Wed, 2 Oct 2024 08:54:33 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-08.internal (MEProxy); Wed, 02 Oct 2024 08:54:33 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iii.ca; h=cc: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=fm1; t=1727873673; x=1727877273; bh=V6rlGfNxheaGMy+VqSQsdoQCsU1f/lk/FcMSzkC/hx8=; b= BCW8ereIjCXjRSW7s1JvhalnzNWIhz2+E/W20F+osfN4HOiOKlD8Stszyt57fEys wS4f5MCxBIETmbQcAxZASlUF8eKBjlaEM6AkotQSYEXbBvDaFdbjqvDSMIS01NyT u84YKf+mdXK0yLZMCtfCVsQBhd33jsIwzxSDhiWol28auHFqnXNubYVs/EiMfON6 btthGq6/SxX7VEM/HlL44NOFRlgBQgk8WCQ5eD1iYxLWaC943tm56HRMMPc1k1pY D6jxU+/wkWy68fhUqZtcS/A8br/br7ClPGoWBn3O1a+RKvxMK6zOXpHDLlVAy+4k lCp9b6FnhCoqdThZJwhBtw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc: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-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1727873673; x= 1727877273; bh=V6rlGfNxheaGMy+VqSQsdoQCsU1f/lk/FcMSzkC/hx8=; b=h PcyyM1238Al1tUq/zQMxaXzU9qB0XfCgg6klqhEgRtJZO2OAvSSo6isl8CN7cxfv Mdxe3vMpeqpmi5LFD+5qLZOULgcYHZQ4lZrPQkZDu302S8Nh/f0ccqHn1c3BaOHi 5nEW9NNoq2o+ZM1MCfJbR3jcK4po8OQXPPDAQvbtbp01IXgQryBjFpuEpGt+4r9h l3tuQnP7fGWF1950nbcQ5KJnJSJUJ8z/shGKW5uALoy8T/bNyOdVQumwHY0ImICw jR+p2eD2d9py7bO3o47XqxbAlkQ4jhWbuzx2JVfa2udOLF9/KjmAfHOmifRvkqum UalJuhmVOItKx6FnrodMg==
X-ME-Sender: <xms:iEL9ZqYObKEwQG8aNaldQnfoLiFzLV85wzl4SurkvXxYKbf6wuYCgA> <xme:iEL9ZtZ8KY2nFe0oEddc59vJ9LVH8EhBbZjGpvs4H7TwBbYFYTm23x7Nca3jwJVUe MjfbfMZUTPqubHI87M>
X-ME-Received: <xmr:iEL9Zk_DegEpN6tx96X8T-GRmcynOhFNXGm69vDzqRq1g4eVrPn3NQ7TatbZkY_0uw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrvdduledgheegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucenucfjughrpegtggfuhf gjffevgffkfhfvofesthhqmhdthhdtjeenucfhrhhomhepvehulhhlvghnucfhlhhufhhf hiculfgvnhhnihhnghhsuceofhhluhhffhihsehiihhirdgtrgeqnecuggftrfgrthhtvg hrnhepteelleeitdeghfdtjeffteevieefkeevieetudffteegtdeuvedvleeiffeftdet necuffhomhgrihhnpehhthhtphdrshhonecuvehluhhsthgvrhfuihiivgeptdenucfrrg hrrghmpehmrghilhhfrhhomhepfhhluhhffhihsehiihhirdgtrgdpnhgspghrtghpthht ohepfedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepkhhigigvlhgrthgvugesgh hmrghilhdrtghomhdprhgtphhtthhopehmohhqsehivghtfhdrohhrghdprhgtphhtthho pehflhhufhhfhiesihhiihdrtggr
X-ME-Proxy: <xmx:iEL9ZsqOdcAwc3Gls17mrDaneiuVhTlI2oyVtWvmxHbImdMSQGWeGA> <xmx:iEL9ZloM05rnRvl65iF37l-MPfeLXhVtG_aGIb-O1as6kNI1z7jhiQ> <xmx:iEL9ZqS603iCAAdZHhMgJ7Y2gpixlVSDTi8D72iBG7lMkIDUbABuaw> <xmx:iEL9Zlpho2W410SA4Sxm0g2TivaMcrh4I434jWUTR5hkXIDmfwCutA> <xmx:iUL9Zi4csOOWSJ_XtIw2wxnfLvkiDozw5SYgw69eyg3erz5yIl6P-24l>
Feedback-ID: icafe48a4:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 2 Oct 2024 08:54:32 -0400 (EDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3776.700.51.11.1\))
From: Cullen Fluffy Jennings <fluffy@iii.ca>
In-Reply-To: <CAHVo=ZmjPz5qQ0yd7f3ztXL1eQ53+ueZ7OXwL3v5ni8zNM=81g@mail.gmail.com>
Date: Wed, 02 Oct 2024 08:54:33 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <26940E4E-66D9-4FD5-8F1D-3F0AE53BB9F1@iii.ca>
References: <C0E87FF6-2A02-4D57-B74C-12D09D3485B0@fb.com> <CAHVo=Zk-+C9AQX236Wg_epOfEdBF99T=TLdjb+HHVBjzGP3riA@mail.gmail.com> <9B56586C-06E6-4870-9C1B-91349AA9E383@iii.ca> <CAHVo=ZmjPz5qQ0yd7f3ztXL1eQ53+ueZ7OXwL3v5ni8zNM=81g@mail.gmail.com>
To: Luke Curley <kixelated@gmail.com>
X-Mailer: Apple Mail (2.3776.700.51.11.1)
Message-ID-Hash: GE2EJS3FMFBXNMWKHUMYMD2ZMDGPYII7
X-Message-ID-Hash: GE2EJS3FMFBXNMWKHUMYMD2ZMDGPYII7
X-MailFrom: fluffy@iii.ca
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: MOQ Mailing List <moq@ietf.org>
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [Moq] Re: Request for "FETCH" Proposals
List-Id: Media over QUIC <moq.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/moq/xMBOdyIiknwrRXdTOkGVlBViW0Y>
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 Sep 24, 2024, at 9:48 AM, Luke Curley <kixelated@gmail.com> wrote: > > Forgot to reply to Cullen, inline: > > On Mon, Sep 16, 2024, 5:01 PM Cullen Jennings <fluffy@iii.ca> wrote: > > Look forward to seeing the proposal but I suspect we end up with something along lines of what Luke is proposing. I like it. > >> On Sep 16, 2024, at 2:14 PM, Luke Curley <kixelated@gmail.com> wrote: >> >> >> My proposal for FETCH mirrors HTTP. The consumer opens a bidirectional stream and the publisher replies on the same stream. >> >> -> FETCH track=video group=64 object_start=4 priority=N >> <- OBJECT id=4 ... OBJECT id=5 ... OBJECT id=6 >> > > I think we would also need the namespace in the FETCH or some way the FETCH had the full track name. I’m assuming it would have start group and object as well as end group and object. > > Yeah it would have the namespace too. I omitted it in the example for simplicity. > > But I should have elaborated, my proposal is that you can only FETCH a single stream (aka sub-group aka peep) at a time. I don't think a relay should merge N upstream streams into 1 downstream stream. It's a lot of complexity and HoLB that the viewer can accomplish with multiple FETCH requests instead (just like HTTP). > > So that means the FETCH would identify a single subgroup. No start/end group ID, just a single group ID. A start/end object offset into the sub-group makes sense though. > > It would make sense to add group direction flag of ascending or descending to the FETCH. > > A stream per FETCH means the subscriber could manually "order" them by increasing /decreasing the priority field only. Although given the single byte priority, an explicit order to break ties would be wise too. > > I’m assuming a relay would send an upstream FETCH for any ranges of objects that it did not have or did not know if they existed or not and forward the objects in order to the downstream. This makes a latency hit for applications that have gaps but still works fine and applications that used FETCH would probably set up the groups / objects to not have any gaps in the sequences. > > The relay needs some way to know if a fragmented cache represents a full sub-group that can be served immediately. Skipping object IDs guarantees ambiguity. > > IMO this is why object IDs should start at 0 and increase by 1. If you do want a gap (ex. dropped frame), explicitly signal it with an empty payload or the null object status. I like the simplicity of this.
- [Moq] Request for "FETCH" Proposals Alan Frindell
- [Moq] Re: Request for "FETCH" Proposals Cullen Jennings
- [Moq] Re: Request for "FETCH" Proposals Suhas Nandakumar
- [Moq] Re: Request for "FETCH" Proposals Luke Curley
- [Moq] Re: Request for "FETCH" Proposals Luke Curley
- [Moq] Re: Request for "FETCH" Proposals Alan Frindell
- [Moq] Re: Request for "FETCH" Proposals Suhas Nandakumar
- [Moq] Re: Request for "FETCH" Proposals Gwendal Simon
- [Moq] Re: Request for "FETCH" Proposals Cullen Fluffy Jennings