<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="no"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="info" docName="draft-yao-cats-awareness-architecture-01"
     ipr="trust200902" updates="">
  <front>
    <title abbrev="CNIA">Computing and Network Information Awareness (CNIA) system architecture for CATS</title>


   <author fullname="Huijuan Yao" initials="H." surname="Yao">
      <organization>China Mobile</organization>

      <address>
        <postal>
          <street>No.32 XuanWuMen West Street</street>

          <city>Beijing</city>

          <code>100053</code>

          <country>China</country>
        </postal>

        <email>yaohuijuan@chinamobile.com</email>
      </address>
    </author>

    <author fullname="Xuewei Wang" initials="X." surname="Wang">
      <organization>Ruijie Networks</organization>

      <address>
        <postal>

          <city>Beijing</city>

          <country>China</country>
        </postal>

        <email>wangxuewei1@ruijie.com.cn</email>
      </address>
    </author>

    <author fullname="Zhiqiang Li" initials="Z." surname="Li">
      <organization>China Mobile</organization>

      <address>
        <postal>
          <street>No.32 XuanWuMen West Street</street>

          <city>Beijing</city>

          <code>100053</code>

          <country>China</country>
        </postal>

        <email>lizhiqiangyjy@chinamobile.com</email>
      </address>
    </author>

  <author fullname="Daniel Huang" initials="D.H." surname="Daniel">
      <organization>ZTE Corporation</organization>
      <address>
        <postal>
          <street/>
          <!-- Reorder these if your country does things differently -->

         <city>Nanjing</city>
          <region/>
          <code/>
          <country>PRC</country>
        </postal>
        <phone>+86 13770311052</phone>
        <email>huang.guangping@zte.com.cn</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>

    <date day="7" month="July" year="2023"/>

    <area>Routing Area</area>

    <workgroup>cats</workgroup>



   <abstract>
      <t>This document describes a Computing and Network Information Awareness (CNIA)system architecture for Computing-Aware Traffic Steering (CATS).  Based on the CATS framework, this document further describes a proposal detailed awareness architecture about the network information and computing information. It includes a new component and the corresponding interfaces and workflows in the CATS control plane.
