<?xml version="1.0" encoding="utf-8"?>
<!--
     draft-rfcxml-general-template-standard-00

     This template includes examples of the most commonly used features of RFCXML with comments
     explaining how to customise them. This template can be quickly turned into an I-D by editing
     the examples provided. Look for [REPLACE], [REPLACE/DELETE], [CHECK] and edit accordingly.
     Note - 'DELETE' means delete the element or attribute, not just the contents.

     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
  xmlns:xi="http://www.w3.org/2001/XInclude"
  category="info"
  docName="draft-paillisse-nmrg-performance-digital-twin-00"
  ipr="trust200902"
  obsoletes=""
  updates=""
  submissionType="IETF"
  xml:lang="en"
  version="3">


  <front>
    <title abbrev="Network Performance Digital Twin">A Performance-Oriented Digital Twin for Carrier Networks</title>


    <seriesInfo name="Internet-Draft" value="draft-paillisse-nmrg-performance-digital-twin-00"/>

     <author fullname="Jordi Paillisse" initials="J." surname="Paillisse">
          <organization>UPC-BarcelonaTech</organization>

          <address>
            <postal>
              <street>c/ Jordi Girona 1-3</street>
              <city>Barcelona</city>
              <code>08034</code>
              <region>Catalonia</region>
              <country>Spain</country>
            </postal>
            <email>jordi.paillisse@upc.edu</email>
          </address>
        </author>

        <author fullname="Paul Almasan" initials="P." surname="Almasan">
          <organization>UPC-BarcelonaTech</organization>

          <address>
            <postal>
              <street>c/ Jordi Girona 1-3</street>
              <city>Barcelona</city>
              <code>08034</code>
              <region>Catalonia</region>
              <country>Spain</country>
            </postal>
            <email>felician.paul.almasan@upc.edu</email>
          </address>
        </author>

        <author fullname="Miquel Ferriol" initials="M." surname="Ferriol">
          <organization>UPC-BarcelonaTech</organization>

          <address>
            <postal>
              <street>c/ Jordi Girona 1-3</street>
              <city>Barcelona</city>
              <code>08034</code>
              <region>Catalonia</region>
              <country>Spain</country>
            </postal>
            <email>miquel.ferriol@upc.edu</email>
          </address>
        </author>

        <author fullname="Pere Barlet" initials="P." surname="Barlet">
          <organization>UPC-BarcelonaTech</organization>

          <address>
            <postal>
              <street>c/ Jordi Girona 1-3</street>
              <city>Barcelona</city>
              <code>08034</code>
              <region>Catalonia</region>
              <country>Spain</country>
            </postal>
            <email>pere.barlet@upc.edu</email>
          </address>
        </author>

        <author fullname="Albert Cabellos" initials="A." surname="Cabellos">
          <organization>UPC-BarcelonaTech</organization>

          <address>
            <postal>
              <street>c/ Jordi Girona 1-3</street>
              <city>Barcelona</city>
              <code>08034</code>
              <region>Catalonia</region>
              <country>Spain</country>
            </postal>
            <email>alberto.cabellos@upc.edu</email>
          </address>
        </author>

        <author fullname="Shihan Xiao" initials="S." surname="Xiao">
          <organization>Huawei</organization>

          <address>
            <postal>
              <street></street>
              <city></city>
              <code></code>
              <region></region>
              <country>China</country>
            </postal>
            <email>xiaoshihan@huawei.com</email>
          </address>
        </author>

      <author fullname="Xiang Shi" initials="X." surname="Shi">
          <organization>Huawei</organization>

          <address>
            <postal>
              <street></street>
              <city></city>
              <code></code>
              <region></region>
              <country>China</country>
            </postal>
            <email>shixiang16@huawei.com</email>
          </address>
        </author>


      <author fullname="Xiangle Cheng" initials="X." surname="Cheng">
          <organization>Huawei</organization>

          <address>
            <postal>
              <street></street>
              <city></city>
              <code></code>
              <region></region>
              <country>China</country>
            </postal>
            <email>chengxiangle1@huawei.com</email>
          </address>
        </author>

        <author fullname="Diego Perino" initials="D." surname="Perino">
          <organization>Telefonica I+D</organization>

          <address>
            <postal>
              <city>Barcelona</city>
              <country>Spain</country>
            </postal>
            <email>diego.perino@telefonica.com</email>
          </address>
        </author>


        <author fullname="Diego Lopez" initials="D." surname="Lopez">
          <organization>Telefonica I+D</organization>

          <address>
            <postal>
              <city>Seville</city>
              <country>Spain</country>
            </postal>
            <email>diego.r.lopez@telefonica.com</email>
          </address>
        </author>


        <author fullname="Antonio Pastor" initials="A." surname="Pastor">
          <organization>Telefonica I+D</organization>

          <address>
            <postal>
              <city>Madrid</city>
              <country>Spain</country>
            </postal>
            <email>antonio.pastorperales@telefonica.com</email>
          </address>
        </author>
