<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.15 (Ruby 3.1.2) -->
<?rfc compact="yes"?>
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-cbor-time-tag-01" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.13.1 -->
  <front>
    <title abbrev="CBOR tag for extended time">Concise Binary Object Representation (CBOR) Tags for Time, Duration, and Period</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-time-tag-01"/>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann">
      <organization>Universität Bremen TZI</organization>
      <address>
        <postal>
          <street>Postfach 330440</street>
          <city>Bremen</city>
          <code>D-28359</code>
          <country>Germany</country>
        </postal>
        <phone>+49-421-218-63921</phone>
        <email>cabo@tzi.org</email>
      </address>
    </author>
    <author initials="B." surname="Gamari" fullname="Ben Gamari">
      <organization>Well-Typed</organization>
      <address>
        <postal>
          <street>117 Middle Rd.</street>
          <city>Portsmouth</city>
          <region>NH</region>
          <code>03801</code>
          <country>United States</country>
        </postal>
        <email>ben@well-typed.com</email>
      </address>
    </author>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization abbrev="Fraunhofer SIT">Fraunhofer Institute for Secure Information Technology</organization>
      <address>
        <postal>
          <street>Rheinstrasse 75</street>
          <city>Darmstadt</city>
          <code>64295</code>
          <country>Germany</country>
        </postal>
        <email>henk.birkholz@sit.fraunhofer.de</email>
      </address>
    </author>
    <date year="2022" month="July" day="27"/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>The Concise Binary Object Representation (CBOR, RFC 8949) is a data
format whose design goals include the possibility of extremely small
code size, fairly small message size, and extensibility without the
need for version negotiation.</t>
      <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 tag
1 (Posix time as int or float).  Since then, additional requirements have
become known.  The present document defines a CBOR tag for time that
allows a more elaborate representation of time, as well as related
CBOR tags for duration and time period.  It is
intended as the reference document for the IANA registration of the
CBOR tags defined.</t>
      <t><cref anchor="status">The present version (-01) adds a trial balloon (Sections <xref format="counter" target="tzh"/>
and <xref format="counter" target="suff"/>) for providing a way
to include, in time tags, the hints defined in
draft-ietf-sedate-datetime-extended.
This trial balloon is intended for discussion at and around IETF 114.</cref></t>
    </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/browse/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>
  <middle>
    <section anchor="intro">
      <name>Introduction</name>
      <t>The Concise Binary Object Representation (CBOR, <xref target="RFC8949"/>) provides
for the interchange of structured data without a requirement for a
pre-agreed schema.
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
an IANA registry.</t>
      <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 tag
1 (Posix time as int or float).  Since then, additional requirements have
become known.  The present document defines a CBOR tag for time that
allows a more elaborate representation of time, as well as related
CBOR tags for duration and time period.  It is
intended as the reference document for the IANA registration of the
CBOR tags defined.</t>
      <section anchor="terms">
        <name>Terminology</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be 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>
        <t>The term "byte" is used in its now customary sense as a synonym for
"octet".
Where bit arithmetic is explained, this document uses the notation
familiar from the programming language C (including C++14's 0bnnn
binary literals), except that the operator "**" stands for
exponentiation.</t>
        <t>CBOR diagnostic notation is defined in <xref section="8" sectionFormat="of" target="RFC8949"/> and
<xref section="G" sectionFormat="of" target="RFC8610"/>.</t>
      </section>
    </section>
    <section anchor="objectives">
      <name>Objectives</name>
      <t>For the time tag,
the present specification addresses the following objectives that go
beyond the original tags 0 and 1:</t>
      <ul spacing="normal">
        <li>Additional resolution for epoch-based time (as in tag 1).  CBOR tag
1 only provides for integer and up to binary64 floating point
representation of times, limiting resolution to approximately
microseconds at the time of writing (and progressively becoming
worse over time).</li>
        <li>Indication of time scale.  Tags 0 and 1 are for UTC; however, some
interchanges are better performed on TAI.  Other time scales may be
registered once they become relevant (e.g., one of the proposed
successors to UTC that might no longer use leap seconds, or a
scale based on smeared leap seconds).</li>
      </ul>
      <t>Not currently addressed, but possibly covered by the definition of
additional map keys for the map inside the tag:</t>
      <ul spacing="normal">
        <li>Direct representation of natural platform time formats.  Some
platforms use epoch-based time formats that require some computation
to convert them into the representations allowed by tag 1; these
computations can also lose precision and cause ambiguities.
(TBD: The present specification does not take a position on whether tag 1 can be
"fixed" to include, e.g., Decimal or BigFloat representations.  It
does define how to use these with the extended time format.)</li>
        <li>Additional indication of intents about the interpretation of the
time given, in particular for future times.
Intents might include information about time zones, daylight savings
times, etc.
<!--
(TBD: This is not yet a well-developed part of the spec; there needs
to be some effort to avoid the kitchen sink.)
-->
        </li>
      </ul>
      <t>Additional tags are defined for durations and periods.</t>
    </section>
    <section anchor="time-format">
      <name>Time Format</name>
      <t>An extended time is indicated by CBOR tag 1001, which tags a map data
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
determined by each specific key.   Implementations <bcp14>MUST</bcp14> ignore
key/value types they do not understand for negative integer and text
string values of the key.
Not understanding key/value for unsigned integer keys is an error.
<!-- (Discussion: Do we need "critical" keys?) -->
      </t>
      <t>The map must contain exactly one unsigned integer key, which
specifies the "base time", and may also contain one or more negative
integer or text-string keys, which may encode supplementary
information such as:</t>
      <ul spacing="normal">
        <li>a higher precision time offset to be added to the base time,</li>
        <li>a reference time scale and epoch different from the default UTC and 1970-01-01</li>
        <li>information about clock quality parameters, such as source,
accuracy, and uncertainty
<!-- precision, and resolution -->
        </li>
      </ul>
      <t>Future keys may add:</t>
      <ul spacing="normal">
        <li>intent information such as timezone and daylight savings time,
and/or possibly positioning coordinates, to express information that
would indicate a local time.</li>
      </ul>
      <t>While this document does not define supplementary text keys, a number
of unsigned and negative-integer keys are defined below.</t>
      <section anchor="key-1">
        <name>Key 1</name>
        <t>Key 1 indicates a value that is exactly like the data item that would
