﻿<?xml version="1.0" encoding="utf-8"?>
<!-- 
     draft-rfcxml-general-template-annotated-00
  
     This template includes examples of most of the features of RFCXML with comments explaining 
     how to customise them, and examples of how to achieve specific formatting.
     
     Documentation is at https://authors.ietf.org/en/templates-and-schemas
-->
<!-- <?xml-model href="rfc7991bis.rnc"?>-->
<!-- Required for schema validation and schema-aware editing -->
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- This third-party XSLT can be enabled for direct transformations in XML processors, including most browsers -->
<!DOCTYPE rfc [
<!ENTITY nbsp "&#160;">
<!ENTITY zwsp "&#8203;">
<!ENTITY nbhy "&#8209;">
<!ENTITY wj "&#8288;">
]>
<!-- If further character entities are required then they should be added to the DOCTYPE above.
     Use of an external entity file is not recommended. -->
<rfc category="info" docName="draft-ftzhswj-cats-northbound-api-00" ipr="trust200902" obsoletes="" submissionType="IETF" updates="2026-5-29" version="3" xml:lang="en" xmlns:xi="http://www.w3.org/2001/XInclude">
  <!-- 
    * docName should be the name of your draft
    * category should be one of std, bcp, info, exp, historic
    * ipr should be one of trust200902, noModificationTrust200902, noDerivativesTrust200902, pre5378Trust200902
    * updates can be an RFC number as NNNN
    * obsoletes can be an RFC number as NNNN 
-->
  <front>
    <title abbrev="draft-ftzhswj-cats-northbound-api-00">Computing-Aware Traffic Steering (CATS) Northbound Interface (NBI) Specification</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-ftzhswj-cats-northbound-api-00" />
    <!-- https://authors.ietf.org/en/rfcxml-vocabulary#seriesinfo -->
    <!-- Set value to the name of the draft  -->
    <author fullname="Fu Tao" initials="T" role="editor" surname="Fu">
      <!-- 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>China Academy of Information and Communications
      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>Huayuanbei No.52</street>
          <city>beijing</city>
          <region>beijing</region>
          <code>100191</code>
          <country>CN</country>
          <!-- Can use two letter country code -->
        </postal>
        <phone />
        <email>futao@caict.ac.cn</email>
        <!-- Can have more than one <email> element -->
        <uri />
      </address>
    </author>
    <author fullname="Zhang Hengsheng" initials="H" 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>China Academy of Information and Communications
      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>Huayuanbei No.52</street>
          <city>beijing</city>
          <region>beijing</region>
          <code>100191</code>
          <country>CN</country>
          <!-- Can use two letter country code -->
        </postal>
        <phone />
        <email>zhanghengsheng@caict.ac.cn</email>
        <!-- Can have more than one <email> element -->
        <uri />
      </address>
    </author>
    <author fullname="Wang Jing" initials="J" role="editor" surname="Wang">
      <!-- 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>China Mobile</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 />
          <city>beijing</city>
          <region>beijing</region>
          <code>100191</code>
          <country>CN</country>
          <!-- Can use two letter country code -->
        </postal>
        <phone />
        <email>wangjingjc@chinamobile.com</email>
        <!-- Can have more than one <email> element -->
        <uri />
      </address>
    </author>
    <date day="29" month="05" year="2026" />
    <!-- https://authors.ietf.org/en/rfcxml-vocabulary#date -->
    <!-- On draft subbmission:
         * If only the current year is specified, the current day and month will be used.
         * If the month and year are both specified and are the current ones, the current day will
           be used
         * If the year is not the current one, it is necessary to specify at least a month and day="1" will be used.
    -->
    <area>Industrial Internet</area>
    <workgroup>Computing-Aware Traffic Steering(CATS)</workgroup>
    <!-- "Internet Engineering Task Force" is fine for individual submissions.  If this element is 
          not present, the default is "Network Working Group", which is used by the RFC Editor as 
          a nod to the history of the RFC Series. -->
    <keyword>Computing-Aware Traffic Steering, Northbound Interface</keyword>
    <!-- Multiple keywords are allowed.  Keywords are incorporated into HTML output files for 
         use by search engines. -->
    <abstract>
      <t>In scenarios such as industrial Internet, smart cities, and smart hospitals, enterprise customers lease a large amount of computing and network resources from operators and need to manage their own resources flexibly for agile business operations. Therefore, these customers’ systems require the Computing-Aware Traffic Steering (CATS) northbound interface (NBI) to gain greater flexibility in business optimization. The CATS NBI is a standardized set of interfaces that governs interactions between the CATS system and upper-layer applications, software, and services. It defines interaction protocols, data models, message formats, and procedures. Unlike the southbound interface, which carries detailed information, the NBI simplifies data structures to deliver streamlined management capabilities. Positioned between the three-layer CATS architecture and scenario-specific applications, it is primarily invoked by user management platforms, user business orchestration systems, AI inference platforms, and other application services. However, the current lack of a unified standard for the CATS NBI results in protocol heterogeneity, incompatible data formats, and inconsistent functionalities. This makes unified management and coordinated scheduling of multi-vendor, multi-domain CATS systems difficult, hindering large-scale deployment. A unified NBI specification is therefore urgently needed.
