Preventing Selfish Behavior in Ad Hoc Networks - University of York ...

6 downloads 0 Views 246KB Size Report
Preventing Selfish Behavior in Ad Hoc Networks. M. Seredynski, P. Bouvry and M. A. Klopotek. Abstract—Cooperation enforcement is one of the key issues.
Preventing Selfish Behavior in Ad Hoc Networks M. Seredynski, P. Bouvry and M. A. Klopotek Abstract— Cooperation enforcement is one of the key issues in ad hoc networks. In this paper we proposes a new strategy driven approach that aims at discouraging selfish behavior among network participants. Each node is using a strategy that defines conditions under which packets are being forwarded. Such strategy is based on the notion of trust and activity of the source node of the packet. This way network participants are forced to forward packets and to reduce the amount of time spent in a sleep mode. To evaluate strategies we use a new game theory based model of an ad hoc network. A genetic algorithm (GA) is applied to find good strategies. Experimental results show that our approach makes selfish behavior unattractive.

I. I NTRODUCTION A mobile ad hoc network (MANET) is an autonomous system of mobile hosts (nodes) connected by wireless links. Such network is created without support of any kind of existing fixed infrastructure [1]. Routing functionality is incorporated into mobile nodes. Devices can directly communicate with each other only when they are located in their radio range. Otherwise, intermediate nodes should be used to forward packets. It means that nodes beside sending their own packets are also expected to forward packets on behalf of others. The topology of such network may change quickly in an unpredictable way. Cooperation and security are closely linked with each other. The cooperation issue is related to the problem of selfish behavior while security is related to the problem of coping with malicious attackers. The most significant difference between those two types of behaviors is as follows: a malicious attacker wants to jeopardize the operation of the network while a selfish user wants to exploit it [2]. The reason for which selfish behavior can be a serious threat to ad hoc networks comes from the fact that most of the devices participating in the network run on batteries. As a result the temptation to save energy and therefore act selfishly might be very high [3] [4] [5]. Energy saving can be done by discarding packets or switching into a sleep mode. However the greatest saving is achieved when wireless network interface is operating in a sleep mode [6]. The power consumption is about 98% lower comparing to the one in the idle mode. The significantly higher idle power consumption reflects the cost of listening to the wireless channel. If a node wants actively participate to the packet forwarding its network interface should operate in the idle mode, ready to receive traffic from its neighbors. Being in sleep mode will M. Seredynski and Pascal Bouvry are with the Faculty of Sciences, Technology and Communication, University of Luxembourg, 6, rue Coudenhove Kalergi, L-1359, Luxembourg, Luxembourg (email: [email protected]), [email protected]. M. A. Klopotek is with the Institute of Computer Science, Polish Academy of Sciences, Ordona 21, 01-237 Warsaw, Poland (email: [email protected])

not decrease nodes’ reputation because such behavior will be unnoticed by other network participants (since it is not possible to distinguish between node being in a sleep mode and node temporally leaving the network). For these reasons judgement of a node should also take into account its activity (time spent in the idle mode vs. time spent in a sleep mode). The solution to the problem of selfish behavior could be so-called self-policing mobile ad hoc networks [7] [8] [9] [10] [11]. In such networks nodes are equipped with a monitoring system, reputation management system and a response mechanism. Each node keeps its own rating of other network participants based on own experience and reputation data coming from other nodes. The idea of the cooperation enforcement mechanism based on the reputation is as follows. Firstly, intermediate nodes should verify the reputation of the source of the packet that they are requested to forward. If such packet comes from a node with a bad reputation then it is likely that it is going to be discarded by one of the intermediate nodes. This approach enforces cooperation because selfish nodes will not be able to use the network for their own purposes unless they contribute to the packet forwarding. In game-theoretic terms cooperation in mobile network can be interpreted as a dilemma [9]. Nodes (players) are tempted to get benefit (ability of sending packets) without cost (contribution to packet forwarding). However, if such behavior is noticed by other nodes then selfish node may end up at being excluded from the network. Selfish behavior would be risk free if a cooperation enforcement mechanism did not exist. In this paper we address the problem of the selfish behavior in self-policing ad hoc networks. Our approach aims at enforcing cooperation. We propose a strategy driven behavior of network participants. The decision whether to forward or discard packets depends on the reliability of a source of the packet. The calculation of reliability is based on the notion of trust and activity. The calculation of trust based the ratio of packets discarded vs. packets forwarded by the node, while activity is based on the amount of time spent in the idle mode. We propose a new game theoretic-based model of the ad hoc network whose goal is to evaluate strategies. This model has some similarities with the Iterated Prisoner’s Dilemma under the Random Pairing (IPDRP) game in which randomly chosen players receive payoffs that depend on the way they behave [12]. A GA is used to search for good strategies. The paper is organized as follows. In the next Section, related work is discussed. Then in Section III we show our trust and activity evaluation mechanisms and we explain proposed strategy driven behavior. This is followed by Section IV, where we present our game based model of ad hoc network.