be tagged by CBOR tag 1 (Posix time <xref target="TIME_T"/> as int or float).
The time value indicated by the value under this key can be further
modified by other keys.</t>
      </section>
      <section anchor="keys-4-and-5">
        <name>Keys 4 and 5</name>
        <t>Keys 4 and 5 are like key 1, except that the data item is an array as
defined for CBOR tag 4 or 5, respectively.  This can be used to include
a Decimal or Bigfloat epoch-based float <xref target="TIME_T"/> in an extended time.</t>
      </section>
      <section anchor="keys-3-6-9-12-15-18">
        <name>Keys -3, -6, -9, -12, -15, -18</name>
        <t>The keys -3, -6, -9, -12, -15 and -18 indicate additional decimal fractions by
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 (see <xref target="decfract"/>).  More than one
of these keys <bcp14>MUST NOT</bcp14> be present in one extended time data item.
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
integer value.</t>
        <table anchor="decfract">
          <name>Key for decimally scaled Fractions</name>
          <thead>
            <tr>
              <th align="left">Key</th>
              <th align="left">meaning</th>
              <th align="left">example usage</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">-3</td>
              <td align="left">milliseconds</td>
              <td align="left">Java time</td>
            </tr>
            <tr>
              <td align="left">-6</td>
              <td align="left">microseconds</td>
              <td align="left">(old) UNIX time</td>
            </tr>
            <tr>
              <td align="left">-9</td>
              <td align="left">nanoseconds</td>
              <td align="left">(new) UNIX time</td>
            </tr>
            <tr>
              <td align="left">-12</td>
              <td align="left">picoseconds</td>
              <td align="left">Haskell time</td>
            </tr>
            <tr>
              <td align="left">-15</td>
              <td align="left">femtoseconds</td>
              <td align="left">(future)</td>
            </tr>
            <tr>
              <td align="left">-18</td>
              <td align="left">attoseconds</td>
              <td align="left">(future)</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="key-timescale">
        <name>Key -1: Time Scale</name>
        <t>Key -1 is used to indicate a time scale.  The value 0 indicates UTC,
with the POSIX epoch <xref target="TIME_T"/>; the value 1 indicates TAI, with the
PTP (Precision Time Protocol) epoch <xref target="IEEE1588-2008"/>.</t>
        <t>If key -1 is not present, time scale value 0 is implied.
