<?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.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-cats-framework-17" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="CATS Framework">A Framework for Computing-Aware Traffic Steering (CATS)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-cats-framework-17"/>
    <author initials="C." surname="Li" fullname="Cheng Li" role="editor">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>c.l@huawei.com</email>
      </address>
    </author>
    <author initials="Z." surname="Du" fullname="Zongpeng Du">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>duzongpeng@chinamobile.com</email>
      </address>
    </author>
    <author fullname="Mohamed Boucadair" role="editor">
      <organization>Orange</organization>
      <address>
        <postal>
          <country>France</country>
        </postal>
        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>
    <author fullname="Luis M. Contreras">
      <organization>Telefonica</organization>
      <address>
        <postal>
          <country>Spain</country>
        </postal>
        <email>luismiguel.contrerasmurillo@telefonica.com</email>
      </address>
    </author>
    <author initials="J." surname="Drake" fullname="John E Drake">
      <organization>Independent</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>je_drake@yahoo.com</email>
      </address>
    </author>
    <date year="2025" month="October" day="20"/>
    <area>Routing area</area>
    <workgroup>cats</workgroup>
    <keyword>Computing Computing-Aware Traffic Steering</keyword>
    <keyword>User Experience</keyword>
    <keyword>Collaborative Networking</keyword>
    <keyword>Service optimization</keyword>
    <abstract>
      <?line 109?>

<t>This document describes a framework for Computing-Aware Traffic Steering (CATS). Specifically, the document identifies a set of CATS components, describes their interactions, and provides illustrative workflows of the control and data planes.</t>
    </abstract>
  </front>
  <middle>
    <?line 113?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Computing service architectures evolved from single service site to multiple, sometimes collaborative, service sites to address various issues such as long response times or suboptimal utilization of service and network resources (e.g., resource under-utilization or exhaustion).</t>
      <t>The underlying networking infrastructures that include computing resources usually provide relatively static service dispatching, e.g., the selection of the service instances for a request. In such infrastructures, service-specific traffic is often directed to the closest service site from a routing perspective without considering the actual network state (e.g., traffic congestion conditions) or the service site state.</t>
      <t>As described in <xref target="I-D.ietf-cats-usecases-requirements"/>, traffic steering that takes into account computing resource metrics would benefit several services, including latency-sensitive services such as immersive services that rely upon the use of augmented reality or virtual reality (AR/VR) techniques. This document provides an architectural framework that aims at facilitating the making of compute- and network-aware traffic steering decisions in dynamic networking environments with variable computing service resources.</t>
      <t>Today, organizations often distribute user services across on-premises and cloud service provider networks. To support both redundancy and responsiveness, the Computing-Aware Traffic Steering (CATS) framework supports single or multiple service instances providing one given service, which may exist in one or more service sites. Clients access service instances via client-facing service functions known as service contact instances. A single service site may host one or multiple service contact instances. A single service site may have limited computing resources available at a given time, whereas the various service sites may experience different resource availability issues over time. Therefore, steering traffic among different service sites can address resource limitations in a specific service site.</t>
      <t>Steering in CATS aims to select the appropriate service contact instance to service a request according to a set of network and computing metrics. This selection may not reveal the actual service instance that a client will invoke, e.g., in hierarchical or recursive contexts. Therefore, the metrics of the service contact instance may be aggregate metrics from multiple service instances.</t>
      <t>The CATS framework is an overlay framework for the selection of the suitable service contact instance(s) from a set of candidates. A combination of networking and computing metrics determine the exact characterization of services as 'suitable' or not.</t>
      <t>Furthermore, this document describes a workflow of the main CATS procedures (see <xref target="sec-cats-workflow"/>) executed in both the control and data planes.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>This document makes use of the following terms:</t>
      <dl>
        <dt>Client:</dt>
        <dd>
          <t>An endpoint that connects to a service provider network.</t>
        </dd>
        <dt>Flow:</dt>
        <dd>
          <t>A logical grouping of packets during a time interval, identified by some fields from the packet header, such as the 5-tuple transport coordinates (source address and destination address, source and destination port numbers, and protocol).</t>
        </dd>
        <dt>Computing-Aware Traffic Steering (CATS):</dt>
        <dd>
          <t>A traffic engineering approach <xref target="RFC9522"/> that takes into account the dynamic nature of computing resources (e.g., compute and storage) and network state to optimize service-specific traffic forwarding towards a given service contact instance. The CATS framework leverages various metrics to enable computing-aware traffic steering policies.</t>
        </dd>
        <dt>Metric:</dt>
        <dd>
          <t>A quantitative measure that provides suitable input to a selection mechanism for CATS decision making.</t>
        </dd>
        <dt>Computing metrics:</dt>
        <dd>
          <t>Metrics specific to the computing resources in the underlying CATS system(s) as distinct from other metrics, such as network metrics. For further detail, see the set computing metrics defined in <xref target="I-D.ietf-cats-metric-definition"/>.</t>
        </dd>
        <dt>Service:</dt>
        <dd>
          <t>An offering that is made available by a service provider by orchestrating a set of resources (networking, compute, storage, etc.).</t>
        </dd>
        <dt/>
        <dd>
          <t>The service provider retains control of internal resources and the service logic. For example, these resources may be:
</t>
          <ul spacing="normal">
            <li>
              <t>Exposed by one or multiple processes.</t>
            </li>
            <li>
              <t>Provided by virtual instances, physical, or a combination thereof.</t>
            </li>
            <li>
              <t>Hosted within the same or distinct nodes.</t>
            </li>
            <li>
              <t>Hosted within the same or multiple service sites.</t>
            </li>
            <li>
              <t>Chained to provide a service using a variety of means.</t>
            </li>
          </ul>
        </dd>
        <dt/>
        <dd>
          <t>How a service provider structures its services remains out of the scope of CATS.</t>
        </dd>
        <dt/>
        <dd>
          <t>Service providers may provide the same service in many locations; each of them constitutes a service instance.</t>
        </dd>
        <dt>Computing Service:</dt>
        <dd>
          <t>A service offered to a client by a service provider by orchestrating a set of computing resources.</t>
        </dd>
        <dt>CATS Service ID (CS-ID):</dt>
        <dd>
          <t>An identifier representing a service, which the clients use to access it. See <xref target="cats-ids"/>.</t>
        </dd>
        <dt>Service instance:</dt>
        <dd>
          <t>An instance of running resources according to a given service logic.</t>
        </dd>
        <dt/>
        <dd>
          <t>A service provider may enable many service instances that adhere to the same service logic to provide the same service.</t>
        </dd>
        <dt/>
        <dd>
          <t>A service instance runs in a service site and one or more instances may service clients' requests.</t>
        </dd>
        <dt>Service site:</dt>
        <dd>
          <t>A location that hosts the resources that implement an offered service.</t>
        </dd>
        <dt/>
        <dd>
          <t>A service site may be a node or a set of nodes.</t>
        </dd>
        <dt/>
        <dd>
          <t>A CATS-serviced site is a service site connected to a CATS-Forwarder.</t>
        </dd>
        <dt>Service contact instance:</dt>
        <dd>
          <t>A client-facing service function instance that is responsible for receiving requests in the context of a given service.</t>
        </dd>
        <dt/>
        <dd>
          <t>A service contact instance can handle one or more service instances.</t>
        </dd>
        <dt/>
        <dd>
          <t>Steering beyond a service contact instance is hidden to both clients and CATS components.</t>
        </dd>
        <dt/>
        <dd>
          <t>A service contact instance processes a client's service request according to the service logic (e.g., handle locally or solicit backend resources).</t>
        </dd>
        <dt/>
        <dd>
          <t>A service contact instance is reachable via at least one Egress CATS-Forwarder.</t>
        </dd>
        <dt/>
        <dd>
          <t>Clients may access a service via multiple service contact instances running at the same or different locations (service sites).</t>
        </dd>
        <dt/>
        <dd>
          <t>A service contact instance may dispatch service requests to one or more service instances (e.g., a service contact instance that behaves as a service load-balancer).</t>
        </dd>
        <dt>CATS Service Contact Instance ID (CSCI-ID):</dt>
        <dd>
          <t>An identifier of a specific service contact instance. See <xref target="cats-ids"/>.</t>
        </dd>
        <dt>Service request:</dt>
        <dd>
          <t>A request to access or invoke a specific service. CATS-Forwarders steer a service request to a service contact instance.</t>
        </dd>
        <dt/>
        <dd>
          <t>Clients must place a service request using service-specific protocols.</t>
        </dd>
        <dt/>
        <dd>
          <t>Clients direct service requests to a server (identified by a CS-ID), without explicit knowledge of CATS-Forwarders.</t>
        </dd>
        <dt>CATS-Forwarder:</dt>
        <dd>
          <t>A network entity that steers traffic specific to a service request towards a corresponding yet-selected service contact instance according to provisioned forwarding decisions. These decisions are supplied by a C-PS, which may or may not be on the CATS-Forwarder.</t>
        </dd>
        <dt/>
        <dd>
          <t>A CATS-Forwarder may behave as an Ingress or Egress CATS-Forwarder.</t>
        </dd>
        <dt>Ingress CATS-Forwarder:</dt>
        <dd>
          <t>An entity that steers service-specific traffic along a CATS-computed path that leads to an Egress CATS-Forwarder that connects to the most suitable service site that hosts the service contact instance selected to satisfy the initial service request.</t>
        </dd>
        <dt>Egress CATS-Forwarder:</dt>
        <dd>
          <t>An entity located at the end of a CATS-computed path which connects to a CATS-serviced site.</t>
        </dd>
        <dt>CATS Path Selector (C-PS):</dt>
        <dd>
          <t>A functional entity that selects paths towards service locations and instances in order to accommodate the requirements of service requests. The path selection engine takes into account the service and network status information. See <xref target="sec-cps"/>.</t>
        </dd>
        <dt>CATS Service Metric Agent (C-SMA):</dt>
        <dd>
          <t>A functional entity that is responsible for collecting service capabilities and status, and for reporting them to a CATS Path Selector (C-PS). See <xref target="sec-csma"/>.</t>
        </dd>
        <dt>CATS Network Metric Agent (C-NMA):</dt>
        <dd>
          <t>A functional entity that is responsible for collecting network capabilities and status, and for reporting them to a C-PS. See <xref target="sec-cnma"/>.</t>
        </dd>
        <dt>CATS Traffic Classifier (C-TC):</dt>
        <dd>
          <t>A functional entity that is responsible for determining which packets belong to a traffic flow for a specific service request. It is also responsible for forwarding such packets along a C-PS computed path that leads to the relevant service contact instance. See <xref target="sec-ctc"/>.</t>
        </dd>
      </dl>
    </section>
    <section anchor="Framework-and-concepts">
      <name>CATS Framework and Components</name>
      <section anchor="assumptions">
        <name>Assumptions</name>
        <t>CATS assumes that there are multiple service instances running on different service sites, which provide a given service that is represented by the same service identifier (see <xref target="cats-ids"/>). However, CATS does not make any assumption about these instances other than they are reachable via one or multiple service contact instances.</t>
      </section>
      <section anchor="cats-ids">
        <name>CATS Identifiers</name>
        <t>CATS uses the following identifiers:</t>
        <dl>
          <dt>CATS Service ID (CS-ID):</dt>
          <dd>
            <t>An identifier (ID) representing a service, which the clients use to access it. Such an ID identifies all the instances of a given service, regardless of their locations.</t>
          </dd>
          <dt/>
          <dd>
            <t>The CS-ID is independent of which service contact instance serves the service request.</t>
          </dd>
          <dt/>
          <dd>
            <t>Service requests are spread over the service contact instances that can accommodate them, considering the location of the initiator of the service request and the availability (in terms of resource/traffic load, for example) of the service instances resource-wise among other considerations like traffic congestion conditions.</t>
          </dd>
          <dt>CATS Service Contact Instance ID (CSCI-ID):</dt>
          <dd>
            <t>An identifier of a specific service contact instance.</t>
          </dd>
        </dl>
      </section>
      <section anchor="sec-cats-framework">
        <name>Framework Overview</name>
        <t>A high-level view of the CATS framework, without expanding the functional entities in the network, is illustrated in <xref target="fig-cats-fw"/>.</t>
        <figure anchor="fig-cats-fw">
          <name>Main CATS Interactions</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="384" width="488" viewBox="0 0 488 384" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,96" fill="none" stroke="black"/>
                <path d="M 8,160 L 8,192" fill="none" stroke="black"/>
                <path d="M 288,32 L 288,96" fill="none" stroke="black"/>
                <path d="M 288,160 L 288,192" fill="none" stroke="black"/>
                <path d="M 312,32 L 312,336" fill="none" stroke="black"/>
                <path d="M 392,32 L 392,96" fill="none" stroke="black"/>
                <path d="M 392,160 L 392,208" fill="none" stroke="black"/>
                <path d="M 392,272 L 392,320" fill="none" stroke="black"/>
                <path d="M 408,176 L 408,240" fill="none" stroke="black"/>
                <path d="M 408,288 L 408,336" fill="none" stroke="black"/>
                <path d="M 424,96 L 424,152" fill="none" stroke="black"/>
                <path d="M 464,32 L 464,96" fill="none" stroke="black"/>
                <path d="M 480,176 L 480,240" fill="none" stroke="black"/>
                <path d="M 480,288 L 480,336" fill="none" stroke="black"/>
                <path d="M 8,32 L 288,32" fill="none" stroke="black"/>
                <path d="M 392,32 L 464,32" fill="none" stroke="black"/>
                <path d="M 8,64 L 288,64" fill="none" stroke="black"/>
                <path d="M 320,62 L 384,62" fill="none" stroke="black"/>
                <path d="M 320,66 L 384,66" fill="none" stroke="black"/>
                <path d="M 8,96 L 288,96" fill="none" stroke="black"/>
                <path d="M 392,96 L 464,96" fill="none" stroke="black"/>
                <path d="M 8,160 L 288,160" fill="none" stroke="black"/>
                <path d="M 392,160 L 464,160" fill="none" stroke="black"/>
                <path d="M 408,176 L 480,176" fill="none" stroke="black"/>
                <path d="M 8,192 L 288,192" fill="none" stroke="black"/>
                <path d="M 320,190 L 384,190" fill="none" stroke="black"/>
                <path d="M 320,194 L 384,194" fill="none" stroke="black"/>
                <path d="M 408,240 L 480,240" fill="none" stroke="black"/>
                <path d="M 392,272 L 464,272" fill="none" stroke="black"/>
                <path d="M 408,288 L 480,288" fill="none" stroke="black"/>
                <path d="M 408,336 L 480,336" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="392,192 380,186.4 380,197.6" fill="black" transform="rotate(0,384,192)"/>
                <polygon class="arrowhead" points="392,64 380,58.4 380,69.6" fill="black" transform="rotate(0,384,64)"/>
                <polygon class="arrowhead" points="328,192 316,186.4 316,197.6" fill="black" transform="rotate(180,320,192)"/>
                <polygon class="arrowhead" points="328,64 316,58.4 316,69.6" fill="black" transform="rotate(180,320,64)"/>
                <g class="text">
                  <text x="124" y="52">Management</text>
                  <text x="192" y="52">Plane</text>
                  <text x="424" y="68">C-SMA</text>
                  <text x="128" y="84">Control</text>
                  <text x="184" y="84">Plane</text>
                  <text x="140" y="116">/\</text>
                  <text x="140" y="132">||</text>
                  <text x="140" y="148">\/</text>
                  <text x="116" y="180">Data</text>
                  <text x="160" y="180">Plane</text>
                  <text x="440" y="196">Service</text>
                  <text x="400" y="212">-</text>
                  <text x="440" y="212">Contact</text>
                  <text x="444" y="228">Instance</text>
                  <text x="448" y="260">|</text>
                  <text x="440" y="308">Service</text>
                  <text x="400" y="324">-</text>
                  <text x="444" y="324">Instance</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
   +----------------------------------+  |         +--------+
   |         Management Plane         |  |         |        |
   +----------------------------------+  |<=======>| C-SMA  |
   |           Control Plane          |  |         |        |
   +----------------------------------+  |         +---+----+
                   /\                    |             |
                   ||                    |             |
                   \/                    |             |
   +----------------------------------+  |         +--------+
   |           Data Plane             |  |         | +--------+
   +----------------------------------+  |<=======>| |Service |
                                         |         +-|Contact |
                                         |           |Instance|
                                         |           +--------+
                                         |                |
                                         |         +--------+
                                         |         | +--------+
                                         |         | |Service |
                                         |         +-|Instance|
                                         |           +--------+

]]></artwork>
          </artset>
        </figure>
        <t>For the sake of illustration, "Service Instance" is shown as a single box in <xref target="fig-cats-fw"/>. However,
