Movatterモバイル変換


[0]ホーム

URL:


RFC 8798Additional Units for SenMLJune 2020
BormannStandards Track[Page]
Stream:
Internet Engineering Task Force (IETF)
RFC:
8798
Category:
Standards Track
Published:
ISSN:
2070-1721
Author:
C. Bormann
Universität Bremen TZI

RFC 8798

Additional Units for Sensor Measurement Lists (SenML)

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.

Status of This Memo

This is an Internet Standards Track document.

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained athttps://www.rfc-editor.org/info/rfc8798.

Copyright Notice

Copyright (c) 2020 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 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

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 thatcannot be in SenML's main registry, as they are derived by lineartransformation from units already in that registry.Although SenML version 10[RFC8428] does not provide for the direct useof these secondary units, future support is intended via the useof SenML extension mechanisms, one of which is proposed in[SENML-VERSIONS].

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.

2.New Primary Units

IANA has assigned new units in the "SenML Units"subregistry of the "Sensor Measurement Lists (SenML)" registry[IANA.SENML] (as defined in[RFC8428]):

Table 1:New Units Registered for SenML
SymbolDescriptionTypeReference
BByte (information content)floatRFC 8798
VAvolt-ampere (Apparent Power)floatRFC 8798
VAsvolt-ampere second (Apparent Energy)floatRFC 8798
varvolt-ampere reactive (Reactive Power)floatRFC 8798
varsvolt-ampere-reactive second (Reactive Energy)floatRFC 8798
J/mjoule per meter (Energy per distance)floatRFC 8798
kg/m3kilogram per cubic meter (mass density, mass concentration)floatRFC 8798
degdegree (angle)*floatRFC 8798

2.1.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:

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 used for dimensionless quantities, 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 widespread 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.
The Volt-Ampere:
[IEC-80000-6] defines the volt ampere (VA) (item 6-57.a) as a unit for apparent power; items 6-59.a, 6-60.a, and 6-61.a also use the unit for complex, reactive, and non-active power.
The Volt-Ampere Reactive:
[IEC-80000-6] item 6-60.b defines the volt-ampere reactive (var) as an alternative (and fully equivalent) unit to VA specifically for reactive power (with the primary unit VA); it has become clear that there is strong interest in using this unit specifically for the imaginary content of complex power, i.e., reactive power[IEEE-1459].

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".

The unit "degree" 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").

3.New Registry for Secondary Units

IANA has created a "Secondary Units" subregistry in the "Sensor Measurement Lists (SenML)" registry[IANA.SENML] defined in[RFC8428].

The registry has six columns:

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" subregistry is provided inTable 2:

Table 2:Secondary Units Registered for SenML
Secondary UnitDescriptionSenML UnitScaleOffsetReference
msmilliseconds1/10000RFC 8798
minminutes600RFC 8798
hhours36000RFC 8798
MHzmegahertzHz10000000RFC 8798
kWkilowattW10000RFC 8798
kVAkilovolt-ampereVA10000RFC 8798
kvarkilovarvar10000RFC 8798
Ahampere-hourC36000RFC 8798
Whwatt-hourJ36000RFC 8798
kWhkilowatt-hourJ36000000RFC 8798
varhvar-hourvars36000RFC 8798
kvarhkilovar-hourvars36000000RFC 8798
kVAhkilovolt-ampere-hourVAs36000000RFC 8798
Wh/kmwatt-hour per kilometerJ/m3.60RFC 8798
KiBkibibyteB10240RFC 8798
GBgigabyteB1e90RFC 8798
Mbit/smegabit per secondbit/s10000000RFC 8798
B/sbyte per secondbit/s80RFC 8798
MB/smegabyte per secondbit/s80000000RFC 8798
mVmillivoltV1/10000RFC 8798
mAmilliampereA1/10000RFC 8798
dBmdecibel (milliwatt)dBW1-30RFC 8798
ug/m3microgram per cubic meterkg/m31e-90RFC 8798
mm/hmillimeter per hourm/s1/36000000RFC 8798
m/hmeter per hourm/s1/36000RFC 8798
ppmparts per million/1e-60RFC 8798
/100percent (Note 1)/1/1000RFC 8798
/1000permille/1/10000RFC 8798
hPahectopascalPa1000RFC 8798
mmmillimeterm1/10000RFC 8798
cmcentimeterm1/1000RFC 8798
kmkilometerm10000RFC 8798
km/hkilometer per hourm/s1/3.60RFC 8798

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

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

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 rules 4, 5, and 8. Note that rule 7 limits the use of what could be understood as prefixes on their own, not the use of prefixes inside secondary unit names. Guidelines to the difference between units (which can go into the registry) and quantities (which cannot) are widely available; see, for instance,[RS] and[BIPM].

