# Vortex: Network-Driven Opportunistic Routing for Ad Hoc Networks
## 2 Related Works
### Local information-based routing protocols
ILCAR (least-cost any-path routing) [20] introduces a more flexible routing procedure that treats all possible trajectories from a source terminal to the destination terminal as a union and uses candidate relay terminals to minimize the forwarding costs. LCAR first defines the cost from the viewpoint of unicast links and link reliability. Then, LCAR combines the costs of candidate end-to-end routes to calculate the integrated end-to-end cost. Based on the calculated cost, LCAR selects the best receiver packet-by-packet and forwards the packets to the destination terminals. However, inaccurate cost information causes duplicate and redundant relay selection and degrades forwarding efficiency. Thus, LCAR has the ability to eliminate such a duplication based on the distance to a destination terminal and the cost of duplicate relays. As another application of OR, TDiCOR [21], SOAR [11], and OxDSR [17] are proposed for WMNs to flexibly adapt to dynamic state changes. TDiCOR introduces the concept of MISO (multiple input single output) into OR and ETX is used for forwarder candidate selection. Moreover, cooperative acknowledgment and cooperative data transmission are also considered. The cooperative acknowledgment is to confirm packet forwarding by a previous sender because the sender does not care about the responsibility of the next forwarding and just cares about its forwarding. Therefore, TDiCOR uses the acknowledgment to hand over the responsibility to the next hop. The cooperative data transmission is to forward packets with multiple routes to gain route diversity. However, on the basis of MISO, only one terminal takes the responsibility of forwarding in its 1-hop neighbor and others wait for further forwarding if the attempt fails. SOAR introduces ETX-based shortest route selection and priority-based forwarding to minimize duplicated forwarding maintaining the route diversity of OR. SOAR first selects the shortest route towards a destination terminal and the smallest ETX route will be chosen as the route. The forwarding of SOAR is done by a straightforward procedure where a lower ETX terminal to a destination terminal in a forwarder list has a higher forwarding priority. The forwarder list is generated at a source terminal and includes intermediate terminals satisfying the following conditions. * ETX of the forwarding terminal for the destination terminal is lower than that of the previous hop terminal on the shortest route;
* ETX of the forwarding terminals ETX for the terminal on the shortest route is within a threshold;* ETX between any pair of the candidate forwarding terminals is within a threshold. OxDSR also uses the same concept as SOAR which uses an end-to-end route as a guide to forward packets with diverse routes. OxDSR first establishes an end-to-end route using DSR. Then, OxDSR uses EAX (expected any-path transmissions) to prioritize forwarders by calculating OTC (opportunistic transmission count). OxDSR uses the prioritized forwarders as a relay to the second forwarder for packets, that is, OxDSR uses hop-by-hop OR to forward packets to the next forwarder.