this does not imply that a service instance is hosted in a single node. Whether  a service instance
is realized by invoking resources within a same node or by chaining resources exposed by several nodes
is deployment specific.</t>
        <t>The following planes are defined:</t>
        <ul spacing="normal">
          <li>
            <t>CATS Management Plane: Responsible for monitoring, configuring, and maintaining CATS network devices.</t>
          </li>
          <li>
            <t>CATS Control Plane: Responsible for scheduling services based on computing and network information. It is also responsible for making decisions about how packets should be forwarded by involved forwarding nodes and communicating such decisions to the CATS Data Plane for execution.</t>
          </li>
          <li>
            <t>CATS Data Plane: Responsible for computing-aware routing, including handling packets in the data path, such as packet forwarding.</t>
          </li>
        </ul>
        <t>Depending on implementation and deployment, these planes may consist of several functional elements/components, and the details will be described in the following sections. For example, the control plane may consist of C-PS, C-NMA, etc. The data plane may consist of CATS-Forwarders, C-TC, etc.</t>
      </section>
      <section anchor="sec-cats-arch">
        <name>CATS Functional Components</name>
        <t>CATS nodes make forwarding decisions for a given service request that has been received from a client according to the capabilities and status information of both service contact instances and network. The main CATS functional elements and their interactions are shown in <xref target="fig-cats-components"/>.</t>
        <figure anchor="fig-cats-components">
          <name>CATS Functional Components</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="688" width="480" viewBox="0 0 480 688" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,48 L 8,80" fill="none" stroke="black"/>
                <path d="M 24,320 L 24,368" fill="none" stroke="black"/>
                <path d="M 40,80 L 40,128" fill="none" stroke="black"/>
                <path d="M 56,112 L 56,208" fill="none" stroke="black"/>
                <path d="M 64,48 L 64,80" fill="none" stroke="black"/>
                <path d="M 72,32 L 72,64" fill="none" stroke="black"/>
                <path d="M 72,464 L 72,528" fill="none" stroke="black"/>
                <path d="M 104,152 L 104,176" fill="none" stroke="black"/>
                <path d="M 104,368 L 104,440" fill="none" stroke="black"/>
                <path d="M 104,592 L 104,640" fill="none" stroke="black"/>
                <path d="M 160,320 L 160,368" fill="none" stroke="black"/>
                <path d="M 176,48 L 176,80" fill="none" stroke="black"/>
                <path d="M 176,464 L 176,552" fill="none" stroke="black"/>
                <path d="M 184,336 L 184,448" fill="none" stroke="black"/>
                <path d="M 192,112 L 192,208" fill="none" stroke="black"/>
                <path d="M 192,464 L 192,512" fill="none" stroke="black"/>
                <path d="M 192,592 L 192,640" fill="none" stroke="black"/>
                <path d="M 208,80 L 208,128" fill="none" stroke="black"/>
                <path d="M 208,576 L 208,624" fill="none" stroke="black"/>
                <path d="M 224,560 L 224,608" fill="none" stroke="black"/>
                <path d="M 232,48 L 232,80" fill="none" stroke="black"/>
                <path d="M 232,160 L 232,208" fill="none" stroke="black"/>
                <path d="M 248,32 L 248,64" fill="none" stroke="black"/>
                <path d="M 248,336 L 248,368" fill="none" stroke="black"/>
                <path d="M 264,128 L 264,152" fill="none" stroke="black"/>
                <path d="M 288,160 L 288,208" fill="none" stroke="black"/>
                <path d="M 296,320 L 296,400" fill="none" stroke="black"/>
                <path d="M 304,464 L 304,528" fill="none" stroke="black"/>
                <path d="M 312,112 L 312,208" fill="none" stroke="black"/>
                <path d="M 328,48 L 328,80" fill="none" stroke="black"/>
                <path d="M 328,576 L 328,624" fill="none" stroke="black"/>
                <path d="M 360,80 L 360,112" fill="none" stroke="black"/>
                <path d="M 360,400 L 360,440" fill="none" stroke="black"/>
                <path d="M 368,240 L 368,272" fill="none" stroke="black"/>
                <path d="M 384,48 L 384,80" fill="none" stroke="black"/>
                <path d="M 400,32 L 400,64" fill="none" stroke="black"/>
                <path d="M 408,464 L 408,528" fill="none" stroke="black"/>
                <path d="M 416,576 L 416,624" fill="none" stroke="black"/>
                <path d="M 424,464 L 424,512" fill="none" stroke="black"/>
                <path d="M 432,240 L 432,272" fill="none" stroke="black"/>
                <path d="M 432,320 L 432,400" fill="none" stroke="black"/>
                <path d="M 432,560 L 432,608" fill="none" stroke="black"/>
                <path d="M 448,112 L 448,208" fill="none" stroke="black"/>
                <path d="M 24,32 L 72,32" fill="none" stroke="black"/>
                <path d="M 192,32 L 248,32" fill="none" stroke="black"/>
                <path d="M 344,32 L 400,32" fill="none" stroke="black"/>
                <path d="M 8,48 L 56,48" fill="none" stroke="black"/>
                <path d="M 176,48 L 232,48" fill="none" stroke="black"/>
                <path d="M 328,48 L 384,48" fill="none" stroke="black"/>
                <path d="M 8,80 L 56,80" fill="none" stroke="black"/>
                <path d="M 176,80 L 232,80" fill="none" stroke="black"/>
                <path d="M 328,80 L 384,80" fill="none" stroke="black"/>
                <path d="M 56,112 L 192,112" fill="none" stroke="black"/>
                <path d="M 312,112 L 448,112" fill="none" stroke="black"/>
                <path d="M 40,128 L 56,128" fill="none" stroke="black"/>
                <path d="M 192,128 L 208,128" fill="none" stroke="black"/>
                <path d="M 264,128 L 312,128" fill="none" stroke="black"/>
                <path d="M 64,144 L 184,144" fill="none" stroke="black"/>
                <path d="M 320,144 L 440,144" fill="none" stroke="black"/>
                <path d="M 232,160 L 288,160" fill="none" stroke="black"/>
                <path d="M 104,176 L 184,176" fill="none" stroke="black"/>
                <path d="M 56,208 L 192,208" fill="none" stroke="black"/>
                <path d="M 232,208 L 288,208" fill="none" stroke="black"/>
                <path d="M 312,208 L 448,208" fill="none" stroke="black"/>
                <path d="M 368,240 L 432,240" fill="none" stroke="black"/>
                <path d="M 368,272 L 432,272" fill="none" stroke="black"/>
                <path d="M 24,320 L 160,320" fill="none" stroke="black"/>
                <path d="M 296,320 L 432,320" fill="none" stroke="black"/>
                <path d="M 184,336 L 248,336" fill="none" stroke="black"/>
                <path d="M 24,368 L 160,368" fill="none" stroke="black"/>
                <path d="M 184,368 L 248,368" fill="none" stroke="black"/>
                <path d="M 296,368 L 432,368" fill="none" stroke="black"/>
                <path d="M 296,400 L 432,400" fill="none" stroke="black"/>
                <path d="M 88,448 L 176,448" fill="none" stroke="black"/>
                <path d="M 320,448 L 408,448" fill="none" stroke="black"/>
                <path d="M 72,464 L 168,464" fill="none" stroke="black"/>
                <path d="M 304,464 L 400,464" fill="none" stroke="black"/>
                <path d="M 72,528 L 176,528" fill="none" stroke="black"/>
                <path d="M 304,528 L 408,528" fill="none" stroke="black"/>
                <path d="M 136,560 L 224,560" fill="none" stroke="black"/>
                <path d="M 344,560 L 432,560" fill="none" stroke="black"/>
                <path d="M 120,576 L 208,576" fill="none" stroke="black"/>
                <path d="M 328,576 L 416,576" fill="none" stroke="black"/>
                <path d="M 104,592 L 192,592" fill="none" stroke="black"/>
                <path d="M 328,624 L 416,624" fill="none" stroke="black"/>
                <path d="M 104,640 L 192,640" fill="none" stroke="black"/>
                <path d="M 56,48 C 64.83064,48 72,55.16936 72,64" fill="none" stroke="black"/>
                <path d="M 56,48 C 64.83064,48 72,40.83064 72,32" fill="none" stroke="black"/>
                <path d="M 56,80 C 64.83064,80 72,72.83064 72,64" fill="none" stroke="black"/>
                <path d="M 88,448 C 79.16936,448 72,455.16936 72,464" fill="none" stroke="black"/>
                <path d="M 176,448 C 184.83064,448 192,455.16936 192,464" fill="none" stroke="black"/>
                <path d="M 320,448 C 311.16936,448 304,455.16936 304,464" fill="none" stroke="black"/>
                <path d="M 408,448 C 416.83064,448 424,455.16936 424,464" fill="none" stroke="black"/>
                <path d="M 168,464 C 176.83064,464 184,456.83064 184,448" fill="none" stroke="black"/>
                <path d="M 400,464 C 408.83064,464 416,456.83064 416,448" fill="none" stroke="black"/>
                <g class="text">
                  <text x="36" y="68">client</text>
                  <text x="204" y="68">client</text>
                  <text x="240" y="68">-</text>
                  <text x="356" y="68">client</text>
                  <text x="392" y="68">-</text>
                  <text x="116" y="132">C-TC#1</text>
                  <text x="372" y="132">C-TC#2</text>
                  <text x="132" y="164">C-PS#1</text>
                  <text x="372" y="164">CATS-Forwarder</text>
                  <text x="440" y="164">4</text>
                  <text x="28" y="180">......</text>
                  <text x="212" y="180">....</text>
                  <text x="260" y="180">C-PS#2</text>
                  <text x="300" y="180">..</text>
                  <text x="464" y="180">...</text>
                  <text x="8" y="196">:</text>
                  <text x="116" y="196">CATS-Forwarder</text>
                  <text x="184" y="196">2</text>
                  <text x="472" y="196">.</text>
                  <text x="8" y="212">:</text>
                  <text x="472" y="212">:</text>
                  <text x="8" y="228">:</text>
                  <text x="472" y="228">:</text>
                  <text x="8" y="244">:</text>
                  <text x="472" y="244">:</text>
                  <text x="8" y="260">:</text>
                  <text x="244" y="260">Underlay</text>
                  <text x="400" y="260">C-NMA</text>
                  <text x="472" y="260">:</text>
                  <text x="8" y="276">:</text>
                  <text x="244" y="276">Infrastructure</text>
                  <text x="472" y="276">:</text>
                  <text x="8" y="292">:</text>
                  <text x="472" y="292">:</text>
                  <text x="8" y="308">:</text>
                  <text x="472" y="308">:</text>
                  <text x="8" y="324">:</text>
                  <text x="472" y="324">:</text>
                  <text x="8" y="340">:</text>
                  <text x="84" y="340">CATS-Forwarder</text>
                  <text x="152" y="340">1</text>
                  <text x="356" y="340">CATS-Forwarder</text>
                  <text x="424" y="340">3</text>
                  <text x="472" y="340">:</text>
                  <text x="12" y="356">:.</text>
                  <text x="172" y="356">..</text>
                  <text x="216" y="356">C-SMA#1</text>
                  <text x="268" y="356">....</text>
                  <text x="456" y="356">....:</text>
                  <text x="352" y="388">C-SMA#2</text>
                  <text x="120" y="484">Service</text>
                  <text x="352" y="484">Service</text>
                  <text x="120" y="500">Contact</text>
                  <text x="352" y="500">Contact</text>
                  <text x="124" y="516">Instance</text>
                  <text x="184" y="516">-</text>
                  <text x="356" y="516">Instance</text>
                  <text x="416" y="516">-</text>
                  <text x="384" y="548">|</text>
                  <text x="368" y="596">Service</text>
                  <text x="144" y="612">Service</text>
                  <text x="216" y="612">-</text>
                  <text x="372" y="612">Instance</text>
                  <text x="424" y="612">-</text>
                  <text x="148" y="628">Instance</text>
                  <text x="200" y="628">-</text>
                  <text x="104" y="660">Service</text>
                  <text x="156" y="660">Site</text>
                  <text x="184" y="660">1</text>
                  <text x="328" y="660">Service</text>
                  <text x="380" y="660">Site</text>
                  <text x="408" y="660">2</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
    +-----+              +------+           +------+
  +------+|            +------+ |         +------+ |
  |client|+            |client|-+         |client|-+
  +---+--+             +---+--+           +---+--+
      |                    |                  |
      | +----------------+ |            +-----+----------+
      '-+    C-TC#1      +-'      .-----+    C-TC#2      |
        |----------------|        |     |----------------|
        |     |C-PS#1    |    +------+  |CATS-Forwarder 4|
  ......|     +----------|....|C-PS#2|..|                |...
  :     |CATS-Forwarder 2|    |      |  |                |  .
  :     +----------------+    +------+  +----------------+  :
  :                                                         :
  :                                            +-------+    :
  :                         Underlay           | C-NMA |    :
  :                      Infrastructure        +-------+    :
  :                                                         :
  :                                                         :
  : +----------------+                +----------------+    :
  : |CATS-Forwarder 1|  +-------+     |CATS-Forwarder 3|    :
  :.|                |..|C-SMA#1|.... |                |....:
    +---------+------+  +-------+     +----------------+
              |         |             |   C-SMA#2      |
              |         |             +-------+--------+
              |         |                     |
              |         |                     |
           +------------+               +------------+
          +------------+ |             +------------+ |
          |  Service   | |             |  Service   | |
          |  Contact   | |             |  Contact   | |
          |  Instance  |-+             |  Instance  |-+
          +------------+               +------------+
                       |                         |
                  +----------+              +----------+
                +----------+ |            +----------+ |
              +----------+ | |            | Service  | |
              | Service  | |-+            | Instance |-+
              | Instance |-+              +----------+
              +----------+
           Service Site 1              Service Site 2
]]></artwork>
          </artset>
        </figure>
        <section anchor="sec-service-sites">
          <name>Service Sites, Service Instances, and Service Contact Instances</name>
          <t>Service sites are locations that host resources (including computing resources) that are required to offer a service.</t>
          <t>A compute service (e.g., for face recognition purposes or a game server) is identified by a CATS Service Identifier (CS-ID). The CS-ID does not need to be globally unique, but must be sufficiently unique to unambiguously identify the service at all of the components of a CATS system.</t>
          <t>A single service can be represented and accessed via several contact instances that run in same or different regions of a network.</t>
          <t>As service instances are accessed via a service contact instance, a client will not see the service instances but only the service contact instance.</t>
          <t><xref target="fig-cats-components"/> shows two CATS nodes ("CATS-Forwarder 1" and "CATS-Forwarder 3") that provide access to service contact instances.  These nodes behave as Egress CATS-Forwarders (<xref target="sec-ocr"/>).</t>
          <ul empty="true">
            <li>
              <t>Note: "Egress" is used here in reference to the direction of the service request placement.  The directionality is called to explicitly identify the exit node of the CATS infrastructure.</t>
            </li>
          </ul>
        </section>
        <section anchor="sec-csma">
          <name>CATS Service Metric Agent (C-SMA)</name>
          <t>The CATS Service Metric Agent (C-SMA) is a functional component that gathers information about service sites and server resources, as well as the status of the different service instances. A C-SMA may be co-located or located adjacent to a service contact instance, hosted by or adjacent to an Egress CATS-Forwarder (<xref target="sec-ocr"/>), etc.</t>
          <t><xref target="fig-cats-components"/> shows one C-SMA embedded in "CATS-Forwarder 3", and another C-SMA that is adjacent to "CATS-Forwarder 1".</t>
        </section>
        <section anchor="sec-cnma">
          <name>CATS Network Metric Agent (C-NMA)</name>
          <t>The CATS Network Metric Agent (C-NMA) is a functional component that gathers information about the state of the underlay network. The C-NMAs may be implemented as standalone components or may be hosted by other components, such as CATS-Forwarders or CATS Path Selectors (C-PS) (<xref target="sec-cps"/>).</t>
          <t>C-NMA is likely to leverage existing techniques (e.g., <xref target="RFC7471"/>, <xref target="RFC8570"/>, and <xref target="RFC8571"/>).</t>
          <t><xref target="fig-cats-components"/> shows a single, standalone C-NMA within the underlay network. There may be one or more C-NMAs for an underlay network.</t>
        </section>
        <section anchor="sec-cps">
          <name>CATS Path Selector (C-PS)</name>
          <t>The C-SMAs and C-NMAs share the collected information with CATS Path Selectors (C-PSes) that use such information to select the Egress CATS-Forwarders (and potentially the service contact instances) where to forward traffic for a given service request. C-PSes also determine the best paths (possibly using tunnels) to forward traffic, according to various criteria that include network state and traffic congestion conditions. The collected information is encoded into one or more metrics that feed the C-PS path selection logic. Such information also includes CS-ID and possibly CSCI-IDs.</t>
          <t>There might be one or more C-PSes used to select CATS paths in a CATS infrastructure.</t>
          <t>A C-PS can be integrated into CATS-Forwarders (e.g., "C-PS#1" in <xref target="fig-cats-components"/>) or may be deployed as a standalone component (e.g., "C-PS#2" in <xref target="fig-cats-components"/>). Generally, a standalone C-PS can be a functional component of a centralized controller (e.g., a Path Computation Element (PCE) <xref target="RFC4655"/>).</t>
          <t>Refer to <xref target="sec-met-dist"/> for a discussion on metric distribution (including interaction with routing protocols).</t>
        </section>
        <section anchor="sec-ctc">
          <name>CATS Traffic Classifier (C-TC)</name>
          <t>The CATS Traffic Classifier (C-TC) is a functional component that is responsible for associating incoming packets from clients with service requests. CATS classifiers also ensure that packets that are bound to a specific service contact instance are all forwarded towards that same service contact instance, as instructed by a C-PS. To that aim, a C-TC uses CS-IDs (or their resolution of CS-ID to network locators) to classify service requests. Refer to <xref target="sec-cats-provisioning"/> for more details about provisioning of classification rules.</t>
          <t>Note that CS-IDs may be carried in packets if mechanisms such as TLS Server Name Indication extension (SNI) (<xref section="3" sectionFormat="of" target="RFC6066"/>) are used.</t>
          <t>CATS classifiers are typically hosted in CATS-Forwarders.</t>
        </section>
        <section anchor="sec-ocr">
          <name>CATS-Forwarders</name>
          <t>Ingress CATS-Forwarder are responsible for steering service-specific traffic along a CATS-computed path that leads to an Egress CATS-