Additional values can be registered in the (TBD define name for time
scale registry); values <bcp14>MUST</bcp14> be integers or text strings.</t>
        <t>(Note that there should be no time scales "GPS" or "NTP" -- instead,
the time should be converted to TAI or UTC using a single addition or subtraction.)</t>
        <figure anchor="offset">
          <name>Converting Common Offset Time Scales</name>
          <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">
                <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-STIXWEBNORMALI-1D461" 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 100 77c43 57 89 146 109 219l21 75h77Z" id="E1-STIXWEBNORMALI-1D462" 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 -259c0 -87 49 -109 94 -109 c61 0 107 33 142 67Z" id="E1-STIXWEBNORMALI-1D450" stroke-width="1"/>
                  <path d="M637 320h-589v66h589v-66zM637 120h-589v66h589v-66Z" id="E1-STIXWEBMAIN-3D" 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 -132 -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 56 -29 56 -62c0 -25 -6 -50 -11 -70l-59 -231c-1 -2 -1 -5 -1 -10c1 -6 4 -14 15 -14c24 0 48 36 62 53Z" id="E1-STIXWEBNORMALI-1D45B" stroke-width="1"/>
                  <path d="M253 370l14 13c39 37 78 58 113 58c61 0 94 -54 94 -155c0 -129 -110 -298 -254 -298c-24 0 -42 4 -61 19l-24 -100c-3 -13 -5 -24 -5 -35c0 -22 11 -43 61 -43h16l-3 -12h-234l3 12c62 3 69 33 81 79l117 464c0 19 -1 33 -31 33c-8 0 -20 -2 -28 -4l-2 16l158 24 l-18 -69zM214 238l-46 -200c14 -16 34 -21 46 -21c101 0 176 173 176 285c0 63 -28 83 -51 83c-53 0 -105 -61 -125 -147Z" id="E1-STIXWEBNORMALI-1D45D" stroke-width="1"/>
                  <path d="M621 220h-557v66h557v-66Z" id="E1-STIXWEBMAIN-2212" stroke-width="1"/>
                  <path d="M474 137l-54 -137h-391v12l178 189c94 99 130 175 130 260c0 91 -54 141 -139 141c-72 0 -107 -32 -147 -130l-21 5c21 117 85 199 208 199c113 0 185 -77 185 -176c0 -79 -39 -154 -128 -248l-165 -176h234c42 0 63 11 96 67Z" id="E1-STIXWEBMAIN-32" stroke-width="1"/>
                  <path d="M476 330c0 -172 -63 -344 -226 -344c-171 0 -226 186 -226 350c0 177 69 340 230 340c131 0 222 -141 222 -346zM380 325c0 208 -44 325 -132 325c-83 0 -128 -118 -128 -321s44 -317 130 -317c85 0 130 115 130 313Z" id="E1-STIXWEBMAIN-30" stroke-width="1"/>
                  <path d="M445 155c0 -103 -77 -169 -197 -169c-113 0 -192 69 -192 163c0 69 23 108 130 183c-103 85 -124 123 -124 188c0 96 83 156 194 156c99 0 168 -65 168 -143c0 -75 -35 -109 -134 -162c123 -82 155 -136 155 -216zM355 533c0 69 -41 115 -109 115 c-67 0 -110 -37 -110 -99s37 -108 125 -160c68 40 94 82 94 144zM271 272l-59 40c-59 -48 -80 -89 -80 -154c0 -92 51 -144 127 -144c65 0 110 45 110 110c0 62 -30 102 -98 148Z" id="E1-STIXWEBMAIN-38" stroke-width="1"/>
                  <path d="M59 -22l-3 20c152 27 264 132 304 296c-43 -42 -91 -57 -150 -57c-108 0 -180 81 -180 203c0 135 89 236 208 236c64 0 118 -28 157 -76c40 -50 64 -122 64 -206c0 -115 -40 -224 -120 -297c-85 -77 -150 -101 -280 -119zM362 355v39c0 168 -45 254 -132 254 c-30 0 -56 -12 -73 -34c-20 -27 -35 -86 -35 -140c0 -119 48 -194 123 -194c44 0 117 22 117 75Z" id="E1-STIXWEBMAIN-39" stroke-width="1"/>
                  <path d="M472 428l-91 -345s-1 -2 -1 -11c0 -11 6 -17 14 -17c10 0 25 2 64 54l12 -12c-31 -47 -85 -107 -133 -107c-33 0 -42 23 -42 55c0 13 6 34 11 50h-4c-72 -92 -134 -105 -173 -105c-63 0 -89 55 -89 119c0 132 132 332 276 332c43 0 64 -24 66 -46h1l9 33h80zM367 341 c0 41 -12 71 -50 71c-68 0 -128 -87 -162 -171c-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" stroke-width="1"/>
                  <path d="M257 566c0 -26 -22 -46 -48 -46c-29 0 -48 20 -48 46c0 25 19 50 48 50c26 0 48 -25 48 -50zM227 441l-92 -364c-1 -6 -1 -10 -1 -14c0 -7 6 -10 13 -10c22 0 28 12 64 51l13 -10c-35 -45 -85 -105 -134 -105c-28 0 -40 19 -40 46c0 12 0 31 79 338c1 2 2 9 2 12 c0 17 -8 22 -31 22c-9 0 -21 -2 -28 -4l-3 16Z" id="E1-STIXWEBNORMALI-1D456" stroke-width="1"/>
                  <path d="M492 413l-13 -45h-81c13 -15 17 -28 17 -50c0 -75 -53 -137 -141 -148c-59 -8 -88 -33 -88 -58c0 -63 233 -23 233 -148c0 -71 -66 -151 -215 -151c-134 0 -184 57 -184 115s55 88 117 108c-17 11 -24 30 -24 47c0 38 37 87 85 87v4c-67 15 -94 62 -94 109 c0 79 68 158 174 158c42 0 73 -13 88 -28h126zM336 349c0 37 -10 62 -54 62c-54 0 -98 -71 -98 -139c0 -46 12 -81 56 -81c71 0 96 102 96 158zM349 -69c0 78 -132 73 -192 95c-8 -5 -18 -10 -26 -16c-26 -19 -48 -45 -48 -72c0 -47 44 -97 139 -97c91 0 127 46 127 90Z" id="E1-STIXWEBNORMALI-1D454" stroke-width="1"/>
                  <path d="M390 441l-24 -146h-15c0 64 -36 120 -92 120c-25 0 -51 -17 -51 -58c0 -55 134 -147 134 -242c0 -62 -48 -125 -135 -125c-34 0 -98 20 -110 20c-9 0 -18 -4 -30 -21h-17l25 156h16c0 -63 41 -130 104 -130c59 0 73 50 73 89c0 82 -130 132 -130 230c0 79 59 107 114 107 c43 0 63 -20 92 -20c11 0 22 10 30 20h16Z" id="E1-STIXWEBNORMALI-1D460" stroke-width="1"/>
                  <path d="M636 220h-261v-261h-66v261h-261v66h261v261h66v-261h261v-66Z" id="E1-STIXWEBMAIN-2B" stroke-width="1"/>
                  <path d="M61 510l-16 4c29 95 92 162 196 162c93 0 156 -55 156 -137c0 -48 -26 -98 -93 -138c44 -19 62 -31 83 -53c28 -31 44 -77 44 -129c0 -53 -17 -102 -46 -140c-48 -64 -143 -93 -232 -93c-73 0 -112 21 -112 57c0 21 18 36 41 36c17 0 33 -6 61 -26c37 -26 58 -31 86 -31 c74 0 130 68 130 153c0 76 -35 125 -104 145c-22 7 -45 10 -102 10v14c38 13 64 24 84 36c49 28 81 73 81 134c0 68 -42 102 -108 102c-62 0 -108 -32 -149 -106Z" id="E1-STIXWEBMAIN-33" stroke-width="1"/>
                  <path d="M394 0h-276v15c74 4 95 25 95 80v449c0 34 -9 49 -30 49c-10 0 -27 -5 -45 -12l-27 -10v14l179 91l9 -3v-597c0 -43 20 -61 95 -61v-15Z" id="E1-STIXWEBMAIN-31" stroke-width="1"/>
                  <path d="M438 681l-36 -85c-3 -7 -11 -13 -27 -13h-194l-40 -85c143 -27 193 -49 250 -128c26 -36 35 -74 35 -127c0 -96 -30 -158 -98 -208c-47 -34 -102 -49 -170 -49c-75 0 -127 24 -127 62c0 25 17 38 45 38c23 0 42 -5 74 -31c28 -23 51 -32 71 -32c70 0 135 83 135 169 c0 64 -22 114 -67 150c-47 38 -117 70 -213 70c-9 0 -12 2 -12 8c0 2 1 5 1 5l109 237h207c23 0 32 5 48 26Z" id="E1-STIXWEBMAIN-35" stroke-width="1"/>
                  <path d="M446 684l2 -16c-157 -26 -269 -134 -296 -285c49 38 83 45 127 45c117 0 189 -80 189 -209c0 -64 -18 -120 -51 -160c-37 -46 -93 -73 -159 -73c-79 0 -142 37 -177 101c-28 51 -47 122 -47 192c0 108 38 203 109 276c86 90 165 114 303 129zM378 188 c0 128 -42 194 -135 194c-57 0 -116 -24 -116 -116c0 -152 48 -252 142 -252c72 0 109 72 109 174Z" id="E1-STIXWEBMAIN-36" stroke-width="1"/>
                  <path d="M473 167h-103v-167h-78v167h-280v64l314 445h44v-445h103v-64zM292 231v343l-240 -343h240Z" id="E1-STIXWEBMAIN-34" stroke-width="1"/>
                </defs>
                <g fill="black" stroke="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)">
                  <g transform="translate(16540,0)">
                    <use xlink:href="#E1-STIXWEBNORMALI-1D461" x="0" y="0"/>
                    <g transform="translate(313,-150)">
                      <use xlink:href="#E1-STIXWEBNORMALI-1D462" transform="scale(0.707)" x="0" y="0"/>
                      <use xlink:href="#E1-STIXWEBNORMALI-1D461" transform="scale(0.707)" x="474" y="0"/>
                      <use xlink:href="#E1-STIXWEBNORMALI-1D450" transform="scale(0.707)" x="788" y="0"/>
                    </g>
                    <use xlink:href="#E1-STIXWEBMAIN-3D" x="1542" y="0"/>
                    <g transform="translate(2505,0)">
                      <use xlink:href="#E1-STIXWEBNORMALI-1D461" x="0" y="0"/>
                      <g transform="translate(313,-150)">
                        <use xlink:href="#E1-STIXWEBNORMALI-1D45B" transform="scale(0.707)" x="0" y="0"/>
                        <use xlink:href="#E1-STIXWEBNORMALI-1D461" transform="scale(0.707)" x="497" y="0"/>
                        <use xlink:href="#E1-STIXWEBNORMALI-1D45D" transform="scale(0.707)" x="810" y="0"/>
                      </g>
                    </g>
                    <use xlink:href="#E1-STIXWEBMAIN-2212" x="4060" y="0"/>
                    <g transform="translate(4968,0)">
                      <use xlink:href="#E1-STIXWEBMAIN-32"/>
                      <use xlink:href="#E1-STIXWEBMAIN-32" x="500" y="0"/>
                      <use xlink:href="#E1-STIXWEBMAIN-30" x="1001" y="0"/>
                      <use xlink:href="#E1-STIXWEBMAIN-38" x="1501" y="0"/>
                      <use xlink:href="#E1-STIXWEBMAIN-39" x="2002" y="0"/>
                      <use xlink:href="#E1-STIXWEBMAIN-38" x="2502" y="0"/>
                      <use xlink:href="#E1-STIXWEBMAIN-38" x="3003" y="0"/>
                      <use xlink:href="#E1-STIXWEBMAIN-38" x="3503" y="0"/>
                      <use xlink:href="#E1-STIXWEBMAIN-30" x="4004" y="0"/>
                      <use xlink:href="#E1-STIXWEBMAIN-30" x="4504" y="0"/>
                    </g>
                  </g>
                  <g transform="translate(16774,-1400)">
                    <use xlink:href="#E1-STIXWEBNORMALI-1D461" x="0" y="0"/>
                    <g transform="translate(313,-150)">
                      <use xlink:href="#E1-STIXWEBNORMALI-1D461" transform="scale(0.707)" x="0" y="0"/>
                      <use xlink:href="#E1-STIXWEBNORMALI-1D44E" transform="scale(0.707)" x="313" y="0"/>
                      <use xlink:href="#E1-STIXWEBNORMALI-1D456" transform="scale(0.707)" x="816" y="0"/>
                    </g>
                    <use xlink:href="#E1-STIXWEBMAIN-3D" x="1488" y="0"/>
                    <g transform="translate(2451,0)">
                      <use xlink:href="#E1-STIXWEBNORMALI-1D461" x="0" y="0"/>
                      <g transform="translate(313,-150)">
                        <use xlink:href="#E1-STIXWEBNORMALI-1D454" transform="scale(0.707)" x="0" y="0"/>
                        <use xlink:href="#E1-STIXWEBNORMALI-1D45D" transform="scale(0.707)" x="492" y="0"/>
                        <use xlink:href="#E1-STIXWEBNORMALI-1D460" transform="scale(0.707)" x="982" y="0"/>
                      </g>
                    </g>
                    <use xlink:href="#E1-STIXWEBMAIN-2B" x="4093" y="0"/>
                    <g transform="translate(5001,0)">
                      <use xlink:href="#E1-STIXWEBMAIN-33"/>
                      <use xlink:href="#E1-STIXWEBMAIN-31" x="500" y="0"/>
                      <use xlink:href="#E1-STIXWEBMAIN-35" x="1001" y="0"/>
                      <use xlink:href="#E1-STIXWEBMAIN-39" x="1501" y="0"/>
                      <use xlink:href="#E1-STIXWEBMAIN-36" x="2002" y="0"/>
                      <use xlink:href="#E1-STIXWEBMAIN-34" x="2502" y="0"/>
                      <use xlink:href="#E1-STIXWEBMAIN-38" x="3003" y="0"/>
                      <use xlink:href="#E1-STIXWEBMAIN-31" x="3503" y="0"/>
                      <use xlink:href="#E1-STIXWEBMAIN-39" x="4004" y="0"/>
                    </g>
                  </g>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[t    = t    - 2208988800
 utc    ntp

t    = t    + 315964819
 tai    gps
]]></artwork>
          </artset>
        </figure>
      </section>
      <section anchor="clock-quality">
        <name>Clock Quality</name>
        <t>A number of keys are defined to indicate the quality of clock that was
