Internet DRAFT - draft-zuo-mptcp-scheduler

draft-zuo-mptcp-scheduler



 



MPTCP                                                             J. Zuo
Internet Draft                                                    J. Zhu
Intended status: Informational                                    W. Liu
Expires: September 22, 2018                                       Huawei
                                                          March 21, 2018

   A Path-Aware Scheduling Scheme for Multipath Transport Protocols 
                    draft-zuo-mptcp-scheduler-01.txt

Abstract

   Scheduling schemes play a key role in the performance of multipath
   transport protocols. A path-aware scheduling scheme for latency-
   sensitive applications is proposed, which always schedules data in
   the path with the lowest One-Way Latency (OWL). The OWLs of all paths
   are obtained by employing the redundant transmission periodically.  
   

Status of this Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as
   Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/1id-abstracts.html

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html


Copyright and License Notice

   Copyright (c) 2017 IETF Trust and the persons identified as the
   document authors. All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
 


J. Zuo, et al          Expires September 22, 2018               [Page 1]

INTERNET-DRAFT              MPTCP Scheduler               March 21, 2018


   publication of this document. Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document. Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.


Table of Contents

   1. Introduction  . . . . . . . . . . . . . . . . . . . . . . . . .  2
   2. Acronyms and Terminology  . . . . . . . . . . . . . . . . . . .  3
   3. A New Path-Aware Scheduling Scheme  . . . . . . . . . . . . . .  3
     3.1 The definition of OWL  . . . . . . . . . . . . . . . . . . .  3
     3.2. The Operations of the Path-Aware Scheduling Scheme  . . . .  4
       3.2.1. Initialization  . . . . . . . . . . . . . . . . . . . .  4
       3.2.2. Data scheduling . . . . . . . . . . . . . . . . . . . .  4
       3.2.3. Periodically Redundant Transmission . . . . . . . . . .  4
   4. Implementation Considerations . . . . . . . . . . . . . . . . .  5
     4.1 Packet Format  . . . . . . . . . . . . . . . . . . . . . . .  5
     4.2 Negotiation  . . . . . . . . . . . . . . . . . . . . . . . .  6
     4.3 The Steps for OWL Calculation  . . . . . . . . . . . . . . .  6
   5. Security Considerations . . . . . . . . . . . . . . . . . . . .  7
   6. References  . . . . . . . . . . . . . . . . . . . . . . . . . .  7
     6.1. Normative References  . . . . . . . . . . . . . . . . . . .  7
     6.2. Informative References  . . . . . . . . . . . . . . . . . .  7
   Author's Addresses . . . . . . . . . . . . . . . . . . . . . . . .  7

1. Introduction

   For latency-sensitive applications, such as games, latency is the
   primary goal to make the interactive data exchanged in time. A
   suitable scheduling scheme will influence the latency performance of
   multipath transport protocols [RFC6824], since the packets with
   consecutive sequence numbers may arrive at the receiver out of order
   due to the different RTTs of multiple paths. Lots of scheduling
   schemes are proposed to select the path with the lowest latency to
   send data. RTT is commonly used as the condition for scheduling.
   However, it's found that the delays of the forward path and the
   reverse path are usually different in many cases, such as the
   asymmetric uplink delay and the downlink delay in wireless
   environment. Especially, the congestion may not happen in the forward
   path and the reverse path at the same time, resulting in the
   different queue delays. Therefore, scheduling data on the path with
   the lowest RTT cannot guarantee the lowest interactive latency
   required by the latency-sensitive applications.                   

   A new path-aware scheduling scheme for multiple transport protocols
 


J. Zuo, et al          Expires September 22, 2018               [Page 2]

INTERNET-DRAFT              MPTCP Scheduler               March 21, 2018


   is proposed, which considers the One-Way Latency (OWL) as a
   scheduling condition. The data will be always sent in the path with
   the lowest OWL.

   It is intended that the scheduling scheme presented in this draft can
   be applied to other multipath transport protocols, such as
   alternative multipath extensions to TCP [RFC793], UDP, QUIC, or
   indeed any other multipath protocols. However, for the purposes of
   example, this document will, where appropriate, refer to the MPTCP
   [RFC6182].       	                         

2. Acronyms and Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

3. A New Path-Aware Scheduling Scheme 

   A new path-aware scheduling scheme is proposed to always send data in
   the path with the lowest OWL.

3.1 The definition of OWL

   OWL is defined as the latency of a data successfully delivered from
   the sender to the receiver, which is calculated as

   OWL (i) = T_recv (i) - T_send (i),

   where i means the i-th path, T_recv is the time when the data arrives
   at the receiver and T_send is the time when the data is sent from the
   sender.  

   Compared to the One-Way Delay (OWD) defined in [RFC7679], OWL can be
   deemed as

   OWL (i) = OWD (i) + dT,

   where dT means the time difference caused by the absolute clock time
   at the sender and the receiver. When the scheduler tries to select
   the path with the lowest latency to send data, it will compare the
   latencies of multiple paths. Take two paths for example,

   dOWL = OWL (1) - OWL (2),

   where dOWL indicates the OWL difference of path 1 and path 2. If dOWL
   > 0, the path 2 is selected or else the path 1 is selected. We could
   see that dT will not influence the value of dOWL, since it will be
 


J. Zuo, et al          Expires September 22, 2018               [Page 3]

INTERNET-DRAFT              MPTCP Scheduler               March 21, 2018


   subtracted when path 1 and path 2 are connected between the same
   sender and the same receiver. Hence, OWL is more suitable than OWD as
   the scheduling condition in multipath environment, since it does not
   need to consider the issue of time synchronization.  

3.2. The Operations of the Path-Aware Scheduling Scheme

3.2.1. Initialization

   As in RFC6824, MPTCP first sets up the connection in the primary path
   and then subsequentially sets up the connections of other paths.
   After the handshake stage of the primary path, data is immediately
   sent in this path. Then when the connection of the second path is
   built up, the OWLs of these two paths could be obtained. The
   following data could be scheduled in the path with the lowest OWL.
   However, network is unstable at the moment, the value of the obtained
   OWL may change in the next round of data transmission, especially
   when there are other flows co-existed or packet loss is very high.
   For avoiding the frequent switching amongst the multiple paths due to
   the variant instant OWLs, the data are scheduled redundantly in the
   multiple paths for a period of time [CONEXT17]. The redundant
   scheduling means the same data are sent in all paths concurrently
   [MPTCP.org]. A Smoothed OWL (SOWL) is defined as the effective OWL of
   a path, as referred to the smoothed RTT, which is defined in
   [RFC793]:

   SOWL = ( ALPHA * SOWL ) + ((1-ALPHA) * OWL).         

   Alternatively, other methods which could calculate the effective OWL
   during the period of time can be considered. The period of time could
   be set to a fixed number, e.g. 1s, or max{200ms, SRTT}.              
       

3.2.2. Data scheduling

   After the effective OWLs of all paths are obtained, the sender will
   schedule the following data from application to the path with the
   lowest OWL.                      

3.2.3. Periodically Redundant Transmission   

   Once the path with the lowest OWL is selected to send the data
   henceforth, and no data will be scheduled to the other paths. The
   result is that there is no chance to know the future OWLs of the
   other paths. For making the scheduling more responsive to the variant
   network environment and always sending data in the path with the
   lowest OWL, sending probe packets in other paths may be one of the
   potential solutions. However, it introduces extra packets which
 


J. Zuo, et al          Expires September 22, 2018               [Page 4]

INTERNET-DRAFT              MPTCP Scheduler               March 21, 2018


   consume extra bandwidth of the path. Therefore, the periodically
   redundant transmission is proposed, which sends data redundantly for
   obtaining the effective OWLs of all paths every a certain period of
   time (e.g. 10s). Figure 1 shows the process of the periodically
   redundant transmission.
       1s              10s              1s             10s

   |             | transmission in |             | transmission in |
   |-redundant  -|-the path with  -|-redundant  -|-the path with  -|-...
   | transmission| the lowest OWL  | transmission| the lowest OWL  |

             Figure 1: Periodically redundant transmission.

   On the one hand, the periodically redundant transmission could obtain
   the OWLs of all paths at the same time without introducing extra
   packets; on the other hand, the same data are transmitted
   concurrently in all the paths, which could guarantee the lowest
   delivering time as long as the data arrives at the receiver no matter
   in which path it is sent.   

   Once the OWLs of all paths are updated, the following data are
   scheduled as described in Section 3.2.2. During the data transmission
   in the path with the lowest OWL, the OWL of the selected path is
   continually updated. Once the updated OWL has increased so much that
   it may not the lowest OWL any more, the redundant transmission is
   immediately activated to obtain the updated OWLs of all paths, as
   shown in Figure 2.
       1s              10s              1s             10s

   |             | transmission in |             | transmission in |
   |-redundant  -|-the path with  -|-redundant  -|-the path with  -|-...
   | transmission| the lowest OWL  | transmission| the lowest OWL  |
                         |               |
                         |               |
                    the OWL of the       |
                   selected path is not  |
                   the lowest any more   |
                         |_______________|

               Figure 2: Redundant transmission activated
     when the OWL of the selected path is not the lowest any more.

4. Implementation Considerations

4.1 Packet Format

   As described in Section 3.1, the calculation of the OWL requires the
   time when the data is sent from the sender and the time when the data
 


J. Zuo, et al          Expires September 22, 2018               [Page 5]