<date year="2022" month="7" day="11"/>

    <area>IRTF</area>
    <workgroup>Network Management Research Group</workgroup>

    <keyword>Digital Twin</keyword>
    <keyword>Performance</keyword>
    <keyword>keyword</keyword>


    <abstract>
      <t>This draft introduces the concept of a Network Digital Twin (NDT) for performance evaluation. A Performance NDT is able to produce performance estimates (delay, jitter, loss) of a given input network with a specific topology, traffic demand, and routing and scheduling configuration. Also, this draft discusses the interface of the digital twin, how it relates to existing control plane elements, use cases, and possible implementation options.</t>
    </abstract>

  </front>

  <middle>

    <section>
      <name>Introduction</name>

      <t>A Digital Twin  for computer networks is a virtual replica of an existing network with a behavior equivalent to that of the real one. The key advantage of a Network Digital Twin (NDT) is the ability to recreate the complexities and particularities of the network infrastructure without the deployment cost of a real network. Hence, network administrators can test, deploy and modify network configurations safely, without worrying about the impact on the real network. Once the administrator has found a configuration that fulfills the expected objectives, it is deployed to the real network. In addition, a NDT is faster, safer and more cost-effective than	 interacting with the physical network. All these characteristics make NDT useful for different network management tasks ranging from network planning or troubleshooting to optimization.</t>

      <t>The concept of a NDT has been proposed for different approaches: network management <xref target = "I-D.draft-zhou-nmrg-digitaltwin-network-concepts"/>, 5G networks <xref target = "digital-twin-5G"/>, Vehicular networks <xref target = "digital-twin-vanets"/>, artificial intelligence <xref target="digital-twin-AI"/>, or Industry 4.0 <xref target = "digital-twin-industry"/>, among others. </t>

      <t>This draft proposes a Digital Twin for network management with a focus on performance evaluation. That is, given several input parameters (topology, traffic matrix, etc), a Network Performance Digital Twin (NPDT) predicts network performance metrics such as delay (per path or per link), jitter, or loss. This draft defines the inputs and outputs of such Digital Twin, the associated interfaces with other modules in the network control plane, and details use cases.</t>


        <t>In addition, this draft discusses possible implementation options for the NPDT, with a special emphasis on those based on Machine Learning. The aim of <xref target = "sec-implementation"/> (Implementation Challenges) is describing the advantages and limitations of these techniques. For example, most Machine Learning technologies rely heavily on large amounts of data to achieve acceptable accuracy. Other considerations include adjusting the architecture of the Neural Network to successfully understand the structure of the input data. </t>



      <t>In order to use a Network Performance Digital Twin (NPDT) in practical scenarios (c.f. <xref target="sec-use-cases"/>), such as network optimization, it should meet certain requirements:</t>

      <dl>
        <!-- Omit newline="true" if you want each definition to start on the same line as the corresponding term -->
        <dt>Fast:</dt>
        <dd>low delay when making predictions  (in the order of milliseconds) to use it in optimization scenarios that need to test a large number of configuration variables (c.f. <xref target = "sec-sec-optimzaiton"/>).</dd>

        <dt>Accurate:</dt>
        <dd>the error of the prediction (vs the ground truth) has to be below a certain threshold to be deployable in real-world networks.</dd>

        <dt>Scalable:</dt>
        <dd>support networks of arbitrarily large topologies</dd>

        <dt>Variety of Inputs:</dt>
        <dd>accept a wide range of combinations of:</dd>
        </dl>
            <ul>
              <li>Routing configurations</li>
              <li>Scheduling configurations (FIFO, Weighted Fair Queueing, Deficit Round Robin, etc)</li>
              <li>Topologies</li>
              <li>Traffic Matrices</li>
              <li>Traffic Models (constant bitrate, Poisson, ON/OFF, etc)</li>
            </ul>
        <dl>
         <dt>Accessible:</dt>
        <dd>despite the internal architecture of the NPDT, it needs to be easy to use for network engineers and administrators. This includes, but is not limited to: interfaces to communicate with NPDT that are well-known in the networking community, metrics that are readily understood by network engineers, or confidence values of the estimations.</dd>
      </dl>

      <t>Note that the inputs and outputs described here are an example, but other inputs and outputs are possible depending on the specificities of each scenario.</t>

    </section>

<section>
  <name>Terminology</name>

      <dl newline="true">

      <dt>Digital Twin (DT):</dt>
        <dd>A virtual replica of a physical system.</dd>

      <dt>Network Digital Twin (NDT):</dt>
        <dd>A virtual replica a physical network.</dd>

      <dt>Network Performance Digital Twin (NPDT):</dt>
        <dd>A virtual replica a physical network, that can predict with accuracy several performance metrics of the physical network.</dd>

      <dt>Network Optimizer:</dt>
        <dd>An algorithm capable of finding the optimal configuration parameters of a network, e.g. OSPF weights, given an optimization objective, e.g. latency below a certain threshold.</dd>

      <dt>Control Plane:</dt>
        <dd>Any system, hardware or software, centralized or decentralized, in charge of controlling and managing a physical network. Examples are routing protocols, SDN controllers, etc.</dd>

      </dl>


</section>

<section>
<name>Architecture of the Network Performance Digital Twin</name>

<t> <xref target = "fig-global-arch"/> presents an overview of the architecture of a Network Performance Digital Twin (NPDT).</t>


<figure anchor="fig-global-arch">
        <name>Global architecture of the Performance DT</name>
        <artset>  <!-- https://authors.ietf.org/en/rfcxml-vocabulary#artset -->
        <artwork type="ascii-art" name="box.txt" align="center">
            <![CDATA[
       Administrator Intent
                    |
                    |
                    |Intent-Based Interface
                    |
                    |
+-------------+-----------------------------+
|             |     |                       |
|             |   Intent-Based   Optimizer  |
|             |   Rendered                  |         +-------------+
|             |                             |   DTI   |   Network   |
| Management  |                             |Interface| Performance |
| Plane       |                             |<------->|   Digital   |
|             |                             |         |    Twin     |
|             |                             |         |             |
|             |   Measure        Configure  |         +-------------+
|             |  |                  |       |
+-------------+-----------------------------+
                 |                  |
                 |                  |
    Measurement  |                  |  Configuration
      Interface  |                  |  Interface
                 |                  |
        +--------------------------------------+
        |                                      |
        |          Physical Network            |
        |                                      |
        +--------------------------------------+
            ]]>
          </artwork>
        </artset>
      </figure>



  <t>Each element is defined as:</t>

        <dl>
            <dt>Network Performance Digital Twin (NPDT):</dt>
            <dd>a system capable of generating performance estimates of a specific instance of a network.</dd>

            <dt>Physical Network:</dt>
            <dd>a real-world network that can be configured via  standard interfaces.</dd>

            <dt>Management Plane:</dt>
            <dd>The set of hardware and software elements in charge of controlling the Physical Network. This ranges from routing processes, optimization algorithms, network controllers, visibility platforms, etc. The definition, organization and implementation of the elements within the management plane is outside of the scope of this document. In what follows, some elements of the management plane that are relevant to this document are described.</dd>

          </dl>

           <ul>
            <li>Optimizer: a network optimizer that can tune the configuration parameters of a network given one or more optimization objectives, e.g. do not exceed a latency threshold in all paths, minimize the load of the most used link, and avoid more than 10 Gbps of traffic at router R4 <xref target = "DEFO"/>.</li>

            <li>Intent-Based Renderer: a system capable of understanding network intent, according to the definitions in <xref target = "irtf-nmrg-ibn-concepts-definitions-09"/>.</li>

            <li>Measure: any system to measure the status and performance of a network, e.g. Netflow <xref target="RFC3954"/>, streaming telemetry <xref target= "streaming-telemetry"/>, etc.</li>

            <li>Configure: any system to apply configuration settings to the network devices, e.g. a NETCONF Manager or an end-to-end system to manage device configuration files <xref target= "facebook-config"/>.</li>
          </ul>

<t>And the functions of each interface are:</t>

          <dl>
            <dt>DT Interface (DTI):</dt>
            <dd>an interface to communicate with the Network Performance Digital Twin (NPDT). Inputs to the DT are a description of the network (topology, routing configuration, etc), and the outputs are performance metrics (delay, jitter, loss, c.f.  <xref target = "sec-interfaces"/>).</dd>

            <dt>Configuration Interface (CI):</dt>
            <dd>a standard interface to configure the physical network, such as NETCONF <xref target="RFC6241"/>, YANG, OpenFlow <xref target="OFspec"/>, LISP <xref target="RFC6830"/>, etc.</dd>

            <dt>Measurement Interface (MI):</dt>
            <dd>a standard interface to collect network status information, such as Netflow <xref target="RFC3954"/>, SNMP, streaming telemetry <xref target="openconfig-rtgwg-gnmi-spec-01"/>, etc.</dd>

            <dt>Intent-Based Interface (IBI):</dt>
            <dd>an interface for the network administrator to define optimization objectives or run the DT to obtain performance estimates, among others.</dd>


          </dl>

