<?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.23 (Ruby 2.7.0) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-cats-metric-definition-01" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.25.0 -->
  <front>
    <title abbrev="CATS Metrics">CATS Metrics Definition</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-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">
      <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">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>c.l@huawei.com</email>
      </address>
    </author>
    <author initials="L. M." surname="Contreras" fullname="L. M. Contreras">
      <organization>Telefonica</organization>
      <address>
        <email>luismiguel.contrerasmurillo@telefonica.com</email>
      </address>
    </author>
    <author initials="J." surname="Ros-Giralt" fullname="Jordi Ros-Giralt">
      <organization>Qualcomm Europe, Inc.</organization>
      <address>
        <email>jros@qti.qualcomm.com</email>
      </address>
    </author>
    <date year="2025" month="February" day="05"/>
    <area>Routing</area>
    <workgroup>Computing-Aware Traffic Steering</workgroup>
    <keyword>CATS, metric</keyword>
    <abstract>
      <?line 65?>

<t>This document defines a set of computing metrics used for Computing-Aware Traffic Steering (CATS).</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-metric-definition"/>.</t>
    </note>
  </front>
  <middle>
    <?line 69?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Service providers are deploying computing capabilities across the network for hosting applications such as distributed AI workloads, AR/VR and driverless vehicles, among others. In these deployments, multiple service instances are replicated across various sites to ensure sufficient capacity for maintaining the required Quality of Experience (QoE) expected by the application.  To support the selection of these instances, a framework called Computing-Aware Traffic Steering (CATS) is introduced in <xref target="I-D.ietf-cats-framework"/>.</t>
      <t>CATS is a traffic engineering approach that optimizes the steering of traffic to a given service instance by considering the dynamic nature of computing and network resources. To achieve this, CATS components (C-PS, C-Forwarders, etc.) require performance metrics for both communication and compute resources. Since these resources are deployed by multiple providers, standardized metrics are essential to ensure interoperability and enable precise traffic steering decisions, thereby optimizing resource utilization and enhancing 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 for defining computing metrics. This document categorizes the relevant compute and network metrics for CATS into three levels based on their complexity and granularity, following the considerations outlined in <xref target="I-D.du-cats-computing-modeling-description"/>.</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 the following terms defined in <xref target="I-D.ietf-cats-framework"/>:</t>
      <ul spacing="normal">
        <li>
          <t>Computing-Aware Traffic Steering (CATS)</t>
        </li>
        <li>
          <t>Service</t>
        </li>
        <li>
          <t>Service contact instance</t>
        </li>
      </ul>
    </section>
    <section anchor="definition-of-metrics">
      <name>Definition of Metrics</name>
      <t>Introducing a definition of metrics requires balancing the following trade-off: if the metrics are too fine-grained, they become unscalable due to the excessive number of metrics that must be communicated through the metrics distribution protocol. (See <xref target="I-D.rcr-opsawg-operational-compute-metrics"/> for a discussion of metrics distribution protocols.) Conversely, if the metrics are too coarse-grained, they may lack the necessary information to make informed decisions. To ensure scalability while providing sufficient detail for effective decision-making, we propose a definition of metrics that incorporates three levels of abstraction:</t>
      <ul spacing="normal">
        <li>
          <t><strong>Level 0 (L0): Raw metrics.</strong> These metrics are presented without abstraction, with each metric using its own unit and format as defined by the underlying resource.</t>
        </li>
        <li>
          <t><strong>Level 1 (L1): Normalized metrics in categories.</strong> These metrics are derived by aggregating L0 metrics into multiple categories, such as network, computing, and storage. Each category is summarized with a single L1 metric by normalizing it into a value within a defined range of scores.</t>
        </li>
        <li>
          <t><strong>Level 2 (L2): Fully normalized metric.</strong> These metrics are derived by aggregating lower level metrics (L0 or L1) into a single L2 metric, which is then normalized into a value within a defined range of scores.</t>
        </li>
      </ul>
      <section anchor="level-0-raw-metrics">
        <name>Level 0: Raw Metrics</name>
        <t>Level 0 metrics encompass detailed, raw metrics, including but not limit to:</t>
        <ul spacing="normal">
          <li>
            <t>CPU: Base Frequency, boosted frequency, number of cores, core utilization, memory bandwidth, memory size, memory utilization, power consumption.</t>
          </li>
          <li>
            <t>GPU: Frequency, number of render units, memory bandwidth, memory size, memory utilization, core utilization, power consumption.</t>
          </li>
          <li>
            <t>NPU: Computing power, utilization, power consumption.</t>
          </li>
          <li>
            <t>Network: Bandwidth, capacity, throughput, transmit bytes, receive bytes, host bus utilization.</t>
          </li>
          <li>
            <t>Storage: Available space, read speed, write speed.</t>
          </li>
          <li>
            <t>Delay: Time taken to process a request.</t>
          </li>
        </ul>
        <t>L0 metrics can be encoded into an Application Programming Interface (API), such as a RESTful API, and can be solution-specific. Different resources can have their own metrics, each conveying unique information about their status. These metrics can generally have units, such as bits per second (bps) or floating point instructions per second (flops).</t>
        <t>Regarding network-related information, the IPPM WG has defined various types of metrics in <xref target="performance-metrics"/>. Additionally, in <xref target="RFC9439"/>, the ALTO WG has introduced an extended set of metrics related to packet performance and throughput/bandwidth. For compute metrics, <xref target="I-D.rcr-opsawg-operational-compute-metrics"/> lists 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>L1 metrics are organized into distinct categories, such as computing, networking, storage, and delay. Each L0 metric is classified into one of these categories. Within each category, a single L1 metric is computed using an <em>aggregation function</em> and normalized to a unitless score that represents the performance of the underlying resources according to that category. Potential categories include:</t>
        <!-- JRG Note: TODO, define aggregation and normalization function -->

