# Ad-BBR: Enhancing Round-Trip Time Fairness and Transmission Stability in TCP-BBR
## 4 The Optimization Algorithm: Ad-BBR
### Adjustments to the ProbeRTT Phase Trigger Mechanism  
The adaptive regulation mechanism in the ProbeBw phase facilitates the formation and elimination of link congestion and introduces a new method for determining the RTprop. This reduces the frequency with which the ProbeRTT phase needs to be entered.  
The ProbeRTT phase in BBR proactively reduces the sending rate and forces the network queue to empty in order to measure the current link's minimum RTT (i.e., the RTprop value used to compute the \(BDP\)). This ensures the algorithm can perform congestion control based on accurate latency information and prevents network changes (e.g., route switching and link quality fluctuations) from resulting in outdated RTprop values. In standard BBR, the ProbeRTT phase is entered every 10 s by default. However, this does not mean that every entry is meaningful during data transmission. In particular, when the network bandwidth is sufficient, there is no competing traffic or queues, the link transmitslow-rate or intermittent traffic, or the latest minimum RTT is naturally observed as RTprop, the entry becomes unnecessary. In such cases, unnecessary entries into the ProbeRTT phase waste bandwidth, reduce the sending rate, and cause instability in data transmission.  
Based on the two reasons mentioned above, this paper modifies the ProbeRTT phase-triggering logic. The new mechanism no longer triggers the ProbeRTT phase automatically every ten seconds; instead, it decides whether to enter the phase according to the current link state. By incorporating a dynamic error term derived from the standard deviation of historical RTT data, the algorithm can more accurately determine when to initiate the ProbeRTT phase--taking into account network delay stability and noise levels--without compromising the efficiency of minimum RTT detection. This modification significantly improves transmission stability. To the best of our knowledge, existing studies on improving the ProbeRTT phase trigger logic rarely incorporate dynamic error adjustments based on network delay stability and noise levels to refine the triggering conditions. The revised ProbeRTT phase trigger logic is presented in Algorithm 3.  
```
1:If\(length(rt\_history)>1\)then
2:\(rt\_std\gets standard\_deviation(rt\_history)\)
3:else
4:\(rt\_std\gets 0.0\)
5:\(Y\leftarrow max(X^{*}rtt\_std,5.0)\)
6:if\(measured\_rtt\ >\ RTprop+Y\)then
7:\(phase\_timer\ \leftarrow\ phase\_timer+dt\)
8:if\(phase\_timer>=10.0\) s then
9:\(phase\leftarrow\ ^{\prime\prime}\)ProbeRTT\({}^{\prime\prime}\)
10:\(phase\_timer\gets 0.0\)
11:endif
12:else
13:\(phase\_timer\gets 0.0\)
14:endif
15:elseif\(phase=^{\prime\prime}\)ProbeRTT\({}^{\prime\prime}\)then
16:endif
```  
**Algorithm 3** Ad-BBR, the new triggering mechanism for ProbeRTT.  
In this context, \(Y\) represents an allowable dynamic error, designed to adapt to varying noise levels in real-world wireless networks. This dynamic value \(Y\) is calculated using the standard deviation of historical RTT data, which quantifies the fluctuations in the RTT measurements. This approach enables a better response to network latency stability and noise levels. The formula for \(Y\) is shown in Equation (13):  
\[Y=max(X^{*}RTT\_std,Z\_min) \tag{13}\]  
_RTT_std_ denotes the standard deviation of RTT samples, \(X\) is the noise sensitivity factor (set to 0.5 in this paper), and \(Z\_min\) is the protection threshold (set to 5 ms).  
The new trigger logic determines when to enter the ProbeRTT phase by recording the minimum RTT timestamp. Under this mechanism, the ProbeRTT phase is triggered to explore the RTprop when more than 10 s have passed since the condition was first met and the buffer queue size exceeds \(Y^{*}BtlBw\) for 10 s, based on the recorded timestamps.