Forwarder. Egress CATS-Forwarders are the endpoints that behave as an egress for service requests that are forwarded over a CATS infrastructure. A service site that hosts service instances may be connected to one or more Egress CATS-Forwarders (e.g., multi-homing design). If a C-PS has selected a specific service contact instance and the C-TC has marked the traffic with the CSCI-ID related information, the Egress CATS-Forwarder then forwards traffic to the relevant service contact instance accordingly. In some cases, the choice of the service contact instance may be left open to the Egress CATS-Forwarder (i.e., traffic is marked only with the CS-ID). In such cases, the Egress CATS-Forwarder selects a service contact instance using its knowledge of service and network capabilities as well as the current load as observed by the CATS-Forwarder, among other considerations. In the absence of an explicit policy, an Egress CATS-Forwarder must make sure to forward all packets that pertain to a given service request towards the same service contact instance.</t>
          <t>Note that, depending on the design considerations and service requirements, per-service  contact instance computing-related metrics or aggregated per-site computing related metrics (and a combination thereof) can be used by a C-PS. Using aggregated per-site computing related metrics appears as a preferred option scalability-wise, but relies on Egress CATS-Forwarders that connect to various service contact instances to select the proper service contact instance. An Egress CATS-Forwarder may choose to aggregate the metrics from different sites as well. In this case, the Egress CATS-Forwarder will choose the best site by itself when the packets arrive at it.</t>
        </section>
        <section anchor="underlay-infrastructure">
          <name>Underlay Infrastructure</name>
          <t>The "underlay infrastructure" in <xref target="fig-cats-components"/> indicates an IP and/or MPLS network that is not necessarily CATS-aware. The CATS paths that are computed by a C-PS will be distributed among the CATS-Forwarders (<xref target="sec-ocr"/>), and will not affect the underlay nodes. Underlay nodes are typically P routers (<xref section="5.3.1" sectionFormat="of" target="RFC4026"/>).</t>
        </section>
      </section>
    </section>
    <section anchor="sec-cats-workflow">
      <name>CATS Framework Workflow</name>
      <t>The following subsections provide an overview of a typical CATS workflow. In order to enable CATS in a given domain, some provisioning is needed; see more details in <xref target="sec-cats-provisioning"/>. <xref target="sec-cats-deployment"/> describes several deployment options (distributed, centralized, and hybrid model) to accommodate a variety of contexts.</t>
      <section anchor="service-announcement">
        <name>Service Announcement</name>
        <t>A service is associated by the service provider with a unique identifier called a CS-ID. A CS-ID may be a network identifier, such as an IP address. The mapping of CS-IDs to network identifiers may be learned through a name resolution service (e.g., DNS <xref target="RFC1034"/>). Note that CATS framework does not assume nor preclude any specific name resolution service.</t>
      </section>
      <section anchor="sec-met-dist">
        <name>Metrics Distribution</name>
        <t>As described in <xref target="sec-cats-arch"/>, a C-SMA collects both computing-related capabilities and metrics, and associates them with a CS-ID that identifies the service. The C-SMA may aggregate the metrics for multiple service contact instances, or maintain them separately or both.</t>
        <t>The C-SMA then advertises CS-IDs along with metrics to related C-PSes in the network. Depending on the deployment choice, CS-IDs with metrics may be distributed in different ways.</t>
        <t>For example, in a distributed model, CS-IDs with metrics can be distributed from the C-SMA to an Egress CATS-Forwarder firstly and then be redistributed by the Egress CATS-Forwarder to related C-PSes that are integrated into Ingress CATS-Forwarders.</t>
        <t>In the centralized model, CS-IDs with metrics can be distributed from the C-SMA to a centralized control plane, for instance, a standalone C-PS.</t>
        <t>In the hybrid model, the metrics can be distributed to C-PSes in combination of distributed and centralized ways. The specific combination of metric distribution is an implementation choice, which is determined by the requirements of specific services.</t>
        <t>The Computing metrics include computing-related metrics and potentially other service-specific metrics like the number of end-users who access the service contact instance at any given time, etc.</t>
        <t>Computing metrics may change very frequently (see <xref target="I-D.ietf-cats-usecases-requirements"/> for a discussion). How frequently such information is distributed is to be determined as part of the specification of any communication protocol (including routing protocols) that may be used to distribute the information. Various options can be considered, such as (but not limited to) interval-based updates, threshold-triggered updates, policy-based updates, or using normalized metrics <xref target="I-D.ietf-cats-metric-definition"/>. Regarding using the normalized metrics, <xref target="sec-metric-implementation"/> provides some suggestions to implement computing metrics normalization and aggregation in CATS framework, to reduce the impact of the routing system.</t>
        <t>Additionally, the C-NMA collects network-related capabilities and metrics. These may be collected and distributed by existing measurement protocols and/or routing protocols, although extensions to such protocols may be required to carry additional information (e.g., link latency). The C-NMA distributes the network metrics to the C-PSes so that they can use the combination of service and network metrics to determine the best Egress CATS-Forwarder to provide access to a service contact instance and invoke the compute function required by a service request. Similar to computing-related metrics, the network-related metrics can be distributed using distributed, centralized, or hybrid schemes. This document does not describe such details since this is deployment-specific.</t>
        <t>Network metrics may also change over time. Dynamic routing protocols may take advantage of some information or capabilities to prevent the network from being flooded with state change information (e.g., Partial Route Computation (PRC) of OSPFv3 <xref target="RFC5340"/>). C-NMAs should also be configured or instructed like C-SMAs to determine when and how often updates should be notified to the C-PSes.</t>
        <section anchor="sec-met-dist1">
          <name>Distributed Model</name>
          <t><xref target="fig-cats-example-overlay"/> shows an example of how CATS metrics can be disseminated in the distributed model. There is a client attached to the network via "CATS-Forwarder 1". There are three service contact instances of the service with CS-ID "1": two service contact instances with CSCI-IDs "1" and "2", respectively, are located at "Service Site 2" attached via "CATS-Forwarder 2"; the third service contact instance is located at "Service Site 3" attached via "CATS-Forwarder 3" and with CSCI-ID "3". There is also a second service with CS-ID "2" with only one service contact instance located at "Service Site 3".</t>
          <t>In <xref target="fig-cats-example-overlay"/>, the C-SMA collocated with "CATS-Forwarder 2" distributes the computing metrics for both service contact instances (i.e., (CS-ID 1, CSCI-ID 1) and (CS-ID 1, CSCI-ID 2)). Note that this information may be aggregated into a single advertisement, but in this case, the metrics for each service contact instance are indicated separately. Similarly, the C-SMA agent located at "Service Site 3" advertises the computing metrics for the two services hosted by "Service Site 3". The C-SMA may distribute the computing metrics to the Egress CATS-Forwarder 3. Then the computing metrics can be redistributed by the Egress CATS-Forwarder to the Ingress CATS-Forwarder. The C-SMA also may directly distribute the computing metrics to the Ingress CATS-Forwarder.</t>
          <t>The computing metric advertisements are processed by the C-PS hosted by "CATS-Forwarder 1". The C-PS also processes network metric advertisements sent by the C-NMA. All metrics are used by the C-PS to select the most relevant path that leads to the Egress CATS-Forwarder according to the initial client's service request, the service that is requested ("CS-ID 1" or "CS-ID 2"), the state of the service contact instances as reported by the metrics, and the state of the network.</t>
          <figure anchor="fig-cats-example-overlay">
            <name>An Example of CATS Metric Dissemination in the Distributed Model</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="592" width="584" viewBox="0 0 584 592" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,224 L 8,256" fill="none" stroke="black"/>
                  <path d="M 8,304 L 8,336" fill="none" stroke="black"/>
                  <path d="M 48,264 L 48,296" fill="none" stroke="black"/>
                  <path d="M 80,224 L 80,256" fill="none" stroke="black"/>
                  <path d="M 184,304 L 184,336" fill="none" stroke="black"/>
                  <path d="M 200,416 L 200,448" fill="none" stroke="black"/>
                  <path d="M 224,240 L 224,264" fill="none" stroke="black"/>
                  <path d="M 224,280 L 224,384" fill="none" stroke="black"/>
                  <path d="M 240,256 L 240,288" fill="none" stroke="black"/>
                  <path d="M 256,144 L 256,208" fill="none" stroke="black"/>
                  <path d="M 304,256 L 304,288" fill="none" stroke="black"/>
                  <path d="M 304,456 L 304,496" fill="none" stroke="black"/>
                  <path d="M 336,416 L 336,448" fill="none" stroke="black"/>
                  <path d="M 368,416 L 368,448" fill="none" stroke="black"/>
                  <path d="M 392,144 L 392,208" fill="none" stroke="black"/>
                  <path d="M 408,240 L 408,384" fill="none" stroke="black"/>
                  <path d="M 424,384 L 424,496" fill="none" stroke="black"/>
                  <path d="M 432,128 L 432,192" fill="none" stroke="black"/>
                  <path d="M 456,96 L 456,144" fill="none" stroke="black"/>
                  <path d="M 456,176 L 456,224" fill="none" stroke="black"/>
                  <path d="M 456,352 L 456,400" fill="none" stroke="black"/>
                  <path d="M 456,480 L 456,512" fill="none" stroke="black"/>
                  <path d="M 520,480 L 520,512" fill="none" stroke="black"/>
                  <path d="M 536,96 L 536,144" fill="none" stroke="black"/>
                  <path d="M 536,176 L 536,224" fill="none" stroke="black"/>
                  <path d="M 536,352 L 536,400" fill="none" stroke="black"/>
                  <path d="M 144,80 L 320,80" fill="none" stroke="black"/>
                  <path d="M 456,96 L 536,96" fill="none" stroke="black"/>
                  <path d="M 432,128 L 448,128" fill="none" stroke="black"/>
                  <path d="M 256,144 L 392,144" fill="none" stroke="black"/>
                  <path d="M 456,144 L 536,144" fill="none" stroke="black"/>
                  <path d="M 400,160 L 424,160" fill="none" stroke="black"/>
                  <path d="M 256,176 L 392,176" fill="none" stroke="black"/>
                  <path d="M 456,176 L 536,176" fill="none" stroke="black"/>
                  <path d="M 432,192 L 448,192" fill="none" stroke="black"/>
                  <path d="M 256,208 L 392,208" fill="none" stroke="black"/>
                  <path d="M 8,224 L 80,224" fill="none" stroke="black"/>
                  <path d="M 456,224 L 536,224" fill="none" stroke="black"/>
                  <path d="M 224,240 L 408,240" fill="none" stroke="black"/>
                  <path d="M 8,256 L 80,256" fill="none" stroke="black"/>
                  <path d="M 240,256 L 304,256" fill="none" stroke="black"/>
                  <path d="M 160,272 L 232,272" fill="none" stroke="black"/>
                  <path d="M 240,288 L 304,288" fill="none" stroke="black"/>
                  <path d="M 8,304 L 184,304" fill="none" stroke="black"/>
                  <path d="M 192,320 L 216,320" fill="none" stroke="black"/>
                  <path d="M 8,336 L 184,336" fill="none" stroke="black"/>
                  <path d="M 456,352 L 536,352" fill="none" stroke="black"/>
                  <path d="M 224,384 L 408,384" fill="none" stroke="black"/>
                  <path d="M 424,384 L 448,384" fill="none" stroke="black"/>
                  <path d="M 456,400 L 536,400" fill="none" stroke="black"/>
                  <path d="M 200,416 L 336,416" fill="none" stroke="black"/>
                  <path d="M 368,416 L 424,416" fill="none" stroke="black"/>
                  <path d="M 152,432 L 192,432" fill="none" stroke="black"/>
                  <path d="M 344,432 L 360,432" fill="none" stroke="black"/>
                  <path d="M 200,448 L 336,448" fill="none" stroke="black"/>
                  <path d="M 368,448 L 424,448" fill="none" stroke="black"/>
                  <path d="M 456,480 L 520,480" fill="none" stroke="black"/>
                  <path d="M 304,496 L 392,496" fill="none" stroke="black"/>
                  <path d="M 424,496 L 448,496" fill="none" stroke="black"/>
                  <path d="M 456,512 L 520,512" fill="none" stroke="black"/>
                  <path d="M 144,528 L 392,528" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="312,456 300,450.4 300,461.6" fill="black" transform="rotate(270,304,456)"/>
                  <polygon class="arrowhead" points="168,272 156,266.4 156,277.6" fill="black" transform="rotate(180,160,272)"/>
                  <polygon class="arrowhead" points="160,432 148,426.4 148,437.6" fill="black" transform="rotate(180,152,432)"/>
                  <polygon class="arrowhead" points="152,528 140,522.4 140,533.6" fill="black" transform="rotate(180,144,528)"/>
                  <polygon class="arrowhead" points="152,80 140,74.4 140,85.6" fill="black" transform="rotate(180,144,80)"/>
                  <g class="text">
                    <text x="104" y="36">Service</text>
                    <text x="160" y="36">CS-ID</text>
                    <text x="196" y="36">1,</text>
                    <text x="240" y="36">contact</text>
                    <text x="308" y="36">instance</text>
                    <text x="376" y="36">CSCI-ID</text>
                    <text x="416" y="36">1</text>
                    <text x="468" y="36">&lt;computing</text>
                    <text x="548" y="36">metrics&gt;</text>
                    <text x="104" y="52">Service</text>
                    <text x="160" y="52">CS-ID</text>
                    <text x="196" y="52">1,</text>
                    <text x="240" y="52">contact</text>
                    <text x="308" y="52">instance</text>
                    <text x="376" y="52">CSCI-ID</text>
                    <text x="416" y="52">2</text>
                    <text x="468" y="52">&lt;computing</text>
                    <text x="548" y="52">metrics&gt;</text>
                    <text x="136" y="84">:</text>
                    <text x="328" y="84">:</text>
                    <text x="136" y="100">:</text>
                    <text x="328" y="100">:</text>
                    <text x="136" y="116">:</text>
                    <text x="328" y="116">:</text>
                    <text x="480" y="116">CS-ID</text>
                    <text x="512" y="116">1</text>
                    <text x="136" y="132">:</text>
                    <text x="328" y="132">:</text>
                    <text x="488" y="132">CSCI-ID</text>
                    <text x="528" y="132">1</text>
                    <text x="136" y="148">:</text>
                    <text x="136" y="164">:</text>
                    <text x="312" y="164">C-SMA</text>
                    <text x="488" y="164">Service</text>
                    <text x="540" y="164">Site</text>
                    <text x="568" y="164">2</text>
                    <text x="136" y="180">:</text>
                    <text x="136" y="196">:</text>
                    <text x="316" y="196">CATS-Forwarder</text>
                    <text x="384" y="196">2</text>
                    <text x="480" y="196">CS-ID</text>
                    <text x="512" y="196">1</text>
                    <text x="136" y="212">:</text>
                    <text x="488" y="212">CSCI-ID</text>
                    <text x="528" y="212">2</text>
                    <text x="136" y="228">:</text>
                    <text x="336" y="228">|</text>
                    <text x="44" y="244">Client</text>
                    <text x="136" y="244">:</text>
                    <text x="184" y="244">Network</text>
                    <text x="136" y="260">:</text>
                    <text x="184" y="260">metrics</text>
                    <text x="136" y="276">:</text>
                    <text x="152" y="276">:</text>
                    <text x="272" y="276">C-NMA</text>
                    <text x="136" y="292">:</text>
                    <text x="152" y="292">:</text>
                    <text x="68" y="324">CATS-Forwarder</text>
                    <text x="156" y="324">1|C-PS</text>
                    <text x="316" y="340">Underlay</text>
                    <text x="136" y="356">:</text>
                    <text x="324" y="356">Infrastructure</text>
                    <text x="136" y="372">:</text>
                    <text x="480" y="372">CS-ID</text>
                    <text x="512" y="372">1</text>
                    <text x="136" y="388">:</text>
                    <text x="488" y="388">CSCI-ID</text>
                    <text x="528" y="388">3</text>
                    <text x="136" y="404">:</text>
                    <text x="304" y="404">|</text>
                    <text x="136" y="420">:</text>
                    <text x="136" y="436">:</text>
                    <text x="260" y="436">CATS-Forwarder</text>
                    <text x="328" y="436">3</text>
                    <text x="392" y="436">C-SMA</text>
                    <text x="464" y="436">Service</text>
                    <text x="516" y="436">Site</text>
                    <text x="544" y="436">3</text>
                    <text x="136" y="452">:</text>
                    <text x="136" y="468">:</text>
                    <text x="400" y="468">:</text>
                    <text x="136" y="484">:</text>
                    <text x="400" y="484">:</text>
                    <text x="136" y="500">:</text>
                    <text x="400" y="500">:</text>
                    <text x="480" y="500">CS-ID</text>
                    <text x="512" y="500">2</text>
                    <text x="136" y="516">:</text>
                    <text x="400" y="516">:</text>
                    <text x="136" y="532">:</text>
                    <text x="400" y="532">:</text>
                    <text x="104" y="548">Service</text>
                    <text x="160" y="548">CS-ID</text>
                    <text x="196" y="548">1,</text>
                    <text x="240" y="548">contact</text>
                    <text x="308" y="548">instance</text>
                    <text x="376" y="548">CSCI-ID</text>
                    <text x="416" y="548">3</text>
                    <text x="468" y="548">&lt;computing</text>
                    <text x="548" y="548">metrics&gt;</text>
                    <text x="104" y="564">Service</text>
                    <text x="160" y="564">CS-ID</text>
                    <text x="196" y="564">2,</text>
                    <text x="252" y="564">&lt;computing</text>
                    <text x="332" y="564">metrics&gt;</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
          Service CS-ID 1, contact instance CSCI-ID 1 <computing metrics>
          Service CS-ID 1, contact instance CSCI-ID 2 <computing metrics>

                 :<----------------------:
                 :                       :               +---------+
                 :                       :               |CS-ID 1  |
                 :                       :            .--|CSCI-ID 1|
                 :              +----------------+    |  +---------+
                 :              |    C-SMA       |----|   Service Site 2
                 :              +----------------+    |  +---------+
                 :              |CATS-Forwarder 2|    '--|CS-ID 1  |
                 :              +----------------+       |CSCI-ID 2|
 +--------+      :                        |              +---------+
 | Client |      :  Network +----------------------+
 +--------+      :  metrics | +-------+            |
      |          : :<---------| C-NMA |            |
      |          : :        | +-------+            |
 +---------------------+    |                      |
 |CATS-Forwarder 1|C-PS|----|                      |
 +---------------------+    |       Underlay       |
                 :          |     Infrastructure   |     +---------+
                 :          |                      |     |CS-ID 1  |
                 :          +----------------------+ .---|CSCI-ID 3|
                 :                    |              |   +---------+
                 :       +----------------+   +------+
                 : <-----|CATS-Forwarder 3|---|C-SMA | Service Site 3
                 :       +----------------+   +------+
                 :                    ^           :  |
                 :                    |           :  |   +-------+
                 :                    +-----------:  '---|CS-ID 2|
                 :                                :      +-------+
                 :<-------------------------------:
          Service CS-ID 1, contact instance CSCI-ID 3 <computing metrics>
          Service CS-ID 2, <computing metrics>
]]></artwork>
            </artset>
          </figure>
          <t>The example in <xref target="fig-cats-example-overlay"/> mainly describes a per-instance computing-related metric distribution. In the case of distributing aggregated per-site computing-related metrics, the per-instance CSCI-ID information will not be included in the advertisement. Instead, a per-site CSCI-ID may be used in case multiple sites are connected to the Egress CATS-Forwarder to explicitly indicate the site from where the aggregated metrics come.</t>
        </section>
        <section anchor="sec-met-dist2">
          <name>Centralized Model</name>
          <t>If the CATS framework is implemented using a centralized model, the metric can be, e.g., distributed as illustrated in <xref target="fig-cats-centralized"/>.</t>
          <figure anchor="fig-cats-centralized">
            <name>An Example of CATS Metric Distribution in the Centralized Model</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="592" width="608" viewBox="0 0 608 592" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,288 L 8,320" fill="none" stroke="black"/>
                  <path d="M 8,368 L 8,416" fill="none" stroke="black"/>
                  <path d="M 48,328 L 48,360" fill="none" stroke="black"/>
                  <path d="M 80,288 L 80,320" fill="none" stroke="black"/>
                  <path d="M 144,368 L 144,416" fill="none" stroke="black"/>
                  <path d="M 160,112 L 160,160" fill="none" stroke="black"/>
                  <path d="M 176,496 L 176,528" fill="none" stroke="black"/>
                  <path d="M 184,168 L 184,336" fill="none" stroke="black"/>
                  <path d="M 208,208 L 208,272" fill="none" stroke="black"/>
                  <path d="M 208,304 L 208,328" fill="none" stroke="black"/>
                  <path d="M 208,344 L 208,376" fill="none" stroke="black"/>
                  <path d="M 208,392 L 208,464" fill="none" stroke="black"/>
                  <path d="M 216,112 L 216,160" fill="none" stroke="black"/>
                  <path d="M 224,320 L 224,352" fill="none" stroke="black"/>
                  <path d="M 248,360 L 248,384" fill="none" stroke="black"/>
                  <path d="M 280,144 L 280,200" fill="none" stroke="black"/>
                  <path d="M 288,320 L 288,352" fill="none" stroke="black"/>
                  <path d="M 288,536 L 288,560" fill="none" stroke="black"/>
                  <path d="M 312,496 L 312,528" fill="none" stroke="black"/>
                  <path d="M 344,208 L 344,272" fill="none" stroke="black"/>
                  <path d="M 376,176 L 376,256" fill="none" stroke="black"/>
                  <path d="M 392,304 L 392,464" fill="none" stroke="black"/>
                  <path d="M 408,160 L 408,208" fill="none" stroke="black"/>
                  <path d="M 408,240 L 408,288" fill="none" stroke="black"/>
                  <path d="M 408,544 L 408,576" fill="none" stroke="black"/>
                  <path d="M 432,432 L 432,480" fill="none" stroke="black"/>
                  <path d="M 440,320 L 440,384" fill="none" stroke="black"/>
                  <path d="M 448,488 L 448,512" fill="none" stroke="black"/>
                  <path d="M 472,544 L 472,576" fill="none" stroke="black"/>
                  <path d="M 480,392 L 480,424" fill="none" stroke="black"/>
                  <path d="M 488,160 L 488,208" fill="none" stroke="black"/>
                  <path d="M 488,240 L 488,288" fill="none" stroke="black"/>
                  <path d="M 488,320 L 488,384" fill="none" stroke="black"/>
                  <path d="M 512,432 L 512,480" fill="none" stroke="black"/>
                  <path d="M 536,128 L 536,336" fill="none" stroke="black"/>
                  <path d="M 536,368 L 536,560" fill="none" stroke="black"/>
                  <path d="M 160,112 L 216,112" fill="none" stroke="black"/>
                  <path d="M 104,128 L 152,128" fill="none" stroke="black"/>
                  <path d="M 224,128 L 536,128" fill="none" stroke="black"/>
                  <path d="M 224,144 L 280,144" fill="none" stroke="black"/>
                  <path d="M 160,160 L 216,160" fill="none" stroke="black"/>
                  <path d="M 408,160 L 488,160" fill="none" stroke="black"/>
                  <path d="M 376,176 L 400,176" fill="none" stroke="black"/>
                  <path d="M 208,208 L 344,208" fill="none" stroke="black"/>
                  <path d="M 408,208 L 488,208" fill="none" stroke="black"/>
                  <path d="M 352,224 L 368,224" fill="none" stroke="black"/>
                  <path d="M 208,240 L 344,240" fill="none" stroke="black"/>
                  <path d="M 408,240 L 488,240" fill="none" stroke="black"/>
                  <path d="M 376,256 L 400,256" fill="none" stroke="black"/>
                  <path d="M 208,272 L 344,272" fill="none" stroke="black"/>
                  <path d="M 8,288 L 80,288" fill="none" stroke="black"/>
                  <path d="M 408,288 L 488,288" fill="none" stroke="black"/>
                  <path d="M 208,304 L 392,304" fill="none" stroke="black"/>
                  <path d="M 8,320 L 80,320" fill="none" stroke="black"/>
                  <path d="M 224,320 L 288,320" fill="none" stroke="black"/>
                  <path d="M 440,320 L 488,320" fill="none" stroke="black"/>
                  <path d="M 184,336 L 216,336" fill="none" stroke="black"/>
                  <path d="M 496,336 L 536,336" fill="none" stroke="black"/>
                  <path d="M 224,352 L 288,352" fill="none" stroke="black"/>
                  <path d="M 8,368 L 144,368" fill="none" stroke="black"/>
                  <path d="M 496,368 L 536,368" fill="none" stroke="black"/>
                  <path d="M 152,384 L 248,384" fill="none" stroke="black"/>
                  <path d="M 440,384 L 488,384" fill="none" stroke="black"/>
                  <path d="M 152,400 L 200,400" fill="none" stroke="black"/>
                  <path d="M 8,416 L 144,416" fill="none" stroke="black"/>
                  <path d="M 432,432 L 512,432" fill="none" stroke="black"/>
                  <path d="M 208,464 L 392,464" fill="none" stroke="black"/>
                  <path d="M 432,480 L 512,480" fill="none" stroke="black"/>
                  <path d="M 176,496 L 312,496" fill="none" stroke="black"/>
                  <path d="M 320,512 L 448,512" fill="none" stroke="black"/>
                  <path d="M 176,528 L 312,528" fill="none" stroke="black"/>
                  <path d="M 408,544 L 472,544" fill="none" stroke="black"/>
                  <path d="M 288,560 L 400,560" fill="none" stroke="black"/>
                  <path d="M 480,560 L 536,560" fill="none" stroke="black"/>
                  <path d="M 408,576 L 472,576" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="504,368 492,362.4 492,373.6" fill="black" transform="rotate(180,496,368)"/>
                  <polygon class="arrowhead" points="488,392 476,386.4 476,397.6" fill="black" transform="rotate(270,480,392)"/>
                  <polygon class="arrowhead" points="232,144 220,138.4 220,149.6" fill="black" transform="rotate(180,224,144)"/>
                  <polygon class="arrowhead" points="232,128 220,122.4 220,133.6" fill="black" transform="rotate(180,224,128)"/>
                  <polygon class="arrowhead" points="192,168 180,162.4 180,173.6" fill="black" transform="rotate(270,184,168)"/>
                  <polygon class="arrowhead" points="160,384 148,378.4 148,389.6" fill="black" transform="rotate(180,152,384)"/>
                  <polygon class="arrowhead" points="112,128 100,122.4 100,133.6" fill="black" transform="rotate(180,104,128)"/>
                  <g class="text">
                    <text x="192" y="36">Service</text>
                    <text x="248" y="36">CS-ID</text>
                    <text x="284" y="36">1,</text>
                    <text x="332" y="36">instance</text>
                    <text x="400" y="36">CSCI-ID</text>
                    <text x="440" y="36">1</text>
                    <text x="492" y="36">&lt;computing</text>
                    <text x="572" y="36">metrics&gt;</text>
                    <text x="192" y="52">Service</text>
                    <text x="248" y="52">CS-ID</text>
                    <text x="284" y="52">1,</text>
                    <text x="332" y="52">instance</text>
                    <text x="400" y="52">CSCI-ID</text>
                    <text x="440" y="52">2</text>
                    <text x="492" y="52">&lt;computing</text>
                    <text x="572" y="52">metrics&gt;</text>
                    <text x="192" y="68">Service</text>
                    <text x="248" y="68">CS-ID</text>
                    <text x="284" y="68">1,</text>
                    <text x="332" y="68">instance</text>
                    <text x="400" y="68">CSCI-ID</text>
                    <text x="440" y="68">3</text>
                    <text x="492" y="68">&lt;computing</text>
                    <text x="572" y="68">metrics&gt;</text>
                    <text x="192" y="84">Service</text>
                    <text x="248" y="84">CS-ID</text>
                    <text x="284" y="84">2,</text>
                    <text x="340" y="84">&lt;computing</text>
                    <text x="420" y="84">metrics&gt;</text>
                    <text x="96" y="132">:</text>
                    <text x="188" y="132">C-PS</text>
                    <text x="96" y="148">:</text>
                    <text x="96" y="164">:</text>
                    <text x="96" y="180">:</text>
                    <text x="432" y="180">CS-ID</text>
                    <text x="464" y="180">1</text>
                    <text x="96" y="196">:</text>
                    <text x="440" y="196">CSCI-ID</text>
                    <text x="480" y="196">1</text>
                    <text x="96" y="212">:</text>
                    <text x="96" y="228">:</text>
                    <text x="264" y="228">C-SMA</text>
                    <text x="416" y="228">Service</text>
                    <text x="468" y="228">Site</text>
                    <text x="496" y="228">2</text>
                    <text x="96" y="244">:</text>
                    <text x="96" y="260">:</text>
                    <text x="268" y="260">CATS-Forwarder</text>
                    <text x="336" y="260">2</text>
                    <text x="432" y="260">CS-ID</text>
                    <text x="464" y="260">1</text>
                    <text x="96" y="276">:</text>
                    <text x="440" y="276">CSCI-ID</text>
                    <text x="480" y="276">2</text>
                    <text x="96" y="292">:</text>
                    <text x="288" y="292">|</text>
                    <text x="44" y="308">Client</text>
                    <text x="96" y="308">:</text>
                    <text x="144" y="308">Network</text>
                    <text x="96" y="324">:</text>
                    <text x="144" y="324">metrics</text>
                    <text x="96" y="340">:</text>
                    <text x="256" y="340">C-NMA</text>
                    <text x="96" y="356">:</text>
                    <text x="464" y="356">C-SMA</text>
                    <text x="68" y="388">CATS-Forwarder</text>
                    <text x="136" y="388">1</text>
                    <text x="300" y="420">Underlay</text>
                    <text x="308" y="436">Infrastructure</text>
                    <text x="456" y="452">CS-ID</text>
                    <text x="488" y="452">1</text>
                    <text x="464" y="468">CSCI-ID</text>
                    <text x="504" y="468">3</text>
                    <text x="288" y="484">|</text>
                    <text x="236" y="516">CATS-Forwarder</text>
                    <text x="304" y="516">3</text>
                    <text x="416" y="532">Service</text>
                    <text x="468" y="532">Site</text>
                    <text x="496" y="532">3</text>
                    <text x="432" y="564">CS-ID</text>
                    <text x="464" y="564">2</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
                    Service CS-ID 1, instance CSCI-ID 1 <computing metrics>
                    Service CS-ID 1, instance CSCI-ID 2 <computing metrics>
                    Service CS-ID 1, instance CSCI-ID 3 <computing metrics>
                    Service CS-ID 2, <computing metrics>

                   +------+
           :<------| C-PS |<--------------------------------------.
           :       |      |<------.                               |
           :       +------+       |               +---------+     |
           :          ^           |           +---|CS-ID 1  |     |
           :          |           |           |   |CSCI-ID 1|     |
           :          |  +----------------+   |   +---------+     |
           :          |  |    C-SMA       |---| Service Site 2    |
           :          |  +----------------+   |   +---------+     |
           :          |  |CATS-Forwarder 2|   +---|CS-ID 1  |     |
           :          |  +----------------+       |CSCI-ID 2|     |
