<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?rfc strict="yes"?>
<?rfc toc="yes"?>
<?rfc tocdepth="4"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-yuan-cats-end-to-end-problem-requirement-01" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="4" symRefs="true" sortRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.1 -->
  <!-- ***** FRONT MATTER ***** -->

    <front>
    <title abbrev="Problem Statement and Requirements">Problem Statement and Requirements
            of end-to-end CATS</title>
    <seriesInfo name="Internet-Draft" value="draft-yuan-cats-end-to-end-problem-requirement-01"/>
    <author fullname="Dongyu Yuan" initials="D" surname="Yuan">
      <organization>ZTE Corporation</organization>
      <address>
        <postal>
          <street>No.50 Software Avenue</street>
          <city>Nanjing</city>
          <region>Jiangsu</region>
          <code>210012</code>
          <country>China</country>
        </postal>
        <phone/>
        <email>yuan.dongyu@zte.com.cn</email>
      </address>
    </author>
    <author fullname="Huijuan Yao" initials="H" surname="Yao">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <region/>
          <code/>
          <country>China</country>
        </postal>
        <phone/>
        <email>yaohuijuan@chinamobile.com</email>
      </address>
    </author>
    <author fullname="Zhiqiang Li" initials="Z" surname="Li">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <region/>
          <code/>
          <country>China</country>
        </postal>
        <phone/>
        <email>lizhiqiangyjy@chinamobile.com</email>
      </address>
    </author>
    <author fullname="Fenlin Zhou" initials="F" surname="Zhou">
      <organization>ZTE Corporation</organization>
      <address>
        <postal>
          <street>No.50 Software Avenue</street>
          <city>Nanjing</city>
          <region>Jiangsu</region>
          <code>210012</code>
          <country>China</country>
        </postal>
        <phone/>
        <email>zhou.fenlin@zte.com.cn</email>
      </address>
    </author>
    <author fullname="Xuewei Wang" initials="X" surname="Wang">
      <organization>Ruijie Networks Co.,Ltd</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <region/>
          <code/>
          <country>China</country>
        </postal>
        <phone/>
        <email>wangxuewei1@ruijie.com.cn</email>
      </address>
    </author>
    <date day="23" month="October" year="2023"/>
    <area>RTGWG</area>
    <workgroup>CATS</workgroup>
    <keyword>Problem Statement and Requirements of end-to-end CATS</keyword>
    <abstract>
      <t>This document describes and proposes problem statement and incremental requirements
                of an end-to-end computing aware traffic steering (CATS) process illustrated in <xref target="I-D.ldbc-cats-framework" format="default"/>. Particularly, this
                document analyzes the significance of appropriate aggregation algorithms and the
                necessity of hierarchical forwarding mechanisms.</t>
    </abstract>
  </front>
  <!-- ***** MIDDLE MATTER ***** -->

    <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
      <section numbered="true" toc="default">
        <name>Usecase: Service scheduling for ubiquitous instances</name>
        <t>Taking computing-aware AR or VR mentioned in <xref target="I-D.ietf-cats-usecases-requirements" format="default"/> for
                    instance, a specific condition is further discussed in this draft with
                    ubiquitous service instances.</t>
        <figure>
          <name>Service scheduling for ubiquitous instances</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[

+--------------+     +--------------+     +--------------+
|Instance 01-20|     |Instance 21-40|     |Instance 41-60|
+--------------+     +--------------+     +--------------+
        |                    |                    |
        |                    |                    |
   +----+-----+        +-----+----+         +-----+----+
   |  Egress  |        |  Egress  |         |  Egress  |
   | Router 1 |        | Router 2 |         | Router 3 |
   +----+-----+        +-----+----+         +-----+----+
        |                    |                    |
        |                    |                    |
        |           +--------+--------+           |
        +-----------|  Infrastructure |-----------+
                    +--------+--------+
                             |
                        +----+----+
                        | Ingress |
        +---------------|  Router |--------------+
        |               +----+----+              |
        |                    |                   |
    +--+--+              +--+---+           +---+--+
  +------+|            +------+ |         +------+ |
  |Client|+            |Client|-+         |Client|-+
  +------+             +------+           +------+

                  ]]></artwork>
        </figure>
        <t keepWithPrevious="true"/>
        <t>As illustrated in <xref target="I-D.ietf-cats-usecases-requirements" format="default"/>, it
                    requires to dynamically steer traffic to the appropriate instance to meet the
                    E2E delay requirements considering both network and computing resource status.
                    However, a large amount of ubiquitous service instances connected to different
                    Egress Routers make the work complicated which includes the following two
                    aspects:</t>
        <t>1. Large amount of dynamic entries recorded and maintained in the control plane
                    for CATS routers.</t>
        <figure>
          <name>Large amount of dynamic entries</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[

                         (  Instance 1     Metrics
                         |    ......
                         |  Instance 20    Metrics
                         |
     CATS  Routers       |  Instance 21    Metrics
           x            <     ......
    Average amount of    |  Instance 40    Metrics
instances per CATS Router|
                         |  Instance 41    Metrics
                         |    ......
                         (  Instance 60    Metrics

                                         ]]></artwork>
        </figure>
        <t keepWithPrevious="true"/>
        <t>2. Quick updates for FIB.</t>
        <t>Suppose a simple load balance strategy is implemented with a Round-Robin scheme.
                    During time slot 000 - 200 s, the traffic would be steered to a definite CATS
                    Router 1 which connects service instance 1 - 20, however, a FIB with instance
                    granularity is required to update quite frequently.</t>
        <figure>
          <name>Large amount of dynamic entries</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[

Round Robin among    Time Slot
   Instance 1        000-010 s
    ......           ......
   Instance 20       190-200 s

   Instance 21       200-210 s
    ......           ......
   Instance 40       390-400 s

   Instance 41       400-410 s
    ......           ......
   Instance 60       590-600 s                    

                   ]]></artwork>
        </figure>
        <t keepWithPrevious="true"/>
      </section>
      <section numbered="true" toc="default">
        <name>Requirements: Hierarchical service routing</name>
        <t>Based on the migration of computing resources towards the edge and the
                    presentation of distributed and heterogeneous deployment patterns, the
                    boundaries between computing resources and the underlay network are no longer
                    exactly separated. Computing-related services and corresponding scheduling
                    schemes have gained their popularity and necessity in current and future
                    circumstances. Considering the large number of future service instances and the
                    dynamic and continuous nature of computing state variations, reflecting detailed
                    instance information in the system will result in an incalculable number of
                    entries and computational complexity. This will be catastrophic, especially for
                    a circumstance of distributed control plane.</t>
        <t>As illustrated in <xref target="I-D.ldbc-cats-framework" format="default"/>,
                    the Ingress CATS-Router steers service-specific traffic along a CATS-computed
                    path that leads to an Egress CATS-Router that connects to the most suitable edge
                    site that host the service contact instance selected to satisfy the initial
                    service demand. In some cases, the choice of the service contact instance may be
                    left open to the Egress CATS-Router and the Egress CATS-Router selects a service
                    contact instance using its knowledge of service and network capabilities as well
                    as the current load as observed by the CATS router among other considerations.
                    Therefore, the end-to-end CATS process is implemented in a hierarchical manner.</t>
        <t>A corresponding hierarchical two segment routing scheme is also proposed and
                    analyzed in <xref target="I-D.huang-cats-two-segment-routing" format="default"/> which
                    separates the service routing path into two segments regarding the highly
                    dynamic computing status. Aggregated per-site computing related metrics appears
                    as a privileged option scalability-wise. High frequency of computing status
                    updates is restrained in a higher level decision region which is the GCRS
                    segment described in this draft.</t>
        <t>The introduction of hierarchical segment routing for end-to-end CATS brings about
                    the following significant superiority: </t>
        <ul spacing="normal">
          <li>
            <t>The number of entries in the control plane is decreased while the
                            computational complexity of path selection is also reduced.</t>
          </li>
          <li>
            <t>Relatively dynamic computing status of any explicit instance is separated
                            from a decision region in a higher level. The refresh of entries in the
                            FIB is also suppressed.</t>
          </li>
        </ul>
        <t>Comparatively, in a non-hierarchical scheme, a specific instance may be directly
                    selected in a sole decison. Thus, a qualitative comparison between hierarchical
                    and non-hierarchical schemes is shown below.</t>
        <figure>
          <name>Comparison between Hierarchical and Non-hierarchical Schemes</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
    
