<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.19 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ysl-cats-metric-definition-01" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.2 -->
  <front>
    <title abbrev="CATS Metric">CATS metric Definition</title>
    <seriesInfo name="Internet-Draft" value="draft-ysl-cats-metric-definition-01"/>
    <author initials="Y." surname="Kehan" fullname="Kehan Yao">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>yaokehan@chinamobile.com</email>
      </address>
    </author>
    <author initials="H." surname="Shi" fullname="Hang Shi" role="editor">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>shihang9@huawei.com</email>
      </address>
    </author>
    <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>
    <date year="2024" month="October" day="21"/>
    <area>Routing</area>
    <workgroup>Computing-Aware Traffic Steering</workgroup>
    <keyword>CATS, metric</keyword>
    <abstract>
      <?line 59?>

<t>This document defines the computing metrics used in Computing-Aware Traffic Steering.</t>
    </abstract>
  </front>
  <middle>
    <?line 63?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Many modern computing services are deployed in a distributed way. In this deployment mode, multiple service instances are deployed in multiple sites to provide equivalent function to end users. In order to provide better service to end users, a framework called CATS (Computing-Aware Traffic Steering) <xref target="I-D.ietf-cats-framework"/> is proposed.</t>
      <t>CATS (Computing-Aware Traffic Steering) <xref target="I-D.ietf-cats-framework"/> is a traffic engineering approach that takes into account the dynamic nature of computing resources and network state to optimize service-specific traffic forwarding towards a given service contact instance. Various relevant metrics may be used to enforce such computing-aware traffic steering policies.</t>
      <t>To effectively steer traffic to the appropriate service instance, network devices need a model of the service instance's computing status. A common definition of computing metrics is essential for effective coordination between network devices and computing systems. Without standardized computing metrics, devices on the network may interpret and respond to traffic conditions and computing load differently, leading to inefficiencies and potential conflicts. A standardized metric allows both network devices and computing systems to evaluate load consistently, enabling precise traffic steering decisions that optimize resource utilization and improve overall system performance.</t>
      <t>Various considerations for metric definition are proposed in <xref target="I-D.du-cats-computing-modeling-description"/>, which are useful in defining computing metrics.</t>
      <t>Based on the considerations defined in <xref target="I-D.du-cats-computing-modeling-description"/>, this document defines relevant computing metrics for CATS by categorizing the metrics into three levels based on their complexity and richness.</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.ietf-cats-framework"/>. We list them below for clarification.</t>
      <ul spacing="normal">
        <li>
          <t>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.</t>
        </li>
        <li>
          <t>Service: An offering that is made available by a provider by orchestrating a set of resources (networking, compute, storage, etc.).</t>
        </li>
        <li>
          <t>Service instance: An instance of running resources according to a given service logic.</t>
        </li>
      </ul>
    </section>
    <section anchor="definition-of-metrics">
      <name>Definition of Metrics</name>
      <t>Many metrics are being discussed and/or defined in routing and computing area. Definition and usage of specific metrics are highly related to the use case, especially in IT use cases. However, when considering distributing compute metrics to network devices, appropriate categorizing and abstraction is required in order to not introduce extra complexity into the network.</t>
      <t>Based on the abstraction level of metrics, this document defines three levels of metric to meet different requirements of different use cases:</t>
      <ul spacing="normal">
        <li>
          <t>Level 0(L0): Raw Metrics. In this level, the metrics are not abstracted, so different metrics use their own unit and format.</t>
        </li>
        <li>
          <t>Level 1(L1): Normalized Metrics in Categories. In this level, the metrics are categorized into multiple dimensions, such as network, computing and storage. Each category metric is normalized into a value.</t>
        </li>
        <li>
          <t>Level 2(L2): Fully Normalized Metric. In this level, metrics are normalized into a single value, the category information or raw metrics information cannot be interpreted from the value directly.</t>
        </li>
      </ul>
      <section anchor="level-0-raw-metrics">
        <name>Level 0: Raw Metrics</name>
        <t>The metrics without any abstraction are Level 0 metrics. Therefore, Level 0 metrics encompass detailed, raw metrics, including but not limit to:</t>
        <ul spacing="normal">
          <li>
            <t>CPU: Base Frequency, Number of Cores,  Boosted Frequency, Memory Bandwidth, Memory Size, Memory Utilization Ratio, Core Utilization Ratio, Power Consumption.</t>
          </li>
          <li>
            <t>GPU: Frequency, Number of Render Unit, Memory Bandwidth, Memory Size, Memory Utilization Ratio, Core Utilization Ratio, Power Consumption.</t>
          </li>
          <li>
            <t>NPU: Computing Power, Utlization Ratio, Power Consumption.</t>
          </li>
          <li>
            <t>Network: Bandwidth, TXBytes, RXBytes, HostBusUtilization.</t>
          </li>
          <li>
            <t>Storage: Available Space, Read Speed, Write Speed.</t>
          </li>
          <li>
            <t>Delay: Time takes to process a request.</t>
          </li>
        </ul>
        <t>In L0, detailed information of a metric can be encoded into the protocol, and different service has its own metrics with different information elements. This kind of metrics are used widely in IT systems.</t>
        <t>Regarding network related raw metrics, IPPM WG has defined many types of metrics in <xref target="performance-metrics"/>. <xref target="RFC9439"/> also defines a lot of metrics of packet performance and Throughput/Bandwidth. Regarding computing metrics, <xref target="I-D.rcr-opsawg-operational-compute-metrics"/> defines a set of cloud resource metrics.</t>
      </section>
      <section anchor="level-1-normalized-metrics-in-categories">
        <name>Level 1: Normalized Metrics in Categories</name>
        <t>In Level 1, the metrics will be categorized into different categories, and appropriate abstraction will be applied to each category. The Level 0 raw metrics can be categorized into multiple categories, such as computing, networking, storage and delay. In each category, the metrics are normalized into a value that present the state of the resource, making it as a Level 1 metric. Potential categories are shown below:</t>
        <ul spacing="normal">
          <li>
            <t>Computing: A normalized value generating from the computing related L0 metrics, such as CPU/GPU/NPU L0 metrics</t>
          </li>
          <li>
            <t>Networking: A normalized value generating from the network related L0 metrics.</t>
          </li>
          <li>
            <t>Storage: A normalized value generating from the storage L0 metrics.</t>
          </li>
          <li>
            <t>Delay: A normalized value generating from computing/networking/storage metrics, reflecting the processing delay of a request.</t>
          </li>
        </ul>
        <t>Editor note: detailed categories can be updated according to the CATS WG discussion.</t>
        <t>The L0 metrics, such as the ones defined in <xref target="performance-metrics"/> ,<xref target="RFC9439"/> and <xref target="I-D.rcr-opsawg-operational-compute-metrics"/> can be categorized into above categories. Each category will use its own method(weighted summary, etc.) to generate the normalized value. In this way, the protocol only care about the metric categories and its normalized value, and avoid to process the detailed metrics.</t>
      </section>
      <section anchor="level-2-fully-normalized-metric">
        <name>Level 2: Fully Normalized Metric.</name>
        <t>L2 metric is a one-dimensional value derived from a weighted sum of L1 metrics or from L0 metrics directly. Different service has its own normalization method which might use different metrics with different weight. For the ingress CATS router, it can compare the metric value to make the traffic steering decision (e.g., larger value has higher priority) . In some cases, some implementations may support to configure the ingress CATS router to know the metric normalizing method so that it can decode the affection from the L1 or L0 metrics.</t>
        <t>This method simplifies the complexity of transmission and management of multiple metrics by consolidating them into a single, unified measure.</t>
        <t>The below figure 1 shows the logic of metrics in Level 0, level 1 and level 2.</t>
        <figure anchor="fig-cats-metric">
          <name>Logic of CATS Metrics in levels</name>
          <artwork><![CDATA[
                     +--------------+
Level 2       +------| Normalized M |-------+
              |      +--------------+       |
              |             |               |
              |             |  Normalizing  |
         +---------+    +--------+     +--------+
Level 1  | Cate M1 |    | Cate M2|     | Cate M3|  ...
         +---------+    +--------+     +--------+
               | |            |               | |
               | |            |Normalizing    | |
        +------+ +------+   +------+   +------+ +------+
Level 0 |Raw M1| |Raw M2|...|Raw M3|...|Raw M4| |Raw M5| ...
        +------+ +------+   +------+   +------+ +------+

]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="representation-of-metrics">
      <name>Representation of Metrics</name>
      <t>A hierarchical view of metrics has been shown in the section above. In this section, the detailed representation of metrics will be
   described.</t>
      <t><xref target="RFC9439"/> gives a good way to show the representation of some network metrics which is used for network capabilities exposure to
   applications. This document further describe the representation of CATS metrics.</t>
      <t>Basically, in each metric level and for each metric, there will be some common fields for representation, including metric type, unit, and precision.  Metric type is a name for network devices and protocols to recognize what the metric is. unit and precision are necessary for metric descripition.  How many bits a metric occupies in protocols is also required.</t>
      <t>Beyond these basic representations, the source of the metrics <bcp14>MUST</bcp14> also be declared.  As defined in <xref target="RFC9439"/>, there are three cost-sources, nominal, sla, and estimation.  This document further divide the estimation type into three sub-types, direct measurement, aggregation, and normalization, since different levels of metrics require different sources to acquire CATS metrics.  Directly measured metrics have physical meanings and units without any processing. Aggregation metrics can be either physically meaningful or not, and they maintain their meanings compared to the directly measured metrics.  Normalized metrics can have physical meanings or not, but they do not have units, and they are just numbers that used for routing decision making.</t>
      <t>To be more fine grained, This document refer to the definition of <xref target="RFC9439"/>  on the metrics statistics.</t>
      <section anchor="level-0-metric-representation">
        <name>Level 0 Metric Representation</name>
        <t>Raw metrics have exact physical meanings and units.  They are directly measured from the underlying computing resources providers.
   Lots of definition on this level of metrics have been defined in IT industry and other standardisations<xref target="DMTF"/>, and this document only show some examples for different categories of metrics for reference.</t>
        <section anchor="compute-raw-metrics">
          <name>Compute Raw Metrics</name>
          <ul spacing="normal">
            <li>
              <t>The metric type of compute resources are named as “compute_type:
   CPU” or “compute_type: GPU”. Their frequency unit is GHZ, the compute
   capabilities unit is FLOPS.  Format should support integer and FP8.
   It will occupy 4 octets.</t>
            </li>
            <li>
              <t>Example[TBA].</t>
            </li>
          </ul>
        </section>
        <section anchor="storage-raw-metrics">
          <name>Storage Raw Metrics</name>
          <t>The metric type of storage resources like SSD are named as
   “storage_type: SSD”. The storage space unit is megaBytes(MBs).
   Format is integer.  It will occupy 2 octets.  The unit of read or
   write speed is denoted as MB per second.</t>
          <ul spacing="normal">
            <li>
              <t>Example[TBA].</t>
            </li>
          </ul>
        </section>
        <section anchor="network-raw-metrics">
          <name>Network Raw Metrics</name>
          <t>The metric type of network resources like bandwidth are named as
   “network_type: Bandwidth”. The unit is gigabits per second(Gb/s).
   Format is integer.  It will occupy 2 octets.  The unit of TXBytes and
   RXBytes is denoted as MB per second.</t>
          <ul spacing="normal">
            <li>
              <t>Example[TBA].</t>
            </li>
          </ul>
        </section>
        <section anchor="delay-raw-metrics">
          <name>Delay Raw Metrics</name>
          <t>Delay is a kind of synthesized metric which is influenced by
   computing, storage access, and network transmission.  It is named as
   “delay_raw”. Format should support integer and FP8.  Its unit is
   microsecond.  It will occupy 4 octets.</t>
        </section>
        <section anchor="considerations-on-the-sources-of-metrics-and-the-statistics">
          <name>Considerations on the Sources of Metrics and the Statistics</name>
          <t>The sources of L0 metrics can be nominal, directly measured, or aggregated.  Nominal L0 metrics are provided initially by resource
   providers.  Dynamic L0 metrics are measured and updated during service stage.  L0 metrics also support aggregation, in case that
   there are multiple service instances.</t>
          <t>The statistics of L0 metrics will follow the definition of section 3.2 of <xref target="RFC9439"/>.</t>
        </section>
      </section>
      <section anchor="level-1-metric-representation">
        <name>Level 1 Metric Representation</name>
        <t>Normalized metrics in categories have physical meanings but they do not have unit.  They are numbers after some ways of abstraction, but they can represent their type, in case that in some use cases, some specific types of metrics require more attention.</t>
        <section anchor="normalized-compute-metrics">
          <name>Normalized Compute Metrics</name>
          <t>The metric type of normalized compute metrics is “compute_norm”,
   and its format is integer.  It has no unit.  It will occupy a octet.</t>
          <ul spacing="normal">
            <li>
              <t>Example[TBA].</t>
            </li>
          </ul>
        </section>
        <section anchor="normalized-storage-metrics">
          <name>Normalized Storage Metrics</name>
          <t>The metric type of normalized compute metrics is “storage_norm”, and its format is integer.  It has no unit.  It will occupy a octet.</t>
          <ul spacing="normal">
            <li>
              <t>Example[TBA].</t>
            </li>
          </ul>
        </section>
        <section anchor="normalized-network-metrics">
          <name>Normalized Network Metrics</name>
          <t>The metric type of normalized compute metrics is “network_norm”, and its format is integer.  It has no unit.  It will occupy a octet.</t>
          <ul spacing="normal">
            <li>
              <t>Example[TBA].</t>
            </li>
          </ul>
        </section>
        <section anchor="normalized-delay">
          <name>Normalized Delay</name>
          <t>The metric type of normalized compute metrics is “delay_norm”, and its format is integer.  It has no unit.  It will occupy a octet.</t>
          <ul spacing="normal">
            <li>
              <t>Example[TBA].</t>
            </li>
          </ul>
        </section>
        <section anchor="considerations-on-the-sources-of-metrics-and-the-statistics-1">
          <name>Considerations on the Sources of Metrics and the Statistics</name>
          <t>The sources of L1 metrics is normalized and support aggregation. Based on L0 metrics, service providers design their own algorithms to normalize metrics.  For example, assigning different cost values to each raw metric and do summation.  L1 metric do not need further statistical values.</t>
        </section>
      </section>
      <section anchor="level-2-metric-representation">
        <name>Level 2 Metric Representation</name>
        <t>The fully normalized metric is a single value which does not have any physical meaning or unit.  Each provider may have its own methods to derive the value, but all providers <bcp14>MUST</bcp14> follow the definition in this section to represent the fully normalized value.</t>
        <t>Metric type is “Norm_fi”. The format of the value is non-negative integer.  It has no unit.  It will occupy a octet.</t>
        <t>The fully normalized value also supports aggregation when there are multiple service instances providing these fully normalized values. When providing fully normalized values, service instances do not need to do further statistics.</t>
      </section>
    </section>
    <section anchor="comparison-of-three-layers-of-metric">
      <name>Comparison of three layers of metric</name>
      <t>From L0 to L1 to L2, the computing metric is consolidated. Different level of abstraction can meet the requirements from different services. Table 1 shows the comparison among metric levels.</t>
      <table anchor="ref-to-tab">
        <name>Comparison among Metrics Levels</name>
        <thead>
          <tr>
            <th align="center">Level</th>
            <th align="left">Encoding Complexity</th>
            <th align="left">Extensibility</th>
            <th align="left">Stability</th>
            <th align="left">Accuracy</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="center">Level 0</td>
            <td align="left">Complicated</td>
            <td align="left">Bad</td>
            <td align="left">Bad</td>
            <td align="left">Good</td>
          </tr>
          <tr>
            <td align="center">Level 1</td>
            <td align="left">Medium</td>
            <td align="left">Medium</td>
            <td align="left">Medium</td>
            <td align="left">Medium</td>
          </tr>
          <tr>
            <td align="center">Level 2</td>
            <td align="left">Simple</td>
            <td align="left">Good</td>
            <td align="left">Good</td>
            <td align="left">Medium</td>
          </tr>
        </tbody>
      </table>
      <t>Since Level 0 metrics are raw metrics, therefore, different services may have their own metrics, resulting in hundreds or thousands of metrics in total, this brings huge complexity in protocol encoding and standardization. Therefore, this kind of metrics are always used in customized IT systems case by case. In Level 1 metrics, metrics are categorized into several categories and each category is normalized into a value, therefore they can be encoded into the protocol and standardized. Regarding the Level 2 metrics, all the metrics are normalized into one single metric, it is easier to be encoded in protocol and standardized. Therefore, from the encoding complexity aspect, Level 2 and Level 1 metrics are suggested.</t>
      <t>Similarly, when considering extensibility, new services can define their own new L0 metrics, which requires protocol to be extended as needed. Too many metrics type can create a lot of overhead to the protocol resulting in a bad extensibility of the protocol. Level 1 introduce only several metrics categories, which is acceptable for protocol extension. Level 2 metric only need one single metric, so it brings least burden to the protocol. Therefore, from the extensibility aspect, Level 2 and Level 1 metrics are suggested.</t>
      <t>Regarding Stability, new Level 0 raw metrics may require new extension in protocol, which brings unstable format for protocol, therefore, this document does not recommend to standardize Level 0 metrics in protocol. Level 1 metrics request only few categories, and Level 2 Metric only introduce one metric to the protocol, so they are preferred from the stability aspect.</t>
      <t>In conclusion, for computing-aware traffic steering, it is recommended to use the L2 metric due to its simplicity. If advanced scheduling is needed, L1 metric can be used. L2 metrics are the most comprehensive and dynamic, therefore transferring them to network devices is discouraged due to their high overhead.</t>
      <t>Editor notes: this draft can be updated according to the discussion of metric definition in CATS WG.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TBD</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>TBD</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-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>
            <date day="17" month="October" year="2024"/>
            <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-ietf-cats-framework-04"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="performance-metrics" target="https://www.iana.org/assignments/performance-metrics/performance-metrics.xhtml">
          <front>
            <title>performance-metrics</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="DMTF" target="https://www.dmtf.org/">
          <front>
            <title>DMTF</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </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="Kehan Yao" initials="K." surname="Yao">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Cheng Li" initials="C." surname="Li">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="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="6" month="July" year="2024"/>
            <abstract>
              <t>   This document describes the considerations and requirements of the
   computing information that needs to be notified into the network in
   Computing-Aware Traffic Steering (CATS).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-du-cats-computing-modeling-description-03"/>
        </reference>
        <reference anchor="RFC9439">
          <front>
            <title>Application-Layer Traffic Optimization (ALTO) Performance Cost Metrics</title>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <author fullname="Y. Yang" initials="Y." surname="Yang"/>
            <author fullname="Y. Lee" initials="Y." surname="Lee"/>
            <author fullname="D. Dhody" initials="D." surname="Dhody"/>
            <author fullname="S. Randriamasy" initials="S." surname="Randriamasy"/>
            <author fullname="L. Contreras" initials="L." surname="Contreras"/>
            <date month="August" year="2023"/>
            <abstract>
              <t>The cost metric is a basic concept in Application-Layer Traffic
Optimization (ALTO), and different applications may use different
types of cost metrics. Since the ALTO base protocol (RFC 7285)
defines only a single cost metric (namely, the generic "routingcost"
metric), if an application wants to issue a cost map or an endpoint
cost request in order to identify a resource provider that offers
better performance metrics (e.g., lower delay or loss rate), the base
protocol does not define the cost metric to be used.</t>
              <t>This document addresses this issue by extending the specification to
provide a variety of network performance metrics, including network
delay, delay variation (a.k.a. jitter), packet loss rate, hop count,
and bandwidth.</t>
              <t>There are multiple sources (e.g., estimations based on measurements
or a Service Level Agreement) available for deriving a performance
metric. This document introduces an additional "cost-context" field
to the ALTO "cost-type" field to convey the source of a performance
metric.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9439"/>
          <seriesInfo name="DOI" value="10.17487/RFC9439"/>
        </reference>
        <reference anchor="I-D.rcr-opsawg-operational-compute-metrics">
          <front>
            <title>Joint Exposure of Network and Compute Information for Infrastructure-Aware Service Deployment</title>
            <author fullname="Sabine Randriamasy" initials="S." surname="Randriamasy">
              <organization>Nokia Bell Labs</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Jordi Ros-Giralt" initials="J." surname="Ros-Giralt">
              <organization>Qualcomm Europe, Inc.</organization>
            </author>
            <author fullname="Roland Schott" initials="R." surname="Schott">
              <organization>Deutsche Telekom</organization>
            </author>
            <date day="7" month="July" year="2024"/>
            <abstract>
              <t>   Service providers are starting to deploy computing capabilities
   across the network for hosting applications such as distributed AI
   workloads, AR/VR, vehicle networks, and IoT, among others.  In this
   network-compute environment, knowing information about the
   availability and state of the underlying communication and compute
   resources is necessary to determine both the proper deployment
   location of the applications and the most suitable servers on which
   to run them.  Further, this information is used by numerous use cases
   with different interpretations.  This document proposes an initial
   approach towards a common exposure scheme for metrics reflecting
   compute and communication capabilities.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-rcr-opsawg-operational-compute-metrics-06"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
ebfS3KSIECGkKd31tV1itdpwO3oBrlCzD9+mPGqsiLqU0yU7XmC4J8UgpyTF
1GehwQ1xnISvQUj9Idnogeq6uWnasavvI3UzS43wCZ6+lJb9CMG1rTAA6gOi
pXlchdDqV7tD6tuZTTcdc5Fg5CIr7xoJFvaaI1CYO6HgDk0cVo3Ir+ZxGDWs
R4d6eVxJcW0L7hLZl4mcC0R2NsbzuBSRLUH4vVpsWA+4oQMZtXJFwpKWIvsM
ZiKOe0KGGbXSzC8P1W5LcKmPbTMcSzt1KiFU4J7UvvEbUHDRX2hiFA/RMBGx
h49xeYA4j8LUxvgbHDWXPnk5Ux2hRyL0H13TCjtK6YYKgt3ynZsQddqk3A63
gBdLqiCSgIp5LUlORwPpQpJoY0Vrn+OOUpJ0+daGp49qAhpimJZlnnrbkXqX
LLuOCh9Mp3pHwz7vOXnWA8eAbd6HkLSjOmu5SStRfSvN9/QadriXxrVMIjrj
cn3q5e6UdXORhl/c4u8Cx1HbuQDDkhYGTxprSb6jmb/v/SHG3OYUj70V220w
gSJka7J31Z5ihKxZ5yW5YqY/cqUTlVbyQegfRF/OtyYiNGlV3Ggk4wvbTr1/
8de//Jdb8QOP+hKc09dv/vqX/yaJHb6l2jdecXlLU1bniuDWxoPmr1/8+ygq
1rBHT7yrX3h++er1DU77nGusxJ2uLEKqQ10Nyp+Il+evv+BjvGit+2PjvxHP
cNGqlgSRSX9uufrd7cnx945PrkCzxacdXPJllJ5LpUaud3NzlrCLvgZP3GrH
EyzyPAlwGiqFB2KXsFlcTH98ddJ8xtQ4unXjaZ1sUXjoKbQYMzDuRkuIYE1A
1lxdb6i6Lni+kso4fKxXJ1TSpTgM/u89LPJVsY/hUV8NS3g09fXhXZxy3zhO
hVJy4Jfn0FzPJfv4HuvHX0/3fzOzXDeDBIkAuZ7GpzKLa3VbrLJPOWTyjYFm
U1HMEc+khehTV7OSlIanGVg/+upuqOjm5PJGyTRFnElb+ql1mbKbS3w/1HLN
DP443SJQQS8JzlLntXHMeJ/aOVuUDH05f3HjBKTPL7xvg1J6F2Kz9qZfGtWH
nFMPIdOWL+DfG/i4hqOyl3ZtDMUNxJEvIEOuWzuEMN0EGSZ6e2+Bs3RDLgMg
wQOxo3Kl0KKro0lo8gfUZE4+pdjR8z0JwnTFZR/264RDHzk+PBPtyhy9Dx7w
jI9pZmj2cYdf95na55NDug1Ra9JfeciR7wh1mILgsR4Ieh4MdmI/72McOeOJ
bHKRyPCYuqjnEkVOJBwhjHcRnM1sYrbSDQMLAxKuxtbPKQ/baj7K5fhJtq2d
93PaH/HAO+AdbfTeWvbLh8MrOnG7tBDqOuJk05V5Z7sNHuXglfEMHGimtJr5
HvsVUeBd42+iwLtBT8Hvh773Wr8Jfe+bfn/02WN8GtLWwv9OKP9NjftBTElE
J4/obNvIiQjDVUkjyVnFYLSpZKDnPpGj0pQsySi1CzvWHXaKMjfqA7gonIZT
6Xs7cRZicSTutnjfhN5u38W1DVdju0Auew/keVPHPwrwWXyw2b57kuRPhw+Z
XWLhjNs01dAA23gjniRyEUZh6BcJ3tZyAj0wy+Q5nURw2ytMQFKzgb9K217M
Atvt6aeLrDmmMd/+JLhestsB6bQwaItGcbd5i0zbOMuyQVkKKkCK9MNMhxjS
yb4r3lhesIhV44qF6U59klbs5L4FHzv2JpZaO8b4Md7c8c21OJqHtqJfaRDI
fvUD60Y7tohFkc7QbAukH26nsodubKjghhLlhg41uMcsO3dNPICCuNPfh3Gy
F9UZdRN1cSg6O0trSwPfzh6dBx5tATUadeSUf2t+hyqxPHIUt3nyngi5ND0y
tppFAeu9cBpHLYDnNDNEOJ+GhhUevmupzcnpKm5hz+yluD+GeADdzX12f+Q7
FUdPwmXcvnn49j5cABdfPKGGCaFAVWYcVGhhnMhwk97ef01VcLoIULgpc6UK
3S0HjZDkYXx77y97KIe04oZ7kAMofset2wgKdSdqNRu3Zgy2+cbE6fBUvM+4
7BsTN1x/HM4Rkv4k81FtP3O4LRG99eo9QTQU0ZAi0txKJRZdVSCW55IclRkb
mPPhdFVrWlm6od1pzbHsopurdBy4b+IrL0t23tT/Isk5h2hWsn1ofEyWHPP6
32zmHYKrJat3P0lmY1v+hUtjmy3p9E2TDp5ujT00in9rNJwrSAaG3jMPGx1A
H4e/b/huwA2yA/0EWRsGpA579MmffGhgyVTK+z3fHLE1BORo2lY1E6Teh050
MqG2GM4y/jUQ5QztKCBMkAa8t0NO3XyuaCp1QkK91KWsqc2zNduuYjNDQ13r
Xo5tQ56rt70k04o4DLK+3lnKpifREU/gC1vcIOPPpBpjWykeX/aoPPFQK55v
89OB9Iu0BRWZhseZaJEUUyxJCPEu2H8wCTzqp+ptLdQJYp/t9zNvoU5CNZBV
y1aeiqC9rtktSbFS+bGw2dntkBE4bIiJ0+USsoKbri5UNSTzAalICP318iDi
KdDgVuzR75oTJGvm01FaE6iOJdpzy1HVkeN3/KKIKGZbYj0Hv0XwESO18ZZL
ZX+/GSnKlmWOUJhs0e1my+xpzID6cKhyEPTyulhA+qRoOMvLYyuuarDiqnjS
FWiCt7bnQy7/ghUvL7uGawj8e6kP/FjY25PADhs9ud8+iH44qrBTQRQt2xkY
+r0S7DJim+JOcoWvyReq6Pino9rr4ihKFvx0Hf8iPEBuRJhAokSEEK7Vgs7/
zk172jJVYpGpPEgcCUMz27+R4bqnbnJkZcjbC0+ANTM0oRR0n+Q1Gg1sjpzM
0P8d8sGRwH4UMPpJS5oMuKlByj0Rft4oxFZ0bmnCiRD85Iz/Q4Ljl8e73/H/
XDCV+dvs/wD645YrK0UAAA==

-->

</rfc>
