Multi-class Multipath Routing Protocol for Low Power and Lossy Networks, with Energy Balanced Optimal Rate Assignment

The wireless sensor networks (WSNs) are special network which has purpose of gathering information in certain area. Multipath routing is the paramount path of addressing QoS and energy balancing concerns in low power and lossy networks (LLNs) especially in IoT technology. Most of the extant efforts bring the limited number of disjoint paths into play, and intersect the traffic among them pursuant to a compound metric or centralized optimization problem. This paper proposes a multi-class multipath routing protocol for LLNs (called M 2 RPL), that construct a braided multipath routing graph based on the standard RPL (IPv6 Routing Protocol for Low-Power and Lossy Networks) protocol, and an energy balanced optimal rate assignment mechanism (EBORA) that solves a local multi class optimization problem for minimum cost traffic rate assignment. Moreover the algorithm tries to maximize network lifetime by equalizing the energy dissipation rates of equi-level nodes. The simulation results expose the efficiency of the proposed framework, leading to an average 15% increase in lifetime, and improved QoS performance in terms of delay and reliability, compared to some well - known algorithms.


Introduction
Wireless Sensor Networks (WSNs) are the low power networks that comprise of distributed and self-governing sensor devices. These sensor devices are used to detect the physical environment and the network devices forward the data in multi-hops to the sink (i.e. data collector). Today, WSNs are used in various military, health care and industrial monitoring applications. WSN consists of few to several hundreds of sensor devices [1] where each device has several sensors to monitor the environment.
Low power Lossy Network (LLN) is a terminology, which refers to networks that are composed of limited power, memory and processing with lossy wireless connectivity. Examples of LLNs include Wireless Sensor Networks (WSNs) and Wireless Personal Area Networks (WPANs). It is an uphill task for the LLNs to select reliable and low latency paths to provide high data rate transfer [2,3]. This is because of poor wireless connectivity and resource constrained nature of devices in LLNs. IETF in this regard recommends the use of routing protocol for low power lossy networks (RPL) for routing in LLNs. The design objectives of RPL includes establishing reliable routing paths, promptly reacting to link failures, utilization of minimum device energy and reduction in computational cost of routing [1]. Different routing metrics, such as battery power, hop count, delay etc., used in RPL. The Objective Function (OF) in RPL determines how RPL nodes select the optimal path towards the DODAG root in a network [4]. To minimize the cost to reach the root node from any other node in the LLN, RPL uses objective function [1]. A node receives DIO message and uses this information to join the DODAG, update their rank for the selection of preferred parent. The best preferred parent uses by a child node for forwarding packets to the root node [5].
RPL provides single path routing with minimum computational complexity, but it reduces the lifetime of the network [6,7] and also greatly effects the network performance [8]. In high traffic load when an active path is congested and fails to transmit the data then multiple paths are necessary for data forwarding to increase lifetime and throughput. Multipath routing strives to find several paths from a source to destination. Multipath routing improves reliability, extends network lifetime, and reduces congestion. Existing literature [9,10] has identified the need for supporting multipath routing in RPL. Despite few research efforts in this domain, providing multipath routing using RPL to support high data rate applications is still an open research area. In this paper a new traffic rate assignment method is proposed which solves a distributed linear optimization problem in the form of classical transportation problem to achieve minimum cost packet delivery for delay and reliability sensitive packets, and to equalize the average dissipated power of equi-level nodes for lifetime improvement.
The mechanism consists of three main parts: 1) a Multi-class multipath version of RPL called M 2 RPL that constructs a braided multipath DODAG, and calculates normalized average e2e costs for each service class. 2) a QoS sensitive packet scheduler that determines the order and rate in which the packets are served, as well as ensuring hard QoS guarantees, by eliminating the deadline expired delay sensitive packets, or duplicating the reliability sensitive ones when needed. 3) a novel Energy Balanced Optimal Rate Assignment mechanism called EBORA, which determines the optimal traffic shares of parents from the outgoing traffic rate of each service class by periodically solving a node-local transportation problem.
The rest is organized as follows: In section 2 some of the well-known multipath routing algorithms for WSNs are studied. Section 3 defines the network model and formulates the energy balanced, QoS sensitive, rate assignment problem. Section 4 introduces the route construction mechanism and also describes the QoS sensitive scheduler, formulates the locally optimal rate assignment algorithm. In section 5 provides simulation results, and last in section 6 concludes the paper.