</section>


<section anchor="sec-interfaces">
<name>Interfaces</name>


  <section>
 <name>Administrator</name>

     <t>This interface can be a simple CLI or a state-of-the-art GUI, depending on the final product. In summary, it has to offer the network administrator the following options/features:</t>

     <ul>
         <li>Predict the performance of one or more network scenarios, defined by the administrator. Several use-cases related to this option are detailed in <xref target = "sec-sec-operations"/>.</li>
         <li>Define network optimization objectives and run the network optimizer. </li>
         <li>Apply the optimized configuration to the physical network.</li>
       </ul>

  </section>
  <section>
    <name>Configuration Interface</name>

    <t>This interface is used to configure the Physical Network with the configuration parameters obtained from the optimizer. It can be composed of one or more IETF protocols for network configuration, a  non-exhaustive list is:  NETCONF <xref target="RFC6241"/>, RESTCONF/YANG <xref target="RFC8040"/>, PCE <xref target="RFC4655"/>, OVSDB <xref target="RFC7047"/>, or LISP <xref target="RFC6830"/>. It is also possible to use other standards defined outside the IETF that allow the configuration of elements in the forwarding plane, e.g. OpenFlow <xref target="OFspec"/>  or P4 Runtime <xref target = "P4Rspec"/>.</t>



  </section>

  <section>
    <name>Digital Twin Interface (DTI)</name>

      <t>This interface can be defined with any widespread data format, such as CSV files or JSON objects. There are two groups of data. We are assuming a network with N nodes.</t>

      <dl>
        <dt>Inputs:</dt>
        <dd>data sent to the NPDT to calculate the performance estimates:</dd>

      </dl>

      <ul>
        <li>Topology: description of the network topology in graph format, eg. NetworkX <xref target="NetworkXlib"/>.</li>
        <li>Routing configuration: a matrix of size N*N. Each cell contains the path from source N(i) to destination N(j) as a series of nodes of the topology. Note that not all source-destination pairs may have a path. Since the NPDT only needs a sequence of nodes to define a route, it supports different routing protocols, from OSPF, IS-IS or BGP, to SRv6, LISP, etc.</li>
        <li>Traffic Demands: a definition of the traffic that is injected into the network. It can be specified with different granularities, ranging from a list of 5-tuple flows and their associated traffic intensity, to a N*N matrix defining the traffic intensity for each source-destination pair. Some source-destination pairs may have zero traffic intensity. The traffic intensity defines parameters of the traffic: bits per second, number of packets, average packet size, etc.</li>
        <li>Traffic Model: the statistical properties of the input traffic, e.g. Video on Demand, backup, VoIP  traffic, etc. It can be defined globally for the whole network or individually for each flow in the Traffic Demands.</li>
        <li>Scheduling configuration: attributes associated to the nodes of the topology graph describing the scheduling configuration of the network, that is (1) scheduling policy (e.g. FIFO, WFQ, DRR, etc), and (2) number of queues per output port.</li>
      </ul>

      <dl>

        <dt>Outputs:</dt>
        <dd>performance estimates of the NPDT: three matrices of size N*N containing the delay, jitter and loss for all the paths in the input topology.</dd>


      </dl>

        <t>Note that this is an example of the inputs/outputs of a performance NPDT, but other inputs and outputs are possible depending on the specificities of each scenario.</t>

  </section>



</section>


<section>
    <name>Mapping to the Network Digital Twin Architecture</name>

    <t>Since the NPDT is a type of Network Digital Twin, its elements can be mapped to the reference architecture of a NDT described in <xref target = "I-D.draft-zhou-nmrg-digitaltwin-network-concepts"/>. <xref target="tab-mapping"/> maps the elements of the NDT reference architecture to those of the NPDT. Note that the Physical Network is the same for both architectures.</t>



    <table anchor="tab-mapping">
      <name>Mapping of NDT reference architecture elements to the architecture of the Network Performance DT.</name>
        <thead>
          <tr><th align="center" colspan="2">NDT Reference Architecture</th><th align="center">This draft</th></tr>
        </thead>
        <tbody>

          <tr><td rowspan="2">Application Layer</td>  <td rowspan="2"></td> <td>Intent-Based Interface</td>   </tr>
          <tr>                                         <td>Optimizer</td></tr>


          <tr><td rowspan="3">Digital Twin Layer </td><td>Management</td>  <td>Management Plane</td>   </tr>
          <tr><td> Service Mapping Models </td> <td>Network Performance Digital Twin</td></tr>
          <tr><td> Data Repository </td> <td>Optional in production deployments</td></tr>

          <tr><td rowspan="2">Physical Network</td> <td>Data Collection</td>  <td>Measurement Interface</td>   </tr>
          <tr><td> Control </td><td>Configuration Interface</td></tr>




        </tbody>

      </table>


</section>

