rfc9581.original.xml | rfc9581.xml | |||
---|---|---|---|---|
<?xml version='1.0' encoding='utf-8'?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<!DOCTYPE rfc [ | <!DOCTYPE rfc [ | |||
<!ENTITY nbsp " "> | <!ENTITY nbsp " "> | |||
<!ENTITY zwsp "​"> | <!ENTITY zwsp "​"> | |||
<!ENTITY nbhy "‑"> | <!ENTITY nbhy "‑"> | |||
<!ENTITY wj "⁠"> | <!ENTITY wj "⁠"> | |||
]> | ]> | |||
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt"?> | ||||
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.2 (Ruby 3.2.2 ) --> | <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.2 (Ruby 3.2.2 ) --> | |||
<?rfc compact="yes"?> | ||||
<?rfc comments="yes"?> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" category=" | |||
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" consensus="true" | std" consensus="true" docName="draft-ietf-cbor-time-tag-12" number="9581" ipr="t | |||
docName="draft-ietf-cbor-time-tag-12" ipr="trust200902" sortRefs="true" submissi | rust200902" sortRefs="true" symRefs="true" tocInclude="true" updates="" obsolete | |||
onType="IETF" symRefs="true" tocInclude="true" version="3"> | s="" xml:lang="en" version="3"> | |||
<!-- xml2rfc v2v3 conversion 3.18.1 --> | <!-- xml2rfc v2v3 conversion 3.18.1 --> | |||
<front> | <front> | |||
<title abbrev="CBOR tag for extended time">Concise Binary Object Representat | <title abbrev="CBOR Tag for Extended Time">Concise Binary Object Representat | |||
ion (CBOR) Tags for Time, Duration, and Period</title> | ion (CBOR) Tags for Time, Duration, and Period</title> | |||
<seriesInfo name="Internet-Draft" value="draft-ietf-cbor-time-tag-12"/> | <seriesInfo name="RFC" value="9581"/> | |||
<author fullname="Carsten Bormann" initials="C." surname="Bormann"> | <author fullname="Carsten Bormann" initials="C." surname="Bormann"> | |||
<organization>Universität Bremen TZI</organization> | <organization>Universität Bremen TZI</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>Postfach 330440</street> | <street>Postfach 330440</street> | |||
<city>Bremen</city> | <city>Bremen</city> | |||
<code>D-28359</code> | <code>D-28359</code> | |||
<country>Germany</country> | <country>Germany</country> | |||
</postal> | </postal> | |||
<phone>+49-421-218-63921</phone> | <phone>+49-421-218-63921</phone> | |||
skipping to change at line 38 ¶ | skipping to change at line 38 ¶ | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Ben Gamari" initials="B." surname="Gamari"> | <author fullname="Ben Gamari" initials="B." surname="Gamari"> | |||
<organization>Well-Typed</organization> | <organization>Well-Typed</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>117 Middle Rd.</street> | <street>117 Middle Rd.</street> | |||
<city>Portsmouth</city> | <city>Portsmouth</city> | |||
<region>NH</region> | <region>NH</region> | |||
<code>03801</code> | <code>03801</code> | |||
<country>United States</country> | <country>United States of America</country> | |||
</postal> | </postal> | |||
<email>ben@well-typed.com</email> | <email>ben@well-typed.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Henk Birkholz" initials="H." surname="Birkholz"> | <author fullname="Henk Birkholz" initials="H." surname="Birkholz"> | |||
<organization abbrev="Fraunhofer SIT">Fraunhofer Institute for Secure Info rmation Technology</organization> | <organization abbrev="Fraunhofer SIT">Fraunhofer Institute for Secure Info rmation Technology</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>Rheinstrasse 75</street> | <street>Rheinstrasse 75</street> | |||
<city>Darmstadt</city> | <city>Darmstadt</city> | |||
<code>64295</code> | <code>64295</code> | |||
<country>Germany</country> | <country>Germany</country> | |||
</postal> | </postal> | |||
<email>henk.birkholz@sit.fraunhofer.de</email> | <email>henk.birkholz@ietf.contact</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<date year="2023"/> | <date year="2024" month="August"/> | |||
<keyword>Internet-Draft</keyword> | <area>art</area> | |||
<workgroup>cbor</workgroup> | ||||
<keyword>Point in time</keyword> | ||||
<keyword>Duration</keyword> | ||||
<keyword>Period in time</keyword> | ||||
<keyword>Clock accuracy</keyword> | ||||
<keyword>Timescale</keyword> | ||||
<keyword>TAI</keyword> | ||||
<keyword>UTC</keyword> | ||||
<keyword>NTP</keyword> | ||||
<keyword>Network Time Protocol</keyword> | ||||
<keyword>PTP</keyword> | ||||
<keyword>Precision Time Protocol</keyword> | ||||
<abstract> | <abstract> | |||
<?line 167?> | <?line 167?> | |||
<t>The Concise Binary Object Representation (CBOR, RFC 8949) is a data | <t>The Concise Binary Object Representation (CBOR, RFC 8949) is a data | |||
format whose design goals include the possibility of extremely small | format whose design goals include the possibility of extremely small | |||
code size, fairly small message size, and extensibility without the | code size, fairly small message size, and extensibility without the | |||
need for version negotiation.</t> | need for version negotiation.</t> | |||
<t>In CBOR, one point of extensibility is the definition of CBOR tags. | <t>In CBOR, one point of extensibility is the definition of CBOR tags. | |||
RFC 8949 defines two tags for time: CBOR tag 0 (RFC3339 time as a string) and ta g | RFC 8949 defines two tags for time: CBOR tag 0 (RFC 3339 time as a string) and t ag | |||
1 (POSIX time as int or float). Since then, additional requirements have | 1 (POSIX time as int or float). Since then, additional requirements have | |||
become known. The present document defines a CBOR tag for time that | become known. The present document defines a CBOR tag for time that | |||
allows a more elaborate representation of time, as well as related | allows a more elaborate representation of time, as well as related | |||
CBOR tags for duration and time period. This document is | CBOR tags for duration and time period. This document is | |||
intended as the reference document for the IANA registration of the | intended as the reference document for the IANA registration of the | |||
CBOR tags defined.</t> | CBOR tags defined.</t> | |||
<t><cref anchor="status">(This cref will be removed by the RFC editor:)<br | ||||
/> | ||||
The present revision (–12) addresses the IESG reviews.</cref></t> | ||||
</abstract> | </abstract> | |||
<note removeInRFC="true"> | ||||
<name>About This Document</name> | ||||
<t> | ||||
Status information for this document may be found at <eref target="https | ||||
://datatracker.ietf.org/doc/draft-ietf-cbor-time-tag/"/>. | ||||
</t> | ||||
<t> | ||||
Discussion of this document takes place on the | ||||
CBOR Working Group mailing list (<eref target="mailto:cbor@ietf.org"/>), | ||||
which is archived at <eref target="https://mailarchive.ietf.org/arch/bro | ||||
wse/cbor/"/>. | ||||
Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/cbor/"/ | ||||
>. | ||||
</t> | ||||
<t>Source for this draft and an issue tracker can be found at | ||||
<eref target="https://github.com/cbor-wg/time-tag"/>.</t> | ||||
</note> | ||||
</front> | </front> | |||
<middle> | <middle> | |||
<?line 191?> | <?line 191?> | |||
<section anchor="intro"> | <section anchor="intro"> | |||
<name>Introduction</name> | <name>Introduction</name> | |||
<t>The Concise Binary Object Representation (CBOR, <xref target="RFC8949"/ >) provides | <t>The Concise Binary Object Representation (CBOR) <xref target="RFC8949"/ > provides | |||
for the interchange of structured data without a requirement for a | for the interchange of structured data without a requirement for a | |||
pre-agreed schema. | pre-agreed schema. | |||
RFC 8949 defines a basic set of data types, as well as a tagging | RFC 8949 defines a basic set of data types, as well as a tagging | |||
mechanism that enables extending the set of data types supported via | mechanism that enables extending the set of data types supported via | |||
an IANA registry for CBOR tags (<xref section="9.2" sectionFormat="of" target="R | an IANA registry for CBOR tags (see <xref target="IANA.cbor-tags"/> and <xref se | |||
FC8949"/>, <xref target="IANA.cbor-tags"/>).</t> | ction="9.2" sectionFormat="of" target="RFC8949"/>).</t> | |||
<t>RFC 8949 defines two tags for time: CBOR tag 0 (RFC3339 time as a strin | <t>RFC 8949 defines two tags for time: CBOR tag 0 (<xref target="RFC3339"/ | |||
g) and tag | > time as a string) and tag | |||
1 (POSIX time as int or float). Since then, additional requirements have | 1 (POSIX time as int or float). Since then, additional requirements have | |||
become known. The present document defines a CBOR tag for time that | become known. The present document defines a CBOR tag for time that | |||
allows a more elaborate representation of time, as well as related | allows a more elaborate representation of time, as well as related | |||
CBOR tags for duration and time period. This document is | CBOR tags for durations and time periods. This document is | |||
intended as the reference document for the IANA registration of the | intended as the reference document for the IANA registration of the | |||
CBOR tags defined.</t> | CBOR tags defined.</t> | |||
<section anchor="terms"> | <section anchor="terms"> | |||
<name>Terminology</name> | <name>Terminology</name> | |||
<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp | <t> | |||
14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", | |||
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECO | "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14> | |||
MMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | ", | |||
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be i | "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", | |||
nterpreted as | "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and | "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | |||
only when, they | be | |||
appear in all capitals, as shown here.</t> | interpreted as described in BCP 14 <xref target="RFC2119"/> <xref | |||
target="RFC8174"/> when, and only when, they appear in all capitals, as | ||||
shown here. | ||||
</t> | ||||
<?line -18?> | <?line -18?> | |||
<t>The term "byte" is used in its now customary sense as a synonym for | <t>The term "byte" is used in its now customary sense as a synonym for | |||
"octet".</t> | "octet".</t> | |||
<t>Superscript notation denotes exponentiation. For example, 2 to the | <t>Superscript notation denotes exponentiation. For example, 2 to the | |||
power of 64 is notated: 2<sup>64</sup>. In the plain-text rendition | power of 64 is notated: 2<sup>64</sup>. In the plain-text rendition | |||
of this specification, superscript notation is not available and | of this specification, superscript notation is not available and | |||
exponentiation therefore is rendered by the surrogate notation seen | exponentiation is therefore rendered by the surrogate notation seen | |||
here in the plain-text rendition.</t> | here in the plain-text rendition.</t> | |||
<t>CBOR diagnostic notation is defined in <xref section="8" sectionForma t="of" target="RFC8949"/> and | <t>CBOR diagnostic notation is defined in <xref section="8" sectionForma t="of" target="RFC8949"/> and | |||
<xref section="G" sectionFormat="of" target="RFC8610"/>. | <xref section="G" sectionFormat="of" target="RFC8610"/>. | |||
A machine-processable model of the data structures defined in this | A machine-processable model of the data structures defined in this | |||
specification is provided throughout the text using the Concise Data | specification is provided throughout the text using the Concise Data | |||
Definition Language, CDDL <xref target="RFC8610"/>; <xref target="collected-cddl "/> provides the | Definition Language (CDDL) <xref target="RFC8610"/>; <xref target="collected-cdd l"/> provides the | |||
collected model information.</t> | collected model information.</t> | |||
<t>Several time-related terms such as UTC and TAI are discussed in | <t>Several time-related terms, such as UTC and International Atomic Time | |||
<xref target="IXDTF"/>, which may be a useful companion document beyond its dire | (TAI), are discussed in | |||
ct | <xref target="RFC9557"/>, which may be a useful companion document beyond its di | |||
rect | ||||
use in Sections <xref format="counter" target="tzh"/> and <xref format="counter" target="suff"/>.</t> | use in Sections <xref format="counter" target="tzh"/> and <xref format="counter" target="suff"/>.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="objectives"> | <section anchor="objectives"> | |||
<name>Objectives</name> | <name>Objectives</name> | |||
<t>For the time tag, | <t>For the time tag, | |||
the present specification addresses the following objectives that go | the present specification addresses the following objectives that go | |||
beyond the original tags 0 and 1 (defined in Sections <xref section="3.4.1" sect ionFormat="bare" target="RFC8949"/> and <xref section="3.4.2" sectionFormat="bar e" target="RFC8949"/> of <xref target="RFC8949"/>):</t> | beyond the original tags 0 and 1 (defined in Sections <xref section="3.4.1" sect ionFormat="bare" target="RFC8949"/> and <xref section="3.4.2" sectionFormat="bar e" target="RFC8949"/> of <xref target="RFC8949"/>):</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li> | <li> | |||
<t>Additional resolution for epoch-based time (as in tag 1). CBOR tag | <t>Additional resolution for epoch-based time (as in tag 1). CBOR tag | |||
1 only provides for integer and up to binary64 floating point | 1 only provides for representation of time as an integer and as up to a binary64 | |||
representation of times, limiting resolution to approximately | floating-point value <xref target="IEEE754"/>, which limits the resolution to a | |||
microseconds at the time of writing (and progressively becoming | pproximately | |||
microseconds at the time of writing (progressively becoming | ||||
worse over time).</t> | worse over time).</t> | |||
</li> | </li> | |||
<li> | <li> | |||
<t>Indication of timescale. Tags 0 and 1 are defined for UTC; however , some | <t>Indication of timescale. Tags 0 and 1 are defined for UTC; however , some | |||
interchanges are better performed on TAI. Other timescales may be | interchanges are better performed on TAI. Other timescales may be | |||
registered once they become relevant (e.g., one of the proposed | registered once they become relevant (e.g., one of the proposed | |||
successors to UTC that might no longer use leap seconds, or a | successors to UTC that might no longer use leap seconds or a | |||
scale based on smeared leap seconds).</t> | scale based on smeared leap seconds).</t> | |||
</li> | </li> | |||
</ul> | </ul> | |||
<t>By incorporating a way to transport <xref target="IXDTF"/> suffix infor | ||||
mation (<xref target="tzh"/>, | <t>By incorporating a way to transport <xref target="RFC9557"/> suffix inf | |||
<xref target="suff"/>), additional indications can be provided of intents about | ormation (see Sections <xref target="tzh" format="counter"/> and | |||
the | <xref target="suff" format="counter"/>), additional indications of intents about | |||
interpretation of the time given, in particular also for instances of | the | |||
interpretation of the time given can be provided; in particular, for instances o | ||||
f | ||||
time that, at the time they are being described, are in the future. | time that, at the time they are being described, are in the future. | |||
Intents might include information about time zones, daylight savings | Intents might include information about time zones, daylight saving | |||
times, preferred calendar representations, etc.</t> | times, preferred calendar representations, etc.</t> | |||
<t>Semantics not covered by this document can be added by registering | <t>Semantics not covered by this document can be added by registering | |||
additional map keys for the map that is the content of the tag (see | additional map keys for the map that is the content of the tag (see | |||
<tt>etime-detailed</tt> in <xref target="tag-1001"/>), | <tt>etime-detailed</tt> in <xref target="tag-1001"/>), | |||
the specification for | the specification for | |||
which is referenced by the registry entry (see <xref target="time-format"/>).</t > | which is referenced by the registry entry (see <xref target="time-format"/>).</t > | |||
<t>For example, map keys could be registered for direct representations | <t>For example, map keys could be registered for direct representations | |||
of natural platform time formats. Some platforms use epoch-based | of natural platform time formats. Some platforms use epoch-based | |||
time formats that require some computation to convert them into the | time formats that require some computation to convert them into the | |||
representations allowed by tag 1; these computations can also lose | representations allowed by tag 1; these computations can also lose | |||
precision and cause ambiguities. (The present specification does | precision and cause ambiguities. (The present specification does | |||
not take a position on whether tag 1 can be "fixed" to include, | not take a position on whether tag 1 can be "fixed" to include, | |||
e.g., Decimal or BigFloat representations. It does define how to | e.g., Decimal or Bigfloat representations. It does define how to | |||
use these representations with the extended time format.)</t> | use these representations with the extended time format.)</t> | |||
<t>Additional tags are defined for durations and periods.</t> | <t>Additional tags are defined for durations and periods.</t> | |||
</section> | </section> | |||
<section anchor="time-format"> | <section anchor="time-format"> | |||
<name>Time Format</name> | <name>Time Format</name> | |||
<t>An extended time is indicated by CBOR tag 1001, the content of which is a map data | <t>An extended time is indicated by CBOR tag 1001, the content of which is a map data | |||
item (CBOR major type 5). The map may contain integer (major types 0 | item (CBOR major type 5). The map may contain integer (major types 0 | |||
and 1) or text string (major type 3) keys, with the value type | and 1) or text string (major type 3) keys, with the value type | |||
determined by each specific key. | determined by each specific key. | |||
For negative integer keys and text string values of the key, | For negative integer keys and text string values of the key, | |||
implementations <bcp14>MUST</bcp14> ignore key/value pairs they do not understan d; | implementations <bcp14>MUST</bcp14> ignore key/value pairs they do not understan d; | |||
these keys are "elective", as the extended time as a whole is still | these keys are "elective", as the extended time as a whole is still | |||
usable without the information they carry if an implementation elects not to imp | usable without the information they carry if an implementation elects not to imp | |||
lement them. | lement them. Conversely, implementations <bcp14>MUST</bcp14> signal an error | |||
Conversely, for unsigned integer keys, implementations <bcp14>MUST</bcp14> signa | when encountering key/value pairs that use unsigned integer keys they do not und | |||
l as | erstand or implement (these | |||
an error key/value pairs they do not understand or implement | are either "base time" or "critical", see below).</t> | |||
(these are either "base time" or "critical", see below).</t> | ||||
<t>The map <bcp14>MUST</bcp14> contain exactly one unsigned integer key th at specifies | <t>The map <bcp14>MUST</bcp14> contain exactly one unsigned integer key th at specifies | |||
the "base time", and <bcp14>MAY</bcp14> also contain one or more negative intege r or | the "base time" and <bcp14>MAY</bcp14> also contain one or more negative integer or | |||
text-string keys, which may encode supplementary information.</t> | text-string keys, which may encode supplementary information.</t> | |||
<t>Supplementary information <bcp14>MAY</bcp14> also be provided by additi onal unsigned | <t>Supplementary information <bcp14>MAY</bcp14> also be provided by additi onal unsigned | |||
integer keys that are explicitly defined to provide supplementary | integer keys that are explicitly defined to provide supplementary | |||
information (we say these keys are defined to be "critical"); as these | information (we say these keys are defined to be "critical"); as these | |||
are required to be understood, there can be no confusion with base | are required to be understood, there can be no confusion with base | |||
time keys.</t> | time keys.</t> | |||
<t>Negative integer and text string keys always supply supplementary | <t>Negative integer and text string keys always supply supplementary | |||
information (they are "elective", and this will not be explicitly stated | information (they are "elective", and this will not be explicitly stated | |||
below).</t> | below).</t> | |||
<t>Supplementary information may include:</t> | <t>Supplementary information may include:</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li> | <li> | |||
<t>a higher precision time offset to be added to the base time,</t> | <t>a higher precision time offset to be added to the base time,</t> | |||
</li> | </li> | |||
<li> | <li> | |||
<t>a reference timescale and epoch different from the default UTC and 1970-01-01</t> | <t>a reference timescale and epoch different from the default UTC and 1970-01-01, and</t> | |||
</li> | </li> | |||
<li> | <li> | |||
<t>information about clock quality parameters, such as source, | <t>information about clock quality parameters, such as source, | |||
accuracy, and uncertainty</t> | accuracy, and uncertainty.</t> | |||
</li> | </li> | |||
</ul> | </ul> | |||
<t>Additional keys can be defined by registering them in the Map Key | <t>Additional keys can be defined by registering them in the "Time Tag Map | |||
Registry (<xref target="map-key-registry"/>). | Keys" | |||
Registered keys may, for instance, add intent information such as timezone and d | registry (<xref target="map-key-registry"/>). | |||
aylight savings time, | Registered keys may, for instance, add intent information such as time zone, day | |||
and/or possibly positioning coordinates, to express information that would indic | light saving time, | |||
ate a local time.</t> | and/or possibly positioning coordinates to express information that would indica | |||
te a local time.</t> | ||||
<t>This document does not define supplementary text keys. | <t>This document does not define supplementary text keys. | |||
A number of both unsigned and negative-integer keys are defined in | A number of both unsigned and negative-integer keys are defined in | |||
the following subsections.</t> | the following subsections.</t> | |||
<t><xref target="tag-1001"/> provides a formal definition of Tag 1001 in C DDL.</t> | <t><xref target="tag-1001"/> provides a formal definition of tag 1001 in C DDL.</t> | |||
<figure anchor="tag-1001"> | <figure anchor="tag-1001"> | |||
<name>CDDL definition of Tag 1001</name> | <name>CDDL Definition of Tag 1001</name> | |||
<sourcecode type="cddl"><![CDATA[ | <sourcecode type="cddl"><![CDATA[ | |||
Etime = #6.1001(etime-detailed) | Etime = #6.1001(etime-detailed) | |||
etime-framework = { | etime-framework = { | |||
uint => any ; at least one base time | uint => any ; at least one base time | |||
* (nint/text) => any ; elective supplementary information | * (nint/text) => any ; elective supplementary information | |||
* uint => any ; critical supplementary information | * uint => any ; critical supplementary information | |||
} | } | |||
etime-detailed = ({ | etime-detailed = ({ | |||
skipping to change at line 267 ¶ | skipping to change at line 268 ¶ | |||
defined for CBOR tag 4 or 5, respectively. | defined for CBOR tag 4 or 5, respectively. | |||
This can be used to include a Decimal or Bigfloat epoch-based float | This can be used to include a Decimal or Bigfloat epoch-based float | |||
<xref target="TIME_T"/> in an extended time, e.g., to achieve higher resolution or to | <xref target="TIME_T"/> in an extended time, e.g., to achieve higher resolution or to | |||
avoid rounding errors.</t> | avoid rounding errors.</t> | |||
<sourcecode type="cddl"><![CDATA[ | <sourcecode type="cddl"><![CDATA[ | |||
$$ETIME-BASETIME //= (4: ~decfrac) | $$ETIME-BASETIME //= (4: ~decfrac) | |||
$$ETIME-BASETIME //= (5: ~bigfloat) | $$ETIME-BASETIME //= (5: ~bigfloat) | |||
]]></sourcecode> | ]]></sourcecode> | |||
</section> | </section> | |||
<section anchor="keys-3-6-9-12-15-18"> | <section anchor="keys-3-6-9-12-15-18"> | |||
<name>Keys -3, -6, -9, -12, -15, -18</name> | <name>Keys -3, -6, -9, -12, -15, and -18</name> | |||
<t>The keys -3, -6, -9, -12, -15 and -18 indicate additional decimal fra | <t>The keys -3, -6, -9, -12, -15, and -18 indicate additional decimal fr | |||
ctions by | actions by | |||
giving an unsigned integer (major type 0) and scaling this with the | giving an unsigned integer (major type 0) and scaling this with the | |||
scale factor 1e-3, 1e-6, 1e-9, 1e-12, 1e-15, and 1e-18, respectively | scale factor 1e-3, 1e-6, 1e-9, 1e-12, 1e-15, and 1e-18, respectively | |||
(see <xref target="decfract"/>). | (see <xref target="decfract"/>). | |||
Each extended time data item <bcp14>MUST NOT</bcp14> contain more than one | Each extended time data item <bcp14>MUST NOT</bcp14> contain more than one | |||
of these keys. | of these keys. | |||
These additional fractions are added to a base time in seconds <xref target="SI- SECOND"/> | These additional fractions are added to a base time in seconds <xref target="SI- SECOND"/> | |||
indicated by a Key 1, which then <bcp14>MUST</bcp14> also be present and <bcp14> MUST</bcp14> have an | indicated by key 1, which then <bcp14>MUST</bcp14> also be present and <bcp14>MU ST</bcp14> have an | |||
integer value.</t> | integer value.</t> | |||
<table anchor="decfract"> | <table anchor="decfract"> | |||
<name>Key for decimally scaled Fractions</name> | <name>Keys for Decimally Scaled Fractions</name> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">Key</th> | <th align="left">Key</th> | |||
<th align="left">meaning</th> | <th align="left">Meaning</th> | |||
<th align="left">example usage</th> | <th align="left">Example Usage</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left">-3</td> | <td align="left">-3</td> | |||
<td align="left">milliseconds</td> | <td align="left">milliseconds</td> | |||
<td align="left">Java time</td> | <td align="left">Java time</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left">-6</td> | <td align="left">-6</td> | |||
skipping to change at line 332 ¶ | skipping to change at line 333 ¶ | |||
$$ETIME-ELECTIVE //= (-9: uint) | $$ETIME-ELECTIVE //= (-9: uint) | |||
$$ETIME-ELECTIVE //= (-12: uint) | $$ETIME-ELECTIVE //= (-12: uint) | |||
$$ETIME-ELECTIVE //= (-15: uint) | $$ETIME-ELECTIVE //= (-15: uint) | |||
$$ETIME-ELECTIVE //= (-18: uint) | $$ETIME-ELECTIVE //= (-18: uint) | |||
]]></sourcecode> | ]]></sourcecode> | |||
<t>Note that these keys have been provided to facilitate representing | <t>Note that these keys have been provided to facilitate representing | |||
pairs of the form second/decimal fraction of a second, as found for | pairs of the form second/decimal fraction of a second, as found for | |||
instance in C <tt>timespec</tt> (Section 7.27.1 of <xref target="C"/>). | instance in C <tt>timespec</tt> (Section 7.27.1 of <xref target="C"/>). | |||
When ingesting a timestamp with one of these keys into a type provided | When ingesting a timestamp with one of these keys into a type provided | |||
by the target platform, care has to be taken to meet its invariants. | by the target platform, care has to be taken to meet its invariants. | |||
E.g., for C <tt>timespec</tt>, the fractional part <tt>tv_nsec</tt> needs to be | For example, for C <tt>timespec</tt>, the fractional part <tt>tv_nsec</tt> needs to be | |||
between 0 inclusive and 10<sup>9</sup> exclusive, which can be | between 0 inclusive and 10<sup>9</sup> exclusive, which can be | |||
achieved by also adjusting the base time appropriately.</t> | achieved by also adjusting the base time appropriately.</t> | |||
</section> | </section> | |||
<section anchor="key-timescale"> | <section anchor="key-timescale"> | |||
<name>Key -1: Timescale</name> | <name>Keys -1, -13, and 13: Timescale</name> | |||
<t>Key -1 is used to indicate a timescale. The value 0 indicates UTC, | <t>Keys -1, -13, and 13 are used to indicate a timescale, where key 13 i | |||
s critical. Keys -1 and -13 have identical semantics (both are assigned because | ||||
key -1 was chosen first and then, when key 13 was added, it appeared desirable | ||||
to have a | ||||
negative equivalent). | ||||
Each extended time data item <bcp14>MUST NOT</bcp14> | ||||
contain more than one of these keys.</t> | ||||
<t>The value 0 indicates UTC, | ||||
with the POSIX epoch <xref target="TIME_T"/>; the value 1 indicates TAI, with th e | with the POSIX epoch <xref target="TIME_T"/>; the value 1 indicates TAI, with th e | |||
PTP (Precision Time Protocol) epoch (1 January 1970 00:00:00 TAI, see | Precision Time Protocol (PTP) epoch (1 January 1970 00:00:00 TAI, see | |||
<xref target="IEEE1588-2019"/> or <xref target="IEEE1588-2008"/>).</t> | <xref target="IEEE1588-2019"/> or <xref target="IEEE1588-2008"/>).</t> | |||
<sourcecode type="cddl"><![CDATA[ | <sourcecode type="cddl"><![CDATA[ | |||
$$ETIME-ELECTIVE //= (-1 => $ETIME-TIMESCALE) | $$ETIME-ELECTIVE //= (-1 => $ETIME-TIMESCALE) | |||
$$ETIME-ELECTIVE //= (-13 => $ETIME-TIMESCALE) | ||||
$$ETIME-CRITICAL //= (13 => $ETIME-TIMESCALE) | ||||
$ETIME-TIMESCALE /= &(etime-utc: 0) | $ETIME-TIMESCALE /= &(etime-utc: 0) | |||
$ETIME-TIMESCALE /= &(etime-tai: 1) | $ETIME-TIMESCALE /= &(etime-tai: 1) | |||
]]></sourcecode> | ]]></sourcecode> | |||
<t>If key -1 is not present, the default timescale value 0 is implied.</ t> | <t>If none of the keys are present, the default timescale value 0 is imp lied.</t> | |||
<t>Timescale values <bcp14>MUST</bcp14> be unsigned integers or text str ings; text strings are | <t>Timescale values <bcp14>MUST</bcp14> be unsigned integers or text str ings; text strings are | |||
provided for experimentation and <bcp14>MUST NOT</bcp14> be used between parties | provided for experimentation and <bcp14>MUST NOT</bcp14> be used between parties | |||
which are not both part of the experiment. | that are not both part of the experiment. | |||
Additional unsigned integer values can be registered in the Timescale Registry | Additional unsigned integer values can be registered in the "Timescales" registr | |||
y | ||||
(<xref target="timescale-registry"/>). | (<xref target="timescale-registry"/>). | |||
(Note that there should be no timescales "GPS" or "NTP" <xref target="RFC5905"/> — instead, | (Note that there should be no timescales "GPS" or "NTP" <xref target="RFC5905"/> -- instead, | |||
the time should be converted to TAI or UTC using a single addition or subtractio n.)</t> | the time should be converted to TAI or UTC using a single addition or subtractio n.)</t> | |||
<figure anchor="offset"> | <figure anchor="offset"> | |||
<name>Converting Common Offset Timescales</name> | <name>Converting Common Offset Timescales</name> | |||
<artset> | <artset> | |||
<artwork type="svg"><svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" height="6.009ex" role="img" viewBox="0 -791.3 43055.4 2587.3" width="100ex"> | <artwork type="svg"><svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" height="6.009ex" role="img" viewBox="0 -791.3 43055.4 2587.3" width="100ex"> | |||
<defs> | <defs> | |||
<path d="M283 438l-10 -38h-70l-78 -320c-1 -3 -2 -8 -2 -11c0 -6 3 -12 16 -12c0 0 23 2 60 52l13 -11c-24 -31 -74 -107 -133 -107c-31 0 -39 25 -39 52c0 13 2 26 5 37l81 320h-77l5 29c75 14 136 51 177 138h13l-31 -129h70Z" id="E1-S TIXWEBNORMALI-1D461-gensym001" stroke-width="1"/> | <path d="M283 438l-10 -38h-70l-78 -320c-1 -3 -2 -8 -2 -11c0 -6 3 -12 16 -12c0 0 23 2 60 52l13 -11c-24 -31 -74 -107 -133 -107c-31 0 -39 25 -39 52c0 13 2 26 5 37l81 320h-77l5 29c75 14 136 51 177 138h13l-31 -129h70Z" id="E1-S TIXWEBNORMALI-1D461-gensym001" stroke-width="1"/> | |||
<path d="M444 428l-89 -348c-1 -4 -1 -6 -1 -9c0 -8 4 -14 14 -14 c21 0 40 26 57 46l5 6l13 -11c-23 -33 -74 -107 -132 -107c-29 0 -40 19 -40 52c0 9 1 25 4 37l26 95h-1c-7 -5 -97 -126 -137 -156c-23 -17 -49 -28 -72 -28c-47 0 -61 36 -61 74c0 21 3 40 8 59l59 231 c4 15 6 21 6 25c0 12 -11 23 -33 23c-7 0 -19 -1 -26 -3l-3 15l157 26l-84 -326c-2 -9 -3 -16 -3 -24c0 -21 8 -34 26 -34c25 0 65 31 100 77c43 57 89 146 109 219l21 75h77Z" id="E1-STIXWEBNORMALI-1D462-gensym001" stroke -width="1"/> | <path d="M444 428l-89 -348c-1 -4 -1 -6 -1 -9c0 -8 4 -14 14 -14 c21 0 40 26 57 46l5 6l13 -11c-23 -33 -74 -107 -132 -107c-29 0 -40 19 -40 52c0 9 1 25 4 37l26 95h-1c-7 -5 -97 -126 -137 -156c-23 -17 -49 -28 -72 -28c-47 0 -61 36 -61 74c0 21 3 40 8 59l59 231 c4 15 6 21 6 25c0 12 -11 23 -33 23c-7 0 -19 -1 -26 -3l-3 15l157 26l-84 -326c-2 -9 -3 -16 -3 -24c0 -21 8 -34 26 -34c25 0 65 31 100 77c43 57 89 146 109 219l21 75h77Z" id="E1-STIXWEBNORMALI-1D462-gensym001" stroke -width="1"/> | |||
<path d="M363 111l12 -13c-51 -60 -113 -109 -198 -109c-97 0 -13 7 78 -137 155c0 140 121 297 263 297c50 0 97 -27 97 -76c0 -38 -16 -70 -54 -70c-26 0 -38 21 -38 38c0 24 29 36 29 58c0 12 -10 21 -34 21c-119 0 -176 -179 -176 -259c 0 -87 49 -109 94 -109 c61 0 107 33 142 67Z" id="E1-STIXWEBNORMALI-1D450-gensym00 1" stroke-width="1"/> | <path d="M363 111l12 -13c-51 -60 -113 -109 -198 -109c-97 0 -13 7 78 -137 155c0 140 121 297 263 297c50 0 97 -27 97 -76c0 -38 -16 -70 -54 -70c-26 0 -38 21 -38 38c0 24 29 36 29 58c0 12 -10 21 -34 21c-119 0 -176 -179 -176 -259c 0 -87 49 -109 94 -109 c61 0 107 33 142 67Z" id="E1-STIXWEBNORMALI-1D450-gensym00 1" stroke-width="1"/> | |||
<path d="M637 320h-589v66h589v-66zM637 120h-589v66h589v-66Z" i d="E1-STIXWEBMAIN-3D-gensym001" stroke-width="1"/> | <path d="M637 320h-589v66h589v-66zM637 120h-589v66h589v-66Z" i d="E1-STIXWEBMAIN-3D-gensym001" stroke-width="1"/> | |||
skipping to change at line 461 ¶ | skipping to change at line 469 ¶ | |||
]]></artwork> | ]]></artwork> | |||
</artset> | </artset> | |||
</figure> | </figure> | |||
<aside> | <aside> | |||
<t>Editor's note: | <t>Editor's note: | |||
This initial set of timescales was deliberately chosen to be frugal, as | This initial set of timescales was deliberately chosen to be frugal, as | |||
the specification of the tag provides an extension point where | the specification of the tag provides an extension point where | |||
additional timescales can be registered at any time. | additional timescales can be registered at any time. | |||
Registrations are clearly needed for earth-referenced timescales (such | Registrations are clearly needed for earth-referenced timescales (such | |||
as UT1 and TT), as well as possibly for specific realizations of | as UT1 and TT), as well as possibly for specific realizations of | |||
abstract time scales (such as TAI(USNO) which is more accurate as a | abstract timescales (such as TAI(USNO), the specific realization obtained at the United States Naval Observatory, which is more accurate as a | |||
constant offset basis for GPS times). | constant offset basis for GPS times). | |||
While the registration process itself is trivial, these registrations | While the registration process itself is trivial, these registrations | |||
need to be made based on a solid specification of their actual | need to be made based on a solid specification of their actual | |||
definition.</t> | definition.</t> | |||
</aside> | </aside> | |||
</section> | </section> | |||
<section anchor="clock-quality"> | <section anchor="clock-quality"> | |||
<name>Clock Quality</name> | <name>Clock Quality</name> | |||
<t>A number of keys are defined to indicate the quality of clock that wa s | <t>A number of keys are defined to indicate the quality of the clock tha t was | |||
used to determine the point in time.</t> | used to determine the point in time.</t> | |||
<t>The first three are analogous to <tt>clock-quality-grouping</tt> in | <t>The first three are analogous to <tt>clock-quality-grouping</tt> in | |||
<xref target="RFC8575"/>, which is in turn based on the definitions in | <xref target="RFC8575"/>, which is in turn based on the definitions in | |||
<xref target="IEEE1588-2008"/>; the last two are specific to this document.</t> | <xref target="IEEE1588-2008"/>; the last two are specific to this document.</t> | |||
<sourcecode type="cddl"><![CDATA[ | <sourcecode type="cddl"><![CDATA[ | |||
ClockQuality-group = ( | ClockQuality-group = ( | |||
? &(ClockClass: -2) => uint .size 1 ; PTP/RFC8575 | ? &(ClockClass: -2) => uint .size 1 ; PTP/RFC8575 | |||
? &(ClockAccuracy: -4) => uint .size 1 ; PTP/RFC8575 | ? &(ClockAccuracy: -4) => uint .size 1 ; PTP/RFC8575 | |||
? &(OffsetScaledLogVariance: -5) => uint .size 2 ; PTP/RFC8575 | ? &(OffsetScaledLogVariance: -5) => uint .size 2 ; PTP/RFC8575 | |||
? &(Uncertainty: -7) => ~time/~duration | ? &(Uncertainty: -7) => ~time/~duration | |||
? &(Guarantee: -8) => ~time/~duration | ? &(Guarantee: -8) => ~time/~duration | |||
) | ) | |||
]]></sourcecode> | ]]></sourcecode> | |||
<section anchor="clockclass-key-2"> | <section anchor="clockclass-key-2"> | |||
<name>ClockClass (Key -2)</name> | <name>ClockClass (Key -2)</name> | |||
<t>Key -2 (ClockClass) can be used to indicate the clock class as per | <t>Key -2 (ClockClass) can be used to indicate the clock class as per | |||
<xref target="RFC8575"/> (which is based on Table 5 in Section 7.6.2.4 of | <xref target="RFC8575"/> (which is based on Table 5 in Section 7.6.2.4 of <xref | |||
<xref target="IEEE1588-2008"/>; Table 4 in Section 7.6.2.5 of <xref target="IEEE | target="IEEE1588-2008"/>; Table 4 in Section 7.6.2.5 of <xref target="IEEE1588-2 | |||
1588-2019"/> has updated language). | 019"/> has updated language). | |||
It is defined as a one-byte unsigned integer as that is the range | It is defined as a one-byte unsigned integer as that is the range | |||
defined in IEEE 1588.</t> | defined in IEEE 1588.</t> | |||
</section> | </section> | |||
<section anchor="clockaccuracy-key-4"> | <section anchor="clockaccuracy-key-4"> | |||
<name>ClockAccuracy (Key -4)</name> | <name>ClockAccuracy (Key -4)</name> | |||
<t>Key -4 (ClockAccuracy) can be used to indicate the clock accuracy a s | <t>Key -4 (ClockAccuracy) can be used to indicate the clock accuracy a s | |||
per <xref target="RFC8575"/> (which is based on Table 6 in Section 7.6.2.5 of | per <xref target="RFC8575"/> (which is based on Table 6 in Section 7.6.2.5 of <x | |||
<xref target="IEEE1588-2008"/>; additional values have been defined in Table 5 i | ref target="IEEE1588-2008"/>; additional values have been defined in Table 5 in | |||
n | ||||
Section 7.6.2.6 of <xref target="IEEE1588-2019"/>). | Section 7.6.2.6 of <xref target="IEEE1588-2019"/>). | |||
It is defined as a one-byte unsigned integer as that is the range defined there. | It is defined as a one-byte unsigned integer as that is the range defined there. | |||
The range between 23 and 47 is a slightly distorted logarithmic scale | The range between 23 and 47 is a slightly distorted logarithmic scale | |||
from 1 ps to 1 s in <xref target="IEEE1588-2019"/> (in <xref target="IEEE1588-20 | from 1 ps to 1 s in <xref target="IEEE1588-2019"/> (in <xref target="IEEE1588-20 | |||
08"/> the range was | 08"/>, the range was | |||
a subset of that, 32 to 47 for 25 ns to 1 s) — see | a subset of that, 32 to 47 for 25 ns to 1 s) -- see | |||
<xref target="formula-accuracy-enum"/>; the number 254 is the | <xref target="formula-accuracy-enum"/>; the number 254 is the | |||
value to be used if an unknown accuracy needs to be expressed.</t> | value to be used if an unknown accuracy needs to be expressed.</t> | |||
<!-- Note that the double space after the \approx is actually needed - | ||||
-> | ||||
<!-- by utftex --> | ||||
<figure anchor="formula-accuracy-enum"> | <figure anchor="formula-accuracy-enum"> | |||
<name>Approximate conversion from accuracy to accuracy enumeration v alue</name> | <name>Approximate Conversion from Accuracy to Accuracy Enumeration V alue</name> | |||
<artset> | <artset> | |||
<artwork type="svg"><svg xmlns:xlink="http://www.w3.org/1999/xlink " xmlns="http://www.w3.org/2000/svg" height="4.676ex" role="img" viewBox="0 -122 1.9 14098.6 2013.3" width="32.745ex"> | <artwork type="svg"><svg xmlns:xlink="http://www.w3.org/1999/xlink " xmlns="http://www.w3.org/2000/svg" height="4.676ex" role="img" viewBox="0 -122 1.9 14098.6 2013.3" width="32.745ex"> | |||
<defs> | <defs> | |||
<path d="M363 112l14 -13c-70 -86 -138 -110 -200 -110c-98 0 - 137 84 -137 156c0 23 1 37 6 60c25 111 135 236 262 236c42 0 102 -14 102 -76c0 -12 7 -167 -176 -286 -182v-28c0 -64 52 -107 113 -107c42 0 90 18 126 64zM124 211h9c10 4 0 198 69 198 157c0 25 -19 43 -44 43 c-74 0 -134 -115 -163 -200Z" id="E1-STIXWE BNORMALI-1D452-gensym002" stroke-width="1"/> | <path d="M363 112l14 -13c-70 -86 -138 -110 -200 -110c-98 0 - 137 84 -137 156c0 23 1 37 6 60c25 111 135 236 262 236c42 0 102 -14 102 -76c0 -12 7 -167 -176 -286 -182v-28c0 -64 52 -107 113 -107c42 0 90 18 126 64zM124 211h9c10 4 0 198 69 198 157c0 25 -19 43 -44 43 c-74 0 -134 -115 -163 -200Z" id="E1-STIXWE BNORMALI-1D452-gensym002" stroke-width="1"/> | |||
<path d="M467 96l-5 -6c-28 -34 -76 -98 -128 -98c-32 0 -41 23 -41 46c0 13 4 29 7 40l57 221c2 8 7 28 7 42c0 19 -6 38 -24 38c-38 0 -101 -86 -13 2 -133c-36 -54 -62 -101 -68 -122l-33 -124h-77l95 374c0 18 -3 32 -30 32c-10 0 -21 -2 -28 -3l-2 15l159 23l-51 -189h3 c5 0 54 70 56 73c40 50 100 116 160 116c44 0 5 6 -29 56 -62c0 -25 -6 -50 -11 -70l-59 -231c-1 -2 -1 -5 -1 -10c1 -6 4 -14 15 -14c 24 0 48 36 62 53Z" id="E1-STIXWEBNORMALI-1D45B-gensym002" stroke-width="1"/> | <path d="M467 96l-5 -6c-28 -34 -76 -98 -128 -98c-32 0 -41 23 -41 46c0 13 4 29 7 40l57 221c2 8 7 28 7 42c0 19 -6 38 -24 38c-38 0 -101 -86 -13 2 -133c-36 -54 -62 -101 -68 -122l-33 -124h-77l95 374c0 18 -3 32 -30 32c-10 0 -21 -2 -28 -3l-2 15l159 23l-51 -189h3 c5 0 54 70 56 73c40 50 100 116 160 116c44 0 5 6 -29 56 -62c0 -25 -6 -50 -11 -70l-59 -231c-1 -2 -1 -5 -1 -10c1 -6 4 -14 15 -14c 24 0 48 36 62 53Z" id="E1-STIXWEBNORMALI-1D45B-gensym002" stroke-width="1"/> | |||
<path d="M444 428l-89 -348c-1 -4 -1 -6 -1 -9c0 -8 4 -14 14 - 14c21 0 40 26 57 46l5 6l13 -11c-23 -33 -74 -107 -132 -107c-29 0 -40 19 -40 52c0 9 1 25 4 37l26 95h-1c-7 -5 -97 -126 -137 -156c-23 -17 -49 -28 -72 -28c-47 0 -61 36 -61 74c0 21 3 40 8 59l59 231 c4 15 6 21 6 25c0 12 -11 23 -33 23c-7 0 -19 -1 - 26 -3l-3 15l157 26l-84 -326c-2 -9 -3 -16 -3 -24c0 -21 8 -34 26 -34c25 0 65 31 10 0 77c43 57 89 146 109 219l21 75h77Z" id="E1-STIXWEBNORMALI-1D462-gensym002" stro ke-width="1"/> | <path d="M444 428l-89 -348c-1 -4 -1 -6 -1 -9c0 -8 4 -14 14 - 14c21 0 40 26 57 46l5 6l13 -11c-23 -33 -74 -107 -132 -107c-29 0 -40 19 -40 52c0 9 1 25 4 37l26 95h-1c-7 -5 -97 -126 -137 -156c-23 -17 -49 -28 -72 -28c-47 0 -61 36 -61 74c0 21 3 40 8 59l59 231 c4 15 6 21 6 25c0 12 -11 23 -33 23c-7 0 -19 -1 - 26 -3l-3 15l157 26l-84 -326c-2 -9 -3 -16 -3 -24c0 -21 8 -34 26 -34c25 0 65 31 10 0 77c43 57 89 146 109 219l21 75h77Z" id="E1-STIXWEBNORMALI-1D462-gensym002" stro ke-width="1"/> | |||
<path d="M667 107l13 -11c-32 -54 -84 -104 -131 -104c-22 0 -3 9 10 -39 49c0 7 1 17 6 37l56 221c4 14 6 23 6 40c0 20 -6 38 -24 38c-54 0 -164 -18 1 -179 -242l-34 -135h-79l77 299c2 9 5 25 5 40c0 20 -5 38 -23 38c-52 0 -162 -181 -178 -242l-35 -135h-78l95 374 c0 18 -6 31 -33 31c-8 0 -19 -1 -27 -2l-2 14l157 24 l-44 -169h6c94 143 154 169 192 169c37 0 55 -37 55 -81c0 -17 -3 -32 -9 -52l-10 -3 6h5c29 52 81 114 130 147c22 15 41 22 61 22c36 0 54 -26 54 -71c0 -18 -1 -37 -7 -6 1l-61 -231c-1 -3 -2 -9 -2 -12 c0 -8 6 -12 15 -12c17 0 43 16 62 53Z" id="E1-STIXW EBNORMALI-1D45A-gensym002" stroke-width="1"/> | <path d="M667 107l13 -11c-32 -54 -84 -104 -131 -104c-22 0 -3 9 10 -39 49c0 7 1 17 6 37l56 221c4 14 6 23 6 40c0 20 -6 38 -24 38c-54 0 -164 -18 1 -179 -242l-34 -135h-79l77 299c2 9 5 25 5 40c0 20 -5 38 -23 38c-52 0 -162 -181 -178 -242l-35 -135h-78l95 374 c0 18 -6 31 -33 31c-8 0 -19 -1 -27 -2l-2 14l157 24 l-44 -169h6c94 143 154 169 192 169c37 0 55 -37 55 -81c0 -17 -3 -32 -9 -52l-10 -3 6h5c29 52 81 114 130 147c22 15 41 22 61 22c36 0 54 -26 54 -71c0 -18 -1 -37 -7 -6 1l-61 -231c-1 -3 -2 -9 -2 -12 c0 -8 6 -12 15 -12c17 0 43 16 62 53Z" id="E1-STIXW EBNORMALI-1D45A-gensym002" stroke-width="1"/> | |||
<path d="M472 428l-91 -345s-1 -2 -1 -11c0 -11 6 -17 14 -17c1 0 0 25 2 64 54l12 -12c-31 -47 -85 -107 -133 -107c-33 0 -42 23 -42 55c0 13 6 34 1 1 50h-4c-72 -92 -134 -105 -173 -105c-63 0 -89 55 -89 119c0 132 132 332 276 332c4 3 0 64 -24 66 -46h1l9 33h80zM367 341 c0 41 -12 71 -50 71c-68 0 -128 -87 -162 -17 1c-18 -45 -28 -89 -28 -124c0 -53 31 -66 58 -66c69 0 139 95 167 190c8 26 15 66 15 100Z" id="E1-STIXWEBNORMALI-1D44E-gensym002" stroke-width="1"/> | <path d="M472 428l-91 -345s-1 -2 -1 -11c0 -11 6 -17 14 -17c1 0 0 25 2 64 54l12 -12c-31 -47 -85 -107 -133 -107c-33 0 -42 23 -42 55c0 13 6 34 1 1 50h-4c-72 -92 -134 -105 -173 -105c-63 0 -89 55 -89 119c0 132 132 332 276 332c4 3 0 64 -24 66 -46h1l9 33h80zM367 341 c0 41 -12 71 -50 71c-68 0 -128 -87 -162 -17 1c-18 -45 -28 -89 -28 -124c0 -53 31 -66 58 -66c69 0 139 95 167 190c8 26 15 66 15 100Z" id="E1-STIXWEBNORMALI-1D44E-gensym002" stroke-width="1"/> | |||
<path d="M363 111l12 -13c-51 -60 -113 -109 -198 -109c-97 0 - 137 78 -137 155c0 140 121 297 263 297c50 0 97 -27 97 -76c0 -38 -16 -70 -54 -70c- 26 0 -38 21 -38 38c0 24 29 36 29 58c0 12 -10 21 -34 21c-119 0 -176 -179 -176 -25 9c0 -87 49 -109 94 -109 c61 0 107 33 142 67Z" id="E1-STIXWEBNORMALI-1D450-gensym 002" stroke-width="1"/> | <path d="M363 111l12 -13c-51 -60 -113 -109 -198 -109c-97 0 - 137 78 -137 155c0 140 121 297 263 297c50 0 97 -27 97 -76c0 -38 -16 -70 -54 -70c- 26 0 -38 21 -38 38c0 24 29 36 29 58c0 12 -10 21 -34 21c-119 0 -176 -179 -176 -25 9c0 -87 49 -109 94 -109 c61 0 107 33 142 67Z" id="E1-STIXWEBNORMALI-1D450-gensym 002" stroke-width="1"/> | |||
<path d="M604 475h33c-6 -85 -60 -204 -158 -204c-96 0 -203 12 8 -275 128c-70 0 -107 -67 -123 -138h-33c5 100 65 204 163 204c96 0 203 -128 276 - 128c69 0 102 67 117 138zM604 239h33c-6 -85 -60 -204 -158 -204c-96 0 -203 128 -27 5 128c-70 0 -107 -67 -123 -138h-33 c5 100 65 204 163 204c96 0 203 -128 276 -128c 69 0 102 67 117 138Z" id="E1-STIXWEBMAIN-2248-gensym002" stroke-width="1"/> | <path d="M604 475h33c-6 -85 -60 -204 -158 -204c-96 0 -203 12 8 -275 128c-70 0 -107 -67 -123 -138h-33c5 100 65 204 163 204c96 0 203 -128 276 - 128c69 0 102 67 117 138zM604 239h33c-6 -85 -60 -204 -158 -204c-96 0 -203 128 -27 5 128c-70 0 -107 -67 -123 -138h-33 c5 100 65 204 163 204c96 0 203 -128 276 -128c 69 0 102 67 117 138Z" id="E1-STIXWEBMAIN-2248-gensym002" stroke-width="1"/> | |||
skipping to change at line 599 ¶ | skipping to change at line 602 ¶ | |||
<section anchor="offsetscaledlogvariance-key-5"> | <section anchor="offsetscaledlogvariance-key-5"> | |||
<name>OffsetScaledLogVariance (Key -5)</name> | <name>OffsetScaledLogVariance (Key -5)</name> | |||
<t>Key -5 (OffsetScaledLogVariance) can be used to represent the varia nce | <t>Key -5 (OffsetScaledLogVariance) can be used to represent the varia nce | |||
exhibited by the clock when it has lost its synchronization with an | exhibited by the clock when it has lost its synchronization with an | |||
external reference clock. The details for the computation of this | external reference clock. The details for the computation of this | |||
characteristic are defined in Section 7.6.3 of <xref target="IEEE1588-2019"/> an d the | characteristic are defined in Section 7.6.3 of <xref target="IEEE1588-2019"/> an d the | |||
same section in <xref target="IEEE1588-2008"/>.</t> | same section in <xref target="IEEE1588-2008"/>.</t> | |||
</section> | </section> | |||
<section anchor="uncertainty-key-7"> | <section anchor="uncertainty-key-7"> | |||
<name>Uncertainty (Key -7)</name> | <name>Uncertainty (Key -7)</name> | |||
<t>Key -7 (Uncertainty) can be used to represent a known measurement | ||||
uncertainty for the clock, as a numeric value in seconds or as a | <t>Key -7 (Uncertainty) can be used to represent a known uncertainty o | |||
duration (<xref target="duration"/>).</t> | f measurement for the clock as a numeric value in seconds or as a | |||
<t>For this document, uncertainty is defined as in Section 2.2.3 of | duration (<xref target="duration"/>).</t> | |||
<xref target="GUM"/>: "parameter, associated with the result of a measurement, t | <t>For this document, uncertainty is defined as in Section 2.2.3 of <x | |||
hat | ref target="GUM"/>: "parameter, associated with the result of a measurement, tha | |||
t | ||||
characterizes the dispersion of the values that could reasonably be | characterizes the dispersion of the values that could reasonably be | |||
attributed to the measurand". More specifically, the value for this | attributed to the measurand". More specifically, the value for this | |||
key represents the expanded uncertainty for k = 2 (Section 6.2.1 of <xref target ="GUM"/>), in seconds.</t> | key represents the expanded uncertainty for k = 2 (Section 6.2.1 of <xref target ="GUM"/>) in seconds.</t> | |||
<t>Note that the additional information that can be meaningfully provi ded | <t>Note that the additional information that can be meaningfully provi ded | |||
with the duration that represents an uncertainty is limited, e.g., it | with the duration that represents an uncertainty is limited, e.g., it | |||
is not customary to provide an uncertainty for a duration representing | is not customary to provide an uncertainty for a duration representing | |||
an uncertainty. | an uncertainty. | |||
Implementations are free to reduce the information contained in an | Implementations are free to reduce the information contained in an | |||
uncertainty (which is already elective) to the information they can | uncertainty (which is already elective) to the information they can | |||
process.</t> | process.</t> | |||
<t>For example, a timestamp that is given to a resolution of | <t>For example, a timestamp that is given to a resolution of | |||
10<sup>-6</sup> seconds (microseconds) but only has an uncertainty of | 10<sup>-6</sup> seconds (microseconds) but only has an uncertainty of | |||
10<sup>-3</sup> seconds (milliseconds) could be expressed by one of | 10<sup>-3</sup> seconds (milliseconds) could be expressed by one of | |||
skipping to change at line 632 ¶ | skipping to change at line 634 ¶ | |||
<sourcecode type="cbor-diag"><![CDATA[ | <sourcecode type="cbor-diag"><![CDATA[ | |||
1001({1: 1697724754, -6: 873294, -7: {1: 0, -6: 1000}}), | 1001({1: 1697724754, -6: 873294, -7: {1: 0, -6: 1000}}), | |||
1001({1: 1697724754, -6: 873294, -7: {1: 0, -3: 1}}), | 1001({1: 1697724754, -6: 873294, -7: {1: 0, -3: 1}}), | |||
1001({1: 1697724754, -6: 873294, -7: {1: 0.001}}) | 1001({1: 1697724754, -6: 873294, -7: {1: 0.001}}) | |||
]]></sourcecode> | ]]></sourcecode> | |||
</figure> | </figure> | |||
</section> | </section> | |||
<section anchor="guarantee-key-8"> | <section anchor="guarantee-key-8"> | |||
<name>Guarantee (Key -8)</name> | <name>Guarantee (Key -8)</name> | |||
<t>Key -8 (Guarantee) can be used to represent a stated guarantee for the | <t>Key -8 (Guarantee) can be used to represent a stated guarantee for the | |||
accuracy of the point in time, as a numeric value in seconds or as a | accuracy of the point in time as a numeric value in seconds or as a | |||
duration (<xref target="duration"/>) | duration (<xref target="duration"/>) | |||
representing the maximum allowed deviation from the true value.</t> | representing the maximum allowed deviation from the true value.</t> | |||
<t>While such a guarantee is unattainable in theory, existing standard s | <t>While such a guarantee is unattainable in theory, existing standard s | |||
such as <xref target="RFC3161"/> stipulate the representation of such guarantees , | such as <xref target="RFC3161"/> stipulate the representation of such guarantees , | |||
and therefore this format provides a way to represent them as well; | and therefore this format provides a way to represent them as well; | |||
the time value given is nominally guaranteed to not deviate from the | the time value given is nominally guaranteed to not deviate from the | |||
actual time by more than the value of the guarantee, in seconds.</t> | actual time by more than the value of the guarantee in seconds.</t> | |||
<t>Note that the additional information that can be meaningfully provi ded | <t>Note that the additional information that can be meaningfully provi ded | |||
with the duration that represents a guarantee is limited, e.g., it is | with the duration that represents a guarantee is limited, e.g., it is | |||
not meaningful to provide a guarantee of accuracy for the duration | not meaningful to provide a guarantee of accuracy for the duration | |||
representing a guarantee of accuracy. | representing a guarantee of accuracy. | |||
Implementations are free to reduce a guarantee (which is already | Implementations are free to reduce a guarantee (which is already | |||
elective) to the information they can process.</t> | elective) to the information they can process.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="tzh"> | <section anchor="tzh"> | |||
<name>Keys -10, 10: Time Zone Hint</name> | <name>Keys -10, 10: Time Zone Hint</name> | |||
<t>Keys -10 and 10 supply supplementary information, where key 10 is cri tical.</t> | <t>Keys -10 and 10 supply supplementary information, where key 10 is cri tical.</t> | |||
<t>They can be used to provide a hint about the time zone that | <t>They can be used to provide a hint about the time zone that | |||
would best fit for displaying the time given to humans, using a text | would best fit for displaying the time given to humans, using a text | |||
string in the format defined for <tt>time-zone-name</tt> or <tt>time-numoffset</ tt> | string in the format defined for <tt>time-zone-name</tt> or <tt>time-numoffset</ tt> | |||
in <xref target="IXDTF"/>. | in <xref target="RFC9557"/>. | |||
Key -10 is equivalent to providing this information as an elective | Key -10 is equivalent to providing this information as an elective | |||
hint, while key 10 provides this information as critical (i.e., it | hint, while key 10 provides this information as critical (i.e., it | |||
<bcp14>MUST</bcp14> be used when interpreting the entry with this key).</t> | <bcp14>MUST</bcp14> be used when interpreting the entry with this key).</t> | |||
<t>Keys -10 and 10 <bcp14>MUST NOT</bcp14> both be present.</t> | <t>Keys -10 and 10 <bcp14>MUST NOT</bcp14> both be present.</t> | |||
<sourcecode type="cddl"><![CDATA[ | <sourcecode type="cddl"><![CDATA[ | |||
$$ETIME-ELECTIVE //= (-10: time-zone-info) | $$ETIME-ELECTIVE //= (-10: time-zone-info) | |||
$$ETIME-CRITICAL //= (10: time-zone-info) | $$ETIME-CRITICAL //= (10: time-zone-info) | |||
time-zone-info = tstr .abnf | time-zone-info = tstr .abnf | |||
("time-zone-name / time-numoffset" .det IXDTFtz) | ("time-zone-name / time-numoffset" .det IXDTFtz) | |||
IXDTFtz = ' | IXDTFtz = ' | |||
time-hour = 2DIGIT ; 00-23 | time-hour = 2DIGIT ; 00-23 | |||
time-minute = 2DIGIT ; 00-59 | time-minute = 2DIGIT ; 00-59 | |||
time-numoffset = ("+" / "-") time-hour ":" time-minute | time-numoffset = ("+" / "-") time-hour ":" time-minute | |||
time-zone-initial = ALPHA / "." / "_" | time-zone-initial = ALPHA / "." / "_" | |||
time-zone-char = time-zone-initial / DIGIT / "-" / "+" | time-zone-char = time-zone-initial / DIGIT / "-" / "+" | |||
time-zone-part = time-zone-initial *13(time-zone-char) | time-zone-part = time-zone-initial *time-zone-char | |||
; but not "." or ".." | ; but not "." or ".." | |||
time-zone-name = time-zone-part *("/" time-zone-part) | time-zone-name = time-zone-part *("/" time-zone-part) | |||
ALPHA = %x41-5A / %x61-7A ; A-Z / a-z | ALPHA = %x41-5A / %x61-7A ; A-Z / a-z | |||
DIGIT = %x30-39 ; 0-9 | DIGIT = %x30-39 ; 0-9 | |||
' ; extracted from [IXDTF] and [RFC3339]; update as needed | ' ; extracted from [RFC9557] and [RFC3339] | |||
]]></sourcecode> | ]]></sourcecode> | |||
</section> | </section> | |||
<section anchor="suff"> | <section anchor="suff"> | |||
<name>Keys -11, 11: IXDTF Suffix Information</name> | <name>Keys -11, 11: IXDTF Suffix Information</name> | |||
<t>Keys -11 and 11 supply supplementary information, where key 11 is cri tical.</t> | <t>Keys -11 and 11 supply supplementary information, where key 11 is cri tical.</t> | |||
<t>Similar to keys -10 and 10, keys -11 (elective) and 11 (critical) can | <t>Similar to keys -10 and 10, keys -11 (elective) and 11 (critical) can | |||
be used to provide additional information in the style of IXDTF | be used to provide additional information in the style of Internet Extended Date /Time Format (IXDTF) | |||
suffixes, such as the calendar that would best fit for displaying the | suffixes, such as the calendar that would best fit for displaying the | |||
time given to humans. | time given to humans. | |||
The key's value is a map that has IXDTF <tt>suffix-key</tt> names as keys and | The key's value is a map that has IXDTF <tt>suffix-key</tt> names as keys and | |||
corresponding suffix values as values, specifically:</t> | corresponding suffix values as values, specifically:</t> | |||
<sourcecode type="cddl"><![CDATA[ | <sourcecode type="cddl"><![CDATA[ | |||
$$ETIME-ELECTIVE //= (-11: suffix-info-map) | $$ETIME-ELECTIVE //= (-11: suffix-info-map) | |||
$$ETIME-CRITICAL //= (11: suffix-info-map) | $$ETIME-CRITICAL //= (11: suffix-info-map) | |||
suffix-info-map = { * suffix-key => suffix-values } | suffix-info-map = { * suffix-key => suffix-values } | |||
suffix-key = tstr .abnf ("suffix-key" .det IXDTF) | suffix-key = tstr .abnf ("suffix-key" .det IXDTF) | |||
suffix-values = one-or-more<suffix-value> | suffix-values = one-or-more<suffix-value> | |||
one-or-more<T> = T / [ 2* T ] | one-or-more<T> = T / [ 2* T ] | |||
suffix-value = tstr .abnf ("suffix-value" .det IXDTF) | suffix-value = tstr .abnf ("suffix-value" .det IXDTF) | |||
IXDTF = ' | IXDTF = ' | |||
key-initial = lcalpha / "_" | key-initial = lcalpha / "_" | |||
key-char = key-initial / DIGIT / "-" | key-char = key-initial / DIGIT / "-" | |||
suffix-key = key-initial *key-char | suffix-key = key-initial *key-char | |||
suffix-value = 1*alphanum | suffix-value = 1*alphanum | |||
alphanum = ALPHA / DIGIT | alphanum = ALPHA / DIGIT | |||
lcalpha = %x61-7A | lcalpha = %x61-7A | |||
ALPHA = %x41-5A / %x61-7A ; A-Z / a-z | ALPHA = %x41-5A / %x61-7A ; A-Z / a-z | |||
DIGIT = %x30-39 ; 0-9 | DIGIT = %x30-39 ; 0-9 | |||
' ; extracted from [IXDTF]; update as needed! | ' ; extracted from [RFC9557] | |||
]]></sourcecode> | ]]></sourcecode> | |||
<t>When keys -11 and 11 both are present, the two maps <bcp14>MUST NOT</ bcp14> have | <t>When keys -11 and 11 are both present, the two maps <bcp14>MUST NOT</ bcp14> have | |||
entries with the same map keys.</t> | entries with the same map keys.</t> | |||
<t>Figure 4 of <xref target="IXDTF"/> gives an example for an extended d | <t>Figure 4 of <xref target="RFC9557"/> gives an example for an extended | |||
ate-time with both time zone | date-time with both time zone | |||
and suffix information:</t> | and suffix information:</t> | |||
<artwork><![CDATA[ | <artwork><![CDATA[ | |||
1996-12-19T16:39:57-08:00[America/Los_Angeles][u-ca=hebrew] | 1996-12-19T16:39:57-08:00[America/Los_Angeles][u-ca=hebrew] | |||
]]></artwork> | ]]></artwork> | |||
<t>A time tag that is approximating this example, in CBOR diagnostic | <t>A time tag that is approximating this example, in CBOR diagnostic | |||
notation, would be:</t> | notation, would be:</t> | |||
<sourcecode type="cbor-diag"><![CDATA[ | <sourcecode type="cbor-diag"><![CDATA[ | |||
/ 1996-12-19T16:39:57-08:00[America//Los_Angeles][u-ca=hebrew] / | / 1996-12-19T16:39:57-08:00[America//Los_Angeles][u-ca=hebrew] / | |||
1001({ 1: 851042397, | 1001({ 1: 851042397, | |||
-10: "America/Los_Angeles", | -10: "America/Los_Angeles", | |||
-11: { "u-ca": "hebrew" } | -11: { "u-ca": "hebrew" } | |||
}) | }) | |||
]]></sourcecode> | ]]></sourcecode> | |||
<t>Note that both -10 and -11 are using negative keys and therefore | <t>Note that both -10 and -11 are using negative keys and therefore | |||
provide elective information, as in the IXDTF form given in the comment. | provide elective information, as in the IXDTF form given in the comment. | |||
Note also that in this example the time numeric offset (<tt>-08:00</tt>) is | Also note that, in this example, the time numeric offset (<tt>-08:00</tt>) is | |||
lost in translating from the <xref target="RFC3339"/> information in the IXDTF i nto a | lost in translating from the <xref target="RFC3339"/> information in the IXDTF i nto a | |||
POSIX time that can be included under Key 1 in a time tag.</t> | POSIX time that can be included under key 1 in a time tag.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="duration"> | <section anchor="duration"> | |||
<name>Duration Format</name> | <name>Duration Format</name> | |||
<t>A duration is the length of an interval of time. | <t>A duration is the length of an interval of time. | |||
Durations in this format are given in SI seconds, possibly adjusted | Durations in this format are given in International System of Units (SI) seconds , possibly adjusted | |||
for conventional corrections of the timescale given (e.g., leap | for conventional corrections of the timescale given (e.g., leap | |||
seconds).</t> | seconds).</t> | |||
<t>Except for using Tag 1002 instead of 1001, | <t>Except for using tag 1002 instead of 1001, | |||
durations are structurally identical to time values.</t> | durations are structurally identical to time values.</t> | |||
<sourcecode type="cddl"><![CDATA[ | <sourcecode type="cddl"><![CDATA[ | |||
Duration = #6.1002(etime-detailed) | Duration = #6.1002(etime-detailed) | |||
]]></sourcecode> | ]]></sourcecode> | |||
<t>Semantically, they do not measure the time elapsed from a given epoch, | <t>Semantically, they do not measure the time elapsed from a given epoch | |||
but from the start to the end of (an otherwise unspecified) interval | but from the start to the end of an (otherwise unspecified) interval | |||
of time.</t> | of time.</t> | |||
<t>In combination with an epoch identified in the context, a duration can | <t>In combination with an epoch identified in the context, a duration can | |||
also be used to express an absolute time.</t> | also be used to express an absolute time.</t> | |||
<t>Without such context, durations are subject to some uncertainties | <t>Without such context, durations are subject to some uncertainties | |||
underlying the timescale used. | underlying the timescale used. | |||
E.g., for durations intended as a determinant of future time periods, | For example, for durations intended as a determinant of future time periods, | |||
there is some uncertainty of what irregularities (such as leap | there is some uncertainty of what irregularities (such as leap | |||
seconds, timescale corrections) will be exhibited by the timescale in | seconds and timescale corrections) will be exhibited by the timescale in | |||
that period. | that period. | |||
For durations as measurements of past periods, abstracting the period | For durations as measurements of past periods, abstracting the period | |||
to a duration loses some detail about timescale irregularities. | to a duration loses some detail about timescale irregularities. | |||
For many applications, these uncertainties are acceptable and thus | For many applications, these uncertainties are acceptable and thus | |||
the use of durations is appropriate.</t> | the use of durations is appropriate.</t> | |||
<aside> | <aside> | |||
<t>Note that the durations defined in <xref target="ISO8601"/> and <xref target="ISO8601-2019"/> are rather different from the ones defined | <t>Note that the durations defined in <xref target="ISO8601"/> and <xref target="ISO8601-2019"/> are rather different from the ones defined | |||
in the present specification; there is no intention to support ISO 8601 | in the present specification; there is no intention to support ISO 8601 | |||
durations here.</t> | durations here.</t> | |||
</aside> | </aside> | |||
</section> | </section> | |||
<section anchor="period"> | <section anchor="period"> | |||
<name>Period Format</name> | <name>Period Format</name> | |||
<t>A period is a specific interval of time, specified as either two | <t>A period is a specific interval of time, specified as either two | |||
extended times giving the start and the end of that interval, or as | extended times giving the start and the end of that interval or as | |||
one of these two plus a duration.</t> | one of these two plus a duration.</t> | |||
<t>This is represented as an array of unwrapped time and duration elements , | <t>This is represented as an array of unwrapped time and duration elements , | |||
tagged with Tag 1003, one of:</t> | tagged with tag 1003, one of:</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li> | <li> | |||
<t>a start and end time, in which case the | <t>a start and end time, in which case the | |||
tag content is an array of two unwrapped extended time elements;</t> | tag content is an array of two unwrapped extended time elements, or</t> | |||
</li> | </li> | |||
<li> | <li> | |||
<t>a start time with duration or an end time with duration. | <t>a start time with duration or an end time with duration. | |||
The tag content is an array of 3 elements: the first two as | The tag content is an array of 3 elements: the first two as | |||
above but either the start or end time <bcp14>MUST</bcp14> be set to null; the | above but either the start or end time <bcp14>MUST</bcp14> be set to null and th e | |||
third one then is an unwrapped duration.</t> | third one then is an unwrapped duration.</t> | |||
</li> | </li> | |||
</ul> | </ul> | |||
<t>A simple CDDL definition that does not capture all the constraints is:< /t> | <t>A simple CDDL definition that does not capture all the constraints is:< /t> | |||
<sourcecode type="cddl"><![CDATA[ | <sourcecode type="cddl"><![CDATA[ | |||
simple-Period = #6.1003([ | simple-Period = #6.1003([ | |||
start: ~Etime / null | start: ~Etime / null | |||
end: ~Etime / null | end: ~Etime / null | |||
? duration: ~Duration | ? duration: ~Duration | |||
]) | ]) | |||
skipping to change at line 808 ¶ | skipping to change at line 812 ¶ | |||
((end: ~Etime) // | ((end: ~Etime) // | |||
(end: null, | (end: null, | |||
duration: ~Duration))) // | duration: ~Duration))) // | |||
(start: null, | (start: null, | |||
end: ~Etime, | end: ~Etime, | |||
duration: ~Duration) | duration: ~Duration) | |||
]) | ]) | |||
]]></sourcecode> | ]]></sourcecode> | |||
</section> | </section> | |||
<section anchor="cddl-typenames"> | <section anchor="cddl-typenames"> | |||
<name>CDDL typenames</name> | <name>CDDL Type Names</name> | |||
<t>When detailed validation is not needed, the | <t>When detailed validation is not needed, the | |||
type names defined in <xref target="tag-cddl"/> are recommended:</t> | type names defined in <xref target="tag-cddl"/> are recommended:</t> | |||
<figure anchor="tag-cddl"> | <figure anchor="tag-cddl"> | |||
<name>Recommended type names for CDDL</name> | <name>Recommended Type Names for CDDL</name> | |||
<sourcecode type="cddl"><![CDATA[ | <sourcecode type="cddl"><![CDATA[ | |||
etime = #6.1001({* (int/tstr) => any}) | etime = #6.1001({* (int/tstr) => any}) | |||
duration = #6.1002({* (int/tstr) => any}) | duration = #6.1002({* (int/tstr) => any}) | |||
period = #6.1003([~etime/null, ~etime/null, ~duration/null]) | period = #6.1003([~etime/null, ~etime/null, ?~duration]) | |||
]]></sourcecode> | ]]></sourcecode> | |||
</figure> | </figure> | |||
</section> | </section> | |||
<section anchor="iana-considerations"> | <section anchor="iana-considerations"> | |||
<name>IANA Considerations</name> | <name>IANA Considerations</name> | |||
<t><cref anchor="to-be-removed">RFC Editor: please replace RFCthis with th | ||||
e RFC | ||||
number of this RFC, and remove this note.</cref></t> | ||||
<section anchor="cbor-tags"> | <section anchor="cbor-tags"> | |||
<name>CBOR tags</name> | <name>CBOR Tags</name> | |||
<t>In the "CBOR Tags" registry <xref target="IANA.cbor-tags"/>, | <t>In the "CBOR Tags" registry <xref target="IANA.cbor-tags"/>, | |||
IANA has allocated the tags in <xref target="tab-tag-values"/> from what was at | IANA has allocated the tags in <xref target="tab-tag-values"/>.</t> | |||
the | ||||
time the | ||||
FCFS space, with the present document as the specification reference.</t> | ||||
<table anchor="tab-tag-values"> | <table anchor="tab-tag-values"> | |||
<name>Values for Tags</name> | <name>Values for Tags</name> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="right">Tag</th> | <th align="right">Tag</th> | |||
<th align="left">Data Item</th> | <th align="left">Data Item</th> | |||
<th align="left">Semantics</th> | <th align="left">Semantics</th> | |||
<th align="left">Reference</th> | ||||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="right">1001</td> | <td align="right">1001</td> | |||
<td align="left">map</td> | <td align="left">map</td> | |||
<td align="left">[RFCthis] extended time</td> | <td align="left">extended time</td> | |||
<td align="left">[RFC9581, <xref target="time-format"/>]</td> | ||||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="right">1002</td> | <td align="right">1002</td> | |||
<td align="left">map</td> | <td align="left">map</td> | |||
<td align="left">[RFCthis] duration</td> | <td align="left">duration</td> | |||
<td align="left">[RFC9581, <xref target="duration"/>]</td> | ||||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="right">1003</td> | <td align="right">1003</td> | |||
<td align="left">array</td> | <td align="left">array</td> | |||
<td align="left">[RFCthis] period</td> | <td align="left">period</td> | |||
<td align="left">[RFC9581, <xref target="period"/>]</td> | ||||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table> | </table> | |||
<t>IANA is requested to change the "Data Item" column for Tag 1003 from | <t>IANA has updated the "Data Item" column for tag 1003 from | |||
"map" to "array".</t> | "map" to "array".</t> | |||
</section> | </section> | |||
<section anchor="timescale-registry"> | <section anchor="timescale-registry"> | |||
<name>Timescale Registry</name> | <name>Timescales Registry</name> | |||
<t>This specification defines a new registry titled "Timescales" in the | <t>Per this specification, IANA has created a new "Timescales" registry | |||
"CBOR Tags" registry group <xref target="IANA.cbor-tags"/>, with a Registration | within the | |||
Procedure | "Concise Binary Object Representation (CBOR) Tags" registry group <xref target=" | |||
requiring both "Expert Review" and "RFC Required" (Sections <xref section="4.5" | IANA.cbor-tags"/>. The registration procedure requires both | |||
sectionFormat="bare" target="BCP26"/> and <xref section="4.7" sectionFormat="bar | "Expert Review" and "RFC Required" (Sections <xref section="4.5" sectionFormat=" | |||
e" target="BCP26"/> of <xref target="BCP26"/>).</t> | bare" target="RFC8126"/> and | |||
<xref section="4.7" sectionFormat="bare" target="RFC8126"/> of RFC 8126 <xref ta | ||||
rget="BCP26"/>, respectively).</t> | ||||
<t>Each entry needs to provide a timescale name (a sequence of uppercase | <t>Each entry needs to provide a timescale name (a sequence of uppercase | |||
ASCII characters and digits, where a digit may not occur at the start: | ASCII characters and digits, where a digit may not occur at the start: | |||
<tt>[A-Z][A-Z0-9]*</tt>), a value (CBOR unsigned integer, uint, | <tt>[A-Z][A-Z0-9]*</tt>), a value (CBOR unsigned integer, uint, | |||
0..18446744073709551615), a brief description | 0..18446744073709551615), a brief description | |||
of the semantics, and a specification reference (RFC). | of the semantics, and a specification reference (RFC). | |||
The initial contents are shown in <xref target="tab-timescales"/>.</t> | The initial contents are shown in <xref target="tab-timescales"/>.</t> | |||
<table anchor="tab-timescales"> | <table anchor="tab-timescales"> | |||
<name>Initial Content of Timescale Registry</name> | <name>Initial Content of Timescale Registry</name> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
skipping to change at line 886 ¶ | skipping to change at line 891 ¶ | |||
<th align="right">Value</th> | <th align="right">Value</th> | |||
<th align="left">Semantics</th> | <th align="left">Semantics</th> | |||
<th align="left">Reference</th> | <th align="left">Reference</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left">UTC</td> | <td align="left">UTC</td> | |||
<td align="right">0</td> | <td align="right">0</td> | |||
<td align="left">UTC with POSIX Epoch</td> | <td align="left">UTC with POSIX Epoch</td> | |||
<td align="left">[RFCthis]</td> | <td align="left">[RFC9581]</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left">TAI</td> | <td align="left">TAI</td> | |||
<td align="right">1</td> | <td align="right">1</td> | |||
<td align="left">TAI with PTP Epoch</td> | <td align="left">TAI with PTP Epoch</td> | |||
<td align="left">[RFCthis]</td> | <td align="left">[RFC9581]</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table> | </table> | |||
</section> | </section> | |||
<section anchor="map-key-registry"> | <section anchor="map-key-registry"> | |||
<name>Time Tag Map Key Registry</name> | <name>Time Tag Map Keys Registry</name> | |||
<t>This specification defines a new registry titled "Time Tag Map Keys" | <t>Per this specification, IANA has created a new "Time Tag Map Keys" re | |||
in the "CBOR Tags" registry group <xref target="IANA.cbor-tags"/>, with "Specifi | gistry within the "Concise Binary Object Representation (CBOR) Tags" registry gr | |||
cation | oup <xref target="IANA.cbor-tags"/>. The registration procedure is "Specificat | |||
Required" as the Registration Procedure (<xref section="4.6" sectionFormat="of" | ion | |||
target="BCP26"/>).</t> | Required" (Section <xref section="4.6" sectionFormat="bare" target="RFC8126"/> o | |||
f RFC 8126 <xref target="BCP26"/>).</t> | ||||
<t>The designated expert is requested to assign the key values with the | <t>The designated expert is requested to assign the key values with the | |||
shortest encodings (1+0 and 1+1 encoding) to registrations that are | shortest encodings (1+0 and 1+1 encoding) to registrations that are | |||
likely to enjoy wide use and can benefit from short encodings.</t> | likely to enjoy wide use and can benefit from short encodings.</t> | |||
<t>Each entry needs to provide a map key value (CBOR integer, int, | <t>Each entry needs to provide a map key value (CBOR integer, int, | |||
-18446744073709551616..18446744073709551615), a brief description | -18446744073709551616..18446744073709551615), a brief description | |||
of the semantics, and a specification reference. | of the semantics, and a specification reference. | |||
Note that negative integers indicate an elective key, while unsigned | Note that negative integers indicate an elective key, while unsigned | |||
integers indicate a key that either provides a base time or is | integers indicate a key that either provides a base time or is | |||
critical. | critical. The designated expert is requested to discuss with the registrant | |||
whether or not it is desirable to register a pair of an elective and a | ||||
critical key for the same information, where the elective key value | ||||
is the negative of the critical key (similar to how for example -11 | ||||
and 11 have been assigned in <xref target="tab-mapkeys"/>). | ||||
For the unsigned integers as keys, the choice of base time or critical | For the unsigned integers as keys, the choice of base time or critical | |||
needs to be indicated in the brief semantics description. | needs to be indicated in the brief semantics description. | |||
(Elective map keys may be explicitly marked as such in the | (Elective map keys may be explicitly marked as such in the | |||
description, e.g., to distinguish them from critical keys.)</t> | description, e.g., to distinguish them from critical keys.)</t> | |||
<t>The initial contents are shown in <xref target="tab-mapkeys"/>.</t> | <t>The initial contents are shown in <xref target="tab-mapkeys"/>.</t> | |||
<table anchor="tab-mapkeys"> | <table anchor="tab-mapkeys"> | |||
<name>Initial Content of Time Tag Map Keys Registry</name> | <name>Initial Content of Time Tag Map Keys Registry</name> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="right">Value</th> | <th align="right">Value</th> | |||
<th align="left">Semantics</th> | <th align="left">Semantics</th> | |||
<th align="left">Reference</th> | <th align="left">Reference</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="right">-18</td> | <td align="right">-18</td> | |||
<td align="left">attoseconds</td> | <td align="left">attoseconds</td> | |||
<td align="left">[RFCthis]</td> | <td align="left">[RFC9581]</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="right">-15</td> | <td align="right">-15</td> | |||
<td align="left">femtoseconds</td> | <td align="left">femtoseconds</td> | |||
<td align="left">[RFCthis]</td> | <td align="left">[RFC9581]</td> | |||
</tr> | </tr> | |||
<tr> | ||||
<td align="right">-13</td> | ||||
<td align="left">timescale (elective)</td> | ||||
<td align="left">[RFC9581]</td> | ||||
</tr> | ||||
<tr> | <tr> | |||
<td align="right">-12</td> | <td align="right">-12</td> | |||
<td align="left">picoseconds</td> | <td align="left">picoseconds</td> | |||
<td align="left">[RFCthis]</td> | <td align="left">[RFC9581]</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="right">-11</td> | <td align="right">-11</td> | |||
<td align="left">IXDTF Suffix Information (elective)</td> | <td align="left">IXDTF Suffix Information (elective)</td> | |||
<td align="left">[RFCthis], <xref target="IXDTF"/></td> | <td align="left">[RFC9581], <xref target="RFC9557"/></td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="right">-10</td> | <td align="right">-10</td> | |||
<td align="left">IXDTF Time Zone Hint (elective)</td> | <td align="left">IXDTF Time Zone Hint (elective)</td> | |||
<td align="left">[RFCthis], <xref target="IXDTF"/></td> | <td align="left">[RFC9581], <xref target="RFC9557"/></td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="right">-9</td> | <td align="right">-9</td> | |||
<td align="left">nanoseconds</td> | <td align="left">nanoseconds</td> | |||
<td align="left">[RFCthis]</td> | <td align="left">[RFC9581]</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="right">-8</td> | <td align="right">-8</td> | |||
<td align="left">Guarantee</td> | <td align="left">Guarantee</td> | |||
<td align="left">[RFCthis]</td> | <td align="left">[RFC9581]</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="right">-7</td> | <td align="right">-7</td> | |||
<td align="left">Uncertainty</td> | <td align="left">Uncertainty</td> | |||
<td align="left">[RFCthis]</td> | <td align="left">[RFC9581]</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="right">-6</td> | <td align="right">-6</td> | |||
<td align="left">microseconds</td> | <td align="left">microseconds</td> | |||
<td align="left">[RFCthis]</td> | <td align="left">[RFC9581]</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="right">-5</td> | <td align="right">-5</td> | |||
<td align="left">Offset-Scaled Log Variance</td> | <td align="left">Offset-Scaled Log Variance</td> | |||
<td align="left">[RFCthis]</td> | <td align="left">[RFC9581]</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="right">-4</td> | <td align="right">-4</td> | |||
<td align="left">Clock Accuracy</td> | <td align="left">Clock Accuracy</td> | |||
<td align="left">[RFCthis]</td> | <td align="left">[RFC9581]</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="right">-3</td> | <td align="right">-3</td> | |||
<td align="left">milliseconds</td> | <td align="left">milliseconds</td> | |||
<td align="left">[RFCthis]</td> | <td align="left">[RFC9581]</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="right">-2</td> | <td align="right">-2</td> | |||
<td align="left">Clock Class</td> | <td align="left">Clock Class</td> | |||
<td align="left">[RFCthis]</td> | <td align="left">[RFC9581]</td> | |||
</tr> | </tr> | |||
<tr> | ||||
<td align="right">-1</td> | ||||
<td align="left">timescale (elective) legacy</td> | ||||
<td align="left">[RFC9581]</td> | ||||
</tr> | ||||
<tr> | <tr> | |||
<td align="right">1</td> | <td align="right">1</td> | |||
<td align="left">base time value as in CBOR Tag 1</td> | <td align="left">base time value as in CBOR tag 1</td> | |||
<td align="left"> | <td align="left"> | |||
<xref target="RFC8949"/> [RFCthis]</td> | <xref target="RFC8949"/>, [RFC9581]</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="right">4</td> | <td align="right">4</td> | |||
<td align="left">base time value as in CBOR Tag 4</td> | <td align="left">base time value as in CBOR tag 4</td> | |||
<td align="left"> | <td align="left"> | |||
<xref target="RFC8949"/> [RFCthis]</td> | <xref target="RFC8949"/>, [RFC9581]</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="right">5</td> | <td align="right">5</td> | |||
<td align="left">base time value as in CBOR Tag 5</td> | <td align="left">base time value as in CBOR tag 5</td> | |||
<td align="left"> | <td align="left"> | |||
<xref target="RFC8949"/> [RFCthis]</td> | <xref target="RFC8949"/>, [RFC9581]</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="right">10</td> | <td align="right">10</td> | |||
<td align="left">IXDTF Time Zone Hint (critical)</td> | <td align="left">IXDTF Time Zone Hint (critical)</td> | |||
<td align="left">[RFCthis], <xref target="IXDTF"/></td> | <td align="left"><xref target="RFC9557"/>, [RFC9581]</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="right">11</td> | <td align="right">11</td> | |||
<td align="left">IXDTF Suffix Information (critical)</td> | <td align="left">IXDTF Suffix Information (critical)</td> | |||
<td align="left">[RFCthis], <xref target="IXDTF"/></td> | <td align="left"><xref target="RFC9557"/>, [RFC9581]</td> | |||
</tr> | </tr> | |||
<tr> | ||||
<td align="right">13</td> | ||||
<td align="left">timescale (critical)</td> | ||||
<td align="left">[RFC9581]</td> | ||||
</tr> | ||||
</tbody> | </tbody> | |||
</table> | </table> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="security-considerations"> | <section anchor="security-considerations"> | |||
<name>Security Considerations</name> | <name>Security Considerations</name> | |||
<t>The security considerations of <xref target="RFC8949"/> apply; the tags introduced | <t>The security considerations of <xref target="RFC8949"/> apply; the tags introduced | |||
here are not expected to raise security considerations beyond those.</t> | here are not expected to raise security considerations beyond those.</t> | |||
<t>Time, of course, has significant security considerations; these | <t>Time, of course, has significant security considerations; these | |||
include the exploitation of ambiguities where time is security | include the exploitation of ambiguities where time is security | |||
relevant (e.g., for freshness or in a validity span) or the disclosure | relevant (e.g., for freshness or in a validity span) or the disclosure | |||
of characteristics of the emitting system (e.g., time zone, or clock | of characteristics of the emitting system (e.g., time zone or clock | |||
resolution and wall clock offset).</t> | resolution and wall clock offset).</t> | |||
<t>A more detailed discussion of security considerations emanating from | <t>A more detailed discussion of security considerations emanating from | |||
using a representation of time that allows the inclusion of complex, | using a representation of time that allows the inclusion of complex and | |||
possibly inconsistent information is available in | possibly inconsistent information is available in "Security Considerations" | |||
Section <xref section="7" sectionFormat="bare" target="IXDTF">Security Considera | (<xref section="7" sectionFormat="of" target="RFC9557"></xref>).</t> | |||
tions</xref> of <xref target="IXDTF"/>.</t> | ||||
</section> | </section> | |||
</middle> | </middle> | |||
<back> | <back> | |||
<displayreference target="ISO8601" to="ISO8601:1988"/> | <displayreference target="ISO8601" to="ISO8601:1988"/> | |||
<displayreference target="ISO8601-2019" to="ISO8601-1:2019"/> | <displayreference target="ISO8601-2019" to="ISO8601-1:2019"/> | |||
<references> | <references> | |||
<name>References</name> | <name>References</name> | |||
<references anchor="sec-normative-references"> | <references anchor="sec-normative-references"> | |||
<name>Normative References</name> | <name>Normative References</name> | |||
<reference anchor="RFC8949"> | ||||
<front> | <xi:include | |||
<title>Concise Binary Object Representation (CBOR)</title> | href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8949.xml"/ | |||
<author fullname="C. Bormann" initials="C." surname="Bormann"/> | > | |||
<author fullname="P. Hoffman" initials="P." surname="Hoffman"/> | ||||
<date month="December" year="2020"/> | <referencegroup anchor="BCP26" target="https://www.rfc-editor.org/info/bc | |||
<abstract> | p26"> | |||
<t>The Concise Binary Object Representation (CBOR) is a data forma | <xi:include | |||
t whose design goals include the possibility of extremely small code size, fairl | href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml"/ | |||
y small message size, and extensibility without the need for version negotiation | > | |||
. These design goals make it different from earlier binary serializations such a | </referencegroup> | |||
s ASN.1 and MessagePack.</t> | ||||
<t>This document obsoletes RFC 7049, providing editorial improveme | ||||
nts, new details, and errata fixes while keeping full compatibility with the int | ||||
erchange format of RFC 7049. It does not create a new version of the format.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="STD" value="94"/> | ||||
<seriesInfo name="RFC" value="8949"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8949"/> | ||||
</reference> | ||||
<reference anchor="BCP26"> | ||||
<front> | ||||
<title>Guidelines for Writing an IANA Considerations Section in RFCs | ||||
</title> | ||||
<author fullname="M. Cotton" initials="M." surname="Cotton"/> | ||||
<author fullname="B. Leiba" initials="B." surname="Leiba"/> | ||||
<author fullname="T. Narten" initials="T." surname="Narten"/> | ||||
<date month="June" year="2017"/> | ||||
<abstract> | ||||
<t>Many protocols make use of points of extensibility that use con | ||||
stants to identify various protocol parameters. To ensure that the values in the | ||||
se fields do not have conflicting uses and to promote interoperability, their al | ||||
locations are often coordinated by a central record keeper. For IETF protocols, | ||||
that role is filled by the Internet Assigned Numbers Authority (IANA).</t> | ||||
<t>To make assignments in a given registry prudently, guidance des | ||||
cribing the conditions under which new values should be assigned, as well as whe | ||||
n and how modifications to existing values can be made, is needed. This document | ||||
defines a framework for the documentation of these guidelines by specification | ||||
authors, in order to assure that the provided guidance for the IANA Consideratio | ||||
ns is clear and addresses the various issues that are likely in the operation of | ||||
a registry.</t> | ||||
<t>This is the third edition of this document; it obsoletes RFC 52 | ||||
26.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="BCP" value="26"/> | ||||
<seriesInfo name="RFC" value="8126"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8126"/> | ||||
</reference> | ||||
<reference anchor="TIME_T" target="http://pubs.opengroup.org/onlinepubs/ 9699919799/basedefs/V1_chap04.html#tag_04_16"> | <reference anchor="TIME_T" target="http://pubs.opengroup.org/onlinepubs/ 9699919799/basedefs/V1_chap04.html#tag_04_16"> | |||
<front> | <front> | |||
<title>Vol. 1: Base Definitions, Issue 7</title> | <title>The Open Group Base Specifications Issue 7</title> | |||
<author> | <author> | |||
<organization>The Open Group Base Specifications</organization> | <organization>IEEE</organization> | |||
</author> | </author> | |||
<date year="2018"/> | <date year="2018"/> | |||
</front> | </front> | |||
<seriesInfo name="Section 4.16" value="'Seconds Since the Epoch'"/> | ||||
<seriesInfo name="IEEE Std" value="1003.1-2017"/> | <seriesInfo name="IEEE Std" value="1003.1-2017"/> | |||
<seriesInfo name="2018" value="Edition"/> | <refcontent>Section 4.16 Seconds Since the Epoch</refcontent> | |||
</reference> | </reference> | |||
<reference anchor="SI-SECOND"> | ||||
<reference anchor="SI-SECOND" target="https://www.iso.org/standard/64974 | ||||
.html"> | ||||
<front> | <front> | |||
<title>Quantities and units — Part 3: Space and time</title> | <title>Quantities and units -- Part 3: Space and time</title> | |||
<author> | <author> | |||
<organization>International Organization for Standardization (ISO) </organization> | <organization>ISO</organization> | |||
</author> | </author> | |||
<date day="01" month="March" year="2006"/> | <date month="October" year="2019"/> | |||
</front> | ||||
<seriesInfo name="ISO" value="80000-3"/> | ||||
</reference> | ||||
<reference anchor="RFC8575"> | ||||
<front> | ||||
<title>YANG Data Model for the Precision Time Protocol (PTP)</title> | ||||
<author fullname="Y. Jiang" initials="Y." role="editor" surname="Jia | ||||
ng"/> | ||||
<author fullname="X. Liu" initials="X." surname="Liu"/> | ||||
<author fullname="J. Xu" initials="J." surname="Xu"/> | ||||
<author fullname="R. Cummings" initials="R." role="editor" surname=" | ||||
Cummings"/> | ||||
<date month="May" year="2019"/> | ||||
<abstract> | ||||
<t>This document defines a YANG data model for the configuration o | ||||
f devices and clocks using the Precision Time Protocol (PTP) as specified in IEE | ||||
E Std 1588-2008. It also defines the retrieval of the configuration information, | ||||
the data sets and the running states of PTP clocks. The YANG module in this doc | ||||
ument conforms to the Network Management Datastore Architecture (NMDA).</t> | ||||
</abstract> | ||||
</front> | </front> | |||
<seriesInfo name="RFC" value="8575"/> | <seriesInfo name="ISO" value="80000-3:2019"/> | |||
<seriesInfo name="DOI" value="10.17487/RFC8575"/> | ||||
</reference> | </reference> | |||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8575.xml" | ||||
/> | ||||
<reference anchor="IEEE1588-2008" target="https://standards.ieee.org/iee e/1588/4355/"> | <reference anchor="IEEE1588-2008" target="https://standards.ieee.org/iee e/1588/4355/"> | |||
<front> | <front> | |||
<title>IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems</title> | <title>IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems</title> | |||
<author> | <author> | |||
<organization>IEEE</organization> | <organization>IEEE</organization> | |||
</author> | </author> | |||
<date month="July" year="2008"/> | <date month="July" year="2008"/> | |||
</front> | </front> | |||
<seriesInfo name="IEEE" value="1588-2008"/> | <seriesInfo name="IEEE" value="1588-2008"/> | |||
<annotation>Often called PTP v2, as it replaced the earlier 2002 versi on of this standard by a non-backwards compatible protocol.</annotation> | <annotation>Often called PTP v2, as it replaced the earlier 2002 versi on of this standard by a non-backwards compatible protocol.</annotation> | |||
skipping to change at line 1136 ¶ | skipping to change at line 1126 ¶ | |||
<front> | <front> | |||
<title>IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems</title> | <title>IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems</title> | |||
<author> | <author> | |||
<organization>IEEE</organization> | <organization>IEEE</organization> | |||
</author> | </author> | |||
<date month="June" year="2020"/> | <date month="June" year="2020"/> | |||
</front> | </front> | |||
<seriesInfo name="IEEE" value="1588-2019"/> | <seriesInfo name="IEEE" value="1588-2019"/> | |||
<annotation>Often called PTP v2.1, as it has been designed so it can b e used in a way that is fully backwards compatible to IEEE1588-2008.</annotation > | <annotation>Often called PTP v2.1, as it has been designed so it can b e used in a way that is fully backwards compatible to IEEE1588-2008.</annotation > | |||
</reference> | </reference> | |||
<reference anchor="GUM" target="https://www.bipm.org/en/publications/gui des/gum.html"> | <reference anchor="GUM" target="https://www.bipm.org/en/publications/gui des/gum.html"> | |||
<front> | <front> | |||
<title>Evaluation of measurement data — Guide to the expression of u ncertainty in measurement</title> | <title>Evaluation of measurement data -- Guide to the expression of uncertainty in measurement</title> | |||
<author> | <author> | |||
<organization>Joint Committee for Guides in Metrology</organizatio n> | <organization>Joint Committee for Guides in Metrology</organizatio n> | |||
</author> | </author> | |||
<date month="September" year="2008"/> | <date month="September" year="2008"/> | |||
</front> | </front> | |||
<seriesInfo name="JCGM" value="100:2008"/> | <seriesInfo name="JCGM" value="100:2008"/> | |||
</reference> | </reference> | |||
<reference anchor="IANA.cbor-tags" target="https://www.iana.org/assignme nts/cbor-tags"> | <reference anchor="IANA.cbor-tags" target="https://www.iana.org/assignme nts/cbor-tags"> | |||
<front> | <front> | |||
<title>Concise Binary Object Representation (CBOR) Tags</title> | <title>Concise Binary Object Representation (CBOR) Tags</title> | |||
<author> | <author> | |||
<organization>IANA</organization> | <organization>IANA</organization> | |||
</author> | </author> | |||
</front> | </front> | |||
</reference> | </reference> | |||
<reference anchor="RFC8610"> | ||||
<front> | ||||
<title>Concise Data Definition Language (CDDL): A Notational Convent | ||||
ion to Express Concise Binary Object Representation (CBOR) and JSON Data Structu | ||||
res</title> | ||||
<author fullname="H. Birkholz" initials="H." surname="Birkholz"/> | ||||
<author fullname="C. Vigano" initials="C." surname="Vigano"/> | ||||
<author fullname="C. Bormann" initials="C." surname="Bormann"/> | ||||
<date month="June" year="2019"/> | ||||
<abstract> | ||||
<t>This document proposes a notational convention to express Conci | ||||
se Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal | ||||
is to provide an easy and unambiguous way to express structures for protocol me | ||||
ssages and data formats that use CBOR or JSON.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="8610"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8610"/> | ||||
</reference> | ||||
<reference anchor="IXDTF"> | ||||
<front> | ||||
<title>Date and Time on the Internet: Timestamps with additional inf | ||||
ormation</title> | ||||
<author fullname="Ujjwal Sharma" initials="U." surname="Sharma"> | ||||
<organization>Igalia, S.L.</organization> | ||||
</author> | ||||
<author fullname="Carsten Bormann" initials="C." surname="Bormann"> | ||||
<organization>Universität Bremen TZI</organization> | ||||
</author> | ||||
<date day="23" month="October" year="2023"/> | ||||
<abstract> | ||||
<t> This document defines an extension to the timestamp format d | ||||
efined in | ||||
RFC3339 for representing additional information including a time | ||||
zone. | ||||
It updates RFC3339 in the specific interpretation of the local offset | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8610.xml" | |||
Z, which is no longer understood to "imply that UTC is the preferred | /> | |||
reference point for the specified time"; see Section 2. | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9557.xml" | |||
/> | ||||
// (This "cref" paragraph will be removed by the RFC editor:) The | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml" | |||
// present version (-11) addresses comments received during IESG | /> | |||
// review. | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml" | |||
/> | ||||
</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-ietf-sedate-datetime-ex | ||||
tended-11"/> | ||||
</reference> | ||||
<reference anchor="RFC2119"> | ||||
<front> | ||||
<title>Key words for use in RFCs to Indicate Requirement Levels</tit | ||||
le> | ||||
<author fullname="S. Bradner" initials="S." surname="Bradner"/> | ||||
<date month="March" year="1997"/> | ||||
<abstract> | ||||
<t>In many standards track documents several words are used to sig | ||||
nify the requirements in the specification. These words are often capitalized. T | ||||
his document defines these words as they should be interpreted in IETF documents | ||||
. This document specifies an Internet Best Current Practices for the Internet Co | ||||
mmunity, and requests discussion and suggestions for improvements.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="BCP" value="14"/> | ||||
<seriesInfo name="RFC" value="2119"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC2119"/> | ||||
</reference> | ||||
<reference anchor="RFC8174"> | ||||
<front> | ||||
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</ti | ||||
tle> | ||||
<author fullname="B. Leiba" initials="B." surname="Leiba"/> | ||||
<date month="May" year="2017"/> | ||||
<abstract> | ||||
<t>RFC 2119 specifies common key words that may be used in protoco | ||||
l specifications. This document aims to reduce the ambiguity by clarifying that | ||||
only UPPERCASE usage of the key words have the defined special meanings.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="BCP" value="14"/> | ||||
<seriesInfo name="RFC" value="8174"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8174"/> | ||||
</reference> | ||||
</references> | </references> | |||
<references anchor="sec-informative-references"> | ||||
<references anchor="sec-informative-references"> | ||||
<name>Informative References</name> | <name>Informative References</name> | |||
<reference anchor="RFC3161"> | ||||
<front> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3161.xml" | |||
<title>Internet X.509 Public Key Infrastructure Time-Stamp Protocol | /> | |||
(TSP)</title> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3339.xml" | |||
<author fullname="C. Adams" initials="C." surname="Adams"/> | /> | |||
<author fullname="P. Cain" initials="P." surname="Cain"/> | ||||
<author fullname="D. Pinkas" initials="D." surname="Pinkas"/> | ||||
<author fullname="R. Zuccherato" initials="R." surname="Zuccherato"/ | ||||
> | ||||
<date month="August" year="2001"/> | ||||
<abstract> | ||||
<t>This document describes the format of a request sent to a Time | ||||
Stamping Authority (TSA) and of the response that is returned. It also establish | ||||
es several security-relevant requirements for TSA operation, with regards to pro | ||||
cessing requests to generate responses. [STANDARDS-TRACK]</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="3161"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC3161"/> | ||||
</reference> | ||||
<reference anchor="RFC3339"> | ||||
<front> | ||||
<title>Date and Time on the Internet: Timestamps</title> | ||||
<author fullname="G. Klyne" initials="G." surname="Klyne"/> | ||||
<author fullname="C. Newman" initials="C." surname="Newman"/> | ||||
<date month="July" year="2002"/> | ||||
<abstract> | ||||
<t>This document defines a date and time format for use in Interne | ||||
t protocols that is a profile of the ISO 8601 standard for representation of dat | ||||
es and times using the Gregorian calendar.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="3339"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC3339"/> | ||||
</reference> | ||||
<reference anchor="ISO8601" target="https://www.iso.org/standard/15903.h tml"> | <reference anchor="ISO8601" target="https://www.iso.org/standard/15903.h tml"> | |||
<front> | <front> | |||
<title>Data elements and interchange formats — Information interchan ge — Representation of dates and times</title> | <title>Data elements and interchange formats -- Information intercha nge -- Representation of dates and times</title> | |||
<author> | <author> | |||
<organization abbrev="ISO">International Organization for Standard ization</organization> | <organization>ISO</organization> | |||
</author> | </author> | |||
<date month="June" year="1988"/> | <date month="June" year="1988"/> | |||
</front> | </front> | |||
<seriesInfo name="ISO" value="8601:1988"/> | <seriesInfo name="ISO" value="8601:1988"/> | |||
<annotation>Also available from <<eref target="https://nvlpubs.nis t.gov/nistpubs/Legacy/FIPS/fipspub4-1-1991.pdf">https://nvlpubs.nist.gov/nistpub s/Legacy/FIPS/fipspub4-1-1991.pdf</eref>>.</annotation> | <annotation>Also available from <<eref target="https://nvlpubs.nist .gov/nistpubs/Legacy/FIPS/fipspub4-1-1991.pdf">https://nvlpubs.nist.gov/nistpubs /Legacy/FIPS/fipspub4-1-1991.pdf</eref>>.</annotation> | |||
</reference> | </reference> | |||
<reference anchor="ISO8601-2019" target="https://www.iso.org/standard/70 907.html"> | <reference anchor="ISO8601-2019" target="https://www.iso.org/standard/70 907.html"> | |||
<front> | <front> | |||
<title>Date and time — Representations for information interchange — Part 1: Basic rules</title> | <title>Date and time -- Representations for information interchange -- Part 1: Basic rules</title> | |||
<author> | <author> | |||
<organization abbrev="ISO">International Organization for Standard ization</organization> | <organization>ISO</organization> | |||
</author> | </author> | |||
<date month="February" year="2019"/> | <date month="February" year="2019"/> | |||
</front> | </front> | |||
<seriesInfo name="ISO" value="8601-1:2019"/> | <seriesInfo name="ISO" value="8601-1:2019"/> | |||
</reference> | </reference> | |||
<reference anchor="C" target="https://www.iso.org/standard/74528.html"> | <reference anchor="C" target="https://www.iso.org/standard/74528.html"> | |||
<front> | <front> | |||
<title>Information technology — Programming languages — C</title> | <title>Information technology -- Programming languages -- C</title> | |||
<author> | <author> | |||
<organization>International Organization for Standardization</orga nization> | <organization>ISO</organization> | |||
</author> | </author> | |||
<date month="June" year="2018"/> | <date month="June" year="2018"/> | |||
</front> | </front> | |||
<seriesInfo name="ISO/IEC" value="9899:2018"/> | <seriesInfo name="ISO/IEC" value="9899:2018"/> | |||
<annotation>Contents available via <<eref target="https://www.open -std.org/jtc1/sc22/wg14/www/docs/n2310.pdf">https://www.open-std.org/jtc1/sc22/w g14/www/docs/n2310.pdf</eref>></annotation> | <annotation>Contents available via <<eref target="https://www.open- std.org/jtc1/sc22/wg14/www/docs/n2310.pdf"/>></annotation> | |||
<refcontent>Fourth Edition</refcontent> | <refcontent>Fourth Edition</refcontent> | |||
</reference> | </reference> | |||
<reference anchor="RFC5905"> | ||||
<front> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5905.xml" | |||
<title>Network Time Protocol Version 4: Protocol and Algorithms Spec | /> | |||
ification</title> | ||||
<author fullname="D. Mills" initials="D." surname="Mills"/> | <reference anchor="IEEE754" target="https://ieeexplore.ieee.org/document/8766229 | |||
<author fullname="J. Martin" initials="J." role="editor" surname="Ma | "> | |||
rtin"/> | <front> | |||
<author fullname="J. Burbank" initials="J." surname="Burbank"/> | <title>IEEE Standard for Floating-Point Arithmetic</title> | |||
<author fullname="W. Kasch" initials="W." surname="Kasch"/> | <author> | |||
<date month="June" year="2010"/> | <organization>IEEE</organization> | |||
<abstract> | </author> | |||
<t>The Network Time Protocol (NTP) is widely used to synchronize c | <date month="July" year="2019"/> | |||
omputer clocks in the Internet. This document describes NTP version 4 (NTPv4), w | </front> | |||
hich is backwards compatible with NTP version 3 (NTPv3), described in RFC 1305, | <seriesInfo name="IEEE" value="754-2019"/> | |||
as well as previous versions of the protocol. NTPv4 includes a modified protocol | <seriesInfo name="DOI" value="10.1109/IEEESTD.2019.8766229"/> | |||
header to accommodate the Internet Protocol version 6 address family. NTPv4 inc | </reference> | |||
ludes fundamental improvements in the mitigation and discipline algorithms that | ||||
extend the potential accuracy to the tens of microseconds with modern workstatio | </references> | |||
ns and fast LANs. It includes a dynamic server discovery scheme, so that in many | ||||
cases, specific server configuration is not required. It corrects certain error | ||||
s in the NTPv3 design and implementation and includes an optional extension mech | ||||
anism. [STANDARDS-TRACK]</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="5905"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC5905"/> | ||||
</reference> | ||||
</references> | ||||
</references> | </references> | |||
<?line 895?> | <?line 895?> | |||
<section anchor="collected-cddl"> | <section anchor="collected-cddl"> | |||
<name>Collected CDDL</name> | <name>Collected CDDL</name> | |||
<t>This appendix collects the CDDL rules spread over the document into | <t>This appendix collects the CDDL rules spread over the document into | |||
one convenient place.</t> | one convenient place.</t> | |||
<figure anchor="fig-collected-cddl"> | <figure anchor="fig-collected-cddl"> | |||
<name>Collected CDDL rules from this specification</name> | <name>Collected CDDL Rules from This Specification</name> | |||
<sourcecode name="time-tag-collected-cddl.cddl" type="cddl"><![CDATA[ | <sourcecode name="time-tag-collected-cddl.cddl" type="cddl"><![CDATA[ | |||
Etime = #6.1001(etime-detailed) | Etime = #6.1001(etime-detailed) | |||
etime-framework = { | etime-framework = { | |||
uint => any ; at least one base time | uint => any ; at least one base time | |||
* (nint/text) => any ; elective supplementary information | * (nint/text) => any ; elective supplementary information | |||
* uint => any ; critical supplementary information | * uint => any ; critical supplementary information | |||
} | } | |||
etime-detailed = ({ | etime-detailed = ({ | |||
skipping to change at line 1342 ¶ | skipping to change at line 1251 ¶ | |||
$$ETIME-BASETIME //= (5: ~bigfloat) | $$ETIME-BASETIME //= (5: ~bigfloat) | |||
$$ETIME-ELECTIVE //= (-3: uint) | $$ETIME-ELECTIVE //= (-3: uint) | |||
$$ETIME-ELECTIVE //= (-6: uint) | $$ETIME-ELECTIVE //= (-6: uint) | |||
$$ETIME-ELECTIVE //= (-9: uint) | $$ETIME-ELECTIVE //= (-9: uint) | |||
$$ETIME-ELECTIVE //= (-12: uint) | $$ETIME-ELECTIVE //= (-12: uint) | |||
$$ETIME-ELECTIVE //= (-15: uint) | $$ETIME-ELECTIVE //= (-15: uint) | |||
$$ETIME-ELECTIVE //= (-18: uint) | $$ETIME-ELECTIVE //= (-18: uint) | |||
$$ETIME-ELECTIVE //= (-1 => $ETIME-TIMESCALE) | $$ETIME-ELECTIVE //= (-1 => $ETIME-TIMESCALE) | |||
$$ETIME-ELECTIVE //= (-13 => $ETIME-TIMESCALE) | ||||
$$ETIME-CRITICAL //= (13 => $ETIME-TIMESCALE) | ||||
$ETIME-TIMESCALE /= &(etime-utc: 0) | $ETIME-TIMESCALE /= &(etime-utc: 0) | |||
$ETIME-TIMESCALE /= &(etime-tai: 1) | $ETIME-TIMESCALE /= &(etime-tai: 1) | |||
ClockQuality-group = ( | ClockQuality-group = ( | |||
? &(ClockClass: -2) => uint .size 1 ; PTP/RFC8575 | ? &(ClockClass: -2) => uint .size 1 ; PTP/RFC8575 | |||
? &(ClockAccuracy: -4) => uint .size 1 ; PTP/RFC8575 | ? &(ClockAccuracy: -4) => uint .size 1 ; PTP/RFC8575 | |||
? &(OffsetScaledLogVariance: -5) => uint .size 2 ; PTP/RFC8575 | ? &(OffsetScaledLogVariance: -5) => uint .size 2 ; PTP/RFC8575 | |||
? &(Uncertainty: -7) => ~time/~duration | ? &(Uncertainty: -7) => ~time/~duration | |||
? &(Guarantee: -8) => ~time/~duration | ? &(Guarantee: -8) => ~time/~duration | |||
skipping to change at line 1366 ¶ | skipping to change at line 1277 ¶ | |||
time-zone-info = tstr .abnf | time-zone-info = tstr .abnf | |||
("time-zone-name / time-numoffset" .det IXDTFtz) | ("time-zone-name / time-numoffset" .det IXDTFtz) | |||
IXDTFtz = ' | IXDTFtz = ' | |||
time-hour = 2DIGIT ; 00-23 | time-hour = 2DIGIT ; 00-23 | |||
time-minute = 2DIGIT ; 00-59 | time-minute = 2DIGIT ; 00-59 | |||
time-numoffset = ("+" / "-") time-hour ":" time-minute | time-numoffset = ("+" / "-") time-hour ":" time-minute | |||
time-zone-initial = ALPHA / "." / "_" | time-zone-initial = ALPHA / "." / "_" | |||
time-zone-char = time-zone-initial / DIGIT / "-" / "+" | time-zone-char = time-zone-initial / DIGIT / "-" / "+" | |||
time-zone-part = time-zone-initial *13(time-zone-char) | time-zone-part = time-zone-initial *time-zone-char | |||
; but not "." or ".." | ; but not "." or ".." | |||
time-zone-name = time-zone-part *("/" time-zone-part) | time-zone-name = time-zone-part *("/" time-zone-part) | |||
ALPHA = %x41-5A / %x61-7A ; A-Z / a-z | ALPHA = %x41-5A / %x61-7A ; A-Z / a-z | |||
DIGIT = %x30-39 ; 0-9 | DIGIT = %x30-39 ; 0-9 | |||
' ; extracted from [IXDTF] and [RFC3339]; update as needed | ' ; extracted from [RFC9557] and [RFC3339] | |||
$$ETIME-ELECTIVE //= (-11: suffix-info-map) | $$ETIME-ELECTIVE //= (-11: suffix-info-map) | |||
$$ETIME-CRITICAL //= (11: suffix-info-map) | $$ETIME-CRITICAL //= (11: suffix-info-map) | |||
suffix-info-map = { * suffix-key => suffix-values } | suffix-info-map = { * suffix-key => suffix-values } | |||
suffix-key = tstr .abnf ("suffix-key" .det IXDTF) | suffix-key = tstr .abnf ("suffix-key" .det IXDTF) | |||
suffix-values = one-or-more<suffix-value> | suffix-values = one-or-more<suffix-value> | |||
one-or-more<T> = T / [ 2* T ] | one-or-more<T> = T / [ 2* T ] | |||
suffix-value = tstr .abnf ("suffix-value" .det IXDTF) | suffix-value = tstr .abnf ("suffix-value" .det IXDTF) | |||
IXDTF = ' | IXDTF = ' | |||
key-initial = lcalpha / "_" | key-initial = lcalpha / "_" | |||
key-char = key-initial / DIGIT / "-" | key-char = key-initial / DIGIT / "-" | |||
suffix-key = key-initial *key-char | suffix-key = key-initial *key-char | |||
suffix-value = 1*alphanum | suffix-value = 1*alphanum | |||
alphanum = ALPHA / DIGIT | alphanum = ALPHA / DIGIT | |||
lcalpha = %x61-7A | lcalpha = %x61-7A | |||
ALPHA = %x41-5A / %x61-7A ; A-Z / a-z | ALPHA = %x41-5A / %x61-7A ; A-Z / a-z | |||
DIGIT = %x30-39 ; 0-9 | DIGIT = %x30-39 ; 0-9 | |||
' ; extracted from [IXDTF]; update as needed! | ' ; extracted from [RFC9557] | |||
Duration = #6.1002(etime-detailed) | Duration = #6.1002(etime-detailed) | |||
Period = #6.1003([ | simple-Period = #6.1003([ | |||
start: ~Etime / null | start: ~Etime / null | |||
end: ~Etime / null | end: ~Etime / null | |||
? duration: ~Duration / null | ? duration: ~Duration | |||
]) | ]) | |||
clumsy-Period = #6.1003([ | Period = #6.1003([ | |||
(start: ~Etime, | (start: ~Etime, | |||
((end: ~Etime, | ((end: ~Etime) // | |||
? duration: null) // | ||||
(end: null, | (end: null, | |||
duration: ~Duration))) // | duration: ~Duration))) // | |||
(start: null, | (start: null, | |||
end: ~Etime, | end: ~Etime, | |||
duration: ~Duration) | duration: ~Duration) | |||
]) | ]) | |||
etime = #6.1001({* (int/tstr) => any}) | etime = #6.1001({* (int/tstr) => any}) | |||
duration = #6.1002({* (int/tstr) => any}) | duration = #6.1002({* (int/tstr) => any}) | |||
period = #6.1003([~etime/null, ~etime/null, ~duration/null]) | period = #6.1003([~etime/null, ~etime/null, ?~duration]) | |||
]]></sourcecode> | ]]></sourcecode> | |||
</figure> | </figure> | |||
</section> | </section> | |||
<section anchor="acknowledgements" numbered="false"> | <section anchor="acknowledgements" numbered="false"> | |||
<name>Acknowledgements</name> | <name>Acknowledgements</name> | |||
<t>The authors would like to acknowledge the many comments from members | <t>The authors would like to acknowledge the many comments from members | |||
of the CBOR WG, | of the CBOR WG, | |||
<contact fullname="Francesca Palombini"/> for her AD review, and | <contact fullname="Francesca Palombini"/> for her AD review, | |||
<contact fullname="Thomas Fossati"/> and | <contact fullname="Thomas Fossati"/> and | |||
<contact fullname="Qin Wu"/> for their directorate reviews.</t> | <contact fullname="Qin Wu"/> for their directorate reviews, and <contact fullnam | |||
<!-- LocalWords: CBOR extensibility IANA uint sint IEEE endian TAI | e="Rohan Mahy"/> for one more review late in the process.</t> | |||
--> | </section> | |||
<!-- LocalWords: signedness endianness NTP IXDTF | ||||
--> | ||||
</section> | ||||
</back> | </back> | |||
<!-- ##markdown-source: | ||||
H4sIAAAAAAAAA+1963bbRpbu/3qKanrmmEwIiqSoGx27W5FlRz2+taV0Ztr2 | ||||
2BAJkmiDABsAJSuys2aeYc4D5Md5kj5v0k9y9rd3VaFAUraT6Zme0ytaiUwB | ||||
hULVvt9qMwgCdTHU20qVcZlEQ31PaX2UpaO4iPTXcRrmV/rp+R+jUamfR4s8 | ||||
KqK0DMs4S3Xz6Ounz1v6LJwWepLl+iyeR219f5nz7bYO07F+FuVxNlbh+Xke | ||||
0VvwhC7DKY+P3pVROo7GuqQH1TgbpeGc3j/Ow0kZxFE5CUbnWR7gbkDPBElY | ||||
RkWpxvTPUPe7fVry2+jqMsvHQ32SllGeRmVwH0+rUVgOdVGOVVHmUTin+8dn | ||||
D5QqLqZBPA5GSRSmy8VQX0WFUhdRuoyGtOlpnuEi1kh/zcM4GWqs4DdYSyfL | ||||
pxgTl7PluVwPLqdbdnFKLeKhflFmo7YuspzeOino09VcPoyy+SIclfxhTgAs | ||||
XikVLstZluPFAf2vdZwW9PKO/jrL52Ga8jWByFGYFwSq2h1azlB/m8YXUV7E | ||||
5f/9P6X+Oo9oan32hxMegJ1HBIVnWVFOwtFMb293B4Mu3xvF5dXQPCAXsjG9 | ||||
537Q39/eOTBXlmmZ06iHEV56xRcXsyylcV8ODoJBvxf0e/vB7vZBv8c3IwOx | ||||
8Dz7Tfl9bAAWmD18TUt7GM7DPK6W/12UJMHZ1SIa+xOcR+lvLnGnxJ0OQay2 | ||||
n15vTz+Ox+Mk0s/HHW87zwjsxTwjqPLFPJoSFQ71k2+8Hd7ubu93e7frOwQY | ||||
SyLD0xIExmtmXHxDuIjzt7Ms+d5DxjdR+rZ+nffyIA+X6SybRDnRYkGstCwj | ||||
pvLTaLTMI7o4AfaYcc6i0SzNkmwqULXM4U1xenLmg2RG7+ycm3f+hvDdmbix | ||||
nXFUg8/zWUSrL/OwIP7d2/E3vzvoH+zc9kB2P8znRRmOy80oVyqVNV8wfzx/ | ||||
cLR/MDgQ4qe/vz561t8d8uVef5cunJ08Pn59NuTJyjCfYjmzslwMt7YWy/Oi | ||||
ky2ilJkMtLGVpUmcRrixdbB7cHDQO9g7ONg6D4toTDyz9fve69EsXHQHnVk5 | ||||
T24Rj73uDl73dgVkjnccAs5mkX66AJXhDfprmkefLqJRPIlHDPZC1lUJOfz8 | ||||
Pks6ujeU4fejSUykgLFtfVIUSwIgj7Mip7cvoCahFhUxYdSuoEFYZtQOOr3d | ||||
xlA3btOFLB0X+jROR5EuaXHHi2w0u92wT5wcHx8TyY0xutftbneIn7q9PXcf | ||||
b8O94zGvqKFuEQaOT58++vbs5OmTIf78K0J524Py9uvt/r7Mb+F866cB+lYN | ||||
0rc+F9S3arDelb99YN9agfZ2h1bK4G5C+bRIQxVZssS92w03eiOku/vVALys | ||||
BmpNDBicHh89fXJ/eBO9icbhDYeJfppPwzT+Xvib2b4k9RfmY3uteXL6tLWJ | ||||
An+3DFO6RHtkhbkkqBT6L//2v/WzMC/19pBgGxIF4R7rSR9G3d2gux10ezdQ | ||||
Jb1yqPe79BNsG/7d2dsZ6kW5CK7CFOIZsOnt7O8zRNY5tyCiKsxOik4cRRET | ||||
FT5s4bGtwfbOztambRmgy6MMkVA/y4lKCkDjKMlGb/XpVTqa5ZmD27M8IwWa | ||||
JRhupnkSlaTg35J0fhyFxZI1VsnAIBOlzGns6RXpxnlxEwhoGaQz7A5vRCYN | ||||
q0N2P+gK75PCHeqnE+jfUZgktJJnZ8/0RZ/sm0LHJemZRUIIGjOPR2GexCS/ | ||||
aYK+ZtWcpfY9ExoRF9qCU59fEUjSLA3Ow9HbSwBYzIQyPifdtjCw6NSR1Dv4 | ||||
GUja3e///4Ok3sFnI6nfDbq7H0VSp2fRNKN/ziO6P6Z3T1MaUWS4PgpTum5e | ||||
sySpSLqfoHAZXhG6wlITxibLJLnSG7FUZnUOArYefvt4M44uLy9JiS/mjJ0o | ||||
hbROrMjcmi5jWhn9M2dJvAlbxxdhshQkEDHNPVATQELIDDPwIebC2pgk38Fo | ||||
L8xTS9JGeRnGaXmFjXqT3IAb/dujh48JOd3u8GMM9NuMpiR0z+dxWUZi+fAy | ||||
CrzmcQQqsPaOoO80WhBJnAuzYN6TwyeHHbH4yaMYwk0ojNTa7XXJ6iCbD8P+ | ||||
+f7ZAyKG4H6HfQRCGc0X4Bcb49arIOsltjaXs1+2e7s9+3F7m3mJhOT+brcn | ||||
uxnHBXEzmUD2au9gf/9GZMZFxri0zEfcdmA06Sb83QeWooShLcI+hg4h/ZtO | ||||
GWK0VBH9vrHoj6lQvOKKEWYBgMKpiWINUcHPUVvmbdZCJah8TNXcdiC77SEa | ||||
f9f49DAh1gsvyLINwUOTPJvrr/7y7z9+ZWGbXiRsyaRxUXam2cUWPrAJ8yia | ||||
hqOrrQcnz063JvGioIuDoBf0yK7pLMaTe/c6FUY9aenQetve6w1x9/bno3av | ||||
e9Dd+xhqKxXNKKwjSBzk+JNoZZ0vNlI80vky+RsisgYjZ5UdBN0+AgQ3i7h1 | ||||
0A12+vtroPNpvHQOkVg+eTbNQxIl6VQnBKFlOI2EMY7+itCojHpLnRuhsXVy | ||||
fDTUB/sHB0PnAJBTT9Y9yZnSLuJBtszLmTYWZEXrRzKs8Oj9Ig7r5A6gwWgP | ||||
inLMkPtjOeptFaN+f+ty2hvg/tY4GxVbaX+71xU6FxlG4obMubRcKBUEAWEX | ||||
ft+oVAo2+ufHcNqYS8O3a0HfhaxPlKBHX84ymkS0pp5mYQKJPkqWY/FqFhnp | ||||
lvM4IX8SUoikL9QJ6ctiTopYwfPURfx91NaTMM7tdVI8RUFYNbfAOSy33VSX | ||||
MaF4WeIVKo0iMU6MQaXTaJqVMW+go9RJqmUTWYrlQA/JQrzpaFdY7Nh5HRhi | ||||
g1FFR734V4JdP3il3Kehg4k8RQRIRg4P57WA0b14Vlc3jU4RERACjIQNIuGW | ||||
CIZwylTR081nT09P/tkN4/XmepJkYdnq6MphRARtLPREJJ1Hf1rGudEds/BC | ||||
TJZz8jJpmrdpdpnSs0C7Qa8milmKcWCWH9ajb/x+mDhCrEmSXWLMPMvJZiBK | ||||
zXLItHxNz5Qc5aOFI0aDf/MIgTkJ4TiQ8ivGJhRYScYFhwN5pYQSt8S4MBEw | ||||
ExAMBV3EZlEeARxuJK+cbsFY4BAPKN4tbRatrEL2Pu4ArySPymXxyvsozNvk | ||||
tYzoZUR1tKVzvHieXURsouNloISIMEEyp/XyJT/kQ5okqhjMzb/823/0+i2g | ||||
DSZXJLs4OT59yGOiS6I0ZtQ5x69AumQXjZfizJqf61sxrn5Qd72fn87R19cm | ||||
XPPhQwvOxAVsMWXB52sfAhwBkRZBhuBYTEnLfaFPduIfKHpZEE5z8GQxmkXz | ||||
sKPWOCUkaxkKrIhKY5qEGtG8okY4IXA0JQ5R8whriYu52NxRCkFZmAAxtADW | ||||
vDaZLpaLRZYjdEcyVZEh71PFFa+3IoXm9bUNGxx0+pjJAQjQqlufBLSO8qTC | ||||
WZSTNhINVSGKYDgvPgCj7kcQ9TYiCZbBV2g8/vb0rNGWf/WTp/z5+fHvvj15 | ||||
fnwfn0+/OXz0yH1QZsTpN0+/fXS/+lQ9efT08ePjJ/flYbqqa5dU4/HhvzRE | ||||
oDaePkOk6PBRAyZ4WWO4MGf/4NxQAuG0ZLZTRCSjPD4XN+jro2d//rE3IOj8 | ||||
imDV7/UIVuaP/d7egP64FDFFb8tSku3yJyHrSoWLBTnD7EwRtkfhIi5JdTD+ | ||||
ixlJKz0j1iYYf/ECkCFx+9X5aNEb3DMXsOHaRQuz2kWG2fqVtYcFiBsubXiN | ||||
g2bt+gqk6+s9/Jfa3xbu3sWvfo0onA56+7++p4RGQDy6cX5VRg2oJ+t6IvpD | ||||
0lyPlkWZzcHmxNqFVShXaZZezdn1bmQj8ngaBMLTJYlVoG1R0qNGDIwj+sg8 | ||||
tCC9mFp1qclSQeYlnC8SEuN94yWqRXZJnhgxxe4Aq+FpojGZR18Rk93bHXy1 | ||||
hX/p8ZNU1H5CPmRQEocSv6XG6nEhDj8a2Aabrq9PXuKZRUREqr5YvIikMhRS | ||||
XPBrorwSyuS3kpkIHeXmLMi/V3hGCH7zKglgLBTGcThNs6IkMeUvymgMzFAJ | ||||
jH1AhrNRRPNYaHXrodwief7hQ0cd6nk4mtEEAYncEWwcbG1ORlBiFJTILydw | ||||
ay8E8FQNeFiREd4IMOXZcmrNIs3bWhZWPFrlAC9TVeFV/cgY0G19dP/+I9qU | ||||
Wewd+jjKkoT2EY3NNacomCbcXbMBz30B1UVkjpFhwk63sQGYqCGXRzMQ7Ldn | ||||
Rywbzg5PWOKQG0ZkLYROIGRPHtL3chbTA/PwCgIpBCtMlomEWVKmZSu2zqOr | ||||
DG4z8ciYtBJZujQWkDPYKGhPX5XfzwRL+KNYTiZAjBJlGV+QEvTV6gOjEMUa | ||||
CqdtVXqavY6LulqfZDCZAP3MTS3qa5ops1CMy/KYdBwABS3U5YWREbiJzgq9 | ||||
3Rl0ejwEn/oe2bWGJCv1oW8Q2lC3JFORXQg4ri+babJtyeZeD3al1YQKNihL | ||||
a4ds8U3LaEoigGPQC1YObGWQPGDTFBtl41rpG4xCEu5JPI95pLc4mol0QZ69 | ||||
i4l0yDGg5+fxKCenQhIkYVkhgGa6zGWGJhaygCOI4NUFPAo2dmMOW5NyJcST | ||||
jSZ2LJT1FySaxhZVdkmjMIlgbfqgZ0o00MfOiUrvaFJJoGckbznG7hlIBT9x | ||||
HpV0BQYsmCCCwgNd0+RPIaaq1xWGkJU2lggLrcwY9VfWZCeOiS5CorFm1Jl2 | ||||
xHkxEoJ2TV4VW9TESZAitFvAEfzEFDaPpzPIUp1kKZAGLkiicKENUNuaTTV6 | ||||
HivSQhUQkHPSyfTRHwvYfY1g4CjLFzD6AX0TACXdkIdpASNLO37V4Kn4XS2a | ||||
QcYVs12b2FpYrlXzXmKHmsJEXCuxRruOrZN8bn0+Z5b4xr0QyZSogbQK0fYi | ||||
zEl8LxOyM0LElISOEXcgoNEzyvk47RqZMR4Eqdiss3nafNHojskS8rkDG53X | ||||
JjC3rq+/ebNqzPw9oZGgPw6vEh5ehBf0hkIZ/liwRwMMAC+ISKzwEo2JyhFL | ||||
1znSQiPRkiNQulV9vh1nYEmQlruW4sAlHvjnhG6ySQvnPuGCDW/jbxPNcHAm | ||||
odEkbareSEx1THiIk2j8RsQVijF63W4PWGZ5WZeTsE5EpLPaNj6cU9zOPo+Q | ||||
beb3YE68R2AqxnfNTnEbGGXLZCwumuMtdjVZHaxCExZJSq4e9BTZAiXmF0SZ | ||||
aCv8bXCjvcl2mC9LlT9aQGZcIpYUrKSWhkiJXQiOhCkmtTmoWoyrlVWJs20A | ||||
AvF8B6OK2mTCJkzVCckCeF0mKwMhNgqxzHB+Hk+XnDrssBt7k+IaZ6T1QEdl | ||||
+BYKlqSLCYKkMNlFfmEhlp4axN/RuIEdGYJvKxFT92neOUGTQP51PH0AzbAK | ||||
dBiJJb/TiFkIV5qKdbVsdBUg8DdNssIrCTJg77SU8vQeq9FVGW4jDRIAlygD | ||||
nG1khWHx0jSq5k4fpivvigsrpAQxLlYCQm+vMokj75BJk+NlcUk4Z++brv0R | ||||
jEZOqt5pmbgMxkEzYJYwTp3CbVaDSUcp1lEtwJftOwkh+YP0dotZoV1BDXmh | ||||
iG+S/1ayqyqbiFD3Y2kBT3WYrdJoykkRtwZmLQ7SeO/kWQsrEmhIW8XgxnmF | ||||
N/bUYjKjcx6wJQtZhHFeiJAdZyy/ljDdOR58RwkFyBvpsUaUiPHUaNuwTx0x | ||||
7PhczrKEcUT2epIQJbFd7QUJawKZXz0Kc5Iu8YT2pevr1vxKkaygcHuTubaj | ||||
jpiHC7I42kxby9QkDH1otfVGWGBkiOAGohEk6bP8M+EChLsZVVOABPhEMbNn | ||||
A9KIAdLA0MYIZhIpEYIa5Od5RBIFUtNSGq/GkhqJ0VFJBhRsjE27Eblm6IRE | ||||
BeDpvVAcfPJyRR7ZWdliySVguEZRpAJAS4GhJUOwzs4nhcCB4eXCAhG4qvsX | ||||
N92rVuJbEcimV0LC7lLVKJy3yUB9t0jiUQyYWClChGDmqq9K1cycS7rLmeEa | ||||
DXtzQHg63LTuGJImAY5xRnPYgQb7WTZui6trxW/KQJ4sWd4zlwMZoorwUoLO | ||||
k1WAr3KvLC4hM07iZIi837wvZxHV2JE9mLiQsCjo9bwGuoJjBMrR3s0YA8qN | ||||
ImE3JtQzMo9gTju1Zuz/CaJ8Ah4xakwW21FjW56vQsPO8JYsAlQ3WQMTvl1K | ||||
ctGE/sNlUjqftHew1w26PRTP0ITr5tyIix/+tAw5f0CWZjiHaEVRp/Fui2yZ | ||||
j2g9WoejEemf0VXbVPC4FHtNcYn9Ihi2FFM32azZwAt+TFz8T9GVem7NJbKx | ||||
ibMDmiawJhRbSs8rS4hfQcBu10xhtsSNjV3bqd0JQAjLlZe/arsaqNOtLZpT | ||||
0j1wHo0NgWWPsiwfk7dYwsYlhJmSgxWZjFwSW29WzxIaCcgmhMCyyzdt2YAA | ||||
0Rkjoi4rmNSFFw51uuQ6AtJU5xkxixNx2I6VTEFd13lcG6eq7s8Xy/PCOOS0 | ||||
Kt/crVzmUIyTZCWldGYMBiAR4RZ6/ocffpDShWMm8bv61m4HQ5p105qMHLkw | ||||
AaWhnIaGXhNxLZEgunuPNnOl78CNIeetKFn6OqagYV/oJuGi3AJgWtV4y843 | ||||
i1p+tv4SK8A+8tAHu1y7flptE8v9h384Rhlo8PXhKX9Arhis9DvhpIArE/md | ||||
duTxo+Ojs5PfH9cuHj0/OTs5OnwkO/O31plEsOghqqTew+wwMBm/LG3Y/cvD | ||||
vLfVp+wWNz31gV4CqQvNWUcJkKmuh/qWJQlJZt9tcGhtMyk0CFTEx7qnTIKA | ||||
/3BMYJIlxjM1lpzxzKzeTuK3URU7ZDuzYieSv5xHWTVba3nG62upzUVgbDXl | ||||
qA6LygWG9LuI2pWvLCuqmcaVyckaTMKWb9nkYuE2QSo8ytU8G8Oe4GcytmKM | ||||
8nIssUosemuLyKg31D9wVIfBzQAr9IC5eWcl2eLf8uXKKkQxADzPkMRSyaSP | ||||
3o2iRSmQrAMXdj3pgTwntcU5kcrRcPAdAII7bUS6FkKACVnXkkoUMHBEv/Kg | ||||
aFV154nBX4vb8RXl4QrZkxVHhdbNjhjCaqNZHBFrG13qxdzgKmQqvMjisSZ+ | ||||
kxwam6OfAf4BgX8cjYjoR60bhuzQkHOzgxqWgu22Dnbp/wP6v9fHrx382q/h | ||||
bf3Hpc02T8H4o1k8FFd6dWygigWLKX5+pabxBcex0nWD1/elupKch/0g+jeu | ||||
nFElVsWEZqXhvQgLo9+7/PuAf2N5+GdHND8+7tdJQpnwhgGoxDaO4ZbVvZyK | ||||
+Gz2y9nZbGATlbLFLTkWa32C4NhRqKBRQQH07mwonyXi1Mb+EHq2hc4fPqga | ||||
l4f6n4RPxGpHQYKsrTK9JdbAzgFuoCqB/nI2N7Me0dt7nuk9ig3ZXOCf9za4 | ||||
Q3yCQhC6QgMJ+xhI9mZsl/he/za8CGXl5lEeuMsDvUDye93MknFLf/vESj0Z | ||||
eEB30jB14zAwjS5XBxIy6c4iHvkDvwmLt8hW27fLwB26M4nmpf9qCRe2tLdG | ||||
EOx70thl7dVrA6FPLHlYfQKAcVxDaBvGNohxjDMigl6olTVGtqpUuDTYHrJi | ||||
b910f/cT9w8+cb/X/9SAnU8N2LcDWIg8ycrICWTrYTFZcelulQnLwJYo7anV | ||||
qCDqKU62CVpwvE+Av7UqJjAmNDc59DCBoOTgpTWc2YrTb9jDII5+o5s267fX | ||||
6e91epji+vqIefo78EeMdIEJoPNTJZG4CJQqvm/3xeFBKWVwO1NGvUpdnQtL | ||||
thHNiLiGWXwjBPI44DiPaBjyYXF6EeZxmJYkFI5ZQ7C68lYvSt1uHxFRFBu+ | ||||
KS9epwU2hzIrMz/ZFOUlIN4V7YUEjEi4LueDDyQdDBUqN62UMNXURjOJHOFq | ||||
z/EflwKYmjMnmaEFrbtk9cm2UUD6/8w5dde34PA4J89WW9ihLnXOitbp/1ry | ||||
x5krXc/qIj+wrVwETUwlcR4r/XvHM3V8i+3s8KSKvilUmjerqnkOOdoi+ZaZ | ||||
s9kjKZYuYUXD8dTd7pD/k6kQab++rlX5k/In9NUudvclMP4pru/BjjW38OuU | ||||
zOhjci9WL2ka/b+MF7IsR0NShh8dQ8poqHuGU08mbEYJAuClGRZs15ztyjd3 | ||||
CCg4zBVzTdZZ/baJoZ2vB6mKlXhocaf2F1SdcsJBjpYiBlxF/JyOgmK1tpkl | ||||
ck4jRYXJWYDRONYBV5JZxAiTas6O79av2RdmL8YK9PIUxrGvdm1de9WU/Adf | ||||
rTv3zZpIRNZhZjMgaeYnHRsPn51KaPDJ2bMG0vxpuSAqQtUs5FkUjiVXw3xX | ||||
zWIyFsJBSNRLRtQUFpCApH+SysLAbfKPSyNFEJsHPZJXOAvCYhSTCfNOla+v | ||||
iaA+kEtIn7AMHeh+v7t/sL+/TzT/8iVGEDmZEdNF8UF/qbd7Owe7g/3egfOy | ||||
bDjI+FiyUiwL5wxoLU/lvgMoK8XrYVgQHXxQ99Qx1+zdZgKNhmKcs4cG11aq | ||||
yTwIXobwgxLygnIWR3qEytfUSNxJvpyGCRTFhoyXlzarIgSpdr6lKUu9BAb9 | ||||
vJz39nVyQayS3HEJjjz3Sh3FtMMhZtTTQmxbqidqnQVexs2bv4lgj+KiDCkw | ||||
ODtr1arxXGQHM7mcQR6RZfy9eW02UbbE2JCRNzfmIPppfnv65GmrSpCw9SoB | ||||
slKC+YpIDvq1tOE+1ApKapJoWNbMCjVOIj9hKKA2dTXQeVEy4fxlTrY+UGNz | ||||
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 | ||||
aP745OyZOebDz/0/NeYLXtSLAAA= | ||||
</rfc> | </rfc> | |||
End of changes. 157 change blocks. | ||||
723 lines changed or deleted | 321 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |