278                                                                 IEEE TRANSACTIONS ON MOBILE COMPUTING,                ...
CHOI ET AL.: HANDLING SELFISHNESS IN REPLICA ALLOCATION OVER A MOBILE AD HOC NETWORK                                      ...
280                                                                    IEEE TRANSACTIONS ON MOBILE COMPUTING,            V...
CHOI ET AL.: HANDLING SELFISHNESS IN REPLICA ALLOCATION OVER A MOBILE AD HOC NETWORK                                      ...
282                                                      IEEE TRANSACTIONS ON MOBILE COMPUTING,    VOL. 11, NO. 2,   FEBRU...
CHOI ET AL.: HANDLING SELFISHNESS IN REPLICA ALLOCATION OVER A MOBILE AD HOC NETWORK                                      ...
284                                                      IEEE TRANSACTIONS ON MOBILE COMPUTING,         VOL. 11, NO. 2,   ...
CHOI ET AL.: HANDLING SELFISHNESS IN REPLICA ALLOCATION OVER A MOBILE AD HOC NETWORK                                     2...
286                                                     IEEE TRANSACTIONS ON MOBILE COMPUTING,    VOL. 11, NO. 2,   FEBRUA...
CHOI ET AL.: HANDLING SELFISHNESS IN REPLICA ALLOCATION OVER A MOBILE AD HOC NETWORK                                    28...
288                                                    IEEE TRANSACTIONS ON MOBILE COMPUTING,   VOL. 11, NO. 2,   FEBRUARY...
CHOI ET AL.: HANDLING SELFISHNESS IN REPLICA ALLOCATION OVER A MOBILE AD HOC NETWORK                                      ...
290                                                         IEEE TRANSACTIONS ON MOBILE COMPUTING,        VOL. 11, NO. 2, ...
CHOI ET AL.: HANDLING SELFISHNESS IN REPLICA ALLOCATION OVER A MOBILE AD HOC NETWORK                                      ...
Upcoming SlideShare
Loading in …5
×

Handling selfishness in replica allocation over a mobile ad hoc network.bak

1,964 views

Published on

  • Be the first to comment

  • Be the first to like this

