# Mobility-Enhanced Reliable Geographical Forwarding in Cognitive Radio Sensor Networks
## 5 Mror: Mobile Reliable Opportunistic Routing for CRSN
### VCG Formation  
On the conclusion of route selection, from the sink, the nodes at each hop along the chosen path are tagged as \(LMR_{(h-1)}\), \(LMR_{(h-2)}\),..., \(LMR_{0}\). As illustrated in Figure 4, the sink will then generate the VCG formation packet and broadcast it via CCC to the source node. The actions of other nodes that receive the packet while not being next hop nodes include reading the packet perform the VCG grouping check, as explained in the next paragraph. Meanwhile, the only node having the right of rebroadcasting the VCG packet has its address encapsulated in the packet. Before the sink node broadcasts the VCG formation packet, it includes the following information in the packet: the address of the next upstream LMR node, \(n_{j}\), \((LMR_{(h-1)})\) and \(n_{j}\)'s POS, \(r_{j}\), on the VCG payload. It will be recalled that the same information was earlier acquired during the route request phase. In addition, the sending nodes' POS (for the sink, this value will be zero) is also added on the VCG payload. As discussed in Section 5.2, if \(n_{j}\) have separate upstream and downstream channels, the Cr0 and Cr1 fields are correspondingly replaced with Cr and Cs, which were earlier acquired during the RREQ phase; while the Cs field retains the value of Cs. This configuration significantly expands the possible reception area and, in effect, still reduces the final hop count. Based on geographical routing schemes that utilize distance and the signal-to-noise reception ratio (SNR) as forwarding metrics, nodes in the transitional region have been observed to usually show the maximum (joint distance and SNR) forwarding values when lossy links are considered [32]. The VCG formation payload, as illustrated in Figure 4, also carries the required data rate. The functions of other fields of the VCG payload are that the VCG packet identifier differentiates control packets and also helps notify all non-next-hop nodes between two consecutive LMR nodes to perform the VCG formation operation. The address of the next upstream LMR node identifies the node expected to rebroadcast the VCG formation packet. Furthermore, the information of a sender node's POS and the LMR node's POS is utilized by all nodes between two consecutive LMR nodes to determine their instantaneous position. When the nodes determine their locations, if the nodes' locations fulfill \(d_{sk}^{lmr}\geq d_{sk}\geq d_{sk}^{snd}\), then they will proceed with the following set of operations to determine the VCG eligibility operation; where \(d_{sk}^{lmr}\) is the next upstream LMR node's POS, \(d_{sk}^{snd}\) represents the sending node's POS and \(d_{sk}\) represents the receiving node's POS. Figure 4: Virtual contention group (VCG) formation operation with payload. LMR, local minimum resolution. As implemented for the route formation stage (Section 5.1), the VCG eligibility operation is performed by any node that receives a VCG packet. The difference in this case lies in the first condition, \(d_{sk}^{lmr}\geq d_{sk}\geq d_{sk}^{snd}\). This condition ensures that only eligible nodes located between the broadcasting node and the next downstream LMR node return a positive value. This condition is considered alongside the three criteria defined in Equation (26). As illustrated in Figure 5, once a node returns a positive value for its VCG eligibility operation, it becomes a member of the virtual cluster of the LMR node's address indicated in the VCG payload. After associating with a cluster, the nodes will read the channel assignments and subsequently cache them in their routing tables. They then switch their transceiver to channel Cr0 to begin the data forwarding phase. \[El_{vcg}= \begin{cases}1,&\begin{cases}d_{sk}^{lmr}\geq d_{sk}\geq d_{sk}^{snd }\\ E_{th}\geq E_{th}^{min}\\ clc=clc_{req}\\ R(\alpha)\geq R_{\alpha_{t}}\\ \text{else}=0\end{cases}\end{cases}  \tag{28}\]  
The next LMR node to receive the VCG packet inserts the required VCG information and broadcast the packet through CCC. Afterwards, its transceiver is switched to its Cr.