<section anchor="sec-use-cases">
  <name>Use Cases</name>

  <section anchor="sec-sec-operations">
    <name>Network Operations and Management</name>

    <section>
      <name>Network planning</name>

      <t>The size and traffic of networks has doubled every year <xref target="network-capacity"/>. To accommodate this growth in users and network applications, networks need periodical upgrades. For example, ISPs might be willing to increase certain link capacities or add new connections to alleviate the burden on the existing infrastructure. This is typically a cumbersome process that relies on expert knowledge. Furthermore, modern networks are becoming larger and more complex, thus exacerbating the difficulty of existing solutions to scale to larger networks <xref target="planning-scalability"/>. </t>

      <t>Since the NPDT models large infrastructures and can produce accurate and fast performance estimates, it can help in different tasks related to network capacity and planning:</t>

      <ul>
        <li>Estimating when an existing network will run out of resources, assuming a given growth in users.</li>
        <li>Use  performance estimates to plan the optimal upgrade that can cope with user growth. Network operators can leverage the NPDT to make better planning decisions and anticipate network upgrades.</li>
        <li>Find unconventional topologies: in some networking scenarios, especially datacenter networks, some topologies are well-known to offer high performance <xref target="Google-Clos"/>. However, it is also possible to search for new topologies that optimize performance with the help of algorithms. On one hand, the algorithm explores different topologies and, on the other hand, the NPDT provides fast performance estimations to the algorithm. Hence, the NPDT guides the optimization algorithm  towards the topologies with better performance <xref target="auto-dc-topology"/>.</li>
      </ul>



    </section>

    <section>
      <name>What-if scenarios</name>

        <t>The NPDT is a unique tool to perform what-if analysis, that is, analyze the impact of potential scenarios and configurations  safely without any impact on the real network. In this context, the NPDT acts as a safe sandbox where different configurations are applied to the NPDT to understand their impact on the network. Some examples of What-if analysis are:</t>


        <ul>
          <li>What is the impact in my network performance if we acquire company ACME and we incorporate all its employees?</li>
          <li>When will the network run out of capacity if we have an organic growth of users?</li>
          <li>What is the optimal network hardware upgrade given a budget?</li>
          <li>We need to update this path.  What is the impact on the performance of the other flows?</li>
          <li>A particular day has a spike of 10% in traffic intensity.  How much loss will it introduce?  Can we reduce this loss if we rate-limit another flow?</li>
          <li>How many links can fail until the SLA is degraded?</li>
          <li>What happens if link B fails?  Is the network able to process the current traffic load?</li>
        </ul>

    </section>


    <section>
      <name>Troubleshooting</name>

        <t>There are many factors that cause network failures (e.g., invalid network configurations, unexpected protocol interactions). Debugging modern networks is complex and time consuming. Currently, troubleshooting is typically done by human experts with years of experience using networking tools.</t>

        <t>Network operators can leverage a NPDT to reproduce previous network failures, in order to find the source of  service disruptions. Specifically,  network operators can replicate past network failure scenarios and analyze their impact on network performance, making it easier to find specific configuration errors. In addition, the NPDT helps in finding more robust network configurations that prevent service disruptions in the future.</t>

    </section>

    <section>
      <name>Anomaly detection</name>

        <t>Since the NPDT models the behaviour of a real-world network, network operators have access to an estimation of the expected network behaviour. When the real-world network behaviour deviates from the NPDT's behaviour, it can act as an indicator of an anomaly in the real-world network. Such anomalies can appear at different places in a network (e.g., core, edge, IoT), and different data sources can be used to detect such anomalies.</t>
    </section>

    <section>
      <name>Training</name>

      <t>As discussed before, the NPDT can be understood as a safe playground where misconfigurations don't affect the real-world system performance. In this context, the NPDT can play an important role in improving the education and certification process of network professionals, both in basic networking training and advanced scenarios. For example:</t>

      <ul>
          <li>In basic network training, understand how routing modifications impact delay.</li>
          <li>In more advanced studies, showcase the impact of  scheduling configuration on flow performance, and how to use them to optimize SLAs.</li>
          <li>In cybersecurity scenarios, evaluate the effects of network attacks and possible counter-measures.</li>

      </ul>



    </section>


  </section>


  <section anchor="sec-sec-optimzaiton">
    <name>Network Optimization</name>

      <t> Since the DT can provide performance estimates in short timescales, it is possible to pair it with a network optimizer (<xref target="fig-optimizer"/>). The network administrator defines one or more optimization objectives e.g. maximum average delay for all paths in the network. The optimizer can be implemented with a  classical optimization algorithm, like Constraint Programming <xref target="DEFO"/>, or Local Search <xref target="LS"/>, or a Machine-Learning one, such as Deep Neural Networks <xref target="DNN-TM"/>, or Multi-Agent Reinforcement Learning <xref target="MARL-TE"/>. Regardless of the implementation, the optimizer tests various configurations to find the network configuration parameters that satisfy the optimization objectives. In order to know the performance of a specific network configuration, the optimizer sends such configuration to the NPDT, that predicts the performance metrics of such configuration.</t>

      <figure anchor="fig-optimizer">
      <name>Using a NPDT as a network model for an optimizer.</name>
      <artset>  <!-- https://authors.ietf.org/en/rfcxml-vocabulary#artset -->
      <artwork type="ascii-art" name="box2.txt" align="center">
            <![CDATA[


                   +------------+   Candidate        +-------------+
                   |            |   Network Config.  |   Network   |
 Optimization----> | Network    |------------------->| Performance |
 objectives        | Optimizer  |                    |   Digital   |
                   |            |<-------------------|    Twin     |
                   +------------+    Estimated       +-------------+
                         |           Performance
                         |
                         |
                         v
           Optimized Network Configuration
                       ]]>
      </artwork>
      </artset>
      </figure>




    <t>An example of optimization use case would be multi-objective optimization scenarios: commonly, the network administrator defines a set of optimization goals that must be concurrently met <xref target="DEFO"/>, for example:</t>

    <ul>
        <li>Bound the latency of all links to a maximum.</li>
        <li>Do not exceed a link utilization of 80%, but for only a sub-set of all the links.</li>
        <li>Route all flows of type B through node 10.</li>
        <li>Avoid more than 35 Gbps of traffic to router R5.</li>
        <li>Minimize the routing cost, that is, the number of flow to re-route <xref target="ReRoute-Cost"/>.</li>
     </ul>

      </section>




</section>


