Internet DRAFT - draft-ietf-core-senml-more-units

draft-ietf-core-senml-more-units







Network Working Group                                         C. Bormann
Internet-Draft                                   Universitaet Bremen TZI
Updates: 8428 (if approved)                            November 04, 2019
Intended status: Standards Track
Expires: May 7, 2020


                       Additional Units for SenML
                  draft-ietf-core-senml-more-units-03

Abstract

   The Sensor Measurement Lists (SenML) media type supports the
   indication of units for a quantity represented.  This short document
   registers a number of additional unit names in the IANA registry for
   Units in SenML.  It also defines a registry for secondary units that
   cannot be in SenML's main registry as they are derived by linear
   transformation from units already in that registry; RFC 8428 is
   updated to also accept these units.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on May 7, 2020.

Copyright Notice

   Copyright (c) 2019 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must



Bormann                    Expires May 7, 2020                  [Page 1]

Internet-Draft         Additional Units for SenML          November 2019


   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  New Units . . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Rationale . . . . . . . . . . . . . . . . . . . . . . . . . .   3
   4.  New Registry  . . . . . . . . . . . . . . . . . . . . . . . .   4
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   6
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   6
   Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .   6
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   6
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .   6
     8.2.  Informative References  . . . . . . . . . . . . . . . . .   7
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   7

1.  Introduction

   The Sensor Measurement Lists (SenML, [RFC8428]) media type supports
   the indication of a unit, using the SenML field "u", for the quantity
   given as a data value in a SenML record.  For this purpose, SenML
   defines an IANA registry of defined Unit names and their meanings; in
   the present document, we call the Unit names registered there
   "primary Unit names".

   This short document registers a number of additional units in the
   IANA registry for Units in SenML that appear to be necessary for
   further adopting SenML in other Standards Development Organizations
   (SDOs).

   The document also defines a registry for secondary Unit names that
   cannot be in SenML's main registry as they are derived by linear
   transformation from units already in that registry.  [RFC8428] is
   updated to also accept these secondary Unit names in place of the
   (primary) Unit names defined in [RFC8428].

   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.








Bormann                    Expires May 7, 2020                  [Page 2]

Internet-Draft         Additional Units for SenML          November 2019


2.  New Units

   IANA is requested to assign new units in the "SenML Units"
   subregistry of the SenML registry [IANA.senml] (as defined in
   [RFC8428]):

   +--------+--------------------------------------+-------+-----------+
   | Symbol | Description                          | Type  | Reference |
   +--------+--------------------------------------+-------+-----------+
   | B      | Byte (information content)           | float | RFCthis   |
   | VA     | volt-ampere (Apparent Power)         | float | RFCthis   |
   | VAs    | volt-ampere second (Apparent Energy) | float | RFCthis   |
   | var    | volt-ampere reactive (Reactive       | float | RFCthis   |
   |        | Power)                               |       |           |
   | vars   | volt-ampere reactive second          | float | RFCthis   |
   |        | (Reactive Energy)                    |       |           |
   | J/m    | joule per meter (Energy per          | float | RFCthis   |
   |        | distance)                            |       |           |
   | kg/m3  | kilogram per cubic meter (mass       | float | RFCthis   |
   |        | concentration)                       |       |           |
   | deg    | degree (angle)*                      | float | RFCthis   |
   +--------+--------------------------------------+-------+-----------+

                  Table 1: New units registered for SenML

3.  Rationale

   SenML [RFC8428] takes the position that unscaled SI units should
   always be used.  However, SenML makes one exception: The degree
   Celsius (as Cel) is allowed as an alternative to the K (Kelvin).

   This document takes the position that the same should apply to a
   small number of alternative units in wide use:

   o  The Byte.  [IEC-80000-13] defines both the bit (item 13-9.b) and
      the byte (item 13-9.c, also called octet) as alternative names for
      the coherent unit one for the purpose of giving storage capacity
      and related quantities.  While the name octet is associated with
      the symbol o, this is in wide use only in French-speaking
      countries.  Globally more wide-spread is the symbol B for byte,
      even though B is already taken in SI for bel.  [RFC8428] therefore
      registers dB as the SenML unit for logarithmic relative power,
      leaving B free for the usage proposed here.  While this is
      potentially confusing, the situation is widely understood in
      engineering circles and is unlikely to cause actual problems.

   o  The Volt-Ampere.  [IEC-80000-6]} item 6-57.a defines the VA (volt
      ampere) as a unit for apparent power; items 6-59.a, 6-60.a and



Bormann                    Expires May 7, 2020                  [Page 3]