3554 c 1-4244-1340-0/07/$25.00 2007 IEEE

Next, in Section V we demonstrate the way strategies are evaluated. The GA used to evolve the strategies is presented in Section VI. Simulation results are shown in Section VII. Last Section concludes the paper. II. R ELATED W ORKS A good survey of cooperation models with a game theoretical analysis can be found in [10] [13] [14]. In [4] authors present two techniques, watchdog and pathrater that aim at improving throughput of the network in the presence of selfish nodes. First, watchdog mechanism identifies selfish nodes and next, pathrater helps routing protocol to avoid these nodes. Such mechanisms do not discourage nodes from selfish behavior because selfish nodes are not excluded from the network. Authors show that in the network composed of 50 nodes with presence of 20 selfish nodes proposed mechanisms can increase the throughput by 17%. In [11] authors propose a generic cooperation enforcement mechanism based on the reputation, which they call CORE. The solution is addressed to networks with low node density in which nodes are being part of a zone. The reputation is calculated using various types of data gathered by nodes. More relevance is given to the past observations. Only positive values are exchanged between the nodes. This way a malicious broadcast of negative rankings for legitimate nodes is avoided. In such network selfish nodes are forced to contribute to the network operation. All service requests received from a misbehaving node will be ignored. In [8] authors propose a mechanism called CONFIDANT whose goal is to make selfish behavior unattractive. Both, the first and the second-hand observations are used. Similarly to CORE, packets coming from selfish nodes will not be forwarded by normally behaving nodes. Additionally, if a selfish node starts to behave correctly for a certain amount of time it might re-integrate with the network. In [7] use of second-hand information is further investigated. In [3] authors present an economic approach to the problem. Network is modelled as a market in which a virtual currency called nuglet is used. In such network nodes have to pay for the packets they want to send and are paid when they forward packets coming from other nodes. Security issues of that model are further discussed in [15]. In [3] authors present an economic approach to the problem. Network is modelled as a market in which a virtual currency called nuglet is used. In such network nodes have to pay for the packets they want to send and are paid when they forward packets coming from other nodes. In order to protect against the fraud, nodes should be equipped with a tamper resistant security module made by a trusted manufacturer. III. S TRATEGY BASED ON TRUST AND ACTIVITY A. Evaluation of trust We assume that each node uses an omni-directional antenna with the same radio range. A source routing protocol is used, which means that a list of intermediate nodes is included in the packet’s header. In our model the reputation

src

src: A dst: E route: BCD

src: A dst: E route: BCD

src: A dst: E route: BCD

...

...

...

data

data

data

1:

2:

3:

A

B

C

packet dropped

D

dst

E

reputation update reputation update reputation update (about B,C,D) (about C,D) (about B,D)

a) TRUST LOOKUP TABLE

pfA fr(B,A)= psA

fr 1 - 0.9 0.9 - 0.6 0.6 - 0.3 0.3 - 0