+--------+ :          |            |              +---------+     |
| Client | :  Network |  +----------------------+                 |
+--------+ :  metrics |  | +-------+            |     +-----+     |
     |     :          +----| C-NMA |            |     |     |-----+
     |     :             | +-------+            |     |C-SMA|
+----------------+       |    |                 |     |     |<----+
|CATS-Forwarder 1|<-----------+                 |     +-----+     |
|                |-------|                      |          ^      |
+----------------+       |       Underlay       |          |      |
                         |     Infrastructure   |    +---------+  |
                         |                      |    |CS-ID 1  |  |
                         +----------------------+    |CSCI-ID 3|  |
                                   |                 +---------+  |
                     +----------------+                |          |
                     |CATS-Forwarder 3|----------------+          |
                     +----------------+         Service Site 3    |
                                   |              +-------+       |
                                   +--------------|CS-ID 2|-------+
                                                  +-------+
]]></artwork>
            </artset>
          </figure>
          <t>In <xref target="fig-cats-centralized"/>, the C-SMA collocated with "CATS-Forwarder 2" distributes the computing metrics for both service contact instances (i.e., (CS-ID 1, CSCI-ID 1) and (CS-ID 1, CSCI-ID 2)) to the centralized C-PS. In this case, the C-PS is a logically centralized element deployed independently with the CATS-Forwarder 1. Similarly, the C-SMA agent located at "Service Site 3" advertises the computing metrics for the two services hosted by "Service Site 3" to the centralized C-PS as well. Furthermore, the C-PS receives the network metrics sent from the C-NMA.  All metrics are used by the C-PS to select the most relevant path that leads to the Egress CATS-Forwarder. The selected paths will be sent from the C-PS to CATS-Forwarder 1 to indicate traffic steering.</t>
        </section>
        <section anchor="sec-met-dist3">
          <name>Hybrid Model</name>
          <t>If the CATS framework is implemented in the hybrid model, the metric can be distributed, e.g., as illustrated in the <xref target="fig-cats-hybrid"/>. For example, the metrics 1,2,3 associated with the CS-ID1 are collected by the centralized C-PS, and the metrics 4 and 5 are distributed via distributed protocols to the ingress CATS-Forwarder directly. For a service with CS-ID2, all the metrics are collected by the centralized C-PS. The CATS-computed path result will be distributed to the Ingress CATS-Forwarders from the C-PS by considering both the metrics from the C-SMA and C-NMA. Furthermore, the Ingress CATS-Forwarder may also have some ability to compute the path for the subsequent service accessing packets.</t>
          <figure anchor="fig-cats-hybrid">
            <name>An Example of CATS Metric Distribution in the Hybrid Model</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="624" width="592" viewBox="0 0 592 624" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,272 L 8,304" fill="none" stroke="black"/>
                  <path d="M 8,368 L 8,448" fill="none" stroke="black"/>
                  <path d="M 48,312 L 48,360" fill="none" stroke="black"/>
                  <path d="M 48,424 L 48,448" fill="none" stroke="black"/>
                  <path d="M 80,272 L 80,304" fill="none" stroke="black"/>
                  <path d="M 144,368 L 144,416" fill="none" stroke="black"/>
                  <path d="M 168,96 L 168,144" fill="none" stroke="black"/>
                  <path d="M 192,152 L 192,320" fill="none" stroke="black"/>
                  <path d="M 192,480 L 192,512" fill="none" stroke="black"/>
                  <path d="M 224,96 L 224,144" fill="none" stroke="black"/>
                  <path d="M 224,192 L 224,256" fill="none" stroke="black"/>
                  <path d="M 224,288 L 224,312" fill="none" stroke="black"/>
                  <path d="M 224,328 L 224,376" fill="none" stroke="black"/>
                  <path d="M 224,392 L 224,448" fill="none" stroke="black"/>
                  <path d="M 240,304 L 240,336" fill="none" stroke="black"/>
                  <path d="M 264,344 L 264,384" fill="none" stroke="black"/>
                  <path d="M 296,128 L 296,184" fill="none" stroke="black"/>
                  <path d="M 304,304 L 304,336" fill="none" stroke="black"/>
                  <path d="M 304,520 L 304,544" fill="none" stroke="black"/>
                  <path d="M 328,480 L 328,512" fill="none" stroke="black"/>
                  <path d="M 360,192 L 360,256" fill="none" stroke="black"/>
                  <path d="M 392,160 L 392,240" fill="none" stroke="black"/>
                  <path d="M 408,288 L 408,448" fill="none" stroke="black"/>
                  <path d="M 424,144 L 424,192" fill="none" stroke="black"/>
                  <path d="M 424,224 L 424,272" fill="none" stroke="black"/>
                  <path d="M 424,528 L 424,560" fill="none" stroke="black"/>
                  <path d="M 432,416 L 432,464" fill="none" stroke="black"/>
                  <path d="M 448,472 L 448,496" fill="none" stroke="black"/>
                  <path d="M 464,304 L 464,368" fill="none" stroke="black"/>
                  <path d="M 488,528 L 488,560" fill="none" stroke="black"/>
                  <path d="M 496,376 L 496,408" fill="none" stroke="black"/>
                  <path d="M 504,144 L 504,192" fill="none" stroke="black"/>
                  <path d="M 504,224 L 504,272" fill="none" stroke="black"/>
                  <path d="M 512,304 L 512,368" fill="none" stroke="black"/>
                  <path d="M 512,416 L 512,464" fill="none" stroke="black"/>
                  <path d="M 536,112 L 536,320" fill="none" stroke="black"/>
                  <path d="M 536,352 L 536,544" fill="none" stroke="black"/>
                  <path d="M 552,336 L 552,576" fill="none" stroke="black"/>
                  <path d="M 168,96 L 224,96" fill="none" stroke="black"/>
                  <path d="M 112,112 L 160,112" fill="none" stroke="black"/>
                  <path d="M 232,112 L 536,112" fill="none" stroke="black"/>
                  <path d="M 232,128 L 296,128" fill="none" stroke="black"/>
                  <path d="M 168,144 L 224,144" fill="none" stroke="black"/>
                  <path d="M 424,144 L 504,144" fill="none" stroke="black"/>
                  <path d="M 392,160 L 416,160" fill="none" stroke="black"/>
                  <path d="M 224,192 L 360,192" fill="none" stroke="black"/>
                  <path d="M 424,192 L 504,192" fill="none" stroke="black"/>
                  <path d="M 368,208 L 384,208" fill="none" stroke="black"/>
                  <path d="M 224,224 L 360,224" fill="none" stroke="black"/>
                  <path d="M 424,224 L 504,224" fill="none" stroke="black"/>
                  <path d="M 392,240 L 416,240" fill="none" stroke="black"/>
                  <path d="M 224,256 L 360,256" fill="none" stroke="black"/>
                  <path d="M 8,272 L 80,272" fill="none" stroke="black"/>
                  <path d="M 424,272 L 504,272" fill="none" stroke="black"/>
                  <path d="M 224,288 L 408,288" fill="none" stroke="black"/>
                  <path d="M 8,304 L 80,304" fill="none" stroke="black"/>
                  <path d="M 240,304 L 304,304" fill="none" stroke="black"/>
                  <path d="M 464,304 L 512,304" fill="none" stroke="black"/>
                  <path d="M 192,320 L 232,320" fill="none" stroke="black"/>
                  <path d="M 520,320 L 536,320" fill="none" stroke="black"/>
                  <path d="M 240,336 L 304,336" fill="none" stroke="black"/>
                  <path d="M 520,336 L 552,336" fill="none" stroke="black"/>
                  <path d="M 520,352 L 536,352" fill="none" stroke="black"/>
                  <path d="M 8,368 L 144,368" fill="none" stroke="black"/>
                  <path d="M 464,368 L 512,368" fill="none" stroke="black"/>
                  <path d="M 152,384 L 264,384" fill="none" stroke="black"/>
                  <path d="M 152,400 L 216,400" fill="none" stroke="black"/>
                  <path d="M 16,416 L 144,416" fill="none" stroke="black"/>
                  <path d="M 432,416 L 512,416" fill="none" stroke="black"/>
                  <path d="M 8,448 L 48,448" fill="none" stroke="black"/>
                  <path d="M 224,448 L 408,448" fill="none" stroke="black"/>
                  <path d="M 432,464 L 512,464" fill="none" stroke="black"/>
                  <path d="M 192,480 L 328,480" fill="none" stroke="black"/>
                  <path d="M 336,496 L 448,496" fill="none" stroke="black"/>
                  <path d="M 192,512 L 328,512" fill="none" stroke="black"/>
                  <path d="M 424,528 L 488,528" fill="none" stroke="black"/>
                  <path d="M 304,544 L 416,544" fill="none" stroke="black"/>
                  <path d="M 496,544 L 536,544" fill="none" stroke="black"/>
                  <path d="M 424,560 L 488,560" fill="none" stroke="black"/>
                  <path d="M 112,576 L 552,576" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="528,352 516,346.4 516,357.6" fill="black" transform="rotate(180,520,352)"/>
                  <polygon class="arrowhead" points="504,376 492,370.4 492,381.6" fill="black" transform="rotate(270,496,376)"/>
                  <polygon class="arrowhead" points="240,128 228,122.4 228,133.6" fill="black" transform="rotate(180,232,128)"/>
                  <polygon class="arrowhead" points="240,112 228,106.4 228,117.6" fill="black" transform="rotate(180,232,112)"/>
                  <polygon class="arrowhead" points="200,152 188,146.4 188,157.6" fill="black" transform="rotate(270,192,152)"/>
                  <polygon class="arrowhead" points="160,384 148,378.4 148,389.6" fill="black" transform="rotate(180,152,384)"/>
                  <polygon class="arrowhead" points="120,576 108,570.4 108,581.6" fill="black" transform="rotate(180,112,576)"/>
                  <polygon class="arrowhead" points="120,112 108,106.4 108,117.6" fill="black" transform="rotate(180,112,112)"/>
                  <g class="text">
                    <text x="136" y="36">Service</text>
                    <text x="192" y="36">CS-ID</text>
                    <text x="228" y="36">1,</text>
                    <text x="276" y="36">instance</text>
                    <text x="344" y="36">CSCI-ID</text>
                    <text x="384" y="36">1</text>
                    <text x="436" y="36">&lt;computing</text>
                    <text x="508" y="36">metric</text>
                    <text x="564" y="36">1,2,3&gt;</text>
                    <text x="136" y="52">Service</text>
                    <text x="192" y="52">CS-ID</text>
                    <text x="228" y="52">1,</text>
                    <text x="276" y="52">instance</text>
                    <text x="344" y="52">CSCI-ID</text>
                    <text x="384" y="52">2</text>
                    <text x="436" y="52">&lt;computing</text>
                    <text x="508" y="52">metric</text>
                    <text x="564" y="52">1,2,3&gt;</text>
                    <text x="136" y="68">Service</text>
                    <text x="192" y="68">CS-ID</text>
                    <text x="228" y="68">1,</text>
                    <text x="276" y="68">instance</text>
                    <text x="344" y="68">CSCI-ID</text>
                    <text x="384" y="68">3</text>
                    <text x="436" y="68">&lt;computing</text>
                    <text x="508" y="68">metric</text>
                    <text x="564" y="68">1,2,3&gt;</text>
                    <text x="136" y="84">Service</text>
                    <text x="192" y="84">CS-ID</text>
                    <text x="228" y="84">2,</text>
                    <text x="284" y="84">&lt;computing</text>
                    <text x="364" y="84">metrics&gt;</text>
                    <text x="104" y="116">:</text>
                    <text x="196" y="116">C-PS</text>
                    <text x="104" y="132">:</text>
                    <text x="104" y="148">:</text>
                    <text x="104" y="164">:</text>
                    <text x="448" y="164">CS-ID</text>
                    <text x="480" y="164">1</text>
                    <text x="104" y="180">:</text>
                    <text x="456" y="180">CSCI-ID</text>
                    <text x="496" y="180">1</text>
                    <text x="104" y="196">:</text>
                    <text x="104" y="212">:</text>
                    <text x="280" y="212">C-SMA</text>
                    <text x="432" y="212">Service</text>
                    <text x="484" y="212">Site</text>
                    <text x="512" y="212">2</text>
                    <text x="104" y="228">:</text>
                    <text x="104" y="244">:</text>
                    <text x="284" y="244">CATS-Forwarder</text>
                    <text x="352" y="244">2</text>
                    <text x="448" y="244">CS-ID</text>
                    <text x="480" y="244">1</text>
                    <text x="104" y="260">:</text>
                    <text x="456" y="260">CSCI-ID</text>
                    <text x="496" y="260">2</text>
                    <text x="104" y="276">:</text>
                    <text x="304" y="276">|</text>
                    <text x="44" y="292">Client</text>
                    <text x="104" y="292">:</text>
                    <text x="152" y="292">Network</text>
                    <text x="104" y="308">:</text>
                    <text x="152" y="308">metrics</text>
                    <text x="104" y="324">:</text>
                    <text x="272" y="324">C-NMA</text>
                    <text x="104" y="340">:</text>
                    <text x="488" y="340">C-SMA</text>
                    <text x="104" y="356">:</text>
                    <text x="68" y="388">CATS-Forwarder</text>
                    <text x="136" y="388">1</text>
                    <text x="316" y="404">Underlay</text>
                    <text x="324" y="420">Infrastructure</text>
                    <text x="28" y="436">C-PS</text>
                    <text x="104" y="436">:</text>
                    <text x="456" y="436">CS-ID</text>
                    <text x="488" y="436">1</text>
                    <text x="104" y="452">:</text>
                    <text x="464" y="452">CSCI-ID</text>
                    <text x="504" y="452">3</text>
                    <text x="104" y="468">:</text>
                    <text x="304" y="468">|</text>
                    <text x="104" y="484">:</text>
                    <text x="104" y="500">:</text>
                    <text x="252" y="500">CATS-Forwarder</text>
                    <text x="320" y="500">3</text>
                    <text x="104" y="516">:</text>
                    <text x="432" y="516">Service</text>
                    <text x="484" y="516">Site</text>
                    <text x="512" y="516">3</text>
                    <text x="104" y="532">:</text>
                    <text x="104" y="548">:</text>
                    <text x="448" y="548">CS-ID</text>
                    <text x="480" y="548">2</text>
                    <text x="104" y="564">:</text>
                    <text x="104" y="580">:</text>
                    <text x="72" y="596">Service</text>
                    <text x="128" y="596">CS-ID</text>
                    <text x="164" y="596">1,</text>
                    <text x="208" y="596">contact</text>
                    <text x="276" y="596">instance</text>
                    <text x="344" y="596">CSCI-ID</text>
                    <text x="388" y="596">3,</text>
                    <text x="444" y="596">&lt;computing</text>
                    <text x="516" y="596">metric</text>
                    <text x="564" y="596">4,5&gt;</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
              Service CS-ID 1, instance CSCI-ID 1 <computing metric 1,2,3>
              Service CS-ID 1, instance CSCI-ID 2 <computing metric 1,2,3>
              Service CS-ID 1, instance CSCI-ID 3 <computing metric 1,2,3>
              Service CS-ID 2, <computing metrics>
                     +------+
             :<------| C-PS |<-------------------------------------.
             :       |      |<-------.                             |
             :       +------+        |               +---------+   |
             :          ^            |           +---|CS-ID 1  |   |
             :          |            |           |   |CSCI-ID 1|   |
             :          |   +----------------+   |   +---------+   |
             :          |   |    C-SMA       |---| Service Site 2  |
             :          |   +----------------+   |   +---------+   |
             :          |   |CATS-Forwarder 2|   +---|CS-ID 1  |   |
             :          |   +----------------+       |CSCI-ID 2|   |
 +--------+  :          |             |              +---------+   |
 | Client |  :  Network |   +----------------------+               |
 +--------+  :  metrics |   | +-------+            |      +-----+  |
      |      :          +-----| C-NMA |            |      |     |--+
      |      :              | +-------+            |      |C-SMA|----+
      |      :              |    |                 |      |     |<-+ |
 +----------------+         |    |                 |      +-----+  | |
 |CATS-Forwarder 1|<-------------+                 |          ^    | |
 |                |---------|       Underlay       |          |    | |
 |----------------+         |     Infrastructure   |  +---------+  | |
 |C-PS|      :              |                      |  |CS-ID 1  |  | |
 +----+      :              +----------------------+  |CSCI-ID 3|  | |
             :                        |               +---------+  | |
             :          +----------------+              |          | |
             :          |CATS-Forwarder 3|--------------+          | |
             :          +----------------+         Service Site 3  | |
             :                        |              +-------+     | |
             :                        '-------+------|CS-ID 2|-----+ |
             :                                       +-------+       |
             :<------------------------------------------------------+
      Service CS-ID 1, contact instance CSCI-ID 3, <computing metric 4,5>
]]></artwork>
            </artset>
          </figure>
        </section>
      </section>
      <section anchor="service-access-processing">
        <name>Service Access Processing</name>
        <t>A C-PS selects paths that lead to Egress CATS-Forwarders according to both service and network metrics that were advertised. A C-PS may be collocated with an Ingress CATS-Forwarder (as shown in <xref target="fig-cats-example-overlay"/>) or logically centralized (in the centralized model or hybrid model).</t>
        <t>This document does not specify any specific algorithm for path selection purposes to be supported by C-PSes in order to not constrain the CATS framework to one possible selection only. Instead, it is expected that a service request or local policy may feed the C-PS with appropriate information on that selection logic that takes the suitable metric information as input and the selected service contact instance as output. Such "appropriate information" may be utilized to differentiate selection mechanisms to enable service-specific selections.</t>
        <t>In the example shown in <xref target="fig-cats-example-overlay"/>, the client sends a service access via the network through the "CATS-Forwarder 1", which is an Ingress CATS-Forwarder. Note that, a service access may consist of one or more service packets (e.g., Session Initiation Protocol (SIP) <xref target="RFC3261"/>, HTTP <xref target="RFC9112"/>, IPv6 <xref target="RFC8200"/>, SRv6 <xref target="RFC8754"/> or Real-Time Streaming Protocol (RTSP) <xref target="RFC7826"/>) that carry the CS-ID and potential parameters. The Ingress CATS-Forwarder classifies the packets using the information provided by the CATS classifier (C-TC). When a matching classification entry is found for the packets, the Ingress CATS-Forwarder encapsulates and forwards them to the C-PS selected Egress CATS-Forwarder. When these packets reach the Egress CATS-Forwarder, the outer header of the possible overlay encapsulation will be removed and the inner packets will be sent to the relevant service contact instance.</t>
      </section>
      <section anchor="service-contact-instance-affinity">
        <name>Service Contact Instance Affinity</name>
        <t>Service contact instance affinity means that packets that belong to a flow associated with a service should always be sent to the same service contact instance. Furthermore, packets of a given flow should be forwarded along the same path to avoid mis-ordering and to prevent the introduction of unpredictable latency variations. The CATS framework must ensure that service instance selection and path steering decisions remain consistent for a flow. Specifically, the same Egress CATS-Forwarder needs to be solicited to forward the packets.</t>
        <t>The affinity is configured on the C-PS when the service is deployed, or is determined at the time of newly formulated service requests.</t>
        <t>Note that different services may have different notions of what constitutes a 'flow' and may, thus, identify a flow differently. Typically, a flow is identified by the 5-tuple transport coordinates (source address and destination address, source and destination port numbers, and protocol). However, for instance, an RTP video stream may use different port numbers for video and audio channels: in that case, affinity may be identified as a combination of the two 5-tuple flow identifiers so that both flows are addressed to the same service contact instance.</t>
        <t>Hence, when specifying a protocol to communicate information about service contact instance affinity, the protocol should support
