# On the Fairness of Internet Congestion Control over WiFi with Deep Reinforcement Learning
## 3 Mathematical Interpretation of Unfairness and Starvation in Representative CCAs
Case i: Considering two BBR flows with different RTTs, \(\tau_{1}\) and \(\tau_{2}\), and experiencing the same loss \(p\), we can evaluate how the congestion windows \(W_{1}^{\star}\) and \(W_{2}^{\star}\) evolve as  
\[\frac{W_{1}^{\star}}{W_{2}^{\star}}=\frac{\tau_{1}}{\tau_{2}}\Big{(}\frac{ \tau_{2}-2\tau_{m}}{\tau_{1}-2\tau_{m}}\Big{)} \tag{5}\]  
If \(\tau_{1}=2\tau_{2}\), then  
\[\frac{W_{1}^{\star}}{W_{2}^{\star}}=\frac{2\tau_{2}}{\tau_{2}}\Big{(}\frac{ \tau_{2}-2\tau_{m}}{2\tau_{2}-2\tau_{m}}\Big{)}\]  
Case ii: Considering BBR flows with the same RTTs, \(\tau\), and experiencing different losses \(p_{1}\) and \(p_{2}\), we can evaluate how the congestion windows \(W_{1}^{\star}\) and \(W_{2}^{\star}\) evolve  
\[\frac{W_{1}^{\star}}{W_{2}^{\star}}=\frac{\tau-2\tau_{m}(1-p_{2})}{\tau-2\tau _{m}(1-p_{1})} \tag{6}\]  
If \(p_{1}=2p_{2}\), then \(\frac{W_{1}^{\star}}{W_{2}^{\star}}=\frac{1-p_{2}}{1-2p_{2}}\). As we know, **Starvation** is an extreme case of unfairness; the two cases discussed above will have the following consequences:  
Case i: If \(p_{1}=np_{2}\), where \(n=1,2,3,\ldots,20\)\(\frac{W_{1}^{\star}}{W_{2}^{\star}}=\frac{1-p_{2}}{1-np_{2}}\)  
Case ii: If \(\tau_{1}=n\tau_{2}\), where \(n=1,2,3,\ldots,20\)\(\frac{W_{1}^{\star}}{W_{2}^{\star}}=\frac{3n}{5n-2}\)  
Copa is a delay-based end-to-end congestion control mechanism. It observes the delay evolution to detect the existing buffer fillers and reacts with an additive increase/multiplicative decrease [16]. While the detailed maths are deferred to the end of this paper, we obtain the equilibrium congestion window \(W^{\star}\) as  
\[W^{\star}=\frac{\tau^{\star}}{\delta(\tau^{\star}-T_{m})} \tag{7}\]We consider two cases to explain the causes of unfairness and starvation. Case i: Considering two Copa flows with different RTTs, \(\tau_{1}\) and \(\tau_{2}\), and experiencing the same loss, \(p\), we can evaluate how the congestion windows \(W_{1}^{\star}\) and \(W_{2}^{\star}\) evolve as  
\[\frac{W_{1}^{\star}}{W_{2}^{\star}}=\sqrt[4]{\frac{p_{2}^{3}}{p_{1}^{3}}} \tag{2}\]0  
If \(\tau_{1}=2\tau_{2}\), then \(\frac{W_{1}^{\star}}{W_{2}^{\star}}=\frac{2\tau_{2}}{\tau_{2}}\Big{(}\frac{ \tau_{2}-T_{m}}{2\tau_{2}-T_{m}}\Big{)}\). Case ii: Considering Copa flows with same RTTs, \(\tau\), and experiencing different losses \(p_{1}\) and \(p_{2}\), we can evaluate how the congestion windows \(W_{1}^{\star}\) and \(W_{2}^{\star}\) evolve:  
\[\frac{W_{1}^{\star}}{W_{2}^{\star}}=\sqrt[4]{\frac{p_{2}^{3}}{p_{1}^{3}}} \tag{2}\]1  
If \(p_{1}=2p_{2}\), then \(\frac{W_{1}^{\star}}{W_{2}^{\star}}=\frac{1-p_{2}}{1-2p_{2}}\). As we know, **Starvation** is an extreme case of unfairness; the two cases discussed above will have the following consequences:  
Case i: If \(p_{1}=np_{2}\), where \(n=1,2,3,\ldots,20\)\(\frac{W_{1}^{\star}}{W_{2}^{\star}}=\frac{1-p_{2}}{1-np_{2}}\)  
Case ii: If \(\tau_{1}=n\tau_{2}\), where \(n=1,2,3,\ldots,20\)\(\frac{W_{1}^{\star}}{W_{2}^{\star}}=\frac{n\tau_{2}}{\tau_{2}}\Big{(}\frac{ \tau_{1}-T_{m}}{\tau_{2}-T_{m}}\Big{)}\)  
Figure 1a highlights the possibilities of flow starvation under different TCP variants and congestion levels. An n represents the loss ratio, whereas the ratio observed by TCP flows reflects the relative bandwidth allocation among the various flows of the PCC Vivace, BBR, Copa, and CUBIC. Since n represents the loss ratio, higher n values mean more packet loss, which indicates the intensity of congestion in the network. Each pair of color-coded lines corresponds to two flows using the same TCP variants and highlights how the bandwidth ratio between those flows varies as the loss ratio increases.