<?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.39 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-shi-cats-analysis-of-metric-distribution-01" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.5 -->
  <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-01"/>
    <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>
    <author initials="T." surname="Yang" fullname="Tianle Yang">
      <organization>China Broadcast Mobile Network Company</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>yangtianle@10099.com.cn</email>
      </address>
    </author>
    <date year="2023" month="August" day="10"/>
    <area>Routing</area>
    <workgroup>Computing-Aware Traffic Steering</workgroup>
    <abstract>
      <?line 36?>

<t>This document analyses different methods for distributing the computing metrics from service instances to the ingress router.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Computing-Aware Traffic Steering Working Group mailing list (cats@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/cats/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/VMatrix1900/draft-cats-method-analysis"/>.</t>
    </note>
  </front>
  <middle>
    <?line 41?>

<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>
      <?line -18?>

<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 CATS functional components are 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 metrics of the service instance and distributing the metrics to the C-PSes. A C-PS then selects a path based on the computing metrics and network metrics.</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 metrics can be collected internally with a hosting infrastructure by a centralized monitor of the hosting infrastructure. Various tools such as Prometheus for this purpose. The monitor can pass the metrics to a network controller, which behaves as a C-PS. Then, the network controller calculates the optimal path and distribute the paths to CATS ingress routers. When a service request arrives at the CATS ingress router, it just steers the request 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 metrics received from the cloud monitor to the C-PS embedded in a CATS ingress router. The C-PS at each CATS ingress router will proceed with path computation locally.</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 metrics of the service instances running in a site. Then, it reports the metrics to a network controller, which behaved as a C-PS. The network controller calculates the best path for a service and distribute the path to a 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 collects the computing metrics 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="comparaison">
      <name>Comparaison</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"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="I-D.yao-cats-ps-usecases">
          <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="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="Hang Shi" initials="H." surname="Shi">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Yizhou Li" initials="Y." surname="Li">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Shuai Zhang" initials="S." surname="Zhang">
              <organization>China Unicom</organization>
            </author>
            <date day="30" month="June" year="2023"/>
            <abstract>
              <t>   Distributed computing is a tool that service providers can use to
   achieve better service response time and optimized energy
   consumption.  In such a distributed computing environment, providing
   services by utilizing computing resources hosted in various computing
   facilities aids support of services such as computationally intensive
   and delay sensitive services.  Ideally, compute services are balanced
   across servers and network resources to enable higher throughput and
   lower response times.  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 best meet the customer's expectations and deliver the requested
   service.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-yao-cats-ps-usecases-03"/>
        </reference>
        <reference anchor="I-D.du-cats-computing-modeling-description">
          <front>
            <title>Computing Information Description in Computing-Aware Traffic Steering</title>
            <author fullname="Zongpeng Du" initials="Z." surname="Du">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Yuexia Fu" initials="Y." surname="Fu">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Cheng Li" initials="C." surname="Li">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Daniel Huang" initials="D." surname="Huang">
              <organization>ZTE</organization>
            </author>
            <author fullname="Zhihua Fu" initials="Z." surname="Fu">
              <organization>New H3C Technologies</organization>
            </author>
            <date day="4" month="July" 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-01"/>
        </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="4" month="August" 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-03"/>
        </reference>
      </references>
    </references>
    <?line 156?>

<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:
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
+t3I3chCarYWUTr0/gsvr7+Y4xsAAA==

-->

</rfc>
