# Multi-Path Data Distribution Mechanism Based on RPL for Energy Consumption and Time Delay
## 1 Introduction  
In recent years, wireless sensor networks in smart homes [1], environmental surveillance [2], intelligent buildings [3] and many other areas have been widely used. The topology of this network is instable, due to its intrinsic character and interference from surroundings, thus its link quality will sometimes change. More and more attention has been paid to how to effectively distribute data, especially for low power and lossy networks (LLN). IETF's ROLL (Routing over Lossy and Low-power Networks) group has proposed RPL [4] (routing protocol for low-power and lossy networks) to availably manage data traffic. As is well-known, lifetime and end-to-end delay are two key features of network quality. To ensure that information is effective and real-time, data should be sent to the sink node as soon as possible. However, partial nodes may have to undertake many communication tasks, which leads to their energy being worn out, therefore cutting down the lifetime of the whole network. On the other hand, we need to transmit abundant traffic and node buffers will probably overflow. This increases the delay of network transmission, meaning that it is contradictory to prolonging the lifetime and reducing delays. For the former, we should balance the energy costs of all nodes. In practice, if some nodes are always selected to transmit data, it will result in an energy imbalance, and consequentially shorten the network lifetime. These nodes are the so-called bottleneck nodes. In other words, we should design a suitable transmission strategy to balance energy consumption to avoid the appearance of bottleneck nodes. For the latter, we should select a good quality link to reduce transmission delay. The overflow isa vital factor leading to data packet dropout and will increase end-to-end delay, since a node can only receive data but not store it when its buffer is full. In this case, it will become a bottleneck node even if it maintains a lot of energy. Worse, it will waste its descendant node's energy. Hence, we should balance node caches to decrease the delay of transmission. RPL allows one node to have multiple parent nodes, but only one preferred parent node works. It transmits its traffic through this preferred parent node and the other parent nodes are just backups. This makes the preferred parent node easily become the bottleneck node, and the energy consumption of these nodes is significantly accelerated. In other words, their energy and cache imbalance will seriously affect network performance. Therefore, avoiding the bottleneck node is an urgent problem to be solved. We need to design a reasonable data transmission method during communication. Researchers have considered adding more sink nodes [5] or multiple paths for packet forwarding. The former increases the costs of deployment and the complexity of control. This method is particularly unsuitable for an environment with a lack of infrastructure. For the latter, it can achieve energy balance to some extent, however, its performance depends on the metric used. For example, some metrics may be able to balance traffic, but this also leads to an increase of controlled information and consequently cuts down the lifetime of the network. This paper proposes an algorithm of adaptive multipath traffic loading based on RPL. Its basic idea is to adaptively distribute traffic through a multipath according to network's real situation. It can avoid the appearance of bottleneck nodes by balancing the nodes' energy, which aims to ensure that the network energy is balanced and to reduce the delay from end to end. We first established a more realistic node energy model considering the node's energy consumption for receiving, sending and calculating. At the same time, a kind of energy dispersion measure is proposed, which can effectively judge the energy balance of nodes. Then, we propose a quick algorithm to obtain the optimal distribution based on the measurement.