# On the Fairness of Internet Congestion Control over WiFi with Deep Reinforcement Learning
## 4 System Model of Proposed TCP-Switching Mechanism
The fixed-point approach can be shown in the following equation:  
\[Th_{1}(x+1)=f(Th_{1}(x))\]  
where \(Th_{1}(x)\) is the throughput of flow 1 in iteration \(x\), \(Th_{1}(x+1)\) is the throughput of flow 1 in iteration \(x+1\), and \(f(Th_{1}(x))\) is the value of the function \(f(Th_{1})\) in iteration \(x\). If the fixed-point approach converges to a value where all flows have the same throughput, then the congestion control algorithm is fair. However, if the fixed-point approach converges to a value where one flow has more throughput than the others, then the congestion control algorithm is unfair. CCAs are deployed in the transport layer that settles behaviors of data transformation, which rigorously affects the user experience [3]. The improvisation in QoS does not improve the Quality of Experience. The gap between QoE and QoS must be filled; if not, it must be minimized. Here, we do not upgrade any CCAs directly; however, we attempt to develop a model between the transport layer and the application layer that assists in selecting the right CCAs and ultimately provides better QoE. There is no such CCA that fits in every situation and functions perfectly in all scenarios. Thus, the alternative for better QoE is to autonomously select the effective and efficient CCA in varying scenarios. However, it is challenging to select the right CCAs and to form the CCA-selection policies [3] by observing the network conditions and QoE metrics. One of the main challenges is to adapt to the dynamic network conditions. The networks are affected by various factors [3] such as the overflow of traffic into the networks, the fading of wireless channels, and user movement activities. The network's condition does not stay stable. Another difficulty in choosing the right CCA is the empirical characteristics of CCAs [51; 52]. \begin{table}
\begin{tabular}{l l} \hline \hline
**Metric** & **Interpretation** \\ \hline \(Th_{max}\) & The optimum delivery rate \\ \(\tau_{min}\) & The minimum Round Trip Time \\ \(T_{rate}\) & Average \(\tau/\tau_{min}\) \\ \(P_{rate}\) & Number of lost packets/Total number of sent packets \\ \(CCA_{name}\) & Running CCA \\ \hline Goodput & (total transferred data—overhead data)/time taken \\ \(Sq_{size}\) & Total amount of buffered data waiting to be transmitted \\ \(byte_{rate}\) & Bytes the sender processes in the last selection period \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Metrics accumulated by Collective Statistics. The latest CCAs [14; 16] are seriously difficult to model and characterize, as the existing understanding of CCAs is empirical [51; 52]. Another notable challenge is the difficulty in smooth switching. As [3] mentioned, there is a very strong possibility of taking the place of CCA switching while the transmission is happening because of unstable network conditions. Here, we have implemented unrestricted switching. Unrestricted switching allows the new CCA to inherit all CCA-related variables, encompassing connection-level variables (such as congestion window/sending rate and RTT-related values), and private state variables of the CCA (e.g., minimum RTT, CWND increment, etc.). Limited sSwitching, on the other hand, only inherits connection-level variables. The private state variables of the new CCA are initialized from default values.