used to determine the point in time.</t>
        <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="IEEE1588-2008"/>; two more are specific to this document.</t>
        <sourcecode type="cddl"><![CDATA[
ClockQuality-group = (
  ? ClockClass => uint .size 1 ; PTP/RFC8575
  ? ClockAccuracy => uint .size 1 ; PTP/RFC8575
  ? OffsetScaledLogVariance => uint .size 2 ; PTP/RFC8575
  ? Uncertainty => ~time/~duration
  ? Guarantee => ~time/~duration
)
ClockClass = -2
ClockAccuracy = -4
OffsetScaledLogVariance = -5
Uncertainty = -7
Guarantee = -8
]]></sourcecode>
        <section anchor="clockclass-key-2">
          <name>ClockClass (Key -2)</name>
          <t>Key -2 (ClockClass) can be used to indicate the clock class as per
Table 5 of <xref target="IEEE1588-2008"/>.
It is defined as a one-byte unsigned integer as that is the range defined there.</t>
        </section>
        <section anchor="clockaccuracy-key-4">
          <name>ClockAccuracy (Key -4)</name>
          <t>Key -4 (ClockAccuracy) can be used to indicate the clock accuracy as per
Table 6 of <xref target="IEEE1588-2008"/>.
It is defined as a one-byte unsigned integer as that is the range defined there.
The range between 32 and 47 is a slightly distorted logarithmic scale from
25 ns to 1 s (see <xref target="formula-accuracy-enum"/>); the number 254 is the
value to be used if an unknown accuracy needs to be expressed.</t>
          <figure anchor="formula-accuracy-enum">
            <name>Approximate conversion from accuracy to accuracy enumeration value</name>
            <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 -1221.9 14044.6 2013.3" width="32.62ex">
                  <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 -127 -167 -176 -286 -182v-28c0 -64 52 -107 113 -107c42 0 90 18 126 64zM124 211h9c104 0 198 69 198 157c0 25 -19 43 -44 43 c-74 0 -134 -115 -163 -200Z" id="E1-STIXWEBNORMALI-1D452" 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 -132 -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 56 -29 56 -62c0 -25 -6 -50 -11 -70l-59 -231c-1 -2 -1 -5 -1 -10c1 -6 4 -14 15 -14c24 0 48 36 62 53Z" id="E1-STIXWEBNORMALI-1D45B" 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 100 77c43 57 89 146 109 219l21 75h77Z" id="E1-STIXWEBNORMALI-1D462" stroke-width="1"/>
                    <path d="M667 107l13 -11c-32 -54 -84 -104 -131 -104c-22 0 -39 10 -39 49c0 7 1 17 6 37l56 221c4 14 6 23 6 40c0 20 -6 38 -24 38c-54 0 -164 -181 -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 24l-44 -169h6c94 143 154 169 192 169c37 0 55 -37 55 -81c0 -17 -3 -32 -9 -52l-10 -36h5c29 52 81 114 130 147c22 15 41 22 61 22c36 0 54 -26 54 -71c0 -18 -1 -37 -7 -61l-61 -231c-1 -3 -2 -9 -2 -12 c0 -8 6 -12 15 -12c17 0 43 16 62 53Z" id="E1-STIXWEBNORMALI-1D45A" stroke-width="1"/>
                    <path d="M472 428l-91 -345s-1 -2 -1 -11c0 -11 6 -17 14 -17c10 0 25 2 64 54l12 -12c-31 -47 -85 -107 -133 -107c-33 0 -42 23 -42 55c0 13 6 34 11 50h-4c-72 -92 -134 -105 -173 -105c-63 0 -89 55 -89 119c0 132 132 332 276 332c43 0 64 -24 66 -46h1l9 33h80zM367 341 c0 41 -12 71 -50 71c-68 0 -128 -87 -162 -171c-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" 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 -259c0 -87 49 -109 94 -109 c61 0 107 33 142 67Z" id="E1-STIXWEBNORMALI-1D450" stroke-width="1"/>
                    <path d="M604 475h33c-6 -85 -60 -204 -158 -204c-96 0 -203 128 -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 -275 128c-70 0 -107 -67 -123 -138h-33 c5 100 65 204 163 204c96 0 203 -128 276 -128c69 0 102 67 117 138Z" id="E1-STIXWEBMAIN-2248" stroke-width="1"/>
                    <path d="M473 167h-103v-167h-78v167h-280v64l314 445h44v-445h103v-64zM292 231v343l-240 -343h240Z" id="E1-STIXWEBMAIN-34" stroke-width="1"/>
                    <path d="M445 155c0 -103 -77 -169 -197 -169c-113 0 -192 69 -192 163c0 69 23 108 130 183c-103 85 -124 123 -124 188c0 96 83 156 194 156c99 0 168 -65 168 -143c0 -75 -35 -109 -134 -162c123 -82 155 -136 155 -216zM355 533c0 69 -41 115 -109 115 c-67 0 -110 -37 -110 -99s37 -108 125 -160c68 40 94 82 94 144zM271 272l-59 40c-59 -48 -80 -89 -80 -154c0 -92 51 -144 127 -144c65 0 110 45 110 110c0 62 -30 102 -98 148Z" id="E1-STIXWEBMAIN-38" stroke-width="1"/>
                    <path d="M636 220h-261v-261h-66v261h-261v66h261v261h66v-261h261v-66Z" id="E1-STIXWEBMAIN-2B" stroke-width="1"/>
                    <path d="M447 -213h-259v926h66v-798c0 -64 19 -95 84 -95h109v-33Z" id="E1-STIXWEBMAIN-230A" stroke-width="1"/>
                    <path d="M474 137l-54 -137h-391v12l178 189c94 99 130 175 130 260c0 91 -54 141 -139 141c-72 0 -107 -32 -147 -130l-21 5c21 117 85 199 208 199c113 0 185 -77 185 -176c0 -79 -39 -154 -128 -248l-165 -176h234c42 0 63 11 96 67Z" id="E1-STIXWEBMAIN-32" stroke-width="1"/>
                    <path d="M203 253c0 -32 -27 -60 -59 -60c-33 0 -61 30 -61 60s28 60 61 60c32 0 59 -28 59 -60Z" id="E1-STIXWEBMAIN-22C5" stroke-width="1"/>
                    <path d="M278 668l-148 -591s-1 -4 -1 -11s4 -13 12 -13c23 0 53 39 62 55l16 -12c-34 -40 -77 -106 -135 -106c-30 0 -39 26 -39 51c0 12 3 26 6 36l128 510c3 13 3 21 3 24c0 12 -8 22 -31 22c-7 0 -19 -2 -27 -3l-3 15Z" id="E1-STIXWEBNORMALI-1D459" stroke-width="1"/>
                    <path d="M438 287c0 -139 -110 -298 -263 -298c-101 0 -135 90 -135 163c0 128 103 289 251 289c80 0 147 -46 147 -154zM357 318c0 38 -14 93 -67 93c-82 0 -169 -149 -169 -285c0 -33 3 -107 59 -107c106 0 177 223 177 299Z" id="E1-STIXWEBNORMALI-1D45C" stroke-width="1"/>
                    <path d="M492 413l-13 -45h-81c13 -15 17 -28 17 -50c0 -75 -53 -137 -141 -148c-59 -8 -88 -33 -88 -58c0 -63 233 -23 233 -148c0 -71 -66 -151 -215 -151c-134 0 -184 57 -184 115s55 88 117 108c-17 11 -24 30 -24 47c0 38 37 87 85 87v4c-67 15 -94 62 -94 109 c0 79 68 158 174 158c42 0 73 -13 88 -28h126zM336 349c0 37 -10 62 -54 62c-54 0 -98 -71 -98 -139c0 -46 12 -81 56 -81c71 0 96 102 96 158zM349 -69c0 78 -132 73 -192 95c-8 -5 -18 -10 -26 -16c-26 -19 -48 -45 -48 -72c0 -47 44 -97 139 -97c91 0 127 46 127 90Z" id="E1-STIXWEBNORMALI-1D454" stroke-width="1"/>
                    <path d="M394 0h-276v15c74 4 95 25 95 80v449c0 34 -9 49 -30 49c-10 0 -27 -5 -45 -12l-27 -10v14l179 91l9 -3v-597c0 -43 20 -61 95 -61v-15Z" id="E1-STIXWEBMAIN-31" stroke-width="1"/>
                    <path d="M476 330c0 -172 -63 -344 -226 -344c-171 0 -226 186 -226 350c0 177 69 340 230 340c131 0 222 -141 222 -346zM380 325c0 208 -44 325 -132 325c-83 0 -128 -118 -128 -321s44 -317 130 -317c85 0 130 115 130 313Z" id="E1-STIXWEBMAIN-30" stroke-width="1"/>
                    <path d="M156 301l104 -63c64 -39 88 -66 88 -123c0 -67 -64 -125 -140 -125c-21 0 -50 1 -73 9c-24 8 -35 9 -46 9c-12 0 -18 -2 -24 -12h-13v157h16c21 -97 58 -141 127 -141c51 0 83 33 83 74c0 31 -20 57 -53 75l-54 30c-83 46 -120 94 -120 145c0 79 56 123 138 123 c24 0 46 -1 67 -11c11 -5 21 -8 28 -8c4 0 8 1 16 10h11l5 -136h-15c-23 90 -53 123 -113 123c-43 0 -75 -21 -75 -68c0 -22 15 -51 43 -68Z" id="E1-STIXWEBMAIN-73" stroke-width="1"/>
                    <path d="M621 220h-557v66h557v-66Z" id="E1-STIXWEBMAIN-2212" stroke-width="1"/>
                    <path d="M430 441l-19 -132h-15c-7 46 -24 105 -93 105c-82 0 -139 -97 -161 -167h181l-5 -36h-185c-7 -20 -7 -41 -7 -66c0 -64 37 -101 92 -101c58 0 109 34 144 68l12 -14c-53 -60 -111 -109 -194 -109c-94 0 -140 69 -140 152c0 142 114 300 269 300c49 0 55 -20 83 -20 c12 0 19 11 23 20h15Z" id="E1-STIXWEBNORMALI-1D716" stroke-width="1"/>
                    <path d="M286 -213h-259v33h109c65 0 84 31 84 95v798h66v-926Z" id="E1-STIXWEBMAIN-230B" stroke-width="1"/>
                  </defs>
                  <g fill="black" stroke="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)">
                    <use xlink:href="#E1-STIXWEBNORMALI-1D452" x="0" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D45B" x="445" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D462" x="943" y="0"/>
                    <g transform="translate(1417,0)">
                      <use xlink:href="#E1-STIXWEBNORMALI-1D45A" x="0" y="0"/>
                      <g transform="translate(710,-150)">
                        <use xlink:href="#E1-STIXWEBNORMALI-1D44E" transform="scale(0.707)" x="0" y="0"/>
                        <use xlink:href="#E1-STIXWEBNORMALI-1D450" transform="scale(0.707)" x="502" y="0"/>
                        <use xlink:href="#E1-STIXWEBNORMALI-1D450" transform="scale(0.707)" x="918" y="0"/>
                      </g>
                    </g>
                    <use xlink:href="#E1-STIXWEBMAIN-2248" x="3448" y="0"/>
                    <g transform="translate(4411,0)">
                      <use xlink:href="#E1-STIXWEBMAIN-34"/>
                      <use xlink:href="#E1-STIXWEBMAIN-38" x="500" y="0"/>
                    </g>
                    <use xlink:href="#E1-STIXWEBMAIN-2B" x="5635" y="0"/>
                    <use xlink:href="#E1-STIXWEBMAIN-230A" x="6542" y="0"/>
                    <use xlink:href="#E1-STIXWEBMAIN-32" x="7012" y="0"/>
                    <use xlink:href="#E1-STIXWEBMAIN-22C5" x="7735" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D459" x="8243" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D45C" x="8562" y="0"/>
                    <g transform="translate(9020,0)">
                      <use xlink:href="#E1-STIXWEBNORMALI-1D454" x="0" y="0"/>
                      <g transform="translate(492,-150)">
                        <use xlink:href="#E1-STIXWEBMAIN-31" transform="scale(0.707)"/>
                        <use xlink:href="#E1-STIXWEBMAIN-30" transform="scale(0.707)" x="500" y="0"/>
                      </g>
                    </g>
                    <g transform="translate(10321,0)">
                      <g transform="translate(120,0)">
                        <rect height="60" width="1453" x="0" y="220"/>
                        <g transform="translate(60,676)">
                          <use xlink:href="#E1-STIXWEBNORMALI-1D44E" x="0" y="0"/>
                          <use xlink:href="#E1-STIXWEBNORMALI-1D450" x="502" y="0"/>
                          <use xlink:href="#E1-STIXWEBNORMALI-1D450" x="918" y="0"/>
                        </g>
                        <use xlink:href="#E1-STIXWEBMAIN-73" x="532" y="-686"/>
                      </g>
                    </g>
                    <use xlink:href="#E1-STIXWEBMAIN-2212" x="12236" y="0"/>
                    <use xlink:href="#E1-STIXWEBNORMALI-1D716" x="13144" y="0"/>
                    <use xlink:href="#E1-STIXWEBMAIN-230B" x="13575" y="0"/>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[enum   approx48 + |_2cdotlog  {accovers} - epsilon_|
    acc                     10
]]></artwork>
            </artset>
          </figure>
        </section>
        <section anchor="offsetscaledlogvariance-key-5">
          <name>OffsetScaledLogVariance (Key -5)</name>
          <t>Key -5 (OffsetScaledLogVariance) can be used to represent the variance
