# A Family of ACO Routing Protocols for Mobile Ad Hoc Networks
## 3 AntOR-Based Protocol
### Pheromone Diffusion
#### 3.2.4 Management of Link Failures  
Nodes can detect link failure in a unicast transmission or when a Hello message is expected and is not received. When a link fails, the node can lose the route to one or more destinations. An example of a link failure occurs when a neighbor moves beyond the transmission range. Link failures consider two kinds of problems:  
* If the node has other alternatives to the destination or if the route to the destination is lost, because it has not been used regularly, it has to be notified with a link failure message. * If the route to a destination that is regularly used by the data is lost and is the only alternative of the node, the loss is especially important, and the node tries to repair the path locally. As its name suggests, AntOR-DLR [18] is derived from the basis protocol AntOR with the only restriction that its specification takes into account only routes that do not share links. Table 4 shows the routing table of AntOR-DLR. As we can see, the routing table adds, regarding AntOR, an additional field called disjoint session. The basic idea to find and to represent disjoint link routes consists of marking each disjoint link with a label indicating what the source of the data session is. This mark is indicated in the field disjoint session in the routing table discussed earlier. \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline
**Entries** & **Destination** & **Next Hop** & \begin{tabular}{c} **Regular Pheromone** \\ **Value (r)** \\ \end{tabular} & \begin{tabular}{c} **Virtual Pheromone** \\ **Value (\(\omega\))** \\ \end{tabular} & \
\begin{tabular}{c} **Average Number** \\ **of Hops (h)** \\ \end{tabular} &
\begin{tabular}{c} **Disjoint Session** \\ **(s)** \\ \end{tabular} \\ \hline \(Entry_{1}\) & \(Destination_{1}\) & Next \(Hop_{1}\) & \(\tau_{1}\) & \(\omega_{1}\) & \(h_{1}\) & \(s_{1}\) \\ \(Entry_{2}\) & \(Destination_{2}\) & Next \(Hop_{2}\) & \(\tau_{2}\) & \(\omega_{2}\) & \(h_{2}\) & \(s_{2}\) \\ \(\cdots\) & \(\cdots\) & \(\cdots\) & \(\cdots\) & \(\cdots\) & \(\cdots\) & \(\cdots\) \\ \(Entry_{i}\) & \(Destination_{i}\) & Next \(Hop_{i}\) & \(\tau_{i}\) & \(\omega_{i}\) & \(h_{i}\) & \(\delta_{i}\) \\ \(\cdots\) & \(\cdots\) & \(\cdots\) & \(\cdots\) & \(\cdots\) & \(\cdots\) & \(\cdots\) \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Routing table (AntOR-DLR). Figure 1 shows the flowchart of the procedure of the calculation of disjoint link routes. As we can observe, the procedure is as follows: the disjoint session field in the routing table is consulted to verify if the link is already disjoint or not. To this end, we check if the link is associated with the source of the data session. In the negative case, it sends the corresponding proactive forward ant to the previously calculated next hop. Upon receiving this proactive ant, the process is repeated in the intermediate nodes. As its name suggests, AntOR Disjoint Node Route (AntOR-DNR) [18] is derived from the basis protocol AntOR with the only restriction that in its specification, it takes into account only routes that do not share nodes. Like AntOR-DLR, the routing table of AntOR-DNR adds an additional field, the so-called disjoint session with respect to AntOR. The main difference between AntOR-DNR and AntOR-DLR consists of the way of calculating the routes in the exploratory process: in the disjoint node routes, it is the node responsible for detecting the disjoint property, while for disjoint link routes, is the own link. Figure 2 contains the flowchart of the functioning of AntOR-DNR. The protocol works as follows. Initially, the corresponding proactive forward ant is sent to the next hop by applying Equation (12). When the node receives the ant, it consults its routing table to see whether the field disjoint session has the same value as the source of the ant. In the case of having the same value, we discard the packet, because it is treated as a node disjoint route. Figure 1: Flowchart of disjoint link routes (AntOR-DLR). Figure 2: Flowchart of disjoint node routes (AntOR-DNR).