# Multi-Path Data Distribution Mechanism Based on RPL for Energy Consumption and Time Delay
## 2 Related Work
### Multipath Routing  
Load imbalance directly affects both the performance of the network and its lifetime. Multiple sinks are not suitable in general, although it could alleviate the situation a little. In this case, a multipath could be considered. If we only consider one sink, there are two methods at present. First, minimize the overall energy consumption, for example, using the ETX (Expected Transmission Count) metric to choose a high-efficiency energy link. However, only considering the paths between the nodes and the sink cannot represent the true conditions of communication in practice [6], since this will make some nodes have a large number of children and lead them to run out of energy quickly. Second, nodes with more energy are applied to forward traffic. Nevertheless, these nodes have many poor links of their own. Sustaining transmission through the low-quality link would make the nodes lose many packets. Multipaths have been widely used to balance loads and improve service quality [7; 8]. In [9], the authors chose the preferred parent using the hop count and proposed the protocol DMR (DAG-based Multipath Routing-protocol) for the mobile sensor network. When all the parents of a node are out of work, it is able to construct paths through its siblings. There are two disadvantages to this method. First, it is obviously unreasonable to think that the link with fewer nodes can provide higher quality. Second, frequent changes of topology are bound to result in an increase of both the control packets and the extra consumption of the nodes, and shorten the network lifetime. In [10], a multi-path routing protocol was designed in consideration of node residual energy and ETX. However, it does not consider the energy consumption of the whole network. In [11], the authors propose an energy equalization routing protocol-EBMR, and applied it to the wireless sensor network. However, EBMR uses client/server software architecture to calculate the optimized path in a centralized manner, and to collect the entire wireless topology through the base station. This method is difficult to implement in practice, and the author did not give a detailed design of the algorithm. The literature [12], uses an REER (Robust and Energy Efficient Multipath Routing Protocol for Wireless Sensor Networks) metric which combines residual energy, buffer size, and SNR (Signal-to-Noise Ratio) weighted function. However, this combination implicitly assumes that the energy consumption is linearly dependent on these factors. Reference [13] proposes a multipath equalization algorithm based on a cache of each node. It determines the transmission time of the DIO message according to the size of the remaining cache and then forms a DIO message queue. To achieve the purpose of balancing the load, several parent nodes are selected to send the traffic. However, the author does not consider energy spends and thus it ca not increase the whole network lifetime. In [14], the authors present a HeLD (heuristic load distribution) algorithm based on the multipath extension of standard RPL, trying to achieve a balanced traffic load while maximizing total throughput in the network lifetime. Reference [15; 16; 17] achieves a multipath by modifying the underlying layer or controlling parameters. In [15], the authors modify cluster heads in the MAC (Media Access Control) layer and expand RPL through a defining opportunity transmission scheme. This scheme only considers delay but does not guarantee traffic balance, thus it does not prolong the network lifetime. Reference [16] proposes an opportunity-routing ORW (Opportunistic Routing in Wireless sensor networks). In this routing, a packet can reach its destination by using several duty-cycled wakeups. Each node selects a number of potential parents for forwarding, and then uses the coordination algorithm to select a single node as a unique forwarder. However, it needs to modify the MAC layer and this is difficult to achieve.