TLBA 3 2 1 0

highest trust level

lowest trust level

fr(B,A) - forwarding rate of the node A pfA - number of packets forwarded by the node A psA - number of packets sent to the node A (requests for forwarding) TLBA - trust level of the node B in the node A

b) Fig. 1. Trust update mechanism example: communication failed because packet was dropped by node D (a), trust level evaluation (b).

information is gathered only by nodes directly participating in the packet forwarding. Similarly to watchdog mechanism proposed in [4] each node monitors the behavior of the next forwarding node. Reputation data is collected in the following way. Let’s suppose that node A wants to send a packet to node E using intermediate nodes B, C, and D (Fig.1 a). If the communication is successful then node E receives the packet and all nodes participating in that forwarding process update reputation information about each other. If communication fails (for example node D decides to discard the packet) this event is recorded by the watchdog mechanism of the node C. In such case node C forwards alert about selfish behavior of node D to the node B and then node B forwards it to the source node A. Analysis of such a way of collecting reputation data can be found in [4]. Lets suppose that node B wants to verify how trustworthy is node A (using available reputation data concerning node B). In order to do this, first the fraction of correctly forwarded packets by node B is calculated (forwarding rate) and then the trust lookup table is used (Fig. 1b). As a result one of the four possible trust levels is assigned. For example, forwarding rate of 0.95 results in the trust level 3. If a source node has more than one path available to the destination it will choose the one with the best reputation. Such reputation is based on both, forwarding rate and activity of intermediate nodes. The reason for taking into account the activity level is related to the fact that there is the risk that a low activity node will switch to idle mode. As a result a path containing that node will no longer be available. A path rating is calculated as a multiplication of all known forwarding rates and activity weights of all nodes belonging to the route (activity weights are described in Section III-B). An unknown node has a forwarding rate set to 0.5. In our cooperation enforcement model we are using a

2007 IEEE Congress on Evolutionary Computation (CEC 2007)

3555

straightforward trust evaluation mechanism. Our goal was to demonstrate how a strategy based approach could impact the behavior of the network. An actual trust management should depend on several issues, like profile of the network, security protocols used etc. Several refined trust evaluation mechanism were proposed in the literature [16] [17] [18]. B. Evaluation of the activity level The calculation of the activity level is based on the total number of packets forwarded by a node. Activity level serves as an indication of the time spent in idle mode. Three activity levels are defined: low (LO), medium (ME) and high (HI) levels. Those levels are calculated using the same reputation data as used for trust evaluation. In order to verify the activity level of a source node an intermediate node calculates the average number of all packets forwarded by all known nodes (denoted as av). This value is next compared with the number of packets forwarded by the source node. If this number belongs to a range < av − 0.2 ∗ av...av + av ∗ 0.2 > then the medium activity level is assigned. Low activity level is assigned in the case when this number is smaller than that range while high level in the case when this number is above that range. The activity level is also used for the computation of the path rating. For this purpose so called activity weights are defined as follows: 0.2 for activity level 0, 0.5 for activity level 1 and 0.1 for activity level 2. The goal of activity weights is to promote paths containing more active nodes (as more reliable paths).

The decision whether to forward or discard the packet is determined by the strategy represented by a binary string of the length 13. An example of a strategy is shown in Fig. 2. The exact decision is based on two elements: trust level in the source node and its activity level. There are 12 possible combinations of trust and activity levels. Decisions for each case are represented by bits no. 0-11. Bit no. 12 defines behavior against an unknown node. Decision F means ”forward packet” while D stands for the opposite (discard the packet). For example, lets suppose that node B receives a packet originally coming from node A. Assuming that node B has a trust level 3 in node A, and nodes’ A activity is high (HI) then according to the strategy shown in Fig.2 the decision would be to forward the packet (F , bit no. 11).

decision

trust 0

trust 1

trust 2

trust 3

LO ME HI

LO ME HI

LO ME HI

LO ME HI

DDDD DD F F F F F F D 0

