<?xml version="1.0" encoding="utf-8"?>
<?xml-model href="rfc7991bis.rnc"?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>

<rfc
  xmlns:xi="http://www.w3.org/2001/XInclude"
  category="info"
  docName="draft-zhangb-cats-cmas-05"
  ipr="trust200902"
  obsoletes=""
  updates=""
  submissionType="IETF"
  xml:lang="en"
  version="3">

  <front>
    <title abbrev="CATS Public Service Platform">Public Service Platform for Computing-Aware Traffic Steering (CATS)</title>
    <!-- https://authors.ietf.org/en/rfcxml-vocabulary#title-4 -->
    <!--  The abbreviated title is required if the full title is longer than 39 characters -->

    <seriesInfo name="Internet-Draft" value="draft-zhangb-cats-cmas-05"/> <!-- https://authors.ietf.org/en/rfcxml-vocabulary#seriesinfo -->
    <!-- Set value to the name of the draft  -->

    <author fullname="Bin Zhang" initials="B." role="editor" surname="Zhang">      
      <!-- https://authors.ietf.org/en/rfcxml-vocabulary#author -->
      <!-- initials should not include an initial for the surname -->
      <!-- role="editor" is optional -->
      <!-- Can have more than one author -->

      <!-- all of the following elements are optional -->
      <organization>Pengcheng Laboratory</organization>      <!-- https://authors.ietf.org/en/rfcxml-vocabulary#organization -->
      <address>        <!-- https://authors.ietf.org/en/rfcxml-vocabulary#address -->
        <postal>
          <!-- Reorder these if your country does things differently -->
          <street>Sibilong Street</street>
          <city>Shenzhen</city>
          <code>518055</code>
          <country>China</country>
          <!-- Can use two letter country code -->
        </postal>
        <email>zhangb@pcl.ac.cn</email>
        <!-- Can have more than one <email> element -->
      </address>
    </author>

    <author fullname="Yina Dai" initials="Y." role="editor" surname="Dai">
      <!-- https://authors.ietf.org/en/rfcxml-vocabulary#author -->
      <!-- initials should not include an initial for the surname -->
      <!-- role="editor" is optional -->
      <!-- Can have more than one author -->

      <!-- all of the following elements are optional -->
      <organization>Sun Yat-sen University</organization>      <!-- https://authors.ietf.org/en/rfcxml-vocabulary#organization -->
      <address>        <!-- https://authors.ietf.org/en/rfcxml-vocabulary#address -->
        <postal>
          <!-- Reorder these if your country does things differently -->
          <street>Sun Yat-sen Street</street>
          <city>Guangzhou</city>
          <code>510080</code>
          <country>China</country>
          <!-- Can use two letter country code -->
        </postal>
        <email>daiyn5@mail2.sysu.edu.cn</email>
        <!-- Can have more than one <email> element -->
      </address>
    </author>

    <author fullname="Bowen Shen" initials="B." role="editor" surname="Shen">
      <!-- https://authors.ietf.org/en/rfcxml-vocabulary#author -->
      <!-- initials should not include an initial for the surname -->
      <!-- role="editor" is optional -->
      <!-- Can have more than one author -->

      <!-- all of the following elements are optional -->
      <organization>Harbin Institute of Technology</organization>      <!-- https://authors.ietf.org/en/rfcxml-vocabulary#organization -->
      <address>        <!-- https://authors.ietf.org/en/rfcxml-vocabulary#address -->
        <postal>
          <!-- Reorder these if your country does things differently -->
          <street>Taoyuan Street</street>
          <city>Shenzhen</city>
          <code>518055</code>
          <country>China</country>
          <!-- Can use two letter country code -->
        </postal>
        <email>shenbowen@stu.hit.edu.cn</email>
        <!-- Can have more than one <email> element -->
      </address>
    </author>

    <author fullname="Weizhe Zhang" initials="W." role="editor" surname="Zhang">
      <!-- https://authors.ietf.org/en/rfcxml-vocabulary#author -->
      <!-- initials should not include an initial for the surname -->
      <!-- role="editor" is optional -->
      <!-- Can have more than one author -->

      <!-- all of the following elements are optional -->
      <organization>Harbin Institute of Technology</organization>      <!-- https://authors.ietf.org/en/rfcxml-vocabulary#organization -->
      <address>        <!-- https://authors.ietf.org/en/rfcxml-vocabulary#address -->
        <postal>
          <!-- Reorder these if your country does things differently -->
          <street>Taoyuan Street</street>
          <city>Shenzhen</city>
          <code>518055</code>
          <country>China</country>
          <!-- Can use two letter country code -->
        </postal>
        <email>wzzhang@hit.edu.cn</email>
        <!-- Can have more than one <email> element -->
      </address>
    </author>

    <author fullname="Yanchen Qiao" initials="Y." role="editor" surname="Qiao">
      <!-- https://authors.ietf.org/en/rfcxml-vocabulary#author -->
      <!-- initials should not include an initial for the surname -->
      <!-- role="editor" is optional -->
      <!-- Can have more than one author -->

      <!-- all of the following elements are optional -->
      <organization>Pengcheng Laboratory</organization>      <!-- https://authors.ietf.org/en/rfcxml-vocabulary#organization -->
      <address>        <!-- https://authors.ietf.org/en/rfcxml-vocabulary#address -->
        <postal>
          <!-- Reorder these if your country does things differently -->
          <street>Sibilong Street</street>
          <city>Shenzhen</city>
          <code>518055</code>
          <country>China</country>
          <!-- Can use two letter country code -->
        </postal>
        <email>qiaoych@pcl.ac.cn</email>
        <!-- Can have more than one <email> element -->
      </address>
    </author>


    <date year="2026" month="June" day="30"/>

    <area>Routing</area>
    <workgroup>Computing-Aware Traffic Steering</workgroup>

    <keyword>Public Service Platform</keyword>
    <keyword>Computing Service Metrics</keyword>

    <abstract>
      <t>
      CATS applications require service discovery and traffic steering across heterogeneous computing resources. Directly exposing
      raw computing metrics from different hardware platforms can be difficult for clients, service sites, and CATS control-plane
      components to interpret consistently. This Informational document describes the purpose and functions of a public service
      platform for CATS, and identifies the CS-ID-related information fields needed by those functions. The platform maintains a
      common service catalogue, associates public service identifiers with service descriptions and deployment requirements, and
      provides the service context used by service-oriented metric mechanisms. Service-oriented metric definitions and operational
      procedures are specified in <xref target="I-D.zhangb-cats-service-metrics-op-02"/>.
      </t>
    </abstract>
 
  </front>

  <middle>
    
    <section>
      <name>Introduction</name>
      <t>
        Computing-aware traffic steering (CATS) 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 instance. As described in  <xref target="I-D.ietf-cats-framework-24"/>, the Computing-Aware Traffic Steering (CATS) framework assumes that
        there might be multiple service instances that are providing one given service, which are running in one or more service sites.  Each of these service instances can be accessed via a service contact
        instance, which is a client-facing service function instance.  A single service site may host one or multiple service contact instances.  A single service site may have limited computing  resources
        available at a given time, whereas the various service sites may experience different resource availability issues over time.  Therefore, steering traffic among different service sites can address
        the issues of lacking resources in a specific service site. Based on this, <xref target="I-D.ietf-cats-framework-24"/> provides an architectural framework that aims at facilitating the making of
        compute- and network-aware traffic steering decisions in networking environments where computing service resources are deployed.
        </t>

         <t>
        In the CATS framework, the C-SMA collects computing-related capabilities and metrics, and associates them with a CS-ID that identifies the service. The C-SMA then advertises CS-IDs along with metrics to related C-PSes
        in the network. Computing metrics are numerous and highly variable, which makes them unsuitable for direct dissemination on the network. <xref target="I-D.ietf-cats-metric-definition-10"/> proposes to use normalized metrics
        in CATS. <xref target="I-D.zhangb-cats-service-metrics-op-02"/> further defines service-oriented metrics and operational procedures for exposing actionable service capacity to CATS control-plane components. This document focuses on the public service platform that provides the catalogue and service context used by those metrics and procedures.
        </t>

         <t>
        Computing resources are inherently heterogeneous, spanning CPUs, GPUs, FPGAs, ASICs, and other accelerators, each with distinct performance characteristics. This diversity makes it difficult to define a single measurement or normalization scheme that is meaningful across all service providers and hardware types. Normalized scores can also hide service-specific information that is needed when a client requests a concrete service capability.
        </t>

         <t>
           This document describes a public service platform for CATS. A CS-ID identifies a service, but a CS-ID alone does not tell a client what function the service provides, what input data is required, or how a request should be constructed. Clients need a catalogue that explains the service associated with the identifier. Service sites and other service publishers also need a common place to publish service entries so that clients and other sites can discover, download, deploy, and use those services. The public service platform provides this catalogue and the reference service context used by service-oriented metrics. This document does not redefine the metric semantics or operational procedures specified in <xref target="I-D.zhangb-cats-service-metrics-op-02"/>.
      </t>

      <t>
        This document describes the concrete purpose and functions of the public service platform, and identifies the CS-ID-related information fields that are needed to realize those functions. It does not constrain the implementation form of the platform. For example, a deployment can realize the platform by using capability search engines, service AI agents, DNS, or other approaches. The selection of such implementation approaches, as well as the definition of any search, retrieval, artificial-intelligence agent, database, authentication, or onboarding mechanism, is outside the scope of this document.
      </t>

      <t>
        Figure 1 extends the CATS functional components from the CATS framework with a
        public service platform. The platform is a catalogue and publication point: clients
        query it to generate service requests, and service sites query it to select and
        deploy services. Both clients and service sites can publish service entries and
        deployment-related information to the platform.
      </t>

      <artwork><![CDATA[
       +----------------------+------------------------+------------------+
       |                      |                        |                  |          
  .----v----.            .----v----.              .----v----.             |
 .+-------. |           .+-------. |             .+-------. |             |
 | Client +-'           | Client +-'             | Client +-'             |
 '---+----'             '---+----'               '---+----'               |
     |                      |                        |                    |
     |  .----------------.  |                .----------------.           |
     '--+     C-TC#1     +--'        .-------+     C-TC#2     |           |
        +----------------+           |       +----------------+           |
        |    | C-PS#1    |      .----+-.     |CATS-Forwarder 4|           |
        |    '-----------+      |C-PS#2|     |                |           |
   .....|CATS-Forwarder 2|......|      |.....|                |....       |
   :    '----------------'      '------'     '----------------'   :       | 
   :                                                              :       |
   :                                                              :       |
   :                 Underlay Infrastructure                      :       |
   :                                                              :       |
   :          .-------.                                           :       |
   :          | C-NMA |                                           :       |
   :          '-------'                                           :       |
   :                                                              :       |
   : .----------------. .-------.    .----------------.           :       |
   :.|CATS-Forwarder 1|.|C-SMA#1| ...|CATS-Forwarder 3|...........:       |
     |                | '---+---'    |                |                   |
     '-------+--------'     |        +----------------+                   |
             |              |        |     C-SMA#2    |                   | 
             |              |        +-------+--------+      +------------v------------+             
             |              |                |               | Public Service Platform |             
             |              |                |               +------------^------------+             
             |              |                |                            |
             |              |                |                            |
             |              |                |                            |          
           .-+--------------+-.     .--------+---------.                  |          
          .+---------------.  |    .+---------------.  |                  |         
          |    Service     |  |    |    Service     |  |                  |          
          |    Contact     |  |    |    Contact     |  |                  |          
          |    Instance    +--'    |    Instance    +--'                  |          
          '----------------'       '----------------'                     |          
                   |                        |                             |          
               .---+-------.            .---+-------.                     |          
              .+---------. |           .+---------. |                     |          
              | Service  | |           | Service  | |                     |          
              | Instance +-'          | Instance +-'                      |          
              '----^-----'             '----^-----'                       |          
                   | Service Site 1         | Service Site 2              |
                   +------------------------+-----------------------------+

  Client <-> Public Service Platform:
     query the platform to generate service requests;
     publish service entries and deployment-related information to the platform.

  Service Site <-> Public Service Platform:
     query the platform to select and deploy services;
     publish service entries and deployment-related information to the platform.

        Figure 1: CATS Functional Components with Public Service Platform
      ]]></artwork>

    </section>

    <section>
      <name>Terminology</name>
      <t>
        This document makes use of the terms defined in <xref target="I-D.ietf-cats-framework-24"/> and the service-metric concepts defined in <xref target="I-D.zhangb-cats-service-metrics-op-02"/>. It also makes use of the following terms:
      </t>
        <ul spacing="normal">
          <li>
            <t>Public service platform: A catalogue and publication component that maintains public service descriptions, identifiers, and deployment context for CATS.
            </t>
          </li>
          <li>
            <t>Service entry: A catalogue item maintained by the public service platform. A service entry describes a service identifier, service name, input description, service description, deployment requirements, and service context such as Reference GAS and Reference Computing Time.
            </t>
          </li>
        </ul>

    </section>

    <section>
      <name>Public Service Platform Scope and Information Fields</name>
      <t>
        The public service platform hosts a public service catalogue for the CATS framework. Its purpose is to provide a common interpretation point for CS-ID-related information, including service descriptions, input descriptions, deployment requirements, and reference service context. The platform does not replace the CATS control-plane procedures. Instead, it provides the information needed before a client constructs a CATS service request, before a service site deploys a service instance, and before a service developer or provider publishes a service for CATS use.
      </t>

      <t>
        The public service platform supports three functions. First, it provides client-facing service function discovery by recommending a CS-ID and its related information, such as the service description, input description, Reference Computing Time, and other service context, based on a client service description or requirement. It acts like a public service store and holds all CS-ID-related information. Second, it provides service-site-facing deployment guidance by recommending CS-ID-related information needed to deploy service instances, such as code location, computing requirement, storage requirement, software dependency, Reference GAS, and Reference Computing Time. Third, it provides service-publisher-facing publication support by accepting service entries from service developers or providers. A published service entry includes the information needed to describe, deploy, and consume the service. The CS-ID associated with a published service is generated or assigned by the platform according to local rules.
      </t>

      <t>
        This document defines the information fields and the role of those fields in the above functions. It does not define the concrete realization of the public service platform. A deployment can realize the platform by using capability search engines, service AI agents, DNS, or other approaches. These approaches are implementation choices, and this document does not define their internal algorithms, data structures, authentication methods, or publication policies.
      </t>

      <t>
        Table 1 illustrates a typical public service table. It is an example of the CS-ID-related information that can be maintained by the public service platform for use by clients, service sites, and service publishers.
      </t>

      <table align="center">
        <name>Example Public Service Table</name>
        <thead>
          <tr>
            <th>Service Entry Field</th>
            <th>AR1</th>
            <th>LLM1</th>
            <th>TR1</th>
            <th>TP1</th>
            <th>ST1</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>CS-ID</td>
            <td>AR1</td>
            <td>LLM1</td>
            <td>TR1</td>
            <td>TP1</td>
            <td>ST1</td>
          </tr>
          <tr>
            <td>Service Name</td>
            <td>AR/VR</td>
            <td>LLM inference</td>
            <td>Model training</td>
            <td>Intelligent transportation</td>
            <td>Simultaneous interpretation</td>
          </tr>
          <tr>
            <td>Input Description</td>
            <td>Motion capture, voice tracking, eye tracking, and environmental sensing.</td>
            <td>Prompt, context, and generation parameters.</td>
            <td>Training data, model configuration, and parameters.</td>
            <td>Transport standard data and traffic information.</td>
            <td>Speech input and optional interaction input.</td>
          </tr>
          <tr>
            <td>Service Description</td>
            <td>Receives sensor input and generates AR/VR scenes.</td>
            <td>Text generation or question-answering service.</td>
            <td>Training or fine-tuning task that returns model artifacts.</td>
            <td>Driving or transportation environment sensing.</td>
            <td>Real-time captioning or conference translation.</td>
          </tr>
          <tr>
            <td>Code Location</td>
            <td>Code link</td>
            <td>Code link</td>
            <td>Code link</td>
            <td>Code link</td>
            <td>Code link</td>
          </tr>
          <tr>
            <td>Computing Requirement</td>
            <td>Multi-thread CPUs, minimum 2.0 GHz; GPU higher than RTX 4060.</td>
            <td>GPU cluster or accelerator pool.</td>
            <td>Dedicated GPU or accelerator resources.</td>
            <td>CPU &gt;= 4.0 GHz; GPU &gt;= 200 TOPS.</td>
            <td>CPU &gt;= 3.5 GHz, 16 threads; RTX 4090-class GPU.</td>
          </tr>
          <tr>
            <td>Storage Requirement</td>
            <td>16 GB DRAM; 256 GB SSD.</td>
            <td>Model storage and KV-cache memory.</td>
            <td>Dataset storage and checkpoint storage.</td>
            <td>64 GB DDR5 DRAM; 1 TB NVMe SSD.</td>
            <td>32 GB DDR5 DRAM; 1 TB NVMe SSD; 16 GB GPU memory.</td>
          </tr>
          <tr>
            <td>Reference Computing Time</td>
            <td>&lt;= 1 ms</td>
            <td>50 ms - 2 s</td>
            <td>Minutes to hours</td>
            <td>&lt;= 20 ms</td>
            <td>&lt;= 1 s</td>
          </tr>
          <tr>
            <td>Reference GAS</td>
            <td>1</td>
            <td>500</td>
            <td>1</td>
            <td>200</td>
            <td>1</td>
          </tr>
          <tr>
            <td>Software Dependency</td>
            <td>Unity, Unreal Engine</td>
            <td>CUDA, inference runtime</td>
            <td>PyTorch, CUDA/cuDNN</td>
            <td>Apollo, CUDA</td>
            <td>CUDA/cuDNN, Apache Kafka</td>
          </tr>
          <tr>
            <td>Publisher</td>
            <td>Service Site 1</td>
            <td>Platform Operator 1</td>
            <td>Client 1</td>
            <td>Third Party 1</td>
            <td>Service Site 2</td>
          </tr>
          <tr>
            <td>Publication and Update Time</td>
            <td>2026-05</td>
            <td>2026-05</td>
            <td>2026-05</td>
            <td>2026-05</td>
            <td>2026-05</td>
          </tr>
          <tr>
            <td>Popularity</td>
            <td>32</td>
            <td>128</td>
            <td>16</td>
            <td>45</td>
            <td>21</td>
          </tr>
        </tbody>
      </table>

        <t>
          The CS-ID field is the public service identifier generated or assigned by the platform for a published service. The Service Name field identifies the service in human-readable form. The Input Description field describes the data or parameters that a client needs to provide when consuming the service. The Service Description field describes the function or capability of the service. The Code Location field identifies the running code, code package, or code location used by a service site to deploy the service.
        </t>

        <t>
          The Computing Requirement field describes the minimum or recommended computing resources for deploying the service. The Storage Requirement field describes the minimum or recommended storage resources for deploying the service. If a service site cannot satisfy these requirements, it is not recommended to deploy the service. A service site can deploy the service with resources greater than or equal to the listed requirements according to local policy and capacity.
        </t>

        <t>
          The Reference Computing Time field provides a catalogue-level computing time measured or estimated when the service processes a reference data sample under the reference execution context. Operational Computing Time can differ after local deployment and is measured and reported by service sites according to <xref target="I-D.zhangb-cats-service-metrics-op-02"/>.
        </t>

        <t>
          The Reference GAS field provides a catalogue-level indication of the number of concurrent clients that the published service is expected to support under the listed reference resource configuration. This value is useful when another service site wants to deploy the same service without repeating the initial sizing exercise. If the resource allocated to a service instance just meets the listed requirements, the initial operational GAS can use the Reference GAS as a starting value. If more resources are allocated, the operational GAS needs to be evaluated and is generally larger than the Reference GAS. Operational GAS is evaluated and reported by each service site through the C-SMA after deployment, as defined in <xref target="I-D.zhangb-cats-service-metrics-op-02"/>.
        </t>

        <t>
          The Software Dependency field describes software dependencies, such as libraries, runtimes, frameworks, or middleware needed to deploy or run the service. The Publisher field identifies the source of the service entry. The Publication and Update Time field indicates the freshness of the entry. The Popularity field is catalogue metadata that can reflect how often a service is downloaded, deployed, or selected. Popularity can help service sites decide whether a service is worth deploying, but it is not treated as a CATS routing metric in this document.
        </t>

        <t>
          A service entry can also include service tags, data samples, expected results, and other service context that help a platform recommend the entry to clients or service sites. The exact publication and maintenance policy for those fields is deployment specific.
        </t>

    </section>

      <section>
        <name>Platform Functions and Workflows</name>

        <t>
          This section describes the three basic workflows supported by the public service platform: service publication, service site deployment, and client service discovery. These workflows explain how the information fields in Section 3 are used. They do not define a protocol between the participants and the platform.
        </t>

        <section>
          <name>Service Publication Workflow</name>

          <t>
            A service developer or provider can publish a service entry to the public service platform. The submitted information can include service name, input description, service description, running code or code location, computing requirement, storage requirement, Reference Computing Time, software dependency, data sample, and expected result. After the platform accepts the entry according to local policy, it generates or assigns a CS-ID for the service and builds or updates the service table and service sample result table.
          </t>

          <t>
            Figure 2 illustrates this service publish workflow. The figure is informative and does not specify the authentication method, publish protocol, validation procedure, CS-ID generation rule, or internal platform implementation.
          </t>

          <artwork><![CDATA[
+-------------+                         +----------------+
|   Service   |                         | Public Service |
|  Provider   |                         |    Platform    |
+-------------+                         +----------------+
       |                                        |
       | 1: PUBLISH(service name, input,        |
       |    description, running code,          |
       |    computing requirement, storage      |
       |    requirement, computing time,        |
       |    software dependency, data sample,   |
       |    result)                             |
       |--------------------------------------->|
       |                                        |
       | 2: AUTHENTICATION(who are you?)        |
       |<---------------------------------------|
       |                                        |
       | 3: AUTH_RESPONSE(IP, domain, host,     |
       |    port, params)                       |
       |--------------------------------------->|
       |                                        |
       | 4: PUBLISH_RESPONSE(CS-ID,             |
       |    success/failure)                    |
       |<---------------------------------------|
       |                                        | Build service
       |                                        | table and
       |                                        | service sample
       |                                        | result table

          Figure 2: Service Publish Workflow
          ]]></artwork>
        </section>

        <section>
          <name>Service Site Deployment Workflow</name>

          <t>
            A service site can query the public service platform to identify services that it intends to host. The platform provides CS-ID-related deployment information, including the service identifier, input description, service description, code location, computing requirement, storage requirement, software dependency, Reference GAS, and Reference Computing Time. The service site uses this information to determine whether it can deploy the service and how much local resource should be allocated initially.
          </t>

          <t>
            The reference values in the platform help the service site estimate its initial deployment scale. For example, if a service entry has Reference GAS 200 under the reference resource configuration, three equivalent deployments can provide an initial aggregate capacity of about 600 concurrent clients, while four equivalent deployments can provide about 800. If a site allocates more resources than the reference configuration and verifies the result through local testing, it may report a higher operational GAS, such as 260 instead of the reference value 200. The same principle applies to operational Computing Time, which may differ from the catalogue reference value after local deployment.
          </t>

          <t>
            After deployment, the service site determines the service contact instances and reports the corresponding service identifiers and service-oriented metrics through its C-SMA. These reports form the Computing Service Table defined in <xref target="I-D.zhangb-cats-service-metrics-op-02"/>. This document uses that mechanism by reference and does not define metric encoding, update policy, or selection procedures. In this way, the public service platform supplies the service context, while the service-metric draft defines the metric behaviour and operation.
          </t>

          <t>
            Figure 3 illustrates the service site deployment workflow. The figure is informative and does not define a deployment protocol, a metric encoding, or a C-SMA update policy.
          </t>

          <artwork><![CDATA[
+--------------+        +----------------+        +-----------+
| Service Site |        | Public Service |        | C-SMA/C-PS|
|              |        |    Platform    |        |           |
+--------------+        +----------------+        +-----------+
       |                         |                       |
       | 1: QUERY(service type,  |                       |
       |    capability, policy)  |                       |
       |------------------------>|                       |
       |                         |                       |
       | 2: SERVICE_INFO(CS-ID,  |                       |
       |    code, input,         |                       |
       |    requirements,        |                       |
       |    Reference GAS,       |                       |
       |    Reference Computing  |                       |
       |    Time)                |                       |
       |<------------------------|                       |
       |                         |                       |
       | 3: Local action:        |                       |
       |    deploy service       |                       |
       |    instance and service |                       |
       |    contact instance     |                       |
       |                         |                       |
       | 4: REPORT(CS-ID,        |                       |
       |    CSCI-ID, GAS,        |                       |
       |    Computing Time)      |                       |
       |------------------------------------------------>|
       |                         |                       | Update
       |                         |                       | computing
       |                         |                       | service table

          Figure 3: Service Site Deployment Workflow
          ]]></artwork>
        </section>

        <section>
          <name>Client Service Discovery in a CATS Service Flow</name>

          <t>
            To clarify the role of the public service platform in an end-to-end CATS service flow, this section describes a complete service consumption example. The platform is used at the beginning of the flow to recommend CS-ID-related information to the client. The later selection of a service contact instance, data-plane forwarding, and associated metric operation follow the CATS framework and <xref target="I-D.zhangb-cats-service-metrics-op-02"/>.
          </t>

          <ol spacing="normal" type="1">
            <li>
              <t>The client provides a service description or service requirement to the public service platform.</t>
            </li>
            <li>
              <t>The platform maps the client input to one or more candidate service entries and returns the corresponding CS-ID-related information, such as service description, input description, Reference Computing Time, Reference GAS, and other service context.</t>
            </li>
            <li>
              <t>The client selects a suitable CS-ID and constructs a CATS service request. The request contains the selected CS-ID and can include additional service constraints, such as expected service time.</t>
            </li>
            <li>
              <t>The client sends the CATS service request to the data plane, such as an ingress CATS-Forwarder. Candidate selection and forwarding are performed according to the CATS framework and the service-metric operation defined in <xref target="I-D.zhangb-cats-service-metrics-op-02"/>.</t>
            </li>
            <li>
              <t>After a service contact instance is selected and a data path is established, the client uses the Input Description from the platform to construct the service data sent to the selected service site.</t>
            </li>
            <li>
              <t>The service instance processes the service data and returns the result to the client.</t>
            </li>
          </ol>

          <t>
            The platform implementation can use keyword matching, tag-based capability search, semantic retrieval, service AI agents, DNS, or other mechanisms to map a client service description to candidate CS-IDs. This document does not standardize those mechanisms. It only describes the CS-ID-related information that makes such recommendation possible.
          </t>

          <t>
            Figure 4 illustrates the position of the public service platform in the client service discovery workflow. The public service platform helps the client obtain CS-ID-related information before the client sends traffic into the data plane. It is not on the data-plane forwarding path.
          </t>

          <artwork><![CDATA[
+--------+       +----------------+       +-----------+       +-----+
| Client |       | Public Service |       |Data Plane |       |C-PS |
|        |       |    Platform    |       | /Ingress  |       |     |
+--------+       +----------------+       +-----------+       +-----+
    |                    |                     |                |
    | 1: QUERY(service   |                     |                |
    |    description)    |                     |                |
    |------------------->|                     |                |
    |                    |                     |                |
    | 2: CANDIDATE       |                     |                |
    |    CS-ID + context |                     |                |
    |<-------------------|                     |                |
    |                    |                     |                |
    | 3: CATS request    |                     |                |
    |    (CS-ID,         |                     |                |
    |     requirements)  |                     |                |
    |----------------------------------------->|                |
    |                    |                     | 4: Select or   |
    |                    |                     |    request     |
    |                    |                     |    service     |
    |                    |                     |    contact     |
    |                    |                     |    instance    |
    |                    |                     |--------------->|
    |                    |                     | 5: Decision    |
    |                    |                     |<---------------|
    |                    |                     |                |
    | 6: Service data via selected service     |                |
    |    contact instance                      |                |
    |----------------------------------------->|                |
    | 7: Service result                        |                |
    |<-----------------------------------------|                |

          Figure 4: Client Service Discovery Workflow
          ]]></artwork>
        </section>
      </section>

    <section>
      <name>Security Considerations</name>
      <t>
        The public service platform provides catalogue information that clients and service sites rely on for service discovery and deployment context. Implementations should protect the integrity and authenticity of service entries, apply appropriate access control to publication and update operations, and consider the availability of the platform because it may affect service discovery and deployment decisions.
      </t>
      <t>
        Detailed service descriptions and deployment requirements may expose operational or business information. Operators should control what information is published in the catalogue according to local policy. These considerations are complementary to those discussed in <xref target="I-D.ietf-cats-framework-24"/> and <xref target="I-D.zhangb-cats-service-metrics-op-02"/>. This document does not define specific security mechanisms.
      </t>
    </section>

    <section>
      <name>IANA Considerations</name>
      <t>
        This document has no IANA actions at this time.
      </t>
    </section>

  </middle>

  <back>

    <references>
      <name>References</name>
      <references>
        <name>Informative References</name>

        <reference anchor="I-D.ietf-cats-metric-definition-10" target="https://datatracker.ietf.org/doc/html/draft-ietf-cats-metric-definition-10">
          <front>
            <title>CATS Metrics Definition</title>
            <author initials="K." surname="Yao" fullname="Kehan Yao">
              <organization/>
            </author>
            <author initials="C." surname="Li" fullname="Cheng Li">
              <organization/>
            </author>
            <author initials="L. M." surname="Contreras" fullname="Luis M. Contreras">
              <organization/>
            </author>
            <author initials="J." surname="Ros-Giralt" fullname="Jordi Ros-Giralt">
              <organization/>
            </author>
            <author initials="G." surname="Zeng" fullname="Guanming Zeng">
              <organization/>
            </author>
            <date year="2026" month="June" day="22"/>
          </front>
        </reference>

        <reference anchor="I-D.zhangb-cats-service-metrics-op-02" target="https://datatracker.ietf.org/doc/html/draft-zhangb-cats-service-metrics-op-02">
          <!-- Manually added reference -->
          <front>
            <title>Computing Service Metric Definitions and Operation under CATS</title>
            <author initials="B." surname="Zhang" fullname="Bin Zhang">
              <organization/>
            </author>
            <author initials="Y." surname="Dai" fullname="Yina Dai">
              <organization/>
            </author>
            <author initials="Z." surname="Du" fullname="Zongpeng Du">
              <organization/>
            </author>
            <author initials="C." surname="Miao" fullname="Chuanyang Miao">
              <organization/>
            </author>
            <date year="2026" month="June" day="30"/>
          </front>
        </reference>


        <reference anchor="I-D.ietf-cats-framework-24" target="https://datatracker.ietf.org/doc/html/draft-ietf-cats-framework-24">
          <front>
            <title>A Framework for Computing-Aware Traffic Steering (CATS)</title>
            <author initials="C." surname="Li" fullname="C. Li">
              <organization/>
            </author>
            <author initials="Z." surname="Du" fullname="Z. Du">
              <organization/>
            </author>
            <author initials="M." surname="Boucadair" fullname="M. Boucadair">
              <organization/>
            </author>
            <author initials="L. M." surname="Contreras" fullname="L. M. Contreras">
              <organization/>
            </author>
            <author initials="J." surname="Drake" fullname="J. Drake">
              <organization/>
            </author>
            <date year="2026" month="April" day="2"/>
          </front>
        </reference>


                      </references>

                    </references>
    
 </back>
</rfc>
