<?xml version="1.0" encoding="US-ASCII"?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
	<!ENTITY RFC6707 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6707.xml">
	<!ENTITY RFC6646 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6646.xml">
	<!ENTITY RFC6770 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6770.xml">
	<!ENTITY RFC6392 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6392.xml">
	<!ENTITY RFC6390 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6390.xml">
]>

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc strict="yes"?>
<?rfc toc="yes"?>
<?rfc tocdepth="4"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>

<rfc category="exp" docName="draft-qin-appsawg-uatn-ut-00" ipr="pre5378Trust200902">
  <!-- category values: std, bcp, info, exp, and historic -->

  <front>
    <title abbrev="upload acceleration transport network">
      Upload Acceleration Transport Network for Upstream Traffics
    </title>
    
    <author fullname="Xiaowei Qin" initials="X" surname="Qin">
      <organization>CNNIC</organization>
      <address>
        <postal>
          <street>4 South 4th Street, Zhongguancun, Haidian District</street>
          <city>Beijing</city>
          <region>Beijing</region>
          <code>100190</code>
          <country>China</country>
        </postal>
        <phone>+86 10 5881 3689</phone>
        <email>qinxiaowei@cnnic.cn</email>
      </address>
    </author>		
		    
    <author fullname="Ning Kong" initials="N" surname="Kong">
      <organization>CNNIC</organization>
      <address>
        <postal>
          <street>4 South 4th Street, Zhongguancun, Haidian District</street>
          <city>Beijing</city>
          <region>Beijing</region>
          <code>100190</code>
          <country>China</country>
        </postal>
        <phone>+86 10 5881 3147</phone>
        <email>nkong@cnnic.cn</email>
      </address>
    </author>
    
    <author fullname="Xiaodong Lee" initials="X" surname="Lee">
      <organization>CNNIC</organization>
      <address>
        <postal>
          <street>4 South 4th Street, Zhongguancun, Haidian District</street>
          <city>Beijing</city>
          <region>Beijing</region>
          <code>100190</code>
          <country>China</country>
        </postal>
        <phone>+86 10 5881 3020</phone>
        <email>xl@cnnic.cn</email>
      </address>
    </author>     

    <date month="August" year="2015" />

    <area>Applications and Real-Time Area</area>

    <workgroup>APPSAWG</workgroup>

    <keyword>Upload acceleration upstream traffic</keyword>

    <abstract>
      <t>
       Moving data center closer to end users can provide numerous benefits for pre-uploaded content: lower latency, increased robustness of delivery, and improved
       quality of user experience. For these reasons, many Online Storage Service Providers(OSSPs),Photos Sharing Service Providers (PSSPs), and Videos Sharing
       Service Providers(VSSPs), etc., are scaling up their infrastructure, and many above Upload Service Providers(USPs)are also deploying their own cloud platforms
       to improve data upload rate. It is generally desirable that a given content item generated by end users can be quickly and robustly delivered to the destination
       regardless of that end user's location or attachment network. This is the motivation for deploying Upload Acceleration Transport Network(UATN) so it can propose
       an open content delivery infrastructure for the end-to-end delivery of content from end users to the destination(data center or another end user, etc.). 
       However, no standards or open specifications currently exist to facilitate such an upload acceleration mechanism.
      </t>
      <t> 
       The goal of this document is to explain the proposed UATN in detail for providing public upload acceleration service and interconnect existing upload
       acceleration systems as an open content delivery infrastructur.
      </t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>
       Traditional Internet data services are frequently that end users download content from data centers or Content Service Providers (CSPs) distribute their
       content to the customers, so upstream traffic volume generated by end users accounts for very small proportion of total Internet traffics. However, as smart
       mobile devices and cloud services are proliferating, the direction of the Internet traffic volume is changing. First, more and more mobile users like directly
       uploading and sharing their photos, videos, documents and other data by data centers. Second, many OSSPs enter the market and provide free and larger storage
       space,in the meantime the emerging mobile devices are fully cloud-dependent that are not equipped with much storage but rely on large storage in data centers.
       Third, some Service Providers (SPs) allow content delivery among their end users, one user can deliver content to another via Internet. So upstream traffic
       grows drastically these days and expected to continue doing so in the future. 
      </t>
      <t>
       Unfortunately, inherent limitations in the Internet's architecture make it difficult to achieve desired levels of performance natively on the Internet.
       Designed as a best-effort network, the Internet provides no guarantees on end-to-end reliability or performance. On the contrary, wide-area Internet
       communications are subject to a number of bottlenecks that adversely impact performance, including latency, packet loss, network outages, inefficient protocols,
       and inter-network friction. In addition, existing acceleration technologies, such as CDNI[RFC6707], DECADE[RFC6390], that focus on content distribution do not
       necessarily apply to upstream traffic, upload service usually incurs poor user experience. According to the report in [1], throughput measurements from over
       3.1 million mobile devices have shown that compared with an average downstream throughput of over 3580 Kbps, the average upstream throughput is only about
       630 Kbps.    
      </t>
      <t>
       To improve user experience and overcome this challenge of massive upstream traffic, USPs are scaling up their infrastructure, and many USPs are also deploying
       their own cloud platforms to improve data upload rate. It is generally desirable that a given content item generated by end users can be quickly and robustly
       uploaded to the destination regardless of that end user's location or attachment network. However, a given USP's infrastructure may not have a footprint that
       expands close enough to the end user's current location or attachment network,or may not be better at that type content processing, to realize the user experience
       and cost benefit that a more efficient upload acceleration transport system would allow. This is the motivation for deploying UATN so that it can provide public
       upload acceleration service, and can also interconnect existing standalone upload infrastructures so that their collective acceleration footprint can be
       leveraged for the end-to-end delivery of content from end users to the destination. As an example, a VSSP could contract with a UATN Provider for the uploading
       of content, and that UATN Provider should assign one or more appropriate edge servers receiving the content on behalf of the VSSP. And at last, the optimal
       route may be chosen to deliver the content to the VSSP's data center.
      </t>
      <t>
       A typical end-to-end content upload acceleration scenario may involve the following business arrangements: 
       <list style="symbols"> 
       <t>A business arrangement between the end user and the USP, authorizing upload content by the end users to the USP' data center.</t>
       <t>A business arrangement between the USP and an UATN Provider where the USP mandates that the UATN Provider perform the content receiving on behalf of the USP. </t>
       <t>A business arrangement between the UATN Provider and another (or other) UATN Provider(s) so that so they can interoperate as an open content delivery 
          infrastructure for the end-to-end delivery of content.</t>
       </list> 

       The formation and details of any business relationships between a USP and a UATN Provider as well as between one UATN Provider and another UATN Provider are
       out of scope of this document. However, this document concerns itself with the fact that no standards or open specifications currently exist to facilitate
       such UATN for upstream traffic from a technical perspective.
      </t>
      <t>
       One possible flow for performing an end-to-end content upload through UATN is described below:
       <list style="symbols"> 
       <t>The initial content upload request from an end user is redirected to UATN.</t>
       <t>The UATN may assign the best edge server(s) (e.g., an edge server that is "closer" to the end user) receiving the end user's content.</t>
       <t>The content may be preprocessed by edgs server(s) according the policy of the destination data center. </t>
       <t>The UATN may choose the optimal route to deliver the content to the destination data center.</t>
       </list> 
      </t>

      <section title="Terminology">
       <t>This document uses the following terms:</t>
       <t>Upload Service Provider (USP):The service provider who operates data servers or cloud service that allows end users to directly upload or share
          their content, such as photos, videos, or other documents generated by them. The content may be stored temporarily, or downloaded by other
          end users,or directly forwarded to another end user. Note that a given entity may operate in more than one role. For example, a company may simultaneously
          operate as a USP,a CSP, etc.
       </t>
       <t>Upload Acceleration Transport Network (UATN): A transport network between end users and data centers that enables cache servers to provide content upload
          services on behalf of the USP. A UATN may be wholly or partially realized through a set of cache servers and transport system with control and
          communication components.</t>
       <t>UATN Provider: The service provider who operates a UATN and offers a service of content upload acceleration, typically used by USPs. Note that a given
          entity may operate in more than one role. For example,a company may simultaneously operate as a USP,a CDN Provider, and a UATN Provider, etc.</t>

       </section>

       <section title="Abbreviations">
       <t>      
       <list style="symbols"> 
       <t>UATN: Upload Acceleration Transport Network</t> 
       <t>OSSP: Online Storage Service Providers</t>
       <t>PSSP: Photos Sharing Service Providers</t>
       <t>VSSP: Videos Sharing Service Providers</t>
       <t>USP: Upload Service Provider</t>
       <t>EU:  End User</t>
       <t>QoE: Quality of Experience</t>
       <t>QoS: Quality of Service</t>
       <t>TSP: Telecommunication Service Provider</t>
       </list> 
     </t>
      </section>
    </section>

    <section title="Use Cases and Scenarios">

     <section title="End User to Data Center Use Case">
     <t>
      An example is depicted in Figure 1, where USP has deployed its own UATN or established an agreement with UATN Provider for the uploading of this content.
      When a given end user requests uploading content to USP's data center, the UATN may allow the end user to directly upload the content to its cache server. 
      UATN also selects the optimum cache server to serve this uploading. For instance, UATN considers that the Cache-1 is appropriate, because Cache-1 is
      an access cache and the end user is directly attached to it[RFC6770]. Through the UATN arrangements put in place between USP and end user(as a result of the upload
      acceleration service agreement established between USP and UNTA Provider),UATN can redirect the request to Cache-1 and the content is actually delivered to
      the USP's data center by UATN.
     </t>
    <figure> 
                            <artwork>
                            <![CDATA[
                 +------------------+
          +----->| USP's Data Center|
          |      +------------------+
          |              ^        
          |   * * * * * *|* * * * * * * * * * * * * ** * * *
          |   *          |                           UATN  *
          |   *      ,--,--,--.            ,--,--,--.      *
          |   *    -'          `-.      ,-'          `-.   *
          |   *  (     Cache      )====(     Cache-1    )  *
          |   *   `-.           ,-'     `-.          ,-'   *
          |   *      `--'--'--'            `--'--'--'      *
          |   *                                ^           *
          |   * * * * * * * * * * * * * * * * *| * * * * * *       
          |                                 +-----+
          +--------X------------------------| E U |
                                            +-----+
          =========  UATN Data Flow
          ---------  Common Data Flow
                                 Figure 1 
                       ]]>