1

2

3

4

5

6

D: discard intermediate packet F: forward intermediate packet

Fig. 2.

3556

We define an Ad Hoc Network Game as a situation in which one node (player) is sending a packet to some destination and intermediate nodes have to decide whether to forward or to discard it. The number of game participants (GP) depends on the length of the path leading from the source to the destination node. Game participants are composed of the source node and all intermediate nodes. All intermediate nodes are chosen randomly. This simulates a network with a high mobility level, in which the topology changes very fast. The destination node is not a part of the game. Each player is said to play his own game when being a source of a packet and is said to be a participant of other players’ game when being an intermediate node. After the game is finished all its participants receive payoffs according to the decisions they made. In the example shown in Fig. 3 the game is composed of 3 nodes: node A, B and C. source node

7

8

9

10

11 12

decision against an unknown player

Coding of the strategy.

destination node

GP

GP

GP

A

B

C

?

GP D

decision Node C

Strategy

Information about the source node Trust Activity

GP: game participants Node A: playing its own game Nodes B and C: participants of other player’s game

Fig. 3.

C. Coding the strategy

trust activity

IV. A N AD HOC GAMING MODEL A. Description of the Ad Hoc Network Game

A single ad hoc network game.

Node A is the source of the packet while nodes B and C are intermediate nodes asked to forward the packet. After the reception of the packet node B has to decide whether to forward or to discard the packet received from the node A. If node B decides to discard the packet then the game ends. Otherwise, it is the turn of node C to decide what to do with the packet. If all intermediate nodes decide to forward the packet, the communication is successful. After the game is finished all its participants receive payoffs according to the decisions they made (described later). B. Payoff table and fitness function The goal of payoffs is to capture essential relations between alternative decisions and their consequences. We define three payoff tables. The first is applied for the intermediate node asked to forward packet (Fig. 4a) and the second for the node being the source of the packet (Fig. 4b). Last table (Fig. 4c) defines a payoff related to the status of node’s network interface. For the source node the exact payoff depends only on the status of the transmission. If the packet reaches the destination then transmission status is denoted as S (success). Otherwise (packet discarded by one of the intermediate node’s), the transmission status is denoted as F (failure). Payoffs received by intermediate nodes depend on their decisions

2007 IEEE Congress on Evolutionary Computation (CEC 2007)

reliability of the src node trust

3

2

1

0

activity

payoff forward(F) discard(D)

HI ME LO HI ME LO HI ME LO HI ME LO

14 7 3 12 6 2 10 4 1 8 2 0

0 2 8 1 4 10 2 6 12 3 7 14

a)

mode of the interface in a round

transmission status

payoff

success (S)

15

faillure (F)

0

payoff

(per round)

sleep

6

iddle

0

b)

c)

Fig. 4. Payoff tables: for intermediate nodes (a), for source node (b), for rounds in a sleep mode (c).

(packet discarded or forwarded) and on the reliability (trust and activity) of the source node. Generally, the higher the trust and activity levels are, the higher payoff is received by the node forwarding the packet. Higher reliably of the source node means that in the past this node already forwarded a decent number of packets for the currently forwarding node. So it is more likely that such node will be used in the future. This means that forwarding for such node might be considered as an investment of trust for the future situations. When a node decides to discard a packet it is rewarded for saving its battery life. The payoff table for intermediate nodes reflects the use of the reputation based cooperation enforcement system by network participants. Without such system, the payoff for discarding packets would always be higher than for forwarding. Players also receive additional payoff for the time spent in sleep mode (reward for saving the battery). The fixed payoff is received for each round spent in a sleep mode. The fitness value of each player is calculated as follows: f itness =

tps + tpf + tpd + tps , ne

(1)