exhibited by the clock when it has lost its synchronization with an
external reference clock.  The details for the computation of this
characteristic are defined in Section 7.6.3 of <xref target="IEEE1588-2008"/>.</t>
        </section>
        <section anchor="uncertainty-key-7">
          <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
duration (<xref target="duration"/>).</t>
          <t>For this document, uncertainty is defined as in Section 2.2.3 of
<xref target="GUM"/>: "parameter, associated with the result of a measurement, that
characterizes the dispersion of the values that could reasonably be
attributed to the measurand".  More specifically, the value for this
key represents the extended uncertainty for k = 2, in seconds.</t>
        </section>
        <section anchor="guarantee-key-8">
          <name>Guarantee (Key -8)</name>
          <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
duration (<xref target="duration"/>)
representing the maximum allowed deviation from the true value.</t>
          <t>While such a guarantee is unattainable in theory, existing standards
such as <xref target="RFC3161"/> stipulate the representation of such guarantees,
and therefore this format provides a way to represent them as well;
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>
        </section>
      </section>
      <section anchor="tzh">
        <name>Keys -10, 10: Time Zone Hint</name>
        <t>Keys -10 and 10 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
string in the format defined for <tt>time-zone-name</tt> or <tt>time-numoffset</tt>
in <xref target="IXDTF"/>.
Key -10 is equivalent to providing this information as an elective
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>
        <t>Keys -10 and 10 <bcp14>MUST NOT</bcp14> both be present.</t>
        <sourcecode type="cddl"><![CDATA[
time-zone-info = tstr .abnf
                 ("time-zone-name / time-numoffset" .det IXDTFtz)
IXDTFtz = '
   time-hour       = 2DIGIT  ; 00-23
   time-minute     = 2DIGIT  ; 00-59
   time-numoffset  = ("+" / "-") time-hour ":" time-minute



   time-zone-initial = ALPHA / "." / "_"
   time-zone-char    = time-zone-initial / DIGIT / "-" / "+"
   time-zone-part    = time-zone-initial *13(time-zone-char)
                       ; but not "." or ".."
   time-zone-name    = time-zone-part *("/" time-zone-part)
   ALPHA             =  %x41-5A / %x61-7A   ; A-Z / a-z
   DIGIT             =  %x30-39 ; 0-9
' ; extracted from [IXDTF] and [RFC3339]; update as needed
]]></sourcecode>
      </section>
      <section anchor="suff">
        <name>Keys -11, 11: IXDTF Suffix Information</name>
        <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
