1 Introduction

Nowadays, the use of wireless networks and mobile devices has become more and more popular. Mobile Ad Hoc NETwork (MANET) [1, 2] is a special type of wireless network in which a collection of mobile devices may form a temporary network without the aid of any established infrastructure or centralized administration. Routing is a key issue in MANET and it has been a hot topic of extensive research. Many existing studies on routing in MANET just assume that nodes are either obedient (i.e., will follow the protocol and cooperate to forward packets for one another) or malicious (i.e., will attack other nodes and even destroy the network). However, this assumption does not hold in many scenarios for real-life MANETs.

In MANET, each node may act not only as a relay carrying and forwarding data packets for other nodes, but also as a source trying to deliver out its locally generated data packets. Thus, a node may become more willing to forward its own packet rather than that of others when it encounters some node. This kind of selfish behaviors may become much more significant when the nodes are operating under both QoS requirements and energy consumption constraints. Selfishness has been well-studied in sociology and economics, and has recently been considered in design of computer networks [3]. This node selfishness in relay cooperation will certainly influence the overall performance of routing in MANETs.

One of the most important objectives for MANET routing optimization is to maximize energy efficiency, since nodes in MANET depend on limited energy resources. In a MANET with nodes’ selfishness, nodes intend to keep as much energy as they can during routing. This selfishness may lead to a low performance of routing in MANET. Moreover, to some nodes that are willing to forward data packets for others, their energy may be depleted within a short period of time. The goal of energy-aware routing for MANET is to maximize the network lifetime, which is defined as the time from initial status until first node in MANET runs out of energy [4]. Therefore, this raises the problem of how to achieve energy-aware load balancing in MANETs without losing the network performance, under the restriction of nodes’ selfishness. In order to solve this problem, we should think about a mechanism to encourage more cooperation among the nodes and extend the network life as long as we could for MANETs.

One way to solve this nodes’ selfishness problem is to give nodes some incentive for packet forwarding. By getting reimbursement for their cost and some bonus, nodes will be willing to forward packets in routing. However, it’s quite difficult to fix a suitable incentive mechanism for MANETs. We are not able to configure parameters for such an incentive mechanism unless we can realize the underlying and intrinsic patterns in a MANET with nodes’ selfishness. As a result, we argue that a suitable tool for modeling the routing behaviors in MANETs with nodes’ selfishness is game theory [5]. We can simulate the cooperation relationship among nodes with selfishness in a MANET by using game theory, which will help us discovering some interesting truths.

In this work, we introduce an incentive-based mechanism to support more energy-aware routing in MANETs under the constraint of nodes’ selfishness. The major contributions of this paper are summarized as follows: (1) an incentive mechanism to encourage forwarding cooperation among nodes in MANETs; (2) game theoretical formulation and algorithms for modeling and analyzing the problem of energy-aware routing in MANETs. The remaining of the paper is organized as follows. Section 2 gives an overview of the related works. In Section 3, we first illustrate the system model and some basic assumptions for this work. In Section 4, we propose an incentive model for energy-aware routing in MANET. We present the game theoretic formulation for MANET with nodes’ selfishness in Section 5. Game theory is used to model and analyze the behaviors of the nodes in a MANET. We also conduct a simulation experiment and analyze the simulation results in detail in Section 6. Section 7 concludes the paper with an outlook to future research directions.

2 Related works

In the last ten years, there has been much research activity in MANET. Routing in MANET is a well-studied topic. To accommodate the dynamic topology of MANETs, an abundance of routing protocols have been proposed, such as OLSR [6], AODV [7], DSR [8], LAR [9], EASE [10, 11], ODMRP [12], etc. However, some routing protocols like AODV and OLSR do not work properly in DTN scenario. Therefore, a number of protocols and algorithms have also been proposed to solve the problem. For example, a few routing protocols assume that future movement and connections are completely known in DTN (that is, the network topology is known ahead of time) [13, 14]. In these approaches, an end-to-end path is determined before messages are actually transmitted. Some routing protocols or algorithms are designed for the network behavior that is random and not known [15, 16]. These solutions depend on decisions regarding where and when to forward messages.