where tps, tpf, tpd, tps are total payoffs received respectively for sending own packets, forwarding packets on behalf of others, discarding packets and staying in a sleep mode. The ne is a number of all events (number of own packets send, number of packets forwarded, number of packets discarded and number of rounds spent in a sleep mode). V. E VALUATION OF STRATEGIES IN A TOURNAMENT Strategy of each player is evaluated in a tournament which simulates an ad hoc network. During a tournament several ad hoc games are repeatedly played. Each tournament is composed of time frames called rounds. In every round each player is a source of a packet exactly once (plays its own game) and participates in the packet forwarding several times. So the maximum number of packets that a player can send equals the total number of rounds. A destination node and intermediate nodes are chosen randomly. Each node might decide to go to sleep mode in some of the rounds and as a result become unavailable for packet forwarding (explained later).

The tournament itself can be described in the following way: Tournament scheme Step 1: Specify i (source node) as i := 1, K as the number of players participating in the tournament, r := 1 (starting round) and R as the number of rounds. Step 2: Randomly select player j (destination of the packet) and the intermediate nodes. Step 3: For each available path calculate its rating (as described in Section III-A) and select the path with the best reputation. Step 4: Play the game (as described in Section IV-A). Step 5: Update payoffs of the source node i and all intermediate nodes (game participants) that received the packet. Step 6: Update the reputation data among all game participants. Step 7: If i < K, then choose the next player i := i + 1 and go to the step 2. Else go to the step 8. Step 8: If r < R, then r := r + 1 and go to the step 1 (next round). Else stop the tournament. A. Battery class Each player belongs to a certain battery class which defines conditions under which its wireless network interface will switch between idle and sleep modes. Battery class reflects its battery capability. If the number of packets that successfully reached the destination exceeds some pre-defined threshold, then the player will go to sleep mode (since there is no need to improve its reputation among other network participants). If this value drops below some threshold, player return to idle mode. This will allow the player to participate to packet forwarding and as a result improve its reputation. We defined two battery classes denoted BC1 and BC2. In general player belonging to BC1 is either more oriented to sending packets or has a very good battery, while BC2 has either a low battery level or more selfish approach. The cooperation threshold is set to 0.9 for BC1 and 0.4 for BC2. B. Types of players Three types of players are participating in the tournament: normal players (NP), selfish players (SP) and low activity player (LAP). The properties of those players are summarized in Table I. TABLE I T YPES OF PLAYERS . Types of players normal (NP) low activity (LAP) selfish (SP)

Behavior plays according to the strategy sleeps half of the time, always forwards always awake (idle mode), newer forwards

A normal player plays according to some strategy (which evolves in the evolutionary process). Their goal is to send maximum number of packets and save battery life at the same time. The SP always discards packets. The LAP spends half

2007 IEEE Congress on Evolutionary Computation (CEC 2007)

3557

Evaluation of the strategies

Players Population A (NP)

Tournament

- batery class 1 players DDDD DD F F F F F F D ...

F DDD F D F FD F F F F F F F D F DDDD F F DF

Population B (NP) - batery class 2 players F F F D F DDDD F F DF ...

F F F D F F F D F F F DD F F F D F F F D F F F DD

SP (selfish player) LAP (low activity player)

a)

2: play ad hoc games

tournament

3: evaluate strategies of the population A and B

1: load players to the tournament players from the popul. A players from the popul. B 4: apply selection (generation n) and

players from the popul. A players from the popul. B (generation n+1)

reproduction to selfish players (SP) population A and B low activity players (LAP)

b) Fig. 5. Types of players participating to the tournament (a), evolution of populations A and B (b)

time (rounds) in sleep mode, but whenever available, always forwards packets. However LAP is always awake when it is time to send its own packet. All types of players are trying to send the same number of packets.

