1 Introduction

Mobile ad hoc networks (MANETs) [24] are autonomous distributed networks. They consist of mobile terminals (hereinafter referred to as nodes) with routing functions. In addition, they do not rely on fixed infrastructures such as base stations. So far, we have proposed RSR (Route Split Routing) [12] to improve the performance of large scale networks. With RSR, we introduced SMNs (Subroute Management Nodes), which segment whole routes to repair breaks within limited areas. Along these lines, SMNs have had important roles for RSR. RSR is effective [12] in allowing us to overcome the degradation of throughput for large scale networks. However, at the same time, this introduces new problems. If an SMN runs out of its battery, other SMNs cannot immediately detect the battery exhaustion. In the paper [21], we proposed initial SMN configuration considering the residual battery level for Micro Loop Routing (MLR) [20, 22]. Although this extension has some benefits, nodes consume energy at different speeds depending on their usage. In this paper, we propose a sustainable route-split routing aimed at maintaining higher throughput when nodes run out of their batteries for improvement of assurance which is resilience of the network performance to various network requirements/environments and their diverse amount of changes. Our proposed method has an SMN configuration scheme and a dynamic re-configuration method where the SMN role changes to adjacent nodes. To evaluate the effectiveness of our method for assurance, we tested our proposed method in a simulator and conducted simulation experiments.

Our paper is as follows: In Sect. 2, we introduce related works. We mention about assurance networks, routing protocols considering energy consumption for MANETs, and battery level of nodes in MANETs. In Sect. 3, we introduce original RSR, and in Sect. 3.4, we describe problems of RSR. In Sect. 4, we illustrate our proposed method which is based on RSR. In Sect. 5 we show results of simulations and discuss applicable scope of our proposed method. We conclude the paper in Sect. 6.

2 Related works

2.1 Assurance networks

Kakuda et al. explain assurance networks in [8, 9] as follows: Assurance networks are defined as those that provide timely services even when (1) the size of the networks changes (scalability issue), (2) the requirements and environments of the networks are dynamically changed (dynamicity issue), (3) cyber-attacks occur (security issue) and (4) there are faults that may cause failures (fault tolerance issue).

Kakuda et al. have published a technical report [10] on their research project titled “Fundamental Concept of Assurance Networks and Their Case Studies,” which is sponsored by the National Institute of Information and Communications Technology (NICT) under “Early-concept Grants for Exploratory Research on New-generation Network.”

  • Assurance is defined as resilience to temporal and spatial change of network complexity issues which include the above issues.

  • The metric of assurance is defined as stability and sustainability of performance against change of network environments.

  • Networks with high assurance are regarded as those which maintain high performance even when temporal and spatial change of network environments occurs.

In this paper, we discuss two issues in the assurance. The first issue is faults, in other words, dynamical changes of network environments (which corresponds to the above (4)), and the second issue is diverse network environments (which corresponds to the above (1)). We address the fault tolerance issue in which node battery exhaustion can be regarded as faults, that is, one of the dynamic changes of network environments, and evaluate our proposed method in Sect. 5.2. We also evaluate our proposed method from the viewpoint of application to diverse network environments, that is, node density and node mobility, in Sects. 5.3 and 5.4. In these sections, we have compared throughput over time of RSR and our proposed method to evaluate the assurance.

For the aforementioned issues of assurance, some proposals exist. In [13], Oommen et al. proposed fault-tolerant routing algorithm, named Weak-Estimation-Based Fault Tolerant Routing Algorithm (WEFTR) against misbehaving node in MANET by using efficient route estimation scheme. They evaluated their scheme in varying node densities. Although their scheme assumes misbehaving nodes as a failure of nodes, our scheme assumes energy exhaustion as a failure of nodes. While WEFTR method counters the node failure by using multipath routing, our method counters that by using RSR with SMN configuration and reassignment. Additionally, there are some related works exist [7, 26].

2.2 Routing protocols considering energy consumption

