Quite a few algorithms have been proposed to optimize the transmission performance of Multipath TCP (MPTCP). However, existing MPTCP protocols are still far from satisfactory in lossy and ever-changing networks because of their loss-based congestion control and the difficulty of managing multiple subflows. Recently, a congestion-based congestion control, BBR, is proposed to promote TCP transmission performance through better use of bandwidth. Due to the superior performance of BBR, we try to boost MPTCP with it. For this propose, coupled congestion control should be redesigned for MPTCP, and a functional scheduler able to effectively make use of the characteristics of BBR must also be developed for better performance. In this paper, we first propose Coupled BBR as a coupled congestion control algorithm for MPTCP to achieve high throughput and stable sending rate in lossy network scenarios with guaranteed fairness with TCP BBR flows and balanced congestion. Then, to further improve the performance, we propose an Adaptively Redundant and Packet-by-Packet (AR\&P) scheduler, which includes two scheduling methods to improve adaptability in highly dynamic network scenarios and keep in-order packet delivery in asymmetric networks. Based on Linux kernel implementation and experiments in both testbed and real network scenarios, we show that the proposed scheme not only provides higher throughput, but also improves robustness and reduces out-of-order packets in some harsh circumstances.
Multipath TCP (MPTCP) is a transport layer protocol that allows network devices to transfer data over multiple concurrent paths, and hence, utilizes the network resources more effectively than does the traditional single-path TCP. However, as a reliable protocol, MPTCP still needs to deliver data packets (to the upper application) at the receiver in the same order they are transmitted at the sender. The out-of-order packet problem becomes more severe for MPTCP due to the heterogeneous nature of delay and bandwidth of each path. In this paper, we propose the forward-delay-based packet schedulin…
Multipath TCP (MPTCP) has emerged as a facilitator for harnessing and pooling available bandwidth in wireless/wireline communication networks and in data centers. Existing implementations of MPTCP such as, Linked Increase Algorithm (LIA), Opportunistic LIA (OLIA) and BAlanced LInked Adaptation (BALIA) include separate algorithms for congestion control and packet scheduling, with pre-selected control parameters. We propose a Deep Q-Learning (DQL) based framework for joint congestion control and packet scheduling for MPTCP. At the heart of the solution is an intelligent agent for interface, lear…
We present an implementation of Multipath TCP (MPTCP) under the NS-3 open source network simulator. MPTCP is a promising extension of TCP currently considered by the recent eponymous IETF working group, with the objective of improving the performance of TCP, especially its robustness to variable network conditions. We describe this new protocol, its main functions and our implementation in NS-3. Besides this implementation compliant to the current versions of the IETF drafts, we have also added and compared various packet reordering mechanisms. We indeed notice that such mechanisms highly impr…
The multipath transmission scheme can work as an effective way to provide better quality of experiments to end users. Two key research points in the multipath real time video transmission context are congestion control and packet scheduling. As Utility maximization theory shows, to provide better satisfaction to end users is to provide higher throughput and lower transmission delay. The congestion control is responsible to converge to the maximum available bandwidth and avoid leading the network into congestion. A delay response BBR (Delay-BBR) algorithm optimized for real time video transmiss…
Our current world is revolutionned by the networks which are interconnecting any machine to any other one. Nowadays equipments are plugged to the network by the way of many different network adapters (Ethernet, wifi, GSM), and network equipments are more and more interconnected to each other creating a highly mesh network. Thus, redundant paths are created between any two endpoints enabling multipath or the use of multiple paths to handle a communication. The benefits of multipath are the enhancement of robustness against failure, and minimizing communication cost. In the present work, we will…
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 n…
MPTCP is a new transport protocol that enables mobile devices to use multiple physical paths simultaneously through several network interfaces, such as WiFi and Cellular. However, wireless path capacities change frequently in the mobile environments, causing challenges for path selection. For example, WiFi associated paths often become poor as devices walk away, since WiFi has intermittent connectivity caused by the short signal coverage and stochastic interference. MPTCP's native decision based on hysteretic TCP-layer estimation will miss the real switching point of wireless quality, which ma…
Existing mobile devices have the capability to use multiple network technologies simultaneously to help increase performance; but they rarely, if at all, effectively use these technologies in parallel. We first present empirical data to help understand the mobile environment when three heterogeneous networks are available to the mobile device (i.e., a WiFi network, WiMax network, and an Iridium satellite network). We then propose a reliable, multi-path protocol called Multi-Path TCP with Network Coding (MPTCP/NC) that utilizes each of these networks in parallel. An analytical model is develope…
The choice of feedback mechanism between delay and packet loss has long been a point of contention in TCP congestion control. This has partly been resolved, as it has become increasingly evident that delay based methods are needed to facilitate modern interactive web applications. However, what has not been resolved is what control should be used, with the two candidates being the congestion window and the pacing rate. BBR is a new delay based congestion control algorithm that uses a pacing rate as its primary control and the congestion window as a secondary control. We propose that a congesti…
During the initial years of its inception, the Internet was widely used for transferring data packets between users and respective data sources by using IP addresses. With the advancements in technology, the Internet has been used to share data within several small and resource-constrained devices connected in billions to create the framework for the so-called Internet of Things (IoT). These systems were known for the presentation of a large quantum of data emerging within these devices. On the flip side, these devices are known to impose huge overheads on the IoT network. Therefore, it was es…
Cellular networks have special characteristics including highly variable channels, fast fluctuating capacities, deep per user buffers, self-inflicted queuing delays, radio uplink/downlink scheduling delays, etc. These distinguishing properties make the problem of achieving low latency and high throughput in cellular networks more challenging than in wired networks. That's why in this environment, TCP and its flavors, which are generally designed for wired networks, perform poorly. To cope with these challenges, we present C2TCP, a flexible end-to-end solution targeting interactive applications…
Multipath transport protocols like MPTCP transfer data across multiple routes in parallel and deliver it in order at the receiver. When the delay on one or more of the paths is variable, as is commonly the case, out of order arrivals are frequent and head of line blocking leads to high latency. This is exacerbated when packet loss, which is also common with wireless links, is tackled using ARQ. This paper introduces Stochastic Earliest Delivery Path First (S-EDPF), a resilient low delay packet scheduler for multipath transport protocols. S-EDPF takes explicit account of the stochastic nature o…
We propose Accel-Brake Control (ABC), a simple and deployable explicit congestion control protocol for network paths with time-varying wireless links. ABC routers mark each packet with an "accelerate" or "brake", which causes senders to slightly increase or decrease their congestion windows. Routers use this feedback to quickly guide senders towards a desired target rate. ABC requires no changes to header formats or user devices, but achieves better performance than XCP. ABC is also incrementally deployable; it operates correctly when the bottleneck is a non-ABC router, and can coexist with no…
The vast available spectrum in the millimeter wave (mmWave) bands offers the possibility of multi-Gbps data rates for fifth generation (5G) cellular networks. However, mmWave capacity can be highly intermittent due to the vulnerability of mmWave signals to blockages and delays in directional searching. Such highly variable links present unique challenges for adaptive control mechanisms in transport layer protocols and end-to-end applications. This paper considers the fundamental question of whether TCP - the most widely used transport protocol - will work in mmWave cellular systems. The paper …
Routers have packet buffers to reduce packet drops during times of congestion. It is important to correctly size the buffer: make it too small, and packets are dropped unnecessarily and the link may be underutilized; make it too big, and packets may wait for a long time, and the router itself may be more expensive to build. Despite its importance, there are few guidelines for picking the buffer size. The two most well-known rules only apply to long-lived TCP Reno flows; either for a network carrying a single TCP Reno flow (the buffer size should equal the bandwidth-delay product, or $BDP$) or …
Congestion control is essential for the stability of the Internet and the corresponding algorithms are commonly evaluated for interoperability based on flow-rate fairness. In contrast, video conferencing software such as Zoom uses custom congestion control algorithms whose fairness behavior is mostly unknown. Aggravatingly, video conferencing has recently seen a drastic increase in use - partly caused by the COVID-19 pandemic - and could hence negatively affect how available Internet resources are shared. In this paper, we thus investigate the flow-rate fairness of video conferencing congestio…
Since current widely available network protocols/systems are mainly throughput-oriented designs, meeting stringent delay requirements of new applications such as virtual reality and vehicle-to-vehicle communications on cellular network requires new network protocol/system designs. C2TCP is an effort toward that new design direction. C2TCP is inspired by in-network active queue management (AQM) designs such as RED and CoDel and motivated by lack of a flexible end-to-end (e2e) approach which can adapt itself to different applications' QoS requirements without modifying any network devices. It co…
This paper presents the design and evaluation of SQP, a congestion control algorithm (CCA) for interactive video streaming applications that need to stream high-bitrate compressed video with very low end-to-end frame delay (eg. AR streaming, cloud gaming). SQP uses frame-coupled, paced packet trains to sample the network bandwidth, and uses an adaptive one-way delay measurement to recover from queuing, for low, bounded queuing delay. SQP rapidly adapts to changes in the link bandwidth, ensuring high utilization and low frame delay, and also achieves competitive bandwidth shares when competing …
Congestion control research has experienced a significant increase in interest in the past few years, with many purpose-built algorithms being designed with the needs of specific applications in mind. These algorithms undergo limited testing before being deployed on the Internet, where they interact with other congestion control algorithms and run across a variety of network conditions. This often results in unforeseen performance issues in the wild due to algorithmic inadequacies or implementation bugs, and these issues are often hard to identify since packet traces are not available. In this…