## 5 Evolution of Opportunistic Routing in Asynchronous WSN
### Evolution of Opportunistic Routing Protocols  
#### 5.2.1. Orw  
In 2012, [PERSON] et al. introduced ORW [11], which aims to provide a duty cycle-based WSN where, in order to reduce unnecessary energy consumption, nodes are continuously kept active and the sleep mode is asynchronous, whereas in ExOR [4], nodes are assumed to be active all the time. The concept of ORW is that the first node that wakes up will receive the packet and provide routing progress (ACK), and forward the packet on behalf of the source node. Like ExOR, ORW also uses ACK overhearing within the set of forwarders to avoid duplicate forwarding. Unlike ExOR protocols, where nodes worked with ETX [4; 52; 53], in ORW nodes use a routing metric called EDC (Expected Duty Cycle) [11; 54]. First, the sender calculates its own EDC and probes its neighbors by adding its EDC value along with the packet header. Next, the neighbors accept the packet after waking up and updating the link quality estimation. Then, one unique neighbor forwards the packet while providing a routing progress. Finally, ORW handles multiple forwarding by observing some characteristics that rely on overhearing.  
ORW does not depend on the tree structure, and the nodes are not synchronized either. The protocol assumes that the network uses asynchronous duty-cycling and very low power listening. Based on this model, the protocol tries to find a minimum-EDC forwarding node. As a result, in dense networks, this protocol shows a great improvement in energy efficiency and reduces transmission delay.  
Suppose that node A has a weak link quality with node C but a strong link quality with B. According to traditional routing, node A would need to wait until node B wakes up and receives the packet. However, in the meantime, node C would wake up and hear the transmission of [PERSON]. Hence, according to the ORW (Figure 14), since C has already overheard [PERSON]'s transmission, it will receive the packet and provide an ACK as transmission progresses. Then, [PERSON] will stop waiting for [PERSON] and enter sleep mode. Now, [PERSON] will keep probing for [PERSON] to wake up, and transmit the packet successfully. In this way, ORW can reduce the sender's waiting time as well as energy consumption.  
However, the metric EDC used by ORW requires a recursive calculation, which takes a long time. Moreover, it does not consider the load-balancing problem. The node's candidate set will change only when the network's topology or link quality changes, which results in traffic load concentrating on nodes with a greater EDC. In addition, ORW does not limit the number of forwarders explicitly, so the multiple receiver problem is more likely to occur, which will cause packet duplication in the network.  
On the other hand, the overhead of link estimation is too high. ORW does not consider the impact of the independent duty-cycling of candidate nodes. In the estimation of the end-to-end (E2E) latency metric, only link quality is taken into account. ORW neglects the fact that a relay candidate node that wakes up more frequently should have a larger weight in determining the E2E latency.