When a node runs out of its battery, the network could be partitioned, and as a result nodes in a partitioned network cannot communicate with nodes in the other partitioned networks. Up until now, many routing protocols considering energy consumption have been proposed to maintain the connectivity as long as possible for MANETs [2, 5]. These routing protocols fall into three categories from the viewpoint of the objectives. Routing protocols in the first category are aimed at minimizing energy consumption per packet. Power-aware routing [17] and MPR (Minimum Power Routing) [19] are in this category. They calculate the total transmission power of each route, and select the route with the minimum cost value. The second category includes MBCR (Minimum Battery Cost Routing) [23], MMBCR (Min-Max Battery Cost Routing) [23], LEAR-AODV (Local Energy-Aware Routing based on AODV), PAR-AODV (Power-Aware Routing based on AODV), LPR-AODV (Lifetime Prediction Routing based on AODV) [16], EAPR (Energy-Aware Probability Routing) [25], TDOR (Time Delay On-Demand Routing) [4] and MDR (Minimum Drain Rate) [11]. To maintain the connectivity as long as possible, these have the aim of evenly distributing energy consumption. Routing protocols in the third category have the aim of maximizing the lifetime of each node in the network using the battery evenly. CMMBCR (Conditional Max-Min Battery Capacity Routing) [23] is one of the routing protocols in the third category. CMMBCR switches the route selection decision depending on the situation.

These routing protocols are aimed at maximizing network lifetime. They do not consider the performance in the network, however, when some nodes run out of their batteries. To construct assurance networks, it is necessary to consider the network performance when node faults occur.

2.3 Battery levels of nodes

MANETs consist of nodes used for various purposes in a real situation. In general, cell phones, PDAs, or laptops are popular terminals for MANETs. These terminals are driven by batteries, which are discharged with their terminals’ usage. In addition, the energy consumption fluctuates depending on their usage. In [3], the authors performed a detailed analysis of energy consumption of a smartphone, based on measurements of the physical device. They showed how the different components of the device contribute to overall power consumption. In addition, they proposed a model of the energy consumption for different usage scenarios such as the idle state, the telephoning state, and Wi-Fi communicating state. Also, they showed how these translate into overall energy consumption and battery life under a number of usage patterns. In [28], the authors describe an automated power model construction technique. It constructs power models without using power meters. They showed that the power model built with it is accurate to within 4.1 % of measured values. They also described a power estimation tool. It informs smartphone developers and users of the power consumption. The tool has been publicly released on the Google Android Application Market. In [18], the authors measured the power usage of some PDAs and some network interfaces, and showed that network interfaces consume a significant portion of the total power on a PDA. However, they explained that the number of packets sent and received have little effect on its power consumption because the energy consumed simply by keeping the network interface on during the transfer contributes the most to the final energy cost. According to [6], idle time completely dominates system energy consumption when idle time energy consumption is considered. Without considering idle time, the energy consumption of each routing protocols is different. When considering idle time, however, these differences vanish. The authors also demonstrated that the number of packets sent and received have little effect on energy consumption.

3 Route-split routing

RSR [12] is an on-demand routing protocol based on AODV [14]. RSR splits a route by configuring SMNs and maintains it between each pair of adjacent SMNs. Figure 1 shows an example of established routes on RSR. In Fig. 1, nodes A and J are the source node and the destination node respectively. Nodes D and G are SMNs.

Fig. 1
figure 1

An example of established routes on RSR

For convenience, the nearest SMN in the direction of the destination node for a node is defined as the next SMN, and the nearest SMN in the direction of the source node for a node is defined as the previous SMN. In Fig. 1, node G is the next SMN for node D, and node A is the previous SMN for node D.

3.1 Route establishment

When a communication request occurs on a node (source node), the source node checks its own routing table. When there is no valid route to the destination node, it will start a procedure for route discovery. At first, it broadcasts a Route Request (RREQ) to adjacent nodes. An adjacent node, which receives the RREQ, checks if its own routing table contains a route to the source node of the RREQ. If it is not contained, the node adds a route entry to the source node into its own routing table. After that, the node re-broadcasts the RREQ.

When the RREQ reaches the destination node, the destination node sends a Route Reply (RREP) to the source node as a reply. The RREP is transferred by unicasting to the source node along the path, which is discovered by the RREQs. An intermediate node, which receives the RREP, adds the destination node’s route entry into its own routing table.

3.2 Configuring SMNs