suffixes, such as the calendar that would best fit for displaying the
time given to humans.
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>
        <sourcecode type="cddl"><![CDATA[
suffix-info-map = { * suffix-key => suffix-values }
suffix-key = tstr .abnf ("suffix-key" .det IXDTF)
suffix-values = one-or-more<suffix-value>
one-or-more<T> = T / [ 2* T ]
suffix-value = tstr .abnf ("suffix-value" .det IXDTF)

IXDTF = '
   key-initial       = ALPHA / "_"
   key-char          = key-initial / DIGIT / "-"
   suffix-key        = key-initial *key-char

   suffix-value      = 1*alphanum
   alphanum          = ALPHA / DIGIT
   ALPHA             =  %x41-5A / %x61-7A   ; A-Z / a-z
   DIGIT             =  %x30-39 ; 0-9
' ; extracted from [IXDTF]; update as needed!
]]></sourcecode>
        <t>When keys -11 and 11 both are present, the two maps <bcp14>MUST NOT</bcp14> have
entries with the same map keys.</t>
        <t>Figure 4 of <xref target="IXDTF"/> gives an example for an extended date-time with both time zone
and suffix information:</t>
        <artwork><![CDATA[
1996-12-19T16:39:57-08:00[America/Los_Angeles][u-ca=hebrew]
]]></artwork>
        <t>A time tag that is approximating this example, in CBOR diagnostic