</artwork>
                    </figure>
     <t> 
      End users benefit from this arrangement through a better QoE[RFC6390], because the content is uploaded to a nearby surrogate (e.g., lower latency, bottlenecks avoided)[RFC6707].
      USPs benefit because they do not need to deploy such an extensive data server, they only need to make one business agreement and one technical arrangement
      with UATN Provider, but their end users can get a high service quality. TSPs benefit because they do not need to expand the uplink bandwidth, and the upstream
      throughputs can be improved from end use's perspective. To extend the example, other ASPs, such as CDN Providers may also benefit from this arrangement. They
      can make their existing CDNs to provide upload services so that the upstream bandwidth can be fully used, and may receive some compensation for the delivery.
    </t>
    </section>
    <section title="End User to End User Use Case">
    <t>
     In this scenario, USP wishes to allow content delivery among its end users with high speed. Consider the following example,illustrated in Figure 2: EU-1 wants to
     deliver content to EU-2, however, there may have a long "data path" between EU-1 and EU-2, such as TSPN, MANs, WANs, etc. This will cause large delay and inversely
     proportional TCP throughput. One technique for improving the user seen throughput is to introduce UATN between the sender and the receiver. UATN resolves the problem
     by separating the current delivery communication into two parts, front-end service from the EU-1(the sender) to UATN and back-end service from the UATN to EU-2 (the receiver)
     to reduce access network and/or inter-network hop delay.
    </t>
    <t>     
     As an example, suppose a French person wants to deliver content to the end user located in Africa. The USP of this French user can ask a UATN Provider to provide
     acceleration that content generated by the French people will be first forwarded to the UATN Cache-1 and then is delivered to UATN Cache-2 through UATN's high
     reliability and performance transport system. At last, the content is actually deliver to African user by UATN's Cache-2.
    </t>        
    <figure>
            <artwork>
            <![CDATA[
                                         +------+
          +------------X-----------------| E U-1|
          |                              +------+
          |  * * * * * * * * * * * * * * * * | * * * * * * 
          |  *                               V     UATN  * 
          |  *     ,--,--,--.            ,--,--,--.      * 
          |  *   -'          `-.      ,-'          `-.   * 
          |  * (    Cache-2     )====(     Cache-1    )  * 
          |  *  `-.           ,-'     `-.          ,-'   * 
          |  *     `--'--'--'            `--'--'--'      * 
          |  * * * * * | * * * * * * * * * * * * * * * * * 
          |            V                                           
          |         +-----+                             
          +-------->|E U-2|
                    +-----+        
          =========  UATN Data Flow
          ---------  Common Data Flow
                                 Figure 2                         
                      ]]>