Related works
In this section we examine some of the well-known and recent algorithms proposed for QoS sensitive routing in WSNs. RPL is a routing protocol for sensor and ad-hoc network and is more suitable in terms of energy efficiency than existing ad hoc routing protocols [11,12]. In existing literature, RPL performance enhancement using multipath routing is not been investigated particularly. In this section, the existing work is surveyed in non-RPL and RPL based multipath routing scheme.
In [13], multiple extension of dynamic source routing (DSR) is proposed to find the disjoint paths without any extra overhead. Each node broadcasts two route request with same ID and sequence number but using different colors. When multiple requests for route with disjoint paths are received by intermediate nodes then they marked as adjacent path with the help of color. As a result multiple requests travel to the destination and they are replied separately to the source. The source node can then use both paths for sending data.
In [14] a multipath routing scheme is presented to prolong the network lifetime by distributing the load over the network. The network is divided into districts and each district contains the interference-free row. Sink node sends packet to all nodes in network and each node joins the network district based on their location. Each node then transmits packets to the sink node with their residual energy and load. The sink calculates the residual energy of each district and informs source node to forward packets through least utilized multiple districts. This helps in load and energy balancing using multiple paths.
In [9] multipath routing is proposed using cross-layer design that violates original standard specifications of RPL as a lower layer independent routing protocol. In [10], multipath extension of RPL is proposed for enhancing network lifetime by load balancing. In [15] extends [16] in which Multiple paths are created after congestion on path is detected using Packet Delivery Ratio (PDR). In this extended work, we use another congestion detection metric buffer size along with PDR and buffer size provide better congestion detection than PDR. Also, the congestion notification strategy of current work provides better congestion mitigation than proposed in [16]. In addition, in this work, comprehensive results presented in both random and grid topology as compared to simplistic evaluation performed in [13].
Multipath routing protocols have been widely studied in wireless sensor networks [17] and mobile ad hoc networks [18]. They were proposed to ensure fault-tolerance, congestionavoidance, load balancing and QoS. We can find either disjoint multipath or braided multipath routing schemes. In disjoint multipath, the nodes/links within each route are different. Thus, a failure on a given path does not affect any other path. However, maintaining all the alternative paths requires a global knowledge of the network topology, thus resulting in a high energy consumption level.
To increase the network lifetime, the authors in [19] propose an energy-balancing routing scheme where all paths have to consume the same amount of energy. Hence, each node sends a list of all known bottlenecks as part of the DIO message which, considerably, increases the original DIO size and henceforth the protocol overhead. Moreover, the algorithm proposed in [19] to maintain the DODAG is relatively complex since the ETX metric is used to construct the DODAG and the ELT (Expected Life Time) metric is used to compute the rank of each node in the routing graph. To improve the Packet Delivery Ratio (PDR), [20] uses the default RPL metric ETX, for the first path construction and proposes a new metric based on nodes' remaining energy for the second preferred parent selection. The rank calculation is based on the probability of unsuccessful transmissions. The results show that the proposed scheme improves the packet delivery ratio, especially for environments with a high bit error rate and balance the energy consumption in the network.
On the other hand, all the works that target the multipath routing in RPL [19] [20] and [21], only focused on load balancing, fault tolerance or quality of service (QoS) purposes. Hence contribution [braided on demand] is twofold. First, a Bayesian framework for sensor nodes' speed (velocity) prediction in WSNs has proposed. Then, a multipath routing over RPL called Mobility based Braided Multipath RPL (MBM-RPL) to efficiently support the sensor nodes' mobility has introduced.
In [26] a novel energy efficient ad hoc on-demand multipath distance vector (EEAOMDV) routing protocol proposed that uses ad hoc on demand multipath distance vector (AOMDV) routing protocol as a basic routing strategy. The selected route satisfies quality of service in energy stable and the delay constraint on the application. The operation of EEAOMDV has three phases. In the first route discovery phase, the delay and energy constraints are built into the AOMDV route discovery mechanism. During link failure, the second phase is invoked to search for an energy stable alternate path locally. The third phase chooses the optimal path from available multiple paths from source to destination pair in the hybrid network. In this work packet delivery ratio and end to end delay has improved. According to some related characteristics of wireless multimedia sensor networks (WMSNs), an improved real-time routing protocol (SPEED-RR) with QoS guarantee based on the SPEED protocol [23] is designed in [24], which is mainly used to make an effective compromise between real-time and energy cost so as to ensuring the real-time performance of QoS. In the process of routing discovery, this protocol takes full account of the residual energy of two-hop neighbor nodes, and avoids the occurrence of "routing void" and "rate void". At the same time, for different services, a control method based on the node sending, receiving data rate and cache queue length is adopt to distinguish the congestion control. In order to make the protocol better applicable in the system, exploring the real-time transmission and energy characteristics of data is necessary, a better routing mechanism is proposed to improve the performance of these two aspects. It is claimed that, the proposed SPEED-RR protocol can effectively reduce energy consumption, reduce transmission delay, and prolong the network life time.
Pairwise Directional Geographical Routing (PWDGR) resolves energy bottleneck problem in WSNs, however the high energy consumption due to GPS based node localization is a concern. In [25] Energy Enhanced PWDGR (EE-PWDGR) with triangulation based localization system and reduced energy consumption by selecting the forwarding node based on energy drain rate and distance parameter for path discovery. Though EE-PWDGR improves energy efficient routing, WSN require quality of service (QoS) satisfaction in multimedia communications. Hence additionally Energy Enhanced Load Balancing PWDGR (EELB-PWDGR) has proposed for avoiding overload conditions by estimating QoS parameters namely path reliability, link quality, and average delay. [26], is the Multi-class extension of MRPL which uses a Heuristic Optimal Load Distribution mechanism (HOLD) that adaptively changes the traffic shares of parent nodes to equalize their energy consumption rate, and simultaneously reduce the total costbandwidth product of multiple service classes. The traffic share adaptation procedure does not guarantee minimum transmission cost because of its heuristic nature. There are a lot more QoS sensitive routing algorithms, but we studied some of the most recent, and related ones; knowing that other algorithms follow nearly the same techniques discussed here.