This document defines the standard for the Computing-Aware Traffic Steering (CATS) Northbound Interface (NBI), specifying the interaction protocols, data models, message formats, and procedures between the CATS system and upper-layer management platforms and application services. As CATS technology may be adopted in future fields including the industrial Internet, Internet of Vehicles, and smart cities, enterprises and users require a concise, user-friendly, and comprehensive set of invocation interfaces. The core objective of the NBI is to enable standardized exposure of capabilities such as CATS resource query, traffic steering policy selection, metric subscription, and fault alarming, supporting unified management and coordinated scheduling of multi-vendor, multi-domain CATS systems. Based on the IETF CATS framework, metric definitions, and use case requirements documents, this document focuses on the specifications of NBI functions, protocols, and data models, providing a unified standard for CATS northbound interoperability.</t>
    </abstract>
  </front>
  <middle>
    <section>
      <!-- The default attributes for <section> are numbered="true" and toc="default" -->
      <name>Introduction</name>
      <t />
      <section>
        <!-- anchor is an optional attribute -->
        <name>Backgroud</name>
        <t>With the rapid proliferation of low-latency, high-computing services such as agent collaboration, edge computing, AR/VR, and intelligent transportation, traditional traffic steering mechanisms that rely solely on network connectivity fail to adapt to dynamic changes in computing resources. This easily leads to issues including computing overload, unbalanced scheduling, and degraded user experience.
