# Intersection-Based Link-Adaptive Beaconless Forwarding in Urban Vehicular Ad-Hoc Networks
## 3 Intersection-Based Link-Adaptive Beaconless Forwarding for City Scenarios
### Routing Protocol Design
#### 3.2.3 Waiting Time Criteria  
Once the node satisfies the forwarding zone criterion, ILBFC determines the suitability of the node to be a relay by setting the waiting time, which is based on the geographic progress towards the destination (\(\gamma_{geo}\)) and the link stability of the node (\(\gamma_{stab}\)). \(\gamma_{geo}\) for a node is calculated as follows:  
\[\gamma_{geo}=1-\frac{\left|\vec{D}S\right|-\left|\vec{D}N\right|}{r}, \tag{2}\]  
where \(r\) is the transmission range of the node, and \(\vec{D}N\) is the position vector from destination to contending node. \(\gamma_{stab}\) is computed using link duration (\(\delta_{link}\)), which is the minimum duration for which a contending node is in the communication range of the previous relay node. Furthermore, \(\gamma_{stab}\) is made to be more adaptive to the urban environment by taking into account the road intersections to limit \(\delta_{link}\). Firstly, \(\delta_{link}\) is calculated using Equation (3). The sub-variables for Equation (3) are given in the expressions (4)-(8):  
\[\delta_{link}=\frac{1}{V}\times\left[-(a\times v_{rx}+b\times v_{ry})\pm \sqrt{V\times r^{2}-(a\times v_{ry}-b\times v_{rx})^{2}}\right], \tag{3}\]  
where  
\[V={v_{rx}}^{2}+{v_{ry}}^{2}, \tag{4}\]  
\[v_{rx}=v_{cx}-v_{px}, \tag{5}\]  
\[v_{ry}=v_{cy}-v_{py}, \tag{6}\]  
\[a=x_{c}-x_{p}, \tag{7}\]  
\[b=y_{c}-y_{p}, \tag{8}\]  
with \((x_{c},y_{c})\) and \((x_{p},y_{p})\) denoting the position coordinates of the contending node and the previous relay node, respectively, and \((v_{cx},v_{cy})\) and \((v_{yx},v_{py})\) being the velocity coordinates of the contending node and the previous relay node, respectively. However, nodes with almost the same relative velocities will have a large link duration values, which is unrealistic in city scenarios. This is because city scenarios consist of many road intersections such as traffic junctions and other irregular turns and the direction and speed of the vehicles may change, rendering the previously calculated \(\delta_{link}\) inaccurate. Therefore, in ILBFC, the maximum value of \(\delta_{link}\) for a vehicle is limited based on the road intersection towards which the vehicle is moving. Specifically, the minimum duration for the vehicle to reach the next road intersection (\(\delta_{int}\)) is calculated as follows:  
\[\delta_{int}=\frac{\sqrt{(x_{i}-x_{c})^{2}+(y_{i}-y_{c})^{2}}}{v_{max}}, \tag{9}\]  
where \((x_{i},y_{i})\) are the position coordinates of the next intersection, and \(v_{max}\) is maximum speed of the vehicle. The effective link duration (\(\delta_{eff}\)) incorporating the road intersection information is calculated as follows:  
\[\delta_{eff}=\begin{cases}\delta_{link},&\text{if}\quad\delta_{link}\leq \delta_{int}\\ \delta_{int},&\text{otherwise}.\end{cases} \tag{10}\]Once \(\delta_{eff}\) is known, \(\gamma_{stab}\) can then be computed as follows:  
\[\gamma_{stab}=1-\frac{\delta_{eff}}{\Lambda}, \tag{11}\]  
where \(\Lambda\) is the maximum reservation time and is computed as follows:  
\[\Lambda=\frac{d_{max}}{v_{max}}. \tag{12}\]  
Here, \(d_{max}\) is the maximum distance of the road between two road intersections. Finally, the waiting time (\(\gamma\)) as mentioned in [10] is calculated as follows:  
\[\gamma=[\alpha\times\gamma_{geo}+(1-\alpha)\times\gamma_{stab}]\times\Gamma, \tag{13}\]  
where \(\alpha\) is the weighing factor and \(\Gamma\) is the maximum waiting time. Apart from this, nodes also wait for an additional random delay (\(\beta\)) to avoid situations where multiple nodes get a very similar \(\gamma\).