Re: [core] draft-ietf-core-resource-directory = GET /rd

Michael Koster <michaeljohnkoster@gmail.com> Fri, 08 September 2017 08:08 UTC

Return-Path: <michaeljohnkoster@gmail.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 AE5C4132D8C; Fri, 8 Sep 2017 01:08:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yx-wB5wbmALy; Fri, 8 Sep 2017 01:08:32 -0700 (PDT)
Received: from mail-pg0-x241.google.com (mail-pg0-x241.google.com [IPv6:2607:f8b0:400e:c05::241]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BE9711241F3; Fri, 8 Sep 2017 01:08:32 -0700 (PDT)
Received: by mail-pg0-x241.google.com with SMTP id t3so1005969pgt.5; Fri, 08 Sep 2017 01:08:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=mfnGqBleC71gbOA+CpvgeRZPJ4DyuUjdPC4h85O0v9g=; b=n4IQdKM7TeSPhPFy3Gh87KbCr15DUIZAKMeBXqsJcJRAVQ/8T5v9TSiJsNkIGx6Hdg VfWSTOfXh1JTgr7sTzyfgoFF7Ok98yE/jgaTvxBq34NPcJUvPALOhLs8TGtxbHVagpoz txlhFXjvvmjxtvKpKmC2BL07Zt9NF0taqMfLD9/081ZQ4a9UIIGOvdd2wZteVTAXrrIx ys9Q404SHGuappP+KBlnWHWybpIIjJ70vH0fxdO1jSVD1iZFa4ftLim4xouqQ6vUUQet nrQV4a4cDVJ4Ai+mOpJNQqYq1Xo8/LobxWamNaiBs47TbeeQlTZVFKOFYODsitjL5ukl cFqA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=mfnGqBleC71gbOA+CpvgeRZPJ4DyuUjdPC4h85O0v9g=; b=b5B5sISKtTbCTQwTBuZ/5UkDfms3g7mY1Nqf4/61wRrNI8E/RHAibiSWST9lVSOPmW 5wBLFUdPDPK6bGH8UGplF/vWWfbkjRiQ/vgKCcCOVxGPsP9sU5H2Yd3jni0/eawYRzYg pCuYmn5Igwr+X0nwv8WfnQ2s44EOb9dXzTTRVURwEF+FrsKrBUL2Lh2iF61pTNi3xOrV QD4+7kXjoNUK9g5hSDA2eo29Bj501B1ReaC7DdQDNIbS0rX1yGqJsmlFDqfU7WLZG16z cWJkF6f3JdfYnTtOQfkGM8w3GsKQSMYsMoLkEhCEXnFMZ40MxnO1JZJTjqz7SZPi3cTu zkNA==
X-Gm-Message-State: AHPjjUjc3Q7F/nL6spLEmtwBY4TbZrwfLxnHzVTnM97zoEgTZWphEYUb roFxiOuCUM9mT6eMLcQ=
X-Google-Smtp-Source: ADKCNb4q+TWBoJAeUCU1KoYz7Qlrk56JKeqO25ST3rQpEopsh1By8+e/VOmN+S4KlS1QhzR9VjHW6A==
X-Received: by 10.84.234.197 with SMTP id i5mr2548705plt.184.1504858112193; Fri, 08 Sep 2017 01:08:32 -0700 (PDT)
Received: from [10.0.0.6] (108-201-184-41.lightspeed.sntcca.sbcglobal.net. [108.201.184.41]) by smtp.gmail.com with ESMTPSA id s8sm2230558pgf.78.2017.09.08.01.08.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 08 Sep 2017 01:08:31 -0700 (PDT)
From: Michael Koster <michaeljohnkoster@gmail.com>
Message-Id: <E68E238C-C8A2-4EA7-88F3-D5D617FD52D0@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_A2BA215D-C424-4931-9B68-A9DBB5A08841"
Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\))
Date: Fri, 08 Sep 2017 01:08:29 -0700
In-Reply-To: <aabc7218c1991acc7926e558e7d4f920@xs4all.nl>
Cc: Jim Schaad <ietf@augustcellars.com>, "draft-ietf-core-resource-directory@ietf.org" <draft-ietf-core-resource-directory@ietf.org>, core@ietf.org
To: consultancy@vanderstok.org
References: <016801d321fc$d2820d50$778627f0$@augustcellars.com> <d13595304f595fcd98257ae58483b9aa@xs4all.nl> <000401d32592$4349a870$c9dcf950$@augustcellars.com> <9D9B829F-3B73-44FE-92A2-C2B4435934E9@gmail.com> <fdec10f06405169090028a4181accb2f@xs4all.nl> <537223E3-E2DB-4505-9E22-5829BD441DDD@gmail.com> <aabc7218c1991acc7926e558e7d4f920@xs4all.nl>
X-Mailer: Apple Mail (2.3273)
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/QLiBTFdG0uX4I_1ZTTO1esJddTc>
Subject: Re: [core] draft-ietf-core-resource-directory = GET /rd
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.22
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, 08 Sep 2017 08:08:35 -0000

