Re: [core] AD review of draft-ietf-core-senml-12

Ari Keränen <ari.keranen@ericsson.com> Thu, 01 March 2018 06:41 UTC

Return-Path: <ari.keranen@ericsson.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 8319612422F for <core@ietfa.amsl.com>; Wed, 28 Feb 2018 22:41:44 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.32
X-Spam-Level:
X-Spam-Status: No, score=-4.32 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ericsson.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 36UMcdLYenEB for <core@ietfa.amsl.com>; Wed, 28 Feb 2018 22:41:42 -0800 (PST)
Received: from sessmg22.ericsson.net (sessmg22.ericsson.net [193.180.251.58]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E37261241F8 for <core@ietf.org>; Wed, 28 Feb 2018 22:41:41 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; d=ericsson.com; s=mailgw201801; c=relaxed/simple; q=dns/txt; i=@ericsson.com; t=1519886500; h=From:Sender:Reply-To:Subject:Date:Message-ID:To:CC:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=9CsE5qdg8uXz7bLoJzmcmUw1lMMyhuUv0A2dWm82f5s=; b=H9ABRIrKtpvCIpfIMb0u2CtJ2O4wt7AuO/eSx8u1F7l+Fd1DOtSG47GXz3X640Qh MamZEeXDnripnzzHBbEDKExv+raqsGTu9HeoKzpM6RcZE5UgHvlbJHuuR9JDYUSp +iFuJKKtZTivXrs7mNLjbcqqSNajDRzU77Qi8S83G4w=;
X-AuditID: c1b4fb3a-728f89c0000067b4-38-5a97a0a426ef
Received: from ESESSHC010.ericsson.se (Unknown_Domain [153.88.183.48]) by sessmg22.ericsson.net (Symantec Mail Security) with SMTP id 72.94.26548.4A0A79A5; Thu, 1 Mar 2018 07:41:40 +0100 (CET)
Received: from ESESSMB109.ericsson.se ([169.254.9.82]) by ESESSHC010.ericsson.se ([153.88.183.48]) with mapi id 14.03.0352.000; Thu, 1 Mar 2018 07:41:03 +0100
From: Ari Keränen <ari.keranen@ericsson.com>
To: Alexey Melnikov <alexey.melnikov@isode.com>
CC: Cullen Jennings <fluffy@cisco.com>, Carsten Bormann <cabo@tzi.org>, "core@ietf.org WG" <core@ietf.org>
Thread-Topic: [core] AD review of draft-ietf-core-senml-12
Thread-Index: AQHTiyDu0BM6qxYgikiCexhp7NumuKO7KZuA
Date: Thu, 01 Mar 2018 06:41:02 +0000
Message-ID: <1FCFDFB2-EA6E-4994-9A4C-86B30F531B47@ericsson.com>
References: <5A57D346.8070301@isode.com>
In-Reply-To: <5A57D346.8070301@isode.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [87.95.226.8]
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <E16A3377AF1CDB4BA329B5B29495D9E2@ericsson.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrCIsWRmVeSWpSXmKPExsUyM2K7ge6SBdOjDP5uF7CYsbrI4siUu6wW +96uZ7bomMzmwOIx5fdGVo8lS34yeZxqNvSYtigzgCWKyyYlNSezLLVI3y6BK2P3hR+sBZfd K/52XGBsYLxs2cXIySEhYCKxqX8XcxcjF4eQwGFGic2PrrFBOIsYJZovf2cDqWITsJeYvOYj I4gtIqAvsfrVLBYQm1kgR+LTqm9gNcIClhJvLjWwQ9RYSbxsb4OyjSTeTWoCsjk4WARUJO6s UwIJ84KMPLyKCcQWEtCQ2PH7HdgYTgFNiSsvpoK1MgqISXw/tYYJYpW4xK0n85kgjhaQWLLn PDOELSrx8vE/VghbXmLG2VtQ9XoSN6ZOYYOwrSXaVy1ih7C1JZYtfM0McYOgxMmZT1gmMIrN QrJiFpL2WUjaZyFpn4WkfQEj6ypG0eLU4uLcdCMjvdSizOTi4vw8vbzUkk2MwLg7uOW31Q7G g88dDzEKcDAq8fCu7J8eJcSaWFZcmXuIUYKDWUmE9/T2aVFCvCmJlVWpRfnxRaU5qcWHGKU5 WJTEeZ3SLKKEBNITS1KzU1MLUotgskwcnFINjH29N9nL7+88wXLIhN9JP+8114+oixONv5sf OnFYzrTnbuelRXnzGuZ8vms7o0je+vPvGyya6+W3+He9/rvNsP2qvXcvrzTLoVUXNC+2ScQu uHj2MXP8Kou/G/8d7O9hefxQVyizftaVvN9RT69LWVbO3v5R/mCQ8CKLJM8ven/NHjSZJik0 HFRiKc5INNRiLipOBACwlQhFtwIAAA==
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/1RgWuPArmB2hdd50P07mFtYCjcM>
Subject: Re: [core] AD review of draft-ietf-core-senml-12
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: Thu, 01 Mar 2018 06:41:44 -0000

Hi Alexey,

Thank you for the review! And sorry for the late reply. We have now addressed all your comments in the PR 98:
https://github.com/core-wg/senml-spec/pull/98

Also see answers to your comments inline.


Cheers,
Ari

> On 11 Jan 2018, at 23.12, Alexey Melnikov <alexey.melnikov@isode.com> wrote:
> 
> Hi,
> I nearly finished my review (I still need to double check a few things
> on fragment identifiers and media type registration compatibility with
> base media types like application/xml). I think the document is
> generally in a good shape, but there are a few things that we need to be
> fixed or discussed first.
> 
> I will also ask for a couple of extra reviews of this document.
> 
> Major:
> 
> 1) In order to be able to register application/senml+exi and
> application/sensml+exi, +exi suffix needs to be registered (+json, +xml
> and +cbor are already registered. See
> <https://www.iana.org/assignments/media-type-structured-suffix/media-type-structured-suffix.xhtml#structured-syntax-suffix>).
> There is separate registration procedure for this. Note that there was
> already a discussion about registering +exi and a Designated Expert
> opinion was that EXI is not a generic encoding format (JSON, CBOR and
> XML are) that can be decoded without knowing schemaID. The WG can argue
> against this point, but I am not convinced that the WG will convince the
> Designated Expert otherwise.
> 
> If you don't want to register the +exi suffix, the easiest fix to the
> document is to change "+" in application/senml+exi and
> application/sensml+exi to "-", as "-" doesn't have special semantics
> associated with suffixes.

Fixed by changing to "-exi" as you suggested and was discussed in this thread already.

> 
> 2) The following omissions are pretty easy to fix, but I think they are
> important enough for readers of documents:
> 
> First references to UTF-8, XML, Relax NG, XML Schema need Normative
> References. (Some of these are missing Normative References, some of
> these are just missing them on first use.)