Network model and problem definition
The network under review consists of several low power wireless nodes operating on top of IEEE802.15.4 physical and medium access layers as required by 6LoWPAN. The topology consists of single sink node and can be assumed as a part of a bigger hierarchy in which the local sinks are connected over wide area networking solutions. The nodes are assumed to be fixed and uniformly distributed over an * area. The energy supply is provided by ordinary or rechargeable batteries, with charging power of ( ) in sample node i. the sink node is assumed to be mains powered and placed randomly.
To incorporate physical aspects of wireless media such as noise and path loss, we use lognormal shadowing model. The received signal strength indicator (RSSI) is measured upon each packet reception, and the packet is considered to be lost if RSSI goes below the receiver's sensitivity. The RSSI level can also be translated to mean packet error rate of the wireless link, and to be used as the reliability metric for routing decisions discussed later. The MAC layer is assumed to use Carrier Sensing Multiple Access (CSMA) protocol with a limited number of exponentially distributed random back offs when the media is busy.
The traffic flow type is multipoint-to-point, which is the case for monitoring applications for IoTs, since the algorithm is designed for 6LoWPANs, the IP based "diffserv" classes are also chosen for service differentiation. Three classes are particularly defined: 1) Expedited Forwarding (for delay sensitive traffics); 2) Assured Forwarding (for reliability sensitive traffics); and 3) Best Effort forwarding (for ordinary traffics). Each node may produce packets of all service types and serve as a router for the incoming traffic from its neighbors. It has K service queues in which the packets are classified and stored according to their diffServ code points.

