<?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.7.1 (Ruby 2.7.0) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-rcr-opsawg-operational-compute-metrics-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.2 -->
  <front>
    <title abbrev="TODO - Abbreviation">Joint Exposure of Network and Compute Information for Infrastructure-Aware Service Deployment</title>
    <seriesInfo name="Internet-Draft" value="draft-rcr-opsawg-operational-compute-metrics-00"/>
    <author fullname="S. Randriamasy">
      <organization>Nokia Bell Labs</organization>
      <address>
        <email>sabine.randriamasy@nokia-bell-labs.com</email>
      </address>
    </author>
    <author fullname="L. M. Contreras">
      <organization>Telefonica</organization>
      <address>
        <email>luismiguel.contrerasmurillo@telefonica.com</email>
      </address>
    </author>
    <author fullname="Jordi Ros-Giralt">
      <organization>Qualcomm Europe, Inc.</organization>
      <address>
        <email>jros@qti.qualcomm.com</email>
      </address>
    </author>
    <date year="2023" month="October" day="23"/>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 58?>

<t>Service providers are starting to deploy computing capabilities
across the network for hosting applications such as AR/VR, vehicle
networks, IoT, and AI training, among others. In these distributed
computing environments, information about computing and communication
resources is necessary to determine both the proper deployment location of
each application and the best server location on which to run it.
This information is used by numerous different implementations with different
interpretations. This document proposes an initial approach towards a
common understanding and exposure scheme for metrics reflecting compute
capabilities.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://giralt.github.io/draft-rcr-opsawg-operational-compute-metrics/draft-rcr-opsawg-operational-compute-metrics.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-rcr-opsawg-operational-compute-metrics/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/giralt/draft-rcr-opsawg-operational-compute-metrics"/>.</t>
    </note>
  </front>
  <middle>
    <?line 71?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Operators are starting to deploy distributed computing environments
in different parts of the network with the objective of addressing
different service needs including latency, bandwidth, processing
capabilities, storage, etc.
This translates in the emergence of a
number of data centers (both in the cloud and at the edge) of
different sizes (e.g., large, medium, small) characterized by
distinct dimension of CPUs, memory, and storage capabilities, as well
as bandwidth capacity for forwarding the traffic generated in and out
of the corresponding data center.</t>
      <t>The proliferation of the edge computing paradigm further increases
the potential footprint and heterogeneity of the environments where a
function or application can be deployed, resulting in different
unitary cost per CPU, memory, and storage. This increases the
complexity of deciding the location where a given function or
application should be best deployed or executed.
This decision should be jointly
influenced on the one hand by the available resources in a given computing
environment, and on the other hand by the capabilities of the network path connecting
the traffic source with the destination.</t>
      <t>Network and compute aware function placement and selection has become of utmost importance in the last decade. The availability of such information is taken for granted by the numerous service providers and bodies that are specifying them.
However, deployments may reach out to data centers running different implementations with different understandings and representations of compute capabilities and smooth operation is a challenge. While standardization efforts on network capabilities representation and exposure are well-advanced, similar efforts on compute capabilitites are in their infancy.</t>
      <t>This document proposes an initial approach towards  a common understanding
and exposure scheme for metrics reflecting compute capabilities.
It aims at leveraging on existing work in the IETF on compute metrics definitions to build synergies.
It also aims at reaching out to working or research groups in the IETF that would consume such information and have particular requirements.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</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>
      <?line -18?>

<!-- # Motivations

TODO TEST
ANOTHE CHANGE + COMMENTS
CHANGE 2 -->

</section>
    <section anchor="problem-space-and-needs">
      <name>Problem Space and Needs</name>
      <t>Visibility and exposure of both (1) network and (2) compute
resources to the application is critical to
enable the proper functioning of the new class of services
arising at the edge (e.g., distributed AI, driverless vehicles,
AR/VR, etc.). To understand the problem space and the capabilities
that are lacking in today's protocol interfaces needed to enable
these new services, we focus on the life cycle of
a service.</t>
      <t>At the edge, compute nodes
