## 2 Related Work
Each node then computes its cumulative spectrum energy rank with each of its neighbor and also computes the rank for all of its neighbors. It then compares its rank against all the neighbors' ranks, and if it is found among the three highest ranks, then it becomes a potential cluster-head, after which, all potential cluster-heads compete for heading the cluster by way of announcement. All nodes then synchronize their timers with their cluster-heads, which then assigns transmission slots to each member via the beacon, which also instructs members on which channel to transmit. On the other hand, ROR uses the simple CSMA to achieve an efficient receiver contention prioritization scheme, which significantly reduces nodes' contention, and by effect collision. This is achieved by giving more priority of transmission to the nodes in the closest virtual contention cluster to the sink via the implemented VCG initiative determination and receiver contention prioritization schemes of ROR. The VCG initiative determination procedure is used for each node in eligible VCGs to decide on participating in communication based on its current state related to link quality, location, buffer level and the remaining energy level. This not only simplifies the communication, but also makes the routing distributive by way of avoiding the creation of routing bottle necks, as in the case of SCEEM, which aggregates huge multimedia data at the cluster head and sends the same to the sink via a single route. Another relevant work in this regard is energy- and cognitive-radio-aware routing (ECR) [28], which is basically a routing protocol designed for CRSNs. SCEEM and ECR are similar in that both adopt the same hierarchical network architectures, which features a cluster head that coordinates the clustering operation, and the route search algorithm to the sink adopts similar principles. However, how the cluster formation was achieved in ECR was never mentioned, which makes implementation impossible. Looking in detail at ECR, during the route request phase, the route request (RREQ) packet is sent as a broadcast towards the sink through a common control channel. Intermediate nodes forward the RREQ based on the channel correlation with the sending node, energy threshold and channel availability criteria. When multiple routes are found, the sink chooses the route with the least number of hops and further assigns the operating channel to individual nodes to reduce channel switching during the data-transfer phase. Route maintenance is only performed locally if the affected node is in close proximity to the sink. Otherwise, a message must be sent back to the source to initiate a new route request, which can be costly. The issues that are left to be solved in this case are, as we have already hinted in the introduction, that the final route decision cannot be justified as the optimal route at any time after the first decision, because of the nature of the CR environment. This case becomes more pronounced when a node in the original route suddenly experiences heavy noise due to the dynamic CR environment, which can lead to increased delays and packet drops. Based on the strategy adopted in ECR, the network is highly prone to experiencing multiple new route requests, which greatly affects the efficiency of the protocol. Moreover, the channel availability metric was not properly accounted for in ECR. On the contrary, the ROR strategy ensures that the best node at each point in time forwards a packet once it belongs to the VC group (VCG) of the eligible nodes. Although spectrum and energy-aware routing (SER) [29] is not specific to CRSNs, the fact that it considers energy as a routing metric makes it classifiable as a relevant CRSN solution. The protocol presents another modification of the AODV protocol and differs from the others based on its distributed joint routing and channel time-slot allocation strategy for each link. Again, like in other works, carrier sense multiple access with collision avoidance (CSMA/CA) is used at each link for channel access.