<ul spacing="normal">
          <li>
            <t><strong>Computing:</strong> A normalized value derived from computing-related L0 metrics, such as CPU, GPU, and NPU metrics.</t>
          </li>
          <li>
            <t><strong>Networking:</strong> A normalized value derived from network-related L0 metrics.</t>
          </li>
          <li>
            <t><strong>Storage:</strong> A normalized value derived from storage-related L0 metrics.</t>
          </li>
          <li>
            <t><strong>Delay:</strong> A normalized value derived from computing, networking, and storage metrics, reflecting the end-to-end 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 those defined in <xref target="performance-metrics"/>, <xref target="RFC9439"/>, and <xref target="I-D.rcr-opsawg-operational-compute-metrics"/>, can be categorized into the aforementioned categories. Each category will employ its own aggregation function (e.g., weighted summary) to generate the normalized value. This approach allows the protocol to focus solely on the metric categories and their normalized values, thereby avoiding the need to process solution-specific detailed metrics.</t>
      </section>
      <section anchor="level-2-fully-normalized-metric">
        <name>Level 2: Fully Normalized Metric.</name>
        <t>The L2 metric is a single score value derived from the lower level metrics (L0 or L1) using an aggregation function. Different implementations may employ different aggregation functions to characterize the overall performance of the underlying compute and communication resources. The definition of the L2 metric simplifies the complexity of collecting and distributing numerous lower-level metrics by consolidating them into a single, unified score.</t>
        <t>TODO: Some implementations may support configuration of Ingress CATS-Forwarders with the metric normalizing method so that it can decode the affection from the L1 or L0 metrics.</t>
        <t>Figure 1 shows the logic of metrics in Level 0, Level 1, and Level 2.</t>
        <figure anchor="fig-metric-levels">
          <name>Logic of CATS Metrics in levels</name>
          <artwork><![CDATA[
                                       +--------+
                            L2 Metric: |   M2   |
                                       +---^----+
                                           |
                         +-----------------+---------------+
                         |                 |               |
                     +---+----+        +---+----+      +---+----+
         L1 Metrics: |  M1-1  |        |  M1-2  |      |  M1-3  | ...
                     +---^----+        +---^----+      +----^---+
                         |                 |                |
              +--------+-+-------+       +-+-------+        |
              |        |         |       |         |        |
           +--+---+ +--+---+ +---+--+ +--+---+ +---+--+  +--+---+
L0 Metrics:| M0-1 | | M0-2 | | M0-3 | | M0-4 | | M0-5 |  | M0-6 | ...
           +------+ +------+ +------+ +------+ +------+  +------+

]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="representation-of-metrics">
      <name>Representation of Metrics</name>
      <t>The representation of metrics is a key component of the CATS architecture. It defines how metrics are encoded and transmitted over the network. The representation should be flexible enough to accommodate different types of metrics and their associated units and precisions.</t>
      <t>This section includes the detailed representation of the CATS metrics. The design follows similar principles used in other similar IETF specifications, such as the network performance metrics defined in <xref target="RFC9439"/>.</t>
      <section anchor="definition-of-cats-metric">
        <name>Definition of CATS Metric</name>
        <t>A CATS metric is represented using a set of fields, each describing a property of the metric. The following fields are introduced:</t>
        <!-- JRG Note and TODO: Define each of the types, formats, etc.. Do we need to standardize them? -->
<figure anchor="fig-metric-def">
          <name>CATS Metric Definition</name>
          <artwork><![CDATA[
- cats_metric:
      - type:
            The type of the CATS metric.
            Examples: compute_cpu, storage_disk_size, network_bw,
            compute_delay, network_delay, compute_norm,
            storage_norm, network_norm, delay_norm.
      - format_std (optional):
            The standard used to encode and decode the value
            field according to the format field. This field is
            optional and only required if the value field is
            encoded using a standard, and knowing the standard
            is necessary to decode the value field.
            Example: ieee_754, ascii.
      - format:
            The encoding format of the metric.
            Examples: int, float.
      - length:
            The size of the value field measured in octets.
            Examples: 4, 8, 16, 32, 64.
      - units:
            The units of this metric.
            Examples: mhz, ghz, byte, kbyte, mbyte,
            gbyte, bps, kbps, mbps, gbps, tbps, tflops, none.
      - source (optional):
            The source of information used to obtain.
            Examples: nominal, estimation, normalization,
            aggregation.
      - level:
            The level this metric belongs to.
            Examples: L0, L1, L2.
      - value:
            The value of this metric.
            Examples: 12, 3.2.
]]></artwork>
        </figure>
        <t>Next, we describe each field in more detail:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Type (type)</strong>: This field specifies the category or kind of CATS metric being measured, such as computational resources, storage capacity, or network bandwidth. It serves as a label for network devices to recognize what the metric is.</t>
          </li>
          <li>
            <t><strong>Format standard (format_std, optional)</strong>: This optional field indicates the standard used to encode and decode the value field according to the format field. It is only required if the value field is encoded using a specific standard, and knowing this standard is necessary to decode the value field. Examples of format standards include ieee_754 and ascii. This field ensures that the value can be accurately interpreted by specifying the encoding method used.</t>
          </li>
          <li>
            <t><strong>Format (format)</strong>: This field indicates the data encoding format of the metric, such as whether the value is represented as an integer, a floating-point number, or has no specific format.</t>
          </li>
          <li>
            <t><strong>Length (length)</strong>: This field indicates the size of the value field measured in octets (bytes). It specifies how many bytes are used to store the value of the metric. Examples include 4, 8, 16, 32, and 64. The length field is important for memory allocation and data handling, ensuring that the value is stored and retrieved correctly.</t>
          </li>
          <li>
            <t><strong>Units (units):</strong> This field defines the measurement units for the metric, such as frequency, data size, or data transfer rate. It is usually associated with the metric to provide context for the value.</t>
          </li>
          <li>
            <t><strong>Source (source, optional)</strong>: This field describes the origin of the information used to obtain the metric:  </t>
            <ul spacing="normal">
              <li>
                <t>'nominal'. Similarly to <xref target="RFC9439"/>, "a 'nominal' metric indicates that the metric value is statically configured by the underlying devices.  Not all metrics have reasonable "nominal" values.  For example, throughput can have a nominal value, which indicates the configured transmission rate of the involved devices; latency typically does not have a nominal value."</t>
              </li>
              <li>
                <t>'estimation'. The 'estimation' source indicates that the metric value is computed through an estimation process.</t>
              </li>
              <li>
                <t>'directly measured'. This source indicates that the metric can be obtained directly from the underlying device. The value can be dynamic and it does not need to be estimated.</t>
              </li>
              <li>
                <t>'normalization'. The 'normalization' source indicates that the metric value was normalized. For instance, a metric could be normalized to take a value from 0 to 1, from 0 to 10, or to take a percentage value. This type of metrics do not have units.</t>
              </li>
              <li>
                <t>'aggregation'. This source indicates that the metric value was obtained by using an aggregation function.</t>
              </li>
            </ul>
            <t>
Nominal metrics have inherent physical meanings and specific units without any additional processing. Aggregated metrics may or may not have physical meanings, but they retain their significance relative to the directly measured metrics. Normalized metrics, on the other hand, might have physical meanings but lack units; they are simply numerical values used for making node and path selection decisions.</t>
          </li>
          <li>
            <t><strong>Value (value)</strong>: This field represents the actual numerical value of the metric being measured. It provides the specific data point for the metric in question.</t>
          </li>
        </ul>
      </section>
      <section anchor="level-0-metric-representation">
        <name>Level 0 Metric Representation</name>
        <t>Several definitions have been developed within the compute and communication industry and through various standardizations, such as those by the <xref target="DMTF"/>, that could be used as L0 metrics. In this section, we provide examples.</t>
        <!-- TODO: next step would be to update the examples once we agree with (and update as necessary) the above changes regarding the CATS metric specification. -->

<section anchor="compute-raw-metrics">
          <name>Compute Raw Metrics</name>
          <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. Example:</t>
          <figure anchor="fig-compute-raw-metric">
            <name>An Example for Compute Raw Metrics</name>
            <artwork><![CDATA[
Basic fields:
      Metric type: “compute type_CPU”
      Format: integer, FP8
      Bits occupation: 4 octets
Special fields:
      Frequency unit: GHZ
      Compute capabilities unit: FLOPs
Source:
      Direct measurement
Statistics:
      Mean
]]></artwork>
          </figure>
        </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. Example:</t>
          <figure anchor="fig-storage-raw-metric">
            <name>An Example for Storage Raw Metrics</name>
            <artwork><![CDATA[
Basic fields:
      Metric type: “storage type_SSD”
      Format: integer
      Unit: GB
      Bits occupation: 2 octets
Source:
      nominal
Statistics:
      cur
]]></artwork>
          </figure>
        </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. Example:</t>
          <figure anchor="fig-network-raw-metric">
            <name>An Example for Network Raw Metrics</name>
            <artwork><![CDATA[
Basic fields:
      Metric type: “network type_Bandwidth”
      Format: integer
      Unit: Gb/s
      Bits occupation: 2 octets
Source:
      nominal
Statistics:
      cur
]]></artwork>
          </figure>
        </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. Example:</t>
          <figure anchor="fig-delay-raw-metric">
            <name>An Example for Delay Raw Metrics</name>
            <artwork><![CDATA[
Basic fields:
      Metric type: “delay_raw”
      Format: integer, FP8
      Unit: Microsecond(us)
      Bits occupation: 4 octets
Source:
      aggregation
Statistics:
      max
]]></artwork>
          </figure>
        </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 an octet. Example:</t>
          <figure anchor="fig-normalized-compute-metric">
            <name>An Example for Normalized Compute Metrics</name>
            <artwork><![CDATA[
Basic fields:
      Metric type: “compute_norm”
      Format: integer
      Bits occupation: an octet
      Score: 1
Source:
      normalization
]]></artwork>
          </figure>
        </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. Example:</t>
          <figure anchor="fig-normalized-storage-metric">
            <name>An Example for Normalized Storage Metrics</name>
            <artwork><![CDATA[
Basic fields:
      Metric type: “storage_norm”
      Format: integer
      Bits occupation: an octet
      Score: 1
Source:
      normalization
]]></artwork>
          </figure>
        </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. Example:</t>
          <figure anchor="fig-normalized-network-metric">
            <name>An Example for Normalized Network Metrics</name>
            <artwork><![CDATA[
Basic fields:
      Metric type: “network_norm”
      Format: integer
      Bits occupation: an octet
      Score: 1
Source:
      normalization
]]></artwork>
          </figure>
        </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. Example:</t>
          <figure anchor="fig-normalized-metric">
            <name>An Example for Normalized Delay Metrics</name>
            <artwork><![CDATA[
Basic fields:
      Metric type: “delay_norm”
      Format: integer
      Bits occupation: an octet
      Score: 1
Source:
      normalization
]]></artwork>
          </figure>
        </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. 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>A 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 must 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. Example:</t>
        <figure anchor="fig-level-2-metric">
          <name>An Example for Fully Normalized Metric</name>
          <artwork><![CDATA[
Basic fields:
      Metric type: “norm_fi”
      Format: non-negative integer
      Bits occupation: an octet
      Score: 1
Source:
      normalization
]]></artwork>
        </figure>
        <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="comparison">
        <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="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="21" month="October" 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-08"/>
        </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>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA8U823LbyJXv/IqO/DCSTdKW7ExmmGxmZMvyKCvZjiUnO7u1
cTWBJokYQDNoQDJn5FQ+ZLdqv2U/JV+y59JXkJRkT7LjKtsg0Og+fe63xmg0
Ggzaoi3VROw8O7w4F2eqbYrMiCM1K+qiLXS9M5DTaaMueyN2Bpls1Vw3q4ko
6pkeDHKd1bKCmfJGztpRodrZCMaYUUVvjHI/5ejR/sB006owBn61qyW8dPL8
4nhQd9VUNZNBDlNPBpmujapNZyYDWP3xQDZKAhRvdNcW9XxncKWb9/NGd0sE
TVdLuj06vIJx4gJgmBWZOG+Vamj0e7WCF/KJwF0MBQM1GMiuXWhYUowGAv4U
tZmI78fiX9VC1nRn1pUl74vuie+lpvu6mcu6+EHihmDSRVFLcaanRanosapk
UU7ESur3+Nq3GQ6o6Pk40xWNyXRXt4hAejsB4buxOF8UPQC+k/Xc307X/66T
V6oQFypb1LrU80KZGAyzKACI+dffLmjcXSB4NhanfQCeLRRAcPoZAGTj8hPW
Ph2fjcUzYI1GNdL0gDgdi7WnKSwXqlQzXReZjEEou8JUxbxTJYBgX666pihL
/W3r32DwIlh+NxZvtBm9KBpZtj1QfgcMVfQfp7D8vpMlTFmJ512jl2ooTups
HIP150abb//SFuO/2JEEwWBQ66aCOS5BEAYoYP6XEEvV0O86U1a4zISmtKK8
4Tk99rzOUPIFyxq9LZu5aidi0bZLM3n48OrqalzIWo5h7EMJsjqvK1W35uGG
+TfdG39YtFU5gLmPzi6OEwjxxueClFftjEAaDEajkZBT0zYyaweDi0VhBGih
DqEUpG6UEVIY1Qo9A36zKsLKvhGdUbkAqMVt2kPsotLYG/OKVZHnIOWDe0DL
ttF5lyGpB4Nz1VwWmRLLRl8WuWpgbZgrV8tSr3CSAEAmlxI0AShDBDADDjCi
XShRqxaVGsG00IbGyuWyBL7EJYwwXbYQEnZZwKaLadfCBg5PBL5UapmboTh8
8/APb4Ssc1DDwC5NqWDuS7UoMrgaClBBMKeGxRozBvhxWeOAJOqCauzKtliW
ChDHGwI5aJGwvKFGMUCwtAX9UjaF7gC6ooUxrRaotWGk6RCLBVIDd5wV7Yq2
Boxft/AXt4fbbtRfuqKB+VBYcBBQ6/kH4Ch4FZbf/b1+vicU3Mhw0emKXorw
MhbiQsNqy6VuWnpoQJ6JKjgVb9FvApAgZg3IL6E6k2UJk96RAwRwWGGJDm8V
tfjxx1+cjI7Gwdr5qT9+BH4hk1kgF7Z2RtCgwJc8Keyh0RJI2i4k8OiyLari
B8W8YNzKuAP7LqBWijmQtV6jDaIFDSYynsNrvgI1Ba/VskVyJDKAHOLYrVFG
dw2gZox4BHgKdalghgJwRRvA13SN3AF4GL0G8/lsdKwbwBSy+VCoNhvvOTLG
6seLGpJ9CmyHU1VdbQlHUDBMKobivMB3mW7+diRNzAWeT73ADQUiIwewAI25
XxxfBDEA+AtZRvwJlFSolBsWxhWBo2o5pTlVVsDyDvWeHDneR2EcIoCNAkAs
4fCpg1YAlktrBOy0YIAzoidIJTCdMCuYs4qxBfzyBytKjpRW7klqaDciuFG0
L9j7UhvHi98gL+Ydc6In9qjSuSrxIlcma4olvv3x41BcgVpY0DSgCsGs0Tq8
QKKvnEIXqYq1HqBn2Qak7lLiA0vSmMliTmCpqIES7aJRSsBrqjRiKnEjmpRS
0dAspfrgCDNvZN2VgJ92NYRZwGxfOUbvYQscRNjtZ+FkjGodfItLZBacC1cO
zrBBK6ME+JKoc3Mjds7enl/sDPl/8fIVXb95/vu3J2+eH+H1+XeHp6f+YmBH
nH/36u3pUbgKbz57dXb2/OURvwx3RXJrsHN2+D08Qah2Xr2+OHn18vB0B/fZ
JpRBkgJ2p5bHgZlJXZsBb3bKuHn67PX//s/+E9Rhb46fHezvf/3xo/3x1f6v
nsCPK3D4eDVdlyv7EzC+GoDqUrLBWZCXQb0XrSxRt4IZWOirWqBsADbv/wdi
5j8n4jfTbLn/5Lf2Bm44uelwltwknK3fWXuZkbjh1oZlPDaT+z1Mp/Aefp/8
dniPbv7mG2Q4Mdr/6pvfDvqeCMgWy0fEtKqpjHVRbjUj4ACO7mqgcKj1Q6JL
FJAWfCRvLZDLA1ejZbBh3WDgfBoyErG2gUFOhq2mR4ktrVbr7a+RuRrp2QyC
QzLAiS5utRa48xGINCKAWQq4FaQTVFFtwCiTEs47YmN8X30AE2DA9AkOEmNw
yHpWnWmR4YOBAcyCetHdfJFA4H0n3BSoz1ZnuhyL3XNQRFZbNFkz0ksjr+Yj
Mg84VJZWeXj/FuQDlZnEGbOOYtkYqo3rGLCTpF4acFFAj23BTqYlDOjhp5Ir
UcrsvXUVER+yWQkfHKDi1DDqvbL3AAHeWpFpd34Z4ZdNHpgAb0GRcpHPlitw
0tgmqNkM/alL5SccwTowHmyIt0Fb2YXoAyZdN+CgSfIRY7UPI50TjyET8u39
+6f4TDwSu6eP9ibijbzyRuj+fTBD6BnESAMNh/YddnxVQETRtfGUQ7opFHpa
1op2BjdbgEODugr4pSUtx5gkD9vKpvU2uxrMS7mKTfw4BnQfAN0HQF/iBGXi
fYB0O0OptkCPPtslLybn80bNJZnd00fRJEha5/CE+YY+JLB2dhjMNitu0wLO
52osnuP2XdIGfVLTVZVsCFbCD0RK8BZMf7rv0AQA1XZHjC8GRILLX4Js4mto
ATy2wETPydE0QGzYbYyiA0DRAaDoGMLnMK1H1CdhBtQMqADiHz8cOAVCSAB+
zwHptnNgxziHpyB1XMcwfOq27t0TlkOZOb36dHzroIIIBugB0bMVJ5TmJnDz
EOWi7Ej0QFUASK0owZmEMEaz3n/9diKegmMkjlHrwnSgNaYagkOMXcOtoBUJ
xCH9F3uhmPKqkPJT4IqrIm8X/o4BFPgfyStLwjO6V11FHtIYQHqBIB1vWrpR
KCYkTuaz1lsHeiMELxECbxF5zPAu77GMIEI9TC4yHTpjAZMO0YDVBskwXbWI
TYgGFKo/+xODc6CXidfEBc5Z2Cbi8BJoTTbMwPQKJ5Agi0uF9L8CH1bxD3zp
SJVyNREXBRi/FrQ3qXHQqajggQkJ0aYFpov0QSZrNHbIXbln31ochqBYvG40
2I+qQgydoBc4kxhMH74+2QtaQ4LXc36Brj/cZ4Vhpza6JNM1AjizAmzCWBwV
YAYaNA0hKMPRC0nhIvrsqE09a5PCzdDakeIEtoCdJPZKTlFV86vgmbQdxRix
EsD556qmkGnFK1n2cluYohYHKw0hMayVi93p0uyhJpiVWlr+APyQ79NwriYd
D+PgDcDvG1AvDYmiVaYjiGjIj4hgJmMsTl6/PhN/fAEABVPh0iCY0Dax/SP/
bkOCDMINcZjnBbsX5A5QwAL+99dPHn+NERqudXh68cqtFSUfADHqQ4sSl7sU
V/DPGGzkI3AY4GEckyORA68/9PI5FhDT+9jNU/FTfaIS/J447VbqLg9xsbPi
kQrdT8zmWUDaM2/mgPf3E7tgk6yO9dHXAkXabrSMkUG0dKVraxiZ6XOUQWsj
vZihochKzHzOCreSrlXIKUV2XfyRjYaKrexwk00tHEQwJbshQMn73rqBVMy6
mtj0PgfQATdko5D9KatHxoidq0ZZB4gDjZjaDOwmBwZTj5lmhicvW3r8ASpe
69YmTMIurbHClPRvfjEaid+9eQGka0HfXbw6ejW0kiDivcQ7SHcnRqPfsn/g
NfkEfIDDeMNsj50TMGt0FajphTOoxUBzMJtDNFRMXbAXEePhki89I9xlzb46
CCva6Zzev8Nclu22z8Xm4FMwkfJ15PQFvDRqRhlRG6mB1hi1egT/OUPDqS1Y
mdzxyOg8B/0EaqEmMjsfJuYJay+6ZW5zwglPKU72gPoKUdKYsyib6Aa+O6Wj
o8B4o+Ic9vQkbvoTFdXQQR7SWLlLSgEPw5qq4ixQst++I31VlKVQFaYlfTyx
SZjFrhrPxxgvFfMFIord79Ue4oktXKs4tOtR3abdfLJYYpRtBd2GlTjHTGeY
g9clBJY2ieZUTkQtVv5ob/vLRAlNeak5GuRI01oS65GsOQaBKzYo9wPn8K+p
eMcFB5Fi9OqSddsGpkeIbvH+vVLdRIbYiykwv4g0tnlDDLAtJXM/aNMkVOTI
FhLjS4WMQ2C5xO7N2jfOjabJ8DgNv1C9WLpNUGUQdLRKxuY/faaUAoDSyTqZ
Np+HQMemq1SDTgrhcJTi0JYQdFnk0qmKKg2mhmh+yBoShZCGoPkn4hwzN5vw
6aoyMPGsmHcsjgjlSQ14BXZC9RAVEzgUjXg3jj/h1kLD0tZYFS2JcK7QCbZS
O7N1H88sYHiRL2Ite4yAKIjZMVNpLEvNYa3UZ7Oh3NC5KaxlLFvDNH/961+p
SHmHPw9G9s+DG98AArNsTMQ1/Dw7gH+uP2WNP92+Ru/PDdN7oP2f/p0bVrq+
9c6WlR+4dR5suxN+hxmAytZxJNSd7Y/2oxX5zoG/w78f48V4PN4Ox5/W4PhT
Dw668ZPQsIaHwCse3w/8o/6dtbev1y781fqd9O0HjNYHyQVebbrjb2FU6lB/
Lc4eAeKvBV0cuIvH7uKJu/glgkBXX67T4IHb4l0u/BXL448TcQ/0jOs5shlG
6jr4l51TJ+RJqxNIOg/b+TjAvPgb50t7VeWTOxdU5Oo/9ioD7ReWhny51Clu
Wk822QLi/gxrsWNxEjoUQAmlpUob1JOptnkIdBjQvsRtAmwmevCASuvKHN2a
GVoEzEComnPgmnyzqtLoqEUWbi1eDT4CxD46K8ivo6ibHnFplJLKttRhrNK1
4QGrVO8VrGPM4yQqLOIL2GJiqwjYTVAVpWxgOZgW0562YQPoRf0LfgC2jgnn
jLDpiR3K0FaxqTCduJrBo2QXJi2RRFwzGBzGG0DS+12GsM6FwGAvy9zlQ2wF
jgcsqfzMZjvYPEZHqKbw+8QbIf7vx2BEGjbGRxyG0XJ2YqLx0Oa3bcUeXCGN
6Xvn4EW1c7L831CEhlI1Qg/SvGPoJlZWRzTpJNE/F3apDURO1ezzDxKdBdDW
1h96ly07H5O/A5/l/TtOE1rivZteDZMZ3HsUtIRh9qd7it5D+p5bgp741/gX
vUzXY79JRtk70+ZiVy85mNhb37VDHvMo9RiQV8LJBe+gkEebvEzEXY+abCWC
ntoAgEcWJnndgRSKtL6bxtaW2Ine+LLTNJ5f7SbY03lfhwq7e5K8XpioDIVZ
mN4+LfSbCD8RhVLq3a9++QRLxllR9BG+jmEClsSBUZOKzBbuAnkZciIwLFCq
et4uNpAQGV+vI61SEstmrHnA4W/NttVgM18Nxf6XQ/H4YCi+fBLWJO25viQr
VVoTkHnzVqrFD0Mxx38wCT0U7/m/iv5L3pnzk+nS4Cj8t6J/5/Rvy/9S1hME
AAxVANMm6W5kdB4CMMeJXMf1eoqNXdu2UOuqgFlB/Zi2cOnUJDuUbiSKvWLy
gbFeh4tDmQiPYANLXc8xVtsGzyk69+DXnx6E6Yny69MzQ9yNUvtA/MdjmHOD
RwL2xrkjkT2J+63BC3mpPrRUWXXtGqzLrQzXotKNs6+2XHqBSncXVe/e/fuT
WF9Yw+giRZe2gJjofYEqY5YYsqniOIs5vp9DtbmUEKl6jR2VUTBZZA1ulFoG
fwdb1jADgW5SKYE6VFp2Y3OFnQoUWYN/oeeY3RVXGOZFwWDhkmTHrAO81t0N
anrodWJAhdeSDoU5NQiYRLfdRXXfTV3DZnHR27XxugZ2OZVtqhi9LQfvHfWv
50zyRVLE+ZSu18e0HqvkmI24dcDW8sMKNoUG+MDQHjNPccPRdGU3tAqJR6vE
bSiPKE9JainZZ+OUZODBypsNQmDdq4UidzEA3fPWkCFrgnuOZUTpC0cjLhxx
fZMYG0swtQ5U4pV9mRvtithl+3LzBu5ua8Qu1Rz3WIS8MFPQIOsVVyRdD5/1
47gukCit4Ft6bnCUT60Wkh8sl9WptCPPrUWFuRzs8OOGRCrgYjoyauck0izg
qqRsNPENUz9hHOJj3dgwp0HYFCb5QK5A/NtyZZH6lizkLhnKvQn1CHiUugCK
d0eI44YregdB3MQPUdGcYGU3Exsf8RcFXBAYCWRnJ8md6aj8GIVD/TQVJ0ix
DZWarUCBewA4iWsLBdbAsv7cpKrc1ljx8+Z0U8wLHzltt7sRQJPBgO3ZF9bo
foFttRQwlaQs0vz5jgwDvbKNODZVwxEJAYyMcOMSfBt7ZqxyHwsMVahj0MVf
VNFtgHia+253LBQ7NikNr2BVUjHTxkX6UHqWzrHgd3ybRyJxEXw2qOaOLUq7
e8xe6vKS2qYI3l8LrNEAq2BQY/eZa2WoTWPT0uMdh/Xg4XzBshTfcU7UHTDs
S4WulQ3Lvn4ml5Qfu2XzgqXHK5IvrBa/dUWryZmREAVuJp9JXaPnOPKM7Ouu
5RyFumgDslyMia4MQ6/yceDQyAN06Epv3hVjV6SgXaWBK9qu6RFVu9usS5Kk
xVXsvvBdQLTvR3gbPMToxyNSFmE0BPAZJjfmKinXuDDYJxp04BpSUH77kZd7
Z2qF3XqCgdTdXPlgjfDS8msigEW94FzQcrEyyOjIP9gEzhkfb+9Ys/oWOzA/
0vcvRJXEsTi0AER9cFgNoMMfq4CIteWG1AVF7Y6NcioNm0OKeU3pHczdUOkU
u3Gs87XG9CGvtN6PN3S1MU4ioaWC+AhrcltAIoio75J2/2uGDg0uVWFWXFOh
V1hlhXNF3CMJ27Xe5FKC0QhnU/Ioj4bG4Q9E1F2apW8QehV+mbVgkvpLp6a+
58yTMbM2yjohvoCHlo+dndRqohtChWDmn9D15uKWNFmKZ6CoCBYVryyHTZXC
DcPLemnNp7VX2wtiwP6daZtV3LESDhv5bNV6yg9ryNYI/fgjnjXjVhrsb3CC
TzSCwVFhiI9DhXSm620lo24NEJKK0m6caavRzptWLcWVmxh4kkvhtm3Zud7I
uFfYG4Gdr+Q97OK27FgZufJ7TOGpBrRleGxTob/qWpN6abU08Tnmpop79+7Z
9jiVdideRA6L1U9rx2+ItfF8I+Hn73/7L5dL8+m+Z6/f/v1v/43C3H+KLRfw
iFQ4SK13tbjDFlD74rt/H8ZUx+mS03Bu4PHpq9fnbPwpXuG0tqsmWmedGOP4
9VekSoG7qRavIRZZrsQTl6vxKSeuEDyVBh13Sqm6MP8soGQS7YluvOPd2pEM
ziREC7C6ffSUUjm4uD366SAYnCOJXPDpFz1OkDNB1NgnjnRriJkQWmBCopSb
6IjUX+wBD85RHkFqs2iLsk7yEa4fopFXI8cSnJc4rB3KosORCSNhjgJ5zLa9
pDxmEyY9NnN5gsBmZQHm8/z8KOE3fBsI4JK0TBEY5JjKz0NtlZ5bKhCPpxgI
7Z49xVY+Tyl7YA9pNV5jkQPPIj4Zx12sMgfmxkmiTk2cKVfYBkNycfY06iH8
HB5zGyEe4x1u5jF79y0zydNt3HbguS1hDuuebuAIiNgThvCNSbcxxAaqO4Zw
HbZ34Yi104fMET5ntMYXOy5Zzzj0PbyeNxw3zIu57HWF7r6YPvzJjHHxb085
2K4pD/7G/vwHM4bDCzFGvMm7sAfs8p/GIL4L7jYG2cAEXFtFDqH2tjX+4Ltc
QbVpSbOqscsy8t1C+z6EwCXqTnJ7yYaEXjgnWDJDezpMDiHGkR+THXNoqe7h
IhBskvjqbvYHp/K2C+eBGKjRjgf+kaYphu52m8RccRaA2e3M3u32KmGQKJbY
wCSV/JAwCcF3O4uscYHTIM96RznZRzy3GiIU412RWgSQ2L0xYeh6v7wvQKyF
DBTUSR+1jEOgFM1iD9yiQ4gZugLbY0tMwXklhljxx5FhkiMbD/cm8YFKcAEh
4uZEmTvZbVo6tpO8Wppwzj2iy5APGRnuBkYYqJOPl9p6mt824BmPwB7OiGW5
Cm0L+nE1/NwGMY/HB/hzvXjuDkZtiRRuOyl1UzRGEVg/oGZlzZEZp2wBYbMW
dTE2p13JVf+oWRRsIn/4EMvGnChzKWbxB03WUfO3oQII/vaR1FovhTsUTyUb
2bbcUTpmZo9w4Lysm1z1KFnR69JHNRb54jgQ9AMV0zgTY1ySvG/2bEbbIrCn
qKRNQv8EH9rBcqPxWlNFbmH7/Bx7DSdif810RSmi1FR5TPX6frdZrK2EcHop
GuH8n59EqrgNAUn10+j0+WTqwfGzkcl5n3clU48IG8jkvJCfRKa4P+TnJFMP
jp+NTM4HvCuZekTYQCbyBD6POKFd5+ckTQLFz0aYuxKEHa9/ptO1H1MpzsU/
dZ/3SA5+rH00ybYBtv48oSzRI2gXFTUH+BlD3i6tEPGXqqhK4VscMzyvabOz
WODHbopwCpfrlppPZNgPCoXzWtbPoArGrGu49dDt3yd9kzMP23yeQ/p22IbD
z8nZB5vbp1inV22qV2seEfqtlqfpYIpDJCXaOblvT6Vwyd1wp0BTXEY1YvaE
6PCCpwN9UGGz+1ekiVLu2Yicp/VtuhpoJDxOw8Kgd7PCB/FpMd/XwWpdg/KZ
c97//0flesB6Qr0JlH+WhFNX0+jgZvHecsAGpftiKzGSYMIkFSP8zMudIojo
uxEtHYjcvBSejsQpw+gt44YblojFDzlXrwuhsV/tqZayKYxrMaYvTMgVsrL3
xweDYyzknVIlD0Qc/z2IE9Lha0dcfHWnYVB/hYND3GuWBhMUQlRKsQBYt5++
qMbFw6CM7B6x65lK3vE5lCxsgj/VZoHhDnXY5+BaWC2DDfTPXQvMM38CCG7i
qWBT8Ac+rlFX2299XB9Sm062uh5cT9wpg8kDf7n9pEf889pfACyuHASwEAj2
uyv2zzXofP8j/Xn9Qmu6DrPQiY0zlRddJeI/vZvxz2t3GWahUx7ndBSpN4tb
ce1nNAvKXUQD16nXp4qzh6fh4AB/s6z/+Qf6YF78uQcSKzxbONzAEUFnt+un
6UG9oiDiZzhqsejqvFGgzKlcpzsDJqx/5rzVLaY6SFNPGwqeF908OS1WhC/T
hHYqPkCaVNdINTu4aUKXpYs3KksKsl2XfgYGRFck3icX9nNnhoNpPGkG/1PJ
zRHfbzSecu1sprEFxt6RRtX/uMmWb3tEBAiBf/9DCm18sjLFBuqBN0ktznGd
Bx+taKig2nJaDxo8RW6tvWtP4tS1AsOkGtcp4YG6CZyIMr5Vw9My/oYaJina
oQc4HGZLj9abbj5XhvozBr5jaMhGIf7CoIrVDHbSXwU+5mN5dAohcDKOiF0/
9nD8t6Tis6y4efdtAyqNqpy2qjU3vTl4yY/AxbJGURlVlJp8Bzwrs8A6Tp+c
iRRJMYUhyUac4xE+DOVw5I9ecGOnY8SQYQxfHvB5asxBL1vS8miog6zxkihY
Kf/w3GTsNvAIGGz8JAnLcgm8gh8haXL+YkgK9UauSDb6OfwQWN9bFaa803uR
riNl5tJfOMZvOmZohyy7qQ7tvkUXNdRGWEuUZ/q9O+8mY+twVeG59t6Blr5i
LuoNJI6TdrBlJsYMQI+JGx0CdT4jjYv5I24LjOky5LOrNksJHjMYgCY+2my8
sWbyoMU/IbnLys5QznLmP9KBLaqSvgbX/0qlUyceHew8dYZ9/nCQ2H5hDd1W
PlOMPdyglsG1yS8lFVhMtlB5V5LIOFEcRvGRO/+PnbxhZvstM9SDGHshwI1a
IP0vbWc1Z8YThWx7L90HTCuK93r94QV9WS0D/1nOKWnu2oBAyyyK+cKLfvrt
AjOxLIMfJ7/1mwWbvujWC4DsZw3GdGbwXIFjhVRLI2nwv58e0YeCD18ebn5G
XxSeyuz94P8AFleQEo1dAAA=

-->

</rfc>