One of the most important objectives of MANET routing protocol is to maximize energy efficiency, since nodes in MANET depend on limited energy resources. Therefore, there have been a plenty of research efforts in energy-aware routing for MANETs. Jung et al. in [17] try to apply new energy efficiency metrics to MANET routing protocol. They claim a new energy efficient routing protocol that uses adaptive load balancing technique. However, they haven’t revealed enough detail about how to achieve energy load balancing in MANET. Feeney in [18] presents a model for evaluating the energy consumption behavior of a MANET. The model was mainly used to examine the energy consumption of two well-known MANET routing protocols. Khouzani et al. in [19] investigate the use of epidemic routing in energy constrained DTN. They prove that dynamic optimal strategies follow some simple threshold-based rules. The basic routing protocol in our work is also an extension of epidemic routing in DTN.

Some researchers have addressed the problem of routing in MANETs with selfish nodes. For example, Manam et al. in [20] propose an analytical model to study the performance of two routing protocols under heterogeneous DTN setting that consists of selfinish nodes with different transmission ranges. Wang and Singhal in [21] present a routing protocol for MANETs with selfish nodes. They also propose to use an incentive mechanism to encourage nodes’ cooperation. However, their method mainly focuses on the truthfulness. In this paper, we also take a similar incentive mechanism to encourage cooperation among selfish nodes.

Moreover, there are also some research efforts about using game theory in MANETs or DTNs. For example, Srinivasan et al. in [22] apply game theory to propose a distributed and scalable acceptance algorithm based on which nodes decide whether or not to accept a relay request. They illustrate that their algorithm leads to a Nash equilibrium. Game theory is also used to evaluate the CORE algorithm in [23]. Saad et al. in [24] propose a coalitional game model for analyzing the cooperation decisions of multiple rational communities based on the tradeoff between performance gains and associated costs in DTN. Gao et al. in [25] model a probabilistic misbehavior detection scheme for DTN as the Inspection Game and use game theoretical analysis to demonstrate that, by setting an appropriate investigation probability, Trusted Authority could ensure the security of DTN routing at a reduced cost. Naserian and Tepe in [26] propose a routing protocol based on forwarding game for MANET. In their protocol, a node enters the forwarding game upon receiving a flooding packet. Parameters such as residual energy level, channel congestion, number of packets in the node’s transmission queue, and the distance from the source of the flooding packet are included for computing utility. Wang et al. in [27] propose a game theoretic approach with multiple players for security in MANETs.

Compared with the existing works, we try to model the forwarding cooperation for DTN routing in MANET by using game theory and uncover some underlying truths and rules, which can be used to improve energy consumption in the network.

3 System model and assumption

We consider a relatively simple MANET in this work. Each node has a unique identity i (iI and I = {1, 2, …, n}) in the MANET. Nodes in the network are battery-powered and have limited computation and wireless communication capabilities. Figure 1 gives a scenario for such a simple MANET. A node may be connected with several nodes nearby through wireless communication. Each node in a MANET is moving dynamically with its own track. We could denote the topology of the MANET as an undirected graph G = <V, E>. V denotes the node set and E denotes the link set. Each element in E denotes that two nodes are within the radio range of each other. Nodes in a MANET will generate data packets periodically and try to send out generated data packets to some destinations.

Fig. 1
figure 1

The scenario of a sample MANET

We assume that each node in the network has three major actions:

  1. (1)

    Transmit (Ts) means a node transmits a data packet to a neighbor within its radio range. Here we distinguish between two kinds of transmitting behaviors: a) the node generates a data packet by itself and tries to send it to a destination; b) the node receives a data packet from its neighbor and tries to send it to its next hop, which is known as forwarding. However, we can consider these two behaviors as the same action most of the time.

  2. (2)

    Receive (Rc) means a node receives a data packet from a neighbor within its radio range.

  3. (3)

    Idle (Id) means a node does not communicate with other nodes.

Nodes will take different actions simultaneously according to their own requirements. However, in each time slot, a node is only allowed to take one of the above actions. That is, the node is not allowed to transmit and receive data at the same time. Each node in the MANET plays two roles during the lifetime: data sender and data receiver. When a node transmits data packets to other nodes, it is a so-called data sender. When a node receives data packets from some data sender, it is a data receiver.

