## 3 Multipath Routing in Wireless Sensor Networks
### Basic Principals in Designing Multipath Routing Protocols  
Although the multipath routing approach has been employed for different purposes, the achieved performance gain is highly affected by the ability of the proposed protocol to construct an adequate number of high-quality paths. Each multipath routing protocol includes several components to construct multiple paths and distribute network traffic over the discovered paths. In the following, we describe these components in detail. _Path Discovery:_ Since data transmission in wireless sensor networks is commonly performed through multi-hop data forwarding techniques, the main task of the route discovery process is to determine a set of intermediate nodes that should be selected to construct several paths from the source nodes towards the sink node. Different parameters are used in the existing multipath routing protocols to make routing decisions. Among these parameters, the amount of path disjointedness is the main criterion which is utilized by all the existing multipath routing protocols to discover several paths from each sensor node towards the sink node [8, 12]. As depicted in Figure 1, discovered paths can be generally categorized as node-disjoint, link-disjoint, or partially disjoint paths. For node-disjoint paths, there is no common node or link among the discovered paths. Therefore, any node or link failure in a set of node-disjoint paths only affects the path, which contains the failed node or link. Since this kind of path disjointedness provides higher aggregated network resources, node-disjoint paths are preferred over link-disjoint and partially disjoint paths. Still due to the random deployment of the sensor nodes, it is difficult to discover a large set of node-disjoint paths between sensor nodes and sink node. Incontrast, link-disjoint paths may contain several common nodes while there is no shared link between the paths. Accordingly, any node failure in a set of link-disjoint paths may deactivate several paths that share the failed node. Finally, partially disjoint paths can include multiple paths, which may share several links or nodes between different paths. In comparison with the aforementioned types of path disjointedness, any link or node failure in a set of partially disjoint paths may affect several paths. However, constructing multiple partially disjoint paths can be easily performed. Regarding to the advantages and disadvantages of different types of path disjointedness, network density and performance requirements of underlying application play an important role to make the best decision between using node-disjoint, link-disjoint or partially disjoint paths. The amount of path disjointedness is the basic criteria that should be considered for discovering a set of paths, but due to the time-varying properties of radio communications and resource limitations of the sensor nodes, only considering this criterion may not result in the construction of high-capacity paths [2, 53, 54]. In some situations, merely assuming the amount of path-disjointedness for route discovery may lead to the construction of several low-quality paths. To address this problem, in addition to the amount of path disjointedness, different routing algorithms utilize various routing cost functions to make the best routing decision based on the application related performance demands. The main purpose of a routing cost function is to capture various properties of wireless links and sensor nodes to calculate cost of data transmission over different paths. To this aim, the employed routing cost functions in the existing multipath routing protocols are composed from several components to measure the capability of different nodes or links to provide performance demands of various applications (e.g., maximizing path throughput, minimizing end-to-end delay, improving network lifetime, and even traffic distribution).