As a new traffic engineering technology, Computing-Aware Traffic Steering (CATS) fundamentally integrates multi-dimensional metrics such as computing status, network quality, and service load to dynamically select optimal service instances and steer traffic, ensuring service Quality of Experience (QoE).
The CATS system consists of core components including the C-SMA (CATS Service Metric Agent), C-NMA (CATS Network Metric Agent), C-PS (CATS Path Selector), and C-Forwarder. It requires exposing a unified interface to upper-layer management platforms and application services to enable resource control, policy configuration, metric visualization, and fault operation and maintenance. Currently, there is a lack of a unified standard for the CATS northbound interface, resulting in protocol heterogeneity, incompatible data formats, and inconsistent functionalities. This may prevent users from gaining sufficient capabilities when managing their CATS systems across vendors, hindering large-scale deployment.In scenarios such as the industrial Internet, smart cities, and smart hospitals, enterprise customers lease substantial computing and network resources from operators and require flexible resource management to support agile business operations. Therefore, these customers’ systems need the Computing-Aware Traffic Steering (CATS) northbound interface to achieve greater flexibility in business optimization. The CATS northbound interface is a standardized set of interfaces that governs interactions between the CATS system and upper-layer applications, software, and services. It defines interaction protocols, data models, message formats, and procedures. Unlike the southbound interface, which carries detailed information, it delivers streamlined management capabilities by simplifying interface data structures. Positioned between the three-layer CATS architecture and scenario-specific applications, it is primarily invoked by user management platforms, user business orchestration systems, AI inference platforms, and other application services. However, the current lack of a unified standard interface for CATS leads to protocol heterogeneity, incompatible data formats, and inconsistent functionalities. This makes unified management and coordinated scheduling of multi-vendor, multi-domain CATS systems difficult, restricting large-scale deployment. A unified northbound interface specification is therefore urgently needed.</t>
      </section>
      <!-- The 'Requirements Language' section is optional -->
      <section anchor="requirements">
        <!-- anchor is an optional attribute -->
        <name>Requirements Language</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
        "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
        "OPTIONAL" 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>
      </section>
    </section>
    <section>
      <name>Definition of Terms</name>
      <t>Computing-Aware Traffic Steering(CATS): A traffic engineering technique that dynamically steers traffic by jointly considering computing status, network quality, and service load.
Computing-Aware Traffic Steering Metric(CATS Metric):A multi-dimensional indicator used to evaluate computing resources, network performance, and service status for CATS-based traffic decisions.
CATS Service Metric Agent(C-SMA):A CATS component responsible for collecting, aggregating, and reporting service-related metrics such as load and QoE.
CATS Network Metric Agent(C-NMA):A CATS component responsible for collecting, aggregating, and reporting network-related metrics such as latency, packet loss, and bandwidth.
CATS Path Selector(C-PS):A CATS core component that selects optimal service instances and forwarding paths based on aggregated CATS metrics.
CATS Service ID(CS-ID):A unique identifier assigned to a CATS service for service-level management and policy binding.
CATS Service Contact Instance ID(CSCI-ID):A unique identifier for a specific instance of a CATS service, used for instance-level scheduling and monitoring.
CATS Northbound Interface(CATS NBI):A standardized interface set enabling interaction between the CATS system and upper-layer management platforms and applications.
Operations, Administration, and Maintenance(OAM):A set of functions for network/system monitoring, fault management, performance measurement, and maintenance.
Quality of Experience(QoE):A holistic metric reflecting the end-user’s perceived quality of a service, considering latency, jitter, packet loss, and service availability.
REST Configuration(RESTCONF):An HTTP/JSON-based protocol defined by IETF RFC 8040 for configuring and retrieving data modeled in YANG.
YANG: A data modeling language defined by IETF RFC 7950, used to model configuration and operational data for network and service management.</t>
    </section>
    <section>
      <name>Overall Architecture of the CATS Northbound Interface</name>
      <t />
      <section>
        <!-- anchor is an optional attribute -->
        <name>Northbound Interface Components</name>
        <t>The CATS northbound interface consists of three components, listed from top to bottom as follows:

Application Adaptation Module: Connected to upper‑layer management platforms, business orchestration systems, and application services (e.g., AR/VR, AI inference platforms), acting as the northbound interface callers.
Interface Service Module: The core functions of the CATS northbound interface, including protocol adaptation, data model parsing, functional logic processing, and security control modules, serving as the core of this standard.
CATS Adaptation Module: Connected to internal components of the CATS system, which receive northbound interface instructions and execute scheduling logic. To simply user's operations, it's mainly used by C‑SMA.</t>
      </section>
      <section>
        <!-- anchor is an optional attribute -->
        <name>Interaction Relationships</name>
        <t>The interaction modes of the northbound interface are divided into synchronous request-response and asynchronous subscription-push:
Synchronous interaction: The upper layer initiates requests for query, configuration, and policy delivery, and the CATS interface returns responses synchronously (e.g., resource query, policy configuration).
Asynchronous interaction: The upper layer subscribes to metrics and alarms, and the CATS interface pushes data in real time (e.g., computing load, fault alarms).</t>
      </section>
      <section>
        <!-- anchor is an optional attribute -->
        <name>Interface Positioning</name>
        <t>Unique Entry Point for NBI: All upper-layer CATS-related operations access the system through the northbound interface, enabling unified management and control.
Stateless Interaction: Interface interactions are session-independent, supporting high availability and load balancing.
Cross-Domain Interoperability: It supports unified northbound access for both single-domain and multi-domain CATS systems, adapting to diverse scenarios of carriers and enterprises.</t>
      </section>
    </section>
    <section>
      <name>Interface Protocol and Transmission Specifications</name>
      <t />
      <section>
        <!-- anchor is an optional attribute -->
        <name>Basic Specifacation</name>
        <t>The CATS northbound interface mandatorily adopts the RESTCONF protocol (IETF RFC 8040), transmitted over HTTP with a unified JSON data format and compatibility with YANG data models.</t>
      </section>
      <section>
        <!-- anchor is an optional attribute -->
        <name>Transmission Security</name>
        <t>Interface transmission mandatorily uses TLS 1.3 encryption; plaintext HTTP transmission is prohibited.
Port: Default port 443, with support for custom ports.
Certificate: X.509 certificates are used for mutual authentication to ensure the authenticity of both communicating parties</t>
      </section>
      <section>
        <!-- anchor is an optional attribute -->
        <name>URI Naming Convention</name>
        <t>The northbound interface URI follows a hierarchical naming rule.</t>
      </section>
      <section>
        <!-- anchor is an optional attribute -->
        <name>Version Compatibility</name>
        <t>Interface versions adopt path-based versioning (v1/v2) to support backward compatibility:
Legacy interface versions remain available, while new features in later versions use independent paths.
When extending data models, newly added fields are optional by default and do not affect parsing of older versions.</t>
      </section>
    </section>
    <section>
      <name>Data Model Specifications</name>
      <t />
      <section>
        <!-- anchor is an optional attribute -->
        <name>Data Modeling Language</name>
        <t>The core data models are defined using YANG 1.1 (IETF RFC 7950), supporting JSON format mapping. They reuse the IETF CATS metric model (draft-ietf-cats-metric-definition) and add northbound-specific fields.<br /></t>
      </section>
      <section>
        <!-- anchor is an optional attribute -->
        <name>Core Data Models</name>
        <t>6.2.1 CATS Resource Model (cats-resource.yang)

TBA.<br />6.2.2 CATS Policy Model (cats-policy.yang)

TBA.<br />6.2.3 CATS Metric Model

Adopts the three‑level CATS metric model defined in draft-ietf-cats-metric-definition.<br />6.2.4 CATS Alarm Model (cats-alarm.yang)

TBA.<br /></t>
      </section>
    </section>
    <section>
      <name>Northbound Interface Functions</name>
      <t />
      <section>
        <!-- anchor is an optional attribute -->
        <name>Resource Management Module</name>
        <t>Provides query capabilities for CATS sites, service instances, and computing/network resources:<br />a. Shall support querying the list and status of all service sites within user permissions.<br />b. Shall support querying computing resources (CPU/GPU/utilization, computing score) and network resources (latency/packet loss/bandwidth, network score) of a specified site.<br />c. Shall support querying the status, load, and QoE score of a service instance identified by a specified CS-ID/CSCI-ID.<br />d. May support querying global Level 2 aggregated metrics of CATS.<br />e. TBD. <br /></t>
      </section>
      <section>
        <!-- anchor is an optional attribute -->
        <name>Policy Management Module</name>
        <t>Supports querying, selecting, modifying, deleting, enabling/disabling traffic steering policies for each CATS service:<br />a. Shall support creating static/dynamic/hybrid steering policies (binding CS-ID, priority, trigger threshold, target instance).<br />b. Shall support querying all policies or details of a specified policy.<br />c. Shall support updating policy trigger conditions, priority, and target instances.<br />d. Shall support enabling/disabling a specified policy.<br />e. Shall support deleting invalid policies.