<section anchor="sec-implementation">
  <name>Implementation Challenges</name>

    <t> This section presents different technologies that can be used to build a NPDT, and details the advantages and disadvantages of using them to implement a NPDT. It takes into account how they perform with respect to the requirements of accuracy, speed, and scale of the NPDT predictions.</t>

    <section><name>Simulation</name>

      <t>Packet-level simulators, such as OMNET++ <xref target="OMNET"/> and NS-3 <xref target="ns-3"/>  simulate network events. In a nutshell, they simulate the operation of a network by processing a series of events, such as the transmission of a packet, enqueuing and dequeuing packets in the router, etc. Hence, they offer excellent accuracy when predicting network performance metrics (delay, jitter and loss), but they take a significant amount of time to run the simulation. They scale linearly with number of packets to simulate.</t>

      <t>In fact, the simulation time depends on the number of events to process <xref target="limitations-net-sim"/>. This limits the scalability of simulators, even if the topology does not change: increasing traffic intensities will take longer to simulate because more packets enter the network per unit of time. Conversely, simulating the same traffic intensity in larger topologies will also increase the simulation time. For example, consider a simulator that takes 11 hours to process 4 billion events (these values are obtained from an actual simulation). Although 4 billion events may appear a large figure, consider: </t>

      <ul>
        <li>A 1 Gbps ethernet link, transmitting  regular frames with the maximum of 1518 bytes.</li>
        <li>This translates to approx. 82k packets crossing the link per second.</li>
        <li>Assuming a network with 50 links, and that the transmission of a packet over a link equals to a single event a in the simulator, such network translates to 82k packets/s/link * 50 links * 1 event/packet ~ 4 million events to simulate one second of network activity.</li>
        <li>Then, with a budget of 4 billion events, it takes 11 hours to simulate only 16 minutes of network activity.</li>
      </ul>


      <t>These figures show that, despite the high accuracy of network simulators, they take too much time to calculate performance estimations.</t>

     </section>

    <section><name>Emulation</name>


      <t>Network emulators run the original network software in a virtualized environment. This makes them easy to deploy, and depending on the emulation hardware, they can produce reasonably fast estimations. However, for large scale networks their speed will eventually  decrease because they are not using specific hardware built for networking. For fully-virtualized networks, emulating a network requires as many resources as the real one, which is not cost-effective.</t>


      <t>In addition, some studies have  reported variable accuracy depending on the emulation conditions, both the parameters and underlying hardware and OS configurations <xref target="emulation-perf"/>. Hence, emulators show some limitations if we want to build a fast and scalable NPDT. However, emulators  are useful in other use cases, for example in training, debugging, or testing new features. </t>
    </section>

    <section><name>Analytical Modelling</name>

        <t> Queueing Theory (QT) is an analytical tool that models computer networks as a series of queues. The key advantage of QT is its speed, because the calculations rely  on mathematical equations. QT is arguably the most popular modeling technique, where networks are represented as interconnected queues that are evaluated analytically. This represents a well-established framework that can model complex and large networks.</t>

         <t>However, the main limitation of QT is the traffic model: although it offers high accuracy for Poisson traffic models, it presents poor accuracy under realistic traffic models <xref target="qt-precision"/>. Internet traffic has been extensively analyzed in the past two decades, and despite the community has not agreed on a universal model, there is consensus that in general aggregated traffic shows strong autocorrelation and a heavy-tail  <xref target="inet-traffic"/>.</t>




    </section>


    <section><name>Neural Networks</name>

        <t> Finally, Neural Networks (NN) and other Machine Learning (ML) tools are as fast as QT (in the order of milliseconds), and can provide similar accuracy to that of packet-level simulators. They represent an interesting alternative, but have two key limitations. First, they require training the NN with a large amount of data from a wide range of network scenarios: different routings, topologies, scheduling configurations, as well as link failures and network congestion. This dataset may not be always accessible, or easy to produce in a production network (see <xref target="sec-training"/>). Second, in order to scale to larger topologies and keep the accuracy, not all NN provide sufficient accuracy, therefore, some use cases need custom NN architectures.</t>

        <section><name>MultiLayer Perceptron</name>
        <t>A MultiLayer Perceptron  <xref target="MLP"/> is a basic kind of NN from the family of feedforward NN. In short, input data is propagated unidirectionally from the input layer of neurons through the output. There may be an arbitrary number of hidden layers between the input and output layer. They are widely used for basic ML applications, such as regression. </t>
        </section>


        <section><name>Recurrent Neural Networks</name>
        <t>Recurrent Neural Networks <xref target="RNN"/> are a more advanced type of NN because they connect some layers to the previous ones, which gives them the ability to store state. They are mostly used to process sequential data, such as handwriting, text, or audio. They have been used extensively in speech processing <xref target="RNN-speech"/>, and in general, Natural Language Processing applications <xref target="NLP"/>.</t>
        </section>

        <section><name>Convolutional Neural Networks</name>

          <t>Convolutional Neural Networks (CNN), are a Deep Learning NN designed to process structured arrays of data such as images. CNNs are highly performant when detecting patterns in the input data. This makes them widely used in computer vision tasks, and have become the state of the art for many visual applications, such as image classification <xref target="CNN-images"/>. Hence, their current design presents limited applicability to computer networks.</t>



        </section>
        <section><name>Graph Neural Networks</name>
          <t>Graph Neural Networks <xref target="GNN"/> are a type of neural network designed to work with graph-structured data. A relevant type of GNN with interesting characteristics for computer networks are Message Passing Neural Networks (MPNN). In a nutshell, MPNN exchanges a set of messages between the graph nodes in order to understand the relationship between the input graph and the expected outputs of the training dataset. They are composed of three functions, that are repeated several iterations, depending on the size of the graph:</t>

          <ul>
            <li>Message: encodes information about the relationship of two contiguous elements of the graph in a message (an n-element array).</li>
            <li>Aggregation: combines the different messages received on a particular node. It is typically an element-wise summation. The result is an array of constant length, independently of the number of received messages.</li>
            <li>Update: combines the hidden states of a node with the aggregated message. The result of this function is used as input to the next message-passing iteration.</li>
          </ul>


          <t>Note that the internal architecture of a MPNN is re-build for each input graph.</t>

        <t>Such ability to understand graph-structured data naturally renders them interesting for a Network Performance Digital Twin. Since computer networks are fundamentally graphs, they have the potential to take as input a graph of the network, and produce as output performance estimations of such the input network <xref target="qt-precision"/>.</t>

        </section>


          <section><name>NN Comparison</name>
              <t><xref target="tab-nn-comaprison"/> presents a comparison of different types of NN that predict the delay of a given input network. We use a dataset of the performance of different network topologies, created with simulation data (i.e, ground truth) from OMNET++. We measure the error relative to the delay of the simulation data. In order to evaluate how well the different NN deal with different network topologies, we train each NN in three different scenarios:</t>
              <ul>
                  <li>Same topology: the training and testing datasets contain the same network topologies.</li>
                  <li>Different topology: the training and testing datasets contain different sets of network topologies. The objective is determining if the NN keeps the same performance if we show it a topology it has never seen. </li>
                  <li>Link failures: here we remove a random link from the topology.</li>
              </ul>

      <figure anchor="tab-nn-comaprison">
      <name>Performance comparison of different NN architectures</name>
      <artset>  <!-- https://authors.ietf.org/en/rfcxml-vocabulary#artset -->
      <artwork type="ascii-art" name="table1.txt" align="center">
            <![CDATA[
+----------------------------------------------------------+
|  Mean Average Percentage Error of the delay prediction   |
+----------------------+-----------------------------------+
|       Scenario       |    MLP    |    RNN    |    GNN    |
+----------------------+-----------+-----------+-----------+
|  Same topology       |   0.123   |   0.1     |   0.020   |
|  Different topology  |  11.5     |   0.305   |   0.019   |
|  Link failures       |   1.15    |   0.638   |   0.042   |
+----------------------+-----------+-----------+-----------+
                       ]]>
            </artwork>
      </artset>
      </figure>


      <t>We can see that all NNs predict with excellent accuracy the network delay if we don't change the topology used during training. However, when it comes to new topologies, the error of the MLP is unacceptable (1150 %), as well as the RNN, around 30%. On the other hand, the GNN can understand new topologies, with an error below 2%. Similarly, if a link fails, the RNN has difficulties  offering accurate predictions (60% error), while the GNN maintains the accuracy (4.2%). These results show the potential of GNNs to build a Network Performance Digital Twin.</t>

          </section>

  </section>


</section>



<section anchor="sec-training"><name>Training</name>
  <t>In the context of Digital Twins based on Machine Learning, they require a training process before they can be deployed. Commonly, the training process makes use of a dataset of inputs and expected outputs, that guides the training process to adjust the internal architecture of e.g. the neural network. There are some caveats regarding the training process:</t>


    <ul>
        <li>In order to obtain sufficient accuracy, the training dataset needs to be representative, that is, contain samples of a wide range of possible inputs and outputs. In networks, this translates to samples of a congested network, with a link failure, etc. Otherwise, the resulting algorithm cannot predict such situations.</li>
        <li>Taking the latter into account, this means that some kind of samples, e.g. those of a congested or disrupted network are difficult to obtain from a production network.</li>
        <li>A way to acquire those samples is in a testbed, although it may not be possible for some networks, especially those of large scale. A possible solution in this situation is developing Neural Networks that are invariant to some of the metrics of the graph, e.g. number of nodes. That is, the NN does not lose accuracy if the number of nodes increases. This makes it possible to train the NN in a testbed, and then deploy it in a network that is larger than the testbed without losing accuracy.</li>
    </ul>