VI. E VOLUTION OF THE BEHAVIOR OF THE NORMAL PLAYERS USING GA In order to analyze behavior of the network we use similar evolutionary technique as in [12]. There are two populations of normal players (A and B). At the beginning of the evolution randomly generated strategies are assigned to each of the players. Then, players (strategies) are tested in a tournament according to the scheme described in Section V. Next, selection and reproduction operators are applied on the current population of strategies (independently for each population). Then N pairs of strategies are selected using tournament selection. The new strategies are obtained by applying crossover and mutation operators to each of N selected pairs. Standard one-point crossover is used. One of the two strategies created after crossover is randomly selected to the next generation. Finally, the standard uniform bit flip mutation is applied. As a result a new population of strategies is created (Fig. 5b). The process is repeated for a predefined number of times. In each generation the number of particular types of players participating to the tournament remains the same. VII. E XPERIMENTS A. Conditions of experiments The following parameters of GA are used: crossover probability: 0.9; mutation probability 0.001; number of rounds in the tournament: 300; number of generations: 100. Unknown nodes have a default trust value assigned to 1. All experiments were repeated 60 times and an average value was taken as a result. Two experiments differing in the number of selfish players (SP) were performed. The exact numbers of players of a different type participating to each experiment are shown in Table II. TABLE II PARAMETERS OF THE EXPERIMENTS : TYPES OF PLAYERS PARTICIPATING

tournament size population A size population B size number of SP number of LAP

Experiment 1 70 50 50 10 10

Experiment 2 60 50 50 0 10

C. Population of normal players Only strategies of normal player evolve (player of type SP and LAP continue to use the same approach until the end). We define two populations of players - population A and population B. Members of population A belong to the battery class BC1 which means that those players are more oriented to packets sending. Members of the population B belong to the battery class BC2, thus are rather focused on saving the battery’s life. The evolution of those two populations is done separately (selection and reproduction are applied independently to each population). Only during the evaluation phase are all types of players (NP belonging to population A and B, SP and LAP) mixed with each other in the tournament (Fig. 5a).

3558

Every tournament was composed of 25 players of the population A and 25 players of the population B and some number of SP and LAP players. Each experiment was performed according to the following scheme: Experiment scheme Step 1: Randomly select 25 players from the population A and 25 players from the population B. Step 2: Select all available SP and LAP players (0 or 10 depending on the experiment, the exact values are shown in Table II). Step 3: Play the tournament with selected players as described in Section V. Step 4: Repeat steps 2-3 with the remaining players of the

2007 IEEE Congress on Evolutionary Computation (CEC 2007)

population A and B. Step 5: Create a new populations A and B (as described in Section VI). Step 6: Repeat steps 1-5 for the predefined number of generations. B. Evolution of cooperation We define cooperation level as a percentage of packets that successfully reached the destination. The results for the first experiment are shown in Fig. 6. The average cooperation level for all players reached about 33%. The best result (53%) was scored by players belonging to population A. Population B managed to successfully send about 32% of packets. Low activity players (LAP) were able to send only 20% of packets. As one can expected he worse result was obtained by selfish players (SP) - less than 3% of their packets reached the destination. Fig. 7.

Fig. 6.

The evolution of cooperation.

The results for the second experiment are shown in Fig. 7. One can see that lack of the SP increased the average level of cooperation from 33% (experiment 1) to around 50%. Players from the population A successfully sent 82% of packets (big improvement comparing to the 53% obtained in experiment 1). On the other hand players of the population B did not score any significant improvement (33%). The only players that got worse result than in the experiment 1 were LAP. Their cooperation level dropped from 20% to 12%. As for the time spent in sleep mode, players from population A (battery class 1) did not sleep at all in the experiment 1 and slept on average 15% of the time (46 rounds) in experiment 2. Players belonging to the population B (battery class 2) slept 10% and 27% of the time in the two experiments. LAP slept 50 % of the time. For population A and B those times were related to the battery class while for LAP this time was fixed by a parameter. One can see that LAP (slept much more than the other types of players) did not manage to receive forwarding ser-

The evolution of cooperation.

