{'fraction_non_alphanumeric': 0.019592476489028215, 'fraction_numerical': 0.0007836990595611285, 'mean_word_length': 4.6755555555555555, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Packet scheduling for Multipath TCP

Multipath TCP (MPTCP) has been an emerging transport protocol as it can greatly improve application throughput by utilizing multiple network interfaces at the same time, e.g., both of WiFi and 3G/LTE. While MPTCP is generally beneficial for long-lived flows, it shows worse performance than SPTCP that exploits the best path when the flow size is small, e.g., only hundreds of KB. In this case, it would be better to use only the fastest path since the delay is much more important than network bandwidth in such small data delivery. The problem is that the existing default MPTCP packet scheduler may choose a slow path if the congestion window of the fast path is not available, resulting in a long flow completion time. To avoid this problem, we propose a new MPTCP packet scheduler that freezes the slow path temporarily when the delay difference between the slow and fast paths is significant, so that the small amount of data can be transmitted quickly via the fast path. We implement the proposed scheduler into the MPTCP Linux kernel and evaluate on our testbed and compare to the default packet scheduler. Through the experiments, we confirm that the proposed scheme significantly reduces the flow completion time for short flows.