</section>




    <section anchor="IANA">
      <name>IANA Considerations</name>
      <t>This memo includes no request to IANA.</t>
    </section>

    <section anchor="Security">
      <name>Security Considerations</name>
      <t>An attacker can alter the software image of the NPDT. This could produce inaccurate performance estimations, that could result in network misconfigurations, disruptions or outages. Hence, in order to prevent the accidental deployment of a malicious NPDT, the software image of the NPDT MUST be digitally signed by the vendor.</t>
    </section>


  </middle>

  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>


      </references>

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

       <reference anchor="OMNET" target="">
     <front>
         <title> https://omnetpp.org/</title>
         <author surname = "OMNeT++ Discrete Event Simulator"/>
         <date year="2022"/>
     </front>
</reference>

<reference anchor="ns-3" target="">
     <front>
         <title> https://www.nsnam.org/</title>
         <author surname = "ns-3 Network Simulator"/>
         <date year="2022"/>
     </front>
</reference>



<reference anchor="P4Rspec" target="">
     <front>
         <title> https://p4.org/p4-spec/p4runtime/main/P4Runtime-Spec.html</title>
         <author surname = "P4.org API Working Group"/>
         <date year="2021"/>
     </front>
</reference>



<reference anchor="OFspec" target="">
     <front>
         <title> TS-025: OpenFlow Switch Specification https://opennetworking.org/wp-content/uploads/2014/10/openflow-switch-v1.5.1.pdf</title>
         <author surname = "Open Networking Foundation"/>
         <date year="2015"/>
     </front>
</reference>

<reference anchor="NetworkXlib" target="">
     <front>
         <title> https://networkx.org/</title>
         <author surname = "NetworkX Python package"/>
         <date year="2022"/>
     </front>
</reference>


<reference anchor="openconfig-rtgwg-gnmi-spec-01" target="https://datatracker.ietf.org/doc/html/draft-openconfig-rtgwg-gnmi-spec-01"><front><title>gRPC Network Management Interface (gNMI)</title><author surname="Shakir" fullname="Rob Shakir" /><author surname="Shaikh" fullname="Anees Shaikh" /><author surname="Borman" fullname="Paul Borman" /><author surname="Hines" fullname="Marcus Hines" /><author surname="Lebsack" fullname="Carl Lebsack" /><author surname="Morrow" fullname="Chris Morrow" /><date year="2018" month="March" /></front></reference>

<reference  anchor='RFC8040' target='https://www.rfc-editor.org/info/rfc8040'>
<front>
<title>RESTCONF Protocol</title>
<author initials='A.' surname='Bierman' fullname='A. Bierman'><organization /></author>
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund'><organization /></author>
<author initials='K.' surname='Watsen' fullname='K. Watsen'><organization /></author>
<date year='2017' month='January' />
</front>
<seriesInfo name='RFC' value='8040'/>
<seriesInfo name='DOI' value='10.17487/RFC8040'/>
</reference>

<reference  anchor='RFC6241' target='https://www.rfc-editor.org/info/rfc6241'>
<front>
<title>Network Configuration Protocol (NETCONF)</title>
<author initials='R.' surname='Enns' fullname='R. Enns' role='editor'><organization /></author>
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund' role='editor'><organization /></author>
<author initials='J.' surname='Schoenwaelder' fullname='J. Schoenwaelder' role='editor'><organization /></author>
<author initials='A.' surname='Bierman' fullname='A. Bierman' role='editor'><organization /></author>
<date year='2011' month='June' />
</front>
<seriesInfo name='RFC' value='6241'/>
<seriesInfo name='DOI' value='10.17487/RFC6241'/>
</reference>

<reference  anchor='RFC6830' target='https://www.rfc-editor.org/info/rfc6830'>
<front>
<title>The Locator/ID Separation Protocol (LISP)</title>
<author initials='D.' surname='Farinacci' fullname='D. Farinacci'><organization /></author>
<author initials='V.' surname='Fuller' fullname='V. Fuller'><organization /></author>
<author initials='D.' surname='Meyer' fullname='D. Meyer'><organization /></author>
<author initials='D.' surname='Lewis' fullname='D. Lewis'><organization /></author>
<date year='2013' month='January' />
</front>
<seriesInfo name='RFC' value='6830'/>
<seriesInfo name='DOI' value='10.17487/RFC6830'/>
</reference>

<reference  anchor='RFC4655' target='https://www.rfc-editor.org/info/rfc4655'>
<front>
<title>A Path Computation Element (PCE)-Based Architecture</title>
<author initials='A.' surname='Farrel' fullname='A. Farrel'><organization /></author>
<author initials='J.-P.' surname='Vasseur' fullname='J.-P. Vasseur'><organization /></author>
<author initials='J.' surname='Ash' fullname='J. Ash'><organization /></author>
<date year='2006' month='August' />
</front>
<seriesInfo name='RFC' value='4655'/>
<seriesInfo name='DOI' value='10.17487/RFC4655'/>
</reference>

<reference  anchor='RFC7047' target='https://www.rfc-editor.org/info/rfc7047'>
<front>
<title>The Open vSwitch Database Management Protocol</title>
<author initials='B.' surname='Pfaff' fullname='B. Pfaff'><organization /></author>
<author initials='B.' surname='Davie' fullname='B. Davie' role='editor'><organization /></author>
<date year='2013' month='December' />
</front>
<seriesInfo name='RFC' value='7047'/>
<seriesInfo name='DOI' value='10.17487/RFC7047'/>
</reference>

<reference  anchor='RFC3954' target='https://www.rfc-editor.org/info/rfc3954'>
<front>
<title>Cisco Systems NetFlow Services Export Version 9</title>
<author initials='B.' surname='Claise' fullname='B. Claise' role='editor'><organization /></author>
<date year='2004' month='October' />
</front>
<seriesInfo name='RFC' value='3954'/>
<seriesInfo name='DOI' value='10.17487/RFC3954'/>
</reference>

<reference anchor="I-D.draft-zhou-nmrg-digitaltwin-network-concepts">
<front>
<title>Digital Twin Network: Concepts and Reference Architecture</title>
<author initials="C." surname="Zhou"/>
<author initials="H." surname="Yang"/>
<author initials="X." surname="Duana"/>
<author initials="D." surname="Lopez"/>
<author initials="A." surname="Pastor"/>
<author initials="Q." surname="Wu"/>
<author initials="M." surname="Boucadir"/>
<author initials="C." surname="Jacquenet"/>
<date day="2" month="December" year="2021"/>
</front>
<seriesInfo name="Internet-Draft" value="draft-zhou-nmrg-digitaltwin-network-concepts-06"/>
<format target="https://www.ietf.org/archive/id/draft-zhou-nmrg-digitaltwin-network-concepts-06.txt" type="TXT"/>
</reference>

