<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.24 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ldbc-cats-framework-00" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.16.0 -->
  <front>
    <title abbrev="CATS Framework">A Framework for Computing-Aware Traffic Steering (CATS)</title>
    <seriesInfo name="Internet-Draft" value="draft-ldbc-cats-framework-00"/>
    <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>
        <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>Juniper Networks, Inc.</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>jdrake@juniper.net</email>
      </address>
    </author>
    <author initials="G." surname="Huang" fullname="Guangping Huang">
      <organization>ZTE</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>huang.guangping@zte.com.cn</email>
      </address>
    </author>
    <author initials="G." surname="Mishra" fullname="Gyan Mishra">
      <organization>Verizon Inc.</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>hayabusagsm@gmail.com</email>
      </address>
    </author>
    <author initials="C." surname="Lin" fullname="Changwang Lin">
      <organization>New H3C Technologies</organization>
      <address>
        <email>linchangwang.04414@h3c.com</email>
      </address>
    </author>
    <author initials="X." surname="Wang" fullname="Xueshun Wang">
      <organization>CICT</organization>
      <address>
        <email>xswang@fiberhome.com</email>
      </address>
    </author>
    <author initials="X." surname="Wang" fullname="Xuewei Wang">
      <organization>Ruijie Networks</organization>
      <address>
        <email>wangxuewei1@ruijie.com.cn</email>
      </address>
    </author>
    <date year="2023" month="March" day="04"/>
    <area>Routing area</area>
    <workgroup>cats</workgroup>
    <keyword>User Experience</keyword>
    <keyword>Collaborative Networking</keyword>
    <keyword>Service optimization</keyword>
    <abstract>
      <t>This document describes a framework for Computing-Aware Traffic Steering (CATS). Particularly, the document identifies a set of CATS components, describes their interactions, and exemplifies the workflow of the control plane and data plane.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>Edge computing architectures have been expanding from single edge nodes to multiple interconnected collaborating edge nodes to address issues, such as long response time reduction, suboptimal service resource utilization, and inefficient network utilization.</t>
      <t>The underlying networking architectures for edge computing usually provide relatively static service dispatching. In such architectures, the service traffic is often directed to the closest edge from a routing perspective or to the server with the most computing resources without considering the network status, and even sometimes simply based on static configurations.</t>
      <t>As described in <xref target="I-D.yao-cats-ps-usecases"/>, traffic steering that takes into account computing resource metrics would benefit several services, such as augmented reality or augmented/virtual reality (AR/VR). This document provides an architectural framework, which will enable compute- and network-aware traffic steering decisions in edge computing.</t>
      <t>The Computing-Aware Traffic Steering (CATS) framework assumes that there may be multiple service instances running on different edge nodes, globally providing one single service. A single edge may have limited computing resources (such as CPU or GPU) available, and different edges likely have different resources available. A single edge may host multiple instances of a service, or just one.</t>
      <t>The CATS framework is an ingress-based overlay framework for the selection of the suitable service instance(s) from a set of instance candidates. The exact characterization of 'suitable' will be determined by a combination of networking and computing related metrics. To that aim, the CATS framework assumes that edge nodes collaborate with each other under a single administrative domain to achieve a global objective of dispatching service demands, by taking into account both service instances status and network state (e.g., forwarding path length, cost, and congestion).</t>
      <t>Also, this document describes a workflows of the main CATS procedures 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 is connected to a service provider network.</t>
        </dd>
        <dt>Computing-Aware Traffic Steering (CATS):</dt>
        <dd>
          <t>An architecture that takes into account the dynamic nature of computing resources and network state to steer service traffic to a service instance. This dynamicity is expressed by means of relevant metrics.</t>
        </dd>
        <dt>CATS Service ID (CS-ID):</dt>
        <dd>
          <t>An identifier representing a service, which the clients use to access said service.</t>
        </dd>
        <dt>CATS Binding ID (CB-ID):</dt>
        <dd>
          <t>An identifier of a single service instance or site of a given service instance (CS-ID).</t>
        </dd>
        <dt>Service:</dt>
        <dd>
          <t>A monolithic function that is provided by a network operator according to a specification. A composite service can be built by orchestrating multiple monolithic services.</t>
        </dd>
        <dt>Service instance:</dt>
        <dd>
          <t>A run-time environment (e.g., a server or a process on a server) that makes the functionality of a service available. One service can be exposed by multiple instances running at the same or different network locations.</t>
        </dd>
        <dt>Service demand:</dt>
        <dd>
          <t>The demand for a service identified by a  CATS Service ID (CS-ID). See <xref target="cats-ids"/> for more details.</t>
        </dd>
        <dt>Service request:</dt>
        <dd>
          <t>The request for a specific service instance.</t>
        </dd>
        <dt>CATS-Router:</dt>
        <dd>
          <t>A network device (usually at the edge of the network) that makes forwarding decisions based on CATS information to steer traffic belonging to the same service demand to the same selected service instance.</t>
        </dd>
        <dt>Ingress CATS-Router:</dt>
        <dd>
          <t>A network edge router that serves as a service access point for CATS clients. It steers the service packets onto an overlay path to an Egress CATS-Router linked to the most suitable edge site to access a service instance.</t>
        </dd>
        <dt>Egress CATS-Router:</dt>
        <dd>
          <t>An egress endpoint of an overlay path and which connected a CATS-serviced site.</t>
        </dd>
        <dt>CATS Service Metric Agent (C-SMA):</dt>
        <dd>
          <t>Responsible for collecting service capabilities and status, and reporting them to a CATS Path Selector (C-PS).</t>
        </dd>
        <dt>CATS Network Metric Agent (C-NMA):</dt>
        <dd>
          <t>Responsible for collecting network capabilities and status, and reporting them to a C-PS.</t>
        </dd>
        <dt>CATS Path Selector (C-PS):</dt>
        <dd>
          <t>An entity that determines the path toward the appropriate service location and service instances to meet a service demand given the service status and network status information.</t>
        </dd>
        <dt>CATS Traffic Classifier (C-TC):</dt>
        <dd>
          <t>Responsible for determining which packets belong to a traffic flow for a particular service demand, and for steering them on the path to the service instance as determined by a C-PS.</t>
        </dd>
      </dl>
    </section>
    <section anchor="Framework-and-concepts">
      <name>Framework and Components</name>
      <section anchor="assumptions">
        <name>Assumptions</name>
        <t>CATS assumes that there are multiple service instances running on different edge sites, providing one single service which is represented by the same service identifier (see <xref target="cats-ids"/>.</t>
      </section>
      <section anchor="cats-ids">
        <name>CATS Identifiers</name>
        <t>CATS introduces the following identifiers:</t>
        <dl>
          <dt>CATS Service ID (CS-ID):</dt>
          <dd>
            <t>An identifier representing a service, which the clients use to access said service. Such an ID identifies all of the instances of the same service, no matter on where they are actually running. The CS-ID is independent of which service instance serves the service demand. Usually multiple instances provide a (logically) single service, and service demands are dispatched to the different instance by choosing one instance among all available instances.</t>
          </dd>
          <dt>CATS Binding ID (CB-ID):</dt>
          <dd>
            <t>An identifier of a single service instance or site of a given service instance (CS-ID).</t>
          </dd>
        </dl>
      </section>
      <section anchor="cats-components">
        <name>CATS Components</name>
        <t>The network takes forwarding decisions for a service demand received from a client according to both service instances status as well as network status. The main CATS functional elements and their interactions are shown in <xref target="fig-cats-fw"/>.</t>
        <figure anchor="fig-cats-fw">
          <name>CATS Functional Components</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="576" width="464" viewBox="0 0 464 576" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
                <path d="M 8,48 L 8,80" fill="none" stroke="black"/>
                <path d="M 40,88 L 40,128" fill="none" stroke="black"/>
                <path d="M 40,320 L 40,368" 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,112 L 72,208" fill="none" stroke="black"/>
                <path d="M 72,464 L 72,512" fill="none" stroke="black"/>
                <path d="M 104,376 L 104,440" fill="none" stroke="black"/>
                <path d="M 120,152 L 120,176" fill="none" stroke="black"/>
                <path d="M 152,320 L 152,368" fill="none" stroke="black"/>
                <path d="M 176,48 L 176,80" fill="none" stroke="black"/>
                <path d="M 176,336 L 176,368" fill="none" stroke="black"/>
                <path d="M 176,464 L 176,512" fill="none" stroke="black"/>
                <path d="M 184,112 L 184,208" fill="none" stroke="black"/>
                <path d="M 184,376 L 184,440" fill="none" stroke="black"/>
                <path d="M 192,448 L 192,496" fill="none" stroke="black"/>
                <path d="M 208,88 L 208,120" 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 240,336 L 240,368" fill="none" stroke="black"/>
                <path d="M 248,32 L 248,64" 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,512" fill="none" stroke="black"/>
                <path d="M 320,120 L 320,208" fill="none" stroke="black"/>
                <path d="M 336,48 L 336,80" fill="none" stroke="black"/>
                <path d="M 360,408 L 360,440" fill="none" stroke="black"/>
                <path d="M 368,240 L 368,272" fill="none" stroke="black"/>
                <path d="M 392,48 L 392,80" fill="none" stroke="black"/>
                <path d="M 408,32 L 408,64" fill="none" stroke="black"/>
                <path d="M 408,320 L 408,400" fill="none" stroke="black"/>
                <path d="M 408,464 L 408,512" fill="none" stroke="black"/>
                <path d="M 424,448 L 424,496" fill="none" stroke="black"/>
                <path d="M 432,128 L 432,208" fill="none" stroke="black"/>
                <path d="M 432,240 L 432,272" 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 352,32 L 408,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 336,48 L 392,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 336,80 L 392,80" fill="none" stroke="black"/>
                <path d="M 72,112 L 184,112" fill="none" stroke="black"/>
                <path d="M 312,112 L 416,112" fill="none" stroke="black"/>
                <path d="M 40,128 L 64,128" fill="none" stroke="black"/>
                <path d="M 192,128 L 216,128" fill="none" stroke="black"/>
                <path d="M 264,128 L 312,128" fill="none" stroke="black"/>
                <path d="M 80,144 L 176,144" fill="none" stroke="black"/>
                <path d="M 328,144 L 424,144" fill="none" stroke="black"/>
                <path d="M 232,160 L 288,160" fill="none" stroke="black"/>
                <path d="M 120,176 L 176,176" fill="none" stroke="black"/>
                <path d="M 72,208 L 184,208" fill="none" stroke="black"/>
                <path d="M 232,208 L 288,208" fill="none" stroke="black"/>
                <path d="M 320,208 L 432,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 40,320 L 152,320" fill="none" stroke="black"/>
                <path d="M 296,320 L 408,320" fill="none" stroke="black"/>
                <path d="M 176,336 L 240,336" fill="none" stroke="black"/>
                <path d="M 40,368 L 152,368" fill="none" stroke="black"/>
                <path d="M 176,368 L 240,368" fill="none" stroke="black"/>
                <path d="M 296,368 L 408,368" fill="none" stroke="black"/>
                <path d="M 296,400 L 408,400" fill="none" stroke="black"/>
                <path d="M 88,448 L 192,448" fill="none" stroke="black"/>
                <path d="M 320,448 L 424,448" fill="none" stroke="black"/>
                <path d="M 72,464 L 176,464" fill="none" stroke="black"/>
                <path d="M 304,464 L 408,464" fill="none" stroke="black"/>
                <path d="M 72,512 L 176,512" fill="none" stroke="black"/>
                <path d="M 304,512 L 408,512" 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 416,112 C 424.83064,112 432,119.16936 432,128" 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="364" y="68">client</text>
                  <text x="400" y="68">-</text>
                  <text x="368" y="100">|</text>
                  <text x="124" y="132">C-TC</text>
                  <text x="372" y="132">C-TC</text>
                  <text x="148" y="164">C-PS</text>
                  <text x="368" y="164">CATS-Router</text>
                  <text x="424" y="164">4</text>
                  <text x="36" y="180">........</text>
                  <text x="208" y="180">.....</text>
                  <text x="260" y="180">C-PS</text>
                  <text x="304" y="180">...</text>
                  <text x="448" y="180">...</text>
                  <text x="8" y="196">:</text>
                  <text x="120" y="196">CATS-Router</text>
                  <text x="176" y="196">2</text>
                  <text x="456" y="196">.</text>
                  <text x="8" y="212">:</text>
                  <text x="456" y="212">:</text>
                  <text x="8" y="228">:</text>
                  <text x="456" y="228">:</text>
                  <text x="8" y="244">:</text>
                  <text x="456" 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="456" y="260">:</text>
                  <text x="8" y="276">:</text>
                  <text x="244" y="276">Infrastructure</text>
                  <text x="456" y="276">:</text>
                  <text x="8" y="292">:</text>
                  <text x="456" y="292">:</text>
                  <text x="8" y="308">:</text>
                  <text x="456" y="308">:</text>
                  <text x="8" y="324">:</text>
                  <text x="456" y="324">:</text>
                  <text x="8" y="340">:</text>
                  <text x="88" y="340">CATS-Router</text>
                  <text x="144" y="340">1</text>
                  <text x="344" y="340">CATS-Router</text>
                  <text x="400" y="340">3</text>
                  <text x="456" y="340">:</text>
                  <text x="20" y="356">:...</text>
                  <text x="164" y="356">..</text>
                  <text x="208" y="356">C-SMA</text>
                  <text x="260" y="356">....</text>
                  <text x="288" y="356">.</text>
                  <text x="436" y="356">.....:</text>
                  <text x="352" y="388">C-SMA</text>
                  <text x="120" y="484">service</text>
                  <text x="352" y="484">service</text>
                  <text x="124" y="500">instance</text>
                  <text x="184" y="500">-</text>
                  <text x="356" y="500">instance</text>
                  <text x="416" y="500">-</text>
                  <text x="100" y="548">edge</text>
                  <text x="140" y="548">site</text>
                  <text x="168" y="548">1</text>
                  <text x="340" y="548">edge</text>
                  <text x="380" y="548">site</text>
                  <text x="408" y="548">2</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
      +-----+              +------+            +------+
    +------+|            +------+ |          +------+ |
    |client|+            |client|-+          |client|-+
    +------+             +------+            +------+
        |                    |                   |
        |   +-------------+  |            +-------------+
        +---|    C-TC     |---+     +------|    C-TC     |
            |-------------|         |      |-------------|
            |     | C-PS  |     +------+   |CATS-Router 4|
    ........|     +-------|.....| C-PS |...|             |...
    :       |CATS-Router 2|     |      |   |             |  .
    :       +-------------+     +------+   +-------------+  :
    :                                                       :
    :                                            +-------+  :
    :                         Underlay           | C-NMA |  :
    :                      Infrastructure        +-------+  :
    :                                                       :
    :                                                       :
    :   +-------------+                 +-------------+     :
    :   |CATS-Router 1|  +-------+      |CATS-Router 3|     :
    :...|             |..| C-SMA |.... .|             |.....:
        +-------------+  +-------+      +-------------+
                |         |             |    C-SMA    |
                |         |             +-------------+
                |         |                     |
                |         |                     |
              +------------+               +------------+
            +------------+ |             +------------+ |
            |  service   | |             |  service   | |
            |  instance  |-+             |  instance  |-+
            +------------+               +------------+

              edge site 1                   edge site 2
]]></artwork>
          </artset>
        </figure>
        <t>Edge sites (edges for short) are the sites that provide access to edge computing resources. A compute service (e.g., a matrix computation for face recognition or a game server) is uniquely identified by a CATS Service ID (CS-ID).</t>
        <t>Service instances can be instantiated and access through different edge sites so that a single service can have a significant number of instances running at different places in the network.</t>
        <t><xref target="fig-cats-fw"/> shows two edge nodes (CATS-Router 1 and CATS-Router 3) that provide access to service instances. These nodes behaves as Egress CATS-Routers.</t>
        <t>The CATS Service Metric Agent (C-SMA) is a functional component that gathers information about edge sites and server resources, as well as the status of the different service instances. The C-SMAs are located adjacent to the service instances in or next to the Egress CATS-Routers. <xref target="fig-cats-fw"/> shows one C-SMA collocated with CATS-Router 3, and another C-SMA adjacent to CATS-Router 1.</t>
        <t>The CATS Network Metric Agent (C-NMA) is a functional component that gathers information about the state of the network. The C-NMAs may be implemented as separate components or may form part of existing components such as CATS-Routers or CATS Path Selectors(C-PS). <xref target="fig-cats-fw"/> shows a single C-NMA located independently within the underlay network. There may be one or more C-NMAs for an underlay network.</t>
        <t>The C-SMAs and C-NMAs share the collected information with CATS Path Selectors (C-PSes) that use the information to select the Egress CATS-Routers (and potentially the service instances) to which to forward traffic for a service demand. They also determine the best paths (possibly tunnels) to use to forward the traffic depending on the network behavior required for the service and the current network state. The information is presented as one or more metrics and associate with the CS-ID and possible CB-ID.</t>
        <t>There may be one or more C-PSes in the network. They can be integrated into the Ingress CATS-Routers (as with CATS-Router 2 in <xref target="fig-cats-fw"/>) or they may be separate components that communicate with the Ingress CATS-Routers (as with CATS-Router 4 in <xref target="fig-cats-fw"/>).</t>
        <t>Last, CATS Traffic Classifier (C-TC) is a functional component that is responsible for selecting incoming packets that belong to the same service demand and ensuring that they are steered onto the same path toward the same service instance as instructed by a C-PS component. There is a C-TC in each Ingress CATS Router.</t>
        <t>The Egress CATS-Routers are the egress endpoints of overlay paths. A site supporting service instances may be linked to one or more Egress CATS routers (that is, dual-homing is supported). If the C-PS has selected a specific service instance and the C-TC has marked the traffic with the CB-ID, the Egress CATS-Router simply forwards the traffic to the correct service instance. In some cases, the choice of service instance may be left open to the Egress CATS-Router (the traffic is marked only with the CS-ID) and in this case the Egress CATS-Router selects an appropriate service instance (using local knowledge of capabilities and current load), but must be sure to deliver all packets from the same service demand to the same service instance.</t>
        <t>Note that, depending on deployment and service requirements, per-instance computing-related metrics or aggregated per-site computing-related metrics can be used by the C-PS. Using aggregated per-site computing-related metrics offers a more scalable choice, but relies on the Egress CATS-Router to consistently select a service instance.</t>
        <t>In <xref target="fig-cats-fw"/>, the "underlay infrastructure" indicates the general IP/MPLS infrastructure that is not aware of CATS. The CATS routes will be distributed among the overlay CATS-Routers assisted by the C-PS, and will not affect the underlay nodes. An implementation may use a control plane or management plane solution to distribute the server metrics, network metrics, and underlay routes - this document does not define a specific solution.</t>
      </section>
      <section anchor="deployment-considerations">
        <name>Deployment Considerations</name>
        <t>This document does not make an assumption about how the various CATS functional elements are implemented. Whether a CATS deployment follows a fully distributed or collocate or combine many of the functional components is deployment specific. One possibility is a centralized implementation where the computing-related metrics from the C-SMAs are collected by a centralized controller/PCE that also collects the network metrics, and which acts on service requests to produce paths and service instance selections that it programs into the relevant C-TCs.</t>
      </section>
    </section>
    <section anchor="cats-framework-workflow">
      <name>CATS Framework Workflow</name>
      <t>The following subsections provide an overview of how the CATS workflow operates in a distributed functional architecture.</t>
      <section anchor="service-announcement">
        <name>Service Announcement</name>
        <t>A service is associated 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-ID to network identifier may be learned through a name resolution service such as DNS.</t>
      </section>
      <section anchor="metrics-distribution">
        <name>Metrics Distribution</name>
        <t>As described above, a C-SMA collects both service-related capabilities and metrics, and associates them with a CS-ID that identifies the service. It may aggregate the metrics for multiple service instances, or maintain them separately. The C-SMA then sends (advertises) the CS-ID along with the metrics to be received by all C-PSs in the network. The service-related metrics include computing-related metrics and potentially other service metrics, if needed.</t>
        <t>Computing metrics may change very frequently (see <xref target="I-D.yao-cats-ps-usecases"/> for a discussion). When and how frequently such information is distributed is to be determined as part of the specification of any distribution protocol. A spectrum of approaches can be considered, such as interval-based updates, threshold-triggered updates, policy-based updates, etc.</t>
        <t>Additionally, the C-NMA collects network-related capabilities and metrics. These may be collected and distributed by existing network routing protocols, although enhancements may be needed to distribute additional information not previously available (such as link latency). The C-NMA distributes the network metrics to the C-PSes so that they can use the combination of service metrics and network metrics to determine the best Egress CATS-Router to provide access to a service instance to provide the compute function needed by a service demand.</t>
        <t>Network metrics may also change very frequently. Routing protocols may apply elements of thresholding and policy to prevent the network being flooded with state change information. The C-NMA should apply similar processes to those used in the C-SMA to determine when and how often to distribute updates to the C-PSes.</t>
        <t><xref target="fig-cats-example-overlay"/> shows an example to illustrate how CATS metrics can be distributed. There is a client attached to the netowrk via CATS-Router 1. There are three instances of the service with CS-ID 1: two are at Edge Site 2 attached via CATS-Router 2 and have CB-IDs 1 and 2; the third is at Edge Site 3 attached via CATS-Router 3 and with CB-ID 3. There is also a second service with CS-ID 2 with only one instance located at Edge Site 2.</t>
        <t>In this example, the C-SMA collocated with CATS-Router 2 distributes the service metrics for both service instances. Note that these could be aggregated into a single advertisement, but in this case the metrics for each instance are advertised. Similarly, the C-SMA at Edge Site 2 advertises the service metrics for the two services offered at Edge Site 2.</t>
        <t>The service metric advertisements are consumed by the C-PS at CATS-Router 1 that provides access for the client. The C-PS also consumes network metric advertisements from the C-NMA. All of the metrics are used by the C-PS to determine the best Egress CATS-Router to which to send traffic (and on what path) for the client's service demand given the service that is requested (CS-ID 1 or CS-ID 2), the state of the service instances reported by the metrics, and the state of the network.</t>
        <figure anchor="fig-cats-example-overlay">
          <name>Example CATS Metric Distribution</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="576" width="544" viewBox="0 0 544 576" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
                <path d="M 8,208 L 8,240" fill="none" stroke="black"/>
                <path d="M 8,288 L 8,320" fill="none" stroke="black"/>
                <path d="M 48,248 L 48,280" fill="none" stroke="black"/>
                <path d="M 80,208 L 80,240" fill="none" stroke="black"/>
                <path d="M 168,288 L 168,320" fill="none" stroke="black"/>
                <path d="M 224,224 L 224,248" fill="none" stroke="black"/>
                <path d="M 224,264 L 224,368" fill="none" stroke="black"/>
                <path d="M 240,240 L 240,272" fill="none" stroke="black"/>
                <path d="M 240,400 L 240,432" fill="none" stroke="black"/>
                <path d="M 272,128 L 272,192" fill="none" stroke="black"/>
                <path d="M 304,240 L 304,272" fill="none" stroke="black"/>
                <path d="M 352,400 L 352,432" fill="none" stroke="black"/>
                <path d="M 376,400 L 376,432" fill="none" stroke="black"/>
                <path d="M 384,128 L 384,192" fill="none" stroke="black"/>
                <path d="M 408,224 L 408,368" fill="none" stroke="black"/>
                <path d="M 424,112 L 424,176" fill="none" stroke="black"/>
                <path d="M 424,368 L 424,392" fill="none" stroke="black"/>
                <path d="M 424,440 L 424,464" fill="none" stroke="black"/>
                <path d="M 440,400 L 440,432" fill="none" stroke="black"/>
                <path d="M 448,80 L 448,128" fill="none" stroke="black"/>
                <path d="M 448,160 L 448,208" fill="none" stroke="black"/>
                <path d="M 456,336 L 456,384" fill="none" stroke="black"/>
                <path d="M 456,448 L 456,480" fill="none" stroke="black"/>
                <path d="M 512,80 L 512,128" fill="none" stroke="black"/>
                <path d="M 512,160 L 512,208" fill="none" stroke="black"/>
                <path d="M 520,336 L 520,384" fill="none" stroke="black"/>
                <path d="M 520,448 L 520,480" fill="none" stroke="black"/>
                <path d="M 144,64 L 320,64" fill="none" stroke="black"/>
                <path d="M 448,80 L 512,80" fill="none" stroke="black"/>
                <path d="M 424,112 L 440,112" fill="none" stroke="black"/>
                <path d="M 272,128 L 384,128" fill="none" stroke="black"/>
                <path d="M 448,128 L 512,128" fill="none" stroke="black"/>
                <path d="M 392,144 L 416,144" fill="none" stroke="black"/>
                <path d="M 272,160 L 384,160" fill="none" stroke="black"/>
                <path d="M 448,160 L 512,160" fill="none" stroke="black"/>
                <path d="M 424,176 L 440,176" fill="none" stroke="black"/>
                <path d="M 272,192 L 384,192" fill="none" stroke="black"/>
                <path d="M 8,208 L 80,208" fill="none" stroke="black"/>
                <path d="M 448,208 L 512,208" fill="none" stroke="black"/>
                <path d="M 224,224 L 408,224" fill="none" stroke="black"/>
                <path d="M 8,240 L 80,240" fill="none" stroke="black"/>
                <path d="M 240,240 L 304,240" fill="none" stroke="black"/>
                <path d="M 160,256 L 232,256" fill="none" stroke="black"/>
                <path d="M 240,272 L 304,272" fill="none" stroke="black"/>
                <path d="M 8,288 L 168,288" fill="none" stroke="black"/>
                <path d="M 176,304 L 216,304" fill="none" stroke="black"/>
                <path d="M 8,320 L 168,320" fill="none" stroke="black"/>
                <path d="M 456,336 L 520,336" fill="none" stroke="black"/>
                <path d="M 224,368 L 408,368" fill="none" stroke="black"/>
                <path d="M 424,368 L 448,368" fill="none" stroke="black"/>
                <path d="M 456,384 L 520,384" fill="none" stroke="black"/>
                <path d="M 240,400 L 352,400" fill="none" stroke="black"/>
                <path d="M 376,400 L 440,400" fill="none" stroke="black"/>
                <path d="M 240,432 L 352,432" fill="none" stroke="black"/>
                <path d="M 376,432 L 440,432" fill="none" stroke="black"/>
                <path d="M 456,448 L 520,448" fill="none" stroke="black"/>
                <path d="M 424,464 L 448,464" fill="none" stroke="black"/>
                <path d="M 456,480 L 520,480" fill="none" stroke="black"/>
                <path d="M 144,496 L 392,496" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="168,256 156,250.4 156,261.6" fill="black" transform="rotate(180,160,256)"/>
                <polygon class="arrowhead" points="152,496 140,490.4 140,501.6" fill="black" transform="rotate(180,144,496)"/>
                <polygon class="arrowhead" points="152,64 140,58.4 140,69.6" fill="black" transform="rotate(180,144,64)"/>
                <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="244" y="36">instance</text>
                  <text x="304" y="36">CB-ID</text>
                  <text x="336" y="36">1</text>
                  <text x="384" y="36">&lt;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="244" y="52">instance</text>
                  <text x="304" y="52">CB-ID</text>
                  <text x="336" y="52">2</text>
                  <text x="384" y="52">&lt;metrics&gt;</text>
                  <text x="136" y="68">:</text>
                  <text x="328" y="68">:</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="472" y="100">CS-ID</text>
                  <text x="504" y="100">1</text>
                  <text x="136" y="116">:</text>
                  <text x="328" y="116">:</text>
                  <text x="472" y="116">CB-ID</text>
                  <text x="504" y="116">1</text>
                  <text x="136" y="132">:</text>
                  <text x="136" y="148">:</text>
                  <text x="328" y="148">C-SMA</text>
                  <text x="468" y="148">Edge</text>
                  <text x="508" y="148">Site</text>
                  <text x="536" y="148">2</text>
                  <text x="136" y="164">:</text>
                  <text x="136" y="180">:</text>
                  <text x="320" y="180">CATS-Router</text>
                  <text x="376" y="180">2</text>
                  <text x="472" y="180">CS-ID</text>
                  <text x="504" y="180">1</text>
                  <text x="136" y="196">:</text>
                  <text x="472" y="196">CB-ID</text>
                  <text x="504" y="196">2</text>
                  <text x="136" y="212">:</text>
                  <text x="336" y="212">|</text>
                  <text x="44" y="228">Client</text>
                  <text x="136" y="228">:</text>
                  <text x="184" y="228">Network</text>
                  <text x="136" y="244">:</text>
                  <text x="184" y="244">metrics</text>
                  <text x="136" y="260">:</text>
                  <text x="152" y="260">:</text>
                  <text x="272" y="260">C-NMA</text>
                  <text x="136" y="276">:</text>
                  <text x="152" y="276">:</text>
                  <text x="56" y="308">CATS-Router</text>
                  <text x="132" y="308">1|C-PS</text>
                  <text x="316" y="324">Underlay</text>
                  <text x="136" y="340">:</text>
                  <text x="324" y="340">Infrastructure</text>
                  <text x="136" y="356">:</text>
                  <text x="480" y="356">CS-ID</text>
                  <text x="512" y="356">1</text>
                  <text x="136" y="372">:</text>
                  <text x="480" y="372">CB-ID</text>
                  <text x="512" y="372">3</text>
                  <text x="136" y="388">:</text>
                  <text x="304" y="388">|</text>
                  <text x="136" y="404">:</text>
                  <text x="136" y="420">:</text>
                  <text x="288" y="420">CATS-Router</text>
                  <text x="344" y="420">3</text>
                  <text x="364" y="420">--</text>
                  <text x="408" y="420">C-SMA</text>
                  <text x="468" y="420">Edge</text>
                  <text x="508" y="420">Site</text>
                  <text x="536" y="420">3</text>
                  <text x="136" y="436">:</text>
                  <text x="136" y="452">:</text>
                  <text x="400" y="452">:</text>
                  <text x="136" y="468">:</text>
                  <text x="400" y="468">:</text>
                  <text x="480" y="468">CS-ID</text>
                  <text x="512" y="468">2</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="104" y="516">Service</text>
                  <text x="160" y="516">CS-ID</text>
                  <text x="196" y="516">1,</text>
                  <text x="244" y="516">instance</text>
                  <text x="304" y="516">CB-ID</text>
                  <text x="336" y="516">3</text>
                  <text x="384" y="516">&lt;metrics&gt;</text>
                  <text x="104" y="532">Service</text>
                  <text x="160" y="532">CS-ID</text>
                  <text x="196" y="532">2,</text>
                  <text x="248" y="532">&lt;metrics&gt;</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
            Service CS-ID 1, instance CB-ID 1 <metrics>
            Service CS-ID 1, instance CB-ID 2 <metrics>
                   :<----------------------:
                   :                       :              +-------+
                   :                       :              |CS-ID 1|
                   :                       :           +--|CB-ID 1|
                   :                +-------------+    |  +-------+
                   :                |    C-SMA    |----|   Edge Site 2
                   :                +-------------+    |  +-------+
                   :                |CATS-Router 2|    +--|CS-ID 1|
                   :                +-------------+       |CB-ID 2|
   +--------+      :                        |             +-------+
   | Client |      :  Network +----------------------+
   +--------+      :  metrics | +-------+            |
        |          : :<---------| C-NMA |            |
        |          : :        | +-------+            |
   +-------------------+      |                      |
   |CATS-Router 1|C-PS |------|                      |
   +-------------------+      |       Underlay       |
                   :          |     Infrastructure   |     +-------+
                   :          |                      |     |CS-ID 1|
                   :          +----------------------+ +---|CB-ID 3|
                   :                    |              |   +-------+
                   :            +-------------+  +-------+
                   :            |CATS-Router 3|--| C-SMA | Edge Site 3
                   :            +-------------+  +-------+
                   :                                :  |   +-------+
                   :                                :  +---|CS-ID 2|
                   :                                :      +-------+
                   :<-------------------------------:
            Service CS-ID 1, instance CB-ID 3 <metrics>
            Service CS-ID 2, <metrics>

]]></artwork>
          </artset>
        </figure>
        <t>The above example mainly describes a per-instance computing-related metrics distribution. In the case of distributing aggregated per-site computing-related metrics, the per-instance CB-ID will not be included in the distribution. Instead, a per-site CB-ID may be used in the case of multiple sites are attached to the Egress CATS router to indicate from which site the aggregated metrics come.</t>
        <t>However, CB-ID is not needed in the distribution (in above example) if the edge site can support consistently service instance selection. For easy deployment, aggregated per-site computing-related metrics distribution is recommeded.</t>
      </section>
      <section anchor="service-demand-handling">
        <name>Service Demand Handling</name>
        <t>The C-PS determines the best choice of Egress CATS-Router and path to that router given the service and network metrics distributed as described in the previous section. The C-PS may be collocated with the Ingress CATS-Router (as shown in <xref target="fig-cats-example-overlay"/>) or the selection function may be offloaded to a dedicated server.</t>
        <t>This document does not describe any algorithms for path selection, but it is expected that a service demand or local policy may give directions to the C-PS in terms of "objective functions" that describe the desired behavior from the network and the chosen service instance.</t>
        <t>In the example in <xref target="fig-cats-example-overlay"/>, when the client sends a service demand to CATS-Router 1, the router consults the C-PS to select a service instance at a remote edge site accessed through a particular Egress CATS-Router. The C-PS also determines a path to the Egress CATS-Router. This information is provided to the Ingress CATS-Router (CATS-Router 1) so that it can correctly encapsulate and route packets.</t>
        <t>A service transaction consists of one or more service packets sent by the client to its Ingress CATS-Router. The Ingress CATS-Router classifies the packets using the C-TC functionality, and forwards the packets to the chosen Egress CATS-Router using an overlay path with appropriate encapsulation. When the packets reach the Egress CATS-Router, the outer header of the overlay encapsulation is removed and the inner packets are sent to the service instance.</t>
      </section>
      <section anchor="instance-affinity">
        <name>Instance Affinity</name>
        <t>Instance affinity is a key feature of CATS. It means that packets from the same 'flow' for a service should always be sent to the same Egress CATS-Router to be processed by the same service instance. Furthermore, in the general case, packets from the same service flow should be sent on the same path to avoid them becoming mis-ordered and to prevent the introduction of unpredictable latency variations.</t>
        <t>The affinity is determined at the time of newly formulated service demand.</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 value (source and destination addresses, source and destination ports, and next protocol type). However, for instance, an RTP video streaming may use different port numbers for video and audio, and so affinity may be identified as the combination of two 5-tuple flow identifiers so that both flows are sent to the same service instance.</t>
        <t>Hence, when specifying a protocol solution for service instance affinity, a certain level of flexibility in identifying flows should be provided. Or, from a more general perspective, there should be a flexible mechanism to specify and identify the set of packets that are subject to a service instance affinity.</t>
        <t>More importantly, the means for identifying a flow for the purpose of ensuring instance affinity must be application-independent to avoid the need for service-specific instance affinity methods.</t>
        <t>Specifically, Instance affinity information should be configurable on a per-service basis. For each service, the information can include the flow/packets identification type and means, affinity timeout value, and etc.</t>
        <t>This document does not define the specific mechanisms for defining or applying service instance affinity.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TBD</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document makes no requests for IANA action.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>Informative References</name>
      <reference anchor="I-D.yao-cats-ps-usecases" target="https://datatracker.ietf.org/doc/html/draft-yao-cats-ps-usecases-00" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.yao-cats-ps-usecases.xml">
        <front>
          <title>Computing-Aware Traffic Steering (CATS) Problem Statement and Use Cases</title>
          <author fullname="Kehan Yao" initials="K." surname="Yao">
            <organization>China Mobile</organization>
          </author>
          <author fullname="Philip Eardley" initials="P." surname="Eardley"/>
          <author fullname="Dirk Trossen" initials="D." surname="Trossen">
            <organization>Huawei Technologies</organization>
          </author>
          <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
            <organization>Orange</organization>
          </author>
          <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
            <organization>Telefonica</organization>
          </author>
          <author fullname="Cheng Li" initials="C." surname="Li">
            <organization>Huawei Technologies</organization>
          </author>
          <author fullname="Yizhou Li" initials="Y." surname="Li">
            <organization>Huawei Technologies</organization>
          </author>
          <author fullname="Peng Liu" initials="P." surname="Liu">
            <organization>China Mobile</organization>
          </author>
          <date day="3" month="March" year="2023"/>
          <abstract>
            <t>Many service providers have been exploring distributed computing techniques to achieve better service response time and optimized energy consumption. Such techniques rely upon the distribution of computing services and capabilities over many locations in the network, such as its edge, the metro region, virtualized central office, and other locations. In such a distributed computing environment, providing services by utilizing computing resources hosted in various computing facilities (e.g., edges) is being considered, e.g., for computationally intensive and delay sensitive services. Ideally, services should be computationally balanced using service-specific metrics instead of simply dispatching the service requests in a static way or optimizing solely connectivity metrics. For example, systematically directing end user-originated service requests to the geographically closest edge or some small computing units may lead to an unbalanced usage of computing resources, which may then degrade both the user experience and the overall service performance. We have named this kind of network with dynamic sharing of edge compute resources “Computing-Aware Networking” (CAN). This document provides the problem statement and the typical scenarios of CAN, which is to show the necessity of considering more factors when steering the traffic to the appropriate service instance based on the basic edge computing deployment to provide the service equivalency.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-yao-cats-ps-usecases-00"/>
      </reference>
    </references>
    <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, Dirk Trossen, Luigi Iannone, Yizhou Li, Jari Arkko, Mingyu Wu, Haibo Wang,
Xia Chen, Jianwei Mao, Guofeng Qian, Zhenbin Li, and Xinyue Zhang for their comments and suggestions.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <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="H." surname="Shi" fullname="Hang Shi">
        <organization>Huawei Technologies</organization>
        <address>
          <email>shihang9@huawei.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
AAA=

-->

</rfc>
