<?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.26 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-shi-cats-analysis-of-metric-distribution-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.16.0 -->
  <front>
    <title abbrev="Analysis of metric distribution">Design analysis of methods for distributing the computing metric</title>
    <seriesInfo name="Internet-Draft" value="draft-shi-cats-analysis-of-metric-distribution-00"/>
    <author initials="H." surname="Shi" fullname="Hang Shi">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>shihang9@huawei.com</email>
      </address>
    </author>
    <date year="2023" month="March" day="13"/>
    <area>Routing Area</area>
    <workgroup>CATS</workgroup>
    <abstract>
      <t>This document analyses different methods for distributing the computing metric from the service instance to the ingress router.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>Many modern computing services are deployed in a distributed way. Multiple service instances deployed in multiple sites provide equivalent function to the end user. As described in <xref target="I-D.yao-cats-ps-usecases"/>, traffic steering that takes computing resource metrics into account would improve the quality of service. Such computing metrics are defined in <xref target="I-D.du-cats-computing-modeling-description"/>. This document analysis different methods for  distributing these metrics.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <t>This document uses terms defined in <xref target="I-D.ldbc-cats-framework"/>. We list them below for clarification.</t>
      <ul spacing="normal">
        <li>Computing-Aware Traffic Steering (CATS): 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.</li>
        <li>CATS Service Metric Agent (C-SMA):Responsible for collecting service capabilities and status, and reporting them to a CATS Path Selector (C-PS).</li>
        <li>CATS Path Selector (C-PS): 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.</li>
      </ul>
    </section>
    <section anchor="requirement-of-distributing-computing-metric">
      <name>Requirement of distributing computing metric</name>
      <t>The function components of the CATS is defined in <xref target="I-D.ldbc-cats-framework"/>(see <xref target="fig-cats-fw"/>, the figure is replicated here for better understanding). C-SMA is responsible for collecting the computing metric of the service instance and distributing the metrics to the C-PS. C-PS then select the path based on the computing metric and network metric.</t>
      <figure anchor="fig-cats-fw">
        <name>CATS Functional Components</name>
        <artwork><![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>
      </figure>
    </section>
    <section anchor="option-1-centralized-c-sma-centralized-c-ps">
      <name>Option 1: Centralized C-SMA + Centralized C-PS</name>
      <t>The computing metric can be collected internally by a centralized cloud monitor of the cloud platform. Various tools such as Prometheus for this purpose. The cloud monitor can pass the metric to the network controller. Then the network controller calculate the optimal path and distribute the path to the CATS ingress router. The ingress router just need to steer the flow to the path. The network controller distributed the metric update to the C-PS using south-bound protocol.</t>
    </section>
    <section anchor="option-2-centralized-c-sma-distributed-c-ps">
      <name>Option 2: Centralized C-SMA + Distributed C-PS</name>
      <t>Similar to option 1, the network controller does not calculate the path. It just passes the computing metric received from the cloud monitor to the C-PS in the CATS ingress router. The C-PS at each CATS ingress router will calculate the best path independently.</t>
    </section>
    <section anchor="option-3-distributed-c-sma-centralized-c-ps">
      <name>Option 3: Distributed C-SMA + Centralized C-PS</name>
      <t>The C-SMA can be deployed in a distributed way. For example, C-SMA running at each site collects the computing metric of the service instance running in the site. Then it reports the metric to the network controller. The network controller calculates the best path and distribute the path to the CATS ingress router.</t>
    </section>
    <section anchor="option-4-distributed-c-sma-distributed-c-ps">
      <name>Option 4: Distributed C-SMA + Distributed C-PS</name>
      <t>Similar to option 3, each C-SMA collect the computing metric of each site. Then it needs to distribute the metric to C-PS at each ingress router. It can do so directly or through a network controller.</t>
    </section>
    <section anchor="comparison">
      <name>Comparison</name>
      <table anchor="ref-to-tab">
        <name>Comparison between different option</name>
        <thead>
          <tr>
            <th align="left"> </th>
            <th align="left">Option 1</th>
            <th align="left">Option 2</th>
            <th align="left">Option 3</th>
            <th align="left">Option 4</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">Protocol</td>
            <td align="left">None</td>
            <td align="left">Southbound</td>
            <td align="left">Southbound</td>
            <td align="left">Southbound or Eastbound</td>
          </tr>
          <tr>
            <td align="left">CATS router requirement</td>
            <td align="left">Low</td>
            <td align="left">High</td>
            <td align="left">Low</td>
            <td align="left">High</td>
          </tr>
          <tr>
            <td align="left">Network controller requirement</td>
            <td align="left">High</td>
            <td align="left">Low</td>
            <td align="left">High</td>
            <td align="left">Low</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TBD</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="I-D.yao-cats-ps-usecases">
          <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>
            <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>
        <reference anchor="I-D.du-cats-computing-modeling-description">
          <front>
            <title>Computing Information Description in Computing-Aware Traffic Steering</title>
            <author fullname="Zongpeng Du" initials="Z." surname="Du">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Yuexia Fu" initials="Y." surname="Fu">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Cheng Li" initials="C." surname="Li">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Daniel Huang" initials="D." surname="Huang">
              <organization>ZTE</organization>
            </author>
            <date day="5" month="March" year="2023"/>
            <abstract>
              <t>   This document describes the considerations and the potential
   architecture of the computing information that needs to be notified
   in the network in Computing-Aware Traffic Steering (CATS).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-du-cats-computing-modeling-description-00"/>
        </reference>
        <reference anchor="I-D.ldbc-cats-framework">
          <front>
            <title>A Framework for Computing-Aware Traffic Steering (CATS)</title>
            <author fullname="Cheng Li" initials="C." surname="Li">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Zongpeng Du" initials="Z." surname="Du">
              <organization>China Mobile</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="John Drake" initials="J." surname="Drake">
              <organization>Juniper Networks, Inc.</organization>
            </author>
            <author fullname="Daniel Huang" initials="D." surname="Huang">
              <organization>ZTE</organization>
            </author>
            <author fullname="Gyan Mishra" initials="G. S." surname="Mishra">
              <organization>Verizon Inc.</organization>
            </author>
            <date day="10" month="March" year="2023"/>
            <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 and data planes.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ldbc-cats-framework-01"/>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The author would like to thank Xia Chen, Guofeng Qian, Haibo Wang for their help.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA61Z3XLjthW+14zfAZFvduulJt71TBtN01Yr78aeWf/E8jbN
dHoBkZCEmgQYgLSirLzPkmfpk/U7AEiRIu3EO+GFRfycg3O+84Nz6CiKDgYH
g0IWqRiz4amwcqkYVzzdWGmZXrBMFCudWLbQhiXSFkbOy0KqJStWgsU6y/0I
24yMhwcDPp8bcQ9ekzYTrDbotcLWmBdiqc1mzKRaaJIj0bHiGSRJDF8UkV3J
CJtsVAkU6UXkeUVNXtHXXx8MbDnPpLUYFpscLM7f3b5n7JDx1GqII1UicoE/
qhi+YsPzyVv8QKfh+c3tewijymwuzBgyQCr8xFpZoWxpx6wwpTgYQKc3UM8I
PmY32ms9wehgsNbmbml0mY/ZdHI7OxjciQ3mkjGpxEvgR3wZkGZ4pALLsxGb
raSfWJRp6rU+4+BZz2uz5Er+wklDrJV8LSS7FfFK6VQvpbB+m8i4TMcMWK1A
/s0/Vm7jCKbx67EuVUEgT1dScRJJaZOB671wAhL2zfHBIIoixueAl8cFjW9X
sCJMU2YALziHwIxcLIShqWf5CFsYnbkVK8y9jAUhUnCFl0K7eew1wloGSAth
RjuhMpkkqaDRITuHUjopY0KHZi642rBMJ8KoxpHhCMtgNwYHSPVGJDiA8Z2g
mFjzzYhdlGkh87Qrl21RZvU2WWApN/peJoKJn0p5z1OCY1EqJ1alD7yOlWA6
YhNiZWMc63l9+vT38+h0tOHa+3luI2yMOeB9eHgFx+OLBRCzhRDG48kLVvA7
nLvTEVjp0kBej68FYxzMY2d4ttZlirMyklM4cX4qeSqLDcVl0BTOWMarjqUq
1BZStcRNSi9tvT8i3FN68drlpP3Dw4j1eY58zHM6rmNrlYIPkN2nWt2DEgdA
PAB7SuJJN/a+KhjCj1H8WTa8+Di7pXCnX3Z55d5v3n3/8fzm3Sm9z84mHz7U
L4OwY3Z29fHD6e5tRzm9urh4d3nqiTHLWlOD4cXkR6yQXMOr69vzq8vJhyEh
V7SBMM7X5+Ri8PDcCHJCbgct53g7vf7fr8cnQP2rm/fT18fH3zw8hMFfjv98
gsF6JZQ/Tat0E4YAbjPgeS64cY6epizmuSyQB7HXIlHotWIr4D8aDP70b0Lm
P2P213mcH5/8LUyQwq3JCrPWpMOsO9Mh9iD2TPUcU6PZmt9Dui3v5MfWuMK9
MdlNYiUlMECf2R7/TpN57D18YZCXKb2TM/8gWAoPJYAz2C7Va+e2ccqNRJS6
PO0cNYKTVpExWZOxb0Mgz6pAfkEXxcsxm8BAJl4hk8RFSV6xC/BWFFPcJhvc
EmCiuNuK8O3mAB8TShQkNPIG7jLyNJdA6rxWpRXi30l2VdD6wyhPYCR+zikj
A6U5kqzgyt3qRqTinvsorqM0cncgmwW2Fz7nT5aE+otpNLuYvBzfCJsjXuUc
WdRBqNMUADQSNrksn0vkKRl0Il1K673diFybKktkXg936jUvVjiamIEtjrue
vWxK1bfujEAZBao6+BNBjgGfsA72nGgKDTsmbozQMjo3kqCtpE21N7+XtHN9
QMBMiKKBdoJbG1uXuHRV6y70anasWFpW39PByw7ZDd05RjiHhjla6XM/l/vM
WN9MtKwVCJ0hSQCHj/zd4fDCCoENC7kMS2t3YdEZcknuCVYwU0pxAW6Ubpyp
56IAuqxEIWYIngQivhwx5xie5lHX6C0mgvSdUoIA7JQi1bUW7mUy/8j9paEC
EzpqZ/Q5J4/Xqv/kpon8lDPL58+ffd3F2FFEzxFrPX6yPVvNecJqtO0l2/bN
ecJtnEqYdNviXU02T9zNtU98pqCOFet5+ia3bZrAKaoP6dM26hxHC27nNLqd
ema1jIFob3lHW+3ePbszt73Le7Thr3OYMGqAtKUIim5czcpOAu0oPK3d0TbM
OU7berk+CDOefFzNNHm/rgSpf/bIcWybvAN2W/LO8rhN/tznS8iPnnH6R0oe
Kd80pgjLS2SQ7W+RnyskMaSF0t+3X3D6088fR95ntObTt94gb7nM8balI9tf
f7Ntkfd55DbkaOe7rMdjR6NxO05bwu2d/miA1xx73uqRl4R1ovspwi8+sZ79
A0haQuyb9OgJAfcIn1DtqJPyWH070qADZ2uxQ1pfqGy7J/D+4pMCP63pPkwi
Wfr2mh2z7rNbfR2u209jdtioRJj7nPXt0JU070PJw1NXlfuiZ/iwayivXLfK
jsdsiiWD3vgX3PrexY725q5nVY/ZKQdirqihC/WKK6AQWTgWjRmKZs7iBqc4
1WXCMo3GFTVOqGH8ZJ7yggq9Efsn+gpdUrWiU7Rt1KGjfbs2mppmUfqm2TWW
eWlybV3pLvZ4k1g5t7ZR/1TlT1W8xJo+pUBs4xioRxbBKo3L1HUU2KABWwZQ
XaXUqrZEs2xu1JbtrzpO1vYc+2+J9koJAFT3LK6ipFYrsCK2nrZHwuYnnYa+
ZZ6EPqiq+tD/uWYDx66iOTqshL7jFBrWG7W84nW/V5w2Dqq8YiYziVaQjtHB
pV49BmWi0RUoXexh6pU7LzwQZLbQg3S8zYhYoHdIdh/T2mZv6irV00Zwm9D3
CA4P69nF1tJ9Q2hKOhdOQJi48V013Yz2gurNeA+qp4PKr4dI+o2vde+hpfiZ
Z3kqXgVCUypFGFW6uBwRAvIRHB9rHypWATviFIJDFqH9fEZIPRlNdg/QL4il
FuYn/Zj/Ppd98yq4gbeEx+5R6GqUd9hQ9LoGa0+FHU4td9v3x/PCmT9B+BML
uDm8irk8hy1LoNOHcfVlMMuRMq3/HrylG6rK7bvX17vXN7vXE7r5QvFfVyo9
Q9pFGdhlCpBf4jrBz4zyiE8jjw+gxDtUnmGFGDlThhgzjV5+yz4g4W3ZmYTC
7QGRXXadqU3dQ+cH/qY0YhEVOir4vL4oa+SoP18LmHL3idZ7hr8xD9lMxKWh
TyVT6tJRh/Pdp9e3p+HT/ORy0rfe+gK34pQB/V7ubmjb+NI/5/GdZzaJ75Re
p7j0icySCv5fNSL5drjgqRVeNAoz/7+W8Mk7lXch53N1x/4lOZu676PflXoh
4MbfS47RGZdzzX6gf7z461RIw1YizUeD/wMgbJOVHBsAAA==

-->

</rfc>