Hi Peter,

In your example, "loc" I presume is "location" which is how this is returned in the response header when the registration resource is created.

In my example, I propose a hyperlink to a resource, so "href" is the usual key for this in a link JSON.

I also propose to include all of the link attributes including rt and ct, so the client knows what it is without needing to infer anything.


So your example would look like this:

[
  {
    "href" : "/rd/541",
    "con": "coap://[fdfd::12]:17072 <coap://[fdfd::12]:17072>",
    "ep": "example-endpoint-name",
    "et": "ocf-device",
    "rt": "core.rd-endpoint",
    "ct": 40,
    "lt": 600,
    "d": "floor-3"
  }
]


> On Sep 8, 2017, at 12:25 AM, peter van der Stok <stokcons@xs4all.nl> wrote:
> 
> Hi Michael,
> 
> I would have expected:
> 
> [
>   {
>     "con": "coap://[fdfd::12]:17072",
>     "loc" : "/rd/541",
>     "ep": "example-endpoint-name",
>     "et": "ocf-device",
>     "lt": 600,
>     "d": "floor-3"
>   }
> ]
> 
> and may be only ep and loc attributes;
> With this information the rest of the link information can be inferred.
> 
> cheerio,
> 
> Peter
> 
> Michael Koster schreef op 2017-09-05 20:37:
>> Hi Peter,
>> The representation on slide 4 is not a complete dump, but exactly what
>> you say; it's the locations and the registration parameters, exposed
>> as link target attributes.
>> The example has one "self" link for the RD itself, and one link for
>> each registration resource (only one is shown).
>> [
>>  {
>>    "href": "/registration/",
>>    "rel": "self",
>>    "rt": "core.rd",
>>    "ct": 40
>>  },
>>  {
>>    "href": "/registration/f3cca57e/",
>>    "con": "coap://[fdfd::12]:17072"
>>    "rt": "core.rd-endpoint",
>>    "ct": 40,
>>    "ep": "example-endpoint-name",
>>    "et": "ocf-device",
>>    "lt": 600,
>>    "d": "floor-3"
>>  }
>> ]
>>> On Sep 4, 2017, at 11:37 PM, peter van der Stok <stokcons@xs4all.nl>
>>> wrote:
>>> Hi Michael,
>>> Originally, I thought the same, but the packets get really large by
>>> doing a complete dump.
>>> The compromise is just sending the (endpoint names/ registration
>>> resource location) with its registration attributes.
>>> Peter
>>> Michael Koster schreef op 2017-09-05 08:27:
>>> I would propose returning links for all registration resources in
>>> the
>>> RD as shown in slide 4 of the attached deck (JSON format shown).
>>> This
>>> would include the most recent setting of the "lt" or lifetime
>>> parameter as a link target attribute as shown.
>>> On Sep 4, 2017, at 8:27 AM, Jim Schaad <ietf@augustcellars.com>
>>> wrote:
>>> Yes that is what I had in mind.  It would be useful to add a ttl
>>> attribute
>>> as well.
>>> Jim
>>> -----Original Message-----
>>> From: peter van der Stok [mailto:stokcons@xs4all.nl]
>>> Sent: Monday, September 4, 2017 1:46 AM
>>> To: Jim Schaad <ietf@augustcellars.com>
>>> Cc: draft-ietf-core-resource-directory@ietf.org; core@ietf.org
>>> Subject: Re: draft-ietf-core-resource-directory = GET /rd
>>> Hi Jim,
>>> Personally, I like the idea.
>>> That would mean that all registration resources are returned.
>>> In the next version of the RD, location or endpoint identifies the
>>> registration.
>>> Uniqueness of links is specified in section 5.3.4, already commented
>>> on by
>>> you.
>>> Your request means returning all locations with the ep, lt, d, and
>>> et
>>> attributes
>>> and the associated scheme://authority:port value.
>>> Correct?
>>> Peter
>>> Jim Schaad schreef op 2017-08-31 03:59:
>>> I am wondering if there should be a GET action defined against the
>>> resource directory object.  Currently, if an entity does a
>>> registration for an endpoint it gets back a location for that
>>> registration.  If a second entity modifies the endpoint and wants to
>>> update the registration, it currently has no method to get the
>>> location associated with the endpoint and cannot make a second new
>>> registration since the <domain, endpoint> pair is required to be
>>> unique.
>>> Thus
>>> Interaction: EP -> RD
>>> Method: GET
>>> URI Template: {+rd}{?ep,d}
>>> Content-Format: application/link-format (or variants)
>>> <rd/0099>;ep=endpoint1,<rd/0098>;ep=endpoint1;domain=beta, ...
>>> Jim
>> _______________________________________________
>> core mailing list
>> core@ietf.org
>> https://www.ietf.org/mailman/listinfo/core