</artwork>
                    </figure>
</section>

    <section title="Footprint Extension Use Cases">
    <t>In this use case, the USPs want to extend the infrastructure to support active users rapid growth:</t>
    <t>
      <list style="symbols"> 
      <t>without compromising the quality of upload.</t>
      <t>keeping additional transit and other network costs at a reasonable level that receives content from geographically or topologically remote end users.</t>
      <t>without incurring the cost of deploying and operating data centers and the associated infrastructure that may not be justified in the corresponding
         geographic region (e.g., because of relatively low delivery volume, or conversely because of the high investments that would be needed to satisfy the high volume).</t>
      </list>
    </t>
    <t>
     In addition,if USPs have a geographically limited footprint (e.g., restricted to one country), or do not serve all end users in a geographic area, 
     they can also establish an agreement with a UATN Provide to provide their services beyond their own footprint.</t>
    <figure>
            <artwork>
            <![CDATA[
             +-----------+ +-----------+
             | French USP| |Italian USP|
             +-----------+ +-----------+                              
                ^             ^                  
            * * *\ * * * * * / * * * * * * * * * * * * *
            *     \         /                   UATN   * 
            *     ,--,--,--.            ,--,--,--.     * 
            *   -'          `-.      ,-'          `-.  *  
            * (    Cache-1     )====(    Cache-2     ) * 
            *  `-.           ,-'     `-.          ,-'  *  
            *     `--'--'--'            `--'--'--'     * 
            *                                ^         *  
            * * * * * * * * * * * ** * * * * | * * * * *                     
                                      +------------+
                                      |North Africa|
                                      |     E Us   |
                                      +------------+
          =========  UATN Data Flow
          ---------  Common Data Flow
                                 Figure 3                         
                      ]]>
