## 3 The Proposed EGR Approach for Highway Traffic Environment
### Geocast Routing
In such a situation, it selects a vehicle \(N_{i+1}\) that belongs to the forward region BOC of the opposite lane and a vehicle \(N_{i+1}\) that has at least one neighboring vehicle \(N_{j}\) that is moving in a forward lane towards the destination. The round trip time in this case is equal to \(2t_{rt}\). For routing purpose, the sending vehicle \(N_{i}\) chooses a vehicle \(N_{i+1}\) among neighboring vehicles that are moving in the opposite lane and that should satisfy the following condition:  
1. The product of the temporal distance and temporal transmission probability between the sending vehicle \(N_{i}\) and vehicle \(N_{i+1}\) should be high. 2. The vehicle \(N_{i+1}\) has at least one neighboring vehicle that is moving in a forward lane. The sending vehicle \(N_{i}\) selects a vehicle \(N_{j}\) that is moving in a forward lane, using a neighboring vehicle \(N_{i+1}\) such that  
\[ \begin{array}{c}N_{i+1}=argmax\big{(}d(t^{\prime})\times\mathcal{P}_{i,j}(d( t^{\prime}))\big{)}\\ N_{j}=argmin\big{(}d(t^{\prime})\times\mathcal{P}_{i+1,j}(d(t^{\prime}))\big{)} \\ \bigg{(}\frac{R-d(t^{\prime})}{(v_{i}+v_{i+1})}\mathcal{P}_{i,i+1}(d(t^{\prime} ))+\frac{R-d(t^{\prime})}{(v_{i+1}+v_{j})}\mathcal{P}_{i+1,j}(d(t^{\prime})) \bigg{)}-2t_{rt}>0\end{array}  \tag{12}\]_Case 3: When no vehicles are present in forward lane or opposite lane_  
To keep the packet safe and its successful delivery to a suitable forwarding vehicle in the transmission range of the sender, each sending vehicle includes a short cache memory and searches a reliable forwarding vehicle that has the highest temporal distance between itsself and the sender and higher link quality under the same vehicular movement dynamics. If a sending vehicle \(N_{i}\) does not find a neighboring vehicle in the forward transmission region for both the forward lane and opposite lane (see Figure 5), in this case, sending vehicle \(N_{i}\) locally stores the packet in its cache until a neighboring vehicle is found in the forward direction. The cache runs in an event-driven manner rather than performing a routine check to see if the probable forwarding vehicle \(N_{j}\) for already cached packets is available. An event is generated as soon as a new vehicle \(N_{j}\) enters the transmission range of the current forwarding vehicle. The freshly generated event verifies whether or not there are any cached packets for it. This event-driven caching strategy reduces the amount of bandwidth that EGR needs but is not actually using. Figure 4: Selection of a vehicle in opposite lane. Figure 5: Re-caching by sending vehicle. _Case 4: When the sender vehicle deviates from a forward direction_  
When sending vehicle \(N_{i}\) wishes to turns either left or right from the message forward direction (see Figure 6), it tries to find a suitable neighboring vehicle in the forward transmission region in both the forward and opposite lanes. If a neighboring vehicle is found in its forward transmission area as shown in case 1 and case 2, it will send the packet to the neighboring vehicle. If no neighboring vehicle is present in the forward transmission area, the sending vehicle \(N_{i}\) chooses a neighboring vehicle that has an intention to travel in the message-forward direction, and the temporal distance between it and \(N_{i}\) is minimal. If no vehicles is found in the transmission range of \(N_{i}\), then it chooses a road-side unit (RSU) to forward the message to a moving vehicle in a forward direction or caches the message until it finds a suitable vehicle moving in the required direction. For routing purposes, the sending vehicle \(N_{i}\) chooses a vehicle \(N_{j}\) among the neighboring vehicles (in case no vehicle is found with case 1 and case 2) nearest to it and that should satisfy the following condition:  
1. The temporal distance between \(N_{i}\) and \(N_{j}\) is minimal, and the temporal transmission probability of the link between vehicle \(N_{i}\) and vehicle \(N_{j}\) should be high. 2. Use a RSU in case no neighboring vehicle is present.