+----------------+----------------------+--------------------+
|                |     Hierarchical     |  Non-hierarchical  |
+----------------+----------------------+--------------------+
| Entries in     | Local instances      | All instances      |
| the control    | and global PEs       | with paths         |
| plane          | with paths           |                    |
| (Service RIB)  |                      |                    |
+----------------+----------------------+--------------------+
| Entries in     | Single 'best'        | Single 'best'      |
| the forwarding | entry or multiple    | entry or multiple  |
| plane          | equal entries        | equal entries      |
| (Service FIB)  |                      |                    |
+----------------+----------------------+--------------------+
| Frequency of   | When a relatively    | When a choice      |
| updates of     | stable choice among  | among all possible |
| Service FIB    | PEs updates or       | instances updates  |
|                | local updates happen |                    |
+----------------+----------------------+--------------------+
    
                    ]]></artwork>
        </figure>
        <t keepWithPrevious="true"/>
        <t>Regarding "R6 MUST realize means for rate control for distributing of metrics"
                    mentioned in <xref target="I-D.ietf-cats-usecases-requirements" format="default"/>,
                    rate control MAY not be enough for future conditions due to distributed and
                    ubiquitous instances. Thus, an incremental requirement is proposed:</t>
        <t>R: SHOULD provide mechanisms to aggregate service metrics for distribution.</t>
        <t>However, a hierarchical segment routing implys a multi-device decision-making
                    manner which leads to possible problems: </t>
        <ul spacing="normal">
          <li>
            <t>The explicit information of multiple service instances is blurred and
                            becomes
                            invisible. A cohesive set of information which represents a whole cloud
                            sites or a cluster of service instances must be properly designed. A
                            global
                            decision-making requires correctness and consistency.</t>
          </li>
          <li>
            <t>As a general problem in common distributed systems, global updates of
                            status
                            variations require a period of notification time. Thus, a microloop
                            problem
                            exists similar to IGP deployed conditions in conventional IP networks.</t>
          </li>
        </ul>
        <t>Thus, this draft proposes a problem statement and incremental requirements of
                    hierarchical segment routing schemes in the end-to-end CATS process.</t>
      </section>
    </section>
    <section numbered="true" toc="default">
      <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" format="default"/>
        <xref target="RFC8174" format="default"/> when, and only when, they appear in all capitals, as
                shown here.</t>
    </section>
    <section numbered="true" toc="default">
      <name>Terminology</name>
      <ul spacing="normal">
        <li>
          <t>GCRS: Global Computing Resource and Service Status</t>
        </li>
        <li>
          <t>FIB: Forwarding Information Base</t>
        </li>
        <li>
          <t>IGP: Interior Gateway Protocol</t>
        </li>
        <li>
          <t>SR: Segment Routing</t>
        </li>
        <li>
          <t>SRv6: Segment Routing over IPv6</t>
        </li>
      </ul>
    </section>
    <section numbered="true" toc="default">
      <name>Problem 1: Design of a Cohesive Scheme to Make Consistent Decisions</name>
      <t>As shown below, Instance 1 to Instance 7 locate at PE 1 to PE 3 respectively and
                their explicit information is displayed with typical computing attributes of CPU
                cores, memory remains and load.</t>
      <figure>
        <name>Primitive Metadata with a Hierarchical Scheme</name>
        <artwork align="center" name="" type="" alt=""><![CDATA[

                              +----------+          +------------+
                              |   PE 3   +----------+ Instance 7 |
                              +----++----+          +------------+
                                   ||                6C,200G,60%.
                                   ||
                                   ||
                      +------------++------------+
                     /                            \
                    /                              \
                   /                                \
                  /                                  \
                 /                                    \
           +----------+                          +----------+
           |   PE 1   +--------------------------+   PE 2   |
           +----++----+                          +----++----+
                ||                                    ||
                ||                                    ||
            (---++---)                            (---++---)
         (---        ---)                      (---        ---)
   -------              --------         -------              --------
  (+------------+               )       (+------------+               )
 ( | Instance 1 |  4C,160G,40%.  )     ( | Instance 4 |  6C,100G,20%.  )
 ( +------------+                )     ( +------------+                )
 ( +------------+                )     ( +------------+                )
(  | Instance 2 |  8C,300G,60%.   )   (  | Instance 5 |  8C,200G,20%.   )
(  +------------+                 )   (  +------------+                 )
 ( +------------+                )     ( +------------+                )
 ( | Instance 3 |  6C,200G,50%.  )     ( | Instance 6 |  8C,250G,80%.  )
  (+------------+               )       (+------------+               )
   -----------------------------         -----------------------------

                                         CPU Cores, Memory Remains, Load.

                ]]></artwork>
      </figure>
      <t keepWithPrevious="true"/>
      <t>Without a hierarchical scheme, PE 1, PE 2 and PE 3 learn and maintain the information
                of each service instance as shown below. Entries generated and maintained at PE 1,
                PE 2 and PE 3 are completely identical. Suppose a computing-related service is
                sensitive to a memory attribute and other constraints are temporarily ignored, then
                Instance 2 should be selected as the most appropriate instance.</t>
      <figure>
        <name>Explicit Entries without a Hierarchical Scheme</name>
        <artwork align="center" name="" type="" alt=""><![CDATA[

Instance 1    4C,160G,40%.
Instance 2    8C,300G,60%.
Instance 3    6C,200G,50%.
Instance 4    6C,100G,20%.
Instance 5    8C,200G,20%.
Instance 6    8C,250G,80%.
Instance 7    6C,200G,60%.

                ]]></artwork>
      </figure>
      <t keepWithPrevious="true"/>
      <t>Then, a hierarchical scheme is applied and suppose a summation method is utilized to
                express the aggregated information of all instances connected to a PE while explicit
                and detailed information is concealed. Entries maintained at PE 1, PE 2
                and PE 3 vary from each other. Suppose a service request accesses at PE 3, the
                request is steered to PE 1 according to the entries stored at PE 3. Similar
                decision procedures are made at PE 1 and PE 2, then the request is steered between
                PE 1 and PE 2 continuously which generates a permanent loop.</t>
      <figure>
        <name>Cohesive Entries with a Hierarchical Scheme</name>
        <artwork align="center" name="" type="" alt=""><![CDATA[

At PE 1:          At PE 2:          At PE 3:
Instance 1  160G  Instance 4  100G  Instance 7  200G
Instance 2  300G  Instance 5  200G  PE 1        660G
Instance 3  200G  Instance 6  250G  PE 2        550G
PE 2        550G  PE 1        660G
PE 3        200G  PE 3        200G

                         |
                         V
                    +----------+
                    |   PE 3   |
                    +---+--+---+
                    /  /    \
                   /  /      \
                  /  /        \
                 /  /          \
                V  /            \
             +----------+  +----------+
             |   PE 1   +--+   PE 2   |
             +----------+  +----------+
                    ----------->
                    <-----------

                ]]></artwork>
      </figure>
      <t keepWithPrevious="true"/>
      <t>Based on the above example, inappropriate aggregation algorithms lead to inconsistent
                decisions among multiple PEs in the global region. The fundamental reason is that
                the application of summation leads to the disappearance of comparability between
                aggregated information and detailed information and a summation value of a cluster
                of instances is always preferred and thus selected. Therefore, a requirement is
                proposed for Problem 1 that the cohesive information needs to be comparable to the
                information of any explicit single instance. In the condition illustrated in Figure
                2, taking the maximum value may be an appropriate method to unify the
                decision-making process. No matter a service request accesses at PE 1, PE 2 or PE 3,
                a forementioned loop problem is avoided.</t>
      <figure>
        <name>Adjusted Cohesive Entries with a Hierarchical Scheme</name>
        <artwork align="center" name="" type="" alt=""><![CDATA[

At PE 1:          At PE 2:          At PE 3:
Instance 1  160G  Instance 4  100G  Instance 7  200G
Instance 2  300G  Instance 5  200G  PE 1        300G
Instance 3  200G  Instance 6  250G  PE 2        250G
PE 2        250G  PE 1        300G
PE 3        200G  PE 3        200G

                    +----------+
                    |   PE 3   |
                    +---+--+---+
                       /    \
                      /      \
                     /        \
                    /          \
                   /            \
             +----------+  +----------+
             |   PE 1   +--+   PE 2   |
             +----------+  +----------+
              PE 1-->Instance 2
              PE 2-->PE 1-->Instance 2
              PE 3-->PE 1-->Instance 2

                ]]></artwork>
      </figure>
      <t keepWithPrevious="true"/>
    </section>
    <section numbered="true" toc="default">
      <name>Problem 2: Lack of Detailed Information Affects Decisions</name>
      <t>Undoubtedly, there is an information gap to utilize aggregated information to
                generally represent the ability among multiple instances at a PE. Therefore,
                profound analysis is required to determine whether decisions made based on
                aggregated information can adapt to various scheduling strategies. Taking a
                preferred strategy and a balanced strategy as examples, the use case and analysis
                are presented below.</t>
      <figure>
        <name>Average Value as the Cohesive Information</name>
        <artwork align="center" name="" type="" alt=""><![CDATA[

           +----------+
Access---->|   PE 3   |
           +---+--+---+
              /    \
             /      \
            /        \
           /          \
          /            \
    +----------+  +----------+
    |   PE 1   +--+   PE 2   |
    +----------+  +----------+
At PE 1:          At PE 2:
Instance 1  100G  Instance 4  160G
Instance 2  100G  Instance 5  200G
Instance 3  400G  Instance 6  300G
Average     200G  Average     220G

                ]]></artwork>
      </figure>
      <t keepWithPrevious="true"/>
      <t>Under a preferred strategy, suppose an average value is selected to represent the
                instances behind a PE, when a service request accesses at PE 3, it finds that the
                performance of PE 2 seems better than PE 1 since the aggregated value is higher at
                PE 2. However, the 'best' instance which is Instance 3 locates at PE 1.</t>
      <t>Therefore, a maximum value or a minimum value is suggested to be the aggregated
                information to adapt a preferred strategy. However, practical problems may be
                sophisticated.</t>
      <t>In a more complicated occasion below, more attributes are required to expose to
                fulfill a multi-factor optimization with constraints. As shown below, under scheme
                1, scheme 2 and scheme 3, the traffic is misled to the incorrect PE with the
                knowledge of the exposed information, however, Instance 6 and Instance 7 prove to be
                the 'best' respectively which satisfies the requirement and maintains the most
                memory resource with a global vision.</t>
      <t>Taking scheme 1 as an example, a computing related service requires the end-to-end
                delay is no more than 50ms and it is reckoned as a memory sensitive service. The
                best value among instances for each attribute is selected as the aggregated value.
                Thus, 400G and 20ms represent the performance at PE 1 while 260G and 30ms represent
                the performance at PE 2. Referring to the aggregated value, PE 1 seems to be the
                'better' selection. However, Instance 3 at PE 1 fails to satisfy the service
                requirement while Instance 1 and Instance 2 have lower memory values than Instance 6
                at PE 2.</t>
      <figure>
        <name>Cohesive Entries with Multiple Factors</name>
        <artwork align="center" name="" type="" alt=""><![CDATA[

                Requirement: <50ms

                   +----------+
        Access---->|   PE 3   |
                   +----------+
                   /          \
                  /            \
                 / 10ms         \ 10ms
                /                \
               /                  \
         +----------+        +----------+
         |   PE 1   +--------+   PE 2   |
         +----------+        +----------+
At PE 1:                     At PE 2:
Instance 1  100G,20ms        Instance 4  200G,30ms
Instance 2  220G,20ms        Instance 5  200G,30ms
Instance 3  400G,40ms        Instance 6  260G,30ms *

Scheme 1    400G,20ms *                  260G,30ms
Best Memory, Best Delay

Scheme 2    240G,27ms *                  220G,30ms
Average Memory, Average Delay

                   +----------+
        Access---->|   PE 3   |
                   +----------+
                   /          \
                  /            \
                 / 10ms         \ 10ms
                /                \
               /                  \
         +----------+        +----------+
         |   PE 1   +--------+   PE 2   |
         +----------+        +----------+
At PE 1:                     At PE 2:
Instance 1  100G,20ms        Instance 4  200G,30ms
Instance 2  220G,20ms        Instance 5  200G,30ms
Instance 3  400G,40ms        Instance 6  260G,30ms
Instance 7  350G,30ms *

Scheme 3    400G,40ms                    260G,30ms *
Instance with Best Memory

                ]]></artwork>
      </figure>
      <t keepWithPrevious="true"/>
      <t>Since the aggregated information shields explicit and detailed entries, it is
                difficult to locate the 'best' instance under a preferred strategy. However,
                appropriate aggregation algorithm can indicate part of the satisfied instances which
                could adapts to a balanced strategy. It is suggested that an aggregation algorithm
                should be designated with the knowledge of distribution of computing resources and
                corresponding scheduling strategies.</t>
      <t>With future considerations, the number of service instances may increase to a large
                amount, the explicit information of running status may be displayed in a continous
                manner. 50,000 instances with load from 40% to 60% for instance. With the instances
                sorted, the values in the 'best' section may be 40%, 40.1%, 40.2%, and a great
                number of similar values. Thus, it is difficult to distinguish and it also may not
                be neccessary to select the 'best' one. Under the mentioned circumstances, a
                hierarchical method with aggregation algorithms introduced can adapt well.</t>
    </section>
    <section numbered="true" toc="default">
      <name>Problem 3: Microloop Caused by Interruptions</name>
      <t>As show below, suppose a service client accesses at PE 2 and Instance 2 located at a
                cloud site connected to PE 1 loses efficacy at a sudden. This event has not yet been
                notified to PE 2 in a timely manner which leads to a mistake that PE 2 still
                steers the traffic to PE 1 which is still reckoned as the best selection. However,
                whenever PE 1 discovers that Instance 2 becomes invalid and updates its FIB, PE 2
                turns out to be the most appropriate choice decided at PE 1. Thus, the traffic is
                steered back to PE 2 which forms a microloop.</t>
      <figure>
        <name>Interrupt Notification with Time Difference</name>
        <artwork align="center" name="" type="" alt=""><![CDATA[

                                 +----------+          +------------+
                                 |   PE 3   +----------+ Instance 7 |
                                 +----++----+          +------------+
                                      ||                6C,200G,60%.
                                      ||
                                      ||
   At PE 1:              +------------++------------+      At PE 2:
   Instance 1  160G     /                            \     Instance 4  100G
x  Instance 2  300G    /                              \    Instance 5  200G
   Instance 3  200G   /                                \   Instance 6  250G
*  PE 2        250G  /                                  \  PE 1        300G *
   PE 3        200G /                                    \ PE 3        200G
              +----------+   ------------------->   +----------+
              |   PE 1   +--------------------------+   PE 2   +<-------- Access
              +----++----+   <-------------------   +----++----+
                   ||                                    ||
                   ||                                    ||
               (---++---)                            (---++---)
            (---        ---)                      (---        ---)
      -------              --------         -------              --------
     (+------------+               )       (+------------+               )
    ( | Instance 1 |  4C,160G,40%.  )     ( | Instance 4 |  6C,100G,20%.  )
    ( +------------+                )     ( +------------+                )
    ( +------------+x               )     ( +------------+                )
   (  | Instance 2 |x 8C,300G,60%.   )   (  | Instance 5 |  8C,200G,20%.   )
   (  +------------+x                )   (  +------------+                 )
    ( +------------+                )     ( +------------+                )
    ( | Instance 3 |  6C,200G,50%.  )     ( | Instance 6 |  8C,250G,80%.  )
     (+------------+               )       (+------------+               )
      -----------------------------         -----------------------------

                ]]></artwork>
      </figure>
      <t keepWithPrevious="true"/>
      <t>Without a hierarchical scheme, the destination is explicitly indicated with a single
                decision process. Without introducing or configuring instance or path protection
                schemes,
                packets will be directly discarded.</t>
      <t>Compared with microloop occured in IGP, a microloop mentioned here has similarities.
                Distributed status storage and disorderly convergence lead to inconsistent
                decision-making among distributed devices. SR provides a scheme to eliminate
                potential loops in the network with minimal impact on the network, creating an
                acyclic SRv6 Segment List for instance. However, unlike conventional problems and
                solutions, an explicit destination is not determined within previous decisions in a
                hierarchical scheme. Therefore, explicit routing path indicated by SR is not enough
                to solve a hierarchical segment routing problem. Actually, a higher level decision
                has been made within the last entry lookup. Thus, entries should be distinguished
                according to their gradation in the overall hierarchical scheme. And finally a
                requirement is proposed for Problem 3 that hierarchical entries should be designed
                and a corresponding forwarding behaviour should be introduced to adapt the
                forementioned entries.</t>
    </section>
    <section numbered="true" toc="default">
      <name>Incremental Requirements for end-to-end CATS</name>
      <t>As illustrated in <xref target="I-D.ietf-cats-usecases-requirements" format="default"/>,
                the requirements of CATS are listed. As analyzed in this draft, the incremental
                requirements for a hierarchical segment routing scheme for CATS are further
                concluded as follows:</t>
      <ol spacing="normal" type="1"><li>
          <t>The cohesive information calculated by an aggregation algorithm SHOULD be
                        comparable to a explicit entry of any service instance to guarantee the
                        consistency and basic correctness of decision-making process.</t>
        </li>
        <li>
          <t>The aggregation algorithm SHOULD be appropriately designed according to the
                        distribution of computing resources and a corresponding applied scheduling
                        strategy to reflect the performance and compatibility of local instances.
                        Qualified service instances MUST be distinguished.</t>
        </li>
        <li>
          <t>Hierarchical forwarding information entries SHOULD be separated within the
                        lookup process and a corresponding hierarchical forwarding mechanism SHOULD
                        be introduced accordingly.</t>
        </li>
      </ol>
    </section>
    <section numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>TBA.</t>
    </section>
    <section anchor="Acknowledgements" numbered="true" toc="default">
      <name>Acknowledgements</name>
      <t>TBA.</t>
    </section>
    <section anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>TBA.</t>
    </section>
  </middle>
  <!--  *****BACK MATTER ***** -->

    <back>
    <references>
      <name>Normative References</name>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
        <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" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
        <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>
      <reference anchor="I-D.ldbc-cats-framework" target="https://datatracker.ietf.org/doc/html/draft-ldbc-cats-framework-03" xml:base="https://bib.ietf.org/public/rfc/bibxml-ids/reference.I-D.ldbc-cats-framework.xml">
        <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>
          <author fullname="Daniel Huang" initials="D." surname="Huang">
            <organization>ZTE</organization>
          </author>
          <author fullname="Gyan Mishra" initials="G. S." surname="Mishra">
            <organization>Verizon Inc.</organization>
          </author>
          <date day="4" month="August" year="2023"/>
          <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-ldbc-cats-framework-03"/>
      </reference>
      <reference anchor="I-D.huang-cats-two-segment-routing" target="https://datatracker.ietf.org/doc/html/draft-huang-cats-two-segment-routing-01" xml:base="https://bib.ietf.org/public/rfc/bibxml-ids/reference.I-D.huang-cats-two-segment-routing.xml">
        <front>
          <title>Hierarchical segment routing solution of CATS</title>
          <author fullname="Daniel Huang" initials="D." surname="Huang">
            <organization>ZTE Corporation</organization>
          </author>
          <author fullname="Zongpeng Du" initials="Z." surname="Du">
            <organization>China Mobile</organization>
          </author>
          <author fullname="Chen Zhang" initials="C." surname="Zhang">
            <organization>Purple Moutain Laborotary</organization>
          </author>
          <date day="5" month="September" year="2023"/>
          <abstract>
            <t>CATS (Computing Aware Traffic Steering) is designed to enable the routing network to be aware of computing status thus deliver the service flow accordingly. Nevertheless, computing and networking is quite different in terms of resource granularity as well as its status stability. It would gain significant benefits to accommodate the computing status to that of networking by employing a hierarchical computing routing segment scheme. The network- accommodated computing status could be maintained at remote CATS nodes while the rest could reside at local CATS nodes. By enabling the network to schedule and route computing services in a compatible way with the current IP routing network, CATS would bring benefits to the industry by both efficiently pooling the computing resources and rendering services through perspective of converged networking and computing.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-huang-cats-two-segment-routing-01"/>
      </reference>
      <reference anchor="I-D.ietf-cats-usecases-requirements" target="https://datatracker.ietf.org/doc/html/draft-ietf-cats-usecases-requirements-00" xml:base="https://bib.ietf.org/public/rfc/bibxml-ids/reference.I-D.ietf-cats-usecases-requirements.xml">
        <front>
          <title>Computing-Aware Traffic Steering (CATS) Problem Statement, Use Cases, and Requirements</title>
          <author fullname="Kehan Yao" initials="K." surname="Yao">
            <organization>China Mobile</organization>
          </author>
          <author fullname="Dirk Trossen" initials="D." surname="Trossen">
            <organization>Huawei Technologies</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="Hang Shi" initials="H." surname="Shi">
            <organization>Huawei Technologies</organization>
          </author>
          <author fullname="Yizhou Li" initials="Y." surname="Li">
            <organization>Huawei Technologies</organization>
          </author>
          <author fullname="Shuai Zhang" initials="S." surname="Zhang">
            <organization>China Unicom</organization>
          </author>
          <date day="24" month="July" year="2023"/>
          <abstract>
            <t>Distributed computing is a tool that service providers can use to achieve better service response time and optimized energy consumption. In such a distributed computing environment, providing services by utilizing computing resources hosted in various computing facilities aids support of services such as computationally intensive and delay sensitive services. Ideally, compute services are balanced across servers and network resources to enable higher throughput and lower response times. To achieve this, the choice of server and network resources should consider metrics that are oriented towards compute capabilities and resources instead of simply dispatching the service requests in a static way or optimizing solely on connectivity metrics. The process of selecting servers or service instance locations, and of directing traffic to them on chosen network resources is called "Computing-Aware Traffic Steering" (CATS). This document provides the problem statement and the typical scenarios for CATS, which shows the necessity of considering more factors when steering traffic to the appropriate computing resource to best meet the customer's expectations and deliver the requested service.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-cats-usecases-requirements-00"/>
      </reference>
    </references>
  </back>
</rfc>