are deployed near communication nodes (e.g., co-located
in a 5G base station) to provide computing services that are
close to users with the goal to (1) reduce latency, (2) increase
communication bandwidth, (3) enable privacy/personalization
(e.g., federated AI learning), and (4) reduce cloud costs and
energy. Services are deployed on the communication and compute
infrastructure through a two-phase life cycle that involves first a
service <em>deployment stage</em> and then a <em>service selection</em> stage
(<xref target="lifecycle"/>).</t>
      <figure anchor="lifecycle">
        <name>Service life cycle.</name>
        <artwork><![CDATA[
 +-------------+      +--------------+      +-------------+
 |             |      |              |      |             |
 |  New        +------>  Service     +------>  Service    |
 |  Service    |      |  Deployment  |      |  Selection  |
 |             |      |              |      |             |
 +-------------+      +--------------+      +-------------+
]]></artwork>
      </figure>
      <!--
In this Section, we introduce the life cycle of a
service as a simple framework to understand the capabilities
that are lacking in today's protocol interfaces and that are necessary for
these new services. -->

<t><strong>Service deployment.</strong> This phase is carried out by the service
provider, and consists in the deployment of a new service
(e.g., a distributed AI training/inference, an XR/AR service, etc.)
on the communication and compute infrastructure. The service
provider needs to properly size the amount of communication and compute
resources assigned to this new service to meet the expected user
demand. The decision on where the service is deployed and how
many resources are requested from the infrastructure depends on
the levels of QoE that the provider wants to guarantee to the
user base. To make a proper deployment decision, the provider
must have visibility on the resources available from
the infrastructure, including communication resources (e.g., latency and
bandwidth) and compute (e.g., CPU, GPU, memory, storage). For instance,
to run a Large Language Model (LLM) with 175 billion parameters, a total
aggregated memory of 400GB and 8 GPUs are needed. The service provider needs
an interface to query the infrastructure, extract the available compute
and communication resources, and decide which subset of resources are
needed to run the service.</t>
      <t><strong>Service selection.</strong> This phase is initiated by the user, through
a client application that connects to the deployed service. There
are two main decisions that must be performed in the service selection
stage: compute node selection and path selection. In the compute node selection
step, as the service is generally replicated in
N locations (e.g., by leveraging a microservices architecture),
the application must decide which of the service replicas
it connects to. Similar to the service deployment stage, this
decision requires knowledge about communication and compute
resources available in each replica. On the other hand, in the path selection decision,
the application must decide which path it chooses to connect to the service.
This decision depends on the communication properties (e.g., bandwidth and latency)
of the available paths. Similar to the service deployment case,
the service provider needs an interface to query the infrastructure and extract the available compute
and communication resources, with the goal to make informed node and path selection decisions.
It is also important to note that, ideally, the node and path selection
decisions should be jointly optimized, since in general the best end-to-end performance
is achieved by jointly taking into account both decisions. In some cases, however,
such decisions may be owned by different players. For instance, in some network
environments, the path selection may be decided by the network operator,
wheres the node selection may be decided by the application. Even in these cases,
it is crucial to have a proper interface (for both the network operator and the service
provider) to query the available compute and communication resources from the system.</t>
      <t><xref target="prob_space"/> summarizes the problem space, the information that needs to be exposed, and the stakeholders that need this information.</t>
      <table anchor="prob_space">
        <name>Problem space, needs, and stakeholders.</name>
        <thead>
          <tr>
            <th align="right">Action to take</th>
            <th align="center">Information needed</th>
            <th align="left">Who needs it</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="right">Service placement</td>
            <td align="center">Compute and communication</td>
            <td align="left">Service provider</td>
          </tr>
          <tr>
            <td align="right">Service selection/node selection</td>
            <td align="center">Compute</td>
            <td align="left">Network/service provider and/or application</td>
          </tr>
          <tr>
            <td align="right">Service selection/path selection</td>
            <td align="center">Communication</td>
            <td align="left">Network/service and/or application</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="guiding-principles">
      <name>Guiding Principles</name>
      <t>The driving principles for designing an interface to jointly extract network and compute information are as follows:</t>
      <t>P1. Leverage metrics across working groups to avoid reinventing the wheel. For instance:</t>
      <ul spacing="normal">
        <li>
          <t>RFC 9439 <xref target="I-D.ietf-alto-performance-metrics"/> leverages IPPM metrics from RFC 7679.</t>
        </li>
        <li>
          <t>Section 5.2 of <xref target="I-D.du-cats-computing-modeling-description"/> considers delay as a good metric, since it is easy to use in both compute and communication domains. RFC 9439 also defines delay as part of the performance metrics.</t>
        </li>
        <li>
          <t>Section 6 of <xref target="I-D.du-cats-computing-modeling-description"/> proposes to represent the network structure as graphs, which is similar to the ALTO map services in <xref target="RFC7285"/>.</t>
        </li>
      </ul>
      <t>P2. Aim for simplicity, while ensuring the combined efforts