As of SenML version 10[RFC8428], SenML packs are limited tousing primary units in "u" fields.The use of primary units enables direct comparison of measurementsfrom different sources. Also, it facilitates implementations thattrigger on the presence of a quantity in a certain unit, without theneed to track any additional secondary units that may be registeredfor this quantity.

Where the benefits of directly using a secondary unit in a SenML packoutweigh the above considerations,the use of secondary units in "u" fieldsMAY be enabled by indicating a new SenMLversion that specifically allows this and/or by using a field with a label name that ends with the "_"character ("must-understand" field) whose definition specifically allows this.The definition of these versions and fields is outside the scope ofthe present specification; one such definition is proposed in[SENML-VERSIONS].

4.Operational Considerations

The "Secondary Units" subregistry is expected to grow at a faster pace thanthe subregistry of primary unit names. It also is amenable to automaticinterpretation, by making use of the scale and offset columns.

Implementers may be tempted to equip each instance of their systemswith code to download new versions of the registry from IANAfrequently in order to be able to make use of newly defined secondaryunit names. This can create high load at IANA and a potential singlepoint of failure. Instead of pulling the registry in each individualinstance of the code, the software update mechanism (or a similarmechanism that leads to less frequent IANA visits)SHOULD be used to disseminateupdated units registries obtained from IANA towards the instances viacommon repositories.

5.Security Considerations

The security considerations of[RFC8428] apply.

The introduction of new measurement units poses no additional securityconsiderations except a potential for additionalconfusion about the proper unit to use and the risk that animplementation based on the assumption described in the penultimateparagraph ofSection 3 no longer works properly.However, an implementation processing a pack while making use ofsecondary units is guaranteed to have been developed with an awarenessof the risks of having multiple units available for the same logicaltype.In any case, the existing risk of an existing SenML implementation notunderstanding a unit that was not in the initial registry contentprovided in[RFC8428] is unchanged, and implementations are warnedproperly about the potential use of secondary units by the need for amust-understand field or an updated version field.

6.IANA Considerations

SeeSection 2 andSection 3.

7.References

7.1.Normative References

[IANA.SENML]
IANA,"Sensor Measurement Lists (SenML)",<https://www.iana.org/assignments/senml>.
[IEC-80000-13]
IEC,"Quantities and units - Part 13: Information science and technology",Edition 1.0,IEC 80000-13,.
[IEC-80000-6]
IEC,"Quantities and units - Part 6: Electromagnetism",Edition 1.0,IEC 80000-6,.
[IEEE-1459]
IEEE,"IEEE Standard Definitions for the Measurement of Electric Power Quantities Under Sinusoidal, Nonsinusoidal, Balanced, or Unbalanced Conditions",IEEE Std 1459-2010,DOI 10.1109/IEEESTD.2010.5439063,,<https://doi.org/10.1109/IEEESTD.2010.5439063>.
[RFC2119]
Bradner, S.,"Key words for use in RFCs to Indicate Requirement Levels",BCP 14,RFC 2119,DOI 10.17487/RFC2119,,<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,,<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,,<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,,<https://www.rfc-editor.org/info/rfc8428>.

7.2.Informative References

[BIPM]
Bureau International des Poids et Mesures,"The International System of Units (SI)",9th edition,version 1.06,,<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 5.0,,<https://scdn.rohde-schwarz.com/ur/pws/dl_downloads/dl_common_library/dl_brochures_and_datasheets/pdf_1/Standard-compliant_usage_of_quantities_units_and_equations_bro_en_5214-5061-62_v0500.pdf>.
[SENML-VERSIONS]
Bormann, C.,"SenML Features and Versions",Work in Progress,Internet-Draft, draft-ietf-core-senml-versions-00,,<https://tools.ietf.org/html/draft-ietf-core-senml-versions-00>.

Acknowledgements

Ari Keränen pointed out the need for additional units in SenML.Comments provided by him as well as byThomas Fossati,Joaquin Prado,Jaime Jiménez,Benjamin Kaduk, andRob Wilton helped improve the document.

Author's Address

Carsten Bormann
Universität Bremen TZI
Postfach 330440
D-28359Bremen
Germany
Phone:+49-421-218-63921
Email:cabo@tzi.org

[8]ページ先頭

©2009-2026 Movatter.jp