</artwork>
                    </figure>
        <t>
         As an example, suppose a French USP wants to provider upload service to end users located in various countries in North Africa. It can make an
         agreement with UATN Provider that covers North Africa instead of deploying its own data center in North Africa. Overall, from the end use's perspective,
         the French USP provides an upload service for the whole North Africa with high data rate. If there are several USPs that have make an agreement with
         the UATN Provider, cost will keep at a reasonable level, as shown in Figure 3.
        </t>

    	</section>

    	<section title="Offload Use Case">
    	<t>
    	 A USP's access server or servers is/are likely to be dimensioned to support an expected maximum traffic load. However, unexpected spikes
         in content popularity (flash crowd) may drive load beyond the expected peak. The USP may use UATN so that some requests may be redirected
         to UATN to increase its effective capacity during the peak of traffic.
    	</t>
        <t>
         For example, a USP can offload traffic to UATN for the duration of a specific maintenance operation or a special event, as in the scenario depicted
         in Figure 4. For instance, during a major event, such as a celebrity's wedding or a major sport competition, many people in a confined space may deliver
         and upload photos, video related to this event, the USP and TSP are likely to experience a flash crowd during the event and will need to offload traffic.
         While UATN can support a more typical traffic load and be able to handle the offloaded traffic.
        </t>
    <figure>
            <artwork>
            <![CDATA[
               +------------------+
          +--->| USP's Data Server|<----------------------+
          |    +------------------+                       |           
          |             ^                                 |
          |  * * * *  * | * * * * * * * * * * * * * * * * | 
          |  *          |                        UATN   * |
          |  *     ,--,--,--.            ,--,--,--.     * |
          |  *   -'          `-.      ,-'          `-.  * | 
          |  * (    Cache-1     )====(    Cache-2     ) * |
          |  *  `-.           ,-'     `-.          ,-'  * | 
          |  *     `--'--'--'            `--'--'--'     * |
          |  *          ^                     ^         * | 
          |  * * * * * *| * * * * * ** * * * *| * * * * * |                    
          |          +-----+               +-----+        |
          +---X------|E U-1|               |E U-2|-----X--+
                     +-----+               +-----+
          =========  UATN Data Flow
          ---------  Common Data Flow
                                 Figure 4                         
                      ]]>
