# An Analysis of MPTCP Congestion Control
## 6 MPTCP Schedulers
The Forward Delay Aware Scheduler (DAPS) [29] uses the paths' RTTs information to improve the probability of in-order packet arrival at the receiver. DAPS main goal is to reduce buffer blocking at the receiver. DAPS uses the Lowest Common Multiple (LCM) of forward delays on all subflows. For example, if the forward delay on the slower subflow is 3 times that of the faster subflow, DAPS would transfer packets 1 to 3 on the faster subflow and packet 4 on the slower subflow. Lowest-latency with retransmission and penalisation scheduler (LL/RP) [11] is a minRTT extension that retransmits head-of-line packets while penalising subflows that cause head-of-line blocking. Lowest-latency with bufferbloat mitigation (LL/BM) [30] is another minRTT extension that identifies subflows suffering from bufferbloat, and then bounds their _cwnd_. LL/RP and LL/BM can be used by applications to address the aforementioned issues. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Schedulers** & **Approach** & **Goals** & **Use-Cases** \\ \hline Minimum & Default MPTCP scheduler in & Improve throughput & Heterogenous networks \\ Round-Trip-Time First & Linux which chooses the & & \\ (minRTT) [25] & available subflow based on & & \\  & the lowest RTT & & \\ \hline Round-Robin (RR) [25] & Transfer data on available & Equal data distribution & Academic/Research/ \\  & subflows in round-robin & & Testing purposes \\  & fashion & & \\ \hline Redundant [25] & Transfer data on all available & Provide redundancy & Academic/Research/ \\  & subflows in a redundant & & Testing purposes \\  & manner & & \\ \hline Weighted Round-Robin & Extension to RR scheduler - & Prioritised data & Research/General \\ (WRR) [26] & Allows sending data on & distribution/Optimise & applications \\  & different paths depending on & load balancing & \\  & the their weight & & \\  & value/priority & & \\ \hline Shortest Transfer Time & Distribute data on the & Reduce completion time & Web and interactive apps. \\ First (STTF) [27] & subflows with shortest & & \\  & predicted transfer time & & \\ \hline Highest Send Rate first & Select subflows with high & Improve throughput & Bulk transfer applications \\ (HSR) [28] & sending rate & & \\ \hline Forward delay aware & Uses RTTs to increase the & Mitigate head-of-line & Wireless networks \\ (DAPS) [29] & in-order arrival at the & blocking & \\  & receiver & & \\ \hline Lowest-latency with & Penalising subflows that & Mitigate head-of-line & General applications \\ Retransmission and & cause head-of-line blocking & blocking & \\ Penalisation scheduler & by & & \\  & & \\  & & \\  & & \\ \hline Lowest-latency with & An extension of LL which & Mitigate bufferbloat & General applications \\ Bufferbloat Mitigation & identifies subflows enqueued & & \\ (LL/BM)[30] & in the large buffer & & \\ \hline Earliest Completion First & Investigate whether slower & Improve quality of service & Video streaming \\ (ECF) [31] & subflow affects faster subflow & & applications \\  & performance. Furthermore, & & \\  & assigns a packet to the faster & & \\  & subflow. & & \\ \hline Out-of- Order & Estimates arrival time on all & Mitigate jitter & Real-time applications \\ Transmission for in order & the paths and choose the & & \\ arrival (OTIAS) [30] & fastest subflow. & & \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Main MPTCP Scheduling Solutions in Linux. Earliest Completion First (ECF) [31] assigns packets to faster subflows and might not use slower subflows at all. ECF can maximise the use of the fast subflows which is useful for video streaming applications. Similarly, Out-of- Order Transmission for in order arrival (OTIAS) [30] is used in real-time applications as it focuses on utilising the fastest subflow. As MPTCP is designed to operate over the Internet, it is expected that the protocol should provide good performance across a range of diverse paths where characteristics can change over time. Congestion control and packet scheduling are two important components which greatly impact the performance of MPTCP [1,2].