Internet-Draft         Additional Units for SenML          November 2019


      6-61.a also use the unit for complex, reactive, and non-active
      power.

   o  The Volt-Ampere-reactive.  [IEC-80000-6] item 6-60.b defines the
      var (volt ampere reactive) as an alternative (and fully
      equivalent) unit to VA specifically for reactive power (with the
      primary unit VA).  It is not presently known to this author how
      the upcoming revision of IEC 80000-6 will update this, but it has
      became clear that there is strong interest in using this unit
      specifically for the imaginary content of complex power, reactive
      power [IEEE-1459].

   The unit "degrees" is in wide use in practice for plane angles (as in
   heading, bearing, etc.).  It is marked with an asterisk because the
   preferred coherent SI unit is radian ("rad").

   The Joule per meter is not a traditional electromagnetic unit.  It
   and its scaled derivatives (in particular Wh/km) are used to describe
   the energy expended for achieving motion over a given distance, e.g.,
   as an equivalent for electrical cars of the inverse of "mileage".

4.  New Registry

   IANA is requested to create a "secondary units" subregistry in the
   SenML registry [IANA.senml] defined in [RFC8428].

   The registry has six columns:

   o  secondary unit: a newly registered name allocated within the same
      namespace as SenML units

   o  description: short description (usually just expansion of
      abbreviation)

   o  SenML unit: an existing SenML unit from the SenML units registry

   o  scale, offset: two rational numbers, expressed in decimal
      (optionally, with a decimal exponent given) or as a fraction
      divided by a "/" character.

   o  Reference: where does the entry come from.

   Quantities expressed in the secondary unit can be converted into the
   SenML unit by first multiplying their value with the scale number and
   then adding the offset, yielding the value in the given SenML unit.

   The initial content of the secondary units registry is provided in
   Table 2:



Bormann                    Expires May 7, 2020                  [Page 4]

Internet-Draft         Additional Units for SenML          November 2019


   +-----------+-------------------+-------+-----------+-----+---------+
   | secondary | description       | SenML |     scale | off | refer-  |
   | unit      |                   | unit  |           | set | ence    |
   +-----------+-------------------+-------+-----------+-----+---------+
   | ms        | millisecond       | s     |    1/1000 |   0 | RFCthis |
   | min       | minute            | s     |        60 |   0 | RFCthis |
   | h         | hour              | s     |      3600 |   0 | RFCthis |
   | kW        | kilowatt          | W     |      1000 |   0 | RFCthis |
   | kVA       | kilovolt-ampere   | VA    |      1000 |   0 | RFCthis |
   | kvar      | kilovar           | var   |      1000 |   0 | RFCthis |
   | Ah        | ampere-hour       | C     |      3600 |   0 | RFCthis |
   | Wh        | watt-hour         | J     |      3600 |   0 | RFCthis |
   | kWh       | kilowatt-hour     | J     |   3600000 |   0 | RFCthis |
   | varh      | var-hour          | vars  |      3600 |   0 | RFCthis |
   | kvarh     | kilovar-hour      | vars  |   3600000 |   0 | RFCthis |
   | kVAh      | kilovolt-ampere-  | VAs   |   3600000 |   0 | RFCthis |
   |           | hour              |       |           |     |         |
   | Wh/km     | watt-hour per     | J/m   |       3.6 |   0 | RFCthis |
   |           | kilometer         |       |           |     |         |
   | KiB       | kibibyte          | B     |      1024 |   0 | RFCthis |
   | mV        | millivolt         | V     |    1/1000 |   0 | RFCthis |
   | mA        | milliampere       | A     |    1/1000 |   0 | RFCthis |
   | dBm       | decibel           | dBW   |         1 | -30 | RFCthis |
   |           | (milliwatt)       |       |           |     |         |
   | ug/m3     | microgram per     | kg/m3 |      1e-9 |   0 | RFCthis |
   |           | cubic meter       |       |           |     |         |
   | mm/h      | millimeter per    | m/s   | 1/3600000 |   0 | RFCthis |
   |           | hour              |       |           |     |         |
   | ppm       | parts per million | /     |      1e-6 |   0 | RFCthis |
   | /100      | percent (Note 1)  | /     |     1/100 |   0 | RFCthis |
   | /1000     | permille          | /     |    1/1000 |   0 | RFCthis |
   | hPa       | hectopascal       | Pa    |       100 |   0 | RFCthis |
   | mm        | millimeter        | m     |    1/1000 |   0 | RFCthis |
   | km        | kilometer         | km    |      1000 |   0 | RFCthis |
   | km/h      | kilometer per     | m/s   |     1/3.6 |   0 | RFCthis |
   |           | hour              |       |           |     |         |
   +-----------+-------------------+-------+-----------+-----+---------+

               Table 2: Secondary units registered for SenML

   Note 1: This registration does not use the obvious name "%" because
   this name has been taken in [RFC8428] already, where it is a NOT
   RECOMMENDED synonym for "/" (unity) for legacy reasons.  Note that
   the presence of both "%" and "/100" with different meanings is likely
   to create confusion, so the present document adds some weight to the
   recommendation against using the counterintuitive unit name "%".





