QUIC Q. An
Internet-Draft Alibaba Inc.
Intended status: Standards Track Z. Li
Expires: January 7, 2021 ICT-CAS
Y. Liu
Alibaba Inc.
July 6, 2020
Enabling application policy-awareness in Multipath QUIC
draft-an-multipath-quic-application-policy-00
Abstract
This document describes an application policy-awareness method for
Multipath QUIC, to enable taking applications' demands into account
when managing paths or scheduling packets in Multipath 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 https://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 January 7, 2021.
Copyright Notice
Copyright (c) 2020 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
(https://trustee.ietf.org/license-info) in effect on the date of
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
An, et al. Expires January 7, 2021 [Page 1]
Internet-Draft multipath-quic-application-policy July 2020
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Notational Conventions . . . . . . . . . . . . . . . . . . . 3
3. What is Application Policy-awareness in Multipath QUIC . . . 3
4. Per-connection Policy . . . . . . . . . . . . . . . . . . . . 4
5. Per-stream Intent . . . . . . . . . . . . . . . . . . . . . . 6
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
7. Informative References . . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction
The availability of multiple network interfaces in devices enables
the use of multiple paths between two end points for robust and
(possibly) fast data delivery. Multi-path TCP (MPTCP) was designed
to leverage off such an availability. It has been adopted by
operating systems and ISPs. A major design principle of MPTCP is
that it must be usable by applications through existing SOCKET APIs.
That said, it shields the underlying multiple paths for the
applications, which may be not even aware the use of multiple path
transmission. While this implements the backward compatibility with
TCP, it also leaves the applications out of the control loop of the
transport. Nevertheless, applications may have completely different
QoE requirements---the interactive applications are delay sensitive,
while the video streaming are more throughput sensitive. There is
thus a trend of cross-layer design that tries to take applications'
demands into account when managing paths or scheduling packets in
MPTCP [MP-DASH][WN][AD-MPTCP][SMAPP].
We thus advocate the idea of application policy awareness in multi-
path transport, which is to separate the 'control plane' from the
`data plane' like in software defined networking. The 'control
plane' takes applications' high-level demands (a.k.a intent) as input
to generate the corresponding policies, which later are deployed on
the 'data plane'. The 'data plane' maps users policies to the
'actions', which control the path management, packet scheduling and
other functionalities that the transport implements. For instance,
the 'actions' for path management may include "backup", "full mesh"
and "ndiffports", while the 'actions' for packet scheduling may
designate whether ECF [ECF] or DEMS [BSC] is used for path selection,
and may also impose a traffic split ratio among paths. Each
connection then can have a customized multipath transport.
An, et al. Expires January 7, 2021 [Page 2]
Internet-Draft multipath-quic-application-policy July 2020
Since MPTCP is implemented in OS kernel, it is not easy for
application providers to incorporate the above idea into MPTCP to
improve the applications' performance. QUIC, on the other hand,
implements a UDP-based transport, which enables the transport to be
bundled into applications and quickly deployed in end users' devices.
MPQUIC extends QUIC to multipath scenarios. Nevertheless, the basic
MPQUIC [MPQUIC-Design] acts much like MPTCP, except it uses QUIC (as
opposed to TCP). That said, the current MPQUIC implementation does
not support application policy-aware transport.
A straight solution for MPQUIC to enable the interaction between
applications and transport is to let applications to access/change
every single logic of the packet scheduling and path management, or
export callback functions as in [SMAPP]. This however will result in
a complex mix between applications and transport because of limited
abstraction. And perhaps more importantly, it requires application
developers to understand the details of the underlying transport.
This document describes an application policy-awareness method for
Multipath QUIC, to enable taking applications' demands into account
when managing paths or scheduling packets in Multipath QUIC. The
method remains compliant with the current Multipath Extensions for
QUIC [I-D.deconinck-quic-multipath] design.
2. Notational Conventions
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 [RFC2119].
3. What is Application Policy-awareness in Multipath QUIC
We advocate a more practical alternative (See Figure 1), where 1).
the `control plane' provides primitives to applications to express
their policies (intent); 2). the `data plane' abstracts execution
models for application policies and generates the corresponding
composed `actions'.
An, et al. Expires January 7, 2021 [Page 3]
Internet-Draft multipath-quic-application-policy July 2020
per-stream intent per-conn policy
Control e.g. stream prioirity e.g. path preference, path mode,
Plane deadline-aware etc
| |
-----------|----------------------------------------|-------------
V V
Data +--------+ - +------------------------+
Plane | | | | |
+--------+ | | +-----+ |
| | +->| ... | |
+--------+ | | | +-----+ |
| | | | | +-----+ |
+--------+ | | +->| ... | |
| | | +-----+ |
+--------+ | +----------+ chunks |+----------+ | |
| | ->| stream |------->|| packet |-+ ... |
+--------+ | |scheduling| ||scheduling| | |
... | +----------+ |+----------+ | +-----+ |
+--------+ | | +->| ... | |
| | | | | +-----+ |
+--------+ | | | +-----+ |
| | +->| ... | |
+--------+ | | +-----+ |
| | | | path manager |
+--------+ - +------------------------+
streams
Figure 1: Application Policy Awareness in Multi-path QUIC framework
4. Per-connection Policy
An application imposes per-connection policy through the primitives
provided by the control plane. Some examples of policies are path
preference (e.g. a Wi-Fi path is preferred twice than a cellular
path), path model (e.g. full mesh, ndiffports, backup). The packet
scheduling component and the path manager at the data plane will act
based on these indications for path selection and data transmission.
We assume the policies are 'soft'---the policies are not a must.
Instead, the data plane will follow the policies as much as possible.
Let us take real-time interaction applications as an example to
illustrate the basic idea. The applications are indeed delay
sensitive but data volume is often low. 3 types of policies may be
used by different applications, as shown in Table 1 where we assume
only two paths are available (Wi-Fi and Cellular)
An, et al. Expires January 7, 2021 [Page 4]
Internet-Draft multipath-quic-application-policy July 2020
+-----+-----------------+-------------+------------+----------------+
| No. | Application | Application | Underlying | Underlying |
| | defined policy: | defined | action: | action: Path |
| | Path mode | policy: | Packet | mngm. |
| | | Path | Scheduling | |
| | | Preference | | |
+-----+-----------------+-------------+------------+----------------+
| 1 | Wi-Fi=full, | Wi-Fi=1, | full | / |
| | Cellular=full | Cellular=1 | redundant | |
| | | | | |
| 2 | Wi-Fi=full, | Wi-Fi=1, | full | activate |
| | Cellular=backup | Cellular=1 | redundant | backup |
| | | | | interfaces |
| | | | | when the |
| | | | | active one's |
| | | | | performance is |
| | | | | lower than X |
| | | | | for 5s |
| | | | | |
| 3 | Wi-Fi=full, | Wi-Fi=2, | partially | / |
| | Cellular=full | Cellular=1 | redundant | |
+-----+-----------------+-------------+------------+----------------+
Table 1: Example policies of a real-time interaction application
The first type of policies would like to use two paths equally, and
because the applications are delay sensitive, the actions will be
'full redundant' for the packet scheduling---two paths send the same
data. The second type of policies, on the other hand, would like to
use the Wi-Fi interface (possibly because of data charge) if
possible. But if two paths have to be activated at the same time due
to the lower performance of Wi-Fi, then the two paths are with same
the preference. So, the corresponding actions will be will be 'full
redundant' for the packet scheduling, and the path management
component will monitor the performance of the active interface and
activate the backup one if the performance is lower than a threshold
for a short period of time (e.g. 5 seconds). The third type of
policies would like to use the two interfaces at the same time, but
Wi-Fi is preferred twice as the cellular one. The actions will take
this into consideration, and implement partial redundant transmission
over the cellular Interface.
Likewise, we can define a mapping between the policies of different
types of applications and the actions in the data plane. We leave
the design of such a mapping to the designers.
TODO: Add design of such a mapping.
An, et al. Expires January 7, 2021 [Page 5]
Internet-Draft multipath-quic-application-policy July 2020
5. Per-stream Intent
Per-stream intent is a unique feature provided by (MP)QUIC---it is
implemented through the multiple streams in QUIC. Streams can be
associated with priorities to implement applications intent. For
instance, objects in a web page may be dependent on others and thus
have different priorities [MPQUIC-Scheduler]. A priority-aware
packet scheduling algorithm will improve the performance notably.
High priority /\ +---------+
|| | |
|| +---------+
|| +---------+
|| | |
|| +---------+
|| ... User-defined priority
|| +---------+
Low priority || | |
|| +---------+
-----------------------------------------------------------
High priority /\ +---------+
|| | |
|| +---------+
|| +---------+
|| | |
|| +---------+
|| ... Default priority
|| +---------+
Low priority || | |
|| +---------+
Figure 2: Stream priority
We envision a priority management scheme of two separated priority
ranges (see Figure 2). The user-defined priority ranges are those
streams that the applications explicitly designate the priorities,
where the default priority ranges include the streams with no
priority values set by the applications. Only when the streams in
the user-defined ranges have no data sent, the data in the streams in
the default priority ranges can be sent. In the same range, one can
use the weighted round robin for scheduling---the higher-priority
streams get more quantum for data sending in each round. One can
also dynamically set/change the priorities of the streams in the
default priority ranges to enable short stream first if needed.
An, et al. Expires January 7, 2021 [Page 6]
Internet-Draft multipath-quic-application-policy July 2020
We list in Table 2 some applications that can be benefited from the
above priority-aware stream management scheme.
+---------------------+-----------------------------+----------------+
| Application | Priority setting | Benefits |
+---------------------+-----------------------------+----------------+
| Web | Setting stream priority | Reduced page |
| | based on the objects' | load time |
| | priorities | |
| | [MPQUIC-Scheduler] | |
| | | |
| Photo album | Default setting; dynamical | Reduced load |
| | changing priority to mimic | time of the |
| | shorted stream first like | first image; |
| | in flow scheduling in data | images of |
| | centers [CDC] | small size |
| | | will be |
| | | displayed |
| | | first |
| | | |
| Live streaming | The chunks or GoPs with the | Low startup |
| (viewing) / VoD | closest deadline are put | delay, low |
| | into the stream with higher | buffering |
| | priorities. This | ratio |
| | essentially implements | |
| | deadline-aware data | |
| | transmission | |
| | | |
| Live streaming: | The original segments are | Enhanced |
| broadcaster->server | put into the streams in the | shift-viewing |
| | user-defined priority | quality of |
| | range, while the enhanced | services |
| | segments are put into the | [Vantage] |
| | streams in the default | |
| | priority range | |
+---------------------+-----------------------------+----------------+
Table 2: Example applications benefited from priority-aware stream
management scheme
TODO: Add priority management solution.
6. IANA Considerations
This document makes no request of IANA.
An, et al. Expires January 7, 2021 [Page 7]
Internet-Draft multipath-quic-application-policy July 2020
7. Informative References
[AD-MPTCP]
Froemmgen, A., Rizk, A., Erbshaeusser, T., Weller, M.,
Koldehofe, B., Buchmann, A., and R. Steinmetz, "A
programming model for application-defined multipath TCP
scheduling", Proceedings of the 18th ACM/IFIP/USENIX
Middleware Conference (Middleware '17). Association for
Computing Machinery, New York, NY, USA, 134-146., 2017,
<https://doi.org/10.1145/3135974.3135979>.
[BSC] Guo, Y., Nikravesh, A., Mao, Z., Qian, F., and S. Sen,
"Accelerating Multipath Transport Through Balanced Subflow
Completion", Proceedings of the 23rd Annual International
Conference on Mobile Computing and Networking (MobiCom
'17). Association for Computing Machinery, New York, NY,
USA, 141-153., 2017,
<https://doi.org/10.1145/3117811.3117829>.
[CDC] Bai, W., Chen, L., Chen, K., Han, D., Tian, C., and H.
Wang, "Information-agnostic flow scheduling for commodity
data centers", Proceedings of the 12th USENIX Conference
on Networked Systems Design and Implementation (NSDI'15).
USENIX Association, USA, 455-468., 2015.
[ECF] Lim, Y., Nahum, E., Towsley, D., and R. Gibbens, "ECF: An
MPTCP Path Scheduler to Manage Heterogeneous Paths",
Proceedings of the 13th International Conference on
emerging Networking EXperiments and Technologies (CoNEXT
'17). Association for Computing Machinery, New York, NY,
USA, 147-159., 2017,
<https://doi.org/10.1145/3143361.3143376>.
[I-D.deconinck-quic-multipath]
De Coninck, Q. and O. Bonaventure, "Multipath Extensions
for QUIC (MP-QUIC)", draft-deconinck-quic-multipath-03
(work in progress), August 2019.
[MP-DASH] Han, B., Qian, F., Ji, L., and V. Gopalakrishnan, "MP-
DASH: Adaptive Video Streaming Over Preference-Aware
Multipath", Proceedings of the 12th International on
Conference on emerging Networking EXperiments and
Technologies (CoNEXT '16). Association for Computing
Machinery, New York, NY, USA, 129-143., 2016,
<https://doi.org/10.1145/2999572.2999606>.
An, et al. Expires January 7, 2021 [Page 8]
Internet-Draft multipath-quic-application-policy July 2020
[MPQUIC-Design]
De Coninck, Q. and O. Bonaventure, "Multipath QUIC: Design
and Evaluation", Proceedings of the 13th International
Conference on emerging Networking EXperiments and
Technologies (CoNEXT '17). Association for Computing
Machinery, New York, NY, USA, 160-166., 2017,
<https://doi.org/10.1145/3143361.3143370>.
[MPQUIC-Scheduler]
Wang, J., Gao, Y., and C. Xu, "A Multipath QUIC Scheduler
for Mobile HTTP/2", Proceedings of the 3rd Asia-Pacific
Workshop on Networking 2019 (APNet '19). Association for
Computing Machinery, New York, NY, USA, 43-49., 2019,
<https://doi.org/10.1145/3343180.3343185>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[SMAPP] Hesmans, B., Detal, G., Barre, S., Bauduin, R., and O.
Bonaventure, "SMAPP: towards smart multipath TCP-enabled
applications", Proceedings of the 11th ACM Conference on
Emerging Networking Experiments and Technologies (CoNEXT
'15). Association for Computing Machinery, New York, NY,
USA, Article 28, 1-7., 2015,
<https://doi.org/10.1145/2716281.2836113>.
[Vantage] Ray, D., Kosaian, J., Rashmi, K., and S. Seshan, "Vantage:
optimizing video upload for time-shifted viewing of social
live streams", Proceedings of the ACM Special Interest
Group on Data Communication (SIGCOMM '19). Association for
Computing Machinery, New York, NY, USA, 380-393., 2019,
<https://doi.org/10.1145/3341302.3342064>.
[WN] Cui, Y., "Wireless Network Instabilities in the Wild:
Measurement, Applications (Non)Resilience, and OS Remedy",
2019 IEEE/ACM Transactions on Networking, vol. 27, no. 1,
pp. 214-230., 2019, <10.1109/TNET.2018.2885872>.
Authors' Addresses
Qing An
Alibaba Inc.
Email: anqing.aq@alibaba-inc.com
An, et al. Expires January 7, 2021 [Page 9]
Internet-Draft multipath-quic-application-policy July 2020
Zhenyu Li
ICT-CAS
Email: zyli@ict.ac.cn
Yanmei Liu
Alibaba Inc.
Email: miaoji.lym@alibaba-inc.com
An, et al. Expires January 7, 2021 [Page 10]