Added references for each.

> I also suspect that some IESG members will have an opinion that the CDDL
> reference is Normative. So you might need to choose between making CDDL
> reference Normative (which will result in this document not being
> published until CDDL draft is also approved for publication) and
> removing CDDL definition from the document.

Clarified that this is informative (similar text was OK with earlier RFC):

 As a convenient reference, the JSON and CBOR representations can be
 described with the common CDDL [I-D.ietf-cbor-cddl] specification in
 Figure 1 (informative).

> Minor:
> 
> 
> Section 2:
> 
> Some devices have accurate time while others do not so SenML supports
> absolute and relative times.  Time is represented in floating point
> as seconds and values greater than zero represent an absolute time
> relative to the Unix epoch while values of 0 or less represent a
> 
> Does Unix epoch need a reference?

Added reference to the POSIX spec and added new clarifying text:

 Time is represented in floating point
 as seconds.  Values greater than zero represent an absolute time
 relative to the Unix epoch (1970-01-01T00:00Z in UTC time) and the
 time is counted same way as the Portable Operating System Interface
 (POSIX) "seconds since the epoch" [TIME_T]. Values of 0 or less
 represent a relative time in the past from the current time.

> relative time in the past from the current time.
> 
> 3.  Terminology
> 
> The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
> "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
> "OPTIONAL" in this document are to be interpreted as described in
> [RFC2119].
> 
> I suggest you switch to the updated phrasing that allows for lowercase
> "must", etc:
> 
> The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
> "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
> "OPTIONAL" in this document are to be interpreted as described in
> BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
> capitals, as shown here.