Bormann                    Expires May 7, 2020                  [Page 5]

Internet-Draft         Additional Units for SenML          November 2019


   Example: the value of a quantity given as 100 ms is first multiplied
   by 1/1000, yielding the number 0.1, and then the offset 0 is added,
   yielding the number 0.1 again, leading to a quantity of 0.1 s.  The
   value of a quantity given as 10 dBm is first multiplied by 1,
   yielding the number 10, and then the offset -30 is added, yielding
   the number -20, leading to a quantity of -20 dBW.

   New entries can be added to the registration by Expert Review as
   defined in [RFC8126].  Experts should exercise their own good
   judgment, with the same guidelines as used for SenML units
   (Section 12.1 of [RFC8428]), but without applying the rules 4 and 5.
   Guidelines to the difference between units (which can go into the
   registry) and quantities are widely available, see for instance [RS]
   and [BIPM].

   SenML packs MAY, but SHOULD NOT, use secondary units in place of
   SenML units, where the exception of the "SHOULD NOT" lies in the
   context of specific existing data models that are based on these
   secondary units.

5.  Security Considerations

   The security considerations of [RFC8428] apply.  The introduction of
   new measurement units poses no additional security considerations
   except from a possible potential for additional confusion about the
   proper unit to use.

6.  IANA Considerations

   See Section 2 and Section 4.

Acknowledgements

   Ari Keranen pointed out the need for additional units in SenML.
   Comments provided by him as well as by Thomas Fossati, Joaquin Prado,
   and Jaime Jimenez helped improve the document.

8.  References

8.1.  Normative References

   [IANA.senml]
              IANA, "Sensor Measurement Lists (SenML)",
              <http://www.iana.org/assignments/senml>.

   [IEC-80000-13]
              "Quantities and units - Part 13: Information science and
              technology", IEC 80000-13, Edition 1.0, March 2008.



Bormann                    Expires May 7, 2020                  [Page 6]

Internet-Draft         Additional Units for SenML          November 2019


   [IEC-80000-6]
              "Quantities and units - Part 6: Electromagnetism",
              IEC 80000-6, Edition 1.0, March 2008.

   [IEEE-1459]
              "IEEE Standard Definitions for the Measurement of Electric
              Power Quantities Under Sinusoidal, Nonsinusoidal,
              Balanced, or Unbalanced Conditions", IEEE Std 1459-2010,
              March 2010.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC8126]  Cotton, M., Leiba, B., and T. Narten, "Guidelines for
              Writing an IANA Considerations Section in RFCs", BCP 26,
              RFC 8126, DOI 10.17487/RFC8126, June 2017,
              <https://www.rfc-editor.org/info/rfc8126>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8428]  Jennings, C., Shelby, Z., Arkko, J., Keranen, A., and C.
              Bormann, "Sensor Measurement Lists (SenML)", RFC 8428,
              DOI 10.17487/RFC8428, August 2018,
              <https://www.rfc-editor.org/info/rfc8428>.

8.2.  Informative References

   [BIPM]     Bureau International des Poids es Mesures, "The
              International System of Units (SI), 9th edition", 2019,
              <https://www.bipm.org/utils/common/pdf/si-brochure/SI-
              Brochure-9-EN.pdf>.

   [RS]       Rohde&Schwarz, "Standard-compliant usage of quantities,
              units and equations", version 4.0, November 2016,
              <https://karriere.rohde-schwarz.de/fileadmin/user_upload/
              Standard-compliant_usage_of_quantities_units_and_equations
              _bro_en_5214-5061-62_v0400_96dpi.pdf>.

Author's Address








Bormann                    Expires May 7, 2020                  [Page 7]

Internet-Draft         Additional Units for SenML          November 2019


   Carsten Bormann
   Universitaet Bremen TZI
   Postfach 330440
   Bremen  D-28359
   Germany

   Phone: +49-421-218-63921
   Email: cabo@tzi.org











































Bormann                    Expires May 7, 2020                  [Page 8]