notation, would be:</t>
        <sourcecode type="cbor-diag"><![CDATA[
/ 1996-12-19T16:39:57-08:00[America//Los_Angeles][u-ca=hebrew] /
1001({ 1: 851042397,
     -10: "America/Los_Angeles",
     -11: { "u-ca": "hebrew" }
})
]]></sourcecode>
        <t>Note that both -10 and -11 are using negative keys and therefore
provide elective information, as in the IXDTF form.
Note also 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 into a
Posix time that can be included under Key 1 in a time tag.</t>
      </section>
    </section>
    <section anchor="duration">
      <name>Duration Format</name>
      <t>A duration is the length of an interval of time.
Durations in this format are given in SI seconds, possibly adjusted
for conventional corrections of the time scale given (e.g., leap
seconds).</t>
      <t>Except for using Tag 1002 instead of 1001,
durations are structurally identical to time values.
Semantically, they do not measure the time elapsed from a given epoch,
but from the start to the end of (an otherwise unspecified) interval
of time.</t>
      <t>In combination with an epoch identified in the context, a duration can
also be used to express an absolute time.</t>
      <aside>
        <t>(TBD: Clearly, ISO8601 durations are rather different; we do not want to use these.)</t>
      </aside>
    </section>
    <section anchor="period">
      <name>Period Format</name>
      <t>A period is a specific interval of time, specified as either two times
giving the start and the end of that interval, or as one of these two
plus a duration.</t>
      <t>They are given as an array of unwrapped time and duration elements,
tagged with Tag 1003:</t>
      <sourcecode type="cddl"><![CDATA[
Period = #6.1003([
  start: ~Time / null
  end: ~Time / null
  ? duration: ~Duration / null
])
]]></sourcecode>
      <t>If the third array element is not given, the duration element is null.
Exactly two out of the three elements must be non-null, this can be
clumsily expressed in CDDL as:</t>
      <sourcecode type="cddl"><![CDATA[
Period = #6.1003([
  (start: ~Time,
   ((end: ~Time,
     ? duration: null) //
    (end: null,
     duration: ~Duration))) //
  (start: null,
   end: ~Time,
   duration: ~Duration)
])
]]></sourcecode>
      <aside>
        <t>(Issue: should start/end be given the two-element treatment, or start/duration?)</t>
      </aside>
    </section>
    <section anchor="cddl-typenames">
      <name>CDDL typenames</name>
      <t>For the use with the CBOR Data Definition Language, CDDL <xref target="RFC8610"/>, the
type names defined in <xref target="tag-cddl"/> are recommended:</t>
      <figure anchor="tag-cddl">
        <name>Recommended type names for CDDL</name>
        <sourcecode type="cddl"><![CDATA[
etime = #6.1001({* (int/tstr) => any})
duration = #6.1002({* (int/tstr) => any})
period = #6.1003([~etime/null, ~etime/null, ~duration/null])
]]></sourcecode>
      </figure>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>In the registry <xref target="IANA.cbor-tags"/>,
IANA has allocated the tags in <xref target="tab-tag-values"/> from what was at the
time the
FCFS space, with the present document as the specification reference.</t>
      <table anchor="tab-tag-values">
        <name>Values for Tags</name>
        <thead>
          <tr>
            <th align="right">Tag</th>
            <th align="left">Data Item</th>
            <th align="left">Semantics</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="right">1001</td>
            <td align="left">map</td>
            <td align="left">[RFCthis] extended time</td>
          </tr>
          <tr>
            <td align="right">1002</td>
            <td align="left">map</td>
            <td align="left">[RFCthis] duration</td>
          </tr>
          <tr>
            <td align="right">1003</td>
            <td align="left">array</td>
            <td align="left">[RFCthis] period</td>
          </tr>
        </tbody>
      </table>
      <t>IANA is requested to change the "Data Item" column for Tag 1003 from
