Re: [core] 🔔 WGLC on draft-ietf-core-coap-senml

Peter Saint-Andre - Filament <peter@filament.com> Wed, 19 July 2017 14:31 UTC

Return-Path: <peter@filament.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 5F9FF131C73 for <core@ietfa.amsl.com>; Wed, 19 Jul 2017 07:31:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=filament-com.20150623.gappssmtp.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 mDApK4yZx4Kf for <core@ietfa.amsl.com>; Wed, 19 Jul 2017 07:31:53 -0700 (PDT)
Received: from mail-it0-x234.google.com (mail-it0-x234.google.com [IPv6:2607:f8b0:4001:c0b::234]) (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 0839412F268 for <core@ietf.org>; Wed, 19 Jul 2017 07:31:53 -0700 (PDT)
Received: by mail-it0-x234.google.com with SMTP id h199so1477771ith.0 for <core@ietf.org>; Wed, 19 Jul 2017 07:31:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=filament-com.20150623.gappssmtp.com; s=20150623; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=k8ChG+jqeUBq2DHhPsHtb4ojkKyI9PD7CFQhjJ2tXe8=; b=cijpGGbiekQ/aQbiJJdYLFMD2htCLEVhpCgKZ1+r/6ta6erXGlK2EgkgJPi7BXYRB/ OkMsgXCy8tX5oI2wNWJhX/uTsWgb3LfArUTUBgtJJi+PvM1U5nPs6JjX73l+z8QQvSnV Tp7EIMv0LML6qLEcVblOUs5peG8hgrAkwbbzApjtXarGGWUk4M2RWLOBb95CrRpKR9F/ /UEQiQSKBkieKG2ILZ8AoAPedJtQe+vWGSL2f+8+3URGcxFiFJ+o/QHTRvpvIRWYSjFK rvxBTkjcnw4qzYVXAgP1aX+z9gClKhAFVjUY/Ah/fvMr1GhxsFG8f7GkubXZPoeaSK7b zgbw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=k8ChG+jqeUBq2DHhPsHtb4ojkKyI9PD7CFQhjJ2tXe8=; b=Mt2xw/mhEEhCZRoVC+sMw24AfwrGEpCSYgv74RlxLM25wmdXPSvRS6dAeC+/JGaTKH Von6mnger98gIpEFLJMh2OLymf9YuV4T1oYUH9wJMSsPtQfIu0k0tVqrolJNIMImXJT5 EmsKQaWk55wBVLFopHsjIA/IPTYPTlu9O1yZLznSpVpJKW6ilh8s7I6UrwQzZWt/BwCR ahGXO2ZtxD4XenG82cYp6F1gz+HjN0StHnz1IMHwApkskcYRvggQdjksTNFqM96tCPUD hQaTR0Hwn+r3mZCtDaLoyCy7q6xYohhXbFjHSDr59ePH7FHZnk49IDIrX1G3JZ3RD90s Ecew==
X-Gm-Message-State: AIVw113VBMwsxp2hLw8srgl0BHetwG8DaBG7GDxbGqsViS2k4YdPatIr gphuAuOu02+DfDON
X-Received: by 10.36.204.131 with SMTP id x125mr95880itf.124.1500474712290; Wed, 19 Jul 2017 07:31:52 -0700 (PDT)
Received: from aither.local ([2601:282:4202:67d3:ddf3:d144:6291:35ab]) by smtp.gmail.com with ESMTPSA id 88sm84344ioi.5.2017.07.19.07.31.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 19 Jul 2017 07:31:51 -0700 (PDT)
To: Ari Keränen <ari.keranen@ericsson.com>
References: <5BAB706B-110D-4711-A62E-5980030F241F@ericsson.com> <a51a5b55-7787-beb9-59c0-62724490c79e@filament.com> <5559A4D7-0D55-403D-A3C7-527942640A15@ericsson.com> <1243a4c8-5ce6-642e-faf3-5dda093d13df@filament.com> <5AA558F8-BD20-4871-806B-251155922C56@ericsson.com>
Cc: core <core@ietf.org>
From: Peter Saint-Andre - Filament <peter@filament.com>
Message-ID: <96c526a2-aa7f-5ec3-6e5d-13562b3a8310@filament.com>
Date: Wed, 19 Jul 2017 08:31:49 -0600
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <5AA558F8-BD20-4871-806B-251155922C56@ericsson.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/3fua9C4M_6EOhTWN69irSl3kL-c>
Subject: Re: [core] 🔔 WGLC on draft-ietf-core-coap-senml
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: Wed, 19 Jul 2017 14:31:55 -0000

On 7/19/17 6:45 AM, Ari Keränen wrote:
> Hi Peter,
> 
> See inline for comments on the remaining issues not discussed in other parts of this thread.
> 
>> On 17 Jul 2017, at 0.37, Peter Saint-Andre - Filament <peter@filament.com> wrote:
>> On 7/16/17 4:16 PM, Ari Keränen wrote:
> [...]
>>>> Some of the examples in this draft use the device URN type as
>>>> specified in [I-D.arkko-core-dev-urn].
>>>>
>>>> Aha. But why? That's an expired informational I-D which never
>>>> actually registered the urn:dev namespace. I suggesting using
>>>> urn:example URNs instead. (If there's a desire to advance
>>>> draft-arkko-core-dev-urn, then let's do that - although note that
>>>> registration is easier now that we've published RFC 8141, and we
>>>> wouldn't need to advance the I-D in order to register the
>>>> namespace. In any case, having lots of examples of an unregistered
>>>> namespace seems like bad form.)
>>>
>>> That draft was just recently resurrected
>>> (https://tools.ietf.org/html/draft-arkko-core-dev-urn-04), but
>>> unfortunately only after we submitted the SenML draft. Good comments
>>> for that draft.
>>
>> Thanks for the pointer. I'm one of the expert reviewers for URN
>> namespace registrations, so I'll provide separate comments about that
>> I-D soon.
>>
>> If that I-D will be a normative reference here or we are depending on
>> registration of the urn:dev namespace before progressing SenML, then the
>> WG might consider using the urn:example namespace for now.
> 
> It's only informative reference and used only as examples.

We know that sometimes implementers just look at the examples. Copy and
paste - it must be right, it's in an RFC!

> But I don't have strong preference either way (except that not changing things is always easier ;).

My preference would be to progress with the urn:dev namespace because it
seems useful and with the new registration procedure in RFC 8141 we
don't even need an RFC to register the namespace, so registering it
shouldn't hold up the SenML work.

If that's not going to happen in a timely fashion, then using the
urn:example namespace would be better than using an unregistered
namespace (that sets a bad precedent and violates the spirit and letter
of how URNs are defined).

>>>> Please note that this set is more restricted than the range of 
>>>> characters allowed for URIs in general (RFC 3986) or URNs in
>>>> particular (RFC 8141). At the least it would be helpful to point
>>>> this out, because AFAICS it will limit the URI schemes or URN
>>>> namespaces that can be used.
>>>
>>> Good point. I'd suggest text:
>>>
>>> "Note that the character set for SenML names is a subset of the
>>> characters allowed in URIs. The restricted set was chosen to enable
>>> efficient and safe use of names in various systems (e.g., as database
>>> keys)."
>>
>> I suggest that we also say something like "The restrictions imply that
>> care needs to be taken in the choice of URIs or URNs as SenML names."
>> Furthermore, if someone wants to use a URI scheme that allows characters
>> outside that set (e.g., the 'tag' scheme), then do those characters need
>> to be encoded somehow? (Ick.) If not, then we should say so.
> 
> One should not try to put "full URIs" into the names. Rather the names can be used as part of a URI. 

I'm confused. What I see in the draft right now is that names (whether
"Name" or "Base Name + Name" = concatenated name) are URIs, with URIs
from the URN scheme used as examples. Is that a misunderstanding on my part?

> Perhaps something we should be more clear about.

Yes, clarity would be good.

> Now: https://github.com/core-wg/senml-spec/issues/73
> 
>>>> Section 4.6
>>>>
>>>> Up to this point in the document, SenML has been defined as a
>>>> format for representing sensor measurements. Given that a sensor
>>>> measures something in the world, what does it mean to *set* the
>>>> value of a sensor or a sensor measurement?
>>>
>>> I guess this needs to be elaborated also in the intro (it's hinted in
>>> the abstract).
>>
>> That's the barest of hints. :-) I almost provided a comment about it,
>> but let it go.
> 
> Admittedly :) Do you have any proposal how to make it better?

One option is to remove the configuration and actuation use cases. They
seem to be an afterthought. Perhaps define them more carefully in a
separate I-D that re-uses SenML, thus not holding up the core SenML work
any further.

If people really want to support these use cases now and in the core
spec, then I can suggest improvements to the text.

> [...]
> 
>>>> Section 12.1
>>>>
>>>> Units marked with an asterisk are NOT RECOMMENDED to be produced by
>>>> new implementations, but are in active use and SHOULD be
>>>> implemented by consumers that can use the related base units.
>>>>
>>>> This advice seems unrealistic and likely unnecessary.
>>>
>>> Why unrealistic?
>>
>> Because we're saying "hey you new implementations, don't do this, but
>> everyone else before you does it". Developers of new implementations
>> won't want to miss out on this feature (if it's important).
> 
> You don't really gain anything implementing the "legacy way", so I don't think that's really a problem. 

I just don't think this advice is all that actionable or helpful, and it
complicates the registry. But it's not a hill for me to die on. :-)

Peter