# Path Diversity Improved Opportunistic Routing for Underwater Sensor Networks
## 3 Path Diversity Improved Opportunistic Routing
### Path Diversity Improved Forwarding Mechanism  
Supposing neighbor set \(V_{i}=\{1,2,...,k,l\}\) belongs to node \(i\), when node \(k\) and \(l\) are deployed closer to each other in geography, there exists two potential risks: (i) If node \(k\) fails to receive packets from node \(i\) when the channel quality is bad, the probability of successfully decoding the packets by node \(l\) could also be very small. It is unwise for node \(i\) to still select node \(l\) as a next-hop forwarder when node \(k\) fails to relay packets. It will lead to increase in energy consumption and latency. (ii) Although the closely-positioned receivers can both successfully decode the packets with a good quality channel, it will impose restrictions on the candidates selection at next-hop. On the one hand, it cannot provide more choice for next-hop candidates selection, since the neighbors of node \(k\) and \(l\) are almost the same. On the other hand, once node \(k\) is located at the local maximum point, node \(l\) may also have no available neighbor with a lower depth. The intuition behind the above example is that channel quality and candidate location distribution are two important factors affecting packet transmission in multi-hop UWSNs. The packet reception depends on the channel quality. The candidate distribution affects the path connectivity, and the closely-positioned candidate nodes is not a good choice for packet forwarding. Although EPA-based candidate selection method considers the underwater fading channel, unfortunately, it ignores the candidate location distribution problem. To provide the reliable and diverse path for packet forwarding, we propose a path correlation based normalized sum of neighbors advancements, called EEPA (Enhanced Expected Packet Advance), for candidate set selection. It is defined by Equation (4). Our object is to maximize the forwarding advancements of the candidate set under the restriction of path correlation. \[\text{EEPA}(V_{s})=\sum_{i=1}^{k}d_{si}^{z}p_{si}\prod_{j=0}^{i-1}\{1-p_{si}p(s,i,j)\} \tag{4}\]  
The neighboring set \(V_{s}\) belongs to current forwarding node \(s\), including \(k\) nodes, where \(p_{si}\) is the packet successfully delivery probability over link \((s,i)\) and \(p_{s0}\) is defined as 0. \(d_{si}^{z}\) represents the depth between node \(s\) and node \(i\), given by \(d_{si}^{z}=d_{s}-d_{i}\). \(\rho(s,i,j)\) represents the path correlation between neighbor nodes \(i\) and \(j\). Since in [29] we employ Binary Phase Shift Keying (BPSK) modulation in the physical layer, the probability of bit error is given by Equation (5):  
\[p_{e}(s,i)=\frac{1}{2}\left(1-\sqrt{\frac{\gamma(s,i)}{1+\gamma(s,i)}}\right) \tag{5}\]  
Thus, in [14], the packet successfully delivery probability of a packet with \(m\) bits size over link \((s,i)\) is given by Equation (6):  
\[p_{si}=(1-p_{e}(s,i))^{m} \tag{6}\]  
With EEPA metric, the packet forwarding advancements provided by node \(i\), \(i\in V_{s}\), consists of two parts: one is the advancements related to the distance based channel quality, and the other is the path correlation between nodes \(i\) and \(j\), where node \(j\), \(j\in\mathcal{C}_{s}\), already exists in the current candidate set. There are two practical path correlation coefficients proposed in this paper. One is represented by the normalized distance between two neighbors, named PICS, the path correlation coefficient being given by \(\rho(s,i,j)=1-d_{ij}^{e}/R\), \(d_{ij}^{e}<R\). To reduce the routing cost, the other path correlation coefficient is represented by a random value, \(\rho(s,i,j)\in(0,1)\), named PRCS. The EEPA metric is defined as a trade-off between forwarding advancements and path correlation. A shorter distance \(d_{ij}^{e}\) means a higher path correlation between nodes \(i\) and \(j\), then, the factor \(\rho(s,i,j)\) will reduce the advancements carried by node \(i\). When the path correlation \(\rho(s,i,j)\) is lower, the packet reception of node \(i\) mostly depends on the progress provided by itself.