  Multipath TCP (MPTCP) allows applications to transparently use all available
network interfaces by creating a TCP subflow per interface. One critical
component of MPTCP is the scheduler that decides which subflow to use for each
packet. Existing schedulers typically use estimates of end-to-end path
properties, such as delay and bandwidth, for making the scheduling decisions.
In this paper, we show that these scheduling decisions can be significantly
improved by incorporating readily available local information from the device
driver queues in the decision-making process. We propose QAware, a novel
cross-layer approach for MPTCP scheduling. QAware combines end-to-end delay
estimates with local queue buffer occupancy information and allows for a better
and faster adaptation to the network conditions. This results in more efficient
use of the available resources and considerable gains in aggregate throughput.
We present the design of QAware and evaluate its performance through
simulations, and also through real experiments, comparing it to existing
schedulers. Our results show that QAware performs significantly better than
other available approaches for various use-cases and applications.
