rfc9100.original | rfc9100.txt | |||
---|---|---|---|---|
CoRE C. Bormann | Internet Engineering Task Force (IETF) C. Bormann | |||
Internet-Draft Universitaet Bremen TZI | Request for Comments: 9100 Universität Bremen TZI | |||
Updates: 8428 (if approved) 4 June 2021 | Updates: 8428 August 2021 | |||
Intended status: Standards Track | Category: Standards Track | |||
Expires: 6 December 2021 | ISSN: 2070-1721 | |||
SenML Features and Versions | Sensor Measurement Lists (SenML) Features and Versions | |||
draft-ietf-core-senml-versions-05 | ||||
Abstract | Abstract | |||
This short document updates RFC 8428, Sensor Measurement Lists | This short document updates RFC 8428, "Sensor Measurement Lists | |||
(SenML), by specifying the use of independently selectable "SenML | (SenML)", by specifying the use of independently selectable "SenML | |||
Features" and mapping them to SenML version numbers. | Features" and mapping them to SenML version numbers. | |||
Discussion Venues | ||||
This note is to be removed before publishing as an RFC. | ||||
Discussion of this document takes place on the CORE Working Group | ||||
mailing list (core@ietf.org), which is archived at | ||||
https://mailarchive.ietf.org/arch/browse/core/ | ||||
(https://mailarchive.ietf.org/arch/browse/core/). | ||||
Source for this draft and an issue tracker can be found at | ||||
https://github.com/core-wg/senml-versions (https://github.com/core- | ||||
wg/senml-versions). | ||||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
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 | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on 6 December 2021. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc9100. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
extracted from this document must include Simplified BSD License text | to this document. Code Components extracted from this document must | |||
as described in Section 4.e of the Trust Legal Provisions and are | include Simplified BSD License text as described in Section 4.e of | |||
provided without warranty as described in the Simplified BSD License. | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction | |||
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Terminology | |||
2. Feature Codes and the Version number . . . . . . . . . . . . 3 | 2. Feature Codes and the Version Number | |||
2.1. Discussion . . . . . . . . . . . . . . . . . . . . . . . 4 | 2.1. Discussion | |||
2.2. Updating RFC8428 . . . . . . . . . . . . . . . . . . . . 4 | 2.2. Updating Section 4.4 of RFC 8428 | |||
3. Features: Reserved0, Reserved1, Reserved2, Reserved3 . . . . 5 | 3. Features: Reserved0, Reserved1, Reserved2, Reserved3 | |||
4. Feature: Secondary Units . . . . . . . . . . . . . . . . . . 5 | 4. Feature: Secondary Units | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . 5 | 5. Security Considerations | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 | 6. IANA Considerations | |||
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 7. References | |||
7.1. Normative References . . . . . . . . . . . . . . . . . . 7 | 7.1. Normative References | |||
7.2. Informative References . . . . . . . . . . . . . . . . . 7 | 7.2. Informative References | |||
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 8 | Acknowledgements | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 8 | Author's Address | |||
1. Introduction | 1. Introduction | |||
The Sensor Measurement Lists (SenML) specification [RFC8428] provides | The Sensor Measurement Lists (SenML) specification [RFC8428] provides | |||
a version number that is initially set to 10, without further | a version number that is initially set to 10, without further | |||
specification on the way to make use of different version numbers. | specification on the way to make use of different version numbers. | |||
The traditional idea of using a version number to indicate the | The common idea of using a version number to indicate the evolution | |||
evolution of an interchange format generally assumes an incremental | of an interchange format generally assumes an incremental progression | |||
progression of the version number as the format accretes additional | of the version number as the format accretes additional features over | |||
features over time. However, in the case of SenML, it is expected | time. However, in the case of SenML, it is expected that the likely | |||
that the likely evolution will be for independently selectable | evolution will be for independently selectable capability _features_ | |||
capability _features_ to be added to the basic specification that is | to be added to the basic specification that is indicated by version | |||
indicated by version number 10. To support this model, this document | number 10. To support this model, this document repurposes the | |||
repurposes the single version number accompanying a pack of SenML | single version number accompanying a pack of SenML records so that it | |||
records so that it is interpreted as a bitmap that indicates the set | is interpreted as a bitmap that indicates the set of features a | |||
of features a recipient would need to have implemented to be able to | recipient would need to have implemented to be able to process the | |||
process the pack. | pack. | |||
This short document specifies the use of SenML Features and maps them | This short document specifies the use of SenML Features and maps them | |||
to SenML version number space, updating [RFC8428]. | to SenML version number space, updating [RFC8428]. | |||
1.1. Terminology | 1.1. Terminology | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in | "OPTIONAL" in this document are to be interpreted as described in | |||
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
Where bit arithmetic is explained, this document uses the notation | Where bit arithmetic is explained, this document uses the notation | |||
familiar from the programming language C [C], including the "0b" | familiar from the programming language C [C], including the "0b" | |||
prefix for binary numbers defined in Section 5.13.2 of the C++ | prefix for binary numbers defined in Section 5.13.2 of the C++ | |||
language standard [Cplusplus], except that superscript notation | language standard [CPLUSPLUS], except that superscript notation | |||
(example for two to the power of 64: 2^64) denotes exponentiation; in | (example for two to the power of 64: 2^64) denotes exponentiation; in | |||
the plain text version of this draft, superscript notation is | the plain text version of this document, superscript notation is | |||
rendered in paragraph text by C-incompatible surrogate notation as | rendered in paragraph text by C-incompatible surrogate notation as | |||
seen in this example, and in display math by a crude plaintext | seen in this example, and in display math by a crude plain text | |||
representation, as is the sum (Sigma) sign. | representation, as is the sum (Sigma) sign. | |||
2. Feature Codes and the Version number | 2. Feature Codes and the Version Number | |||
The present specification defines "SenML Features", each identified | The present specification defines "SenML Features", each identified | |||
by a "feature name" (a text string) and a "feature code" (an unsigned | by a "feature name" (a text string) and a "feature code" (an unsigned | |||
integer less than 53). | integer less than 53). | |||
The specific version of a SenML pack is composed of a set of | The specific version of a SenML pack is composed of a set of | |||
features. The SenML version number ("bver" field) is then a bitmap | features. The SenML version number ("bver" field) is then a bitmap | |||
of these features represented as an unsigned integer, specifically | of these features represented as an unsigned integer, specifically | |||
the sum of, for each feature present, two taken to the power of the | the sum of, for each feature present, two taken to the power of the | |||
feature code of that feature (Figure 1). | feature code of that feature (Figure 1). | |||
__ 52 fc | __ 52 fc | |||
version = \ present(fc) ⋅ 2 | version = \ present(fc) ⋅ 2 | |||
/__ fc = 0 | /__ fc = 0 | |||
Figure 1: Feature bitmap as a sum of feature bits | Figure 1: Feature Bitmap as a Sum (Sigma Symbol) of Feature Bits | |||
where present(fc) is 1 if the feature with the feature code "fc" is | where present(fc) is 1 if the feature with the feature code "fc" is | |||
present, 0 otherwise. (The expression 2^fc can be implemented as "1 | present, 0 otherwise. (The expression 2^fc can be implemented as "1 | |||
<< fc" in C and related languages.) | << fc" in C and related languages.) | |||
RFC editor: Please check that, in the TXT version, no " " crept | ||||
into the above due to xml2rfc bug 641, and remove this paragraph. If | ||||
possible with today's RFCXML, add the Sigma character as a | ||||
parenthesis after "sum" in the caption. | ||||
2.1. Discussion | 2.1. Discussion | |||
Representing features as a bitmap within a number is quite efficient | Representing features as a bitmap within a number is quite efficient | |||
as long as feature codes are sparingly allocated (see also | as long as feature codes are sparingly allocated (see also | |||
Section 6). | Section 6). | |||
Compatibility with the existing SenML version number, 10 decimal | Compatibility with the existing SenML version number, 10 decimal | |||
(0b1010), requires reserving four of the least significant bit | (0b1010), requires reserving four of the least significant bit | |||
positions for the base version as described in Section 3. There is | positions for the base version as described in Section 3. There is | |||
an upper limit to the range of the integer numbers that can be | an upper limit to the range of the integer numbers that can be | |||
represented in all SenML representations: practical JSON limits this | represented in all SenML representations: practical JSON limits this | |||
to 2^53-1 [RFC7493]. This means the feature codes 4 to 52 are | to 2^53-1 [RFC7493]. This means the feature codes 4 to 52 are | |||
available, one of which is taken by the feature defined in Section 4, | available, one of which is taken by the feature defined in Section 4, | |||
leaving 48 for allocation. (The current version 10 (with all other | leaving 48 for allocation. (The current version 10 (with all other | |||
feature codes unset) can be visualized as | feature codes unset) can be visualized as | |||
"0b00000000000000000000000000000000000000000000000001010".) For a | "0b00000000000000000000000000000000000000000000000001010".) For a | |||
lifetime of this scheme of several decades, approximately two feature | lifetime of this scheme of several decades, approximately two feature | |||
codes per year or fewer should be allocated. Note that less | codes per year or fewer should be allocated. Note that less | |||
generally applicable features can always be communicated via fields | generally applicable features can always be communicated via fields | |||
labeled with names that end with the "_" character ("must-understand | labeled with names that end with the "_" character ("must-understand | |||
fields"), see Section 4.4 of [RFC8428].) | fields"). See Section 4.4 of [RFC8428] for details. | |||
Most representations visible to engineers working with SenML will use | Most representations visible to engineers working with SenML will use | |||
decimal numbers, e.g., 26 (0b11010, 0x1a) for a version that adds the | decimal numbers. For instance, 26 (0b11010, 0x1a) denotes a version | |||
"Secondary Units" feature (Section 4). This is slightly unwieldy, | that adds the "Secondary Units" feature (Section 4). This is | |||
but will be quickly memorized in practice. | slightly unwieldy but will be quickly memorized in practice. | |||
As a general observation, ending up over time with dozens of | As a general observation, ending up over time with dozens of | |||
individually selectable optional extensions may lead to too many | individually selectable optional extensions may lead to too many | |||
variants of what is supported by different implementations, reducing | variants of what is supported by different implementations, reducing | |||
interoperability. So, in practice, it is still desirable to batch up | interoperability. So, in practice, it is still desirable to batch up | |||
extensions that are expected to be supported together into a single | extensions that are expected to be supported together into a single | |||
feature bit, leading to a sort of hybrid between completely | feature bit, leading to a sort of hybrid between completely | |||
independent extensions and a linear version scheme. This is also | independent extensions and a linear version scheme. This is also | |||
another reason why a space of 48 remaining feature codes should | another reason why a space of 48 remaining feature codes should | |||
suffice for a while. | suffice for a while. | |||
2.2. Updating Section 4.4 of [RFC8428] | 2.2. Updating Section 4.4 of RFC 8428 | |||
The last paragraph of Section 4.4 of [RFC8428] may be read to give | The last paragraph of Section 4.4 of [RFC8428] may be read to give | |||
the impression that SenML version numbers are totally ordered, i.e., | the impression that SenML version numbers are totally ordered, i.e., | |||
that an implementation that understands version n also always | that an implementation that understands version n also always | |||
understands all versions k < n. If this ever was true for SenML | understands all versions k < n. If this ever was true for SenML | |||
versions before 10, it certainly is no longer true with this | versions before 10, it certainly is no longer true with this | |||
specification. | specification. | |||
Any SenML pack that sets feature bits beyond the first four will lead | Any SenML pack that sets feature bits beyond the first four will lead | |||
to a version number that actually is greater than 10, so the | to a version number that actually is greater than 10, so the | |||
requirement in Section 4.4 of [RFC8428] will prevent false | requirement in Section 4.4 of [RFC8428] will prevent false | |||
interoperability with version 10 implementations. | interoperability with version 10 implementations. | |||
Implementations that do implement feature bits beyond the first four, | Implementations that do implement feature bits beyond the first four, | |||
i.e., versions greater than 10, will instead need to perform a | i.e., versions greater than 10, will instead need to perform a | |||
bitwise comparison of the feature bitmap as described in this | bitwise comparison of the feature bitmap as described in this | |||
specification and ensure that all features indicated are understood | specification and ensure that all features indicated are understood | |||
before using the pack. E.g., an implementation that implements basic | before using the pack. For example, an implementation that | |||
SenML (version number 10) plus only a future feature code 5, will | implements basic SenML (version number 10) plus only a future feature | |||
accept version number 42, but would not be able to work with a pack | code 5 will accept version number 42, but it would not be able to | |||
indicating version number 26 (base specification plus feature code | work with a pack indicating version number 26 (base specification | |||
4). (If the implementation _requires_ feature code 5 without being | plus feature code 4). (If the implementation _requires_ feature code | |||
backwards compatible, it will accept 42, but not 10.) | 5 without being backwards compatible, it will accept 42, but not 10.) | |||
3. Features: Reserved0, Reserved1, Reserved2, Reserved3 | 3. Features: Reserved0, Reserved1, Reserved2, Reserved3 | |||
For SenML Version 10 as described in [RFC8428], the feature codes 0 | For SenML version 10 as described in [RFC8428], the feature codes 0 | |||
to 3 are already in use. Reserved1 (1) and Reserved3 (3) are always | to 3 are already in use. Reserved1 (1) and Reserved3 (3) are always | |||
present and the features Reserved0 (0) and Reserved2 (2) are always | present, and the features Reserved0 (0) and Reserved2 (2) are always | |||
absent, i.e., the four least significant bits set to 0b1010 indicate | absent, i.e., the four least significant bits set to 0b1010 indicate | |||
a version number of 10 if no other feature is in use. These four | a version number of 10 if no other feature is in use. These four | |||
reserved feature codes are not to be used with any more specific | reserved feature codes are not to be used with any more specific | |||
semantics except in a specification that updates the present | semantics except in a specification that updates the present | |||
specification. (Note that Reserved0 and Reserved2 could be used in | specification. (Note that Reserved0 and Reserved2 could be used in | |||
such a specification in a similar way to the way the feature codes 4 | such a specification in a way similar to that of feature codes 4 to | |||
to 52 are in the present specification.) | 52 in the present specification.) | |||
4. Feature: Secondary Units | 4. Feature: Secondary Units | |||
The feature "Secondary Units" (code number 4) indicates that | The feature "Secondary Units" (code number 4) indicates that | |||
secondary unit names [RFC8798] MAY be used in the "u" field of SenML | secondary unit names [RFC8798] MAY be used in the "u" field of SenML | |||
Records, in addition to the primary unit names already allowed by | records in addition to the primary unit names already allowed by | |||
[RFC8428]. | [RFC8428]. | |||
Note that the most basic use of this feature simply sets the SenML | Note that the most basic use of this feature simply sets the SenML | |||
version number to 26 (10 + 2^4). | version number to 26 (10 + 2^4). | |||
5. Security Considerations | 5. Security Considerations | |||
The security considerations of [RFC8428] apply. This specification | The security considerations of [RFC8428] apply. This specification | |||
provides structure to the interpretation of the SenML version number, | provides structure to the interpretation of the SenML version number, | |||
which poses no additional security considerations except for some | which poses no additional security considerations except for some | |||
potential for surprise that version numbers do not simply increase | potential for surprise that version numbers do not simply increase | |||
linearly. | linearly. | |||
6. IANA Considerations | 6. IANA Considerations | |||
IANA is requested to create a new subregistry "SenML features" within | IANA has created a new "SenML Features" subregistry within the | |||
the SenML registry [IANA.senml], with the registration policy | "Sensor Measurement Lists (SenML)" registry [IANA.SENML] with the | |||
"specification required" [RFC8126] and the columns: | registration policy "Specification Required" [RFC8126] and the | |||
columns: | ||||
* Feature code (an unsigned integer less than 53) | * Feature Code (an unsigned integer less than 53) | |||
* Feature name (text) | * Feature Name (text) | |||
* Specification | * Reference | |||
To facilitate the use of feature names in programs, the designated | To facilitate the use of feature names in programs, the designated | |||
expert is requested to ensure that feature names are usable as | expert is requested to ensure that feature names are usable as | |||
identifiers in most programming languages, after lower-casing the | identifiers in most programming languages, after lowercasing the | |||
feature name in the registry entry and replacing whitespace with | feature name in the registry entry and replacing blank space with | |||
underscores or hyphens, and that they also are distinct in this form. | underscores or hyphens, and that they also are distinct in this form. | |||
The initial content of this registry is as follows: | The initial content of this registry is as follows: | |||
+==============+=================+====================+ | +==============+=================+=====================+ | |||
| Feature code | Feature name | Specification | | | Feature Code | Feature Name | Reference | | |||
+==============+=================+====================+ | +==============+=================+=====================+ | |||
| 0 | Reserved0 | RFCthis | | | 0 | Reserved0 | [RFC9100] | | |||
+--------------+-----------------+--------------------+ | +--------------+-----------------+---------------------+ | |||
| 1 | Reserved1 | RFCthis | | | 1 | Reserved1 | [RFC9100] | | |||
+--------------+-----------------+--------------------+ | +--------------+-----------------+---------------------+ | |||
| 2 | Reserved2 | RFCthis | | | 2 | Reserved2 | [RFC9100] | | |||
+--------------+-----------------+--------------------+ | +--------------+-----------------+---------------------+ | |||
| 3 | Reserved3 | RFCthis | | | 3 | Reserved3 | [RFC9100] | | |||
+--------------+-----------------+--------------------+ | +--------------+-----------------+---------------------+ | |||
| 4 | Secondary Units | RFCthis, [RFC8798] | | | 4 | Secondary Units | [RFC9100] [RFC8798] | | |||
+--------------+-----------------+--------------------+ | +--------------+-----------------+---------------------+ | |||
Table 1: Features defined for SenML at the time of | Table 1: Features Defined for SenML at the Time of | |||
writing | Writing | |||
As the number of features that can be registered has a hard limit (48 | As the number of features that can be registered has a hard limit (48 | |||
codes left at the time of writing), the designated expert is | codes left at the time of writing), the designated expert is | |||
specifically instructed to maintain a frugal regime of code point | specifically instructed to maintain a frugal regime of code point | |||
allocation, keeping code points available for SenML Features that are | allocation, keeping code points available for SenML Features that are | |||
likely to be useful for non-trivial subsets of the SenML ecosystem. | likely to be useful for non-trivial subsets of the SenML ecosystem. | |||
Quantitatively, the expert could for instance steer the allocation to | Quantitatively, the expert could, for instance, steer the allocation | |||
a target of not allocating more than 10 % of the remaining set per | to a target of not allocating more than 10% of the remaining set per | |||
year. | year. | |||
Where the specification of the feature code is provided in a document | Where the specification of the feature code is provided in a document | |||
that is separate from the specification of the feature itself (as | that is separate from the specification of the feature itself (as | |||
with feature code 4 above), both specifications should be listed. | with feature code 4 above), both specifications should be listed. | |||
7. References | 7. References | |||
7.1. Normative References | 7.1. Normative References | |||
[C] International Organization for Standardization, | [C] International Organization for Standardization, | |||
"Information technology — Programming languages — C", ISO/ | "Information technology - Programming languages - C", ISO/ | |||
IEC 9899:2018, Fourth Edition, June 2018, | IEC 9899:2018, Fourth Edition, June 2018, | |||
<https://www.iso.org/standard/74528.html>. | <https://www.iso.org/standard/74528.html>. | |||
[Cplusplus] | [CPLUSPLUS] | |||
International Organization for Standardization, | International Organization for Standardization, | |||
"Programming languages — C++", ISO/IEC 14882:2020, Sixth | "Programming languages - C++", ISO/IEC 14882:2020, Sixth | |||
Edition, December 2020, | Edition, December 2020, | |||
<https://www.iso.org/standard/79358.html>. | <https://www.iso.org/standard/79358.html>. | |||
[IANA.senml] | [IANA.SENML] | |||
IANA, "Sensor Measurement Lists (SenML)", | IANA, "Sensor Measurement Lists (SenML)", | |||
<http://www.iana.org/assignments/senml>. | <https://www.iana.org/assignments/senml>. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | |||
Writing an IANA Considerations Section in RFCs", BCP 26, | Writing an IANA Considerations Section in RFCs", BCP 26, | |||
RFC 8126, DOI 10.17487/RFC8126, June 2017, | RFC 8126, DOI 10.17487/RFC8126, June 2017, | |||
<https://www.rfc-editor.org/info/rfc8126>. | <https://www.rfc-editor.org/info/rfc8126>. | |||
skipping to change at page 8, line 13 ¶ | skipping to change at line 319 ¶ | |||
7.2. Informative References | 7.2. Informative References | |||
[RFC7493] Bray, T., Ed., "The I-JSON Message Format", RFC 7493, | [RFC7493] Bray, T., Ed., "The I-JSON Message Format", RFC 7493, | |||
DOI 10.17487/RFC7493, March 2015, | DOI 10.17487/RFC7493, March 2015, | |||
<https://www.rfc-editor.org/info/rfc7493>. | <https://www.rfc-editor.org/info/rfc7493>. | |||
Acknowledgements | Acknowledgements | |||
Ari Keränen proposed to use the version number as a bitmap and | Ari Keränen proposed to use the version number as a bitmap and | |||
provided further input on this specification. Jaime Jiménez helped | provided further input on this specification. Jaime Jiménez helped | |||
clarify the document by providing a review. Elwyn Davies provided a | clarify the document by providing a review and acted as Document | |||
detailed GENART review, with directly implementable text suggestions | Shepherd. Elwyn Davies provided a detailed GENART review with | |||
that now form part of this specification. Rob Wilton supplied | directly implementable text suggestions that now form part of this | |||
comments one of which became the last paragraph of Section 2.1; Éric | specification. Rob Wilton supplied comments, one of which became the | |||
Vyncke helped with Section 2. Additional thanks go to the other IESG | last paragraph of Section 2.1; Éric Vyncke helped with Section 2. | |||
reviewers. | Additional thanks go to the other IESG reviewers. | |||
Author's Address | Author's Address | |||
Carsten Bormann | Carsten Bormann | |||
Universitaet Bremen TZI | Universität Bremen TZI | |||
Postfach 330440 | Postfach 330440 | |||
D-28359 Bremen | D-28359 Bremen | |||
Germany | Germany | |||
Phone: +49-421-218-63921 | Phone: +49-421-218-63921 | |||
Email: cabo@tzi.org | Email: cabo@tzi.org | |||
End of changes. 40 change blocks. | ||||
131 lines changed or deleted | 111 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |