QUIC                                                             H. Chan
Internet-Draft                                                    A. Wei
Intended status: Informational                       Huawei Technologies
Expires: September 14, 2017                                      F. Song
                                                                H. Zhang
                                             Beijing Jiaotong University
                                                          March 13, 2017


          One Way Latency Considerations for Multipath in QUIC
                         draft-chan-quic-owl-01

Abstract

   This document discusses the use of One Way Latency (OWL) for
   enhancing multipath transmission in QUIC.  Several representative
   usages of OWL, such as congestion control mechanism, retransmission
   policy, crucial data scheduling are analyzed.  Two kinds of OWL
   measurement approaches are also provided and compared.  More
   explorations related with OWL will be researched to improve the
   performance of QUIC.

Status of This Memo

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

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   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."

   This Internet-Draft will expire on September 14, 2017.

Copyright 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
   publication of this document.  Please review these documents



Chan, et al.           Expires September 14, 2017               [Page 1]


Internet-Draft  OWL Considerations for Multipath in QUIC      March 2017


   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.  Conventions and Terminology . . . . . . . . . . . . . . . . .   3
   3.  Potential Usages of OWL in QUIC . . . . . . . . . . . . . . .   3
     3.1.  Crucial Data Scheduling . . . . . . . . . . . . . . . . .   3
     3.2.  Congestion Control  . . . . . . . . . . . . . . . . . . .   4
     3.3.  Packet Retransmission . . . . . . . . . . . . . . . . . .   5
   4.  OWL Measurement . . . . . . . . . . . . . . . . . . . . . . .   6
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   7
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   7
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   7
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .   7
     7.2.  Informative References  . . . . . . . . . . . . . . . . .   7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   8

1.  Introduction

   Round-trip time (RTT) is commonly used in congestion control and loss
   recovery mechanism for data transmission.  Yet the key issue for data
   transmission is simply the delay of the data transmission along a
   path which does not include the return.  The latency for uplink and
   downlink between two peers may be very different.  RTT, which cannot
   accurately reflect the delay of the data transmission along a path,
   can be easily influenced by the latency in the opposite direction
   along that path.  Therefore, the use of One Way Latency (OWL)
   [I-D.song-mptcp-owl] is proposed to describe the exact latency from
   the time that data is sent to the time data is received.

   Using the timestamps information in the ACK Frame of QUIC
   [I-D.ietf-quic-transport], the One Way Latency can be calculated in
   absolute value or in relative value.  As multipath will be supported
   by QUIC, path selection based on One Way Latency can improve the
   performance of multipath in QUIC in several situations, such as
   congestion control, packet retransmission, crucial data scheduling,
   etc.

   We suggest discussing the necessary considerations of OWL in QUIC.
   In the following, possible usages of OWL in QUIC are analyzed, and
   then two kinds of OWL measurements are listed and compared.





Chan, et al.           Expires September 14, 2017               [Page 2]


Internet-Draft  OWL Considerations for Multipath in QUIC      March 2017


2.  Conventions and Terminology

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

   One Way Latency (OWL):  the propagation delay between a sender and a
      receiver from the time a signal is sent to the time the signal is
      received.

3.  Potential Usages of OWL in QUIC

   There are a number of potential uses of OWL, especially for multipath
   in QUIC.  Although only 3 significant aspects are illustrated in this
   document, more explorations are still needed.

3.1.  Crucial Data Scheduling

   During a transmission process, there are often some crucial data that
   need to be sent to the destination immediately.  Examples of such
   crucial data are the key frame in multimedia, the high priority chunk
   of emergency communication, etc.  One cannot guarantee the sequence
   of data arrival along multiple paths if only the RTTs of the multiple
   paths are used.

   The data rate in any given link can be asymmetric.  In addition, the
   delay in a given direction can change according to the amount of
   packet queue.  Therefore delay in a forward direction in a path is
   not necessarily the same as that in the reverse direction as
   exemplified in Figure 1.





















Chan, et al.           Expires September 14, 2017               [Page 3]