Handling selfishness in replica allocation over a mobile ad hoc network.bak

  1. 1. 278 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 2, FEBRUARY 2012 Handling Selfishness in Replica Allocation over a Mobile Ad Hoc Network Jae-Ho Choi, Kyu-Sun Shim, SangKeun Lee, and Kun-Lung Wu, Fellow, IEEE Abstract—In a mobile ad hoc network, the mobility and resource constraints of mobile nodes may lead to network partitioning or performance degradation. Several data replication techniques have been proposed to minimize performance degradation. Most of them assume that all mobile nodes collaborate fully in terms of sharing their memory space. In reality, however, some nodes may selfishly decide only to cooperate partially, or not at all, with other nodes. These selfish nodes could then reduce the overall data accessibility in the network. In this paper, we examine the impact of selfish nodes in a mobile ad hoc network from the perspective of replica allocation. We term this selfish replica allocation. In particular, we develop a selfish node detection algorithm that considers partial selfishness and novel replica allocation techniques to properly cope with selfish replica allocation. The conducted simulations demonstrate the proposed approach outperforms traditional cooperative replica allocation techniques in terms of data accessibility, communication cost, and average query delay. Index Terms—Mobile ad hoc networks, degree of selfishness, selfish replica allocation. Ç1 INTRODUCTIONM OBILE ad hoc networks (MANETs) have attracted a lot item that has a locally stored replica. However, there is of attention due to the popularity of mobile devices often a trade-off between data accessibility and query delay,and the advances in wireless communication technologies since most nodes in a MANET have only limited memory[13], [14], [31]. A MANET is a peer-to-peer multihop mobile space [32]. For example, a node may hold a part of thewireless network that has neither a fixed infrastructure nor frequently accessed data items locally to reduce its owna central server. Each node in a MANET acts as a router, query delay. However, if there is only limited memoryand communicates with each other. A large variety of space and many of the nodes hold the same replica locally, http://ieeexploreprojects.blogspot.comMANET applications have been developed [27]. For then some data items would be replaced and missing. Thus,example, a MANET can be used in special situations, the overall data accessibility would be decreased. Hence, towhere installing infrastructure may be difficult, or even maximize data accessibility, a node should not hold theinfeasible, such as a battlefield or a disaster area. A mobile same replica that is also held by many other nodes.peer-to-peer file sharing system is another interesting However, this will increase its own query delay.MANET application [9], [19]. A node may act selfishly, i.e., using its limited resource Network partitions can occur frequently, since nodes only for its own benefit, since each node in a MANET hasmove freely in a MANET, causing some data to be often resource constraints, such as battery and storage limitations.inaccessible to some of the nodes. Hence, data accessibility A node would like to enjoy the benefits provided by theis often an important performance metric in a MANET [12]. resources of other nodes, but it may not make its ownData are usually replicated at nodes, other than the original resource available to help others. Such selfish behavior canowners, to increase data accessibility to cope with frequent potentially lead to a wide range of problems for a MANET.network partitions. A considerable amount of research has Existing research on selfish behaviors in a MANET mostlyrecently been proposed for replica allocation in a MANET focus on network issues [2], [11], [20]. For example, selfish[12] [13] [32]. nodes may not transmit data to others to conserve their own In general, replication can simultaneously improve data batteries. Although network issues are important in aaccessibility and reduce query delay, i.e., query responsetime, if the mobile nodes in a MANET together have MANET, replica allocation is also crucial, since the ultimatesufficient memory space to hold both all the replicas and goal of using a MANET is to provide data services to users.the original data. For example, the response time of a query In this paper, we address the problem of selfishness incan be substantially reduced, if the query accesses a data the context of replica allocation in a MANET, i.e., a selfish node may not share its own memory space to store replica for the benefit of other nodes. We can easily find such cases. J.-H. Choi, K.-S. Shim, and S. Lee are with the Department of Computer in a typical peer-to-peer application. For example, in Science and Engineering, Korea University, 1, 5-ka, Anam-dong, Gnutella [1], nearly 70 percent of users do not share their Sungbuk-ku, Seoul 136-701, South Korea. E-mail: {redcolor25, bluesks, yalphy}@korea.ac.kr. storage for the benefit of others. The number of selfish users. K.-L. Wu is with the IBM T.J. Watson Research Center, 19 Skyline Drive, has increased to 85 percent of all Gnutella users over five Hawthorne, NY 10532. E-mail: klwu@us.ibm.com. years [10]. In this paper, we shall refer to such a problem asManuscript received 11 Feb. 2010; revised 2 Jan. 2011; accepted 10 Jan. 2011; the selfish replica allocation. Simply, selfish replica allocationpublished online 17 Mar. 2011. refers to a node’s noncooperative action, such that the nodeFor information on obtaining reprints of this article, please send e-mail to:tmc@computer.org, and reference IEEECS Log Number TMC-2010-02-0067. refuses to cooperate fully in sharing its memory space withDigital Object Identifier no. 10.1109/TMC.2011.57. other nodes. To our knowledge, this work is one of few 1536-1233/12/$31.00 ß 2012 IEEE Published by the IEEE CS, CASS, ComSoc, IES, & SPS
  2. 2. CHOI ET AL.: HANDLING SELFISHNESS IN REPLICA ALLOCATION OVER A MOBILE AD HOC NETWORK 279 TABLE 1 Access Frequency of Nodes (Excerpt from [12])Fig. 1. Example of selfish replica allocation (excerpt from [12]).works [18] [25] to cope with selfish nodes in the context ofreplica allocation over a MANET. We devise novel replica allocation techniques with the Fig. 1 illustrates an existing replica allocation scheme, developed selfish node detection method. They are basedDCG [12], where nodes N1 ; N2 ; . . . ; N6 maintain their on the concept of a self-centered friendship tree (SCF-tree) andmemory space M1 ; M2 ; . . . ; M6 , respectively, with the access its variation to achieve high data accessibility with low-frequency information in Table 1 (In Fig. 1, a straight line communication cost in the presence of selfish nodes. Thedenotes a wireless link, a gray rectangle denotes an original SCF-tree is inspired by our human friendship managementdata item, and a white rectangle denotes a replica allocated. in the real world. In the real world, a friendship, which is aIn Table 1, the gray colored area shows three data items that form of social bond, is made individually [4]. For example,are accessed frequently by N3 and N4 ). As shown in Fig. 1, although A and B are friends, the friends of A are notDCG seeks to minimize the duplication of data items in a always the same as the friends of B. With the help of SCF-group to achieve high data accessibility. tree, we aim to reduce the communication cost, while still Let us consider the case where N3 behaves “selfishly” by achieving good data accessibility. The technical contribu- 0maintaining M3 , instead of M3 , to prefer the locally tions of this paper can be summarized as follows:frequently accessed data for low query delay. In the originalcase, D3 , D9 , and D2 were allocated to N3 . However, due to . Recognizing the selfish replica allocation problem: http://ieeexploreprojects.blogspot.com We view a selfish node in a MANET from thethe selfish behavior, D3 , D5 , and D2 , the top three most perspective of data replication, and recognize thatlocally frequently accessed items, are instead maintained in selfish replica allocation can lead to degraded datalocal storage. Thus, other nodes in the same group, i.e., N1 , accessibility in a MANET.N2 , and N4 , are no longer able to access D9 . This showcases . Detecting the fully or the partially selfish nodesdegraded data accessibility, since N1 , N2 , and N4 cannot effectively: We devise a selfish node detectionfully leverage N3 ’s memory space as intended in coopera- method that can measure the degree of selfishness.tive replica sharing. . Allocating replica effectively: We propose a set of As another example, a node may be only “partially replica allocation techniques that use the self-selfish” in a MANET. For instance, node N4 may want to centered friendship tree to reduce communicationlocally hold D2 , one of the locally frequently accessed data cost, while achieving good data accessibility.items. In this case, N4 uses only a part of its storage for its . Verifying the proposed strategy: The simulationown frequently accessed data, while the remaining part is results verify the efficacy of our proposed strategy.for the benefit of overall data accessibility. Thus, N4 may 0 The remainder of this paper is organized as follows:decide to maintain M4 , instead of M4 . Even with only Section 2 describes the system model and the nodepartial selfishness, data accessibility is still degraded, since behavior model from the viewpoint of selfish replicathe other nodes in the same group, i.e., N1 , N2 , and N3 , allocation. The proposed detection method and the replicacannot access D10 . allocation techniques are presented in Section 3. Section 4 We believe that the partially selfish nodes (e.g., N4 in evaluates the performance of our strategy. We brieflyFig. 1) should also be taken into account, in addition to the overview related work, and conclude the paper in Sections 5fully selfish nodes (e.g., N3 in Fig. 1), to properly handle the and 6, respectively.selfish replica allocation problem. We therefore need tomeasure the “degree of selfishness” to appropriately handlethe partially selfish nodes. Motivated by this concept of 2 PRELIMINARIES“partial selfishness,” we borrow the notion of credit risk (CR) 2.1 System Model[22] from economics to detect selfish nodes. Since the credit In this paper, we assume that each node has limited localrisk is calculated from several selfishness features in this memory space and acts as a data provider of several datapaper, it can measure the degree of selfishness elaborately. items and a data consumer. Each node holds replicas of dataIn our scheme, a node can measure the degree of selfishness items, and maintains the replicas in local memory space.of another node, to which it is connected by one or multiple The replicas are relocated in a specific period. There are mhops in a MANET. nodes, N1 ; N2 ; . . . ; Nm and no central server determines the
  3. 3. 280 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 2, FEBRUARY 2012allocation of replica. Any node freely joins and organizes an selfish behavior to handle the selfish replica allocation.open MANET. We model a MANET in an undirected graph Therefore, we define three types of behavioral states forG ¼ ðIN; ILÞ that consists of a finite set of nodes, IN, and a nodes from the viewpoint of selfish replica allocation2:finite set of communication links, IL, where each element is atuple ðNj ; Nk Þ of nodes in the network. . Type-1 node: The nodes are nonselfish nodes. The To focus on the selfish replica allocation problem, we nodes hold replicas allocated by other nodes withindo not consider selfishness in data forwarding throughout the limits of their memory space.this paper. We make the following assumptions, similar to . Type-2 node: The nodes are fully selfish nodes. Thethose in [12]. nodes do not hold replicas allocated by other nodes, but allocate replicas to other nodes for their . Each node in a MANET has a unique identifier. All accessibility. nodes that are placed in a MANET are denoted by . Type-3 node: The nodes are partially selfish nodes. N ¼ fN1 ; N2 ; . . . ; Nm g, where m is the total number The nodes use their memory space partially for of nodes. allocated replicas by other nodes. Their memory . All data items are of equal size, and each data item is space may be divided logically into two parts: selfish held by a particular node as its original node. Each and public area. These nodes allocate replicas to data item has a unique identifier, and the set of all other nodes for their accessibility. data items is denoted by D ¼ fD1 ; D2 ; . . . ; Dn g, The detection of the type-3 nodes is complex, because where n is the total number of data items. they are not always selfish. In some sense, a type-3 node . Each node Ni ð1 i mÞ has limited memory space might be considered as nonselfish, since the node shares for replica and original data items. The size of the part of its memory space. In this paper, however, we have memory space is Si . Each node can hold only C, considered it as (partial) selfish, because the node also leads where 1 < C < n, replica in its memory space. to the selfish replica allocation problem, as described in . Data items are not updated. This assumption is for Section 1. Note that selfish and nonselfish nodes perform the sake of simplicity, i.e., we do not have to address the same procedure when they receive a data access data consistency or currency issues. Applications request, although they behave differently in using their satisfying this feature include digging investigation memory space. and weather information [12]. . Each node Ni ð1 i mÞ has its own access frequency to data item Dj 2 D ð1 j nÞ, AFij . 3 PROPOSED STRATEGY The access frequency does not change. http://ieeexploreprojects.blogspot.com 3.1 Overview . Each node moves freely within the maximum Our strategy consists of three parts: 1) detecting selfish velocity. nodes, 2) building the SCF-tree, and 3) allocating replica. At When a node Ni makes an access request to a data item a specific period, or relocation period [12], each node(i.e., issuing a query), it checks its own memory space first. executes the following procedures:The request is successful when Ni holds the original orreplica of the data item in its local memory. If it does not . Each node detects the selfish nodes based on credithold the original or replica, the request will be broadcast. 1 risk scores.The request is also successful when Ni receives any reply . Each node makes its own (partial) topology graph andfrom at least one node connected to Ni with one hop or builds its own SCF-tree by excluding selfish nodes.multiple hops, which holds the original or replica of the . Based on SCF-tree, each node allocates replica in atargeted data item. Otherwise, the request, or query fully distributed manner.processing, fails. The CR score is updated accordingly during the query When a node Ni receives a data access request, it either processing phase. We borrow the notion of credit risk from1) serves the request by sending its original or replica if it economics to effectively measure the “degree of selfish-holds the target data item (the data may go through multiple ness.” In economics, credit risk is the measured risk of losshops before reaching the requester), or 2) forward the request due to a debtor’s nonpayment of a loan. A bank examinesto its neighbors if it does not hold the target data item. the credit risk of an applicant prior to approving the loan. The measured credit risk of the applicant indicates if he/she2.2 Node Behavior Model is creditworthy. We take a similar approach. A node wantsThe work [23] considers only binary behavioral states for to know if another node is believable, in the sense that aselfish nodes from the network routing perspective: selfish replica can be paid back, or served upon request to share aor not (i.e., forwarding data or not). As mentioned in memory space in a MANET.Section 1, it is necessary to further consider the partial With the measured degree of selfishness, we propose a novel tree that represents relationships among nodes in a 1. Note that if the where-to-allocate-replica information is available to a MANET, for replica allocation, termed the SCF-tree. Thenode during the replica allocation phase, unicast may be an efficient way interms of communication cost. However, unicast may not be efficient from SCF-tree models human friendship management in the realthe viewpoint of query processing even in this case, since, if a node unicastsa request, the request is likely to fail frequently due to the network topology 2. We separate type-2 nodes from type-3 nodes, because they behavedynamics in a MANET. Thus, most research work [12] [13] [14] [32] on differently in using memory space, although type-2 and type-3 can be easilyreplica allocation over a MANET assumes broadcast-based query proces- combined by defining the size of the shared memory space, as a continuoussing rather than a unicast-based one. scale, say, where 0 implies type-2 and the other values imply type-3.
  4. 4. CHOI ET AL.: HANDLING SELFISHNESS IN REPLICA ALLOCATION OVER A MOBILE AD HOC NETWORK 281world. The key strength of the SCF-tree-based replica Pik CRk ¼ i ; where 0 1: ð2Þallocation techniques is that it can minimize the commu- à SSik þ ð1 À Þ Ã NDk inication cost, while achieving high data accessibility. This is The system parameter, , is used to adjust the relativebecause each node detects selfishness and makes replica importance of SSi and NDk . Node Ni updates CRk at every k i iallocation at its own discretion, without forming any group query processing and looks it up for the connected node Nk ator engaging in lengthy negotiations. every relocation period. In addition, each node also has its own threshold of CRk . If the measured CRk exceeds , i i3.2 Detecting Selfish Node node Nk will be detected as a selfish node by Ni . The valueThe notion of credit risk can be described by the following of Pik (as well as SSik and NDk ) is updated at every query iequation: processing of some item that Ni allocates to other node(s) expected risk during the replica allocation phase. Credit Risk ¼ : ð1Þ The effect of parameters SSi and NDk on CRk can be k i i expected value weighted by taking into consideration the size of memory In our strategy, each node calculates a CR score for each space at node Ni , Si , and the total number of data itemsof the nodes to which it is connected. Each node shall accessed by Ni , ni . The rationale is that CRk may be iestimate the “degree of selfishness” for all of its connected strongly affected by Si and ni if CRk is not normalized. By inodes based on the score. We first describe selfish features normalizing, we obtain (3), where nCRk stands for the ithat may lead to the selfish replica allocation problem to normalized CRk . idetermine both expected value and expected risk. Pik Selfish features are divided into two categories: node- nCRk ¼i k ; where 0 1: ð3Þ SS NDkspecific and query processing-specific. Node-specific features à Sii þ ð1 À Þ Ã ni ican be explained by considering the following case: Aselfish node may share part of its own memory space, or a Algorithm 1 describes how to detect selfish nodes. Atsmall number of data items, like the type-3 node. In this each relocation period, node Ni detects selfish nodes based k kcase, the size of shared memory space and/or the number on nCRi . Each node may have its own initial value of Pi as kof shared data items can be used to represent the degree of a system parameter. Interestingly, the initial value of Pi canselfishness. In our approach, the size of Nk ’s shared represent the basic attitude toward strangers. For instance, ifmemory space, denoted as SSik , and the number of Nk ’s the initial value equals zero, node Ni always treats a newshared data items, denoted as NDk , observed by a node Ni , node as a nonselfish node. Therefore, Ni can cooperate with i http://ieeexploreprojects.blogspot.comare used as node-specific features.3 Note that both SSi strangers easily for cooperative replica sharing. Replicas of kand NDk are Ni ’s estimated values, since Nk , which may be data items are allocated by allocation techniquesk shown in i Section 3.4. After replica allocation, Ni sets NDi and SSikselfish or not, does not necessarily let Ni know the number accordingly. Recall that both NDk and SSik are estimatedof shared data items or size of the shared memory space. i values, not accurate ones. The estimated values are adjustedThe node-specific features can be used to represent the at query processing time, according to Algorithm 2.expected value of a node. For instance, when node Ni k kobserves that node Nk shares large SSi and NDi , node Nk Algorithm 1. Pseudo code to detect selfish nodesmay be treated as a valuable node by node Ni . 00: At every relocation period As the query processing-specific feature, we utilize the 01: /à Ni detects selfish nodes with this algorithm à /ratio of selfishness alarm of Nk on Ni , denoted as Pik , which is 02: detection(){the ratio of Ni ’s data request being not served by the 03: for (each connected node Nk ){expected node Nk due to Nk ’s selfishness in its memory space 04: if ðnCRk ÞNk is marked as non-selfish; i(i.e., no target data item in its memory space).4 Thus, the 05: else Nk is marked as selfish;}query processing-specific feature can represent the expected 06: wait until replica allocation is done;risk of a node. For instance, when Pik gets larger, node Ni 07: for (each connected node N ){ kwill treat Nk as a risky node because a large Pik means that 08: if ðNi has allocated replica to Nk Þ{Nk cannot serve Ni ’s requests due to selfishness in its 09 NDk ¼ the number of allocated replica; imemory usage. To effectively identify the expected node (s), k 10: SSi ¼ the total size of allocated replica;}Ni should know the (expected) status of other nodes’ 11: else{memory space. Our SCF-tree-based replica allocation 12: NDk ¼ 1; itechniques, fortunately, support this assumption. This will k 13: SSi ¼ the size of a data item;be explained in the following section. Using the described 14: } } }features, we can modify (1) into (2): 3. Either SSi or NDk is sufficient, since we assume that all data items are k Algorithm 2. Pseudo code to update selfish features iof equal size. However, we stick to both factors here for a generic 00: At every query processing timeapplication. 01: /à When Ni issues a query à / 4. Actually, the reply from expected node Nk holding a target data itemmay not reach Ni due to disconnection, not its selfishness. In the current 02: update_SF(){solution, however, we assume that Ni cannot tell Nk ’s selfishness from 03: while (during the predefined time !){network disconnection, since their impacts are identical to Ni , i.e., datainaccessibility. The identification and handling of a false alarm is one of 04: if (an expected node Nk serves the query)interesting, promising future works. 05: decrease Pik ;
  5. 5. 282 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 2, FEBRUARY 2012Fig. 2. Example of a self-centered friendship tree.06: if (an unexpected node Nj serves the query){ of the graph G. Gi consists of a finite set of the nodes07: NDj ¼ NDj þ 1; i i connected to Ni and a finite set of the links, where08: SSij ¼ SSij þ (the size of a data item); Ni 2 INi ; INi IN, and ILi IL. Since the SCF-tree consists09: } } of only nonselfish nodes, we need to measure the degree of10: if (an expected node Nk does not serve the query){ selfishness to apply real-world friendship management to11: increase Pik ; replica allocation in a MANET. We use the value of nCRk i12: NDk ¼ NDk À 1; for this purpose. Before constructing/updating the SCF- i i13: k k SSi ¼ SSi À (the size of a data item); tree, node Ni eliminates selfish nodes from INi . Thus, Ni14: } } changes Gi into its own partial graph Gns . More formally, i k k we define Gns as the undirected graph Gns ¼ ðINns ; ILns Þ, i i i i As described in Algorithm 2, Ni maintains its NDi , SSi , k which consists of a finite set of nonselfish nodes detected byand Pi during each query processing phase. When Ni issues Ni , INns , and a finite set of communication links among ia query, Ni awaits the response from the expected node Nk nodes N 2 INns , ILns . ILns is derived by a smoothing outduring the predefined wait time !, where ! is the expected operation in graph theory.i For instance, if there exists a path i i http://ieeexploreprojects.blogspot.commaximum time taken to exchange one round of request- hN ; N ; N ; . . . ; N ; N i in G , where N ; N 2 INns and j a b l k i j k iresponse message across the entire network. Whenever Ni N ; N ; . . . ; N 2 INs ¼ IN À INns , N removes every link k k a b l i i i idetects the selfish behavior of Nk , it modifies Pi , NDi , and containing the selfish nodes and then replaces ðN ; N Þ k j kSSi accordingly. If Nk serves the query as expected, with a new edge (the new edge is added since we do nothowever, only Pik will be decreased, while NDk and SSi consider selfishness in data forwarding). i kremain unchanged. Note that, in case an unexpected node Nj Based on Gns , Ni builds its own SCF-tree, denoted as ireplies to Ni ’s request, Ni will modify NDj and SSi T SCF . Algorithm 3 describes how to construct the SCF-tree. i j j iaccordingly, while not affecting Pi , Pik , NDk , and SSik . That Each node has a parameter d, the depth of SCF-tree. When iis, the reply from unexpected nodes does not affect the selfish N builds its own SCF-tree, N first appends the nodes that i ifeatures of expected nodes. Note also that Ni may receive are connected to Ni by one hop to Ni ’s child nodes. Then, Nimultiple replies from unexpected and/or expected nodes. In checks recursively the child nodes of the appended nodes,this case, Ni modifies Pik , NDk , and/or SSik accordingly for until the depth of the SCF-tree is equal to d. Fig. 2 illustrates ieach reply based on Algorithm 2. If Ni does not receive any the network topology and some SCF-trees of N1 and N2 inreply from expected node Nk during !, it observes Nk ’s Fig. 1. In this example, we assume that all nodes areselfish behavior and modifies Pik , NDk , and SSik accordingly. nonselfish nodes for simplicity. As can be seen in Figs. 2b i and 2c, the SCF-tree may have multiple routes for some3.3 Building SCF-Tree nodes from the root node. For example, in Fig. 2b, N1 hasThe SCF-tree based replica allocation techniques are two routes to N2 when N1 sets its own parameter d to be 4.inspired by human friendship management in the real Since the multiple routes confer high stability [12], weworld, where each person makes his/her own friends allocate more replicas to the nodes that have multiple routesforming a web and manages friendship by himself/herself. from the root node. At every relocation period, each nodeHe/she does not have to discuss these with others to updates its own SCF-tree based on the network topology ofmaintain the friendship. The decision is solely at his/her that moment.discretion. The main objective of our novel replica alloca-tion techniques is to reduce traffic overhead, while Algorithm 3. Pseudo code to build SCF-treeachieving high data accessibility. If the novel replica 00:/à Ni makes SCF-tree with a parameter, depth dà /allocation techniques can allocate replica without discus- 01: constructScfTree(){sion with other nodes, as in a human friendship manage- 02: append Ni to SCF-tree as the root node;ment, traffic overhead will decrease. 03: checkChildnodesðNi Þ; Prior to building the SCF-tree, each node makes its own 04: return SCF-tree;}partial topology graph Gi ¼ ðINi ; ILi Þ, which is a component 05: Procedure checkChildnodesðNj Þ{
  6. 6. CHOI ET AL.: HANDLING SELFISHNESS IN REPLICA ALLOCATION OVER A MOBILE AD HOC NETWORK 283Fig. 3. SCF-tree-based replica allocation from N1 ’s perspective.06: /à INa is a set of nodes that are adjacent nodes to Nj à / j in [12]) where replicas are allocated based on the access07: for (each node Na 2 INa ){ j frequency of group members. Each node Ni executes this08: if (distance between Na and the root d ) algorithm at every relocation period after building its own09: continue; SCF-tree. At first, a node determines the priority for10: else if ðNa is an ancestor of Nj in TiSCF Þ allocating replicas. The priority is based on Breadth First11: continue; Search (BFS) order of the SCF-tree. The dotted arrow in Fig. 3b12: else{ append Na to TiSCF as a child of Nj ; represents the priority for allocating replica. For example, in13: checkChildnodes(Na ); } } } Fig. 3b, N1 selects N2 as the first target of the allocation. After allocating a replica to the last target node (i.e., N5 in Fig. 3b),3.4 Allocating Replica the first node, N2 will be the next target in a round-robinAfter building the SCF-tree, a node allocates replica at every manner. The target node will be the expected node in ourrelocation period. Each node asks nonselfish nodes within strategy. Since a node allocates a replica to the target node inits SCF-tree to hold replica when it cannot hold replica in its its SCF-tree once during a single relocation phase, a node haslocal memory space. Since the SCF-tree based replica at most one expected node for each replica. When its own Msallocation is performed in a fully distributed manner, each is not full, Ni allocates replica to its Ms first. When its own Ms http://ieeexploreprojects.blogspot.comnode determines replica allocation individually without any becomes full, the node requests replica allocation to nodes incommunication with other nodes. its SCF-tree in the order of priority. In our allocation Since every node has its own SCF-tree, it can perform technique, if Ms is full and Mp is not full, a node may usereplica allocation at its discretion. For example, in Fig. 3, Mp for data items of local interest temporarily. However,after building the SCF-tree in Fig. 3b, N1 may ask N2 to hold public data cannot be held in Ms .some replicas. Note that the decision, whether to accept thereplica allocation request or not, will be made at N2 ’s Algorithm 4. Pseudo code for replica allocation à Ãdiscretion (if N2 is selfish, it may not accept the replica 00: / Ni executes this algorithm at relocation period /allocation request). Afterward, node N1 may issue a query 01: replica_allocation(){ SCFfor the replicas. At this time, N1 is likely to recognize 02: Li ¼ make priorityðTi Þ;whether the expected N2 serves the query (i.e., nonselfish) or 03: for (each data item 2 IDi ){not (i.e., selfish). By observing the behavior of N2 , N1 04: if (Ms is not full)updates ND2 , SS1 , and P1 accordingly (see Section 3.2). 2 2 05: allocate replica of the data to Ms ; 1 à à Since we assume that a node can use some portion of its 06: else{/ Ms is full /memory space selfishly, we may divide memory space Mi 07: allocate replica of the data to the target node;for replica logically into two parts: selfish area Ms and 08: /à the target node is selected from Li à =public area Mp . Each node may use its own memory space 09: if (Mp is not full)Mi freely as Ms and/or Mp . In each node, Ms will be used 10: allocate replica of the data to Mp ; } }for data of local interest (i.e., to reduce query delay), while 11: while (during a relocation period){Mp for public data is asked to hold data by other node(s) 12: if ðNk requests for the allocation of Dq Þ(i.e., to improve data accessibility). A type-2 node uses Mi 13: replica_allocation_for_others ðNk ; Dq Þ; } } SCFfor only Ms , whereas a type-3 node uses Mi for Ms and Mp . 14: Procedure make_priority ðTi Þ { SCFType-1 node’s Mi will be equal to Mp . 15: for (all vertices in Ti ){ Algorithm 4 describes how to allocate replica, where IDi 16: select a vertex in TiSCF in order of BF S;and Li denote an ordered set of all data items to be allocated 17: append the selected vertex id to Li ; }by Ni and the list of node ids, respectively. Note that, IDi is 18: return Li ; }sorted in descending order of Ni ’s access frequency. 19: Procedure replica_allocation_for_othersðNk ; Dq Þ{Consequently, each node allocates replicas in descending 20: if ðNk is in TiSCF and Ni does not hold Dq Þ{order of its own access frequency. This is quite different from 21: if (Mp is not full) allocate Dq to Mp ;existing group-based replica allocation techniques (e.g., DCG 22: else{=à Mp is full à =
  7. 7. 284 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 2, FEBRUARY 2012 TABLE 2 Example of nCRk of Each Node i23: if(Ni holds any replica of local interest in Mp )24: replace the replica with Dq ; Fig. 4. Example of SCF-tree-based replica allocation.25: else{26: =à Nh is the node with the highest nCRh 1. Each node allocates replica at its discretion based on i among the nodes which allocated replica to Mp à = Table 1 and Fig. 1.27: if ðnCRh nCRk Þ 2. When each node receives a request for replica i i28: replace the replica requested by Nh with Dq ; allocation from Nk during a relocation period, it determines whether to accept the request.29: } } } } 3. If the request is accepted, each node maintains its Mp During a relocation period, Ni may receive requests for based on the nCRk given by Table 2. If the highest ireplica allocation from any nodes within its SCF-tree. If Ni nCRh among the nodes which allocated replica to iis not a fully selfish node, Ni shall maintain its memory Ni , is greater than nCRk , Ni replaces replica ispace Mp for the requests from other nodes, say Nk . In this allocated by Nh with replica requested by Nk .case, Ni should determine whether to accept the replica In this example, each node allocates replica at itsallocation request. If Nk is in the TiSCF and Ni does not hold discretion like N ’s allocation in Fig. 3c and then each node 1the requested replica of Dq in its memory space, the replica maintains its memory space based on received requests forallocation will be accepted. If Ni ’s Mp is not full, the replica replica allocation. For instance, N allocates D , D , and D 1 2 3 6of Dq will be allocated to the Mp . If Ni ’s Mp is full and Ni to N , and N allocates D , D , and D to N . In this case, N 5 6 3 9 4 5 5 http://ieeexploreprojects.blogspot.comholds any replica allocated by itself in its Mp , Ni will accepts allocation request from N since nCR1 is greater than 6 5replace the replica with Dq . If Ni does not hold any replica nCR6 . Thus, N5 holds D3 and D9 in its Mp . In our allocation 5allocated by itself in its Mp and Mp is full, Ni compares the h k technique, each node allocates replica to other nodesnCRi with nCRi , where Nh is the node with the highest considering selfishness. Thus, every node can access D9nCR score among the nodes that allocated replica to Ni ’s and D10 even with the existence of selfish nodes in Fig. 4,Mp . If nCRh exceeds nCRk , Ni replaces the replica i i which is contrary to the motivating case in Fig. 1. Therefore,requested by Nh with Dq . the overall accessibility increases from 80 to 100 percent. Fig. 3c shows the expected result of replica allocation Moreover, since each node allocates replica to the nodesfrom N1 ’s perspective, derived from Tables 1, 2, and Fig. 1. within its SCF-tree at its own discretion, the proposedSince N1 may not know the real size of memory space at allocation technique is highly expected to incur very lowother nodes, N1 allocates a different number of data items to communication cost.each node. We omit the original data of each node and other In addition to the above-mentioned one, alternativereplica here, because N1 may not know who hold theoriginal data and/or other replica. We assume that N1 sets replica allocation techniques can be developed based onits threshold to 0.7. In Fig. 3c, N1 executes replica the SCF-tree structure. Thus, we propose a set of replicaallocation based on its own SCF-tree, described in Fig. 3b. allocation techniques, as follows:The depth of the SCF-tree in Fig. 3b is two. Since nCR3 and 1 . SCF-tree-based replica allocation (SCF): This tech-nCR4 are greater than , N1 detects N3 and N4 as selfish 1 nique is described in Algorithm 4 and serves as anodes. Therefore, N3 and N4 are excluded by N1 in the basic SCF-tree based technique.replica allocation. Fig. 3a shows Gns that is built by N1 prior 1 . SCF-tree based replica allocation with degree ofto constructing the SCF-tree. After its own replica alloca- selfishness (SCF-DS): This technique takes intotion, N1 expects that N2 , N5 , and N6 maintain their own account the degree of selfishness in allocatingmemory space, like M2 , M5 , and M6 in Fig. 3c, respectively. replicas. That is, less selfish nodes should be visited The objective of the above-mentioned SCF-tree based first at the same SCF-tree level. This policy makesreplica allocation technique is to achieve good data accessi- more frequently accessed data items reside on lessbility with low communication cost in the presence of selfish selfish nodes.nodes. Since our replica allocation technique appropriately . SCF-tree based replica allocation with closer nodehandles the (partially) selfish nodes, the technique is (SCF-CN): This technique allocates more replicas toexpected to achieve the objective. Fig. 4 illustrates the final the closer nodes in the SCF-tree. That is, morereplica allocation results derived from Tables 1, 2, and Fig. 1. replicas are allocated to the node with lower depthIn more detail, each node processes the following procedures: within the SCF-tree.
  8. 8. CHOI ET AL.: HANDLING SELFISHNESS IN REPLICA ALLOCATION OVER A MOBILE AD HOC NETWORK 285 . Extended SCF-tree based replica allocation (eSCF): TABLE 3 This technique is based on an extended SCF-tree Simulation Parameters (eSCF-tree). In this technique, Ni builds its eSCF- tree based on Gi , not Gns . Consequently, eSCF-tree i includes selfish nodes, as well as nonselfish nodes. Ni marks the detected selfish nodes within its eSCF- tree and allocates replicas to the nonselfish nodes in its eSCF-tree first. After the first round, Ni allocates replicas to all nodes (i.e., including selfish nodes) within its eSCF-tree in a round-robin manner. As it will turn out in Section 4, this technique shows the best performance in terms of query delay. The implementation of alternative techniques (i.e., SCF-DS, SCF-CN, and eSCF) can be easily done by making slight Type-2 nodes will not accept replica allocation requestschanges to Algorithm 4 (mainly in the make_priority() from other nodes in the replica allocation phase, thus beingprocedure). In the case of SCF-DS, the priority for replica expected to create significant selfishness alarm in queryallocation is determined by the pair: (depth of SCF-tree, processing. Type-3 nodes will accept or reject replicanCR ). That is, the higher priority is given to the lower allocation requests according to their local status (seedepth, and for nodes with the same depth, the replica is Algorithm 4 in Section 3.4), thereby causing some self-allocated in ascending order of the nCR scores. In the case ishness alarms in subsequent query processing.of SCF-CN, the vertex ids are appended to Li repeatedly. We evaluate our strategy using the following fourThe number of repetitions is determined as 1 þ diff, where performance metrics:diff is the difference between the depth of the SCF-tree andthe depth of the vertex of interest in the SCF-tree. For 1. Overall selfishness alarm: This is the ratio of theexample, in Fig. 3b, nodes in depth 1 will be repeated twice overall selfishness alarm of all nodes to all queries(i.e., 1 þ 1), while nodes in depth 2 will be repeated once that should be served by the expected node in the(i.e., 1+0). Consequently, more replicas are allocated to entire system.the closer nodes. In the case of eSCF technique, eSCF-tree is 2. Communication cost: This is the total hop count ofused for replica allocation instead of SCF-tree. Therefore, all data transmission for selfish node detection andTiSCF in Algorithm 4 should be changed into TieSCF . To replica allocation/relocation, and their involved http://ieeexploreprojects.blogspot.comdetermine the priority, Ni appends nonselfish nodes to Li information sharing.first, and then entire nodes, including selfish nodes, to Li . 3. Average query delay: This is the number of hops from a requester node to the nearest node with the requested data item. If the requested data item is in4 PERFORMANCE EVALUATION the local memory of a requester, the query delay is 0.4.1 Simulation Environment We only consider successful queries, i.e., it is theOur simulation model is similar to that employed in [12]. total delay of successful requests divided by the totalIn the simulation, the number of mobile nodes is set to 40. number of successful requests.Each node has its local memory space and moves with a 4. Data accessibility: This is the ratio of the numbervelocity from 0 $ 1 (m/s) over 50 ðmÞ Â 50 ðmÞ flatland. of successful data requests to the total number ofThe movement pattern of nodes follows the random data requests.waypoint model [5], where each node remains stationary During 50,000 units of simulation time, we simulate andfor a pause time and then it selects a random destination compare the proposed replica allocation strategies (i.e., SCF,and moves to the destination. After reaching the destina- SCF-DS, SCF-CN, and eSCF) with the following techniques:tion, it again stops for a pause time and repeats thisbehavior. The radio communication range of each node is a . Static Access Frequency (SAF) [12]: Each nodecircle with a radius of 1 $ 19 (m). We suppose that there allocates replica based only on its own accessare 40 individual pieces of data, each of the same size. In frequency, without considering or detecting selfishthe network, node Ni (1 i 40 ) holds data Di as the nodes. This allocation technique is expected to showoriginal. The data access frequency is assumed to follow the optimal performance in terms of communicationZipf distribution. The default relocation period is set to cost, because the technique does not communicate256 units of simulation time which we vary from 64 to with others to allocate replica.8,192 units of simulation time. Table 3 describes the . Dynamic Connectivity-based Grouping (DCG)simulation parameters. [12]: DCG creates groups of nodes that are bicon- The default number of selfish nodes is set to be 70 percent nected components in a network, without consider-of the entire nodes in our simulation, based on the ing or detecting selfish nodes. In each group, theobservation of a real application [1]. We set 75 percent of node, called coordinator, allocates replicas based onselfish nodes to be type-3 (i.e., partially selfish) and the the access frequency of the group. This technique isremaining to be type-2 (i.e., fully selfish). Type-3 nodes known to have high data accessibility.consist of three groups of equal size. Each group uses 25, 50, . Dynamic Connectivity-based Grouping with de-and 75 percent of its memory space for the selfish area. tection (DCGþ ): The technique combines DCG with
  9. 9. 286 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 2, FEBRUARY 2012 our detection method. Initially, groups of nodes are created according to the DCG methodology. Subse- quently, in each group, selfish nodes are detected based on our detection method. For the detection, each node in a group sends its nCR scores to the coordinator with the lowest suffix of node identifer in the group [13]. The coordinator excludes selfish node(s) from the group for replica allocation. As a result, only nonselfish nodes form a group again. The replica allocation is only performed within the final group without any selfish nodes. After replica allocation, the coordinator shares the information of replica allocation with group members for the subsequent selfishness detection. In particular, self- ish nodes are determined to be selfish only when all other nodes in the group agree with the node’s selfishness. We experimented with other approaches to determine selfishness, including the agreement of 1) at least one and 2) the majority of nodes. We chose to use the agreement of all other nodes experimen- tally, since this shows the best data accessibility performance in our experiments: our analysis reveals that at least one node approach shows the worst data accessibility, whereas its communication cost and average query delay are marginally better than that of the others.4.2 Parameter Setting in Our StrategySeveral parameters are used in our strategy. For theselfishness detection algorithm, we use the threshold .For the selfishness features update algorithm, we use the http://ieeexploreprojects.blogspot.comalarm.predefined wait time ! and need to initialize the selfishness Fig. 5. Overall selfishnessalarm Pik . In building the SCF-tree, we use the depth d. We selfish nodes effectively with DCGþ , since many selfishselect data accessibility as the most important criterion to nodes will be removed from the replica allocation phase anddetermine the values of parameters. We set ! to 50 units of simulation time, since we observe many reliable nodes will serve data requests from nodes.that one round of request-response exchanges in the entire However, recall that the selfishness alarm may alsonetwork takes less than 50 units of simulation time in our occur due to network disconnections, i.e., false alarm (seesimulation setting. A similar reasoning is made in a prior the footnote in Section 3.2). Actually, it is desirable tosimulation environment [14]. We choose to use 2 as the observe truly selfish nodes to evaluate the effectiveness of the detection method. As mentioned earlier in Section 3.2, adefault depth of the (e)SCF-tree experimentally after data requester cannot tell an expected node’s selfishnessinspecting our simulation results. We observe that average from network disconnection, since their impacts arequery delay, data accessibility, and communication cost are identical to the requester, i.e., no reply from the expectedinsensitive to the depth of the SCF-tree. More specifically, node. Although the false alarm exists from the viewpoint ofboth average query delay and data accessibility are almost nodes, we realize that the true selfishness can be identifiedthe same with varying depths of SCF-tree, while commu- in the simulation results by identifying which data requestnication cost increases marginally as the depth increases. k has not been served by the expected, connected node in query Pi is initialized to 0 and is set to 0.7. We pick the values processing. Obviously, the expected and connected nodesexperimentally after inspecting our simulation results. In are only involved in a true selfishness alarm, whereas theour analysis, when Pik is initialized to 0, a node cooperates expected but disconnected nodes in query processing maywith others easily and all techniques show the best lead to a false alarm. Therefore, we plot two additionalperformance. Both average query delay and communication methods, DCG (selfishness only) and DCGþ (selfishnesscost are insensitive to . However, all techniques that use only) in Fig. 5. The overall selfishness alarm of DCGour detection method show the best performance in terms (selfishness only) and DCGþ (selfishness only) is obtainedof data accessibility, when is set to 0.7. by counting data requests that have not been served by the expected, connected nodes in query processing, i.e., excluding4.3 Simulation Results false alarms caused by disconnections.4.3.1 Effectiveness of Detection Method Figs. 5a and 5b present the overall selfishness alarm withWe first compare the overall selfishness alarm of DCG with varying relocation period and the size of memory space,that of DCGþ to demonstrate the effectiveness of our respectively. As expected, the DCGþ technique significantlydetection method. We expect that the overall selfishness reduces the selfishness alarms in all cases. This can bealarm will be reduced in query processing by detecting explained as follows: fewer selfish nodes become expected
  10. 10. CHOI ET AL.: HANDLING SELFISHNESS IN REPLICA ALLOCATION OVER A MOBILE AD HOC NETWORK 287Fig. 6. Communication cost with varying parameters.nodes in DCGþ than in DCG, since our detection method cases. Similarly, the performance of the SCF-CN techniqueaugmented in DCGþ detects selfish nodes effectively and the is similar to those of other techniques, since nodes with adetected selfish nodes are removed from replica allocation low depth of SCF-tree do not necessarily mean nearbygroups. Consequently, more expected nodes serve queries in nodes in a real hop count (e.g., N5 from the viewpoint of N1DCGþ than in DCG. in Fig. 3). As expected, the overall selfishness alarm of DCG Communication cost decreases in every technique,(selfishness only) and DCGþ (selfishness only) is less than except SAF, as the relocation period gets longer (Fig. 6a),that of DCG and DCGþ , respectively. We see that, on since the frequency of selfish node detections and replicaaverage, about 62 and 56 percent of the overall selfishness allocations decreases with a large relocation period. Asalarm with DCG and DCGþ are caused by node self- shown in Fig. 6b, communication cost increases as localishness, not disconnections, in Fig. 5a. Clearly, Fig. 5 shows memory size increases at first, but it decreases from athat our detection method can reduce the overall self- certain memory size (around 20 in our analysis) in everyishness alarm effectively. technique, except SAF. When the memory size is larger than http://ieeexploreprojects.blogspot.com each node holds replicas of many a certain memory size,4.3.2 Communication Cost data items and thus replica relocation rarely occurs.We evaluate several replica allocation techniques in terms Fig. 6b clearly shows that communication cost of ourof communication cost. Our intuition was that our techniques is less sensitive to the size of memory space þtechniques outperform DCGþ , while being inferior to than for DCG (or DCG ), since fewer replica relocations þSAF. This intuition is confirmed by the results in Fig. 6. have occurred in our techniques than in DCG (or DCG ):DCGþ shows the worst performance in all cases, since (e)SCF-tree does not change a lot, thus resulting in fewergroup members need to communicate with each other in replica relocations in our techniques. However, the DCGdetecting selfish nodes and allocating/relocating replica. (or DCGþ ) technique is vulnerable to network topologyWe report that, on average, about 70 percent of total changes: it should relocate replicas whenever topologycommunication cost in the DCGþ technique is caused by changes. As another reason, replicas in local selfish spacereplica allocation/relocation, while about 30 percent is do not need to be reallocated in our techniques.caused by selfish node detection. As expected, SAF shows Fig. 6c shows that communication cost of DCG, DCGþ ,the best performance, since no detection of selfish nodes or and our techniques decreases with more selfish nodes, sincegroup communication is made. Although SAF and DCG the cost in fetching replicas and/or in group communica-techniques show better performance than DCGþ in com- tion will be reduced. In the DCG technique, the effectivemunication cost, they are expected to show poor perfor- memory space in the entire system gets reduced due tomance in data accessibility in the presence of selfish nodes many selfish nodes, resulting in reduced cost in fetching(which will be confirmed in Section 4.3.4). Interestingly, our replicas. In the DCGþ technique, cost reduction is fasteranalysis reveals that our techniques, which detect selfish than in DCG, since fewer nodes participate in replicanodes, considerably outperform DCG, which does not allocation. Note that the communication cost of ourperform the selfishness detection procedure. This verifies techniques is relatively stable. This can be explained asthe efficacy of our fully distributed way of detecting selfish follows: the communication reduction factor is much lessnodes and allocating replica, i.e., no group communication. than in DCG and DCGþ , and the distance between There is no decisive difference among our techniques, nonselfish nodes increases simultaneously.except that the eSCF technique shows the worst behavior.The other techniques (SCF, SCF-DS, and SCF-CN) show 4.3.3 Average Query Delayvery similar communication cost, since they are all based on Fig. 7 shows average query delay for various parameters.the same SCF-tree structure. Note that the consideration of As expected, the SAF technique shows the best performanceselfishness degree in the SCF-DS technique does not affect in terms of query delay, since most successful queries arethe performance significantly, since nodes in the SCF-tree served by local memory space. Our techniques showare sufficiently nonselfish to hold allocated replicas in many slightly better query delay than does the DCG technique
  11. 11. 288 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 2, FEBRUARY 2012Fig. 7. Query delay with varying parameters.(while outperforming DCG significantly in communication out of groups increases with more selfish nodes. That is, thecost). The DCGþ technique shows the worst performance. profit of DCG is considerably hampered by many selfishThis can be explained as follows: the distance in hop counts nodes, since the biconnected component becomes none-among group members in the DCGþ technique is longer ffective. However, in our techniques, the number ofthan that in the DCG technique. Since most successful successful queries being locally served increases slightly.queries are served by group members in these techniques, This is because when the number of nodes in the SCF-tree isthe long distance among group members affects query very small, the local public memory space may be used fordelay negatively. data items of local interest temporarily. Among our techniques, the eSCF technique shows thebest average query delay. In the eSCF technique, nearby 4.3.4 Data Accessibilityselfish nodes can be added to the eSCF-tree. Conse- We evaluate the data accessibility of replica allocationquently, some queries are possibly served by the nearby methods under consideration. We expect that our techni-(partially) selfish nodes, whereas only nonselfish nodes, ques perform significantly better than other techniques in http://ieeexploreprojects.blogspot.comwhich maybe far away, serve queries in other techniques. the presence of selfish nodes. Fig. 8 highlights the strength Our intuition was that query delay decreases as the size of our methodology: in all cases, our techniques outperformof memory space increases. This intuition is confirmed by SAF, DCG, and DCGþ considerably, since our techniquesthe results in Fig. 7b. As the size of memory space increases,many nodes will accept replica allocation/relocation re- can detect and handle selfish nodes in replica allocationquests, since the size of public memory space increases as effectively and efficiently. Among our techniques, the eSCFwell. As a result, more queries are served by nearby nodes technique shows a slightly poorer performance.or locally. Our initial intuition was that, data accessibility is stable Very interestingly, Fig. 7c shows that the performance of with relocation periods. This is confirmed by the results inDCG and DCGþ gets worse, while the performance of our Fig. 8a. Fig. 8b shows that data accessibility is proportionaltechniques improves slightly with more selfish nodes. We to the size of memory space, as expected. The performancehave done an in-depth analysis for this situation. We found of our techniques improves faster than do others, since ourthat, in the DCG and DCGþ techniques, the number of techniques fully utilize the memory space of nodes. Fig. 8csuccessful queries being served by some (nonselfish) nodes shows the robustness of our techniques with respect toFig. 8. Data accessibility with varying parameters.
  12. 12. CHOI ET AL.: HANDLING SELFISHNESS IN REPLICA ALLOCATION OVER A MOBILE AD HOC NETWORK 289Fig. 9. Effect of communication range.varying percentage of selfish nodes. The profit of DCG techniques, each node observes the behaviors of others andtechnique is considerably hampered by selfish nodes, uses the acquired information for routing [20], [21], [28]. Inwhereas the SAF technique is insensitive at all. credit-payment techniques, each node gives a credit to others, as a reward for data forwarding [2], [30]. The acquired credit4.3.5 Effect of Communication Range is then used to send data to others. The game theory-basedFinally, we examine the effect of communication range. In techniques assume that all rational nodes can determine theirall cases, our techniques outperform DCG and DCGþ , own optimal strategies to maximize their profit [11], [29]. Thewhile SAF shows the best performance in terms of game theory-based techniques want to find the Nashcommunication cost and average query delay. As the Equilibrium point [26] to maximize system performance. Allcommunication range increases, the communication cost these techniques focused on packet forwarding. In contrast,of all techniques increases at first, but it gets smaller from a this paper focuses on the problem of selfish replica allocation.certain point (9 in our analysis), except SAF. When the The work [18] introduced several trust models and trustcommunication range is smaller than a certain point, the management schemes in a MANET that can help mitigate http://ieeexploreprojects.blogspot.comcommunication cost increases as the communication range selfishness in a MANET. Although the work introducesgets larger, since the number of nodes connected to each several schemes for the detection of selfish nodes, the workother increases and thus the communication cost caused by also focuses on the selfish behavior from the networkreplica relocation increases. Conversely, when the commu- perspective, such as dropping or refusing to forwardnication range is larger than a certain point, the number of packets. Note that traditional detection techniques in ahops among connected nodes decreases. Therefore, the network domain cannot be directly applied to the selfishcommunication cost caused by replica relocation decreases. replica allocation problem, since they mainly make a binary Fig. 9b shows that the average query delay of all decision: selfish or not, that is, forwarding data or not.techniques degrades as the communication range increases, However, we need to consider the partial selfish behaviorsbut it improves from a certain point (9 in our analysis), into account in the selfish replica allocation problem, assince when the communication range is larger than 9, the illustrated in Section 1.number of hops among connected nodes decreases. We see,in Fig. 9c, that the data accessibility improves with the wide 5.2 Replica Allocation and Caching Techniquesrange of communication, since more nodes become con- In the pioneering work [12], some effective replica allocationnected. Clearly, our techniques work best. techniques are suggested, including static access frequency, dynamic access frequency and neighborhood (DAFN), and5 RELATED WORK dynamic connectivity-based grouping. It has been reported5.1 Selfish Nodes from a Network Perspective that DCG provides the highest data accessibility, while SAF incurs the lowest traffic, of the three techniques. AlthoughMANETs are divided into two categories: closed and open inthe work [3], [24], [33]. In a closed MANET, all nodes DCG performs best in terms of data accessibility, it causesvoluntarily participate in and organize the network. the worst network traffic. Moreover, DCG does not considerHowever, in an open MANET, which we consider in this selfish nodes in a MANET.paper, however, individual nodes may have different The work [32] proposes data replication techniques thatobjectives. In this case, some nodes can be selfish to address both query delay and data accessibility in a MANET.preserve their own resources. The work [32] demonstrates such a trade-off and proposes Various techniques have been proposed to handle the techniques to balance it. The work [6] introduces theproblem of selfish behavior from the network perspective. As cooperative caching-based data access methods, includingdescribed in [33], techniques handling selfish nodes can be CachePath, CacheData, and Hybrid. Differing from all theclassified into three categories: reputation-based, credit-pay- above-mentioned replica allocation or caching techniques,ment, and game theory-based techniques. In reputation-based we consider selfish nodes in a MANET.
  13. 13. 290 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 2, FEBRUARY 2012 The work [25] proposes Conquer, a broker-based eco- L. Anderegg and S. Eidenbenz, “Ad Hoc-VCG: A Truthful and [2] Cost-Efficient Routing Protocol for Mobile Ad Hoc Networks withnomic incentive model for mobile peer-to-peer networks. Selfish Agents,” Proc. ACM MobiCom, pp. 245-259, 2003.Although the work [25] considers free riders to host data in [3] K. Balakrishnan, J. Deng, and P.K. Varshney, “TWOACK:mobile peer-to-peer networks, it assumes that all peers are Preventing Selfishness in Mobile Ad Hoc Networks,” Proc. IEEE Wireless Comm. and Networking, pp. 2137-2142, 2005.trusted and they do not cheat. Therefore, the work focuses [4] R.F. Baumeister and M.R. Leary, “The Need to Belong: Desire foron encouraging peer collaboration because the work needs Interpersonal Attachments as a Fundamental Human Motiva-not consider node misbehavior. Conversely, we focus on the tion,” Psychological Bull., vol. 117, no. 3, pp. 497-529, 1995.misbehavior of nodes. The work [34] introduced noncoo- [5] J. Broch, D.A. Maltz, D.B. Johnson, Y.-C. Hu, and J. Jetcheva, “A Performance Comparison of Multi-Hop Wireless Ad Hoc Net-perative behaviors in a MANET. The assumption of the work Routing Protocols,” Proc. ACM MobiCom, pp. 85-97, 1998.work is that each node in a MANET is greedy and self- [6] G. Cao, L. Yin, and C.R. Das, “Cooperative Cache-Based Datainterested, similar to our work. However, the work Access in Ad Hoc Networks,” Computer, vol. 37, no. 2, pp. 32-39, Feb. 2004.addressed a different problem: whether or not the system [7] B.-G. Chun, K. Chaudhuri, H. Wee, M. Barreno, C.H. Papadimi-will enter an equilibrium state. Furthermore, the system triou, and J. Kubiatowicz, “Selfish Caching in Distributed Systems:environment differs from our work. A Game-Theoretic Analysis,” Proc. ACM Symp. Principles of In the research field of distributed databases, some Distributed Computing, pp. 21-30, 2004. [8] E. Damiani, S.D.C. di Vimercati, S. Paraboschi, and P. Samarati,strategies for handling selfish behavior have been proposed “Managing and Sharing Servents’ Reputations in P2P Systems,”[7], [8], [15], [16], [17]. However, these works cannot be IEEE Trans. Knowledge and Data Eng., vol. 15, no. 4, pp. 840-854,directly applied to a MANET, since they did not consider July/Aug. 2003. [9] G. Ding and B. Bhargava, “Peer-to-Peer File-Sharing over Mobilethe constraints of a MANET such as the bandwidth Ad Hoc Networks,” Proc. IEEE Ann. Conf. Pervasive Computing andlimitation for the detection of selfish nodes and system Comm. Workshops, pp. 104-108, 2004.failures due to frequent node disconnections. [10] M. Feldman and J. Chuang, “Overcoming Free-Riding Behavior in Peer-to-Peer Systems,” SIGecom Exchanges, vol. 5, no. 4, pp. 41-50, 2005.6 CONCLUSION [11] D. Hales, “From Selfish Nodes to Cooperative Networks - Emergent Link-Based Incentives in Peer-to-Peer Networks,” Proc.In contrast to the network viewpoint, we have addressed IEEE Int’l Conf. Peer-to-Peer Computing, pp. 151-158, 2004.the problem of selfish nodes from the replica allocation [12] T. Hara, “Effective Replica Allocation in Ad Hoc Networks for Improving Data Accessibility,” Proc. IEEE INFOCOM, pp. 1568-perspective. We term this problem selfish replica allocation. 1576, 2001.Our work was motivated by the fact that a selfish replica [13] T. Hara and S.K. Madria, “Data Replication for Improving Dataallocation could lead to overall poor data accessibility in a Accessibility in Ad Hoc Networks,” IEEE Trans. Mobile Computing, http://ieeexploreprojects.blogspot.comMANET. We have proposed a selfish node detection vol. 5, no. 11, pp. 1515-1532, Nov. 2006. [14] T. Hara and S.K. Madria, “Consistency Management Strategies formethod and novel replica allocation techniques to handle Data Replication in Mobile Ad Hoc Networks,” IEEE Trans. Mobilethe selfish replica allocation appropriately. The proposed Computing, vol. 8, no. 7, pp. 950-967, July 2009.strategies are inspired by the real-world observations in [15] S.U. Khan and I. Ahmad, “A Pure Nash Equilibrium-Based Game Theoretical Method for Data Replication across Multiple Servers,”economics in terms of credit risk and in human friendship IEEE Trans. Knowledge and Data Eng., vol. 21, no. 4, pp. 537-553,management in terms of choosing one’s friends completely Apr. 2009.at one’s own discretion. We applied the notion of credit risk [16] N. Laoutaris, G. Smaragdakis, A. Bestavros, I. Matta, and I. Stavrakakis, “Distributed Selfish Caching,” IEEE Trans. Parallelfrom economics to detect selfish nodes. Every node in a and Distributed Systems, vol. 18, no. 10, pp. 1361-1376, Oct. 2007.MANET calculates credit risk information on other con- [17] N. Laoutaris, O. Telelis, V. Zissimopoulos, and I. Stavrakakis,nected nodes individually to measure the degree of “Distributed Selfish RepLication,” IEEE Trans. Parallel and Distributed Systems, vol. 17, no. 12, pp. 1401-1413, Dec. 2006.selfishness. Since traditional replica allocation techniques [18] H. Li and M. Singhal, “Trust Management in Distributedfailed to consider selfish nodes, we also proposed novel Systems,” Computer, vol. 40, no. 2, pp. 45-53, Feb. 2007.replica allocation techniques. Extensive simulation shows [19] M. Li, W.-C. Lee, and A. Sivasubramaniam, “Efficient Peer-to-Peerthat the proposed strategies outperform existing represen- Information Sharing over Mobile Ad Hoc Networks,” Proc. World Wide Web (WWW) Workshop Emerging Applications for Wireless andtative cooperative replica allocation techniques in terms of Mobile Access, pp. 2-6, 2004.data accessibility, communication cost, and query delay. We [20] Y. Liu and Y. Yang, “Reputation Propagation and Agreement inare currently working on the impact of different mobility Mobile Ad-Hoc Networks,” Proc. IEEE Wireless Comm. and Networking Conf., pp. 1510-1515, 2003.patterns. We plan to identify and handle false alarms in [21] S. Marti, T. Giuli, K. Lai, and M. Baker, “Mitigating Routingselfish replica allocation. Misbehavior in Mobile Ad hoc Networks,” Proc. ACM MobiCom, pp. 255-265, 2000. [22] L.J. Mester, “What’s the Point of Credit Scoring?” Business Rev.,ACKNOWLEDGMENTS pp. 3-16, Sept. 1997. [23] P. Michiardi and R. Molva, “Simulation-Based Analysis ofThis work was supported in part by the Mid-Career Security Exposures in Mobile Ad Hoc Networks,” Proc. EuropeanResearcher Program through an NRF grant funded by the Wireless Conf., pp. 1-6, 2002.MEST (No. 2009-0077925) and with partial support from a [24] H. Miranda and L. Rodrigues, “Friends and Foes: Preventing Selfishness in Open Mobile Ad hoc Networks,” Proc. IEEE Int’lKorea University Grant. Conf. Distributed Computing Systems Workshops, pp. 440-445, 2003. [25] A. Mondal, S.K. Madria, and M. Kitsuregawa, “An Economic Incentive Model for Encouraging Peer Collaboration in Mobile-REFERENCES P2P Networks with Support for Constraint Queries,” Peer-to-Peer[1] E. Adar and B.A. Huberman, “Free Riding on Gnutella,” First Networking and Applications, vol. 2, no. 3, pp. 230-251, 2009. Monday, vol. 5, no. 10, pp. 1-22, 2000. [26] M.J. Osborne, An Introduction to Game Theory. Oxford Univ., 2003.
  14. 14. CHOI ET AL.: HANDLING SELFISHNESS IN REPLICA ALLOCATION OVER A MOBILE AD HOC NETWORK 291[27] P. Padmanabhan, L. Gruenwald, A. Vallur, and M. Atiquzzaman, SangKeun Lee received the BS, MS, and PhD “A Survey of Data Replication Techniques for Mobile Ad Hoc degrees in computer science and engineering Network Databases,” The Int’l J. Very Large Data Bases, vol. 17, from Korea University, South Korea, in 1994, no. 5, pp. 1143-1164, 2008. 1996, and 1999, respectively. He was a recipient[28] K. Paul and D. Westhoff, “Context Aware Detection of Selfish of the Japan Society for the Promotion of Nodes in DSR Based Ad-Hoc Networks,” Proc. IEEE Global Science (JSPS) Postdoctoral Fellowship in Telecomm. Conf., pp. 178-182, 2002. 2000. Since 2003, he has been an associate[29] V. Srinivasan, P. Nuggehalli, C. Chiasserini, and R. Rao, professor in the College of Information and “Cooperation in Wireless Ad Hoc Networks,” Proc. IEEE Communication, Korea University, South Korea. INFOCOM, pp. 808-817, 2003. His recent research interests include mobile[30] W. Wang, X.-Y. Li, and Y. Wang, “Truthful Multicast Routing in Internet technologies, contextual advertising, mobile/pervasive comput- Selfish Wireless Networks,” Proc. ACM MobiCom, pp. 245-259, ing, XML databases, and mobile ad hoc networks. 2004.[31] S.-Y. Wu and Y.-T. Chang, “A User-Centered Approach to Active Kun-Lung Wu received the BS degree in Replica Management in Mobile Environments,” IEEE Trans. electrical engineering from the National Taiwan Mobile Computing, vol. 5, no. 11, pp. 1606-1619, Nov. 2006. University, Taipei, and the MS and PhD degrees[32] L. Yin and G. Cao, “Balancing the Tradeoffs between Data in computer science from the University of Accessibility and Query Delay in Ad Hoc Networks,” Proc. IEEE Illinois at Urbana-Champaign. He is currently a Int’l Symp. Reliable Distributed Systems, pp. 289-298, 2004. member of the Software Tools and Techniques[33] Y. Yoo and D.P. Agrawal, “Why Does It Pay to be Selfish in a Group, IBM T.J. Watson Research Center. He is MANET,” IEEE Wireless Comm., vol. 13, no. 6, pp. 87-97, Dec. 2006. the program cochair of the 2007 IEEE Joint[34] J. Zhai, Q. Li, and X. Li, “Data Caching in Selfish Manets,” Proc. Conference on E-Commerce Technology (CEC) Int’l Conf. Computer Network and Mobile Computing, pp. 208-217, and Enterprise Computing, E-Commerce, and 2005. E-Services (EEE). From 2000 to 2004, he was an associate editor of the IEEE Transactions on Knowledge and Data Engineering. He was the Jae-Ho Choi received the BS degree in com- general chair of the Third International Workshop on E-Commerce and puter science and engineering from Soongsil Web-Based Information Systems (WECWIS ’01). He has served as a University in 2003. He received the MS degree member of the organizing and program committees of several in computer science from Korea University in conferences. He received the Best Paper Award from EEE in 2004. 2005. His research interests include mobile His recent research interests include data streams, continual queries, computing, location-based services, XML data- mobile computing, Internet technologies and applications, database bases, and data management in mobile ad hoc systems, and distributed computing. He has published extensively and networks and sensor networks. is the holder of many patents in these areas. He has received various IBM awards, including an IBM Corporate Environmental Affair Excel- lence Award, a Research Division Award, and several Invention Achievement Awards. He is an IBM Master Inventor. He is a fellow of the IEEE and a member of the ACM. Kyu-Sun Shim received the BS degree in http://ieeexploreprojects.blogspot.com computer science and engineering from Korea University in 2009. His research interests in- . For more information on this or any other computing topic, clude mobile/pervasive computing systems and please visit our Digital Library at www.computer.org/publications/dlib. data management in mobile ad hoc networks and sensor networks.

×