don’t leave technical gaps in supporting the full life cycle
of service deployment and selection. For instance, the CATS working
group is covering path selection from a network standpoint, while
ALTO (e.g., <xref target="RFC7285"/>) covers exposing of network information
to the service provider and the client application. However,
there is currently no effort being pursued to expose compute information
to the service provider and the client application for
service placement or selection.</t>
    </section>
    <section anchor="related-work">
      <name>Related Work</name>
      <t>Some existing work has explored compute-related metrics. They can be categorized as follows:</t>
      <ul spacing="normal">
        <li>
          <t>References providing raw compute infrastructure metrics: <xref target="I-D.contreras-alto-service-edge"/> includes references to cloud management solutions (i.e., OpenStack, Kubernetes, etc) which administer the virtualization infrastructure, providing information about raw compute infrastructure metrics. Furthermore, <xref target="NFV-TST"/> describes processor, memory and network interface usage metrics.</t>
        </li>
        <li>
          <t>References providing compute virtualization metrics: <xref target="RFC7666"/> provides several metrics as part of the Management Information Base (MIB) definition for managing virtual machines controlled by a hypervisor. The objects there defined make reference to the resources consumed by a particluar virtual machine serving as host for services or applications. Moreover, <xref target="NFV-INF"/> provides metrics associated to virtualized network functions.</t>
        </li>
        <li>
          <t>References providing service metrics including compute-related information: <xref target="I-D.dunbar-cats-edge-service-metrics"/> proposes metrics associated to services running in compute infrastructures. Some of these metrics do not depend on the infrastructure behavior itself but from where such compute infrastructure is topologically located.</t>
        </li>
      </ul>
    </section>
    <section anchor="gap-analysis">
      <name>GAP Analysis</name>
      <t>From this related work it is evident that compute-related metrics can serve several purposes, ranging from service instance instantiation to service instance behavior, and then to service instance selection. Some of the metrics could refer to the same object (e.g., CPU) but with a particular usage and scope.</t>
      <t>In contrast, the network metrics are more uniform and straightforward. It is then necessary to consistently define a set of metrics that could assist to the operation in the different concerns identified so far, so that networks and systems could have a common understanding of the perceived compute performance. When combined with network metrics, the combined network plus compute performance behavior will assist informed decisions particular to each of the operational concerns related to the different parts of a service life cycle.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO Security</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC7285">
          <front>
            <title>Application-Layer Traffic Optimization (ALTO) Protocol</title>
            <author fullname="R. Alimi" initials="R." role="editor" surname="Alimi"/>
            <author fullname="R. Penno" initials="R." role="editor" surname="Penno"/>
            <author fullname="Y. Yang" initials="Y." role="editor" surname="Yang"/>
            <author fullname="S. Kiesel" initials="S." surname="Kiesel"/>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="W. Roome" initials="W." surname="Roome"/>
            <author fullname="S. Shalunov" initials="S." surname="Shalunov"/>
            <author fullname="R. Woundy" initials="R." surname="Woundy"/>
            <date month="September" year="2014"/>
            <abstract>
              <t>Applications using the Internet already have access to some topology information of Internet Service Provider (ISP) networks. For example, views to Internet routing tables at Looking Glass servers are available and can be practically downloaded to many network application clients. What is missing is knowledge of the underlying network topologies from the point of view of ISPs. In other words, what an ISP prefers in terms of traffic optimization -- and a way to distribute it.</t>
              <t>The Application-Layer Traffic Optimization (ALTO) services defined in this document provide network information (e.g., basic network location structure and preferences of network paths) with the goal of modifying network resource consumption patterns while maintaining or improving application performance. The basic information of ALTO is based on abstract maps of a network. These maps provide a simplified view, yet enough information about a network for applications to effectively utilize them. Additional services are built on top of the maps.</t>
              <t>This document describes a protocol implementing the ALTO services. Although the ALTO services would primarily be provided by ISPs, other entities, such as content service providers, could also provide ALTO services. Applications that could use the ALTO services are those that have a choice to which end points to connect. Examples of such applications are peer-to-peer (P2P) and content delivery networks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7285"/>
          <seriesInfo name="DOI" value="10.17487/RFC7285"/>
        </reference>
        <reference anchor="I-D.ietf-alto-performance-metrics">
          <front>
            <title>Application-Layer Traffic Optimization (ALTO) Performance Cost Metrics</title>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Y. Richard Yang" initials="Y. R." surname="Yang">
              <organization>Yale University</organization>
            </author>
            <author fullname="Young Lee" initials="Y." surname="Lee">
              <organization>Samsung</organization>
            </author>
            <author fullname="Dhruv Dhody" initials="D." surname="Dhody">
              <organization>Huawei</organization>
            </author>
            <author fullname="Sabine Randriamasy" initials="S." surname="Randriamasy">
              <organization>Nokia Bell Labs</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <date day="21" month="March" year="2022"/>
            <abstract>
              <t>The cost metric is a basic concept in Application-Layer Traffic