<br />f.TBD. <br /></t>
      </section>
      <section>
        <!-- anchor is an optional attribute -->
        <name>Metric Subscription Module</name>
        <t>TBD.</t>
      </section>
      <section>
        <!-- anchor is an optional attribute -->
        <name>Alarm Management Module</name>
        <t>TBD.<br /></t>
      </section>
      <section>
        <!-- anchor is an optional attribute -->
        <name>Configuration Management Module</name>
        <t>TBA.<br /></t>
      </section>
    </section>
    <section>
      <name>Message Format and Interaction Procedures</name>
      <t />
      <section>
        <!-- anchor is an optional attribute -->
        <name>General Message Format</name>
        <t>8.1.1 Success Response (JSON)

TBA.<br /><br /></t>
      </section>
      <section>
        <!-- anchor is an optional attribute -->
        <name>8.2 Typical Interaction Procedures</name>
        <t>8.2.1 Resource Query (Synchronous GET)

TBA.<br />8.2.2 Policy Provisioning (Synchronous POST)

TBA.<br />8.2.3 Metric Subscription (Asynchronous POST)
TBA.<br />8.2.4 Alarm Subscription (Asynchronous POST)

The procedure is the same as metric subscription. Alarm data is pushed in real time upon successful subscription.<br /></t>
      </section>
    </section>
    <section>
      <name>Interface Security Requirements</name>
      <t>TBA.</t>
    </section>
    <section anchor="IANA">
      <!-- All drafts are required to have an IANA considerations section. See RFC 8126 for a guide.-->
      <name>IANA Considerations</name>
      <t>This memo includes no request to IANA.</t>
    </section>
    <section anchor="Security">
      <!-- All drafts are required to have a security considerations section. See RFC 3552 for a guide. -->
      <name>Security Considerations</name>
      <t>This document should not affect the security of the Internet.</t>
    </section>
    <!-- NOTE: The Acknowledgements and Contributors sections are at the end of this template -->
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml" />
        <!-- The recommended and simplest way to include a well known reference -->
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <!-- Manually added reference -->
          <front>
            <title>Key words for use in RFCs to Indicate Requirement
            Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization />
            </author>
            <date month="March" year="1997" />
            <abstract>
              <t>In many standards track documents several words are used to
              signify the requirements in the specification. These words are
              often capitalized. This document defines these words as they
              should be interpreted in IETF documents. This document specifies
              an Internet Best Current Practices for the Internet Community,
              and requests discussion and suggestions for improvements. </t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14" />
          <seriesInfo name="RFC" value="2119" />
          <seriesInfo name="DOI" value="10.17487/RFC2119" />
        </reference>
        <reference anchor="exampleRefMin">
          <!-- Example minimum reference -->
          <front>
            <title>Title</title>
            <author initials="Initials" surname="Surname">
              <organization />
            </author>
            <date year="2006" />
          </front>
        </reference>
        <reference anchor="exampleRefOrg" target="http://www.example.com/">
          <!-- Example reference written by an organization not a person -->
          <front>
            <title>Title</title>
            <author>
              <organization>Organization</organization>
            </author>
            <date year="1984" />
          </front>
        </reference>
      </references>
    </references>
    <section>
      <name>Appendix 1</name>
      <t>TBD.</t>
    </section>
    <section anchor="Acknowledgements" numbered="false">
      <!-- an Acknowledgements section is optional -->
      <name>Acknowledgements</name>
      <t>TBD.</t>
    </section>
    <section anchor="Contributors" numbered="false">
      <!-- a Contributors section is optional -->
      <name>Contributors</name>
      <t>Thanks to all of the contributors.</t>
    </section>
  </back>
</rfc>