When a node wants to transmit a data packet, it just broadcasts a transmission request (some kind of control packet like RTS or RREQ) for the data packet to its neighbor nodes. A transmission request can be accepted by one or more data receivers. After getting the feedback for the transmission request, the node will then send out the data packet by broadcasting. Then the data packet will be received by one or more neighbor nodes. Therefore, there may exist several replicas for a data packet in the network. It’s also possible for a data receiver to receive several transmission requests from different data senders at the same time. Then, the data receiver has to determine which one to accept. We assume that each node has a limited data cache, which is used to store the data packets for transmission. If there are data packets in the cache, a node shall try to send them out to some destinations. Moreover, we assume that a node can only transmit or receive one data packet at most within each time slot. We can represent the behaviors of a node by a finite state machine (FSM). Assume the size of data cache is only 1, and then the FSM of a node can be illustrated by Fig. 2. We distinguish two different states (S 1 and S 2 ) for the node by the status of its data cache (empty or not empty).

Fig. 2
figure 2

A FSM for MANET node with cache size of 1

The data packets generated in the network are of the same size, and the structure of data packet in the MANET is illustrated as Fig. 3. A data packet will be assigned with a unique ID, in order to distinguish different replicas for the same packet. A data packet also has a TTL value for routing. A data packet will be dropped when it reaches the expiry of the TTL value. Moreover, a data packet will record the nodes it has traversed in a separate field (so-called path), in order to avoid cycle in routing.

Fig. 3
figure 3

The structure of a data packet in the MANET

Since the nodes in such a MANET are strategic players, they incline to maximize their benefits with least cost. In other words, the nodes in a MANET are selfish. If every node just wants to keep as much energy as it can during the routing process, the overall performance of a MANET will be poor because few nodes want to spend energy to forward data packets for others. Therefore, what we want to do in this work is to improve the routing performance of MANETs by using some kind of incentive-based mechanism. A node contributes to the network by forwarding data packets for other nodes towards the destinations. Each node’s contribution to the network potentially benefits the rest nodes in network. If more than one node transmits data packets to a specific data receiver, then the data receiver intends to accept the data packet from the one with larger contribution value. We will talk about this service differentiation mechanism further in the following sections.

4 Incentive mechanism for MANETs

In this section, we investigate the problem of energy-aware routing and present an incentive mechanism for MANETs.

4.1 Contribution measurement

The contribution of nodes can be mainly measured by the volume of energy they spend in forwarding data packets for the network. A node forwarding more data packets to other nodes is certainly of larger contribution to the whole network. The precise definition of contribution is immaterial as long as it can be quantified and treated as a continuous variable. The contribution for a given node n i is a cumulative value.

$$ {c}_t\left({n}_i\right)=\left(1-\alpha \right){c}_{t-1}\left({n}_i\right)+\alpha \cdot \left(-{P}_t\left({n}_i\right)\right) $$
(1)

Here c t (n i ) denotes the contribution value of n i at time slot t, and we have c 0(n i ) = 0. Note that we will simply omit the current time slot t and reduce c t (n i ) into c(n i ) in the following sections. For example, we can represent c t (n i ) for current time slot t as c(n i ). P t (n i ) denotes the payoff of n i during the game at t. We will introduce the payoff function in the subsequent sections. The parameter α is a constant and captures the importance assigned to the current performance of a node as opposed to its past experience for estimating its contribution.

We use a parameter α to coordinate the relation between past experience and current performance. A large value of α means that more importance is assigned to a node’s performance in the current time period than its previous experience, and vice versa.

4.2 Service differentiation

In an incentive-based system, nodes should not be treated equally on their service requests. Instead, we should take their contribution into consideration when accepting their requests in routing. Therefore, we propose to use service differentiation in MANET routing. The differential service is a game of expectations: a node (data receiver) rewards other nodes (data sender) in proportion to their contribution. A simple scheme to implement this idea is as follows: given two nodes n i and n j , n i accepts a data packet sent from n j with probability p(c(n j )), and refuses to accept it with probability 1 − p(c(n j )). Here p(c(n j )) is a monotonically increasing function of the contribution value. Therefore, if a node’s contribution is small, when it tries to send out data packets, they are more likely to be refused by data receivers.

The probability function for service differentiation in MANETs is given as follows:

$$ p\left(c\left({n}_i\right)\right)=1-\frac{1}{e^{\beta c\left({n}_i\right)}} $$
(2)

Here c(n i ) denotes the contribution value of a given node n i . β is a coordinating parameter and we have β > 0. According to Eq. (2), we have p(0) = 0, and p(c(n i )) → 1 when c(n i ) → ∞. In order to increase the probability of service acceptance, a node shall contribute to others as much as possible.