Figure 1 A sample multipath DODAG
The proposed routing protocol constructs a multilayered, braided multipath DODAG, like figure 1, represented by = ( , ), where V denotes the set of nodes, and E denotes the set of links between neighboring nodes. Each node has a Rank in the graph, which determines its distance (in terms of hop count) to the sink. The neighbors set of a sample node shown by N(i), can be further divided to three independent subsets: Parents P(i) (neighbors with a lower rank than node i's rank), Siblings S( ) (the equi-level rank neighbors), and Children C(i) (the ones with higher ranks). Intra-level communications between siblings is abandoned. The main idea of route construction mechanism is same as [30], focusing on the multi-class e2e cost calculation mechanism.
The second and more important part of the routing problem, is the optimal traffic load distribution from each service queue, to each of parent nodes over the interconnecting wireless link. The traffic rate of link ( , ) between a sample node and one of its parents j, corresponding to service class k is shown by and it should be assigned in a way to a) Minimize the total sum of cost-bandwidth products over the entire network, b) Meet the global tolerable bounds for each service class, and c) Equalize the average energy dissipation rates of equi-level nodes with the aim of maximizing the network lifetime. Let us assume the following parameter definitions for a sample node , averaged over predefined time intervals: We may also use a moving average with a predefined forgetting factor to introduce some sort of memory to each parameter over subsequent estimations. The optimal rate assignment mechanism can now be formulated as the following multi-commodity network flow problem.
We have eliminated the hard QoS constraints in terms of e2e delay and reliability commitment, from the load distribution problem and moved it to the QoS sensitive scheduler instead. This is firstly done because of the need to derive local QoS constraints form global ones which is complicated problem. Most of the existing solutions have assumed even distribution of delay or reliability among hops of route to simplify this complexity, which clearly is not a realistic assumption. The second reason is that the e2e QoS commitment must be guaranteed per each packet which is not possible just by overall traffic rate assignments. A detailed description of QoS sensitive packet scheduler is provided in section 4.2.
Solving the above network flow problem, requires a central agent with enough knowledge of the network topology, which we name it Optimal Multi-class multipath RPL (OM2RPL). Since low power wireless networks have a self-organized distributed nature, a local version of the optimization problem called EBORA is also defined in section 4.3, to formulate and solve an optimization problem in each node.

Multiclass Multipath RPL (M 2 RPL)
M2RPL is composed of two main parts, the first part is the multipath DODAG construction mechanism which is nearly the same as MRPL [9]. The second part is the multi-class cost calculation mechanism for QoS differentiation. The following subsections describe these parts in more details.

Multipath DODAG Construction
RPL is a distance vector routing protocol designed and developed by the IETF working group ROLL [27]. This protocol organizes the nodes in a DODAG to allow upward traffic from leafs to sensors, and propose different options for the downward routes. To build a DODAG, a DODAG root sends multicast DIO packets with the necessary information so that a node can join the network. A unicast DODAG Advertisement Object (DAO) message is sent upward to propagate destination information and construct downward routes. Within a RPL instance, there is an OF which defines how to combine different metrics to perform parent selection, i.e. choose which neighbor will be the default relay node toward the root.
As in the original RPL the route construction procedure begins with the sink node selecting a rank for itself and broadcasting a routing packet called Destination Information Object (DIO), advertising its rank. Other nodes calculate a rank for themselves upon receiving DIO packets. The node's rank defines its position with respect to the root, according to a predefined routing metric [28]. We chose the hop count metric for rank calculations, to ensure minimum number of packet transmissions, so, node i's rank, is equal to its depth or hop-count in the graph. Using this convention, the entire routing graph is built without taking the QoS metrics like delay or reliability into account. The service differentiation is then attained by cost wise traffic distribution among the routes. So, each node should obtain information about average e2e transmission costs between itself and the sink. This is made possible by carrying multiple metrics over DIO packets, during the route construction procedure and keeping these e2e costs fresh during the normal operation. When the rank and route costs are calculated, the node should regenerate the DIO packet and send it to its neighbors until the DIOs reach the network boundaries (ℎ ), determined by the network designer or the implementation area.

Multi-Class Route Cost Estimation
Since the routing mechanism uses braided paths, the e2e costs between each node and sink cannot be simply calculated as a cumulative function along the paths. It should be estimated as a weighted average of the costs provided by the parents. The traffic share of each parent from the outgoing traffic rate of each service class, can be used as its weight in the weighted average calculations. The traffic share of a parent node j from the outgoing traffic rate of service class k in a sample node is shown by w , and can be obtained from equation 5.