</artwork>
                    </figure>
    	</section>

    	<section title="Public Colient Use Case">
    	<t>
    	 One user tends to use multiple cloud services because each USP may provide different better functionality: e.g. one USP may be better at file processing,
         and another USP may be better at video processing. So one user needs to use multiple similar clients for high data upload rate(Because some
         USPs may use their own proprietary transmission protocols for maximizing throughput). In this use case, UATN can provide public acceleration service for
         end user to avoid install multiple similar clients on their end devices. UATN could preprocess the pre-uploaded content according the policy of the
         destination data center, such as transmission protocol, chunking strategy, etc.
        </t>
        <t>
         As an example, suppose USP1 provides videos sharing service, using HTTP as the carrier protocol. USP2 provides photos sharing service, using HTTPs
         as the carrier protocol, as in the scenario depicted in Figure 5. End user can upload both videos and photos quickly via internet explorer based on
         HTTP protocol. First, the content will be uploaded to the UATN based HTTP. Second, the UATN could send these content to the destinations respectively
         and adapts the carrier protocol accordingly.
        </t>
    <figure>
            <artwork>
            <![CDATA[
               +-------------------+   +-------------------+
               | USP1's Data Server|   | USP2's Data Server|
               +-------------------+   +-------------------+ 
                           ^                    ^
                           |                    |
                           |   +----------------+           
            * * * * * * * *|* *|* * * * * * * * *  * * * * *  *  
            *              |   |                      UATN    * 
            *           ,--,--,--.           ,--,--,--.       * 
            *        -'           `-.     ,-'          `-.    *  
            *      (     Cache-1    )====(    Cache-2     )   * 
            *       `-.           ,-'     `-.          ,-'    *  
            *          `--'--'--'            `--'--'--'       * 
            *           ^   ^                                 *  
            * * * * * * | * | * * * * * * * * * * * * * * * * *                     
                      +-------+                      
                      |  E U  |           
                      +-------+               

                                 Figure 5                        
                      ]]>
