<?xml version='1.0' encoding='utf-8'?>
<!-- This template is for creating an Internet Draft using xml2rfc,
    which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs), 
    please see http://xml.resource.org/authoring/README.html. -->
<rfc
      xmlns:xi="http://www.w3.org/2001/XInclude"
      category="info"
      docName="draft-deng-overlay-routing-ps-01"
      ipr="trust200902"
      obsoletes=""
      updates=""
      submissionType="IETF"
      xml:lang="en"
      tocInclude="true"
      tocDepth="4"
      symRefs="true"
      sortRefs="true"
      version="3">
  <!-- xml2rfc v2v3 conversion 2.38.1 -->
  <!-- category values: std, bcp, info, exp, and historic
    ipr values: trust200902, noModificationTrust200902, noDerivativesTrust200902,
       or pre5378Trust200902
    you can add the attributes updates="NNNN" and obsoletes="NNNN" 
    they will automatically be output with "(if approved)" -->

 <!-- ***** FRONT MATTER ***** -->

 <front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the 
        full title is longer than 39 characters -->

   <title abbrev="ps of overlay routing">Overlay Routing Problem Statement</title>
    <seriesInfo name="Internet-Draft" value="draft-deng-overlay-routing-ps-01"/>
    <!-- add 'role="editor"' below for the editors if appropriate -->

   <!-- Another author who claims to be an editor -->

   <author fullname="XinCai Fei" initials="X." role="editor" surname="Fei">
      <organization>Huawei</organization>
      <address>
        <postal>
		  <street>No. 410, Jianghong Road, Binjiang District</street>
          <!-- Reorder these if your country does things differently -->

         <city>Hangzhou</city>
          <region/>
          <code/>
          <country>China</country>
        </postal>
        <email>feixincai1@huawei.com</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>
	
	<author fullname="Geng Li" initials="G." surname="Li">
      <organization>Huawei</organization>
      <address>
        <postal>
		  <street>HuaWei Bld., No.3 Xinxi Rd.</street>
          <!-- Reorder these if your country does things differently -->

         <city>Beijing</city>
          <region/>
          <code/>
          <country>China</country>
        </postal>
        <email>ligeng23@huawei.com</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>
	
	<author fullname="Yong Cui" initials="Y." surname="Cui">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
		  <street>4-104, FIT Building</street>
          <!-- Reorder these if your country does things differently -->

         <city>Beijing</city>
          <region/>
          <code/>
          <country>China</country>
        </postal>
        <email>cuiyong@tsinghua.edu.cn</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>
    <date year="2023"/>
    <!-- If the month and year are both specified and are the current ones, xml2rfc will fill 
        in the current day for you. If only the current year is specified, xml2rfc will fill 
	 in the current day and month for you. If the year is not the current one, it is 
	 necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the 
	 purpose of calculating the expiry date).  With drafts it is normally sufficient to 
	 specify just the year. -->

   <!-- Meta-data Declarations -->

   <area>General</area>
    <workgroup>Internet Engineering Task Force</workgroup>
    <!-- WG name at the upperleft corner of the doc,
        IETF is fine for individual submissions.  
	 If this element is not present, the default is "Network Working Group",
        which is used by the RFC Editor as a nod to the history of the IETF. -->

   <keyword>template</keyword>
    <!-- Keywords will be incorporated into HTML output
        files in a meta tag but they have no effect on text or nroff
        output. If you submit your draft to the RFC Editor, the
        keywords will be used for the search engine. -->

   <abstract>
      <t>This document considers the limitations of existing technologies in addressing 
	  the challenges of low network latency. It analyzes the problem of signaling redundancy 
	  on control plane and problem of non-global optimal path selection policy for overlay 
	  network and explores possible solutions.</t>
    </abstract>
  </front>
  <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
      <t>There are emerging mobile applications, such as online games, audio and video, 
	  and AR (augmented reality)/VR (virtual reality), which have higher requirements for 
	  low latency, throughput, and packet loss. With the rapid development of mobile Internet 
	  services, the research on mobile Internet architecture has become a hot topic. 
	  The terminal industry, represented by device-edge-pipe-cloud devices with ultimate 
	  interoperability experience in all-scenario, poses great challenges to the current 
	  Internet and requires disruptive technologies to support transformation.
	  </t>
	  
	  <t>This document analyzes some existing technologies related to improving the user 
	  experience of real-time applications, and hope to find a solution to improve the 
	  end-to-end transmission experience to meet the increasing requirements of network delay.
	  </t> 
    </section>
    <section numbered="true" toc="default">
      <name>Related Work</name>
      <t>There is a significant amount of previous work in terms of improving the 
	  end-to-end transmission performance. Some are to control the destination ends, 
	  and some are to control the network path. The relevant work is presented in 
	  this section.</t>
      <section numbered="true" toc="default">
        <name>Global Server Load Balancer Based on Smart DNS</name>
        <t>In the request process of Global Server Load Balancer (GSLB) Based on Smart DNS, 
		the root DNS forcibly forwards the DNS to the GSLB device. The GSLB resolves the optimal
		IP address based on the server load and the user's IP address, sends the DNS response 
		to the local server, and finally sends the response to the user.</t>
        <t>GSLB based on smart DNS enables an application to control the destination of requests 
		but cannot control the path to the destination. For example, if an application wants to 
		further optimize the path requested by a user due to security or performance considerations, 
		smart DNS cannot meet the preceding requirements.</t>
		<t>The overlay network technology can further optimize the path to avoid failure or congestion 
		in the path to a certain extent. It is an important means to improve the quality of Internet 
		transmission and user experience and achieve high-quality transmission.</t>
	  </section>
	  
	  <section numbered="true" toc="default">
        <name>Intelligent Overlay Routing</name>
        <t>The Internet consists of multiple carriers, ISPs, and autonomous domains, which causes the 
		complex business relationships between domains. The transmission paths of the Internet are affected 
		by business relationships and is not the shortest path in the network. For example, transmission between 
		two Asian nodes may be detoured to Europe. This increases the end-to-end latency. At the same time, 
		the Internet routing is not aware of path performance, and thus it is difficult to avoid failure or 
		congestion in the path, or requires a long convergence time.</t>
        <t>The overlay network technology is proposed to find out the optimal path of the Internet. 
		Software forwarding units are deployed in data centers in different areas of the Internet to connect 
		to each other and schedule each other. In this way, a new virtual overlay network is constructed on the 
		basis of the existing public network (underlay network). An intermediate forwarding node may be referred 
		to as a forwarding relay or a point of presence (PoP) node.</t>
	    <t>Intelligent overlay routing, the key of overlay network technology, directly determines the 
		transmission performance for users accessing the overlay network. It selects appropriate forwarding 
		nodes on the overlay network to form an end-to-end optimal forwarding path for data transmission.</t>
	    <t>In the existing intelligent overlay routing technologies, the optimal path is determined by 
		three subsystems: the ingress PoP selection system, the egress PoP selection system, and the internal 
		overlay routing system. The optimal scheme is computed independently in each subsystem, but the local 
		optimal doesn’t mean the global optimal. The sum of each optimal scheme in subsystem can’t figure out 
		the best network path. In addition, it takes expensive cost to maintain the routing table status and 
		invoke different systems to perform packet header encapsulation and decapsulation for subsystems.</t>
	  </section>	  
	</section>
	 
    <section numbered="true" toc="default">
      <name>Challenges and Problem Statement</name>
	  <t>This section describes in detail some possible bottlenecks encountered when dealing with low network latency.</t>
	  
	  <section numbered="true" toc="default">
        <name>Signaling Redundancy on Control Plane</name>
	  <t>Overlay routing can be divided into two segments: access segment and backbone segment. The source in 
	  the access segment obtains the address of the access controller through the DNS and requests the address 
	  of the access point (ingress or egress). The access controller selects an access point  based on factors 
	  such as geographic location and latency. The backbone controller in the backbone segment updates the 
	  optimal path from any ingress to egress in real time.</t>
	  
	  <figure anchor="overlay-routing-diagram">
	    <name slugifiedName="overlay-routing">Overlay Routing</name>
        <artwork align="center" name="" type="" alt=""><![CDATA[                                                                                                   
                         +-----------------+                              
             +-----------|access controller|--------------+               
             |           +-----------------+              |               
             | |                                       |  |               
             | |                                       |  |               
             | |                                       |  |               
             | |          +----+       +----+          |  |               
             | | +------->|PoP4|-------|PoP3|<------+  |  |               
     +---+   | | |        +----+\     /+----+       |  |  |               
     |DNS|   | | |          |    \   /   |          |  |  |               
     +---+   | | |          |     \ /    |          |  |  |               
       |     | | |          |      \     |          |  |  |               
       |     | | |          |     / \    |          |  |  |               
       |     | | |          |    /   \   |          |  |  |               
       |     | | |        +----+/     \+----+       |  |  |  +-----------+
   +------+  | | |------->|PoP1|-------|PoP2|<------|  |  +->|destination|
   |source|<-+ | |        +----+       +----+       |  |     +-----------+
   +------+    | |                                  |  |                  
               | |                                  |  |                  
               | |                                  |  |                  
               | |       +--------------------+     |  |                  
               | +-------|backbone conctroller|-----+  |                  
               |         +--------------------+        |                  
               |                                       |                  
 access segment|            backbone segment           |   access segment 
               |                                       |                                                                                                            	   
           ]]></artwork>
      </figure>

		<t>On the control plane, the source obtains the address of destination and access 
		controller through the DNS, requests for an access point from the access controller, 
		and sends the messages to the destination. Multiple rounds of signaling interaction 
		with the DNS and the controller are required from connection establishment to packet
		transmission. As shown in the figure, five rounds of signaling interaction are needed and it is redundant.</t>
		
	  <figure anchor="control-plane-diagram">
	    <name slugifiedName="control-plane">Signaling Redundancy on Control Plane</name>
        <artwork align="center" name="" type="" alt=""><![CDATA[                                                                                                                                                               
   +------+                           +---+           +-----------------+       
   |source|                           |DNS|           |access controller|       
   +------+                           +---+           +-----------------+       
      |                                 |                       |               
      | 1a. request the address         |                       |               
      |     of destination              |                       |               
      |-------------------------------->|                       |               
      |                                 |                       |               
      | 1b. return the address          |                       |               
      |<--------------------------------|                       |               
      |                                 |                       |               
      |-------+                         |                       |               
      |       |2. select overlay network|                       |               
      |       |   to transmit data      |                       |               
      |<------+                         |                       |               
      |                                 |                       |               
      | 3a. request the address of      |                       |               
      |        access controller        |                       |               
      |-------------------------------->|                       |               
      |                                 |                       |               
      | 3b. return the address          |                       |               
      |<--------------------------------|                       |               
      |                                 |                       |               
      |          4a. request the ingress and                    |               
      |              egress PoP from the controller             |               
      |-------------------------------------------------------->|               
      |                                 |                       |               
      |          4b. return the  ingress and egress PoP         |               
      |<--------------------------------------------------------|               
      |                                 |                       |               
      |          5. Encapsulate packets based on the ingress    |               
      |             address and send the packets                |               
      |-------------------------------------------------------->|               
      |                                 |                       |                                                                                                                                                                                                                                                              
     ]]></artwork>
      </figure> 
	  
      </section>
	
	  <section numbered="true" toc="default">
        <name>Non-global Optimal Path Selection Policy</name>
		<t>In the prior art, an optimal path is calculated in several parts. That is, 
		the Internet gets the optimal routing in access segment and backbone segment, 
		and strings them together as the optimal path. However, the optimal path calculated 
		in this way is not an optimal end-to-end path.</t>
		
	    <figure anchor="data-plane-diagram">
	    <name slugifiedName="data-plane">Non-global Optimal Path Selection Policy</name>
        <artwork align="center" name="" type="" alt=""><![CDATA[                                                                                                                                                               
    +-+   120.5ms   +-+   19.9ms   +-+    
    |A|-------------|B|------------|C|    
    +-+             +-+            +-+    
     |                              |     
     |                              |     
90ms |                              |4.9ms
     |                              |     
     |                              |     
    +-+             +-+            +-+    
    |D|-------------|E|------------|F|    
    +-+    153.4ms  +-+   15.3ms   +-+                                                                                                                                                                                                                                                               
     ]]></artwork>
      </figure> 
	  
	  <t>For example, the nearest PoP would be chosen as the access point (ingress/egress)
		according to the latency. Take A as the source and C as the destination, and then an
		optimal path is calculated by the existing overlay routing technology: A->D->E->F->C (263.7ms).
		However, it is clear that there is a better path here: A->B->C (140.4ms).</t>
	  
      </section>
	</section>
	
    <section numbered="true" toc="default">
      <name>Candidate Solution Directions</name>
      <t>This section seeks for the possible breakthrough point to achieve lower latency and improve the user experience in real-time applications.</t>
      <t>As mentioned above, the problem of signaling redundancy on control plane and problem of non-global 
	  optimal path may be the obstacles to reduce lower network latency and improve user’s experience. 
	  A possible solution direction is presented below.</t>
      <t>To solve the problem of non-global optimal path, the source calculates the global optimal overlay path and delivers to the destination. </t>
      <t>For details, the source directly delivers routing through DNS. The DNS is redirected to the controller
	  to request an optimal path, and the controller returns a multi-dimensional path vector. In this way, the users can 
	  control a delivery path at the source. Also, the intermediate forwarding nodes don’t need to maintain any routing 
	  table, because all routing status information may be included in a private header of a data packet generated by the source.</t>
    </section>
    <!-- This PI places the pagebreak correctly (before the section title) in the text output. -->

   <section anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>Request to IANA will be added later.</t>
    </section>
    <section anchor="Security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>Security issues will be considered later in the design.</t>
    </section>
  </middle>
  <!--  *****BACK MATTER ***** -->

 <back>
    <!-- References split into informative and normative -->

   <!-- There are 2 ways to insert reference entries from the citation libraries:
    1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
    2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
       (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

    Both are cited textually in the same manner: by using xref elements.
    If you use the PI option, xml2rfc will, by default, try to find included files in the same
    directory as the including file. You can also define the XML_LIBRARY environment variable
    with a value containing a set of directories to search.  These can be either in the local
    filing system or remote ones accessed by http (http://domain/dir/... ).-->

        <!-- A reference written by by an organization not a person. -->
   <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->
      </references>
      <references>
        <name>Informative References</name>
        <!-- Here we use entities that we defined at the beginning. -->

        <!-- A reference written by by an organization not a person. -->
      </references>
    </references>
    <section anchor="app-additional" numbered="true" toc="default">
      <name>Additional Stuff</name>
      <t>This becomes an Appendix.</t>
    </section>
    <!-- Change Log

v00 2006-03-15  EBD   Initial version

v01 2006-04-03  EBD   Moved PI location back to position 1 -
                     v3.1 of XMLmind is better with them at this location.
v02 2007-03-07  AH    removed extraneous nested_list attribute,
                     other minor corrections
v03 2007-03-09  EBD   Added comments on null IANA sections and fixed heading capitalization.
                     Modified comments around figure to reflect non-implementation of
                     figure indent control.  Put in reference using anchor="DOMINATION".
                     Fixed up the date specification comments to reflect current truth.
v04 2007-03-09 AH     Major changes: shortened discussion of PIs,
                     added discussion of rfc include.
v05 2007-03-10 EBD    Added preamble to C program example to tell about ABNF and alternative 
                     images. Removed meta-characters from comments (causes problems).

v06 2010-04-01 TT     Changed ipr attribute values to latest ones. Changed date to
                     year only, to be consistent with the comments. Updated the 
                     IANA guidelines reference from the I-D to the finished RFC.
v07 2020-01-21 HL    Converted the template to use XML schema version 3.
    -->
 </back>
</rfc>