Internet-Draft  OWL Considerations for Multipath in QUIC      March 2017


        --------   OWL(s-to-c,path1)=16ms   <--------
      /                                               \
     |     ----->  OWL(c-to-s,path1)= 5ms    -----     |
     |   /            RTT(path1)=21ms              \   |
     |  |                                           |  |
   +------+                                       +------+
   |      |----->  OWL(c-to-s,path2)= 8ms    -----|      |
   |Client|                                       |Server|
   |      |-----   OWL(s-to-c,path2)= 8ms   <-----|      |
   +------+           RTT(path2)=16ms             +------+
     |  |                                           |  |
     |   \                                         /   |
     |     ----->  OWL(c-to-s,path3)=10ms    -----     |
      \                                               /
        --------   OWL(s-to-c,path3)= 8ms   <--------
                      RTT(path3)=18ms

   Figure 1.  Example with 3 paths between the client and the server
   with OWL as indicated in the figure.  RTT information alone would
   indicate to the client that the fastest path to the server is path 2,
   followed by path 3, and then followed by path 1.  path 2 is the
   fastest, whereas OWL indicates to the client that the fastest path to
   the server is path 1, followed by path 2, and then followed by path
   3.

   Using the results of OWL measurement, the sender can easily select
   the faster path, in terms of the latency in the forward direction,
   for crucial data transmission.  Moreover, the acknowledgements of
   these crucial data can be sent on the path with minimum latency in
   the reverse direction.  Piggyback is then also useful when in duplex
   communication mode.

3.2.  Congestion Control

   Congestion in a given direction does not necessarily imply congestion
   also in the reverse direction.















Chan, et al.           Expires September 14, 2017               [Page 4]


Internet-Draft  OWL Considerations for Multipath in QUIC      March 2017


        --------   No congestion (path 1)   <--------
      /                                               \
     |     ----->  Congestion    (path 1)    -----     |
     |   /                                         \   |
     |  |                                           |  |
   +------+                                       +------+
   |Client|                                       |Server|
   +------+                                       +------+
     |  |                                           |  |
     |   \                                         /   |
     |     ----->  No congestion (path 2)    -----     |
      \                                               /
        --------   Congestion    (path 2)   <--------

   Figure 2.  Example of a congestion situation with 2 paths between the
   client and the server.  There is congestion from client to server
   along path 1 and also from server to client along path 2.  RTT
   information alone will indicate congestion in both paths, whereas OWL
   information will show the client that path 2 is the more lightly
   loaded path to get to the server.

   Network congestion in a given direction can be better described using
   OWL rather than using RTT.  Especially when the congestion can be a
   situation in a unidirectional path, the congestion in the path from a
   client to a server is different from the congestion in the path from
   the server to the client.  The RTT cannot accurately reflect the
   delay of interest for data transmission along a path.  For multipath
   in QUIC, the client needs to choose a more lightly loaded path to
   send packets [RFC6356].  It will then be unwise to compare the RTT
   among different paths, and it should instead compare the OWL among
   the paths.

3.3.  Packet Retransmission

   Continuous Multipath Transmission (CMT) increases throughput by
   concurrently transferring new data from a source to a destination
   host via multiple paths.  However, when a packet is lost, Receive
   Buffer Blocking (RBB) will occur as illustrated in Figure 3.













Chan, et al.           Expires September 14, 2017               [Page 5]


Internet-Draft  OWL Considerations for Multipath in QUIC      March 2017


                 Stream 5, Offset    0, Length 500 (lost)
          -----> Stream 5, Offset 1000, Length 500 (rcvd) -----
        /        Stream 5, Offset 2000, Length 500 (rcvd)       \
       |                                                         |
   +------+                                                  +--------+
   |Sender|                                                  |Receiver|
   +------+                                                  +--------+
       |                                                         |
        \        Stream 5, Offset  500, Length 500 (rcvd)       /
          -----> Stream 5, Offset 1500, Length 500 (rcvd) -----
                 Stream 5, Offset 2500, Length 500 (rcvd)

   Figure 3.  Example of Receive Buffer Blocking: The packet containing
   octets 0-499 in Stream ID=5 is lost.  On the other hand the packets
   containing Octets 500-999, 1000-1499, 1500-1999, 2000-2499 in Stream
   ID=5 have all been received.  The octets 500-2000 are then all
   buffered at the receiver, and are blocked by the missing octets
   0-499.

   Therefore, the sender needs to select a suitable path to retransmit
   ASAP.  Using the results of OWL measurement, the sender can quickly
   determine the specific path with minimum forward latency.  RBB can
   then be relieved as soon as the receiver obtains the most needed
   frames in the retransmitted packet(s) and submits them to the upper
   layer.

