# An Aquatic Mobile Sensing USV Swarm with a Link Quality-Based Delay Tolerant Network
## 4 Link Quality-Based Forwarding Strategies
### Forwarding Strategies  
The process of mapping the obstacles and the surrounding is accomplished in a decentralized manner to make it faster, and, in the case of failures, the swarm can maintain that functionality. In addition, all navigation decisions have to be synchronized between the USVs, which means that it is important to have a network connectivity as reliable as possible with the minimal delay between the USVs. Due to navigation issues, one of the network constraints is that all USVs are always in communication with each other. Additionally, the aquatic mobile sensing platform should be able to get information about the water quality and send it back to a centralized unit for further processing as quickly and reliably as possible, i.e., without dropping any sensing measurement. Therefore, the routing strategy should present the lowest delay, introduce the least overhead to the network, maintaining a 100% delivery ratio, and be adaptable to the nodes' mobility. With this in mind, a link quality-based routing strategy with three variants regarding the acknowledgment process are proposed:* Passive multihop Link Quality Estimator with broadcast end-to-end acknowledgement (PAmuLQE-B-E2E ): In this variant, the destination node sends the acknowledgment packet in broadcast to all its neighbors. If the same packet is transmitted to a neighboring node that has the knowledge that this packet has already been delivered, this neighbor will send and acknowledge the packet in unicast to the sender node. * Passive multihop Link Quality Estimator with unicast end-to-end acknowledgement (PAmuLQE-U-E2E): In this variant, the end-to-end acknowledgement is sent as a data packet in unicast. When the packet is retransmitted from the sender to the gateway, it is deleted from a relay node every time that the next hop transmission is acknowledged. * Passive multihop Link Quality Estimator with neighbor acknowledgement (PAmuLQE-NACK): In this variant, each node keeps the packet only until it receives the acknowledgement from the next node. This means that there is only one copy of the packet in the network at each time. The logic of the three variants is described in Figure 6.  
Algorithm 1 represents the rationale behind the link quality-based proposed forwarding decision. The routing decision strategy is common to all, as can be seen in Algorithm 1. That is, if the destination is a direct neighbor, then the packet is sent directly to the destination (Lines 4 and 5). If it is not, then it removes all neighbors that already have the bundle from the possible paths (Line 7) to employ a loop avoidance technique, by keeping tracking information, i.e., keeping the list of previous hops  
Figure 6: Routing logic for the three variants of the link quality-based routing strategy. (previous nodes), and not sending to those hops again, controlling the amount of network resources consumed and reducing the number of copies in the network. Then, it finds the best path using the Dijkstra algorithm and the weights computed by Equation (1) (Line 8). If there is a path, then the packet is sent to the next hop given by that solution (Line 10). Line 11 introduces the differences between PAmuLQE-U-E2E and the remaining variants of the proposed strategy. ```
1 whilePacketsp instoragedo
2\(\triangleright\) peak packet
3 neighbours\(\leftarrow\) get_direct_neighbours()
4 if\(p_{dest}\) inneighboursthen
5 sent packet \(p\) to \(p_{dest}\)
6 else
7 available_neigh\(\leftarrow\) remove_neigh(\(p_{hops}\))\(\triangleright\) Loop Avoidance
8 next_neigh\(\leftarrow\) get_shortest_path(available_neigh)\(\triangleright\) Dijkstra with link quality
9 weights (eq.1)
10 ifnext_neigh\(\
eq\)NULLthen
11 sent packet \(p\) to \(p_{dest}\)
12 ifrouting_version\(==\)unicast end-to-endandmy_id\(\
eq\)\(p_{src}\)then
13 delete p
14
15 wait cycle_delay
```  
**Algorithm 1**Routing decision algorithm (decision logic).