Opportunistic networks lack end-to-end paths between source nodes and destination nodes, so the communications are mainly carried out by the “store-carry-forward” strategy. Selfish behaviors of rejecting packet relay requests will severely worsen the network performance. Incentive is an efficient way to reduce selfish behaviors and hence improves the reliability and robustness of the networks. In this paper, we propose the node-dependence-based dynamic gaming incentive (NDI) algorithm, which exploits the dynamic repeated gaming to motivate nodes relaying packets for other nodes. The NDI algorithm presents a mechanism of tolerating selfish behaviors of nodes. Reward and punishment methods are also designed based on the node dependence degree. Simulation results show that the NDI algorithm is effective in increasing the delivery ratio and decreasing average latency when there are a lot of selfish nodes in the opportunistic networks.
The occurrence of plenty of mobile smart devices equipped with short-range wireless communications boosts the fast rise of opportunistic networks. One of the main features of the opportunistic network is that it does not require a complete path existing from a source node to a destination node. The opportunistic network is a kind of delay tolerant networks (DTNs), and it utilizes communication opportunities obtained from node movement to relay packets.
Opportunistic networks have been widely used in the wildlife tracking [
There are usually three kinds of nodes in opportunistic networks, including ordinary nodes, malicious nodes, and selfish nodes [
A selfish node usually propagates its packets with the help of other nodes, while it refuses to relay other nodes’ packets. Such behavior does reduce nodes’ own resource consumption, but it decreases the network’s delivery ratio and causes longer delivery delay.
A great number of selfish nodes will damage the reliability of networks, and the experiment shows that when the number of selfish nodes increases to 10%–40%, the delivery ratio of the network will decrease by 16%–32% [
In order to decrease the number of selfish nodes in a network, a lot of work has been done. The main incentive methods to stimulate selfish nodes are divided into three kinds, which are based on reputation, virtual currency, and gaming, respectively.
Marti et al. [
Buchegger and Le Boudec [
We also propose a kind of an Accumulated Reputation Model [
In virtual currency based incentive algorithms each node usually owns equal virtual currency when initializing the network. In order to enhance mutual cooperation, a node will obtain some virtual currency after it helps others to relay packets. Accordingly, when a node asks for assistance from other nodes, it also should pay some virtual currency to them. Buttyan and Hubaux [
In the domain of electronic commerce involving resource allocation, the well-known Vickrey-Clarke-Groves (VCG) mechanism [
Gaming based approaches are good ways on modeling incentive processes using classical game theory [
The Ad Hoc-VCG algorithm is also a gaming based incentive algorithm. It is a reactive and cost-efficient routing protocol. The nodes are motivated to reveal their true costs for forwarding data. The protocol also guarantees that routing is done along the most cost-efficient path by paying to the intermediate nodes a premium over their actual costs for forwarding data packets.
Srinivasan et al. [
Dynamic repeated game theory is appropriate to be used in stimulating nodes in opportunistic networks. In dynamic gaming, a node decides to cooperate or not by considering its opponent’s last choice. Generally, a node prefers to refuse its opponent when noncooperation has been chosen by the opponent in current gaming phase. However, meeting opportunity is precious in opportunistic networks, so nodes should tolerate a certain level of noncooperation for maintaining good network performance.
In our previous work [
The NDI algorithm provides a tolerance mechanism in which several times of refusal to relay packets are tolerable, while reward and punishment are also provided based on the node dependence degree.
The remainder of this paper is organized as follows. The system model is illustrated in Section
The opportunistic network is modeled as a graph The sizes of data packets over the opportunistic network are about the same, and it costs the same in sending and relaying packets. The network running time is divided into a series of time slices All nodes can be trusted, with using existing trust models [
Each node
Data structure for node
Columns | Description |
---|---|
|
Identification of |
|
Relative times that |
|
Tolerance times that |
|
Flag for whether |
|
Relative times that |
|
Tolerance times that |
|
Flag for whether |
Description of each column of the data structure is detailed in the table.
In this section, the node active coefficient (NAC) and the node isolation coefficient (NIC) are defined firstly, and then the node dependence degree is calculated on the basis of NAC, NIC, and
The node active coefficient (NAC) is the probability of a node to meet other nodes. The bigger the NAC is, the more the nodes it probably meets, and hence it has more opportunities to request others for relaying packets. The fuzzy set is exploited to define NAC, and its membership function is shown as formula (
The node isolation coefficient (NIC) is the level of isolation in the network. If a node performs selfishly to another node for a number of times, it will be isolated by the node. The NIC value
If a node accumulated a high NIC value, the nodes which are isolating it will refuse to relay its packets even though it has a high NAC value.
The node dependence degree (NDD) is the degree to which a node relies on another node.
It is widely acknowledged that the communications are usually fulfilled through multiple hops in opportunistic networks. The source node might never meet the destination node, so the source node also cannot know exactly which intermediate nodes relay the packets to the destination node. It is hard to calculate NDD by the records of successful relay and hit on destination, because it has no idea which node helped it. Here, we approximately calculate NDD through NAC, NIC, and
An entropy weighted method is proposed to calculate NDD with different weights. NDD is computed through current and historical values of NAC, NIC, and
Firstly, a 3 × 3 evaluation matrix is used to record NAC, NIC, and
Consider
And each row is valued through (
Consider
The entropy method is used to obtain the weight of each column in matrix
Consider
Firstly,
Consider
Define
The current NDD value
Because the weight should be calculated through three-time contact of two nodes, the weights are initialized to 1/3 in the first two contacts.
The process of requesting to relay packets between two nodes can be regarded as a gaming process.
Each node has a strategy space
Payoff matrix for one-stage gaming.
Strategy |
|
|
---|---|---|
|
|
|
|
|
|
If two nodes do not cooperate with each other, they have no benefit or consumption. In such case, both parts acquire 0 profits.
Apparently, when two nodes only care about one-time profit they will reach to
Fortunately a repeated gaming is a good choice to reach a subgame perfect Nash equilibrium and achieve mutual cooperation [
In this paper, the node-dependence-based dynamic gaming incentive (NDI) algorithm is proposed which stimulates nodes to cooperate on data forwarding by elaborate design of a subgame perfect Nash equilibrium.
Node
In NDI, node
If a node is a common node, it will unconditionally help others to relay packets, unless it has objective reasons to refuse, such as node
Let
Profit sequence for node
Stage | 1 | 2 |
|
|
… |
---|---|---|---|---|---|
Choice set | {C, C} | {C, C} |
|
{C, C} | {C, C} |
Profit for node |
|
|
|
|
|
The profit that a common node
Similarly, the profit that a common node
(1) Initialize the parameters in Table at the first time, and Calculate NAC, NIC, and NDD. (2) Node (3) (4) (5)
(6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21)
Where
The punishment function should rely on NDD. If NDD is big, it means “I rely on you a lot”; the punishment strength should be lower. On the contrary, if NDD is small, it means “I rely on you little”; the punishment strength can be higher than with bigger NDD. The reward function actually should be steadier than punishment method. In practice, the cooperation should be continuous and steady. A node also should consider the NDD value. The bigger the NDD is, the more heavily it should be rewarded by the other one.
Based on the above analysis, the punishment function and the reward function should meet the following conditions. The punishment is designed to be heavier than the rewarding which helps to keep the balance of cooperation, so the condition In order to stimulate nodes to help other relay packets, approaches for rewarding nodes are proposed. Accordingly, to punish nodes which would not like to cooperate with each other, the function
Based on the above analysis, the punishment method is designed as formula (
Because NDD varies from 0 to 1, the level of reward and punishment can be adjusted according to the NDD value. Consider
Figure
(a)
The initial value of
The punishment intensity with different
From Figure
Formula (
In addition, the reward and punishment history may also be leveraged when calculating the
When a selfish node
The profit sequence of a “smart” selfish node is shown in Table
Profit sequence when node
Stage | 1 |
|
|
|
|
---|---|---|---|---|---|
Choice | {C, C} | {C, C} | {C, D} | {C, D} | {C, D} |
Profit sequence for node |
|
|
|
|
|
Profit sequence for node |
|
|
|
|
|
The maximum loss for node
When the profit of node
If two nodes encountered for several times and if the condition of Line 6 in Algorithm
Except for punishment, the NDI algorithm also provides a reward mechanism. When node
The following will analyze the profits when a node is “smart,” “stupid,” or “ordinary.”
Ignoring the node’s attention to the further profits
A “smart” selfish node would like to reject other nodes’ request
(a) The profit of “smart” selfish node with time increasing. (b) The profit of “stupid” selfish node with time increasing. (c) The profit of “ordinary” selfish node with time increasing.
A “smart” selfish node will not be punished because it always rejects others
A “stupid” selfish node will not cooperate with others at any time, and the profit of a “stupid” selfish node is shown in Figure
As shown in Figure
An “ordinary” selfish node is a kind of node that acts more in reality; it will firstly choose noncooperation. After finding the high decreasing of profit, it will try its best to improve its profit and maintain it. The profit of an ordinary selfish node can be described as in Figure
The profit of an “ordinary” node firstly increases quickly, and then the node will be punished. After that, the “ordinary” node notices that it must cooperate to improve its profit, so it will choose to help others to relay packets.
In conclusion, if a node chooses to cooperate, it will obtain a higher profit than these which chose not to cooperate.
Simulations are run on the opportunistic networking environment (ONE) [
In order to verify the effectiveness of the NDI algorithm, delivery ratio (
The delivery ratio is the ratio between the number of packets which are delivered to the destination nodes successfully and the number of all packets that are created in networks. This is a critical criterion to value the performance of a routing algorithm [
Delivery delay is the time period from when a packet is created to when it is delivered successfully. Because environments of networks are different and delivery delays of all packets are not the same, the average delivery latency (
Hop count is the number of relay nodes on the path from the source to the destination. Average hop count (
To simulate the impact of nodes’ selfish behaviors on evaluation criteria (delivery ratio, delivery delay, and average hop count), the concept of selfish probability (
Three routing algorithms including Epidemic [
The Helsinki city is chosen as the scene, where there are 160 mobile nodes divided into two groups. Each node is equipped with a Bluetooth device, and the communication radius of nodes is set to 10 meters. The time period
Parameter settings for simulation I.
Type | Parameter | Value |
---|---|---|
Scene features | Simulation time | 24 h |
Field area | 4500 m * 3400 m | |
Scene | Helsinki | |
|
||
Node features | Mobility model | SPMBM |
Movement speed | 0.5–1.5 m/s | |
Transmission rate | 250 KB/s | |
Maximum transmission range | 10 m | |
Transmission mode | Broadcast | |
Cache size | 10 MB | |
|
||
Message features | Packet size | 500 KB–1 MB at random |
TTL | 5 h | |
Frequency of creating packets | From 25 s to 35 s at random |
Simulations are carried out at different selfish probabilities using Epidemic, Prophet, and Spray and Wait with or without NDI algorithm, respectively. The delivery ratio at different selfish probabilities is shown in Figure
(a) The delivery ratio of Epidemic with and without NDI. (b) The delivery ratio of Prophet with and without NDI. (c) The delivery ratio of Spray and Wait with and without NDI.
The simulations show that the NDI algorithm increases the packet delivery ratio in all three routing algorithms at almost every selfish probability, especially in the Spray and Wait scheme. While the selfish probability increases, the improvement tends to be higher.
The Spray and Wait routing algorithm limits the packet copies, so the NDI algorithm does not have so much effect on it; however, it still can get remarkable improvement on the delivery ratio when the selfish probability is over 60%.
The delivery delay of three routing algorithms with and without the NDI algorithm at different selfish probabilities is shown in Figure
(a) The average latency of Epidemic with and without NDI. (b) The average latency of Prophet with and without NDI. (c) The average latency of Spray and Wait with and without NDI.
As mentioned above, the average latency averages the delay of all successful routing. When the selfish probability increases, the average latency increases accordingly. In all three routing schemes, the NDI algorithm makes them more efficient on delivering packets to the destinations. It is obvious that the NDI algorithm presents better performance along with the selfish probability increasing.
The curves of routing schemes with NDI are much flatter than the original ones, which show that the NDI algorithm has positive effect on lowering transmission latency of packet no matter how selfish the nodes are.
From simulation I, the Spray and Wait routing algorithm exhibits better performance than the other two ones, so we use simulate the Spray and Wait routing algorithm in simulation II. The TFT method [
The Helsinki city is also chosen as the scene, where there are 160 mobile nodes divided into four groups, including 3 pedestrian groups and a car group. Each node is equipped with a Bluetooth device, and the time period
Parameter settings for simulation II.
Type | Parameter | Value |
---|---|---|
Scene features | Simulation time | 12 h |
Field area | 4500 m * 3400 m | |
Scene | Helsinki | |
|
||
Node features | Mobility model | SPMBM |
Movement speed for cars | 2.7–13.9 m/s | |
Movement speed for pedestrian | 0.5–1.5 m/s | |
Transmission rate | 250 KB/s | |
Maximum transmission range | 10 m | |
Transmission mode | Broadcast | |
Cache size | 5 MB | |
|
||
Message features | Packet size | 500 KB–1 MB at random |
TTL | 5 h | |
Frequency of creating packets | From 25 s to 35 s at random |
Simulations are run under different selfish probabilities which are 0, 0.2, 0.4, 0.6, 0.8, and 0.99, respectively. The delivery ratios of the Spray and Wait algorithm and the other two variations (with NDI and TFT) are shown in Figure
(a) The delivery ratio of three algorithms. (b) The average latency of three algorithms. (c) The average hop count of three algorithms.
The Spray and Wait with NDI algorithm is much better than the original one and the TFT variation on packet delivery probability. The Spray and Wait with TFT algorithm lowers down the delivery ratio when the selfish probability is zero. TFT algorithm will result in a worse performance than the NDI algorithm when selfish probability gets higher.
The reason lies in the “Deal with a man as he” mechanism of TFT algorithm. If a node is rejected by its opponent, it will immediately punish the opponent by rejecting any relay request. The NDI algorithm overcomes this drawback and hence performs much better than the TFT scheme.
The average latency at different selfish probabilities for each algorithm is shown in Figure
The average hop count for each algorithm is shown in Figure
The most attractive point is when selfish probability is 0.99; the average hop count of the Spray and Wait with TFT algorithm is approximated to 1. The reason is that when the selfish probability is big enough, nodes would not like to relay packets for other nodes and most nodes will deliver their packets directly to the destinations. However, the Spray and Wait with NDI algorithm has adequate tolerance to the rejection of relay requests, so it performs well in this scenario.
The Epidemic routing algorithm [
There are 160 mobile nodes which are divided into four groups, including 3 pedestrian groups and a car group. Each node is equipped with a Bluetooth chip, and the time period
Parameter settings for simulation III.
Type | Parameter | Value |
---|---|---|
Scene features | Simulation time | 12 h |
Field area | 4500 m * 3400 m | |
Scene | Helsinki | |
|
||
Node features | Mobility model | SPMBM |
Movement speed for cars | 2.7–13.9 m/s | |
Movement speed for pedestrian | 0.5–1.5 m/s | |
Transmission rate | 250 KB/s | |
Maximum transmission range | 10 m | |
Transmission mode | Broadcast | |
Cache size | 100 MB | |
|
||
Message features | Packet size | 500 KB–1 MB at random |
Frequency of creating packets | From 25 s to 35 s at random |
The relationship among selfish probability, TTL, and delivery ratio is investigated, and the result is shown in Figure
(a) The relationship among selfish probability, TTL, and delivery ratio with NDI. (b) The relationship among selfish probability, TTL, and delivery ratio without NDI.
Figure
(a) The relationship among selfish probability, TTL, and delivery delay with NDI. (b) The relationship among selfish probability, TTL, and delivery delay without NDI.
To stimulate nodes to cooperate on data forwarding in opportunistic networks, the node-dependence-based dynamic gaming incentive (NDI) algorithm is proposed by elaborate design of a subgame perfect Nash equilibrium in a dynamic repeated gaming process. The NDI algorithm provides a mechanism where several times of refusal to relay packets are tolerant, and reward and punishment methods are also designed based on the node dependence degree.
Extensive simulations are implemented for performance evaluation. The results show that the NDI algorithm is effective in increasing the delivery ratio and decreasing average latency when there are a lot of selfish nodes in the opportunistic networks.
The authors declare that there is no conflict of interests regarding the publication of this paper.
This work is supported by the National Natural Science Foundation of China under Grant no. 61272529 and the Fundamental Research Funds for the Central Universities under Grants no. N120417002 and no. N130817003.