## 3 Proposed Methodology
### Overall Routing Process  
We assume that all routing takes place in the data plane only, which uses DSRC (wireless) and Ethernet (wired) communication for routing. Cellular (V2I, I2V) links are not directly utilized for routing, even though, in SDVN, they are utilized for metadata collection, for subsequent computations, to make routing decisions, and to unicast computed flow rules from the controller to the switches. We chose the optimum link lifetime threshold (\(T_{th}\)) for routing algorithm after a performance analysis. The process of metadata collection for routing, parameter computation, route finding, flow table updating, and routing scheduling in each routing cycle for the proposed routing framework is graphically illustrated in Figure 13 and listed below:  
* We use the data collection optimization model proposed in our previous work [65] for metadata collection for the routing framework. Metadata refers to all data, namely, status data (node addresses, position, velocity, acceleration), node address set of all one-hop neighbors of each node (\(\mathcal{S}_{i}\)), average pending transmission packet distribution factor of each node (\(\overline{\mathcal{Q}_{i}}\)), and average queue size of each node (\(\overline{\mathcal{R}_{i}}\)), which are required to compute the routes using the proposed hybrid routing algorithm given in Section 3.4. However, in the very first routing cycle, as routing has not taken place at least once, \(\overline{\mathcal{Q}_{i}}\) and \(\overline{\mathcal{R}_{i}}\) cannot be collected, and only status data and \(\mathcal{S}_{i}\) are collected, as shown in block \"U0\" in Figure 13. These metadata are unicasted to the controller node from the agent nodes in the data collection optimization model. In the initial routing cycle, only \(X[N,N,2]\) and \(T[N,N,2]\) are computed at the controller node, as shown in block \"K0\" in Figure 13. \(X[N,N,2]\) (the adjacency matrix of position) is computed using the position data of all nodes, while \(T[N,N,2]\) is computed using Equation (5) with the aid of the wireless link lifetime prediction DNN by providing differential position, velocity, and acceleration to the machine learning model, as described in Section 3.2. In the very first routing cycle, \(D[N,N,2]\) cannot be computed, as data do not exist for \(\overline{\mathcal{R}_{i}}\) and \(\overline{\mathcal{Q}_{i}}\). Furthermore, it is not necessary to compute other parameters that are required to compute normalized network contention (\(\mathcal{C}\)), as data do not exist to compute the average pending transmission packet distribution factor of the network (\(\overline{\mathcal{Q}}\)). Because of this, in the very first routing cycle, the value of \(\mathcal{C}\) is assumed to be one, to utilize the highest stable least distance as the mode for the routing algorithm given in Section 3.4;
* In the initial cycle, once \(X[N,N,2]\) and \(T[N,N,2]\) are computed, routes are computed using the hybrid routing algorithm by choosing stable distance as the metric, and the output of this algorithm is fed to flow table update algorithm to update flow table entries. Routing algorithm can compute only routes from all other nodes to a given destination node, so routing algorithm and flow table update algorithm should be executed iteratively \(N\) times, where \(N\) is the total number of nodes, by varying the destination node ID, to find routes from each and every source node to each and every destination node, as shown in block \"Z0\" in Figure 13. Using the parent vector, path valid time vector, and destination node ID output from routing algorithm, flow table update algorithm updates flow table entries. This updating of the flow table by flow table update algorithm occurs at the end of each iteration of finding routes by routing algorithm.