flexible mechanisms for identifying flows. Or, from a more general perspective, there should be a mechanism to specify and identify the set of packets that are subject to a service contact instance affinity.</t>
        <t>More importantly, the means for identifying a flow for ensuring instance affinity should be application-independent to avoid the need for service-specific instance affinity methods. However, service contact instance affinity information may be configurable on a per-service basis. For each service, the information can include the flow/packets identification type and means, affinity timeout value, etc.</t>
        <t>This document does not define any mechanism for defining or enforcing service contact instance affinity.</t>
      </section>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <section anchor="sec-cats-provisioning">
        <name>Provisioning of CATS Components</name>
        <t>Enabling CATS in a network can be done incrementally. That is, not all ingress routers need to be upgraded to support CATS.</t>
        <t>In addition to the CATS steering policies that are communicated by a C-PS to an Ingress CATS-Forwarder, some provisioning tasks are required. This includes, but not limited to:</t>
        <ul spacing="normal">
          <li>
            <t>Provide C-PS elements with the locators of available Ingress CATS-Forwarder. Such locators may also be discovered from the network.</t>
          </li>
          <li>
            <t>Enable required setup to connect C-PS elements with C-NMA and C-SMA.</t>
          </li>
          <li>
            <t>Allocate various identifiers CS-ID/CSCI-ID and bind them to specific service contact instances.</t>
          </li>
          <li>
            <t>Provide C-PS element with the set of optimization metrics (per service) and an optimization policy.</t>
          </li>
          <li>
            <t>Expose encapsulation capabilities supported by CATS-Forwarders.</t>
          </li>
          <li>
            <t>Configure specific encapsulation capabilities of CATS-Forwarders for use, including any credentials for mutual authentication between peer CATS-Forwarders.</t>
          </li>
          <li>
            <t>Expose classification capabilities of C-TC elements.</t>
          </li>
          <li>
            <t>Retrieve active classification table of C-TC elements.</t>
          </li>
          <li>
            <t>Reset the classification table of C-TC elements.</t>
          </li>
          <li>
            <t>Set the traffic counters at CATS-Forwarders to ease correlation between both Ingress and Egress CATS-Forwarders. Such correlation is needed to help identify issues induced by the underlying encapsulation.</t>
          </li>
          <li>
            <t>Enable tools to check the correct behavior of various entities (e.g., classification rules, steering rules, and forwarding behavior)</t>
          </li>
        </ul>
        <t>The above task can be enabled using a variety of means (NETCONF <xref target="RFC6241"/>, IPFIX <xref target="RFC7011"/>, RESTCONF <xref target="RFC8040"/>, YANG-Push <xref target="RFC8639"/>, etc.). It is out of scope to discuss required CATS extension to these protocols.</t>
      </section>
      <section anchor="sec-cats-deployment">
        <name>Deployment Considerations</name>
        <t>This document does not make any assumption about how the various CATS functional elements are implemented and deployed. Concretely, whether a CATS deployment follows a fully distributed design or relies upon a mix of centralized (e.g., a centralized C-PS) and distributed CATS functions (e.g., CATS traffic classifiers) is deployment-specific, which may reflect the preferences and policies of the (CATS) service provider. The deployment can also be informed by specific use case requirements <xref target="I-D.ietf-cats-usecases-requirements"/>.</t>
        <t>For example, in a centralized design, both the computing related metrics from the C-SMAs and the network metrics are collected by a (logically) centralized path computation logic (e.g., a PCE). In this case, the CATS computation logic may process incoming service requests to compute paths to service contact instances. More generally, the paths might be computed before the service request comes. Based on the metrics and computed paths, the C-PS can select the most appropriate path and then synchronize with CATS traffic classifiers (C-TCs).</t>
        <t>According to the method of distributing and collecting the computing related metrics, three deployment models can be considered for the deployment of the CATS framework:</t>
        <ul spacing="normal">
          <li>
            <dl>
              <dt><strong>Distributed model</strong>:</dt>
              <dd>
                <t>Computing metrics are distributed among network devices directly using distributed protocols without interactions with a centralized control plane. Service scheduling function is performed by the CATS-Forwarders in the distribution model, therefore, the C-PS is integrated into an Ingress CATS-Forwarder.</t>
              </dd>
            </dl>
          </li>
          <li>
            <dl>
              <dt><strong>Centralized model</strong>:</dt>
              <dd>
                <t>Computing metrics are collected by a centralized control plane, and then the centralized control plane computes the forwarding path for service requests and syncs up with the Ingress CATS-Forwarder. In this model, C-PS is implemented in the centralized control plane.</t>
              </dd>
            </dl>
          </li>
          <li>
            <dl>
              <dt><strong>Hybrid model</strong>:</dt>
              <dd>
                <t>Is a combination of distributed and centralized models.</t>
              </dd>
              <dt/>
              <dd>
                <t>A part of computing metrics are distributed among involved network devices, and others may be collected by a centralized control plane. For example, some static information (e.g., capabilities information) can be distributed among network devices since they are quite stable (change infrequently). Frequent changing information (e.g., resource utilization) can be collected by a centralized control plane to avoid frequent flooding in the distributed control plane. Service scheduling function can be performed by a centralized control plane and/or the CATS-Forwarder. The entire or partial C-PS function may be implemented in the centralized control plane, depending on the specific implementation and deployment.</t>
              </dd>
            </dl>
          </li>
        </ul>
        <t>The framework covers only the case of a single service provider. Deployment considerations about the case of multiple service providers are out of scope.</t>
      </section>
      <section anchor="sec-metric-implementation">
        <name>Implementation Consideration on Using CATS Metrics</name>
        <t>According to the metric definition in <xref target="I-D.ietf-cats-metric-definition"/>, computing metrics need to be normalized and/or aggregated in order to low down the scalability impact of the existing route system while providing sufficient detail for effective decision-making.</t>
        <t>Depending on the resources and processing capabilities of CATS components, the normalization and aggregation functions can be located in different CATS components. The suggested solution is to implement the normalization and aggregation functions located away from the decision maker, CATS Path Selector (C-PS), especially when C-PS is co-located with CATS-Forwarders. With this in mind, the normalization and aggregation functions of CATS metrics can be placed at Service contact instance or CATS Service Metric Agent (C-SMA).</t>
        <t>When the C-SMA is co-located with CATS-Forwarders where there is limited resource for processing, the placement of normalization functions in the C-SMA may bring too much overhead and may influence the routing efficiency. Therefore, this document suggests to implement the normalization function at the service contact instance. Regarding the aggregation functions, it can be implemented in the C-SMA, or the service contact instance.</t>
        <t>In the case of service contact instances and C-SMAs are provided by different vendors, it is needed to use the same common normalization function and aggregation functions, so that the service contact instance selection result can be fair among all the service contact instances.</t>
      </section>
      <section anchor="verifying-correct-operations">
        <name>Verifying Correct Operations</name>
        <t>CATS may be implemented by extending some existing control plane protocols, such as BGP or PCEP. A CATS implementation must log error events for better network management and operation. Means to assess the reachability and trace CATS paths should be supported.</t>
      </section>
      <section anchor="impact-on-network-operations">
        <name>Impact on Network Operations</name>
        <t>Computing metrics are collected and distributed in CATS. A new function is needed to be deployed to manage the cooperation between network elements and computing elements. For example, this function may be provided by an orchestrator connecting with C-SMA and C-NMA. This might bring more complexity of the network management, especially if this function is not leveraged for other purposes beyond CATS.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The computing resource information changes over time very frequently, especially with the creation and termination of service instances. When such information is carried in a routing protocol, too many updates may affect network stability. This issue could be exploited by an attacker (e.g., by spawning and deleting service instances very rapidly). CATS solutions must support guards against such misbehaviors. For example, these solutions should support aggregation techniques, dampening mechanisms, and threshold-triggered distribution updates.</t>
      <t>The information distributed by the C-SMAs and C-NMAs may be sensitive. Such information could indeed disclose intelligence about the network and the location of compute resources hosted in service sites. This information may be used by an attacker to identify weak spots in an operator's network. Furthermore, such information may be modified by an attacker resulting in disrupted service delivery for the clients, even including misdirection of traffic to an attacker's service implementation. CATS solutions must support authentication and integrity-protection mechanisms between C-SMAs/C-NMAs and C-PSes, and between C-PSes and Ingress CATS-Forwarders. Also, C-SMA agents need to support a mechanism to authenticate the services for which they provide information to C-PS computation logics, among other CATS functions.</t>
      <t>This document focuses on the scenario of a single service provider. Hence, security considerations relevant to deployment with multiple service providers are out of scope.</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>CATS solutions must support preventing on-path nodes in the underlay infrastructure to fingerprint and track clients (e.g., determining which client accesses which service). More generally, personal data must not be exposed to external parties by CATS beyond what is carried in the packet that was originally issued by the client.</t>
      <t>In some cases, the CATS solution may need to know about applications, clients, and even user identity. This information is sensitive and should be encrypted. To prevent the information leaking between CATS components, the C-PS computed path information should be encrypted in distribution. The specific encryption method may be applied at the network layer, transport layer, or at the application/protocol level depending on the implementation, so this is out of the scope of this document.</t>
      <t>This document focuses on the scenario of a single service provider. Hence, privacy considerations relevant to deployment with multiple service providers are out of scope.</t>
      <t>For more discussion about privacy, refer to <xref target="RFC6462"/> and <xref target="RFC6973"/>.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document makes no request for IANA action.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-informative-references">
      <name>Informative References</name>
      <reference anchor="I-D.ietf-cats-usecases-requirements">
        <front>
          <title>Computing-Aware Traffic Steering (CATS) Problem Statement, Use Cases, and Requirements</title>
          <author fullname="Kehan Yao" initials="K." surname="Yao">
            <organization>China Mobile</organization>
          </author>
          <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
            <organization>Telefonica</organization>
          </author>
          <author fullname="Hang Shi" initials="H." surname="Shi">
            <organization>Huawei Technologies</organization>
          </author>
          <author fullname="Shuai Zhang" initials="S." surname="Zhang">
            <organization>China Unicom</organization>
          </author>
          <author fullname="Qing An" initials="Q." surname="An">
            <organization>Alibaba Group</organization>
          </author>
          <date day="12" month="October" year="2025"/>
          <abstract>
            <t>   Distributed computing is a computing pattern that service providers
   can follow and use to achieve better service response time and
   optimized energy consumption.  In such a distributed computing
   environment, compute intensive and delay sensitive services can be
   improved by utilizing computing resources hosted in various computing
   facilities.  Ideally, compute services are balanced across servers
   and network resources to enable higher throughput and lower response
   time.  To achieve this, the choice of server and network resources
   should consider metrics that are oriented towards compute
   capabilities and resources instead of simply dispatching the service
   requests in a static way or optimizing solely on connectivity
   metrics.  The process of selecting servers or service instance
   locations, and of directing traffic to them on chosen network
   resources is called "Computing-Aware Traffic Steering" (CATS).

   This document provides the problem statement and the typical
   scenarios for CATS, which shows the necessity of considering more
   factors when steering traffic to the appropriate computing resource
   to better meet the customer's expectations.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-cats-usecases-requirements-08"/>
      </reference>
      <reference anchor="RFC9522">
        <front>
          <title>Overview and Principles of Internet Traffic Engineering</title>
          <author fullname="A. Farrel" initials="A." role="editor" surname="Farrel"/>
          <date month="January" year="2024"/>
          <abstract>
            <t>This document describes the principles of traffic engineering (TE) in the Internet. The document is intended to promote better understanding of the issues surrounding traffic engineering in IP networks and the networks that support IP networking and to provide a common basis for the development of traffic-engineering capabilities for the Internet. The principles, architectures, and methodologies for performance evaluation and performance optimization of operational networks are also discussed.</t>
            <t>This work was first published as RFC 3272 in May 2002. This document obsoletes RFC 3272 by making a complete update to bring the text in line with best current practices for Internet traffic engineering and to include references to the latest relevant work in the IETF.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9522"/>
        <seriesInfo name="DOI" value="10.17487/RFC9522"/>
      </reference>
      <reference anchor="I-D.ietf-cats-metric-definition">
        <front>
          <title>CATS Metrics Definition</title>
          <author fullname="Kehan Yao" initials="K." surname="Yao">
            <organization>China Mobile</organization>
          </author>
          <author fullname="Cheng Li" initials="C." surname="Li">
            <organization>Huawei Technologies</organization>
          </author>
          <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
            <organization>Telefonica</organization>
          </author>
          <author fullname="Jordi Ros-Giralt" initials="J." surname="Ros-Giralt">
            <organization>Qualcomm Europe, Inc.</organization>
          </author>
          <author fullname="Hang Shi" initials="H." surname="Shi">
            <organization>Huawei Technologies</organization>
          </author>
          <date day="20" month="October" year="2025"/>
          <abstract>
            <t>   Computing-Aware Traffic Steering (CATS) is a traffic engineering
   approach that optimizes the steering of traffic to a given service
   instance by considering the dynamic nature of computing and network
   resources.  In order to consider the computing and network resources,
   a system needs to share information (metrics) that describes the
   state of the resources.  Metrics from network domain have been in use
   in network systems for a long time.  This document defines a set of
   metrics from the computing domain used for CATS.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-cats-metric-definition-04"/>
      </reference>
      <reference anchor="RFC7471">
        <front>
          <title>OSPF Traffic Engineering (TE) Metric Extensions</title>
          <author fullname="S. Giacalone" initials="S." surname="Giacalone"/>
          <author fullname="D. Ward" initials="D." surname="Ward"/>
          <author fullname="J. Drake" initials="J." surname="Drake"/>
          <author fullname="A. Atlas" initials="A." surname="Atlas"/>
          <author fullname="S. Previdi" initials="S." surname="Previdi"/>
          <date month="March" year="2015"/>
          <abstract>
            <t>In certain networks, such as, but not limited to, financial information networks (e.g., stock market data providers), network performance information (e.g., link propagation delay) is becoming critical to data path selection.</t>
            <t>This document describes common extensions to RFC 3630 "Traffic Engineering (TE) Extensions to OSPF Version 2" and RFC 5329 "Traffic Engineering Extensions to OSPF Version 3" to enable network performance information to be distributed in a scalable fashion. The information distributed using OSPF TE Metric Extensions can then be used to make path selection decisions based on network performance.</t>
            <t>Note that this document only covers the mechanisms by which network performance information is distributed. The mechanisms for measuring network performance information or using that information, once distributed, are outside the scope of this document.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7471"/>
        <seriesInfo name="DOI" value="10.17487/RFC7471"/>
      </reference>
      <reference anchor="RFC8570">
        <front>
          <title>IS-IS Traffic Engineering (TE) Metric Extensions</title>
          <author fullname="L. Ginsberg" initials="L." role="editor" surname="Ginsberg"/>
          <author fullname="S. Previdi" initials="S." role="editor" surname="Previdi"/>
          <author fullname="S. Giacalone" initials="S." surname="Giacalone"/>
          <author fullname="D. Ward" initials="D." surname="Ward"/>
          <author fullname="J. Drake" initials="J." surname="Drake"/>
          <author fullname="Q. Wu" initials="Q." surname="Wu"/>
          <date month="March" year="2019"/>
          <abstract>
            <t>In certain networks, such as, but not limited to, financial information networks (e.g., stock market data providers), network-performance criteria (e.g., latency) are becoming as critical to data-path selection as other metrics.</t>
            <t>This document describes extensions to IS-IS Traffic Engineering Extensions (RFC 5305). These extensions provide a way to distribute and collect network-performance information in a scalable fashion. The information distributed using IS-IS TE Metric Extensions can then be used to make path-selection decisions based on network performance.</t>
            <t>Note that this document only covers the mechanisms with which network-performance information is distributed. The mechanisms for measuring network performance or acting on that information, once distributed, are outside the scope of this document.</t>
            <t>This document obsoletes RFC 7810.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8570"/>
        <seriesInfo name="DOI" value="10.17487/RFC8570"/>
      </reference>
      <reference anchor="RFC8571">
        <front>
          <title>BGP - Link State (BGP-LS) Advertisement of IGP Traffic Engineering Performance Metric Extensions</title>
          <author fullname="L. Ginsberg" initials="L." role="editor" surname="Ginsberg"/>
          <author fullname="S. Previdi" initials="S." surname="Previdi"/>
          <author fullname="Q. Wu" initials="Q." surname="Wu"/>
          <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
          <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
          <date month="March" year="2019"/>
          <abstract>
            <t>This document defines new BGP - Link State (BGP-LS) TLVs in order to carry the IGP Traffic Engineering Metric Extensions defined in the IS-IS and OSPF protocols.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8571"/>
        <seriesInfo name="DOI" value="10.17487/RFC8571"/>
      </reference>
      <reference anchor="RFC4655">
        <front>
          <title>A Path Computation Element (PCE)-Based Architecture</title>
          <author fullname="A. Farrel" initials="A." surname="Farrel"/>
          <author fullname="J.-P. Vasseur" initials="J.-P." surname="Vasseur"/>
          <author fullname="J. Ash" initials="J." surname="Ash"/>
          <date month="August" year="2006"/>
          <abstract>
            <t>Constraint-based path computation is a fundamental building block for traffic engineering systems such as Multiprotocol Label Switching (MPLS) and Generalized Multiprotocol Label Switching (GMPLS) networks. Path computation in large, multi-domain, multi-region, or multi-layer networks is complex and may require special computational components and cooperation between the different network domains.</t>
            <t>This document specifies the architecture for a Path Computation Element (PCE)-based model to address this problem space. This document does not attempt to provide a detailed description of all the architectural components, but rather it describes a set of building blocks for the PCE architecture from which solutions may be constructed. This memo provides information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4655"/>
        <seriesInfo name="DOI" value="10.17487/RFC4655"/>
      </reference>
      <reference anchor="RFC6066">
        <front>
          <title>Transport Layer Security (TLS) Extensions: Extension Definitions</title>
          <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
          <date month="January" year="2011"/>
          <abstract>
            <t>This document provides specifications for existing TLS extensions. It is a companion document for RFC 5246, "The Transport Layer Security (TLS) Protocol Version 1.2". The extensions specified are server_name, max_fragment_length, client_certificate_url, trusted_ca_keys, truncated_hmac, and status_request. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6066"/>
        <seriesInfo name="DOI" value="10.17487/RFC6066"/>
      </reference>
      <reference anchor="RFC4026">
        <front>
          <title>Provider Provisioned Virtual Private Network (VPN) Terminology</title>
          <author fullname="L. Andersson" initials="L." surname="Andersson"/>
          <author fullname="T. Madsen" initials="T." surname="Madsen"/>
          <date month="March" year="2005"/>
          <abstract>
            <t>The widespread interest in provider-provisioned Virtual Private Network (VPN) solutions lead to memos proposing different and overlapping solutions. The IETF working groups (first Provider Provisioned VPNs and later Layer 2 VPNs and Layer 3 VPNs) have discussed these proposals and documented specifications. This has lead to the development of a partially new set of concepts used to describe the set of VPN services.</t>
            <t>To a certain extent, more than one term covers the same concept, and sometimes the same term covers more than one concept. This document seeks to make the terminology in the area clearer and more intuitive. This memo provides information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4026"/>
        <seriesInfo name="DOI" value="10.17487/RFC4026"/>
      </reference>
      <reference anchor="RFC1034">
        <front>
          <title>Domain names - concepts and facilities</title>
          <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
          <date month="November" year="1987"/>
          <abstract>
            <t>This RFC is the revised basic definition of The Domain Name System. It obsoletes RFC-882. This memo describes the domain style names and their used for host address look up and electronic mail forwarding. It discusses the clients and servers in the domain name system and the protocol used between them.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="13"/>
        <seriesInfo name="RFC" value="1034"/>
        <seriesInfo name="DOI" value="10.17487/RFC1034"/>
      </reference>
      <reference anchor="RFC5340">
        <front>
          <title>OSPF for IPv6</title>
          <author fullname="R. Coltun" initials="R." surname="Coltun"/>
          <author fullname="D. Ferguson" initials="D." surname="Ferguson"/>
          <author fullname="J. Moy" initials="J." surname="Moy"/>
          <author fullname="A. Lindem" initials="A." surname="Lindem"/>
          <date month="July" year="2008"/>
          <abstract>
            <t>This document describes the modifications to OSPF to support version 6 of the Internet Protocol (IPv6). The fundamental mechanisms of OSPF (flooding, Designated Router (DR) election, area support, Short Path First (SPF) calculations, etc.) remain unchanged. However, some changes have been necessary, either due to changes in protocol semantics between IPv4 and IPv6, or simply to handle the increased address size of IPv6. These modifications will necessitate incrementing the protocol version from version 2 to version 3. OSPF for IPv6 is also referred to as OSPF version 3 (OSPFv3).</t>
            <t>Changes between OSPF for IPv4, OSPF Version 2, and OSPF for IPv6 as described herein include the following. Addressing semantics have been removed from OSPF packets and the basic Link State Advertisements (LSAs). New LSAs have been created to carry IPv6 addresses and prefixes. OSPF now runs on a per-link basis rather than on a per-IP-subnet basis. Flooding scope for LSAs has been generalized. Authentication has been removed from the OSPF protocol and instead relies on IPv6's Authentication Header and Encapsulating Security Payload (ESP).</t>
            <t>Even with larger IPv6 addresses, most packets in OSPF for IPv6 are almost as compact as those in OSPF for IPv4. Most fields and packet- size limitations present in OSPF for IPv4 have been relaxed. In addition, option handling has been made more flexible.</t>
            <t>All of OSPF for IPv4's optional capabilities, including demand circuit support and Not-So-Stubby Areas (NSSAs), are also supported in OSPF for IPv6. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5340"/>
        <seriesInfo name="DOI" value="10.17487/RFC5340"/>
      </reference>
      <reference anchor="RFC3261">
        <front>
          <title>SIP: Session Initiation Protocol</title>
          <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
          <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
          <author fullname="G. Camarillo" initials="G." surname="Camarillo"/>
          <author fullname="A. Johnston" initials="A." surname="Johnston"/>
          <author fullname="J. Peterson" initials="J." surname="Peterson"/>
          <author fullname="R. Sparks" initials="R." surname="Sparks"/>
          <author fullname="M. Handley" initials="M." surname="Handley"/>
          <author fullname="E. Schooler" initials="E." surname="Schooler"/>
          <date month="June" year="2002"/>
          <abstract>
            <t>This document describes Session Initiation Protocol (SIP), an application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. These sessions include Internet telephone calls, multimedia distribution, and multimedia conferences. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3261"/>
        <seriesInfo name="DOI" value="10.17487/RFC3261"/>
      </reference>
      <reference anchor="RFC9112">
        <front>
          <title>HTTP/1.1</title>
          <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
          <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
          <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
          <date month="June" year="2022"/>
          <abstract>
            <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document specifies the HTTP/1.1 message syntax, message parsing, connection management, and related security concerns.</t>
            <t>This document obsoletes portions of RFC 7230.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="99"/>
        <seriesInfo name="RFC" value="9112"/>
        <seriesInfo name="DOI" value="10.17487/RFC9112"/>
      </reference>
      <reference anchor="RFC8200">
        <front>
          <title>Internet Protocol, Version 6 (IPv6) Specification</title>
          <author fullname="S. Deering" initials="S." surname="Deering"/>
          <author fullname="R. Hinden" initials="R." surname="Hinden"/>
          <date month="July" year="2017"/>
          <abstract>
            <t>This document specifies version 6 of the Internet Protocol (IPv6). It obsoletes RFC 2460.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="86"/>
        <seriesInfo name="RFC" value="8200"/>
        <seriesInfo name="DOI" value="10.17487/RFC8200"/>
      </reference>
      <reference anchor="RFC8754">
        <front>
          <title>IPv6 Segment Routing Header (SRH)</title>
          <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
          <author fullname="D. Dukes" initials="D." role="editor" surname="Dukes"/>
          <author fullname="S. Previdi" initials="S." surname="Previdi"/>
          <author fullname="J. Leddy" initials="J." surname="Leddy"/>
          <author fullname="S. Matsushima" initials="S." surname="Matsushima"/>
          <author fullname="D. Voyer" initials="D." surname="Voyer"/>
          <date month="March" year="2020"/>
          <abstract>
            <t>Segment Routing can be applied to the IPv6 data plane using a new type of Routing Extension Header called the Segment Routing Header (SRH). This document describes the SRH and how it is used by nodes that are Segment Routing (SR) capable.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8754"/>
        <seriesInfo name="DOI" value="10.17487/RFC8754"/>
      </reference>
      <reference anchor="RFC7826">
        <front>
          <title>Real-Time Streaming Protocol Version 2.0</title>
          <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
          <author fullname="A. Rao" initials="A." surname="Rao"/>
          <author fullname="R. Lanphier" initials="R." surname="Lanphier"/>
          <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
          <author fullname="M. Stiemerling" initials="M." role="editor" surname="Stiemerling"/>
          <date month="December" year="2016"/>
          <abstract>
            <t>This memorandum defines the Real-Time Streaming Protocol (RTSP) version 2.0, which obsoletes RTSP version 1.0 defined in RFC 2326.</t>
            <t>RTSP is an application-layer protocol for the setup and control of the delivery of data with real-time properties. RTSP provides an extensible framework to enable controlled, on-demand delivery of real-time data, such as audio and video. Sources of data can include both live data feeds and stored clips. This protocol is intended to control multiple data delivery sessions; provide a means for choosing delivery channels such as UDP, multicast UDP, and TCP; and provide a means for choosing delivery mechanisms based upon RTP (RFC 3550).</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7826"/>
        <seriesInfo name="DOI" value="10.17487/RFC7826"/>
      </reference>
      <reference anchor="RFC6241">
        <front>
          <title>Network Configuration Protocol (NETCONF)</title>
          <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
          <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
          <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
          <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
          <date month="June" year="2011"/>
          <abstract>
            <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6241"/>
        <seriesInfo name="DOI" value="10.17487/RFC6241"/>
      </reference>
      <reference anchor="RFC7011">
        <front>
          <title>Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of Flow Information</title>
          <author fullname="B. Claise" initials="B." role="editor" surname="Claise"/>
          <author fullname="B. Trammell" initials="B." role="editor" surname="Trammell"/>
          <author fullname="P. Aitken" initials="P." surname="Aitken"/>
          <date month="September" year="2013"/>
          <abstract>
            <t>This document specifies the IP Flow Information Export (IPFIX) protocol, which serves as a means for transmitting Traffic Flow information over the network. In order to transmit Traffic Flow information from an Exporting Process to a Collecting Process, a common representation of flow data and a standard means of communicating them are required. This document describes how the IPFIX Data and Template Records are carried over a number of transport protocols from an IPFIX Exporting Process to an IPFIX Collecting Process. This document obsoletes RFC 5101.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="77"/>
        <seriesInfo name="RFC" value="7011"/>
        <seriesInfo name="DOI" value="10.17487/RFC7011"/>
      </reference>
      <reference anchor="RFC8040">
        <front>
          <title>RESTCONF Protocol</title>
          <author fullname="A. Bierman" initials="A." surname="Bierman"/>
          <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
          <author fullname="K. Watsen" initials="K." surname="Watsen"/>
          <date month="January" year="2017"/>
          <abstract>
            <t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8040"/>
        <seriesInfo name="DOI" value="10.17487/RFC8040"/>
      </reference>
      <reference anchor="RFC8639">
        <front>
          <title>Subscription to YANG Notifications</title>
          <author fullname="E. Voit" initials="E." surname="Voit"/>
          <author fullname="A. Clemm" initials="A." surname="Clemm"/>
          <author fullname="A. Gonzalez Prieto" initials="A." surname="Gonzalez Prieto"/>
          <author fullname="E. Nilsen-Nygaard" initials="E." surname="Nilsen-Nygaard"/>
          <author fullname="A. Tripathy" initials="A." surname="Tripathy"/>
          <date month="September" year="2019"/>
          <abstract>
            <t>This document defines a YANG data model and associated mechanisms enabling subscriber-specific subscriptions to a publisher's event streams. Applying these elements allows a subscriber to request and receive a continuous, customized feed of publisher-generated information.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8639"/>
        <seriesInfo name="DOI" value="10.17487/RFC8639"/>
      </reference>
      <reference anchor="RFC6462">
        <front>
          <title>Report from the Internet Privacy Workshop</title>
          <author fullname="A. Cooper" initials="A." surname="Cooper"/>
          <date month="January" year="2012"/>
          <abstract>
            <t>On December 8-9, 2010, the IAB co-hosted an Internet privacy workshop with the World Wide Web Consortium (W3C), the Internet Society (ISOC), and MIT's Computer Science and Artificial Intelligence Laboratory (CSAIL). The workshop revealed some of the fundamental challenges in designing, deploying, and analyzing privacy-protective Internet protocols and systems. Although workshop participants and the community as a whole are still far from understanding how best to systematically address privacy within Internet standards development, workshop participants identified a number of potential next steps. For the IETF, these included the creation of a privacy directorate to review Internet-Drafts, further work on documenting privacy considerations for protocol developers, and a number of exploratory efforts concerning fingerprinting and anonymized routing. Potential action items for the W3C included investigating the formation of a privacy interest group and formulating guidance about fingerprinting, referrer headers, data minimization in APIs, usability, and general considerations for non-browser-based protocols.</t>
            <t>Note that this document is a report on the proceedings of the workshop. The views and positions documented in this report are those of the workshop participants and do not necessarily reflect the views of the IAB, W3C, ISOC, or MIT CSAIL. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6462"/>
        <seriesInfo name="DOI" value="10.17487/RFC6462"/>
      </reference>
      <reference anchor="RFC6973">
        <front>
          <title>Privacy Considerations for Internet Protocols</title>
          <author fullname="A. Cooper" initials="A." surname="Cooper"/>
          <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
          <author fullname="B. Aboba" initials="B." surname="Aboba"/>
          <author fullname="J. Peterson" initials="J." surname="Peterson"/>
          <author fullname="J. Morris" initials="J." surname="Morris"/>
          <author fullname="M. Hansen" initials="M." surname="Hansen"/>
          <author fullname="R. Smith" initials="R." surname="Smith"/>
          <date month="July" year="2013"/>
          <abstract>
            <t>This document offers guidance for developing privacy considerations for inclusion in protocol specifications. It aims to make designers, implementers, and users of Internet protocols aware of privacy-related design choices. It suggests that whether any individual RFC warrants a specific privacy considerations section will depend on the document's content.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6973"/>
        <seriesInfo name="DOI" value="10.17487/RFC6973"/>
      </reference>
      <reference anchor="I-D.yao-cats-awareness-architecture">
        <front>
          <title>Computing and Network Information Awareness (CNIA) system architecture for CATS</title>
          <author fullname="Huijuan Yao" initials="H." surname="Yao">
            <organization>China Mobile</organization>
          </author>
          <author fullname="xuewei wang" initials="X." surname="wang">
            <organization>Ruijie Networks</organization>
          </author>
          <author fullname="Zhiqiang Li" initials="Z." surname="Li">
            <organization>China Mobile</organization>
          </author>
          <author fullname="Daniel Huang" initials="D." surname="Huang">
            <organization>New H3C Technologies</organization>
          </author>
          <author fullname="Changwang Lin" initials="C." surname="Lin">
            <organization>New H3C Technologies</organization>
          </author>
          <date day="22" month="October" year="2023"/>
          <abstract>
            <t>   This document describes a Computing and Network Information
   Awareness (CNIA)system architecture for Computing-Aware Traffic
   Steering (CATS). Based on the CATS framework, this document further
   describes a proposal detailed awareness architecture about the
   network information and computing information. It includes a new
   component and the corresponding interfaces and workflows in the CATS
   control plane.



            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-yao-cats-awareness-architecture-02"/>
      </reference>
    </references>
    <?line 658?>