SMNs are configured when a RREP packet is transferred. A node which receives a RREP checks the hop count of the RREP. When the node finds that the hop count is equal to multiples of the pre-determined interval, the node becomes an SMN. When the node becomes an SMN, it sends a Route Reply-Acknowledgment (RREP-ACK) to the next SMN by unicasting along the route, which is created by the RREP.

3.3 Route maintenance between SMNs

We describe route maintenance between a pair of adjacent SMNs in Fig. 1. When the link is broken between nodes E and F, node E detects it and sends a Route Error (RERR) to the previous SMN, D, to report the link break. SMN D, which receives the RERR, sends a Repair Request (RepairREQ) to the next SMN, G, using flooding to repair the route between SMNs D and G. If SMN G receives the RepairREQ, it sends a Repair Reply (RepairREP) to SMN D by unicasting. When SMN D receives the RepairREP, the route maintenance is finished.

In this procedure, node D interrupts transfers of data packets to the destination and buffers them. When the route maintenance is finished, it proceeds with transfers of data packets.

3.4 Problem description

With RSR, when route breaks occur, the route maintenance will be performed between adjacent SMNs. However, if an SMN exhausts its battery, this local route maintenance will fail. When an SMN cannot communicate due to its battery exhaustion, it will take some time for adjacent SMNs to be notified. This phenomenon causes some delay, and degrades throughput. The reasons for node battery exhaustion are classified as follows:

  1. (1)

    A node has less battery power than the other nodes in the initial state.

  2. (2)

    A node consumes much more battery power than the other nodes.

To overcome these two conditions, we have to introduce new countermeasures. For (1), we have to configure the SMN to select the node with more battery power. For (2), we have to transfer the SMN’s role to other nodes.

4 Proposed method

As we mentioned in Sect. 1, RSR is effective when MANET has a large number of nodes. However, it also has drawbacks, one of them being that the throughput degrades when the SMNs have run out of their batteries. To avoid this, we propose a new SMN configuration scheme for RSR and a dynamic re-configuration scheme for SMNs. In our proposed method, SMNs are configured with the battery level of each node in mind. The role of SMN is then chosen after consulting with the other nodes about battery level.

In this section, we describe our method. For convenience of description, the nearest SMN in the direction of the destination node for a node is defined as the next SMN, and the nearest SMN in the direction of the source node for a node is defined as the previous SMN. In addition, the nearest adjacent node on the route in the direction of the destination is defined as the next hop node, and the nearest adjacent node on the route in the direction of the source node is defined as the previous hop node.

4.1 SMN configuration based on initial battery power of nodes

For initial configurations of SMNs, when a node that receives a RREP packet and is in position to become an SMN (hereafter referred to as an SMN candidate), it gauges its own battery level. If the SMN candidate finds its battery level to be low, it will avoid becoming an SMN. Instead, it passes the role to another node on the route. If the previous hop node which forwarded the RREP has a high enough battery level, it passes the role to the previous hop node. If not, it tries to pass the role to the next hop node. This initial SMN configuration method is an extension of [21].

4.2 SMN reassignment based on energy consumption of node

We propose a new method to avoid exhaustion of SMN batteries by reassigning the SMN role to one of the adjacent nodes. To realize our proposed method, we introduced the following three new functions:

  • Request of SMN Reassignment

  • Agreement of SMN Reassignment

  • Denial of SMN Reassignment

Request of SMN Reassignment is a function which is invoked by an SMN whose battery is being exhausted. Agreement and Denial of SMN reassignments are functions which are invoked by nodes adjacent to the SMN. These functions are the acknowledgements of the Request of SMN Reassignment.

Figure 2 illustrates a sample sequence diagram of our proposed method. In Fig. 2, nodes A, F, and K are SMNs and nodes B, C, E, G, H, I, and J are normal nodes respectively. Additionally, the battery of node F is being exhausted.

Fig. 2
figure 2

Sequence of SMN reassignment (when node G has high enough battery level)

4.2.1 Request of SMN reassignment