</t> 
  </abstract> 
  </front>

  <middle>
    <section title="Introduction">
       <t> Computing-Aware Traffic Steering (CATS)<xref target="I-D.ldbc-cats-framework"/>aims to solve the problem of how the network edge can steer traffic between clients of a service and sites offering the service. To enable the computing- and network-aware traffic steering decisions, awareness of computing information and network information is the foundation.</t>
      <t>Currently there are some work being done on the classification and awareness of computing and network information. As described in<xref target="I-D.du-cats-computing-modeling-description"/>,  there could be two models of computing information: one is some detailed computing parameters, and another is a comprehensive computing level parameter. Further, the former includes some static information such as service ability, and some dynamic information such as service status. This modeling document could be a solid foundation of CATS.  For the awareness solution of computing and network information, the current recommended methods are generally BGP<xref target="I-D.ietf-idr-5g-edge-service-metadata"/>, BGP-LS<xref target="I-D.ls-idr-bgp-ls-service-metadata"/>,  and BGP-FS<xref target="I-D.yi-idr-bgp-fs-edge-service-metadata"/>. CATS Service Metric Agent(C-SMA) and CATS Path Selector (C-PS) components defined in <xref target="I-D.ldbc-cats-framework"/> could be deployed in different locations.</t>
      <t>Overall, the current awareness technology is some sporadic solutions. This document hopes to comprehensively sort out the computing and network awareness method and defines a comprehensive awareness architecture to support the different types of computing and network information, to facilitate the deployment of CATS. This awareness architecture acts as the control plane of CATS.</t>
    </section>   
     <section anchor="ArcihtetcrueComponentsInterfaces" title="Architecture Components and Interfaces">
        <t>To consider various kinds of computing and network information, a control center component is additionally introduced on the basis of CATS framework. As a comprehensive awareness architecture CNIA supports both distributed,centralized,hybrid awareness models. </t>
       <t>For some coarse-grained and relatively static information with low update frequency, it is recommended to be aware in a distributed way. The distributed way has better robustness and high scalability.</t>
      <t>For some fine-grained dynamic information with a high update frequency, it is recommended to aware it in a centralized way.  Frequent information updates will greatly increase the burden on network devices and are not conducive to information convergence. The centralized way is more suitable for the management of fine-grained dynamic information. This comprehensive-aware model is consistent with the design philosophy of segment routing architecture<xref target="RFC8402"/>. The services that require planning for dynamic resources, such as TE(Traffic Engineering), are implemented by a centralized controller. The BE(best-effort) service is still preserved on the devices and implemented in a distributed manner, which could take advantage of distributed robustness and reduce the burden of interfacing between the controller and devices, facilitating deployment. </t>
       <t><figure>
            <artwork><![CDATA[
                         CATS-control center
              +----------------------------------+
              |                      +------+    |
              |                      | C-CIB|    |                  
              |   +------+           +------+    |         +----------+
              |   | C-PCE|                       | restful |cloud     |
              |   +------+           +------+    |.........|management| 
              |                      | C-NIB|    |         |platform  |
              |                      +------+    |         +----------+
              +----------------------------------+           |     |
                               : CATS-SBI                    |     |
                               :                             |     |
              +----------------------------------+           |     |       
              |                   CATS-Router2   |      +--------+ |
 +------+     |CATS-Router1       +-------+      |......|service | |
 |client|.....|+---------|      ..| C-SMA |      |      |instance| |          
 +------+     ||C-TC|C-PS+ ....   +-------+      |      +--------+ |
              |+---------+     :  +-------+      |         +--------+
              |                 ..| C-NMA |      |.........|service |               
              |                   +-------+      |         |instance|                          
              +----------------------------------+         +--------+

             Figure 1: CNIA System Arhicteture
]]></artwork>
          </figure></t>

      <t>To realize the scheduling of fine-grained computing information, the control center introduces several components and interface:</t>
        <dl>
          <dt>CATS Computing information Base(C-CIB):</dt>
          <dd>
            <t>Maintain fine-grained computing information, such as service connections,CPU performance,which may be obtained from the CATS-routers or from the cloud management platform.</t>
          </dd>
          <dt>CATS Network Metric information Base(C-NIB):</dt>
          <dd>
            <t>Maintain fine-grained network information, such as remaining bandwidth,delay, which could be obtained from the routers.</t>
          </dd>
          <dt>CATS Path Calculation Unit(C-PCE):</dt>
          <dd>
            <t>Calculate optimal computing resource and network path based on C-CIB and C-NIB, and generate path policy and deliver to the CATS-routers.</t>
          </dd>
          <dt>CATS-SBI interface:</dt>
          <dd>
            <t>An extended interface based on the traditional controller southbound interface between the CATS-routers and the CATS-control center, could be used to report network and computing information from CATS routers to the CATS-control center, and also could be used to  send path and service policy information or compute information to CATS-routers.</t>
          </dd> 
        </dl>
      <t>Given the comprehensive architecture described above, this document proposes a comprehensive awareness system of the deployment location, real-time resource and service status, load information and requirements of computing resources and services. On the one hand, the network aggregates the computing and network metrics reported by multiple nodes to build a globally unified computing and network status view. On the other hand, the network completes the unified analysis of service, computing and network requirements, realizes the comprehensive perception and provides guarantee for computing-aware scheduling based on service requirement.</t>
     </section>

    <section anchor="ArchitectureWorkflow" title="Architecture Workflow">
     <section title="Awareness Information Classification">
      <t>Currently the detailed network and computing parameters used by CATS have not yet reached a consensus in the industry, in order to avoid introducing too much signaling overhead into the whole network advertisement, this document  proposes to classify the content of the computing advertisement according to the characteristics of the content and frequency of information announcement, and adopt different information awareness methods and information announcement protocols. As shown in Table 1,  the computing and network information could be classified into capability information and status information.  Capability information contains the deployment location and identifier information, and so on.  Status information tends to be some real-time status parameters of the network and computing, such as remaining bandwidth,delay,service connections,CPU performance. This type of information is mainly used for some services that are sensitive to network and computing status, such as AR/VR services.</t>

      <texttable anchor="information-example"
                 title="Awareness information content examples">
        <ttcol align="left">Awareness information</ttcol>
        <ttcol align="center">Network information</ttcol>
        <ttcol align="center">Computing information</ttcol>
        <c>Capability parameters</c>
        <c>Device location;  Device type;   Topology information</c>
        <c>Service ID;  Service-domain name;  Computing energy consumption;  Computing cost;  Peak value of available computing</c>
        <c>Status  parameters</c>
        <c>Service policy information;  Traffic information (bandwidth,delay,packet loss rate,delay jitter)</c>
        <c>Number of available service connections;  Available resources;  CPU/GPU/NPU performance;  Storage capacity;  Service delay</c>
      </texttable>

      <t>Table 1 provides some detailed parameters examples about the two kinds of awareness information.</t>
     </section> 
     <section title="Workflow">
       <section title="A centralized model"> 
         <t>For some services that are sensitive to computing and network status, especially latency, such as AV/VR services, the network needs to be able to perceive detailed computing information and network information to meet the strict requirements of the service. This kind of computing information could be aware by the CATS-control center by restful interface from cloud management platform. The network information could be aware by the BGP-LS or telemetry interface to get the status parameters such as remaining bandwidth and the delay.  Further, CATS-control center performs service scheduling according to the computing information and network information, then generates routing policy and sends to CATS ingress router . When CATS ingress router receives the service demand from the client, it selects the optimal service instance and network policy, and maintains the instance affinity subsequently.</t>
       </section> 
      <section title="A hybrid model"> 
         <t>For some high-value customers, hybrid awareness can be deployed to accurately match customer requirements. After the CATS-control center obtains computing and network information through SBI or restful interfaces, the details of this information are directly transmitted to the CATS ingress routers. The device performs accurate resource matching and continuous experience detection after receiving service  traffic.</t>
       </section> 
      <section title="A distributed model"> 
         <t>For distributed mode, the ingress CATS  router  responsibles for collecting computing and network information and scheduling service. When the ingress  CATS  router receives the service demand from the client it makes decision of the service instance to access independently according to the service instances status and network status and maintains instance affinity.  The detailed workflow can be seen in<xref target="I-D.ldbc-cats-framework"/>.</t>
       </section> 
     </section> 
   </section> 

   <section anchor="IANA" title="IANA Considerations">
      <t>TBD</t>
    </section>
    <section anchor="Security" title="Security Considerations">
      <t>TBD</t> 
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include='reference.RFC.8402'?>
    </references>
    <references title="Informative References">
      <?rfc include='reference.I-D.ietf-idr-5g-edge-service-metadata'?>
      <?rfc include='reference.I-D.ls-idr-bgp-ls-service-metadata'?>
      <?rfc include='reference.I-D.yi-idr-bgp-fs-edge-service-metadata'?>      
      <?rfc include='reference.I-D.ldbc-cats-framework'?>
      <?rfc include='reference.I-D.du-cats-computing-modeling-description'?>
      <?rfc ?>
    </references>
  </back>
</rfc>