4.  OWL Measurement

   Two kinds of OWL measurement approaches are available: absolute value
   measurement and relative value measurement.

   To obtain the absolute value of OWL, the primary condition of
   measurement is clock synchronization.  Using Network Time Protocol
   (NTP) [RFC5905], end hosts can calibrate the local clock with the
   remote NTP server.  The additional information or optional
   capabilities can even be added via extension fields in the standard
   NTP header [RFC7822].  The calibration accuracy can reach to the
   millisecond level in less congested situations.  The obvious burden
   here is to persuade the end hosts to initialize the NTP option.

   Obtaining the relative value of OWL is more than enough in some
   circumstances to establish applications on top of it.  When
   retransmission is needed, for example, the sender may only care about
   which path has the minimum forward latency.  When bandwidth is being
   estimated, the difference of forward latency, i.e. delta latency,
   among all available paths is needed.  By exchanging with
   correspondent end host the local timestamps of receiving and sending
   the packets, both sides could obtain the relative value of OWL.



Chan, et al.           Expires September 14, 2017               [Page 6]


Internet-Draft  OWL Considerations for Multipath in QUIC      March 2017


   The considerations to obtain the absolute values are the extra
   protocol requirement and synchronization accuracy.  However, using
   the absolute values is more convenient for its applications.  On the
   contrary, the relative measurement only needs to send timestamps in
   the acknowledgment and there is no need to worry about the clock
   synchronization.

5.  Security Considerations

   TBD

6.  IANA Considerations

   This document presents no IANA considerations.

7.  References

7.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>.

7.2.  Informative References

   [I-D.ietf-quic-transport]
              Iyengar, J. and M. Thomson, "QUIC: A UDP-Based Multiplexed
              and Secure Transport", draft-ietf-quic-transport-01 (work
              in progress), January 2017.

   [I-D.song-mptcp-owl]
              Song, F. and H. Zhang, "One Way Latency Considerations for
              MPTCP", draft-song-mptcp-owl-01 (work in progress),
              December 2016.

   [RFC5905]  Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch,
              "Network Time Protocol Version 4: Protocol and Algorithms
              Specification", RFC 5905, DOI 10.17487/RFC5905, June 2010,
              <http://www.rfc-editor.org/info/rfc5905>.

   [RFC6356]  Raiciu, C., Handley, M., and D. Wischik, "Coupled
              Congestion Control for Multipath Transport Protocols",
              RFC 6356, DOI 10.17487/RFC6356, October 2011,
              <http://www.rfc-editor.org/info/rfc6356>.






Chan, et al.           Expires September 14, 2017               [Page 7]


Internet-Draft  OWL Considerations for Multipath in QUIC      March 2017


   [RFC7822]  Mizrahi, T. and D. Mayer, "Network Time Protocol Version 4
              (NTPv4) Extension Fields", RFC 7822, DOI 10.17487/RFC7822,
              March 2016, <http://www.rfc-editor.org/info/rfc7822>.

Authors' Addresses

   H Anthony Chan
   Huawei Technologies
   5340 Legacy Dr. Building 3
   Plano, TX 75024
   USA

   Email: h.a.chan@ieee.org


   Anni Wei
   Huawei Technologies
   Xin-Xi Rd. No. 3, Haidian District
   Beijing, 100095
   P. R. China

   Email: weiannig@huawei.com


   Fei Song
   Beijing Jiaotong University
   Beijing, 100044
   P. R. China

   Email: fsong@bjtu.edu.cn


   Hongke Zhang
   Beijing Jiaotong University
   Beijing, 100044
   P. R. China

   Email: hkzhang@bjtu.edu.cn













Chan, et al.           Expires September 14, 2017               [Page 8]