Optimization (ALTO), and different applications may use different
types of cost metrics. Since the ALTO base protocol (RFC 7285)
defines only a single cost metric (namely, the generic "routingcost"
metric), if an application wants to issue a cost map or an endpoint
cost request in order to identify a resource provider that offers
better performance metrics (e.g., lower delay or loss rate), the base
protocol does not define the cost metric to be used.

 This document addresses this issue by extending the specification to
provide a variety of network performance metrics, including network
delay, delay variation (a.k.a. jitter), packet loss rate, hop count,
and bandwidth.

 There are multiple sources (e.g., estimations based on measurements
or a Service Level Agreement) available for deriving a performance
metric. This document introduces an additional "cost-context" field
to the ALTO "cost-type" field to convey the source of a performance
metric.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-alto-performance-metrics-28"/>
        </reference>
        <reference anchor="I-D.du-cats-computing-modeling-description">
          <front>
            <title>Computing Information Description in Computing-Aware Traffic Steering</title>
            <author fullname="Zongpeng Du" initials="Z." surname="Du">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Yuexia Fu" initials="Y." surname="Fu">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Cheng Li" initials="C." surname="Li">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Daniel Huang" initials="D." surname="Huang">
              <organization>ZTE</organization>
            </author>
            <author fullname="Zhihua Fu" initials="Z." surname="Fu">
              <organization>New H3C Technologies</organization>
            </author>
            <date day="23" month="October" year="2023"/>
            <abstract>
              <t>   This document describes the considerations and the potential
   architecture of the computing information that needs to be notified
   into the network in Computing-Aware Traffic Steering (CATS).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-du-cats-computing-modeling-description-02"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <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 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">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <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 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 anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="NFV-TST" target="https://www.etsi.org/deliver/etsi_gs/NFV-TST/001_099/008/03.03.01_60/gs_NFV-TST008v030301p.pdf">
          <front>
            <title>ETSI GS NFV-TST 008 V3.3.1, NFVI Compute and Network Metrics Specification</title>
            <author>
              <organization/>
            </author>
            <date year="2020" month="June" day="01"/>
          </front>
        </reference>
        <reference anchor="NFV-INF" target="https://www.etsi.org/deliver/etsi_gs/NFV-INF/001_099/010/01.01.01_60/gs_NFV-INF010v010101p.pdf">
          <front>
            <title>ETSI GS NFV-INF 010, v1.1.1, Service Quality Metrics</title>
            <author>
              <organization/>
            </author>
            <date year="2014" month="December" day="01"/>
          </front>
        </reference>
        <reference anchor="I-D.contreras-alto-service-edge">
          <front>
            <title>Use of ALTO for Determining Service Edge</title>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Sabine Randriamasy" initials="S." surname="Randriamasy">
              <organization>Nokia Bell Labs</organization>
            </author>
            <author fullname="Jordi Ros-Giralt" initials="J." surname="Ros-Giralt">
              <organization>Qualcomm Europe</organization>
            </author>
            <author fullname="Danny Alex Lachos Perez" initials="D. A. L." surname="Perez">
              <organization>Benocs</organization>
            </author>
            <author fullname="Christian Esteve Rothenberg" initials="C. E." surname="Rothenberg">
              <organization>Unicamp</organization>
            </author>
            <date day="13" month="October" year="2023"/>
            <abstract>
              <t>   Service providers are starting to deploy computing capabilities
   across the network for hosting applications such as AR/VR, vehicle
   networks, IoT, and AI training, among others.  In these distributed
   computing environments, knowledge about computing and communication
   resources is necessary to determine the proper deployment location of
   each application.  This document proposes an initial approach towards
   the use of ALTO to expose such information to the applications and
   assist the selection of their deployment locations.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-contreras-alto-service-edge-10"/>
        </reference>
        <reference anchor="RFC7666">
          <front>
            <title>Management Information Base for Virtual Machines Controlled by a Hypervisor</title>
            <author fullname="H. Asai" initials="H." surname="Asai"/>
            <author fullname="M. MacFaden" initials="M." surname="MacFaden"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="K. Shima" initials="K." surname="Shima"/>
            <author fullname="T. Tsou" initials="T." surname="Tsou"/>
            <date month="October" year="2015"/>
            <abstract>
              <t>This document defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, this specifies objects for managing virtual machines controlled by a hypervisor (a.k.a. virtual machine monitor).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7666"/>
          <seriesInfo name="DOI" value="10.17487/RFC7666"/>
        </reference>
        <reference anchor="I-D.dunbar-cats-edge-service-metrics">
          <front>
            <title>5G Edge Services Use Cases</title>
            <author fullname="Linda Dunbar" initials="L." surname="Dunbar">
              <organization>Futurewei</organization>
            </author>
            <author fullname="Kausik Majumdar" initials="K." surname="Majumdar">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Gyan Mishra" initials="G. S." surname="Mishra">
              <organization>Huawei</organization>
            </author>
            <author fullname="Haibo Wang" initials="H." surname="Wang">
              <organization>Huawei</organization>
            </author>
            <author fullname="Haoyu Song" initials="H." surname="Song">
              <organization>Futurewei</organization>
            </author>
            <date day="6" month="July" year="2023"/>
            <abstract>
              <t>   This draft describes the 5G Edge computing use cases for CATS
   and how BGP can be used to propagate additional IP layer
   detectable information about the 5G edge data centers so that
   the ingress routers in the 5G Local Data Network can make
   path selections based on not only the routing distance but
   also the IP Layer relevant metrics of the destinations. The
   goal is to improve latency and performance for 5G Edge
   Computing (EC) services even when the detailed servers
   running status are unavailable.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-dunbar-cats-edge-service-metrics-01"/>
        </reference>
      </references>
    </references>
    <?line 274?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
I3t/V2V/35sh7Vd7H93mMowEsf8H6z761kg2AAA=

-->

</rfc>