INTERNET-DRAFT              MPTCP Scheduler               March 21, 2018


   arrives at the receiver. Since the sender needs to compare the OWLs
   of all the paths, the sender is assigned executing the OWL
   calculation in this draft. A new MPTCP option, called as MP_OWL
   Option, is defined to carry the timestamp of data receiving at the
   receiver. The format of MP_OWL option is shown in Figure 3, where the
   value of 'Kind' is '30' (decimal) [RFC6824].
                            1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +---------------+---------------+-------+----------------------+
       |     Kind      |    Length     |Subtype| (reserved)           |
       +---------------+---------------+-------+----------------------+
       |                     Timestamp of receiving                   |
       +--------------------------------------------------------------+


                        Figure 3: MP_OWL Option

   The value of 'subtype' in MP_OWL option could be assigned as '0x8',
   since '0x0' through '0x7' have been used [RFC5226]. Table 1 gives the
   explanation of the value of '0x8'. 
        +-------+--------------+----------------------------+
        | Value |    Symbol    |            Name            |
        +-------+--------------+----------------------------+
        |  0x8  |    MP_OWL    |      One-Way Latency       |
        +-------+--------------+----------------------------+

                 Table 1: The Subtype of MP_OWL option 

4.2 Negotiation

   The sender and the receiver need to negotiate with each other to see
   whether MP_OWL option is supported or not.

   The details are to be defined.

4.3 The Steps for OWL Calculation

   1) The sender sends each data and remember the sequence number as
   well as the sending time T_send of the data;   

   2) When the receiver receives the data, it responses an ACK with an
   MP_OWL option added, which carries the receiving time T_recv of the
   data;

   3) When ACK gets back to the sender, the sender fetches the receiving
   time T_recv of the data from the ACK and subtracts the sending time
   T_send it has remembered to get the value of OWL, where OWL = T_recv
   - T_send.   
 


J. Zuo, et al          Expires September 22, 2018               [Page 6]

INTERNET-DRAFT              MPTCP Scheduler               March 21, 2018


5. Security Considerations

   TBD.

6. References 

6.1. Normative References


   [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
   Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March
   1997, <http://www.rfc-editor.org/info/rfc2119>.

6.2. Informative References

   [RFC793] Postel, J., "Transmission Control Protocol", STD 7, RFC793,
   DOI 10.17487/RFC0793, September 1981, <http://www.rfc-
   editor.org/info/rfc793>.

   [RFC6824] Ford, A., Raiciu, C., Handley, M., and Bonaventure, O.,
   "TCP Extensions for Multipath Operation with Multiple Addresses", RFC
   6824, DOI 10.17487/RFC6824, January 2013, <http://www.rfc-
   editor.org/info/rfc6824>.

   [RFC6182] Ford, A., Raiciu, C., Handley, M., Barre, S., Iyengar, J.,
   "Architectural Guidelines for Multipath TCP Development", RFC 6182,
   DOI 10.17487/RFC6182, March 2011, <http://www.rfc-
   editor.org/info/rfc6182>.

   [RFC7679] Almes, G., Kalidindi, S., Zekauskas, M., Morton, A., "A
   One-Way Delay Metric for IP Performance Metrics (IPPM)", RFC 7679,
   DOI 10.17487/RFC7679, January 2016, <http://www.rfc-
   editor.org/info/rfc7679>.

   [RFC5226] Narten, T., Alvestrand, H., "Guidelines for Writing an IANA
   Considerations Section in RFCs", RFC 5226, DOI 10.17487/RFC5226, May
   2008, <http://www.rfc-editor.org/info/rfc5226>. 

   [MPTCP.org] Multipath TCP - Linux Kernel Implementation,
   <http://multipath-tcp.org/pmwiki.php/Users/ConfigureMPTCP>.

   [CONEXT17] Coninck, Q. D., Bonaventure, O., "Multipath QUIC: Design
   and Evaluation", December 2017, In Proceedings of CoNEXT'17: The 13th
   International Conference on emerging Networking EXperiments and
   Technologies.

Author's Addresses

 


J. Zuo, et al          Expires September 22, 2018               [Page 7]

INTERNET-DRAFT              MPTCP Scheduler               March 21, 2018


   Jing Zuo
   Huawei Technologies
   Bantian, Longgang District,
   Shenzhen 518129 P.R. China
   EMail: jing.zuo@huawei.com

   Jianjian Zhu
   Huawei Technologies
   Bantian, Longgang District,
   Shenzhen 518129 P.R. China
   EMail: zhujianjian1@huawei.com

   Wei Liu
   Huawei Technologies
   Bantian, Longgang District,
   Shenzhen 518129 P.R. China
   EMail: liuwei57@huawei.com


































J. Zuo, et al          Expires September 22, 2018               [Page 8]