<section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The authors would like to thank Joel Halpern, John Scudder, Dino Farinacci, Adrian Farrel,
Cullen Jennings, Linda Dunbar, Jeffrey Zhang, Peng Liu, Fang Gao, Aijun Wang, Cong Li,
Xinxin Yi, Jari Arkko, Mingyu Wu, Haibo Wang, Xia Chen, Jianwei Mao, Guofeng Qian, Zhenbin Li,
Xinyue Zhang, Weier Li, Quan Xiong, Ines Robles, Nagendra Kumar and Taylor Paul for their comments and suggestions.</t>
      <t>Some text about various deployment models was originally documented in <xref target="I-D.yao-cats-awareness-architecture"/>.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="G." surname="Huang" fullname="Guangping Huang">
        <organization>ZTE</organization>
        <address>
          <email>huang.guangping@zte.com.cn</email>
        </address>
      </contact>
      <contact initials="G." surname="Mishra" fullname="Gyan Mishra">
        <organization>Verizon Inc.</organization>
        <address>
          <email>hayabusagsm@gmail.com</email>
        </address>
      </contact>
      <contact initials="H." surname="Yao" fullname="Huijuan Yao">
        <organization>China Mobile</organization>
        <address>
          <email>yaohuijuan@chinamobile.com</email>
        </address>
      </contact>
      <contact initials="Y." surname="Li" fullname="Yizhou Li">
        <organization>Huawei Technologies</organization>
        <address>
          <email>liyizhou@huawei.com</email>
        </address>
      </contact>
      <contact initials="D." surname="Trossen" fullname="Dirk Trossen">
        <organization>Huawei Technologies</organization>
        <address>
          <email>dirk.trossen@huawei.com</email>
        </address>
      </contact>
      <contact initials="L." surname="Iannone" fullname="Luigi Iannone">
        <organization>Huawei Technologies</organization>
        <address>
          <email>luigi.iannone@huawei.com</email>
        </address>
      </contact>
      <contact initials="H." surname="Shi" fullname="Hang Shi">
        <organization>Huawei Technologies</organization>
        <address>
          <email>shihang9@huawei.com</email>
        </address>
      </contact>
      <contact initials="C." surname="Lin" fullname="Changwang Lin">
        <organization>New H3C Technologies</organization>
        <address>
          <email>linchangwang.04414@h3c.com</email>
        </address>
      </contact>
      <contact initials="X." surname="Wang" fullname="Xueshun Wang">
        <organization>CICT</organization>
        <address>
          <email>xswang@fiberhome.com</email>
        </address>
      </contact>
      <contact initials="X." surname="Wang" fullname="Xuewei Wang">
        <organization>Ruijie Networks</organization>
        <address>
          <email>wangxuewei1@ruijie.com.cn</email>
        </address>
      </contact>
      <contact initials="C." surname="Jacquenet" fullname="Christian Jacquenet">
        <organization>Orange</organization>
        <address>
          <email>christian.jacquenet@orange.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