</artwork>
                    </figure>
    	</section>

    </section>

 <section title="Upload Acceleration Transport Network Approach">
     <t>
	 The UATN is a distributed system consisting of lots of widely deployed servers to enable the delivery of highly scalable distributed applications.
         UATN is comprised of multiple delivery networks, each tailored to a different type of content. For example, picture content, streaming media, or static
         web content. At a high level, UATN shares a similar architecture, which is shown in Figure 6, but the underlying technology and implementation of each
         system component may differ in order to best suit the specific type of content.   
	</t>
        <t>
         The main components of UATN are as follows:
        </t>
	<t>
	 When the user types a USP's domain name into his/her browser, the domain name is translated by the mapping system into the IP address of an edge server to
         serve the content (arrow I). The mapping system should collect and analysis historical and current data regarding the virtual network and server conditions.
         This data is used to choose an edge  server that is located close to the end user.  
	</t>
	<t>
	 Each edge server is part of the edge server platform, a distributed deployment of servers located in many sites. These servers are responsible for processing
         requests from nearby EUs and receiving content generated by them (arrow 2). Edge server may also preprocess the content according the policy of the destination.
	</t>
        <t>
         In order to respond to a request from a user, the UATN must deliver the content stored by edg server/servers to the designated data center. The transport
         system is used to deliver content between edge server platform and designated data center  in a reliable and efficient manner. More generally, the transport
         system is responsible for moving data and content over the long-haul Internet with high reliability and performance.
        </t>
        <t>
          The communications and control system is used for disseminating status information, control messages, and configuration updates in a fault-tolerant and
          timely fashion.
        </t>
        <t>
          Finally, the user control portal serves two functions. First, it provides a configuration management platform that allows a USP to retain fine-grained
          control how the content is uploaded to their data center by the end user. These configurations can be told timely to the edge platform via the communications
          and control system. Note that this configuration management applies to the third party UATN providers, if a USP deploys its own UATN, the configuration
          management platform can be omitted. In addition, the user control portal provides a redirection approach of user request that redirects the upload request
          to the UATN.
        </t>	

        <t>
          While all of UATN incorporates the component outlined above, the specific design of each system is influenced by application requirements. For instance,
          the transport system of a UATN will have a different set of requirements and a different architecture.
        </t>
    <figure> <artwork>            <![CDATA[
            **************************************
            *                    Virtual Network *
   +----    * +--------+                         * 
   |E U|----->|  Edge  |                         *
   +---+    * | Server |\                        *
            * +--------+ \                       *
            *             \     , --,--,--.      * +-----------+
   +---+    * +--------+   ----'-------------`-.-->|           | 
   |E U|----->|  Edge  |---( Transport System  )-->|Data Center|
   +---+    * | Server |   -`-.-------------,'---->|           |
            * +--------+  /      `--'--'--'      * +-----^-----+
            *            / III                   *       |
   +---+ II * +--------+/                        *       |
   |E U|----->|  Edge  |                         *       |
   +---+    * | Server |                         *  +----v----+
            * +- ^-----+                         *  |    USP  |
     |      *** / ********************************  +----^----+
     |         /                                         |
     |      +--|-------------------------------------+   |
     |      |    Communication and Control System    |   |
     | I    +--|-- ^-------------------------------^-+   | 
     |         |   |                               |     |
     \     +---v---v-----------+       +-----------v-----v---+
      - -> |   Mapping System  |       | User Control Portal |
           +-------------------+       +---------------------+

                                Figure 6
                       
                      ]]>
</artwork>
                    </figure>
 </section>   

<section title="New Protocol Considerations">
    <t>
      This document does not call for changes or additions: any new session, transport or network protocols; new protocols for delivering content from a UATN
      to an End User/User agent.
    </t>
</section> 
    <section title="Security Considerations">    	
    <t>
      This document focuses on approach and the motivational use cases for UATN, and does not analyze the associated threats. Those threats will be discussed in future.			
    </t>
    </section>

<section title="History">  
    <t>
      This draft had been submitted to the TSVWG (Transport Area Working Group) once in May 28, 2015. Because, as a CDN-related draft, UATN should belong in the TSV
      Area. This is the link, https://datatracker.ietf.org/doc/draft-qin-tsvwg-uatnut/. Unfortunately, in June, 2015, the IETF Area into which the CDNI WG was moved, 
      and the CDNI WG was moved into "Applications and Real-Time" Area. Although, this time I have updated this draft, the version number is still named to "00".
    </t>  
    </section> 
   
<section title="Acknowledgments">  
    <t>
      The authors wish to thank David Black, Linlin Zhou, and Guangqing Deng for their invaluable comments.
    </t>  
    </section>  

  </middle>

  <back>
    <references title="Normative References">
    	&RFC6707;
    	&RFC6646;
    	&RFC6770;
    	&RFC6392;
    	&RFC6390;
    </references>

    <references title="Informative References">
    	
      
      <reference anchor="PPSP-Charter"
                   target="http://datatracker.ietf.org/wg/ppsp/charter/">
        <front>
          <title>
            simulated-annealing algorithm
          </title>
          <author initials="Yan Pu" surname="Y">
          </author>
          <date month="December" year="2009" />
        </front>
      </reference>     
      
    </references>
  </back>
</rfc>