vice from the network. Such players were always forwarding packets on the behalf of others and as a result they were to be considered as a trusted nodes. Nevertheless what let them down was the low activity level which combined with high trust level was not enough to guarantee good level of service provided by the network. The same situation would happen to the new players joining the network. For them the only way to integrate to the network would require both, gaining good trust level and actively participating towards the packet forwarding. This would of course require some time. Selfish players despite their activity did not manage to send more than 3 % of the packets. Most of the successful packet delivery occurred at the beginning of the tournament, when SP were still seen as unknown nodes. As the time went by their bad reputation spread over the network and consequently such players were excluded from the network services. As opposite to the SP, normal players wanted to send packets. In order to do so they had to spend energy to packet forwarding in order to gain good reputation. Players from the population A were more oriented to packet forwarding than players from the population B. This packet sending preference was represented by their battery class. In order to send more packets, player from the population A had stricter conditions defining the transition from idle to sleep mode. Both experiments showed that such approach did work: spending less time in sleep mode resulted in better network service provided to such node. C. Evolved Strategies During the evolutionary process the initial randomly generated strategies evolved and as a result the cooperation level in the network increased. We only show the strategies for the experiment 1 (almost the same results were obtained in the experiment 2). Firstly we analyze strategies for each trust level separately (sub-strategies). Strategies that evolved

2007 IEEE Congress on Evolutionary Computation (CEC 2007)

3559

in population A are shown in Table III and strategies for population B in Table IV. Only sub-strategies that appeared in more than 3% of the final generations are shown. TABLE III E VOLVED SUB - STRATEGIES FOR THE POPULATION A. Trust 0 011 (31%) 001 (26%) 010 (24%) 000 (18%)

Trust 1 011 (60%) 001(26%) 111 (7%) -

Trust 2 011 (95%) 111 (3%) 001 (2%) -

Trust 3 011 (86%) 111 (13%) -

TABLE IV E VOLVED SUB - STRATEGIES FOR THE POPULATION B. Trust 0 001 (28%) 010 (27%) 011 (23%) 000 (22%)

Trust 1 001 (48%) 011 (41%) 101 (5%) 010 (3%)

Trust 2 011 (68%) 111 (16%) 001 (9%) 101 (5%)

Trust 3 011 (77%) 001 (17%) 111 (5%) -

One can see that in very few cases the decision concerning nodes with lowest activity level was set to forward (first bit on the left of each sub-strategy). This was the reason for which LAP did not manage to send too many packets. The most popular sub-strategy for the population A was ”011” (always forward except when for the activity level). For the population B two sub-strategies dominated: ”011” and the stricter - ”001” (forward only for players with the maximum activity level). The four most popular strategies for both populations are shown in Table V. TABLE V T HE MOST POPULAR STRATEGIES FOR THE POPULATION

Population A 011 011 011 011 010 011 011 011 001 011 011 011 000 011 011 011

1 1 1 1

Population B 011 001 011 011 000 001 011 011 000 011 011 011 011 011 011 011

1 1 1 1

For the population A and B the difference between the strategies was in the trust level 0 (four different variations). Additionally, the population B evolved strategies also differed in approach for the trust level 1 (001 and 011). VIII. C ONCLUSIONS The performance of MANETs depends on cooperation among network participants. Such networks are usually deployed in vulnerable environments without any authority controlling all devices. Due to the limited resources of the batteries, nodes might not want to share packet forwarding responsibilities. Such behavior might seriously threat the existence of the network. In this paper we have proposed a strategy driven approach to enforce cooperations among ad hoc network participants using the notion of trust and activity. It forces nodes both to reduce the amount of time

3560