= ∑ ∀ ∈ ( )
, ∀ ∈ 1,2, … , The average e2e cost between node and the sink according to service class k can then be obtained from equation 6 below: ( ) = ∑ ∀ ∈ ( ) , ∀ ∈ 1,2, … . , is the average e2e cost of sending a class k packet from node i to the sink through the link ( , ) and is obtained from equation 7.
Where is the cost of link ( , ) according to service class k; and ⊕ is the cost cumulation operator along the path, which may differ according to the used metric. For example the routing metric for EF class is delay which is cumulated additively along the path, so, for EF class (k=1) the ⊕ operator is simply replaced by "+" hence 1 = 1 ( ) + 1 ; for the AF class (k=2) the reliability metric is cumulated multiplicatively, so equation 7 becomes 2 = 1 − [1 − 2 ( )] * [1 − 2 ] Where cij2 is the error rate of link( , ). The link cost estimation formulas for delay and loss rate are also provided in equations 8 and 9.
Where r is the minimum received signal strength that can be detected by a node, and ( , ) is the Received Signal Strength Indicator over the link( , ) . RSSI is practically measured by the state of the art LoWPAN devices [29], and can also be calculated from the well-known signal propagation Equations like the log-normal shadowing model presented below [30].
Where ( ) is node i's transmit power in dBm, PL(l0) is the free space path loss of a reference distance l0, is the link length, and is a zero-mean Gaussian random variable to model the noise. β and σ parameters depend on the implementation environment.
Obtaining a meaningful total sum of cost-bandwidth products in the optimization problem of equation 1, requires s to have same dimensions, but the delay and reliability costs calculated above do not. So, we define the normalized cost of sending a class k packet over link ( , ) as follows.

′ =
is the global tolerable QoS bound on class packets. The normalized route costs are dimensionless and expected to be in [0, 1] range. If a route cost becomes greater than 1, it means that the corresponding parent, most probably do not satisfy the tolerable bounds, so it should gain less interest for packet forwarding. This can be achieved by introducing an exponential scale to the normalized costs. Since the BE packets are quality insensitive, the normalized cost of this class is always set to 1.

QoS Sensitive Packet Scheduler
The QoS sensitive packet scheduler has three important roles, discussed in following subsections.

Output Traffic Rate Adjustment
The scheduler determines the rate in which the packets should be served out of their queues. The scheduler's rate of a sample node , is obtained from the flow conservation constraints of equation 12.
Where ( ) is a scaling factor equal to the average queue length of each service class, and is used to compensate the rate drop in MAC layer due to medium access contention, and link layer retransmissions.

Output Packet Ordering
The second duty of scheduler is to determine the order in which the packets are served. We use a strict priority scheduler to serve the EF queue with highest priority, and the BE queue with the lowest. The EF packets are also served in an Earliest Deadline First (EDF) order, while AF and BE queues are First Came First Served (FCFS).

Ensuring Hard QoS Compliance
The last but not least important role of scheduler is to ensure hard QoS compliance for every packet served. This is equivalent to (a) eliminating the deadline expired EF packets or those that their deadline will most probably expire, and (b) duplicating the AF packets that their required delivery assurance is greater than those provided by the node's parents.
The above tasks are done by comparing per packet parameters with the global tolerable bounds. Assuming that an EF packet p, carry its initiation time( ( )), and 1 is the maximum tolerable bound for EF class (k = 1), the packet elimination condition can be defined as follows: Where ℎ ( ) is the packet scheduling time.
If packet p belongs to AF class and ( ) is the number of times it has been duplicated till the scheduling time-which is supposed to be carried by the packet the packet-duplication condition can also be defined as follows: In which 2 is the maximum tolerable packet loss ratio for AF class. If a node receives multiple copies of a single packet-known from its original source address before it is served, it drops all but the one that is already in its AF queue, to reduce the overhead of redundant packets.

Energy Balanced Optimal Rate Assignment (EBORA)
The EBORA algorithm aims to find a close enough answer to the globally optimum rate assignment. It converts the global optimization problem into a local, classical transportation problem with ∑ ∑ =1 ∀ ∈ ( ) as its objective function.
The classical transportation problem, determines optimum amounts of commodity shipped from origins to destinations in a way to minimize the total shipping cost. Each origin contains a specific amount of supply, and each destination has a specific demand. It is assumed that the system is balanced, which means that total supply equals total demand. There is a unit cost associated with shipping a unit amount of commodity from each origin to each destination [31]. In a sample node , assume the origins as its multiple service queues and the destinations as its parents. The shipping costs are the normalized average e2e route costs ( ′ ), and s are the optimal commodities that must be determined. The supplied amount from each origin (queue k), is equal to its output traffic rate 0 ( ), determined by equation 12. Each destination or parent node must have a demand that is determined from power equalization constraints of equation 3, as will be discussed in next subsection.

