<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="info" docName="draft-du-computing-resource-representation-00" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="3" symRefs="true" sortRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.3 -->
  <front>
    <title abbrev="Computing Resource Representation in CAN">Computing
    Resource Representation in Computing Aware Networking</title>
    <seriesInfo name="Internet-Draft" value="draft-du-computing-resource-representation-00"/>
    <author fullname="Zongpeng Du" initials=" Z." surname="Du">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <street>No.32 XuanWuMen West Street</street>
          <city>Beijing</city>
          <code>100053</code>
          <country>China</country>
        </postal>
        <email>duzongpeng@foxmail.com</email>
      </address>
    </author>
    <author fullname="Yuexia Fu" initials="Y." surname="Fu">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <street>No.32 XuanWuMen West Street</street>
          <city>Beijing</city>
          <code>100053</code>
          <country>China</country>
        </postal>
        <email>fuyuexia@chinamobile.com</email>
      </address>
    </author>
    <date month="" year="2022"/>
    <area>Routing Area</area>
    <workgroup>Network Working Group</workgroup>
    <keyword>CAN, Dyncast, service metric</keyword>
    <abstract>
      <t>This document introduces the way of encoding service-specific
      information and the way of signaling it in the network.</t>
    </abstract>
    <note>
      <name>Requirements Language</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in <xref target="RFC2119" format="default">RFC 2119</xref>.</t>
    </note>
  </front>
  <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
      <t>Traditionally, the network can only do traffic engineering according
      to the network statuses. As the trend of computing and network
      convergence, some works are proposed for network to be aware of service
      information, and can make a better choice in the traffic steering
      accordingly. Dynamic Anycast (Dyncast) and Computing Aware Networking
      (CAN) could make the routing decisions based on both the network and
      computing statuses, being considered as an advanced mechanism in
      computing and network convergence.</t>
      <t>In traditional network architecture, the network is only responsible
      for delivering packets between servers and clients, and is not aware of
      the computing information. <xref target="I-D.liu-dyncast-ps-usecases" format="default"/>
      and <xref target="I-D.liu-dyncast-reqs" format="default"/> show that, when service
      instances are deployed at multiple geographical edge sites, Dyncast
      would achieve service equivalence and load balancing by considering both
      the service metrics and network metrics.</t>
      <t>However, the method of notifying the service metrics in the network,
      representation of computing resources, and signaling of computing
      resource to the network are still uncertain, which is important for the
      network domain to know about the computing domain.</t>
      <t>This document dose further exploring on the way of service metrics
      encoding and signaling.</t>
      <t/>
    </section>
    <section numbered="true" toc="default">
      <name>Consideration of and representation of computing metric</name>
      <t/>
      <section numbered="true" toc="default">
        <name>Comparation of network metric and computing metric</name>
        <t>The main job of the network is to forward the packets of the users
        from the source to the destination, while the main job of the
        computing is to complete the various tasks of the users.</t>
        <t>The network metrics include the bandwidth, latency, jitter, etc.
        They can describe the abilities of the network, and are independent of
        the detailed realization of the underlayer technologies, such as the
        mode of the optical fiber, or the structure of a switch.</t>
        <t>The service metrics are more complex, which is hard to match the
        QoS/QoE. For example, if the task is the AI computing, such as the
        image processing, the computing resource can be measured by using
        FLOPS (Floating-point Operations Per Second) or TFLOPS (Tera FLOPS).
        However, it is more difficult to get the process time, which will be
        influenced by the current utilization rate of CPU, cache, and so on.
        Even some real-time OS or protocol are used, some times it will fail
        because of the deadlock or others mechanisms of OS.That is not to say
        there is any problem with the OS, but the complex environment in it.
        So the service metric will consider more factors to judge the
        performance, and how to be used in other domain to guarantee the E2E
        service quality.</t>
      </section>
      <section numbered="true" toc="default">
        <name>Representation of computing metric</name>
        <t>Based on the diversity of computing resources, to use the
        information of computing resource for network, we can use two ways to
        represent them.</t>
        <t>At one aspect, we can offer a general computing load information to
        the ingress nodes. As an example, we perhaps only need to three
        values:</t>
        <t>one red value stands for the busy status,</t>
        <t>one yellow value stands for relatively busy status,</t>
        <t>one green value stands for free status.</t>
        <t>Therefore, the ingress node only needs to consider the yellow MECs
        and green MECs when doing load balancing, in which the green ones are
        more preferred. That is like the SR policy and could also be used
        together, for example, to choose a yellow path and a yellow service
        instance.</t>
        <t>At the other aspect, we can also offer some other computing related
        information to the ingress nodes for a specific, such as:</t>
        <t>the service information deployed on MEC, for example, Service
        ID,</t>
        <t>the maximum session number that the MEC can provide,</t>
        <t>the current session number that is in use,</t>
        <t>the CPU/GPU utilization,</t>
        <t>the FLOPS/HASH ability of the server,</t>
        <t>the available computing infrastructure of the server, etc.</t>
        <t>These additional information may be optional and encoded as TLVs. A
        specific service may have a specific preferred set of TLVs. When more
        information is offered, the ingress node can make a better decision
        according to more dimensions. For example, if multiple instances have
        the same free status, the ingress node can make a better choice
        according to the additional TLVs. The detailed decision algorithm is
        out of scope of this document.</t>
        <t/>
      </section>
      <section numbered="true" toc="default">
        <name>Example precess of computing load information</name>
        <t>For a specific service, we can offer both a general computing load
        information and some more specific information about the computing. A
        general process about it is described as below.</t>
        <t>Step1: The service instances are deployed in multiple MECs. The
        ingress nodes of network working as the load balancing point needs to
        obtain the computing information. The service should have a specific
        SID, for example SID1, in the network, so that the ingress node can
        recognize and treat the service request differently according to
        SID.</t>
        <t>Step2: After obtaining the computing information of a service
        related to ServiceID1 from multiple MECs, the ingress nodes should
        record the computing information. Meanwhile, an ingress node should
        also be able to obtain network status, for example the latency to the
        egress of an MEC, and record it.</t>
        <t>Step3: An ingress node receives a packet targeted to the
        ServiceID1. According to the service metrics and network metrics it
        has recorded, the ingress node makes a decision about which MEC to use
        and forward the packet to the related egress. The selection method may
        be depended on the service. For example, it may be the one with the
        lowest latency among the ones that can offer the service, or the one
        with the best computing resource among the ones that have a latency
        fulfilling the service requirements, or a hybrid method.</t>
        <t>The purpose of the procedure is to find an MEC that is relatively
        near to the client, and also have enough computing resource for the
        service. However, the MECs that provide the service may be various,
        and perhaps have different computing abilities. Therefore, a load
        balancing method considering the computing resource is useful in this
        scenario.</t>
        <t/>
        <t/>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>Signaling of Computing Load Information</name>
      <t>For the signaling, a general process about it is described as
      below.</t>
      <t>Step1: The gateway of the MEC collects the status information of a
      service, such as SID1. For example, the controller in the MEC can
      collect the information and notify the gateway of the MEC.</t>
      <t>Step2: The egress of the MEC receives the service status information
      of the SID1 from the gateway of the MEC, and notify other network nodes
      including the ingress nodes.</t>
      <t>In the first step, the controller or the gateway perhaps can
      communication by using PCE or other protocol for the SDN controller. In
      the second step, the SDN method can also be used; however,
      communications between the controller of the MEC and the controller of
      the network may be needed, which is complicated. In this document, we
      suggest transferring computing information by using BGP. When we are
      notifying that the MEC can support SerivceID1, i.e., the route for
      ServiceID1, we can include additional computing information in its
      Extended Community.</t>
      <t/>
      <t/>
    </section>
    <section anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>TBD.</t>
    </section>
    <section anchor="Security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>TBD.</t>
    </section>
    <section anchor="Acknowledgements" numbered="true" toc="default">
      <name>Acknowledgements</name>
      <t>TBD.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization/>
            </author>
            <date year="1997" month="March"/>
            <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>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="I-D.liu-dyncast-reqs" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml-ids/reference.I-D.liu-dyncast-reqs.xml" target="https://www.ietf.org/archive/id/draft-liu-dyncast-reqs-01.txt">
          <front>
            <title>Dynamic-Anycast (Dyncast) Requirements</title>
            <author fullname="Peng Liu">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Tianji Jiang">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Peter Willis">
              <organization>BT</organization>
            </author>
            <author fullname="Dirk Trossen">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Cheng Li">
              <organization>Huawei Technologies</organization>
            </author>
            <date month="January" day="17" year="2022"/>
            <abstract>
              <t>   This draft provides requirements for an architecture addressing the
   problems outlined in the use case and problem statement draft for
   Dyncast[I-D.liu-dyncast-ps-usecases] .

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-liu-dyncast-reqs-01"/>
        </reference>
        <reference anchor="I-D.liu-dyncast-ps-usecases" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml-ids/reference.I-D.liu-dyncast-ps-usecases.xml" target="https://www.ietf.org/archive/id/draft-liu-dyncast-ps-usecases-02.txt">
          <front>
            <title>Dynamic-Anycast (Dyncast) Use Cases &amp; Problem Statement</title>
            <author fullname="Peng Liu">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Peter Willis">
              <organization>BT</organization>
            </author>
            <author fullname="Dirk Trossen">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Cheng Li">
              <organization>Huawei Technologies</organization>
            </author>
            <date month="January" day="17" year="2022"/>
            <abstract>
              <t>   Many service providers are exploring distributed computing techniques
   to achieve better service response time and optimized energy
   consumption. by moving Such techniques rely upon the distribution of
   computing services and capabilities over many locations in the
   network such as its edge(e.g., 5G MEC (Multi-access Edge Computing)
   scenarios), the metro region, virtualized central office, and other
   locations.  In such a distributed computing environment, providing
   services by soliciting computing resources hosted in various
   computing facilities (e.g., edges) is being considered, e.g., for
   computationally intensive and delay sensitive services.  Ideally,
   Services should be computationally balanced using service-specific
   metrics instead of simply dispatching the service requests in a
   static way or optimizing solely connectivity metrics.  For example,
   systematically directing end user-originated service requests to the
   geographically closest edge or some small computing units may lead to
   an unbalanced usage of computing resources, which may then degrade
   both the user experience and the overall service performance.

   This draft provides an overview of scenarios and problems associated
   with realizing such scenarios, identifying several key areas which
   require more investigations in terms of architecture and protocol to
   achieve balanced computing and networking resource utilization among
   edges providing the services.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-liu-dyncast-ps-usecases-02"/>
        </reference>
      </references>
    </references>
  </back>
</rfc>
