idnits 2.17.1 draft-ietf-core-senml-more-units-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- -- The draft header indicates that this document updates RFC8428, but the abstract doesn't seem to directly say this. It does mention RFC8428 though, so this could be OK. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (November 04, 2019) is 1607 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Possible downref: Non-RFC (?) normative reference: ref. 'IEC-80000-13' -- Possible downref: Non-RFC (?) normative reference: ref. 'IEC-80000-6' -- Possible downref: Non-RFC (?) normative reference: ref. 'IEEE-1459' Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 5 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group C. Bormann 3 Internet-Draft Universitaet Bremen TZI 4 Updates: 8428 (if approved) November 04, 2019 5 Intended status: Standards Track 6 Expires: May 7, 2020 8 Additional Units for SenML 9 draft-ietf-core-senml-more-units-03 11 Abstract 13 The Sensor Measurement Lists (SenML) media type supports the 14 indication of units for a quantity represented. This short document 15 registers a number of additional unit names in the IANA registry for 16 Units in SenML. It also defines a registry for secondary units that 17 cannot be in SenML's main registry as they are derived by linear 18 transformation from units already in that registry; RFC 8428 is 19 updated to also accept these units. 21 Status of This Memo 23 This Internet-Draft is submitted in full conformance with the 24 provisions of BCP 78 and BCP 79. 26 Internet-Drafts are working documents of the Internet Engineering 27 Task Force (IETF). Note that other groups may also distribute 28 working documents as Internet-Drafts. The list of current Internet- 29 Drafts is at https://datatracker.ietf.org/drafts/current/. 31 Internet-Drafts are draft documents valid for a maximum of six months 32 and may be updated, replaced, or obsoleted by other documents at any 33 time. It is inappropriate to use Internet-Drafts as reference 34 material or to cite them other than as "work in progress." 36 This Internet-Draft will expire on May 7, 2020. 38 Copyright Notice 40 Copyright (c) 2019 IETF Trust and the persons identified as the 41 document authors. All rights reserved. 43 This document is subject to BCP 78 and the IETF Trust's Legal 44 Provisions Relating to IETF Documents 45 (https://trustee.ietf.org/license-info) in effect on the date of 46 publication of this document. Please review these documents 47 carefully, as they describe your rights and restrictions with respect 48 to this document. Code Components extracted from this document must 49 include Simplified BSD License text as described in Section 4.e of 50 the Trust Legal Provisions and are provided without warranty as 51 described in the Simplified BSD License. 53 Table of Contents 55 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 56 2. New Units . . . . . . . . . . . . . . . . . . . . . . . . . . 3 57 3. Rationale . . . . . . . . . . . . . . . . . . . . . . . . . . 3 58 4. New Registry . . . . . . . . . . . . . . . . . . . . . . . . 4 59 5. Security Considerations . . . . . . . . . . . . . . . . . . . 6 60 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 61 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 6 62 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 63 8.1. Normative References . . . . . . . . . . . . . . . . . . 6 64 8.2. Informative References . . . . . . . . . . . . . . . . . 7 65 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 7 67 1. Introduction 69 The Sensor Measurement Lists (SenML, [RFC8428]) media type supports 70 the indication of a unit, using the SenML field "u", for the quantity 71 given as a data value in a SenML record. For this purpose, SenML 72 defines an IANA registry of defined Unit names and their meanings; in 73 the present document, we call the Unit names registered there 74 "primary Unit names". 76 This short document registers a number of additional units in the 77 IANA registry for Units in SenML that appear to be necessary for 78 further adopting SenML in other Standards Development Organizations 79 (SDOs). 81 The document also defines a registry for secondary Unit names that 82 cannot be in SenML's main registry as they are derived by linear 83 transformation from units already in that registry. [RFC8428] is 84 updated to also accept these secondary Unit names in place of the 85 (primary) Unit names defined in [RFC8428]. 87 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 88 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 89 "OPTIONAL" in this document are to be interpreted as described in 90 BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all 91 capitals, as shown here. 93 2. New Units 95 IANA is requested to assign new units in the "SenML Units" 96 subregistry of the SenML registry [IANA.senml] (as defined in 97 [RFC8428]): 99 +--------+--------------------------------------+-------+-----------+ 100 | Symbol | Description | Type | Reference | 101 +--------+--------------------------------------+-------+-----------+ 102 | B | Byte (information content) | float | RFCthis | 103 | VA | volt-ampere (Apparent Power) | float | RFCthis | 104 | VAs | volt-ampere second (Apparent Energy) | float | RFCthis | 105 | var | volt-ampere reactive (Reactive | float | RFCthis | 106 | | Power) | | | 107 | vars | volt-ampere reactive second | float | RFCthis | 108 | | (Reactive Energy) | | | 109 | J/m | joule per meter (Energy per | float | RFCthis | 110 | | distance) | | | 111 | kg/m3 | kilogram per cubic meter (mass | float | RFCthis | 112 | | concentration) | | | 113 | deg | degree (angle)* | float | RFCthis | 114 +--------+--------------------------------------+-------+-----------+ 116 Table 1: New units registered for SenML 118 3. Rationale 120 SenML [RFC8428] takes the position that unscaled SI units should 121 always be used. However, SenML makes one exception: The degree 122 Celsius (as Cel) is allowed as an alternative to the K (Kelvin). 124 This document takes the position that the same should apply to a 125 small number of alternative units in wide use: 127 o The Byte. [IEC-80000-13] defines both the bit (item 13-9.b) and 128 the byte (item 13-9.c, also called octet) as alternative names for 129 the coherent unit one for the purpose of giving storage capacity 130 and related quantities. While the name octet is associated with 131 the symbol o, this is in wide use only in French-speaking 132 countries. Globally more wide-spread is the symbol B for byte, 133 even though B is already taken in SI for bel. [RFC8428] therefore 134 registers dB as the SenML unit for logarithmic relative power, 135 leaving B free for the usage proposed here. While this is 136 potentially confusing, the situation is widely understood in 137 engineering circles and is unlikely to cause actual problems. 139 o The Volt-Ampere. [IEC-80000-6]} item 6-57.a defines the VA (volt 140 ampere) as a unit for apparent power; items 6-59.a, 6-60.a and 141 6-61.a also use the unit for complex, reactive, and non-active 142 power. 144 o The Volt-Ampere-reactive. [IEC-80000-6] item 6-60.b defines the 145 var (volt ampere reactive) as an alternative (and fully 146 equivalent) unit to VA specifically for reactive power (with the 147 primary unit VA). It is not presently known to this author how 148 the upcoming revision of IEC 80000-6 will update this, but it has 149 became clear that there is strong interest in using this unit 150 specifically for the imaginary content of complex power, reactive 151 power [IEEE-1459]. 153 The unit "degrees" is in wide use in practice for plane angles (as in 154 heading, bearing, etc.). It is marked with an asterisk because the 155 preferred coherent SI unit is radian ("rad"). 157 The Joule per meter is not a traditional electromagnetic unit. It 158 and its scaled derivatives (in particular Wh/km) are used to describe 159 the energy expended for achieving motion over a given distance, e.g., 160 as an equivalent for electrical cars of the inverse of "mileage". 162 4. New Registry 164 IANA is requested to create a "secondary units" subregistry in the 165 SenML registry [IANA.senml] defined in [RFC8428]. 167 The registry has six columns: 169 o secondary unit: a newly registered name allocated within the same 170 namespace as SenML units 172 o description: short description (usually just expansion of 173 abbreviation) 175 o SenML unit: an existing SenML unit from the SenML units registry 177 o scale, offset: two rational numbers, expressed in decimal 178 (optionally, with a decimal exponent given) or as a fraction 179 divided by a "/" character. 181 o Reference: where does the entry come from. 183 Quantities expressed in the secondary unit can be converted into the 184 SenML unit by first multiplying their value with the scale number and 185 then adding the offset, yielding the value in the given SenML unit. 187 The initial content of the secondary units registry is provided in 188 Table 2: 190 +-----------+-------------------+-------+-----------+-----+---------+ 191 | secondary | description | SenML | scale | off | refer- | 192 | unit | | unit | | set | ence | 193 +-----------+-------------------+-------+-----------+-----+---------+ 194 | ms | millisecond | s | 1/1000 | 0 | RFCthis | 195 | min | minute | s | 60 | 0 | RFCthis | 196 | h | hour | s | 3600 | 0 | RFCthis | 197 | kW | kilowatt | W | 1000 | 0 | RFCthis | 198 | kVA | kilovolt-ampere | VA | 1000 | 0 | RFCthis | 199 | kvar | kilovar | var | 1000 | 0 | RFCthis | 200 | Ah | ampere-hour | C | 3600 | 0 | RFCthis | 201 | Wh | watt-hour | J | 3600 | 0 | RFCthis | 202 | kWh | kilowatt-hour | J | 3600000 | 0 | RFCthis | 203 | varh | var-hour | vars | 3600 | 0 | RFCthis | 204 | kvarh | kilovar-hour | vars | 3600000 | 0 | RFCthis | 205 | kVAh | kilovolt-ampere- | VAs | 3600000 | 0 | RFCthis | 206 | | hour | | | | | 207 | Wh/km | watt-hour per | J/m | 3.6 | 0 | RFCthis | 208 | | kilometer | | | | | 209 | KiB | kibibyte | B | 1024 | 0 | RFCthis | 210 | mV | millivolt | V | 1/1000 | 0 | RFCthis | 211 | mA | milliampere | A | 1/1000 | 0 | RFCthis | 212 | dBm | decibel | dBW | 1 | -30 | RFCthis | 213 | | (milliwatt) | | | | | 214 | ug/m3 | microgram per | kg/m3 | 1e-9 | 0 | RFCthis | 215 | | cubic meter | | | | | 216 | mm/h | millimeter per | m/s | 1/3600000 | 0 | RFCthis | 217 | | hour | | | | | 218 | ppm | parts per million | / | 1e-6 | 0 | RFCthis | 219 | /100 | percent (Note 1) | / | 1/100 | 0 | RFCthis | 220 | /1000 | permille | / | 1/1000 | 0 | RFCthis | 221 | hPa | hectopascal | Pa | 100 | 0 | RFCthis | 222 | mm | millimeter | m | 1/1000 | 0 | RFCthis | 223 | km | kilometer | km | 1000 | 0 | RFCthis | 224 | km/h | kilometer per | m/s | 1/3.6 | 0 | RFCthis | 225 | | hour | | | | | 226 +-----------+-------------------+-------+-----------+-----+---------+ 228 Table 2: Secondary units registered for SenML 230 Note 1: This registration does not use the obvious name "%" because 231 this name has been taken in [RFC8428] already, where it is a NOT 232 RECOMMENDED synonym for "/" (unity) for legacy reasons. Note that 233 the presence of both "%" and "/100" with different meanings is likely 234 to create confusion, so the present document adds some weight to the 235 recommendation against using the counterintuitive unit name "%". 237 Example: the value of a quantity given as 100 ms is first multiplied 238 by 1/1000, yielding the number 0.1, and then the offset 0 is added, 239 yielding the number 0.1 again, leading to a quantity of 0.1 s. The 240 value of a quantity given as 10 dBm is first multiplied by 1, 241 yielding the number 10, and then the offset -30 is added, yielding 242 the number -20, leading to a quantity of -20 dBW. 244 New entries can be added to the registration by Expert Review as 245 defined in [RFC8126]. Experts should exercise their own good 246 judgment, with the same guidelines as used for SenML units 247 (Section 12.1 of [RFC8428]), but without applying the rules 4 and 5. 248 Guidelines to the difference between units (which can go into the 249 registry) and quantities are widely available, see for instance [RS] 250 and [BIPM]. 252 SenML packs MAY, but SHOULD NOT, use secondary units in place of 253 SenML units, where the exception of the "SHOULD NOT" lies in the 254 context of specific existing data models that are based on these 255 secondary units. 257 5. Security Considerations 259 The security considerations of [RFC8428] apply. The introduction of 260 new measurement units poses no additional security considerations 261 except from a possible potential for additional confusion about the 262 proper unit to use. 264 6. IANA Considerations 266 See Section 2 and Section 4. 268 Acknowledgements 270 Ari Keranen pointed out the need for additional units in SenML. 271 Comments provided by him as well as by Thomas Fossati, Joaquin Prado, 272 and Jaime Jimenez helped improve the document. 274 8. References 276 8.1. Normative References 278 [IANA.senml] 279 IANA, "Sensor Measurement Lists (SenML)", 280 . 282 [IEC-80000-13] 283 "Quantities and units - Part 13: Information science and 284 technology", IEC 80000-13, Edition 1.0, March 2008. 286 [IEC-80000-6] 287 "Quantities and units - Part 6: Electromagnetism", 288 IEC 80000-6, Edition 1.0, March 2008. 290 [IEEE-1459] 291 "IEEE Standard Definitions for the Measurement of Electric 292 Power Quantities Under Sinusoidal, Nonsinusoidal, 293 Balanced, or Unbalanced Conditions", IEEE Std 1459-2010, 294 March 2010. 296 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 297 Requirement Levels", BCP 14, RFC 2119, 298 DOI 10.17487/RFC2119, March 1997, 299 . 301 [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for 302 Writing an IANA Considerations Section in RFCs", BCP 26, 303 RFC 8126, DOI 10.17487/RFC8126, June 2017, 304 . 306 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 307 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 308 May 2017, . 310 [RFC8428] Jennings, C., Shelby, Z., Arkko, J., Keranen, A., and C. 311 Bormann, "Sensor Measurement Lists (SenML)", RFC 8428, 312 DOI 10.17487/RFC8428, August 2018, 313 . 315 8.2. Informative References 317 [BIPM] Bureau International des Poids es Mesures, "The 318 International System of Units (SI), 9th edition", 2019, 319 . 322 [RS] Rohde&Schwarz, "Standard-compliant usage of quantities, 323 units and equations", version 4.0, November 2016, 324 . 328 Author's Address 329 Carsten Bormann 330 Universitaet Bremen TZI 331 Postfach 330440 332 Bremen D-28359 333 Germany 335 Phone: +49-421-218-63921 336 Email: cabo@tzi.org