In section 3, we have mentioned that a data receiver will receive several transmission requests from different data senders at the same time. When a data receiver deals with a transmission request, it will decide whether to accept it or not according to some kind of probability. To a given data receiver n i , assume it receives m transmission requests in time slot t. The normalized probability for a transmission request to be accepted is given as follows:

$$ n{p}_i\left(r{q}_j\right)=\frac{p\left(c\left({n}_j\right)\right)}{{\displaystyle \sum_{k=1}^mp\left(c\left({n}_k\right)\right)}} $$
(3)

Here, rq j denotes the transmission request from node n j towards n i . m denotes the number of transmission requests n i receives at time slot t. A data receiver just determines whether or not a transmission request shall be accepted according to its normalized probability. If a request is rejected due to a low probability value, the data sender has to resend the request next time slot if it still wants to transmit the data packet to its destination.

5 Game formulation for energy-aware DTN routing

In this section, we investigate the problem of energy-aware routing in MANETs by modeling it as a simultaneous game. In this game, nodes with selfishness intend to maximize their benefit through taking a series of actions. We will give a formal payoff function for this model. The function depends on several important factors, which we shall discuss below one by one. Moreover, we will also construct the payoff matrix for players based on the payoff function. The game formulation presented here is an extension to our previous work in [2830].

5.1 Payoff function

Let’s first consider the simplest 1-to-1 game. Given two nodes n i and n j , the payoff function for a given node n i in this game is simply given as follow.

If n i is a data receiver, then its payoff function in 1-to-1 game is:

$$ u\left(n{}_i\right)=\left\{\begin{array}{c}\hfill -\left(\varDelta {E}_L+\varDelta {E}_R\cdot n{p}_i\left(r{q}_j\right)\right)\ A\left({n}_j\right)=Ts\hfill \\ {}\hfill -\varDelta {E}_L\kern7.25em A\left({n}_j\right)\ne Ts\hfill \end{array}\right. $$
(4)

Here rq j denotes the transmission request from n j towards n i . A(n j ) denotes the action of n j in this slot. ΔE L denotes the energy cost for listening to the channel before receiving a data packet. ΔE R denotes the actual energy cost for receiving a data packet. Here we just omit other cost in processing a data packet. The equation reflects the cost to join the forwarding cooperation, and the direct benefit from joining the forwarding cooperation is always negative according to this equation.

If n i is a data sender, then its payoff function in 1-to-1 game is:

$$ u\left(n{}_i\right)=-\varDelta {E}_T $$
(5)

Here ΔE T denotes the energy cost for transmitting a data packet. The cost for a data sender is always fixed, no matter its data packet is received by neighbors or not.

Moreover, we can get the payoff function for 1-to-m game. If n i is a data receiver, then its payoff function in 1-to-m game is:

$$ u(n)i=\left\{\begin{array}{c}\hfill -\Big(\varDelta {E}_L+\varDelta {E}_R\cdot {\displaystyle \sum_{j=1}^mn{p}_i\left(r{q}_j\right)\Big)}\left.\exists {n}_j\right|A\left({n}_j\right)=Ts\hfill \\ {}\hfill -\varDelta {E}_L\kern5.75em \left.\kern2.75em \forall {n}_j\right|A\left({n}_j\right)\ne Ts\hfill \end{array}\right. $$
(6)

Here m denotes the number of transmission requests n i receives at time t. According to Eq. (3), we have \( {\displaystyle \sum_{j=1}^mn{p}_i\left(r{q}_j\right)}=1 \) and then Eq. (6) can be reduced into:

$$ u\left(n{}_i\right)=\left\{\begin{array}{c}\hfill -\varDelta {E}_R\kern0.5em \left.\exists {n}_j\right|A\left({n}_j\right)=Ts\hfill \\ {}\hfill 0\kern0.75em \left.\kern1.5em \forall {n}_j\right|A\left({n}_j\right)\ne Ts\hfill \end{array}\right. $$
(7)

If n i is a data sender, then its payoff function is just the same as Eq. (5), because of broadcasting in data transmission.

According to Eq. (1) and the payoff functions above, we can see that the more energy a node spends in forwarding data packets the large contribution value it gets.

5.2 Two player game

Let us consider a MANET with only two nodes, n i and n j . Therefore, it can be modeled as a pairwise simultaneous game between the two nodes, where both players move simultaneously. Each player has three strategies and the strategy set of a player is S p  = {Ts, Rc, Id}. The payoff for the game is given in Table 1.

Table 1 The payoff matrix of two nodes’ game

5.3 Spatial structured game

Let us consider a more general situation where there are more than two nodes in a MANET. Then it’s a spatial structured game for routing in the MANET. We want to compute the overall payoff of the network. In this case, we just consider the payoff for each node separately. To each node in the network, it participates in a 1-to-m game and m is the number of its neighbours. According to the equations in section 4.1, it’s convenient for us to compute the payoff value for a specific node in a 1-to-m game.

Given a more general MANET, as we have mentioned in section 3, we can denote the topology of the MANET as an undirected graph G = <V, E>. The MANET is divided into a collection of sub-networks by the nodes as well as their neighborhood in the network. For each sub-network, there is a root node and we can perform a 1-to-m game among the root node and other nodes in the sub-network. Therefore, we could reduce the global game of the MANET into a collection of 1-to-m games (so-called sub-games). To each 1-to-m game, we could get a result by the equations in 4.1. As the sub-games in each sub-network do not influence each other, the payoff value is easy to be calculated. The overall payoff of the MANET is then synthesized from the results of the sub-networks.

5.4 Strategy updating

During the game for DTN routing in MANET, nodes will take different strategies in order to maximize their benefit. However, their strategies are also restricted to the network protocol itself in some cases. We formulate these restrictions as a series of rules for the players in the routing game.

For example, if the data cache of a node n i is full in current slot, then it must take the Ts action next slot. Even if taking the Ts action will not bring more benefit for n i , it has to follow the network protocol. In this case, if n i takes the Ts action next slot but fails to send out the data packet (e.g. no neighbors are willing to receive it), it must take the Ts action again until it sends out the data packet successfully. Another exception is that if the neighbor of n i broadcasts out a data packet whose destination is just n i , in this case n i is required to takes the Rc action in order to accept its data packet. Generally, nodes or players always take suitable strategies to maximize their benefits. However, they are required to take specific strategies in order to follow the network protocol of a MANET.

If the data cache of a node is empty, then the node is able to take the Rc or Id action next slot. However, we still don’t know which action the node will take next slot exactly. In this case, the strategy of the node depends on how much benefit it could get by taking an action. In a MANET, nodes usually want to send out as many data packets (self-generated) as they can. We can say that the direct benefit of a node comes from how many data packets it can send out successfully. If a node wants to send out more data packets successfully, it should get more forwarding cooperation from its neighbors. Therefore, how many packets a node can send out through its one-hop neighbors is determined by the one-hop forwarding ratio (OHFR). For a specific node, OHFR is the percentage of the packets received by its one-hop neighbors over the self-generated packets. If the data cache of a node n i is empty, then its strategy updating function is given as follows:

$$ Action\left(n{}_i\right)=\left\{\begin{array}{c}\hfill Rc\kern0.75em OHFR\left({n}_i\right)<\eta \hfill \\ {}\hfill Id\kern0.75em OHFR\left({n}_i\right)\ge \eta \hfill \end{array}\right. $$
(8)

Where Action(n i ) denotes the action n i will take next time slot, and η is the contribution threshold. If the OHFR value of n i is below a threshold η, it means that few neighbors want to forward the packets for n i . According to section 4.2, OHFR is directly related to node’s contribution. A node with large contribution is able to get more help from its neighbors. We will talk about OHFR in detail in the following section.

6 Simulation and evaluation

6.1 Simulation setting

In this section, we construct simulation to evaluate the performance of the proposed approach. We consider a MANET within a square region. Moreover, we assume that the number of nodes in this region is invariant. Therefore, we assume there are N players (MANET nodes) in the network.

Player i is represented as a vertex v i of a graph G = <V, E>, with v i  ∈ V. An interaction between two players i and j is represented by an undirected edge e ij  ∈ E. The number of neighbors of player i is the degree k i of vertex v i . The average degree of the network is denoted as 〈k〉. The terms vertex, individual, participant and player are used interchangeably in this section; likewise for edge, interaction, and link. Each node in the MANET can take one of the three strategies {Ts, Rc, Id}.

We assume there are N individuals on a square plane of size L × L with periodic boundary conditions. Initially, N individuals are randomly assigned a location on the plane, a moving direction between [0,2π], and a strategy (Ts, Rc or Id). At each time slot (game step), an arbitrary individual i performs simultaneous interactions with its neighbors that within its range. After interaction stage, individuals will synchronously update their strategies. A new data packet is generated at the end of each time slot, where the source and the destination are randomly chosen among the N players.

Finally, individual i will change its location according to the following moving rule:

$$ {x}_i\left(t+1\right)={x}_i(t)+\overrightarrow{V_i(t)} $$
(9)

Here, x i (t) is the position of individual i, who moves with a velocity \( \overrightarrow{V_i(t)} \) at time slot t, and x i (t + 1) is its next position in the square plane. The moving direction of individual i, i.e., θ i (t), is updated according to the following equation:

$$ {\theta}_i\left(t+1\right)= arctan\frac{sin{\theta}_i(t)+{\varSigma}_j sin{\theta}_j(t)}{cos{\theta}_i(t)+{\sum}_j cos{\theta}_j(t)} $$
(10)

where j runs all the neighbors of i. The meaning of this equation refers to that the moving direction of a given individual i can be approximately represented by the average moving direction of a cluster centered by this individual. In fact, this value can be generated randomly from [0, 2π], which will not affect the final result of the simulation.

In the following simulations, without special mention, initially the strategies {Ts, Rc or Id} are randomly distributed among the players with equal probability 1/3, and the data is obtained by averaging over the last 3000 generations of the entire 50,000 generations. Each piece of data is an average of 100 individual runs.

Finally, we will evaluate the proposed method by the following performance metrics:

  1. (1)

    Packet-Dropping Ratio, which is the percentage of dropped packets in routing over the packets generated by the MANET.

  2. (2)

    Throughput, which is measured by the number of delivered packets in the network.

  3. (3)

    OHFR. We have given the definition of OHFR for a specific node in previous section. Moreover, we also want to evaluate the OHFR for the whole MANET, which is just the average value from all the nodes.

  4. (4)

    Standard Deviation of Available Energy, which is measured by the differentiation in available energy of the nodes in the network until the end of simulation.

  5. (5)

    Network Lifetime, which is defined as the time from beginning of simulation until first node in the network runs out of energy.

6.2 Experiment results

6.2.1 Packet-dropping ratio

Firstly, the packet dropping ratio of the MANET is evaluated in Fig. 4. As we can see that as TTL increases, the packet dropping ratio decreases. Here we find there exists a threshold value for TTL, over which the packet dropping ratio keeps dynamic stable, i.e., for v = 1, the threshold is around TTL = 13. The result is explainable: below the threshold, the increasing of TTL makes the packets stay alive for a longer period of time in the MANET; however, over the threshold, larger TTL generates many replicas for packets, which causes congestion and also increases the packet dropping ratio. The increasing of TTL decreases the packet dropping ratio; on the other hand, the congestion caused by packet explosion increases the packet dropping ratio. The two factors jointly result in the dynamic stable. Also, we conduct the experiment with different moving velocities. We find that for v = 5 and 10, the packet dropping ratio is larger than that when v = 1. This result is straightforward, because the increasing of velocity makes the delivery of packets uncertain and unreliable. However, packet dropping ratio for v = 10 is even smaller than v = 5 in the region of dynamic stable. This is mainly because larger velocity increases the meeting-chance of both “source-destination” pairs and also “transmit-forward” pairs.

Fig. 4
figure 4

The packet-dropping ratio under different TTL values for v = 1, 5 and 10

6.2.2 Network throughput

The network throughput of the MANET is presented in Fig. 5. In this part, TTL also plays an important role. Initially, T increases from 1 and the average network throughput expands synchronously (Stage I). Then a maximum value of throughput is reached, after which the throughput decreases gradually (Stage II) and finally falls into the dynamic stable state (Stage III). The results can be explained as follows: In Stage I, larger TTL makes packets stay alive for a longer period of time in the MANET, which increases the meeting-chance of both “source-destination” pairs (e.g., shorten the distance between them) and “send-forward” pairs. In Stage II, larger TTL generates many packet replicas. If a large proportion of packets to be sent are delayed in the data cache of senders, the MANET will be filled with senders, while the receivers and forwarding nodes only account for a small percentage. In this case, it results in congestion quickly, and then the network throughput decreases. In Stage III, when TTL is lager enough, the adversely impact is counteracted by nodes’ mobility, which causes the dynamic stable. Different from packet dropping ratio, the effect of increasing moving velocity is monotonic.

Fig. 5
figure 5

The network throughput under different TTL values for v = 1, 5 and 10

6.2.3 One-hop forwarding ratio

Here we calculate the average OHFR (Fig. 6(a)) for the MANET and the distribution of OHFR for N = 10,000 node in total (Fig. 6(b)). The result is satisfactory, because under any TTL, the MANET is well-behaved in forwarding packets. The average OHFR is no less than 67.8 %. The maximum OHFR is about 69.1 % when TTL = 13. The curve (Fig. 6(a)) is similar with that of network throughput. This result may contribute to our strategy updating scheme: the smaller node’s OHFR is, the larger probability it will perform Rc in next time slot. Here one issue to be addressed is that why we only consider one-hop forwarding, why not also considering k-hop. We argue that OHFR is enough for our model in this work, because it is easy to calculate that the relationship between one-hop and k-hop is direct proportion. In Fig. 6(b), we can see in the stable state the distribution of OHFR is close to normal distribution. For example (average network OHFR = 68 %), most nodes in the MANET succeed in sending out their packets with probability of 68 %, while there also exist a small portion of nodes with smaller or larger OHFR values.

Fig. 6
figure 6

The distribution of one-hop forwarding rate, and the network OHFR under different TTL values

6.2.4 Standard deviation of available energy

In this section, we evaluate the energy consumption of the proposed method. As mentioned before, when nodes in a MANET update their strategies, they take decisions by their OHFR values: the smaller OHFR is, with the larger probability it will perform as receiver or forwarding node. We define this strategy updating scheme as contribution aware scheme in this work. To show the advantage of our scheme, we compare it with three other schemes: the random switch scheme, the best follow scheme, and the random follow scheme. In random switch scheme, when updating its strategy, a node with empty data cache will arbitrarily switch to the other strategy (i.e., Rc to Id or Id to Rc) with certain probability. In best follow scheme, a node with empty data cache will choose the strategy of its best-performance neighbor’s (e.g., node with largest available energy in current slot) as its own strategy next time slot. In random follow scheme, a node with empty data cache will randomly choose a neighbor and copy its strategy next time slot. Figure 7 depicts the results. The contribution aware scheme presents the best individual equity. That is to say, all the nodes in the MANET forward each other’s packets altruistically. They are highly cooperative to accomplish the data transmission and the intrinsic mechanism to support this is our contribution aware scheme. From Fig. 7, we can see that the performance of best follow scheme is even the worst. Nodes under this scheme are greedy and will finally fall into the dilemma. The rank of the four strategy updating schemes is arranged as contribution aware > random switch > random follow > best follow. The distribution of standard deviation of available energy for different strategy updating schemes is shown in Fig. 8.

Fig. 7
figure 7

The standard deviation of available energy under different TTL values for different strategy updating schemes

Fig. 8
figure 8

The distribution of standard deviation of available energy for different strategy updating schemes after 10,000 slots

6.2.5 Network lifetime

One of the most important objectives of this work is to maximize the energy efficiency of MANETs. Therefore, we should try to extend the network lifetime as long as possible and improve the network throughput as much as possible. In this section, we mainly investigate the performance of different strategy updating schemes by the metric of network lifetime. We change the initial energy (IE) amount for the MANET and record the network lifetime for each scheme, as well as the accumulative network throughput during the lifetime. The result is given in Fig. 9. The box chart illustrates the network lifetime and throughput for the four strategy updating schemes. The contribution aware scheme performs best compared with other schemes.

Fig. 9
figure 9

The box chart of network lifetime and throughput for the contribution aware scheme, the random switch scheme, the best follow scheme and the random follow scheme. Here the X-axis represents different values of the MANET’s initial energy, e.g., from 50 to 500 units energy

7 Conclusion

We mainly present an incentive mechanism for encourage forwarding cooperation during energy-aware routing in MANETs in this paper. We argue that the node selfishness in relay cooperation will influence the overall performance of routing in MANETs. We try to explore the game theory to model the situation of energy-aware DTN routing in MANETs with nodes’ selfishness. We consider the competitive and cooperative relationships between the nodes in MANET as a simultaneous game and give the corresponding game theoretical formulation in detail. We also conduct a simulation for the proposed method and give detailed analysis in this work. We are able to get an equilibrium of evolutionary stable strategies through the simulation. According to the results of our simulation, we argue that we could enable a MANET to support more efficient energy-aware routing by configuring suitable parameters.

Future works may include: (1) evaluating the performance of the proposed method by implementing different DTN routing algorithms for MANETs; (2) enhancing the game theoretical model by considering more factors at the same time; (3) considering a more complex mobility model to evaluate the proposed approach.