The penetration of mobile devices such as smartphones and tablets has increased significantly over the last few years. This success is based on the rapid deployment and ubiquity of wireless technologies [15, 6], such as IEEE 802.11 (WiFi) and cellular (4G/5G) communication networks. Many users with mobile devices can access the Internet through both WiFi and cellular networks. Typically, they only utilize one technology at a time: WiFi when it is available, and cellular otherwise. A multipath system such as MPTCP  has focused on integrating various wireless access technologies to provide higher data rates, more services, and smooth handover modes [29, 11]. An MPTCP connection contains one or more subflows, each of which works the same as a regular TCP connection to the network. Starting with a four-way handshake, MPTCP’s options are included in the SYN segments to verify whether the destination is MPTCP capable or not. And then a unique token number is negotiated to identify the first connection. Additional TCP subflows will be associated with this initial TCP subflows by carrying the previously token in their three-way handshake.
After designing an efficient path selector , MPTCP can preferentially distribute the application data stream among the best subflows at the time to maximize the use of available physical interfaces. As only one TCP subflow will typically be associated to each physical interface, MPTCP’s packet scheduler can improve the reaction to failures and maximize the connection-level throughput by injecting packets into the highest quality wireless interface. Thus, how to select which wireless interface to carry the incoming packets is becoming essential for the mobile device. MPTCP’s native path decisions based on hysteretic TCP-layer estimation always miss the real switching point of wireless quality, which may cumulate packets on the broken path and causes serious packets reinjection.
Due to the symptom scaling property of TCP subflows, the QoS (Quality-of-Service) of the mobile application is critically subject to its wireless hop . Especially when the mobile device walks away from a base station or access point, the short signal coverage with a fast signal fading has a significant impact on the wireless transmission [21, 20]. Several works (e.g., [33, 32]) also show that serious interference in the available channels is a primary reason for the wireless quality decay in the wild. Naturally, various MAC-layer factors (e.g., RSSI, SINR) have proactively reflected these quality changes of the current wireless environment [26, 1]. However, there is no existing method integrates both TCP-layer factors and MAC-layer factors to make a cross-layer path selection.
In this paper, we carry out a quantitative analysis between cross-layer attributes and MPTCP connection-level performance, by inspecting a unique dataset collected from several mobile devices in the wild. We propose a wireless path selection approach by modeling it as a binary classification problem. We optimize the classification model by introducing random forest and post-pruning. These optimization improves classification accuracy, as well as reduces memory usage and computation cost. As shown in Fig.1, we implement SmartPS, a prototype of the path selection system based on Android with MPTCPv0.95. Evaluation results demonstrate that the proposed SmartPS can improve the goodput by up to 29 percent.
The rest of this paper is organized as follows. Section II discusses the background and motivation of MPTCP path selection. Section III introduces the dataset and analyzes the impact of various attributes. Section IV proposes a decision tree based approach with information gain ratio (IGR) and receiver operating characteristic (RoC). Section V describes the implementation of the sender side path selection system SmartPS and evaluates its performance in the real wireless environment. Section VI details related work and Section VII concludes our work.
Ii Background and Motivation
The rapid development of wireless networks has greatly changed the production of human life. A wide range of vertical use cases, such as massive Internet of things (IoT), remote machinery, autonomous driving, and virtual reality (VR), is expected by the next-generation mobile network [2, 8]. However, limited by the open-air environment, the wireless network is more fickle and unstable than wired transmission. Especially in extreme situations [20, 7], a mobile application relying on a single-path interface suffers great performance degradation. The recent multi-path schemes try to bridge the performance gap by integrating multiple wireless access technologies [29, 9, 25]. Because different wireless interfaces of a mobile device send or receive signals at different frequencies, which defines their signal coverage through the free-space path loss equation . Moreover, the deployed base stations or access points may have different geographic elements, which also vary the background noise and multi-path effects of their wireless signal.
Considering the low-speed mobility cases111The speed is about 090 km/h, a good MPTCP path selector should proactively probe the wireless environment and dynamically return the best quality path to carry the incoming packets, as the mobile device may cross several network coverage regions222Nanocell-5G or WiFi-5GHz has a shorter coverage in a short time and result in frequent network quality switching. By selecting an appropriate path, the MPTCP sending buffer can significantly reduce the in-flight packets queue of the poor subflow, and improve the overall performance of the MPTCP connection. Through holding a general mobile device equipped with WiFi and LTE interfaces333Dual LTE cards are common on Android device, we first explore the relationship between the representative MAC-layer attributes and the handover point of the default Minimum Round Trip Time First (MF) path selector. As the sampling result shown in Fig.2, we find that MF always misses the real switching point of wireless quality, since TCP-layer acknowledgement is delayed especially for a broken TCP subflow. And then we measure the in-flight packets of each subflow coupled with its physical interface. The result in Fig.3 shows that the broken path accumulates more in-flight packets than the good one accompanying with the variation of MAC-layer attributes.
Several works indicate that leveraging the MAC-layer information of wireless interface can sense the quality of the network in advance [1, 38]. In order to enhance MPTCP’s performance, Sinky et al. propose a proactive congestion control algorithm by detecting handoff with cross-layer assistance . Lim et al. exploit MAC-Layer factors to estimate path status, and suspends/releases a path based on these features . Palash et al. design a selective congestion retreat scheme with the received signal strength, which can suppress the weak TCP subflows without the need of explicit congestion notification 
. However, an arbitrary threshold is decided to manage the path in all this work, which includes such unreliable human experience that inapplicable to the general situation. By training a machine learning model, data-driven approaches with the information entropy have achieved great results in splitting decision factors[43, 34, 22]. The above observation motivates us to design and implement a cross-layer selection of multiple wireless interfaces to improve MPTCP’s aggregate performance based on a decision-tree method.
|RSSI||received signal strength indication||Both||the linear average of the total received power||dBm|
|SINR||signal to interference noise ratio||Both||the ratio of the signal power to background noise||dB|
|RSRP||reference signal received power||LTE||the average power of the resource elements||dBm|
|RSRQ||reference signal received quality||LTE||ranking among different candidate cells||dB|
|TD||transmitting data rate||WiFi||physical bit rate for sending packets||Mbps|
|RD||receiving data rate||WiFi||physical bit rate for receiving packets||Mbps|
Iii Data Collection and Analysis
Iii-a MPTCP performance metrics
Lots of assistant packet headers with different MPTCP options ensure the multipath transport procedures. However, only the encapsulated payloads are usable to the Application-layer. An ordinary throughput can not well measure the ability of MPTCP to aggregate traffic in the wireless network since packet loss and retransmission are common and cause numerous assistant packets. We thus use application goodput to indicate the delivery rate of valid packets, which neglects the extra overhead. As MPTCP ensures in-order delivery, the packets that are scheduled on the faster subflow have to wait for the slower subflow’s packets to arrive in the out-of-order queue. We thus use application delay to indicate the packet delivery latency, which includes all the intermediate processing delays. According to the original intention of MPTCP design , we define the better quality of an MPTCP connection as comparing its application goodput (AG) first and then comparing its application delay (AD) in the following section. The receiver-side host creates an iperf-session using the custom Aliyun cloud, which also compiles the latest MPTCP version to creates one subflow per physical interface for each MPTCP connection. The iperf-session runs for 60 seconds to allow the flows to reach equilibrium. We track the application delay by sending blocks of data, tagged with a timestamp . Upon reception of each block, we store the transmission timestamp together with the timestamp at the receiver-side. The evolution of the difference between these timestamps gives us the variation in application delay.
Iii-B Cross-layer attributes
Collection of the sensitive PHY layer parameters such as Channel State Information is hard and can only be obtained from few dedicated wireless chips, e.g., Intel 5300 , Atheros 9580 . On the contrary, the general Android device provides convenient APIs [3, 4] which enables us to monitor the basic parameters as the WiFi and Cellular MAC-layer attributes. Various information in Table I, e.g., RSSI, SINR, RSRP, and RSRQ can comprehensively reflect the quality of the current LTE wireless environment. However, we must note that each physical interface is multiplexed by multiple protocols, although TCP traffic accounts for a large portion of the traffic. For each TCP subflow, its associated MAC-layer information are proactive but coarse-grained to affect MPTCP performance. Thus, discarding the single-factor dependence, we leverage more TCP-layer information, including RTT, CWND, Packet Delivery Rate (PDR), and Packet Loss Rate (PLR), to design selection judgments from various TCP subflows. Crossing the network layer, we also select the WiFi and Cellular MAC-layer information that have the largest correlation coefficients with the performance metrics and rewrite a function with the above packages.
Iii-C Mobile device with multiple interfaces
To analyze the status of cross-layer attributes, we collect a unique dataset from a real-world environment within a metropolis S, which has realized full coverage of emergent WiFi and 5G network in the urban area. We carried five different production Android devices built-in MPTCP, WiFi, and 4G/5G modules around more than 150 sampling locations, e.g., inside bars or restaurants. We have to point out that about a quarter of the time we are on the moving, either on foot or in the traffic. By pushing or pulling variable-sized web files, we measured the raw data exampled in Table III, which lasts for 30 minutes in each place. The whole data collection lasts for 14 days, during which 1,246,742 valid samples in WiFi&5G pair and 4,314,623 valid samples in WiFi&4G pair are recorded. The column determines whether the current path selection strategy is the WiFi path First (WF) or the LTE path First (LF).
|Quality metric||Kendall Score||CIG|
Next We plot Fig. 4 to understand how cross-layer factors influence the MPTCP performance metrics. Y-axis represents the corresponding performance metric, and X-axis in each subfigure represents a certain kind of attribute. we will not describe RTT and CWND in detail in this paper since they have been fully discussed in previous works [34, 37]. We bin the attributes using different intervals based on their properties: 5dbm in RSSI, RSPR, 5dB in RSRQ, SINR, 5Mbps in TD, RD, PDR, and 0.05% in PLR. The bins which contain less than 10 samples are filtered out to reduce the random errors. Then we use the 90th percentile statistical summary indicators for each bin’s metrics. As the preferred interface will carry most of the MPTCP traffic, we divide the binning data into WF(5GHz), WF(2.4GHz), LF(5G), and LF(4G) based on their radio frequency difference. From Fig. 4, we can find that MAC-layer attributes have a strong relationship with AG and AD. We further quantify the relationship by calculating the following two mathematical coefficients respectively.
To compare among different attributes, we first choose Kendall correlation as an indicator. This is because Kendall does not need to assume the data follows certain distribution (e.g., Gaussian distribution). Using the above bins of cross-layer attributes, we calculate the average value of corresponding application goodput, or delay that falls into this bin. Then we compute the Kendall correlation score between goodput or delay and different attributes for each physical interface pair. The median Kendall scores of different pairs are shown in the second column of TableII. We can see that PDR, RTT, RSSI, and SINR have the largest correlation coefficient relative to AG. Meanwhile, RTT, RSSI, and PLR are the most relevant to AD.
However, correlation-based analysis cannot handle well those non-linear relationships such as RSSI, SINR, TD and RD in Fig. 4 (b), (c), (g), and (h). We choose conditional information gain, denoted as CIG, to resolve this problem. CIG represents how much of Y’s uncertainty will be reduced with the knowledge of X’s value. We first split the value of application goodput and delay into discretized values using 5Mbps and 5ms interval to format Y. For each kind of corresponding attribute Xi, we calculate the conditional information gain and repeat this for different interface pairs. The third column of Table II shows PDR, RTT, RSSI have the top three CIG to AG. The definition of CIG, in this paper, represents the reduction percentage of AG or AD uncertainty after knowing the value of a certain cross-layer attribute, which ranges from 0 to 1. CIG equals 0 means that the performance metric is independent with a certain attribute. Any value of CIG which is larger than 0 shows that this attribute is useful for predicting performance metrics.
Iii-D Summary of data Analysis
We can observe that both application goodput and application delay have a large Kendall or CIG with MPTCP’s TCP-layer attributes (PDR, RTT). This indicates that the hysteretic network parameters can well reflect the current network conditions, which also means the wireless network we are connected is stable most of the time. This is also why the simple MF becomes the preferred strategy for the wired networks. However, we still need to consider the variability of wireless networks in mobile scenarios. Some MAC-layer attributes (RSSI,SINR) may have a larger Kendall and CIG than TCP-layer attributes (CWND,PLR), though only part of the data collection is carried out in an unstable environment. From the qualitative analysis, it is obvious that there is both a linear and a non-linear relationship between attributes and performance metrics. Moreover, the monotonic quantity of the linear relationship is quite different. It is almost impossible to accurately predict the performance Y by fitting a curve that covers all the attributes X. Fortunately, we only need to select WiFi or LTE based on the capturing attributes, which includes branch statements with partitioning problem. All we need to do is to know the threshold and the order in which the attributes are split.
Iv Modeling the Path Selection
Iv-a Problem Statement
For each pair of physical interfaces in Table III, MPTCP’s choice for multiple paths causes a wide difference in the overall performance, although their attributes only have slightly different. If we take the into account and group the data with the same priority before calculating the mathematical coefficient, e.g., only the attributes of WiFi are used to calculate Kendall and CIG when MPTCP selects the WiFi path first. After applying the same policy to the LTE path, the results in Table IV show a significant increase in Kendall score and CIG for most attributes. As the last column shown in Table III, we merge the data rows of each pair by filling the median value of its two attributes and labeling the priorities with a better performance metric. After pre-processing the raw data, we get 5,564,365 entries in the classification dataset in total. The path selection problem is now modeled as a binary classification problem with Class LF and Class WF.
|Quality metric||Kendall Score||CIG|
Iv-B Modeling Approach
Considering the complex relationship between cross-layer attributes and the performance metric, we choose machine learning (ML) as our tool to address the above problem. It is crucial to choose an appropriate ML method for accuracy. After a preliminary study, we choose Linear Regression, Naive Bayes, and Decision Tree (C5.0) from the Python scikit-learn package  as our classifier methods. Decision Tree method outperforms Linear Regression and Bayes methods in our pilot experiment. We infer that Bayes and Linear Regression have a poor performing on our dataset because the features in our dataset (i.e., MAC-layer attributes) are dependent on each other. The other reason is that the relationship between attributes and metrics is non-linear. However, the Decision Tree model has no assumptions about independence among features and linear relationship between features and labels.
We use 10-fold cross-validation to evaluate the accuracy of the Decision Tree models. We randomly divide the whole classification dataset into two parts: 90% of data are used for training the models and the rest 10% are used for evaluation. For the training procedures, we bin the samples by using the same method as Section III and search the threshold partitions by comparing their Information Gain Ratio. The attributes RSRP, RSRQ, TD, and RD are excluded from the feature set because of their low CIG. We use these ground truth to build our Decision Tree with an iterative function. For the evaluation of ML models, we regard accuracy as the most important metric that reflects the overall performance of path selection. For the comparison, we add the classical ROC (Receiver Operating Characteristic) parameters, including precision, recall, and f1-score, to overemphasize the positive samples (WF in this paper). The results are summarized in Table V. We do the classification on Linear Regression, Bayes, and Decision Tree respectively.
|Classification Algorithm||Evaluation Metrics|
|Decision Tree (C5.0)||0.828||0.831||0.814||0.822|
In this case, our Decision Tree achieves 82.8% accuracy for classifying the preferential path, which performs better than Linear Regression and Bayes. The accuracy can be greatly improved by using the Random Forest model which votes between multiple trees. In our experiment, by using a Random Forest model whose tree number is 200, the accuracy can reach 86.2%. The accuracy and Recall can further increase when increasing the tree number and the depth of the tree in the Random Forest model. However, it causes overfitting phenomenon and huge memory overhead because a large number of votable trees may generate a lot of unnecessary branches. To alleviate the problems, we can use a post-pruning method to merge the needless branch.
As shown in Fig. 5, we can know exactly what happened to the classified procedures by analyzing the partition nodes from root to a certain leaf. Because the learning model of Decision Tree in scikit-learn package is a local greedy algorithm, which confirms the splitting order and thresholds through comparing the entropy. RSSI is chosen as the root node of decision tree in Fig. 5 as has the largest information gain ratio during the startup. Meanwhile, the nodes in the remaining layers are determined by using the information gain ratio when combining their upper layer nodes. This combined information gain ratio used to purify the samples in each node differs from the overall information gain of single attribute in Table II. This is why only have the 6th CIG but appear as the third layer of decision tree. In other words, the splitting order of right after has a better branch gains than other explorations.
V Implementation and Evaluation of SmartPS
V-a Implementation of SmartPS
In the previous section, we have trained a generic decision tree with cross-layer attributes, and optimized it by post-pruning heuristics and votable forest. To evaluate the performance of the modeled path selection in real wireless network, we must enforce our mobile device to select the multiple paths automatically based on the classification results. Considering the general situation, we denote that mobile devices only access the Internet through two kind of wireless network interfaces (i.e., WiFi and LTE). Even if other interfaces exist, we can actually retrain a multi-classification model by adding more attributes and labels. Although the server side has vast addresses available, we only consider the many-to-one case of mobile device mapping its peer server due to the presence of the load balancer, i.e., Each MPTCP connection establishes only one subflow on each physical interface. This not only simplifies our classification problem, but also avoids the performance degradation caused by the unfairness of the bottleneck.
In the implementation of the SmartPS system, it requires interaction between the kernel and userspace as shown in Fig.6. To simplify the execution logic, we rewrite and implement the path selector function  in the kernel that obtains the priority of each subflows from the decision tree in the userspace by a system call . Besides, we continuously leverage , , and iperf-session in the network measurement module to capture the cross-layer attributes and performance metrics. The detailed system settings are described as follows. As shown in Fig. 6, to generate the realtime interface priority, SmartPS maintains two decision tree models. One well-trained offline decision tree is used to output the priority of the selected path according to the attributes of network measurement module. Another trainer builds an online decision tree according to the labeled dataset in the feature memory. To accommodate the changing wireless environment, the offline decision tree periodically copy its structure from the online module.
V-B Evaluation in commercial network
To evaluate the actual effect of our decision tree-based path selection system, we choose the aforementioned five production Android devices that deployed in the wild to perform the experiment. By transferring files with variable size, we imitate the long/short MPTCP flows of different application services. Different means of transportation determine our speed of movement and the network environment along our trip. Using the sysctl command, we compared the SmartPS with MPTCP’s native MinRTT and RoundRobin (RR) selector.
Experimental results are shown in Fig. 7 and Fig. 8. We first focus on the performance metrics, which indicate the quality of experience (QoE) of the mobile application. Fig. 7 shows the CDF of application goodput (AG) at the same mobile devices with different path selectors. SmartPS achieves a higher AG than MinRTT and RR in most of the time. The 50th percentile of AG in SmartPS is around 16.4 Mbps, but the 50th percentile of MPTCP connection in MinRTT and RR has AG no more than 12.7 Mbps, which makes about 29% improvement. Because the interaction between Linux kernel and userspace, SmartPS may consume more time than the kernel-based path selector. Fig. 8 presents the CDF of application delay (AD). As expected, SmartPS attaches 5.7%-9.3% AD than the simple MinRTT. We further measure the accumulative packets of multiple interfaces. SmartPS cumulates few bytes with more proaction in Fig. 9.
V-C Large-scale simulations
Besides the real-world experiments, we also use Mininet to build a large-scale simulated testbed . Based on the dataset in Section. III, we create a virtual network and establish MPTCP connections between Mininet hosts. To test the extreme network environment, the domains of cross-layer attributes in each path not only cover the dataset but also randomly sets a wider range. SmartPS directly leverages these configurations without kernel interaction overhead.
As shown in the Fig. 11, our prototype reduces the 50th percentile of AD from 102 ms to 97 ms, about 4.8%. However, it may suffer under-fitting problems and achieve a lower AG improvement than the real-world experiment, about 23.5% in Fig 10. Fig. 12
also shows this result that several outliers appear in the boxplots of accumulative packets.
Vi Related Work
The core idea of MPTCP path selection in our work is mostly inspired by , which uses a general decision tree to support packet classification. Similarly, Zhang et al.  propose a decision tree approach for intelligent dual-band access selection. Zhou et al.  structure the timeout retransmissions into a decision tree classification framework that identifies the cause of TCP performance issues. Leveraging the recent machine learning (ML) methods, [34, 10] and 
have detailed the relationship between WiFi/Cellular network attributes and mobile applications with a single-path TCP. Meanwhile, the popular Reinforcement Learning (RL)17] has greatly improved the performance of MPTCP’s scheduler  and Congestion Controller . Although MPTCP has evolved for many years, there is no previous work considering an efficient path selection based on cross-Layer information and appropriate ML.
Raiciu et al.  have studied the mobility with MPTCP, which examined a mobile MPTCP architecture consisting of a mobile host, and an optional MPTCP proxy. While it shows MPTCP performs better stability in a mobile scenario, it does not examine the packet accumulative problem of broken subflow. Using different modes such as Full-MPTCP mode (where all potential subflows are used) and Backup mode (where only a subset of subflows are used to transmit packets), Passach et al.  discussed the impact of LTE/WiFi handover performance with MPTCP. However, they did not explore how to quickly utilize the faster path when path quality frequently changes.
Using the MAC-layer Information, Klemm et al.  proposed mechanisms based on signal strength measurement to improve TCP performance in mobile ad-hoc networks. To alleviate packet losses due to mobility, their approach temporarily applies higher transmission power if the signal strength measurement indicates that a node is likely to move out of communication range. Li et al.  proposed Link Signal Strength Agent Protocol (LSSA) to report measured signal strength to the TCP-layer in mobile ad-hoc networks. However, it requires additional control packets to exchanges the path information with an unreliable single-path TCP connection.
In this paper, we presented the design, implementation, and evaluation of a decision tree-based framework, SmartPS, for path selector in MPTCP. We quantitatively analyze the cross-layer attributes that induce quality changes in LTE and WiFi, by inspecting a unique dataset collected from production Android devices in the wild. Using the attributes with a bigger information gain, we label the subflows’ for each MPTCP connection, by exploring and comparing the overall performance in two different priorities: WF or LF.
We propose a modification of MPTCP, called SmartPS, which selects subflows based on the standardized inputs capturing from cross-layer information. We leverage the random forest, online training, and post-pruning algorithms to optimize the trained decision tree which achieves higher application performance with lower memory usage and less computation cost. After implementing SmartPS in the Linux system on a cloud server and a mobile device, we perform experiments in the actual mobile scenarios and large-scale simulation. Our experimental results show that SmartPS is able to more quickly use the faster subflow than native MPTCP selector, and thus can achieve significantly better performance. For future work, we plan to extend the implementation of SmartPS into the userspace stack, which bypasses the Linux kernel and remove the bottleneck caused by kernel interaction.
-  (2015) SINR, rsrp, rssi and rsrq measurements in long term evolution networks. International Journal of Wireless & Mobile Networks. Cited by: §I, §II.
-  (2015) 5G white paper. Next generation mobile networks, white paper 1. Cited by: §II.
-  Android.net.wifi.wifiinfo. Note: https://developer.android.google.cn/reference/android/net/wifi/WifiInfo/[Online; accessed 2020-05-06] Cited by: §III-B.
-  Android.telephony. Note: https://developer.android.google.cn/reference/android/telephony/package-summary/[Online; accessed 2020-05-06] Cited by: §III-B.
-  (2014) Modeling web quality-of-experience on cellular networks. In Proceedings of the 20th annual international conference on Mobile computing and networking, pp. 213–224. Cited by: §VI.
-  (2016) Cellular meets wifi: traffic offloading or resource sharing?. IEEE Transactions on Wireless Communications 15 (5), pp. 3354–3367. Cited by: §I.
-  (2014) FMTCP: a fountain code-based multipath transmission control protocol. IEEE/ACM Transactions on Networking 23 (2), pp. 465–478. Cited by: §II.
-  (2014) IEEE 802.11 ax: next generation wireless local area networks. In 10Th international conference on heterogeneous networking for quality, reliability, security and robustness, pp. 77–82. Cited by: §II.
-  (2014) WiFi, lte, or both? measuring multi-homed wireless internet performance. In Proceedings of the 2014 Conference on Internet Measurement Conference, pp. 181–194. Cited by: §II.
-  (2011) Understanding the impact of video quality on user engagement. ACM SIGCOMM Computer Communication Review 41 (4), pp. 362–373. Cited by: §VI.
-  (2015) Multipath tcp over leo satellite networks. In 2015 International Wireless Communications and Mobile Computing Conference (IWCMC), pp. 1–6. Cited by: §I.
-  (1983) Ieee standard definitions of terms for antennas. IEEE Transactions on Antennas and Propagation 31 (6), pp. 1–29. Cited by: §II.
-  (2016) Revisiting congestion control for multipath tcp with shared bottleneck detection. In IEEE INFOCOM 2016-The 35th Annual IEEE International Conference on Computer Communications, pp. 1–9. Cited by: §V-A.
-  (2012) TCP extensions for multipath operation with multiple addresses, draft-ietf-mptcp-multiaddressed-09. Internetdraft, IETF (March 2012). Cited by: §I.
-  (2013) A measurement of mobile traffic offloading. See DBLP:conf/pam/2013, pp. 73–82. External Links: Cited by: §I.
-  (2011) Tool release: gathering 802.11 n traces with channel state information. ACM SIGCOMM Computer Communication Review 41 (1), pp. 53–53. Cited by: §III-B.
-  (1997) Long short-term memory. Neural computation 9 (8), pp. 1735–1780. Cited by: §VI.
-  (2005) Improving tcp performance in ad hoc networks using signal strength based link management. Ad Hoc Networks 3 (2), pp. 175–191. Cited by: §VI.
-  (2001) The link signal strength agent (lssa) protocol for tcp implementation in wireless mobile ad hoc networks. In IEEE 54th Vehicular Technology Conference. VTC Fall 2001. Proceedings (Cat. No. 01CH37211), Vol. 4, pp. 2528–2532. Cited by: §VI.
-  (2018) A measurement study on multi-path tcp with multiple cellular carriers on high speed rails. In Proceedings of the 2018 Conference of the ACM Special Interest Group on Data Communication, pp. 161–175. Cited by: §I, §II.
-  (2015) A measurement study on tcp behaviors in hspa+ networks on high-speed rails. In 2015 IEEE Conference on Computer Communications (INFOCOM), pp. 2731–2739. Cited by: §I.
-  (2018) Cutsplit: a decision-tree combining cutting and splitting for scalable packet classification. In IEEE INFOCOM 2018-IEEE Conference on Computer Communications, pp. 2645–2653. Cited by: §II, §VI.
-  Libpcap. Note: http://www.tcpdump.org/[Online; accessed 2020-05-05] Cited by: §III-A.
-  (2014) Cross-layer path management in multi-path transport protocol for mobile devices. In IEEE INFOCOM 2014-IEEE Conference on Computer Communications, pp. 1815–1823. Cited by: §II.
-  (2017) ECF: an mptcp path scheduler to manage heterogeneous paths. In Proceedings of the 13th International Conference on emerging Networking EXperiments and Technologies, pp. 147–159. Cited by: §II.
-  (2006) Analyzing the mac-level behavior of wireless networks in the wild. In Proceedings of the 2006 conference on Applications, technologies, architectures, and protocols for computer communications, pp. 75–86. Cited by: §I.
-  (2008) Pathdiag: automated tcp diagnosis. In International Conference on Passive and Active Network Measurement, pp. 152–161. Cited by: §I.
-  (2013) Multipath tcp path selector in the linux kernel. Available from https://github.com/multipathtcp/mptcp/tree/mptcp_v0.95/net/mptcp/mptcp_sched.c line 134.. Cited by: §I, §V-A.
-  (2012) Exploring mobile/wifi handover with multipath tcp. In Proceedings of the 2012 ACM SIGCOMM workshop on Cellular networks: operations, challenges, and future design, pp. 31–36. Cited by: §I, §II, §VI.
-  (2013) On the benefits of applying experimental design to improve multipath tcp. In Proceedings of the ninth ACM conference on Emerging networking experiments and technologies, pp. 393–398. Cited by: §V-C.
-  (2018) MPWiFi: synergizing mptcp based simultaneous multipath access and wifi network performance. IEEE Transactions on Mobile Computing 19 (1), pp. 142–158. Cited by: §II.
-  (2013) Observing home wireless experience through wifi aps. In Proceedings of the 19th annual international conference on Mobile computing & networking, pp. 339–350. Cited by: §I.
-  (2015) Characterizing home wireless performance: the gateway view. In International Conference on Computer Communications (INFOCOM), pp. 2713–2731. Cited by: §I.
-  (2016) WiFi can be the weakest link of round trip network latency in the wild. In Computer Communications, IEEE INFOCOM 2016-The 35th Annual IEEE International Conference on, pp. 1–9. Cited by: §II, §III-C, §VI.
-  (2011) Opportunistic mobility with multipath tcp. In Proceedings of the sixth international workshop on MobiArch, pp. 7–12. Cited by: §VI.
-  (2012) How hard can it be? designing and implementing a deployable multipath tcp. In 9th USENIX Symposium on Networked Systems Design and Implementation (NSDI 12), pp. 399–412. Cited by: §III-A.
-  (2016) Proactive multipath tcp for seamless handoff in heterogeneous wireless access networks. IEEE Transactions on Wireless Communications 15 (7), pp. 4754–4764. Cited by: §II, §III-C.
-  (2015) Measuring the performance of user traffic in home wireless networks. In International Conference on Passive and Active Network Measurement, pp. 305–317. Cited by: §II.
-  (2018) Reinforcement learning: an introduction. MIT press. Cited by: §VI.
-  (2018) Precise power delay profiling with commodity wi-fi. IEEE Transactions on Mobile Computing 18 (6), pp. 1342–1355. Cited by: §III-B.
-  (2019) Experience-driven congestion control: when multi-path tcp meets deep reinforcement learning. IEEE Journal on Selected Areas in Communications 37 (6), pp. 1325–1336. Cited by: §VI.
-  (2019) ReLeS: a neural adaptive multipath scheduler based on deep reinforcement learning. In IEEE INFOCOM 2019-IEEE Conference on Computer Communications, pp. 1648–1656. Cited by: §VI.
-  (2018) A data-driven approach to client-transparent access selection of dual-band wifi. IEEE Transactions on Network and Service Management 16 (1), pp. 321–333. Cited by: §II, §VI.
-  (2015) Demystifying and mitigating tcp stalls at the server side. In Proceedings of the 11th ACM Conference on Emerging Networking Experiments and Technologies, pp. 1–13. Cited by: §VI.