Converting Power Balancedness Constraints into traffic Rate Admittance
The use of energy dissipation rate for load balancing, provides a proactive control over energy fluctuations instead of simply reacting to the energy level itself. The relation between the energy dissipation rate (dissipated power) and the traffic rates of a node is shown in equation 15.
Where , are the energies required to transmit and receive a packet measured in ⁄ .
is the dissipated power during idle time and ( ) is the generated power of scavenger nodes. The dissipated power may temporarily become negative or zero in power scavengers, when the energy consumption rate is less than or equal to its generation rate.
Equation 3 constraints require the average dissipated power of each node to be equal to its siblings, so the desired dissipated power of a sample node can be calculated from equation 16. To achieve the desired dissipated power, the admitted traffic rate of the same node is obtained from equation 17, using equations 15 and 12 as well.
It is clear that both the desired power and admitted traffic rate, must be non-negative; Being zero means that the node is temporarily, not interested in accepting traffic from others because there are other neighbouring nodes that consume less power and hence can carry more traffic. So the actual parameters can be obtained from a max () function to ensure a non-negative value.
The admitted traffic rate is also divided to the number of node's children since it must be announced to them for compliance. The parents' admitted rates are used as their traffic demand in the rate assignment problem. Strict compliance to the admitted rates though, may result bandwidth underutilization especially at the network start-up phase. So, a node is allowed to send more traffic to its parents but its outgoing traffic must be divided between them, according to their admitted rates. This explicitly ensures the balance between the total amounts of supply and demand as required by the transportation problem.

The optimal rate assigner
To find the optimal virtual traffic rate from each service queue to each parent in sample node , the optimal rate assigner must solve the following transportation problem.
; ∑ ∀ ∈ ( ) = ( ) + ( ) , = 1,2, … , (19) 0 ≤ ≤ , ∀ ∈ ( ), = 1,2, … , Where ( ) = 0 ( ) is a scaling factor that ensures the balance between traffic supply and demand. The above transportation problem can be easily solved by mathematical methods, to determine optimal values of s. The s are then used to determine optimal traffic share of each parent from the outgoing traffic rate of each service queue using equation 5. The weighted round robin packet forwarder distributes the packets according to the shares in the last stage of EBORA.

Complexity Analysis of EBORA
The average case complexity of simplex method for solving a linear program is claimed to be ( 3.5 ) [31], where = * | ( )| is the number of problem variables. The average number of parents per each node has a direct relationship to the routing graph's order (ʌ), so the average case complexity of EBORA is (( Λ) 3.5 ) and its worst case complexity becomes (( N) 3.5 ). This shows that the algorithm is more complex than our previous heuristic load distribution method, but the whole mechanism can still be solved in a polynomial time. It should be noticed that it is not necessary to solve the optimization problem at every packet departure, but it may be solved on predefined periods, to reduce the computational overhead. The parameter refreshment periods, can also be adaptively changed according to the rate of topological changes.