An SMN tries to entrust its role to an adjacent node when the battery level becomes low. First, the SMN compares the hop length to the previous SMN with the hop length to the next SMN. When the hop length to the previous SMN is longer, the SMN sends a Reassignment SMN Request packet to the previous hop node for a request. Otherwise, the SMN sends it to the next hop node. In Fig. 2, SMN F compares the hop length to the previous SMN, A, with the hop length to the next SMN, K, by using its routing table. As a result, SMN F judges that the hop length to the next SMN, K, is longer. It sends a Reassignment SMN Request packet to the next hop node, G.

4.2.2 Agreement of SMN reassignment

A node which receives a Reassignment SMN Request packet checks its own residual battery level. When the level is sufficient, the node sends Agreement Reassignment packets to both the previous SMN and the next SMN in order to inform them of the change of SMN. In Fig. 2, node G checks its own battery level when it receives the Reassignment SMN Request packet from node F. If the level is sufficient, node G sends Agreement Reassignment packets to both the previous SMN, A, and the next SMN, K.

4.2.3 Denial of SMN reassignment

When the battery level is insufficient, the node sends a Disagreement Reassignment packet to the originator of the Reassignment SMN Request packet to decline the request. When the node receives a Disagreement Reassignment packet, it sends another Reassignment SMN Request packet to the other adjacent node on the route. When the SMN receives Disagreement Reassignment packets from all adjacent nodes, the SMN gives up reassignment of SMN to other nodes.

Figure 3 shows the sequence where node G has insufficient battery level. The other parameters are the same as Fig. 2. When node G receives a Reassignment SMN Request packet, it declines the request of SMN reassignment. Thus, node G sends a Disagreement Reassignment packet to node F. After that, node F sends another Reassignment SMN Request packet to node E. In Fig. 3, node E becomes the new SMN because it has a sufficient battery level. If the battery level of node E were insufficient, node F would receive another Disagreement Reassignment packet from E. In this case, SMN F would stop entrusting the SMN role to other nodes.

Fig. 3
figure 3

Sequence of SMN reassignment (when node G DOESN’T have high enough battery level)

5 Simulation experiments

To evaluate the effectiveness of our proposed method to provide assurance against variations of dynamical battery level changes in various environments, we conducted simulation experiments. We compared the throughput of our proposed method to that of RSR over time.

5.1 Simulation environment

Table 1 shows the parameters for the simulation experiments. In the experiments, the number of the source and destination nodes does not change. The pause time of a node in the random waypoint model is 0. For the MAC layer protocol, we employ IEEE802.11b without RTS/CTS. The number of nodes and field size are fixed and the SMN interval is three. The threshold of SMN battery levels is 6.0 [mAh].

Table 1 Parameters for the simulations

5.2 Resilience to diverse amounts of node battery exhaustion

5.2.1 Simulation method

In each simulation, the source and destination nodes are on opposing sides of the simulation field and do not move. The simulations are performed as follows: from 1000 [s] after the start of the simulation, the first source node sends 10 data packets to its destination node. After that, the other source nodes start sending data packets every second in sequence. That is, each source node sends its data every 0.10 [s]. In order to evaluate assurance of our proposed method, we used low battery nodes and high battery nodes as shown in Table 2. In every case in Table 2 a different impact on the network is seen. Case 1 indicates the least change and case 6 indicates the most change to the network. In all simulations, the source and destination nodes have high battery levels. The nodes with low batteries run out of power and cease to communicate after about 1130 [s] from the start of the simulation.

Table 2 The number of high and low battery nodes

5.2.2 Results

Figure 4 shows the throughput of our proposed method and RSR of cases 1 through 6 over time. The vertical axes are throughput and the horizontal axes are simulation time. At around 1130 [s] from the start of the simulation, low battery nodes run out of their batteries. In Fig. 4(a), case 1, the throughput of RSR degrades dramatically at around 1130 [s]. The throughput is 36.9 % of the maximum throughput at the lowest point. On the other hand, our proposed method maintains the throughput almost without degradation. In Figs. 4(b), and 4(c), in cases 2 and 3, the throughput of RSR degrades dramatically and it can hardly communicate. The throughput are, respectively, 13.4 % and 6.5 % of the maximum throughput at the lowest point. The throughput of our proposed method also degrades. The throughput is much higher. They are, respectively, 62.9 % and 50.0 % of the maximum throughput at its lowest. In Fig. 4(d), case 4, RSR cannot communicate at all at around 1130 [s]. Our proposed method can hardly communicate, and the throughput is 14.1 % of the maximum throughput at its lowest. In this case, our proposed method cannot perform effectively because too many nodes run out of their batteries. In Figs. 4(e) and 4(f), cases 5 and 6, the throughput of RSR and our proposed method are about the same. In these cases, about 71.4 % or more nodes have low batteries and exhaust their batteries at the same time, showing our proposed method probably cannot maintain high throughput.