<reference anchor="irtf-nmrg-ibn-concepts-definitions-09" target="https://datatracker.ietf.org/doc/html/draft-irtf-nmrg-ibn-concepts-definitions-09"><front><title>Intent-Based Networking - Concepts and Definitions</title><author surname="Clemm" fullname="Alexander Clemm" /><author surname="Ciavaglia" fullname="Laurent Ciavaglia" /><author surname="Granville" fullname="Lisandro Zambenedetti Granville" /><author surname="Tantsura" fullname="Jeff Tantsura" /><date year="2022" month="March" /></front></reference>

<reference anchor="digital-twin-5G" target="https://doi.org/10.1109/MCOM.001.2000343"><front><title>Digital Twin for 5G and Beyond</title><author surname="Nguyen" fullname="Huan X. Nguyen" /><author surname="Trestian" fullname="Ramona Trestian" /><author surname="To" fullname="Duc To" /><author surname="Tatipamula" fullname="Mallik Tatipamula" /><date year="2021" /></front></reference>

<reference anchor="digital-twin-vanets" target="https://doi.org/10.1109/MNET.011.1900587"><front><title>Intelligent Digital Twin-Based Software-Defined Vehicular Networks</title><author surname="Zhao" fullname="Liang Zhao" /><author surname="Han" fullname="Guangjie Han" /><author surname="Li" fullname="Zhuhui Li" /><author surname="Shu" fullname="Lei Shu" /><date year="2020" /></front></reference>

<reference anchor="digital-twin-industry" target="https://doi.org/10.1109/MCOM.001.2001237"><front><title>Toward Intelligent Cyber-Physical Systems: Digital Twin Meets Artificial Intelligence</title><author surname="Groshev" fullname="Milan Groshev" /><author surname="Guimar&#227;es" fullname="Carlos Guimar&#227;es" /><author surname="Mart&#237;n-P&#233;rez" fullname="Jorge Mart&#237;n-P&#233;rez" /><author surname="de la Oliva" fullname="Antonio de la Oliva" /><date year="2021" /></front></reference>

<reference anchor="streaming-telemetry" target="https://doi.org/10.1145/3230543.3230555"><front><title>Sonata: Query-Driven Streaming Network Telemetry</title><author surname="Gupta" fullname="Arpit Gupta" /><author surname="Harrison" fullname="Rob Harrison" /><author surname="Canini" fullname="Marco Canini" /><author surname="Feamster" fullname="Nick Feamster" /><author surname="Rexford" fullname="Jennifer Rexford" /><author surname="Willinger" fullname="Walter Willinger" /><date year="2018" /><keyword>programmable switches</keyword><keyword>analytics</keyword><keyword>stream processing</keyword></front></reference>

<reference anchor="network-capacity" target="https://royalsocietypublishing.org/doi/abs/10.1098/rsta.2015.0191"><front><title>Communication networks beyond the capacity crunch</title><author surname="Ellis" fullname="A. D. Ellis" /><author surname="Suibhne" fullname="N. Mac Suibhne" /><author surname="Saad" fullname="D. Saad" /><author surname="Payne" fullname="D. N. Payne" /><date year="2016" /></front></reference>

<reference anchor="planning-scalability" target="https://doi.org/10.1145/3452296.3472902"><front><title>Network Planning with Deep Reinforcement Learning</title><author surname="Zhu" fullname="Hang Zhu" /><author surname="Gupta" fullname="Varun Gupta" /><author surname="Ahuja" fullname="Satyajeet Singh Ahuja" /><author surname="Tian" fullname="Yuandong Tian" /><author surname="Zhang" fullname="Ying Zhang" /><author surname="Jin" fullname="Xin Jin" /><date year="2021" /><keyword>graph neural network</keyword><keyword>reinforcement learning</keyword><keyword>network planning</keyword></front></reference>

<reference anchor="limitations-net-sim" target="https://doi.org/10.2313/NET-2013-08-1_08"><front><title>Network simulation and its limitations</title><author surname="Rampfl" fullname="Sebastian Rampfl" /><date year="2013" /></front></reference>

<reference anchor="emulation-perf" target="https://doi.org/10.1109/ICCCN.2011.6005933"><front><title>An Empirical Study of NetEm Network Emulation Functionalities</title><author surname="Jurgelionis" fullname="Audrius Jurgelionis" /><author surname="Laulajainen" fullname="Jukka-Pekka Laulajainen" /><author surname="Hirvonen" fullname="Matti Hirvonen" /><author surname="Wang" fullname="Alf Inge Wang" /><date year="2011" /></front></reference>

<reference anchor="qt-precision" target="https://arxiv.org/abs/2202.13956"><front><title>RouteNet-Erlang: A Graph Neural Network for Network Performance Evaluation</title><author surname="Ferriol-Galm&#233;s" fullname="Miquel Ferriol-Galm&#233;s" /><author surname="Rusek" fullname="Krzysztof Rusek" /><author surname="Su&#225;rez-Varela" fullname="Jos&#233; Su&#225;rez-Varela" /><author surname="Xiao" fullname="Shihan Xiao" /><author surname="Cheng" fullname="Xiangle Cheng" /><author surname="Barlet-Ros" fullname="Pere Barlet-Ros" /><author surname="Cabellos-Aparicio" fullname="Albert Cabellos-Aparicio" /><date year="2022" /></front></reference>

<reference anchor="inet-traffic"><front><title>Empirical Performance of Weibull Self-Similar Tele-traffic Model</title><author surname="Popoola" fullname="J Popoola" /><author surname="Ipinyomi" fullname="RA Ipinyomi" /><date year="2017" /></front></reference>

<reference anchor="MLP" target="https://doi.org/10.1109/72.159058"><front><title>Multilayer perceptron, fuzzy sets, and classification</title><author surname="Pal" fullname="S.K. Pal" /><author surname="Mitra" fullname="S. Mitra" /><date year="1992" /></front></reference>

<reference anchor="RNN" target="https://doi.org/10.1162/neco.1997.9.8.1735"><front><title>Long Short-Term Memory</title><author surname="Hochreiter" fullname="Sepp Hochreiter" /><author surname="Schmidhuber" fullname="J&#252;rgen Schmidhuber" /><date year="1997" /></front></reference>

<reference anchor="RNN-speech" target="https://doi.org/10.1109/ICASSP.2011.5947611"><front><title>Extensions of recurrent neural network language model</title><author surname="Mikolov" fullname="Tom&#225;&#353; Mikolov" /><author surname="Kombrink" fullname="Stefan Kombrink" /><author surname="Burget" fullname="Luk&#225;&#353; Burget" /><author surname="&#268;ernock&#253;" fullname="Jan &#268;ernock&#253;" /><author surname="Khudanpur" fullname="Sanjeev Khudanpur" /><date year="2011" /></front></reference>