Simulation Results
To verify the efficiency of the proposed algorithm extensive simulations are conducted over various network topologies. The implementation environment is a 500 * 500 2 square area containing 40 to 80, IEEE802.15.4 based sensor nodes with 100 meters communication range. The node population is selected in a way to produce a connected set of nodes and prevent islands to be formed. The nodes are assumed to produce three traffic types: a) Periodic traffic pattern for normal monitoring applications is produced by every node, sending a BE packet every 15 seconds. b) At every second, a number of randomly chosen nodes, produce an EF or AF packet to announce emergency situations or send confidential informations. The number of EF and AF traffic packets produced per second, changes from 5 to 20, to study the effect of traffic load on performance. The links are assumed symmetric and all packets are of equal size. Every single result is obtained from at least 20 simulation runs over different topologies. The PHY and MAC layer parameters are adopted from off the shelf technologies like XBee-Pro module [29]. A summary of simulation parameters is shown in Table 2.
The performance results of M 2 RPL + EBORA is compared with 4 other algorithms including (a) M 2 RPL+HOLD [26]; (b) SPEED-RR [29]; (c) EEAOMDV [22]; and (d) E2LB [25] algorithms. In the first scenario we examine network lifetime as the time until the first node dies, against increasing the EF or AF traffic volume, when the network contains 60 nodes. The maximum tolerable delay for EF packets 1 or simply is 1 sec, and maximum tolerable packet loss rate for AF packets 2 or is 10%. Figure 2 shows the network lifetime while the number of generated EF packets is increased from 5 to 20 packets/sec, and the number of AF and BE packet generations is kept constant.
As expected, figure 2 shows that the network lifetime decreases by increasing the traffic volume. It also shows that our proposed algorithm (M2RPL+EBORA) lead to better lifetime compared to others due to better traffic load balance on network and using higher throughput. Because of poor delay minimization the performance of E2LB decrease more than other algorithms. Using multipath routing protocols make the performance loss less than expected.  Figure 3 shows the same scenario with increasing the AF traffic. The figure shows a more severe decrease in lifetime, due to the redundant traffic, produced for assured delivery of packets. The performance of EEAOMDV and E2LB is somehow similar. The recommended algorithm shows a better and also more constant performance.
The lifetime results of scenarios 1 and 2, show an overall 10 to 15% improvement obtained from the proposed protocol over the average results of other algorithms. The average packet delivery ratios of all services over various traffic and topology conditions, are compared in Figure 5. The figure shows 100% delivery ratio for AF class and better delivery ratios for other services, using the M 2 RPL+EBORA protocol. As we expected EEAOMDV has the lowest AF packet delivery ratio because of exclusion of QoS guarantee.  Figure 6 shows the mean e2e delay of EF packets in different network sizes. The figure shows lower e2e delays provided by the proposed protocol compared to others, because of minimum cost load distribution mechanism. The delay is generally improved by an average 12%, while using the proposed mechanisms.
To provide an insight into the load distribution capability of the algorithms, the remaining energy variance between the first hop nodes upon lifetime termination, is compared in Figure 7. The mean variance is varied between 35 joules in M 2 RPL+EBORA, to 28 joules in E2LB. This is equivalent to 26% improvement of energy variance using the proposed protocol, which is obviously shows a better load distribution achieved from the proposed method.
In the last scenario we examine the performance results by changing the QoS constraints into more restricted ones, while the network size is kept constant (60 nodes). Figure 8 shows the packet drop ratio of EF packets due to deadline expiration. The number of EF, and AF flows are 15, and 5 respectively, and is changed from 1 sec to 250 (ms). The figure shows lower drop ratio obtained from our proposed mechanism, compared to others. The results are in agreement with figure 6 showing lower e2e delays when using the proposed protocol.
Finally figure 9 shows the packet collision rates, when increasing the EF and AF traffic loads. The results show that EEAOMDV has the worst collision rate. Our proposed algorithm has an average collision rate due to their improved load distribution, which increases the inter-path interference. The multipath algorithms have more collision rate versus disjoint paths. But as we expected is a trade-off to gain a better load distribution. Using a collision avoidance mechanism in MAC layer can pass over this challenge.

Conclusion
RPL is the standard protocol recommended by IETF for IPv6 based LLNs. The current standard of RPL supports single path routing. In this paper, multi-class multipath QoS aware routing mechanism extension of RPL is proposed termed M 2 RPL with an energy balanced optimization based traffic distribution algorithm called EBORA. The EBORA algorithm works in conjunction with a QoS sensitive packet scheduler to minimize the total sum of cost bandwidth products in each node while equalizing its energy dissipation rate. The power dissipation equalization is done with the aim of maximizing network lifetime. The performance of the algorithm was evaluated using three service classes that were defined in agreement to diffserv notion, including Expedited Forwarding, Assured Forwarding, and Best Effort Forwarding. The performance results were also compared to some of the well-known algorithms through extensive simulations. The simulation results show an overall 10 to15% increase in lifetime, and 12% decrease in mean e2e delay compared to the average results of other algorithms. The M 2 RPL+EBORA algorithm performs well in delivery ratio of EF packets but produces relatively high amount of redundant packets in delivery of AF ones. The simulation results show that the proposed algorithm achieves its goals of lifetime improvement and QoS provision, with slight increase in computational complexity, redundant packet production, and packet collisions. The computational complexity is of polynomial order and the amount of redundant packets and collisions can be dramatically decreased by utilizing the mentioned improvements. The current work provides a well-established frame work for an energy balanced, QoS aware multipath routing protocol in low power wireless networks, and can be more optimized by using cross layer QoS provisioning methods, especially in terms of a joint routing and MAC protocol.   Collision rate vs tra c