Fig. 4
figure 4

Throughput

After the battery exhaustion, the throughput of our proposed method and RSR recover except in case 6. However, the greater the number of low battery nodes, the lower the throughput after the exhaustion. Exhaustion of many node batteries causes decreases in node density and the number of neighbor nodes of a node. Hence, when the number of low battery nodes is large, the number of routes that can be constructed between a source and a destination node is smaller.

Figure 5 shows the number of dead SMNs against the percentage of low battery nodes. The vertical axis indicates the number of SMNs which run out of their batteries, and the horizontal axis shows the percentage of low battery nodes. The error bars show the ranges of error at 95 % confidence intervals. Table 3 shows the number of SMNs just before low battery nodes batteries’ exhaustion (in particular, 1128 [s]). The numbers do not include the source nodes and the destination nodes which have high enough batteries in all simulations. In Fig. 5, the points are the results of cases 1 through 6 from left to right in order. The number of dead SMNs of our proposed method is smaller than that of RSR in all cases. This shows our proposed method avoids SMN battery exhaustion. In case 1, no SMNs run out of their batteries in our proposed method. Hence, the proposed method maintains throughput almost without degradation as shown in Fig. 4(a). In case 2, the number of dead SMNs is 0.1. However, it also shows the throughput of our proposed method degrades. This is because battery exhaustion of many normal nodes besides SMNs also causes throughput degradation. However, the degradation is much smaller than that caused by SMN battery exhaustion. The number of dead SMNs in RSR varies linearly with the percentage of low battery nodes. The number of dead SMNs in cases 5 and 6 is about the same because it is going to saturate as shown in Table 3. In case 6, most SMNs run out of their batteries in RSR. The number of dead SMNs in our proposed method also varies linearly. However, the slope changes dramatically between cases 3 and 4. The slope of the respective lines in cases 1, 2 and 3 is very gradual. The slope of the respective lines in cases 4, 5 and 6 is a little steeper than that of RSR. Our proposed method has the line shifted about 40 % to the right. Consequently, our proposed method has higher assurance against a lot of node battery exhaustion occurring at almost the same time than RSR.

Fig. 5
figure 5

The number of dead SMNs against the percentage of low battery nodes

Table 3 The number of SMNs just before low battery nodes batteries’ exhaustion (excluding the source and the destination nodes)

5.3 Resilience in diverse node density environments

We found our proposed method has more powerful resilience of the network performance to diverse amounts of dynamic battery level changes in Sect. 5.2. In this section, to evaluate assurance of our proposed method, especially against diverse node density environments, we conducted further experiments.

5.3.1 Simulation environment and method

We set the number of low battery nodes to 300 and the number of high battery nodes to 400, which is equal to case 3 in Sect. 5.2. We fixed the number of nodes in 700 and changed the field size as shown in Table 4 to realize diverse node densities while maintaining the distance between the source and the destination nodes. Case I is the lowest node density environment, and case VI is the highest node density environment. Also, case II is the same environment as case 3 in Sect. 5.2. The other parameters of the simulations are the same as shown in Table 1. The simulation method is the same as those in Sect. 5.2.1.

Table 4 Field size and the corresponding average number of neighbor nodes for evaluation in diverse node density environments

5.3.2 Results