spent in sleep mode and forward packets. We have found such strategies using a game based model of the network and GA. Our model of the network includes a simple reputation collection mechanism. Experimental results showed that the proposed cooperation enforcement approach based on strategies was able to enforce high level of cooperation among the nodes that were interested in sending their own packets. Fair contribution towards packet forwarding was the only way to be able to send its own packets. ACKNOWLEDGMENT This research benefits from FNR SECOM-SIM funding. R EFERENCES [1] C. M. Cordeiro and D. P. Agrawal, Ad Hoc & Sensor Networks: Theory and Applications. World Scientific Publishing, 2006. [2] J. P. H. et al., “Cooperation in wireless networks,” http://winetcoop.epfl.ch/. [3] L. Buttyan and J. P. Hubaux, “Nuglets: a virtual currency to stimulate cooperation in self-organized mobile ad hoc networks,” Swiss Federal Institute of Technology, Tech. Rep. DSC/2001/001, 2001. [4] S. Marti, T. Giuli, K. Lai, and M. Baker, “Mitigating routing misbehavior in mobile ad hoc networks,” in Proc. ACM/IEEE 6th International Conference on Mobile Computing and Networking (MobiCom’00), 2000, pp. 255–265. [5] P. Michiardi and R. Molva, “Simulation-based analysis of security exposures in mobile ad hoc networks,” in Proc. European Wireless Conference, 2002. [6] L. Feeney and M. Nilsson, “Investigating the energy consumption of a wireless network interface in an ad hoc networking environment,” in Proc. The IEEE Conference on Computer Communications (INFOCOM’01), 2001, pp. 1548–1557. [7] S. Buchegger and J.-Y. L. Boudec, “The effect of rumor spreading in reputation systems for mobile ad-hoc networks,” in Proc. Workshop on Modeling and Optimization in Mobile, Ad Hoc and Wireless Networks (WiOpt’03), 2000, pp. 131–140. [8] ——, “Performance analysis of the confidant protocol,” in Proc. ACM 3rd International Symposium on Mobile Ad Hoc Networking and Computing (MobiHoc’02), 2002, pp. 226–236. [9] ——, “Self-policing mobile ad-hoc networks by reputation systems,” IEEE Communications Magazine, Special Topic on Advances in SelfOrganizing Networks, vol. 43, no. 7, July 2005. [10] S. Giordano and A. Urpi, “A self-organized and cooperative ad hoc networking,” in Mobile Ad Hoc Networking, S. Basagni, M. Conti, S. Giordano, and I. Stojmenovic, Eds. Wiley-IEEE Press, 2004. [11] P. Michiardi and R. Molva, “Core: A collaborative reputation mechanism to enforce node cooperation in mobile ad hoc networks,” in Proc. IFIP 6th Conference on Security Communications, and Multimedia (CMS’02), 2002, pp. 107–121. [12] N. Namikawa and H. Ishibuchi, “Evolution of cooperative behavior in the iterated prisoner’s dilemma under random pairing in game playing,” in Proc. IEEE Press Congress on Evolutionary Computation (CEC’05), 2005, pp. 2637–2644. [13] M. Felegyhazi and J. P. Hubaux, “Game theory in wireless networks: A tutorial,” EPFL - Switzerland, Tech. Rep., 2006. [14] A. MacKenzie and L. A. DaSilva, Game Theory for Wireless Engineers, V. T. W. Tranter, Ed. Morgan & Claypool Publishers, 2006. [15] L. Buttyan and J. P. Hubaux, “Stimulating cooperation in selforganizing mobile ad hoc networks,” ACM/Kluwer Mobile Networks and Applications (MONET), vol. 8, no. 5, Oct. 2003. [16] V. D. G. M. Raya, P. Papadimitratos and J.-P. Hubaux, “On data-centric trust establishment in ephemeral ad hoc networks,” Ecole Polytechnique Federale De Lausanne, LCA, Tech. Rep. LCA-REPORT-2007003, 2007. [17] G. Theodorakopoulos and J. S. Baras, “On trust models and trust evaluation metrics for ad hoc networks,” IEEE Journal on Selected Areas in Communications, vol. 24, no. 6, pp. 318–328, February 2006. [18] Z. H. Yan Sun, Wei Yu and K. J. R. Liu, “Information theoretic framework of trust modeling and evaluation for ad hoc networks,” IEEE JSAC special issue on security in wireless ad hoc networks, vol. 24, no. 2, February 2006.

2007 IEEE Congress on Evolutionary Computation (CEC 2007)

Suggest Documents