# The Traffic Adaptive Data Dissemination (TrAD) Protocol for both Urban and Highway Scenarios
## 3 Traffic Adaptive Data Dissemination
### Broadcast Suppression Technique
#### 3.1.2 Traffic Adaptive Sorting Technique  
The algorithm takes into account both road traffic and network traffic status. Three metrics are considered: the number of neighbors \(N\), the distance between a sender and its neighbor \(D\), and the Channel Busy Ratio \(CBR\). The metrics \(N\) and \(D\) represent the road traffic condition, and \(CBR\) reflects the network traffic status. The sender \(S\) uses these three metrics to estimate the utility \(U_{TX}\) and detects the channel congestion for every neighbor. First of all, the metrics must be quantified for the calculation of utility \(U_{TX}\). The value of all metrics falls in [0, 1]. The metric \(N\) (Equation (1)) indicates the data coverage of potential vehicles in the next transmission:  
\[N=\min\left(\frac{\#Neighbor}{max.\#Neighbor}\,\ 1\right) \tag{1}\]  
\(\#Neighbor\) is the instantaneous number of neighbors in the sender vicinity. For the simulation, \(max.\#Neighbor\) is a preset maximum number of neighbors, and it is set to 25. The metric \(D\) (Equation (2)) represents the distance between a sender and its neighbor. \(Dist_{sn}\) is the distance measured between the sender and its neighbor. \(max.RadioRange\) is the maximum communication range of the wireless access medium. \[D=\min\left(\frac{Dist_{sn}}{max.RadioRange}\,\ 1\right) \tag{2}\]  
The metric \(CBR\) (Equation (3)) describes the bandwidth occupation in a detection time interval \(T_{interval}\), e.g., 1 s. The channel busy time \(T_{busy}\) is detected by the Clear Channel Assessment (CCA) in the PHY layer of IEEE 802.11p:  
\[CBR=\frac{T_{busy}}{T_{interval}} \tag{3}\]  
Therefore, we propose an equation (Equation (4)) to assign a higher transmission utility U\({}_{\text{TX}}\) to the neighbor that has more neighbors, further distance and free channel load. \(N\) and \(D\) are of equal importance to represent road traffic status. Finally, the \(U_{TX}\) is scaled based on a weight \(\omega_{CBR}\) that is related to network traffic status, _i.e._, \(CBR\):\[U_{TX}=\ \omega_{CBR}\cdot\left(\frac{N\ +\ D}{2}\right) \tag{4}\]  
\(\omega_{CBR}\) is defined as a piecewise linear function (Equation (5)) in terms of \(CBR\). The mapping of \(CBR\) on the \(\omega_{CBR}\) and the channel status is shown in Figure 3. The network load is divided into three levels according to \(CBR\), _i.e._, free, busy and congestion:  
\[\omega_{CBR}=\left\{ \begin{aligned} & 1& 0<CBR<0.6\\ & 1-CBR& 0.6\leqslant CBR<0.8\\ & 0.001& 0.8\leqslant CBR<1\\ \end{aligned} \right. \tag{5}\]  
Some well-known studies agreed that the suitable \(CBR\) target value for safety applications is 0.6 [30; 31]. [PERSON] _et al._ identified an appropriate maximum \(CBR\) as 0.8 [32]. Therefore, \(\omega_{CBR}\) does not affect \(U_{TX}\) until \(CBR\) achieves 0.6. Then, \(\omega_{CBR}\) decreases with the increasing of \(CBR\), when \(CBR\) is between 0.6 and 0.8. If \(CBR\) is more than 0.8, a very small value, _i.e._, 0.001, will be assigned to \(\omega_{CBR}\) to minimize \(U_{TX}\). Thus, the sender \(S\) will sense the congestion of this neighbor and a lowest rebroadcast order is allocated to the neighbor to mitigate the congestion. Moreover, if a sender detected that all the members of a cluster are congested, the cluster will be deleted from the priority list. If the network load of the cluster is alleviated to free or busy level later, the transmission will be recovered. As stated in Equation (4), the neighbors in every directional cluster are sorted in decreasing order in terms of their utility. Then, a round-robin fashion is used to define the final order of vehicles in the priority list [10]. For clear explanation, Figure 4 is given to illustrate the process of the sorting technique. The vehicle having the highest \(U_{TX}\) in the directional cluster C\({}_{1}\) is put into the first position of the priority list, followed by the vehicle having highest \(U_{TX}\) in directional cluster C\({}_{2}\), _etc_. This method guarantees the fairness for each directional cluster.