<reference anchor="GNN" target="https://doi.org/10.1109/TNN.2008.2005605"><front><title>The Graph Neural Network Model</title><author surname="Scarselli" fullname="Franco Scarselli" /><author surname="Gori" fullname="Marco Gori" /><author surname="Tsoi" fullname="Ah Chung Tsoi" /><author surname="Hagenbuchner" fullname="Markus Hagenbuchner" /><author surname="Monfardini" fullname="Gabriele Monfardini" /><date year="2009" /></front></reference>

<reference anchor="DEFO" target="https://doi.org/10.1145/2785956.2787495"><front><title>A Declarative and Expressive Approach to Control Forwarding Paths in Carrier-Grade Networks</title><author surname="Hartert" fullname="Renaud Hartert" /><author surname="Vissicchio" fullname="Stefano Vissicchio" /><author surname="Schaus" fullname="Pierre Schaus" /><author surname="Bonaventure" fullname="Olivier Bonaventure" /><author surname="Filsfils" fullname="Clarence Filsfils" /><author surname="Telkamp" fullname="Thomas Telkamp" /><author surname="Francois" fullname="Pierre Francois" /><date year="2015" /></front></reference>

<reference anchor="facebook-config" target="https://doi.org/10.1145/2934872.2934874"><front><title>Robotron: Top-down Network Management at Facebook Scale</title><author surname="Sung" fullname="Yu-Wei Eric Sung" /><author surname="Tie" fullname="Xiaozheng Tie" /><author surname="Wong" fullname="Starsky H.Y. Wong" /><author surname="Zeng" fullname="Hongyi Zeng" /><date year="2016" /></front></reference>

<reference anchor="auto-dc-topology" target="https://doi.org/10.1145/3229543.3229554"><front><title>DeepConf: Automating Data Center Network Topologies Management with Machine Learning</title><author surname="Salman" fullname="Saim Salman" /><author surname="Streiffer" fullname="Christopher Streiffer" /><author surname="Chen" fullname="Huan Chen" /><author surname="Benson" fullname="Theophilus Benson" /><author surname="Kadav" fullname="Asim Kadav" /><date year="2018" /></front></reference>

<reference anchor="CNN-images" target="https://proceedings.neurips.cc/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf"><front><title>ImageNet Classification with Deep Convolutional Neural Networks</title><author surname="Krizhevsky" fullname="Alex Krizhevsky" /><author surname="Sutskever" fullname="Ilya Sutskever" /><author surname="Hinton" fullname="Geoffrey E Hinton" /><date year="2012" /></front></reference>

<reference anchor="MARL-TE" target="https://doi.org/10.1109/ICNP52444.2021.9651930"><front><title>Is Machine Learning Ready for Traffic Engineering Optimization?</title><author surname="Bern&#225;rdez" fullname="Guillermo Bern&#225;rdez" /><author surname="Su&#225;rez-Varela" fullname="Jos&#233; Su&#225;rez-Varela" /><author surname="L&#243;pez" fullname="Albert L&#243;pez" /><author surname="Wu" fullname="Bo Wu" /><author surname="Xiao" fullname="Shihan Xiao" /><author surname="Cheng" fullname="Xiangle Cheng" /><author surname="Barlet-Ros" fullname="Pere Barlet-Ros" /><author surname="Cabellos-Aparicio" fullname="Albert Cabellos-Aparicio" /><date year="2021" /></front></reference>

<reference anchor="LS" target="https://doi.org/10.1109/INFOCOM.2017.8056971"><front><title>Expect the unexpected: Sub-second optimization for segment routing</title><author surname="Gay" fullname="Steven Gay" /><author surname="Hartert" fullname="Renaud Hartert" /><author surname="Vissicchio" fullname="Stefano Vissicchio" /><date year="2017" /></front></reference>

<reference anchor="DNN-TM" target="https://doi.org/10.1145/3152434.3152441"><front><title>Learning to Route</title><author surname="Valadarsky" fullname="Asaf Valadarsky" /><author surname="Schapira" fullname="Michael Schapira" /><author surname="Shahaf" fullname="Dafna Shahaf" /><author surname="Tamar" fullname="Aviv Tamar" /><date year="2017" /></front></reference>

<reference anchor="ReRoute-Cost" target="https://doi.org/10.1109/INFOCOM42981.2021.9488837"><front><title>Online Joint Optimization on Traffic Engineering and Network Update in Software-defined WANs</title><author surname="Zheng" fullname="Jiaqi Zheng" /><author surname="Xu" fullname="Yimeng Xu" /><author surname="Wang" fullname="Li Wang" /><author surname="Dai" fullname="Haipeng Dai" /><author surname="Chen" fullname="Guihai Chen" /><date year="2021" /></front></reference>

<reference anchor="NLP" target="https://doi.org/10.1007/978-81-322-3972-7_19"><front><title>Natural Language Processing</title><author surname="Chowdhary" fullname="K. R. Chowdhary" /><date year="2020" /></front></reference>

<reference anchor="Google-Clos" target="https://doi.org/10.1145/2785956.2787508"><front><title>Jupiter Rising: A Decade of Clos Topologies and Centralized Control in Google's Datacenter Network</title><author surname="Singh" fullname="Arjun Singh" /><author surname="Ong" fullname="Joon Ong" /><author surname="Agarwal" fullname="Amit Agarwal" /><author surname="Anderson" fullname="Glen Anderson" /><author surname="Armistead" fullname="Ashby Armistead" /><author surname="Bannon" fullname="Roy Bannon" /><author surname="Boving" fullname="Seb Boving" /><author surname="Desai" fullname="Gaurav Desai" /><author surname="Felderman" fullname="Bob Felderman" /><author surname="Germano" fullname="Paulie Germano" /><author surname="Kanagala" fullname="Anand Kanagala" /><author surname="Provost" fullname="Jeff Provost" /><author surname="Simmons" fullname="Jason Simmons" /><author surname="Tanda" fullname="Eiichi Tanda" /><author surname="Wanderer" fullname="Jim Wanderer" /><author surname="H\&quot;{o}lzle" fullname="Urs H\&quot;{o}lzle" /><author surname="Stuart" fullname="Stephen Stuart" /><author surname="Vahdat" fullname="Amin Vahdat" /><date year="2015" /></front></reference>

<reference anchor="digital-twin-AI" target="https://www.mdpi.com/1424-8220/22/11/4106"><front><title>B5GEMINI: AI-Driven Network Digital Twin</title><author surname="Mozo" fullname="Alberto Mozo" /><author surname="Karamchandani" fullname="Amit Karamchandani" /><author surname="G&#243;mez-Canaval" fullname="Sandra G&#243;mez-Canaval" /><author surname="Sanz" fullname="Mario Sanz" /><author surname="Moreno" fullname="Jose Ignacio Moreno" /><author surname="Pastor" fullname="Antonio Pastor" /><date year="2022" /></front></reference>



      </references>
    </references>

    <section anchor="Acknowledgements" numbered="false">
      <name>Acknowledgements</name>
      <t>TBD</t>
    </section>

 </back>
</rfc>
