## 2 Methods
### Forwarding probability  
The forwarding probability of any intermediate node could be calculated [25] according to the following formula.  
\[P_{forwarding}=\alpha_{1}\frac{\mathrm{V}}{\mathrm{V_{max}}}+\alpha_{2}\frac{D }{R}, \tag{1}\]  
where the constants \(\alpha_{1}\) and \(\alpha_{2}\) are used to weight the contribution of both sub-objectives, and \(\alpha_{1}+\alpha_{2}{=1}\). V Denotes the velocity of a current intermediate node, and \(\mathrm{V_{max}}\) denotes the fastest velocity allowed on this road section. \(D\) is the calculating distance between the previous forwarding node and the current intermediate node. \(R\) denotes the communication range between vehicles which is a fixed value.  
However, the main application scenario in [25] is expressway. Compared with the expressway scenarios, the urban road topology is complex and changeable. In urban scenarios, the communication range of vehicles is affected by many factors, and there are differences in the communication range between roads and intersections. Therefore, it is not appropriate to use fixed \(R\) to express the communication range. In this paper we derive adaptive transmission range between vehicles by the knowledge about the velocity and arrival rate. Then Equation (1) is modified to Equation (2).  
\[P_{forwarding}= \alpha_{1}\frac{\mathrm{V}}{\mathrm{V_{max}}}+\alpha_{2}\frac{D }{\min\{L_{i}(1-K_{\mathrm{ei}})\sqrt{\frac{L_{i}\ln L_{i}}{K_{\mathrm{ei}}} }+\beta L\}}, \tag{2}\]  
the normalized vehicle density on road segment \(i\).  
where \(\beta\in(0,1)\) denotes traffic flow constant [26]. \(L_{i}\) denotes the length of road segment \(i\). \(K_{ei}\) denotes the _link duration_The communication link lifetime between two adjacent mobile nodes \(i\) and \(j\)(\(CLT_{i,j}\)) on the route is calculated as Equation (3):  
\[CLT_{i,j}= \frac{-(ab+cd)+\sqrt{(a^{2}+c^{2})R^{2}-(ad-bc)^{2}}}{a^{2}+c^{2}}. \tag{3}\]  
In Equation (3) \(R\) is the communication radius between node \(i\) and node \(j\). \(a,b,c\) and \(d\) are separately defined as follows.  
\[\begin{array}{c}a=v_{i}\cos\theta_{i}-v_{j}\cos\theta_{j}\\ b=x_{i}-x_{j}\\ c=v_{i}\sin\theta_{i}-v_{j}\sin\theta_{j}\\ d=y_{i}-y_{j},\end{array}\]  
where \(v_{i}\) and \(v_{j}\) separately denote the velocity of \(i\) and \(j\). \((x_{i},y_{i})\) and \((x_{j},y_{j})\) separately denote the position of \(i\) and \(j\) which can be obtained by GPS. \(\theta_{i}\) and \(\theta_{j}\) separately denote the velocity angle of \(i\) and \(j\).  
Among all the neighboring vehicles within communication range of the transmitting node \(i\), the one that has the maximum \(CLT_{i,j}\) (\(j\)\(\in\) neigbor of \(i\)) can be selected first. According to Equation. (3) above, the link duration is determined by each \(CLT_{i,i+1}\) of Node \(i\) (\(1<i<N-1\)) on the route as Equation (4).  
\[lifetime=\min\{CLT_{1,2},CLT_{2,3},\ldots,CLT_{N-1,N}\}, \tag{4}\]  
where \(N\) denotes number of hops of the route and \(N\) must be less than certain threshold \(k\). It means that the path length in the proposed routing algorithm is limited to a short distance. Similarly, _lifetime_ must be greater than or equal to a specified time interval in order to ensure the link stability of our algorithm.