Fixed as suggested.

> In 4.4
> 
> Although it is RECOMMENDED that concatenated names are represented as
> URIs [RFC3986] or URNs [RFC8141], the restricted character set
> specified above puts strict limits on the URI schemes and URN
> namespaces that can be used.
> 
> I understand that this phrasing is a result of discussions in the WG. Is
> it possible/useful to point out some typical URI schemes that can't be
> used here, such as HTTP/HTTPS/COAP?

Added two examples:
 However, the restricted character set
 does not allow the use of many URI schemes, such as the 'tag' scheme
 [RFC4151] and the 'ni' scheme [RFC6920], in names as such.

> In Section 5:
> 
> The mantissa SHOULD
> be less than 19 characters long and the exponent SHOULD be less than
> 5 characters long.
> 
> The above two SHOULDs: is the above sufficient for interoperability?
> What would happen if the SHOULD is not followed?

The SHOULDs are there to facilitate efficient parsing of the data. We added this:

  In the interest of avoiding unnecessary verbosity and speeding
  up processing, the mantissa SHOULD be less than 19 characters long
  and the exponent SHOULD be less than 5 characters long.

> In 5.1.2:
> 
>  SenML defines a
> separate media type to indicate Sensor Streaming Measurement Lists
> (SensML) for this usage (see Section 12.3.2).
> 
> It would be good to mention something about this in the IANA
> registrations for media types, as on a cursory look one can think that
> there are lots of duplicated registrations.

Added to 12.3 (Media Type Registrations): 

 This document registers media
 types for each serialization format of SenML (JSON, CBOR, and EXI)
 and also media types for the same formats of the streaming use
 (SensML).

> I just want to double check regarding binary data in XML. I assume there
> is a need to use XML escaping for bytes not otherwise allowed in XML? It
> might be worth pointing this out to avoid naive (and buggy) implementations.

Base64 encoding is used with binary data: https://tools.ietf.org/html/draft-ietf-core-senml-12#section-7

> The following comment applies to all media type registrations:
> 
> 12.3.1.  senml+json Media Type Registration
> 
> Interoperability considerations: Applications should ignore any JSON
> key value pairs that they do not understand.  This allows backwards
> compatibility extensions to this specification.  The "bver" field can
> be used to ensure the receiver supports a minimal level of
> functionality needed by the creator of the JSON object.
> 
> Is it worth mentioning here special treatment of keys that end with "_":
> 
> Implementations MUST ignore fields they don't recognize unless that
> field has a label name that ends with the '_' character in which
> case an error MUST be generated.
> 
> (The above text is from page 7. Might need to reword it in the media
> type registration template)?


Changed this to:
Interoperability considerations: Applications MUST ignore any JSON
key value pairs that they do not understand unless the key ends with
the '_' character in which case an error MUST be generated. This
allows backwards compatible extensions to this specification.

And similar changes to all other registrations.

> In Section 13:
> 
> You should also mention that defined formats don't include executable
> content. (Media Type reviewers typically ask this question)

Added to Section 13:
 The SenML
 formats defined by this specification do not contain any executable
 content.  However, future extensions could potentially embed
 application specific executable content in the data.

> Nits:
> 
> Abstract
> 
> This specification defines media types for representing simple sensor
> measurements and device parameters in the Sensor Measurement Lists
> (SenML).  Representations are defined in JavaScript Object Notation
> (JSON), Concise Binary Object Representation (CBOR), eXtensible
> Markup Language (XML), and Efficient XML Interchange (EXI), which
> share the common SenML data model.  A simple sensor, such as a
> temperature sensor, could use this media type in protocols such as
> 
> this media type --> one of these media types

Fixed.

> HTTP or CoAP to transport the measurements of the sensor or to be
> configured.
> 
> 
> First references to HTTP, COAP, S/MIME and TLS need Informative References.

Fixed.

> 12.1.  Units Registry
> 
> IANA will create a registry of SenML unit symbols.  The primary
> purpose of this registry is to make sure that symbols uniquely map to
> give type of measurement.
> 
> give --> given

Fixed.

> Best Regards,
> Alexey
> 
> 
> _______________________________________________
> core mailing list
> core@ietf.org
> https://www.ietf.org/mailman/listinfo/core