"map" to "array".</t>
      <aside>
        <t>(TBD: Add registry for time scales.
Add registry for map keys and allocation policies for additional keys.)</t>
      </aside>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations of RFC 8949 apply; the tags introduced
here are not expected to raise security considerations beyond those.</t>
      <t>Time, of course, has significant security considerations; these
include the exploitation of ambiguities where time is security
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
resolution and wall clock offset).</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC8949" target="https://www.rfc-editor.org/info/rfc8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman">
              <organization/>
            </author>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange 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="TIME_T" target="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_16">
          <front>
            <title>Vol. 1: Base Definitions, Issue 7</title>
            <author>
              <organization>The Open Group Base Specifications</organization>
            </author>
            <date year="2016"/>
          </front>
          <seriesInfo name="Section 4.15" value="'Seconds Since the Epoch'"/>
          <seriesInfo name="IEEE Std" value="1003.1-2008"/>
          <seriesInfo name="2016" value="Edition"/>
        </reference>
        <reference anchor="SI-SECOND">
          <front>
            <title>Quantities and units — Part 3: Space and time</title>
            <author>
              <organization>International Organization for Standardization (ISO)</organization>
            </author>
            <date year="2006" month="March" day="01"/>
          </front>
          <seriesInfo name="ISO" value="80000-3"/>
        </reference>
        <reference anchor="IEEE1588-2008" target="http://standards.ieee.org/findstds/standard/1588-2008.html">
          <front>
            <title>1588-2008 - IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems</title>
            <author>
              <organization>IEEE</organization>
            </author>
            <date year="2008" month="July"/>
          </front>
        </reference>
        <reference anchor="GUM" target="https://www.bipm.org/en/publications/guides/gum.html">
          <front>
            <title>Evaluation of measurement data — Guide to the expression of uncertainty in measurement</title>
            <author>
              <organization>Joint Committee for Guides in Metrology</organization>
            </author>
            <date year="2008" month="September"/>
          </front>
          <seriesInfo name="JCGM" value="100:2008"/>
        </reference>
        <reference anchor="IANA.cbor-tags" target="https://www.iana.org/assignments/cbor-tags">
          <front>
            <title>Concise Binary Object Representation (CBOR) Tags</title>
            <author>
              <organization abbrev="IANA">Internet Assigned Numbers Authority</organization>
            </author>
            <date day="19" month="September" year="2013"/>
          </front>
        </reference>
        <reference anchor="RFC8610" target="https://www.rfc-editor.org/info/rfc8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz">
              <organization/>
            </author>
            <author fullname="C. Vigano" initials="C." surname="Vigano">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049).  Its main goal is to provide an easy and unambiguous way to express structures for protocol messages 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" target="https://www.ietf.org/archive/id/draft-ietf-sedate-datetime-extended-05.txt">
          <front>
            <title>Date and Time on the Internet: Timestamps with additional information</title>
            <author fullname="Ujjwal Sharma">
              <organization>Igalia, S.L.</organization>
            </author>
            <author fullname="Carsten Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="11" month="July" year="2022"/>
            <abstract>
              <t>   This document defines an extension to the timestamp format defined in
   RFC3339 for representing additional information including a time
   zone.


   // The present version (-05) includes a few changes that are intended
   // for discussion at IETF 114.  In particular, the introduction of
   // the critical-flag exposes the fact that some RFC 3339
   // implementations assign different semantics to the time zone
   // offsets Z and +00:00; we may want to consider ways to cope with
   // this apparently common deviation.  Also, the name of the format is
   // still up for suggestions that improve upon the current choice.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-sedate-datetime-extended-05"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, 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" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  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>
        <name>Informative References</name>
        <reference anchor="RFC8575" target="https://www.rfc-editor.org/info/rfc8575">
          <front>
            <title>YANG Data Model for the Precision Time Protocol (PTP)</title>
            <author fullname="Y. Jiang" initials="Y." role="editor" surname="Jiang">
              <organization/>
            </author>
            <author fullname="X. Liu" initials="X." surname="Liu">
              <organization/>
            </author>
            <author fullname="J. Xu" initials="J." surname="Xu">
              <organization/>
            </author>
            <author fullname="R. Cummings" initials="R." role="editor" surname="Cummings">
              <organization/>
            </author>
            <date month="May" year="2019"/>
            <abstract>
              <t>This document defines a YANG data model for the configuration of devices and clocks using the Precision Time Protocol (PTP) as specified in IEEE 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 document conforms to the Network Management Datastore Architecture (NMDA).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8575"/>
          <seriesInfo name="DOI" value="10.17487/RFC8575"/>
        </reference>
        <reference anchor="RFC3161" target="https://www.rfc-editor.org/info/rfc3161">
          <front>
            <title>Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)</title>
            <author fullname="C. Adams" initials="C." surname="Adams">
              <organization/>
            </author>
            <author fullname="P. Cain" initials="P." surname="Cain">
              <organization/>
            </author>
            <author fullname="D. Pinkas" initials="D." surname="Pinkas">
              <organization/>
            </author>
            <author fullname="R. Zuccherato" initials="R." surname="Zuccherato">
              <organization/>
            </author>
            <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 establishes several security-relevant requirements for TSA operation, with regards to processing 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" target="https://www.rfc-editor.org/info/rfc3339">
          <front>
            <title>Date and Time on the Internet: Timestamps</title>
            <author fullname="G. Klyne" initials="G." surname="Klyne">
              <organization/>
            </author>
            <author fullname="C. Newman" initials="C." surname="Newman">
              <organization/>
            </author>
            <date month="July" year="2002"/>
            <abstract>
              <t>This document defines a date and time format for use in Internet protocols that is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3339"/>
          <seriesInfo name="DOI" value="10.17487/RFC3339"/>
        </reference>
      </references>
    </references>
    <!--
Contributors
============
{: numbered="no"}

Add reference to [TIME] once available.

Ben Gamari suggested being able to use decimally scaled fractional
seconds in CBOR time.
 -->

<section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <!--  LocalWords:  CBOR extensibility IANA uint sint IEEE endian TAI
 -->
<!--  LocalWords:  signedness endianness NTP IXDTF
 -->

</section>
  </back>
  <!-- ##markdown-source:
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
Cum9/wAPZZqE0lQAAA==

-->

</rfc>