Figure 6 shows the throughput over time of our proposed method and RSR of cases I through VI. The vertical axes are throughput and the horizontal axes are simulation time. At around 1130 [s] from the start of the simulation, low battery nodes run out of their batteries. In all cases, our proposed method maintains higher throughput than RSR at around 1130 [s]. Our proposed method is effective in all these cases. In Fig. 6(a), case I, the throughput is lower than those in other cases over the simulation time. The average number of neighbor nodes for a node is lower, as shown in Table 4, thereby the number of routes which can be constructed between a source and a destination node is smaller. The throughput both of RSR and our proposed method is thus lower. At about 1130 [s], the lowest throughput of RSR and our proposed method are 11.0 % and 39.0 % of the maximum throughput. In Figs. 6(b) through 6(f), cases II through VI, RSR can hardly communicate around 1130 [s]. On the other hand, our proposed method maintains 47.0∼62.0 % of the maximum throughput even at the worst time. In addition, in cases IV, V, and VI, the throughput of our proposed method starts to recover earlier than that of RSR.

Fig. 6
figure 6

Throughput (in diverse node density environments)

Figure 7 shows the number of dead SMNs against the average number of neighbor nodes. The vertical axis indicates the number of dead nodes, and the horizontal axis shows the average number of neighbor nodes. The error bars show the ranges of error at 95 % confidence intervals. In Fig. 7, the points are the results of cases I through VI from left to right in order. The rightmost points are the results in the most high node density environment, case VI. Since the number of dead SMNs of our proposed method is smaller than that of RSR in all cases, our proposed method avoids SMN battery exhaustion in every case. Moreover, the number of dead SMNs does not vary with node densities. Consequently, our proposed method has the stronger resilience even in various node density environments.

Fig. 7
figure 7

The number of dead SMNs against the average number of neighbor nodes

5.4 Resilience in diverse node mobility environments

In this section, to evaluate assurance of our proposed method, especially against diverse node mobility environments, we conducted further experiments.

5.4.1 Simulation environment and method

We set the number of low battery nodes to 300 and the number of high battery nodes to 400, which is equal to case 3 in Sect. 5.2. We set the maximum node speed as shown in Table 5. Case A is the lowest node mobility environment, and case E is the highest node mobility environment. Also, case C is the same environment as case 3 in Sect. 5.2. The other parameters of the simulations are the same as shown in Table 1. The simulation method is the same as those in Sect. 5.2.1.

Table 5 The maximum node speed for evaluation in diverse node mobility environments

5.4.2 Results

Figure 8 shows the throughput of our proposed method and RSR of cases A through E over time. The vertical axes are throughput and the horizontal axes are simulation time. At around 1130 [s] from the start of the simulation, low battery nodes run out of their batteries. In all cases, our proposed method maintains higher throughput than RSR at around 1130 [s]. However, in Fig. 8(e), case E, throughput of our proposed method cannot recover to the same level as that of RSR around 1140 [s]. In this case, the throughput of both RSR and our proposed method degrade gradually from about 1010 [s] until 1130 [s]. This is because the numbers of hops between the source nodes and the destination nodes get longer with time through repeated local route repair between SMNs. When the number of hops is longer, the local route maintenance between each pair of adjacent SMNs is invoked frequently because of high possibility of route breaks. After the battery exhaustion around 1130 [s], because RSR reconstructs the routes between the source nodes and the destination nodes, the throughput of RSR recovers to the same level as that at 1010 [s]. Our proposed method, however, does not reconstruct the routes after the battery exhaustion since the SMNs are alive. Thereby, the number of hops is kept long, and the throughput of our proposed method cannot recover to the same level as that of at 1010 [s]. Consequently, in much higher mobility environments, the throughput of our proposed method cannot recover to the same level to that of RSR. However, our proposed method can maintain higher throughput when node battery exhaustion occurs even in much higher mobility environments. Moreover, the throughput of our proposed method can recover to the same to level that of RSR in not too high mobility environments.

Fig. 8
figure 8

Throughput (in diverse node mobility environments)

6 Conclusions

In this paper, we have focused on MANETs that consist of nodes having various levels of battery power and power consumption, and introduced the problems of original RSR in such MANETs. We have proposed a sustainable route-split routing to improve assurance which is resilience of the network performance to diverse network requirements/environments and their variations. Our proposed method has the initial SMN configuration scheme and the dynamic re-configuration method where the SMN role changes to adjacent nodes. We have conducted simulations and showed that our proposed method can maintain higher throughput when the diverse number of nodes run out of their batteries simultaneously. Moreover, our proposed method is effective in diverse node density environments and in diverse node mobility environments.