## 3 ROR: Reliable Opportunistic Routing for CRSN
### VCG-Based Data Forwarding Initiative Determination  
At this point, ROR switches to its reactive routing component, which is a VCG receiver-based contention forwarding scheme. After switching to its operation channel, as determined from the previous  
Figure 5: Full network illustration for a reliable opportunistic routing (ROR)-based cognitive radio sensor network (CRSN).  
VCG formation operation, a node having the packet to send will broadcast the data packet, which also contains its location information from the sink and the location information of its VCG LMR node from the sink in its header. All eligible VCG nodes that receive the data packet will perform the data initiative forwarding determination (DIFD) operation, which is also a binary operation. A node performs the DIFD operation as follows:  
\[I_{DIFD}=\begin{cases}1,\begin{cases}d_{sk}\leq d_{sk}^{fd}\\ B>B_{th}\\ \xi_{pkt}\geq\xi_{th}\\ R(t)\geq R_{t}\\ \text{else = }0\end{cases}\end{cases} \tag{12}\]  
For the \(I_{DIFD}\) operation to return a one, which signifies the node's initiative, the receiving node's distance with respect to the sink, \(d_{sk}\), must be lower than the forwarding node's distance to the sink, \(d_{sk}^{fd}\). This condition is to ensure that the packet is always routed towards the sink and to prevent packets from infinite routing loops. The second condition, \(B>B_{th}\), which is the local congestion control metric, ensures that the buffer occupancy level of a relay node, \(B\), does not exceed a specific threshold, \(B_{th}\), which is a packet size above the maximum buffer length of a node. This is to ensure that the node does not experience buffer overflow. This is primarily to prevent local congestion and to ensure load distribution among potential eligible relay nodes. This is because there is the possibility of a node becoming a favorite relay node, due to its position in the network. If such a situation occurs, a hot spot is thus created. This means that much of the generated traffic will be favorably routed through this node. Consequently, this can easily result in buffering overflow in such relay nodes. The routing hot-spot scenario can have serious effects on the end-to-end performance of QoS-based applications, like video streaming. Thus, with this condition, \(B>B_{th}\), a node will only accept to relay the packet at hand if its buffer occupancy level, \(B\), is above a specific threshold, \(B_{th}\), thereby giving the chance to other eligible nodes to relay the packet to ensure network load distribution. The third condition, \(\xi_{pkt}\geq\xi_{th}\), is used as a link quality indicator. To ensure a reliable link for the transmission, it is required that any forwarding node must receive the data packet with a signal-to-noise ratio, \(\xi_{pkt}\), above a threshold, \(\xi_{th}\). Else, the \(I_{DIFD}\) operation will return a zero, which means the node does not have a reliable link to forward the packet. If, however, the \(I_{DIFD}\) operation returns a one, then the node delays sending the generated acknowledgment (ACK) packet according to a receiver contention prioritization, as explained next.