Re: [core] I-D Action: draft-ietf-core-coap-pubsub-13.txt
Christian Amsüss <christian@amsuess.com> Fri, 27 October 2023 14:29 UTC
Return-Path: <christian@amsuess.com>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4401BC14EB17; Fri, 27 Oct 2023 07:29:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.607
X-Spam-Level:
X-Spam-Status: No, score=-2.607 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
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 Obzt-ctYpBDi; Fri, 27 Oct 2023 07:29:51 -0700 (PDT)
Received: from smtp.akis.at (smtp.akis.at [IPv6:2a02:b18:500:a515::f455]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0944EC14CE3B; Fri, 27 Oct 2023 07:29:44 -0700 (PDT)
Received: from poseidon-mailhub.amsuess.com ([IPv6:2a02:b18:c13b:8010:a800:ff:fede:b1bd]) by smtp.akis.at (8.17.1/8.17.1) with ESMTPS id 39RETf2g086143 (version=TLSv1.2 cipher=ECDHE-ECDSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 27 Oct 2023 16:29:41 +0200 (CEST) (envelope-from christian@amsuess.com)
X-Authentication-Warning: smtp.akis.at: Host [IPv6:2a02:b18:c13b:8010:a800:ff:fede:b1bd] claimed to be poseidon-mailhub.amsuess.com
Received: from poseidon-mailbox.amsuess.com (unknown [IPv6:2a02:b18:c13b:8010:a800:ff:fede:b1bf]) by poseidon-mailhub.amsuess.com (Postfix) with ESMTP id EC2DB2B4E4; Fri, 27 Oct 2023 16:29:40 +0200 (CEST)
Received: from hephaistos.amsuess.com (unknown [IPv6:2a02:b18:c13b:8010:92ff:f2c8:aad4:ad6b]) by poseidon-mailbox.amsuess.com (Postfix) with ESMTPSA id B60AB2B280; Fri, 27 Oct 2023 16:29:40 +0200 (CEST)
Received: (nullmailer pid 3807 invoked by uid 1000); Fri, 27 Oct 2023 14:29:40 -0000
Date: Fri, 27 Oct 2023 16:29:40 +0200
From: Christian Amsüss <christian@amsuess.com>
To: draft-ietf-core-coap-pubsub@ietf.org
Cc: core@ietf.org
Message-ID: <ZTvJVL3a9I0fEeIL@hephaistos.amsuess.com>
References: <169780660206.27885.12493906232017581815@ietfa.amsl.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="mtUWBZ1r+d5rePHT"
Content-Disposition: inline
In-Reply-To: <169780660206.27885.12493906232017581815@ietfa.amsl.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/3acyttrhBnAyVOWwBB2-dpG39EA>
Subject: Re: [core] I-D Action: draft-ietf-core-coap-pubsub-13.txt
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/core/>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 27 Oct 2023 14:29:54 -0000
Hello pubsub authors, group, (this starts as a public resubmit of an earlier direct message to Jaime, and also discussed during [1], and goes into new examples), The current pubsub draft appears to do the things well that it is setting out to do -- and we should finish it already. At the same time, I think it conflates things in a way I've generally been uneasy about for some time, and that I'm more and more finding the words to phrase: At the same time, pubsub does * metadata about resources ("topic name", expiration management that exceeds max-age) * delegation of authority (in a sense a pubsub topic is just a reverse proxy for a resource the publisher has, even though thanks to reversal of control flow that is rarely accessible directly), * population of proxy caches in role reversal mode, * and by combination of the latter two, sleepy devices (which we had a document on, and apparently that was such a patent mine field that everyone left it). I don't think that those should lead to large alteration of the document, but maybe the awareness of those components can help us toward a structure that has more easily reusable parts. To give examples of easy to address parts, I'd appreciate if "topic-name" and "topic type" were phrased in a way that are compatible with discovery: Is topic-name different from the title link-format attribute of the data resource? Is topic-type different from the resource type of the data resource? Is observer-check a variant that was missed in conditional-attributes (c.pminconf)? These might be achievable by some subtle renaming of parameters that are called TBDn so far anyway. Examples of the authority / proxying part are: Can a pubsub broker also be used as a forward proxy without altering the authority component, so that if a publisher `coap://device1.example.com` creates a topic and announces that it would publish its own `/sensor1` resource in the topic, the pubsub broker could be contacted by a subscriber to please get `coap://device1.example.com/sensor1`, and the broker would send the most recent published data? Can a publisher (under the same condition of having the own-`/sensor1` metadata) tell the broker that it prefers not to bother the broker with updates on each and every resource, but the broker may start observing the relevant resources as soon as subscribers are around? Sure: That's not the classical pubsub model. But to the consumers it looks the same modulo some initial latency, and I think that's what should matter in our specifications: Interface, not implementation. Discussing the whole area is probably out of scope for the document, but maybe we could point out something like: > 1.4 Extensions from a collection of interfaces > > A pubsub broker fulfills multiple roles at once, providing interfaces > for configuration, for publishers and subscribers. In addition to > those interfaces, alternative interfaces may be provided. For example, > publishers might configure a broker to observe their resources into a > topic using the methods of {{?I-D.ietf-core-dynlink}}. Clients could > be allowed to use the broker as a proxy to access resources on their > original URIs (provided that metadata is deposited in the broker). > > Such extensions are out of scope of this document, as is discussing > whether the resulting system would still be designated as a pubsub > broker. Best regards Christian [1]: https://datatracker.ietf.org/meeting/interim-2023-core-15/session/core -- To use raw power is to make yourself infinitely vulnerable to greater powers. -- Bene Gesserit axiom
- [core] I-D Action: draft-ietf-core-coap-pubsub-13… internet-drafts
- Re: [core] I-D Action: draft-ietf-core-coap-pubsu… Christian Amsüss