## 4 Taxonomy of the Existing Multipath Routing Protocols
### Concurrent Multipath Routing
#### Energy-Efficient Multipath Routing Protocol
Source node starts data transmission upon the reception of the _ASSIGN_ messages:  
\[\tau_{j}=\frac{R}{p_{j}}\sum_{i=1}^{N}P_{i},j=1,\,2,\,\ldots,\,N \tag{7}\]  
Assuming \(N\) paths between a pair of source-sink nodes, \(r_{j}\) is the assigned data rate to the \(j\)th path, \(R\) is the requested data rate (by the application) that should be arrived at the sink node. \(p_{i}\) and \(p_{j}\) are the costs of \(i\)th and \(j\)th paths. The main advantage of this protocol is to prolong network lifetime by distributing network traffic over several paths according to the cost of data transmission over these paths. The residual battery level of the sensor nodes and their distance to the sink node are considered as the main parameters in the route discovery and load distribution algorithms. However, the interference level experienced by the intermediate nodes (along nearby paths) and its effects on the network performance is disregarded. On the other hand, as demonstrated in [59, 68], a lower number of interference-minimized paths provides higher performance compared to the situation in which more number of paths is established without considering the effects of interference. Nevertheless, this protocol establishes and utilizes all the discovered node-disjoint paths. _AOMDV-Inspired Multipath Routing Protocol_[69] is designed based on the multipath version of AODV (_i.e._, AOMDV [70]) to achieve energy-efficient and low-latency communication in wireless sensor networks through using cross-layer information. Path construction is similar to the mechanism introduced in AOMDV with a few improvements. While AOMDV tries to discover all the possible link-disjoint paths between each pair of source-sink nodes, the AOMDV-Inspired Multipath Routing Protocol uses different routing table management strategy to construct only hop count optimal paths towards the destination node. With this protocol, the sink node confirms an additional path only if its first hop is different from the previously discovered paths and if this path provides the same hop count towards the sink node. Otherwise, if the sink node receives a _Route-request_ message with the lower hop count than the existing routes (established from the same source node), it substitutes all the previously established paths by the newly discovered path. Figure 10 demonstrates the routing tables constructed at the source node by AODV, AOMDV and AOMDV-Inspired Multipath Routing Protocol. AOMDV does not introduce any load distribution mechanism to split network traffic over the established paths. AOMDV-Inspired Multipath Routing Protocol utilizes the information provided by the MAC layer to reduce data transmission latency. To this aim, during data transmission process, each intermediate node searches its routing table and forwards its received data packets to the next-hop neighboring node that wakes up earlier. While this MAC layer technique can reduce the transmission delay and interference, it requires all the sensor nodes to be aware about their neighboring nodes' timing information. Furthermore, similar to the _ad hoc_-based routing protocols, this protocol should flood the whole path information throughout the network during the route discovery phase. This flooding process imposes significant overhead to the resource-limited sensor nodes. _Interference-Minimized Multipath Routing Protocol (I2 MR)_[45] aims to support high-rate streaming in low-power wireless sensor networks through considering the recent advances in designing high-bandwidth backbone networks. I2 MR tries to construct zone-disjoint paths and distributes network traffic over the discovered paths by assuming a special network structure and the availability of particular hardware components. Figure 11 demonstrates a simple schematic of the network structure assumed in this protocol. All the deployed gateway nodes are assumed as the final destinations and it is supposed that these nodes are directly connected to the command center using non-interfering and high-capacity links.