Future Generation Computer Systems 29 (2013) 361–369
Contents lists available at SciVerse ScienceDirect
Future Generation Computer Systems journal homepage: www.elsevier.com/locate/fgcs
A novel bartering exchange ring based incentive mechanism for peer-to-peer systems Kan Zhang ∗ , Nick Antonopoulos School of Computing, University of Derby, Kedleston Road, Derby DE22 1GB, UK
article
info
Article history: Received 2 December 2010 Received in revised form 31 May 2011 Accepted 29 June 2011 Available online 8 July 2011 Keywords: Free riding Bartering exchange ring Incentive mechanism Reputation system Peer-to-peer
abstract Peer-to-Peer (P2P) networking is an alternative to the cloud computing for relatively more informal trade. One of the major obstacles to its development is the free riding problem, which significantly degrades the scalability, fault tolerance and content availability of the systems. Bartering exchange ring based incentive mechanism is one of the most common solutions to this problem. It organizes the users with asymmetric interests in the bartering exchange rings, enforcing the users to contribute while consuming. However the existing bartering exchange ring formation approaches have inefficient and static limitations. This paper proposes a novel cluster based incentive mechanism (CBIM) that enables dynamic ring formation by modifying the Query Protocol of underlying P2P systems. It also uses a reputation system to alleviate malicious behaviors. The users identify free riders by fully utilizing their local transaction information. The identified free riders are blacklisted and thus isolated. The simulation results indicate that by applying the CBIM, the request success rate can be noticeably increased since the rational nodes are forced to become more cooperative and the free riding behaviors can be identified to a certain extent. © 2011 Elsevier B.V. All rights reserved.
1. Introduction Cloud computing has recently drawn great attention to the opportunity that serious business can be done in a secure and efficient way. Peer-to-Peer (P2P) networking has been used as one of its resource discover techniques [1]. In this paper, P2P is considered to be an alternative to the cloud computing for the relatively less formal business. One of the major obstacles to the development of P2P systems is the free riding problem [2]. That is, a certain portion of the users only consume resources from the system but do not contribute to the others. Therefore, the success of the requests largely depends on the level of altruism of the system. A number of measurements [2,3] discover that in P2P systems, only a small number of altruistic nodes serve the majority of the system requests. As a result, the network topology is transformed to scale-free [4], degrading the network scalability and fault-tolerance. More significantly, the free riding problem also results in low content availability, which is contrast to the sharing philosophy of P2P systems. To solve the problem, extensive researches have been conducted in order to introduce incentives to the systems and thus influence the users to cooperate with each other. One of the most common solutions is the Reputation-based Systems [5–7], which
∗
Corresponding author. E-mail addresses:
[email protected],
[email protected] (K. Zhang),
[email protected] (N. Antonopoulos). 0167-739X/$ – see front matter © 2011 Elsevier B.V. All rights reserved. doi:10.1016/j.future.2011.06.005
use a reputation value to represent nodes’ contributions in their past transactions. A requester, with higher reputation value, will be allocated more resources or services with better quality. However, most of such reputation systems are impractical due to the complexity of rating collection, source validation and information aggregation [8]. Recently, the Bartering Exchange basedapproach has drawn increasing attention [9,10]. Barter is one of the oldest human economic activities. In the barter economic system, services are directly exchanged for other services without a medium of exchange, such as money [11]. In P2P systems, the nodes with mutual or asymmetric interests can be organized in a ring structure where every node provides one service to its successor and receives one service from its predecessor. This scheme enforces the nodes to contribute while consuming. Therefore the free riding nodes cannot gain any complete services and have to adapt their strategy to more cooperative ones or simply leave the network. The existing bartering exchange ring formation approaches only rely on the past search attempts for supply and demand information collection. This is inefficient since the messages of the Query Protocol are not informative. Moreover, this static approach takes the risk that the supply and demand information would be out of date. More importantly, the bartering exchange ring based incentive mechanism inherently is not effective against the malicious nodes. For instance, a free riding node can intentionally try to break the rings by refusing to leave the network. This paper presents a novel cluster based incentive mechanism (CBIM) that overcomes the above problems. It proposes a cluster
362
K. Zhang, N. Antonopoulos / Future Generation Computer Systems 29 (2013) 361–369
based dynamic bartering exchange ring formation method that enables the nodes to form a ring during the search by modifying the Query message to be the medium through which the nodes can publish their requests and provisions. It also proposes a lightweight reputation system that allows the nodes to account the misbehaviors. Every node records the performance of their transaction partners and works out a reputation value for each of them by only using the local transaction information. The nodes increase the reputation value of a specific node after having a successful transaction with it and decrease its reputation value vice versa. Each node maintains a blacklist that only records those with lowest reputation values. The nodes can then predict and isolate the potential free riders by refusing to participate in the same rings with them. The rest of the paper is arranged as follows: Section 2 presents two typical bartering exchange ring formation approaches and discusses their limitations. Section 3 explains the cluster based ring formation approach, including the modified query protocol specification, graph theoretical representation of cluster and rings, ring identification algorithm and Queryhit Caching mechanism. The proposed reputation system is demonstrated in Section 4 and the evaluation of the CBIM is presented in Section 5, which is followed by a conclusion in Section 6. 2. Related work Bartering exchange ring based incentive mechanism is the main focus of this paper. The simplest form of bartering exchange is the bilateral barter between two nodes with mutual interests. BitTorrent [12] is the most popular P2P protocol that applies the bilateral bartering incentive mechanism. All the resources are divided into small segments with equal size. BitTorrent organizes nodes with the same interest into a group and enables them to download and upload resource segments among themselves. The nodes providing more upload rate are likely to get higher download speed in return. However, the BitTorrent cannot be applied in an application with high service diversity since it requires the resources shared by the nodes to be dividable. Furthermore, the discovery of two nodes with mutual interest can be difficult. Aperjis et al. [13] states that the flexibility of the barter can be improved by increasing the size of the bartering exchange rings. To form multiple-way bartering exchange rings, Anagnostakis et al. [9] propose a mechanism where every node has an Incoming Request Queue (IRQ) that maintains all the nodes that requested a local resource. Every node also has a request tree which has the hierarchy structure: the root of the tree is the node; the first layer child nodes are the nodes in its IRQ; the next layer nodes are the nodes registered in the current layer nodes’ IRQs. The depth of the tree is limited to 5. A node keeps checking if any nodes in its request tree can satisfy its request. If so, a bartering exchange ring can be formed. Cabanillas [10] proposes another method to form bartering exchange rings. A set of nodes is selected as Directory Nodes (DN). The DNs are interconnected and responsible for answering queries from the ordinary nodes. Every DN maintains a Have List (HL) that consists of the services available amongst its associated ordinary nodes as well as a Want List (WL) which contains the requests it received from its ordinary nodes and other DNs. When a DN cannot directly respond to a query, it forwards the query to the DN network and checks the HL and WL of the other DNs to from a bartering exchange ring. Both of the above methods have two problems in common: (1) Inefficient, throughout a search attempt, at most one request can be served and all the nodes involved can only acquire very limited supply and demand information about the initiator and the provider; (2) Static, the nodes check historical records to
Fig. 1. Nodes classification.
form bartering exchange rings, taking the risk that the recorded information is out of date. In this paper, the nodes in P2P systems are classified into three categories: Altruistic nodes, Rational nodes and Free riders. Altruistic nodes are always cooperative, that is, they are always willing to answer queries. Rational nodes always try to maximize their own utility. They start with free riding strategy, that is, they do not provide any services to the others. If they cannot gain enough profit by free riding they will change their strategy to share: they participate in the service exchange but stop serving others once they receive the complete requested services. If they are not satisfied with the utility gained by using the share strategy, they will adapt their strategy to cooperative. If the Rational nodes using cooperative strategy still cannot gain satisfactory utility, they will leave the network. Free riders use free riding strategy and will leave the network if they cannot gain any profit over a certain period of time. The bartering exchange ring based mechanism also has some inherent limitations. By using this type of incentive mechanism, the free riders should eventually leave the network since they cannot gain any services without contributing to others. The free riding rational nodes would change to use either share or cooperative strategy, depending on their satisfactory threshold. However, if a rational node is malicious, it can use the share strategy and intentionally request small resources and promise to provide bigger ones. In this case, they are highly likely to obtain complete resources before they finish serving the other ring members and thus achieve a higher request success rate. Consequently, they are less likely to change their strategy to cooperative than the normal rational nodes. Moreover, a malicious free rider may use a free riding strategy and refuse to leave the network. This could seriously affect the overall network request success rate. Fig. 1 shows the types of nodes and their strategies. 3. Cluster based ring formation approach In this section, a novel cluster based bartering exchange ring formation approach is presented in detail. To overcome the inefficiency and static problems mentioned in the previous section, the Query Protocol of the underlying P2P networks is modified where the query message can be used as a medium through which any nodes on a query path can publish their requests and provisions. This modification enables the nodes to form bartering exchange rings dynamically. The search terminates when the nodes on a query path can form a cluster, that is, all the requests from the cluster members can be satisfied among themselves. The following subsections elaborate the query protocol modification, prove that a cluster consists of bartering exchange rings, describe an algorithm for bartering exchange ring identification and a caching mechanism for static ring formation. 3.1. Query protocol specification This section presents a detailed specification of the CBIM Query Protocol by which the nodes form clusters, including the message structures and message processing procedure. Table 1 shows descriptions of the Query Protocol messages:
K. Zhang, N. Antonopoulos / Future Generation Computer Systems 29 (2013) 361–369 Table 1 Descriptors of query protocol.
Initiator Constraints: regulations specified by the query initiator. Currently, it includes the following five fields:
Message
Description
Query
Issued when a node wants to search for one or more services. Modified when a node wants to join in creating a cluster. The response to a Query. It contains information about the supply and demand of the potential cluster generated by the corresponding Query.
QueryHit
3.1.1. Query message The Query message is the medium through which the nodes share the demand and supply information. The CBIM modifies the Query messages by allowing any nodes to add their own requests and provisions. However, it is unrealistic to assume that all the services have the same execution time or that a piece of software exists that can monitor and compel the nodes to provide promised services. Therefore, there are opportunities that nodes use a share strategy and harm the other ring members. To avoid or alleviate the damage caused by such behaviors, the initiator of the query can put some constraints in the query message to ensure a certain level of compatibility of the resources in the clusters. Thus, some existing service exchange techniques can be applied. Depending on the dividability, the resources can be distinguished by single and multiple capacity resources [14]. Single capacity resources can only be consumed as a whole whereas the multiple capacity resources can be consumed by multiple operations. (a) Multiple capacity resources such as music and streaming files can be split into small segments [12]. The nodes can transfer the files segments after they validate the received ones [9]. The nodes can also add constraint on the upper limit of the resource size and the minimum speed to balance the data transfer duration. (b) For single capacity services like Software as a Service (SaaS) and Infrastructure as a Service (IaaS), one can add time duration constraints on the service consumption to limit the damage [14]. The structure of the Query message is given in Box I. Message ID (16 bytes): the unique message descriptor ID on the network. Initiator IP (4 bytes): the IP address of the query initiator. Port (2 bytes): the Port number where the initiator can accept incoming connections. Requests: A set of requests of the nodes on the query path. Each element of the requests has the following structure: Requester IP
Services expression
0
4
3
...
Requester IP (4 bytes): IP address of requesters. Services Expression: a set of keywords represent the requests. Provisions: A set of provisions of the nodes on the query path. Each element of the requests has the following structure: Provider IP
Port
Services expression
0
4
6
3
363
5
...
Provider IP (4 bytes): IP address of requesters. Port (2 bytes): the Port number where the provider can accept the incoming connections. Services Expression: a set of provision keywords
Ring size 0
Service Resource Speed type size 1 2 3 4 7
Free consumption 8 9
Max accesses 10
Ring Size (1 byte): the maximum size of the rings. Service Type (1 byte): specifies the service type that is accepted during the query propagations. 0x00 = any service. 0x01 = multiple capacity. 0x02 = single capacity. Resource Size (2 bytes): The maximum size (KB) of the multiple capacity resources. Speed (4 bytes): The minimum upload speed (KB/second) of nodes that should respond to this message. Free Consumption (2 bytes): The maximum time period (second) that nodes can consume the single capacity resources for free. Max Accesses (1 byte): maximum number of accesses if the service is sharable. This is to prevent a hot spot when a sharable resource is very popular. 3.1.2. QueryHit message If a cluster can be formed, the last member of the cluster should notify the query initiator by sending it a QueryHit message that has the following structure: Message ID
Requests Provisions
0
16 . . . n
15
n+1 . . .
Message ID: the message ID should be the same as the corresponding Query message. Requests: The set of requests obtained from the Requests field of the corresponding Query message. Provisions: The set of provisions obtained from the Provisions field of the corresponding Query message. 3.1.3. Query processing The nodes can join the cluster and issue their requests but only if they can make contributions to the cluster. To ensure fairness, the nodes need to provide the same number of services to others in order to obtain the requested services. The reason that the services are evaluated in terms of quantity is that in the service oriented environment it is impractical to design a versatile mechanism to measure the quality of services that are from various contexts. The binary rating mechanism is used to evaluate the quality of the service which is only determined by the requesters’ satisfaction. The contribution can be considered as: (1) it can serve the requests of the existing cluster members; (2) it can provide services that increase the possibility of cluster formation. More specifically, once receiving a Query message, a node conducts the following process represented in Fig. 2. It first of all checks the requests table against its own resources to determine if it can serve some existing requests. If so, it tries to serve as many requests as possible. For its own requests, the highest priority is to take the existing resources. The second priority is to check whether it has common interests with the existing cluster members on the sharable resources, which can be accessed simultaneously by multiple nodes. The third priority is to issue new request tuples that consist of its own requests. It should be observed that when the node can serve the same number of requests as it can take from the existing cluster members, the node should check whether a cluster can be formed.
364
K. Zhang, N. Antonopoulos / Future Generation Computer Systems 29 (2013) 361–369
Fields
Message ID
Initiator IP
Port
Byte offset
0
16
20
15
19
21
Requests
Provisions
Initiator constraints
22 . . . n
n + 1 ... m
m + 1 . . . m + 12
Box I.
Fig. 2. Query message processing.
That is, all the requests recorded in the Query message can be found in its provision table. If so, the node should send a QueryHit message back to the initiator along the reverse query path and stop forwarding the Query further. If the node cannot serve any existing requests, it can directly check whether it has common interests on resources that allow inclusive access with the existing cluster members. If so, it can also register with these requests and provide some number of its own resources to attract providers of these requested resources. 3.2. Cluster and bartering exchange rings The nodes in P2P networks can be represented as vertexes and the service exchange between the nodes can be represented as directed edges. For instance, a node that provides two services and receives two services can be represented as a vertex with two outgoing edges and two incoming edges. The supply and demand of the networks can be represented by directed graphs. In the CBIM, every node should request and provide the same number of services. Therefore, a cluster can be represented by a directed graph where every vertex has the same indegree and outdegree. According to [15], such a directed graph is called a Eulerian Graph. Similarly, a service exchange ring can be represented by a directed
graph in which every vertex has one incoming and one outgoing edge. In graph theory, such a directed graph is called a Directed Circuit. One of the Theorems related to Eulerian graph is that a directed Euler graph is either a directed circuit or an edge disjoint union of directed circuits. Therefore, it can be proved that a cluster consists of either one or a set of service exchange rings. 3.3. Ring identification On receiving the QueryHit messages, the query initiator is then responsible for selecting cluster and identifying the service exchange rings from the cluster. To alleviate the search latency, the CBIM chooses the first QueryHit by default. Identifying bartering exchange rings from a cluster is equivalent to finding all the directed circuits from an Eulerian graph by using each edge only once. The ring identification algorithm proposed in this paper is inspired by Fleury’s algorithm [15] which is designed for constructing a Eulerian Tour from a Eulerian graph. A Eulerian Tour is a closed path that uses every edge in a Eulerian Graph exactly once. The pseudo-code of our algorithm is presented in Fig. 3. The cluster graph is denoted by C (V , E), where V is the set of vertices and E is the set of edges. The set of directed circuits within the cluster graph is denoted by DC.
K. Zhang, N. Antonopoulos / Future Generation Computer Systems 29 (2013) 361–369
365
3.5. Ring formation Once the bartering exchange rings are identified, the query initiator is then responsible for sending each ring member a form message to inform them who should provide what to whom. The form message consists of three fields: Member, Service and Successor. Member is the IP address of a ring member; Service is the service it should provide in this service exchange ring and Successor refers to a {IP, Port} pair which specifies the successor’s IP address and the port number that can accept incoming connections. Ring membership 0...
Ring Membership: structure of the service exchange ring. Each element of the field has the following structure:
Fig. 3. Algorithm to find all the directed circuits in a directed graph.
Member IP
Service
Successor IP
Successor port
0
4
8
12
3
7
11
13
Member IP (4 bytes): the IP address of a ring member. Service (4 bytes): the service that the ring member should provide. Successor IP (4 bytes): the IP address of the ring member’s successor. Successor Port (2 bytes): the Port number of the ring member’s successor that can accept incoming connections. 4. Lightweight reputation system After the identification of the potential bartering exchange rings, the nodes start exchanging services with their ring members. As discussed in Section 2, the bartering exchange ring based incentive mechanism can influence the obedient free riding nodes to either become more cooperative or leave the network, but it is fragile to malicious nodes. Moreover, it is unrealistic to assume that there exists a piece of software that can monitor and enforce the nodes to provide promised services. Therefore, a lightweight reputation system is proposed to prevent malicious behaviors. Every node maintains a Suspect Table to record the misbehaviors of their transaction partners and calculates a reputation value for each of them. The suspect nodes with lowest reputation values are recorded in the blacklist. The nodes try to avoid participating in the same ring with the blacklisted nodes and therefore isolate the misbehaving ones in the network level. 4.1. Simple reputation value
Fig. 4. Algorithm to find an n-node ring from SDT.
3.4. QueryHit cache In case a node fails to form clusters during the search, the CBIM also supports a static alternative for bartering exchange ring formation. When a QueryHit message is sent back to the initiator, the nodes along the query path also cache it. Then they can extract and store the requests and provisions of each ring member in their Supply and Demand Table (SDT). Every entry in an SDT has three fields: Node ID, Requests and Provisions. Fig. 4 shows the algorithm that is used to find a ring from the SDT Compared to the existing static ring formation approach, this method can gather information faster because the query message can be much more informative and thus reduce the risk that the information is out of date.
A free riding node can be easily detected by its successors in the service exchange rings as they fail to receive the requested services. To ensure fairness, this node needs to be stopped from getting services. However, the free rider identification should not rely on individual reports since global accounting would be required to verify the reporter’s creditability. In a global accounting mechanism, the past performance of a node is quantified as a reputation value, which is increased if the node is being cooperative and drops if it free rides. Such a global approach is impractical since it is time consuming and generates significant messaging overhead [16]. In addition, once free riding happens in a ring, the service exchange chain breaks and thus it is impossible to punish one member without affecting others’ services. A rule is introduced that once the free riding is detected in a ring, the members stop serving their successors. As the ring members stop providing services in turn, the ring collapses by the chain effect. It can be assumed that the chain effect should
366
K. Zhang, N. Antonopoulos / Future Generation Computer Systems 29 (2013) 361–369
success and collapse. From the TH’s perspective, the probability that a ring collapses can be calculated as: pTH =
C
.
T The probability that the members of a ring can successfully finish the service exchange is: qTH = 1 − pTH .
For every suspect Si , the probability distribution of Ci is binomial probability distribution. The probability that Si participated in x collapsed rings out of Ti rings can be calculated as: Fig. 5. Suspicious degrees and goodness.
quickly approach the free rider before it finishes the consumption of services. Every node only records the nodes that participated in collapsed rings in their Suspect table. The nodes then rely on their personal experience to predict these nodes’ behaviors in the future. In this way, the complexity of the system is significantly reduced as global data collection and aggregation is not required. Each entry in a suspect table contains 3 elements:
• Suspect Node ID: The identifier of the suspect node. • Probability Queue: a set of probabilities that the corresponding node is a free rider in the collapsed rings. In a collapsed ring with size s, the table holder assigns all the members with an equal probability which inverses to the size of the collapsed ring, that is, 1/(s − 1). To keep the table lightweight in terms of size and calculation complexity, a First in First out (FIFO) queue is used to store the probabilities, meaning, if a queue is full and a new probability is about to be inserted, the oldest probability will be deleted. In this way, the nodes’ most recent activities are always recorded. The nodes should periodically delete the oldest probability from each entry from their Suspect Tables. The rational nodes are then given opportunities to change strategy. • Simple Reputation Value (SRV): a normalized average probability that the corresponding node is not the free rider that caused the ring collapse. A node should get lower SRV than others if it participated in more collapsed rings or it appears in smaller ones. Let n denote the size of the queue, pi denote the probability where i indicates the position in the queue. The SRV for each suspect is calculated according to following expression: n Simple Reputation Value = i=0 (1 − pi ). The SRV is smaller if a suspect node participated in more collapsed rings or smaller rings. However, it does not look into the ratio of collapsed rings out of the total number of rings. 4.2. Goodness Another metric is to look into the successful rings to differentiate the cooperative nodes from the free riding ones. The principle is to periodically compare the ratio of successful rings of a suspect with what is expected statistically from the table holder’s perspective. Let {S } be the set of the suspect nodes for table holder (TH ). The number of rings TH participated in is denoted as T and the number of collapsed ring out of T rings is denoted as C . Si is the ith suspect node in TH’s suspect table and its SRV is denoted SRV i . Let Ci be the number of collapsed rings Si participated with the TH. Pij is the probability Si is a free rider in its jth collapsed ring with the TH. Let Ti be the total number of rings Si participated with the TH. Since the attempts of exchanging services in the rings are independent and there are only two outcomes of each attempt:
(Ti−x)
p(x) = CTix pxTH qTH
.
The degree of suspicion of Si can be determined by the probability that Si participated in less than Ci collapsed rings as the left part illustrated in Fig. 5. This can be calculated by using the following equation: Suspicion = Pr(x ≤ Ci ) =
Ci
p(i).
i=0
The Goodness of Si is illustrated as the right part of the Fig. 5. It can be then calculated as: Goodness = 1 − Suspicion. 4.3. Ultimate reputation value For every suspect of Si , if the ratio of successful rings it participated with is better than what was expected statistically, then its SRV should be given a significant Goodness weight. Otherwise, the SRV should be reduced accordingly. The ultimate reputation value (URV) can be obtained by adapting the SRV with Goodness: URV = SRV + Goodness. Let SRV, Goodness and URV denote a suspect Si ’ SRV, Goodness and URV. Let SRV ′ , Goodness′ and URV ′ denote its SRV, Goodness and URV after another transaction. In the following paragraphs, the change of URV under different circumstances is evaluated:
• The suspect Si and the TH participate in a succeed ring together. Its SRV does not change. The difference of the URV can be denoted as ∆+ and calculated as follows:
∆+ = URV ′ − URV = SRV ′ + GoodNess′ − (SRV + Goodness) T −Ci
Ci+1 i = CTi i pTH qTH
> 0.
It is noticeable that the ∆+ is always bigger than 0. Therefore, in our reputation system, the nodes will have a higher reputation value if they participate in rings that succeed.
• A suspect Si and the TH participate in a collapsed ring together. The difference of the URV can be denoted as ∆− and calculated as follows:
∆− = URV ′ − URV = SRV ′ + GoodNess′ − (SRV + Goodness) n Ti + 1 C +1 T −C = (1 − pi ) × (−Pi+1 ) + pTHi qTHi i 1 − Ci + 1 i=0
≤ 0. It is noticeable that the ∆− is smaller than 0 in most of the circumstances. The ∆− is 0 only when the URV is already 0. Therefore, in our reputation system, the nodes’ reputation values will drop if they participate in rings that collapse.
K. Zhang, N. Antonopoulos / Future Generation Computer Systems 29 (2013) 361–369
Fig. 6. Request success boundaries.
4.4. Blacklist A low reputation value indicates that the corresponding node is very likely to be the free rider which caused the ring to collapse. Every node also maintains a blacklist to record nodes with the lowest reputation values. The nodes only refuse to join the rings that blacklisted nodes are involved with. However, the size of the blacklist needs to be carefully controlled according the cooperative level of the systems. If the blacklist is undersized, the holder node may join many rings that contain free riders. If the blacklist is oversized, the node cannot participate in any rings since too many nodes are considered as free riders. A threshold θ is used to denote the percentage of the size of the blacklist out of the suspect table. The setting of this threshold employs the slow start strategy from the Transmission Control Protocol (TCP) congestion control mechanism. After a certain time period, a node checks the percentage of number of rings it denied out of the number of rings collapsed. If this rate is below a predetermined threshold, which is denoted as the attempt denial threshold (ADT), it will increase the θ exponentially, until it reaches the slow start threshold (STT). At the beginning, the θ is set to be 5% and the STT is set to 50%. After the θ reaches the STT, the node increases the θ linearly until the attempt denial rate in a time period is higher than the ADT. Then the node reduces the STT to half of the current θ and resets the θ to the initial setting 5%. 4.5. Free rider isolation The nodes can simply avoid joining the same ring with the blacklisted nodes or limiting their access to bigger ring. After receiving a form message from the cluster initiator, the nodes can check the members of the proposed service exchange rings against their own blacklist. If one or more members are blacklisted, the ring will be discarded. That is, the nodes refuse to establish connections to the possible free riding nodes. In this way, the nodes with free riding strategy should be rejected as the blacklists are well established and thus will not have opportunities to get any services. 5. Evaluation This section presents the evaluation of the proposed reputation system. A simulator is implemented upon the Protopeer [17], which is an open source P2P simulation platform. The experiments are designed to test the effectiveness of the reputation system. The key metric is the request success rate, that is, the percentage of the requests that are successfully satisfied. The experiments were carried out in a 1000 node Gnutella network where on average 300 nodes have demands simultaneously. There were 200 categories of resources in total and each category of resource may have multiple objects. Every node had 4 neighbors
367
Fig. 7. Request success rate with bartering exchange rings.
and the TTL is set to 4. Every node had 4 interests and 8 resources. The percentage of the altruistic nodes, normal rational nodes, malicious rational nodes, normal free riders and malicious free riders were 10%, 30%, 30%, 15% and 15% respectively. Every experiment was carried out in 100 runs in which the nodes search for all of their requests at random time within 1000 time units. The network churn was set to 5%. As Shown in Fig. 6, the request success rate in the original Gnutella network stayed stable around 17%. This is because the success of the queries only relies on the altruistic nodes and there is no incentive for the rational nodes to change their initial free riding strategy. When all the nodes are altruistic, the most optimal request success rate can be obtained in this network was around 73%. 5.1. Bartering exchange ring By using the CBIM, we managed to find a bartering exchange ring for around 90% of the requests. The nodes should periodically check their request success rate against a satisfactory threshold (ST). If a node’s request success rate is lower than the ST, it may check its strategy accordingly (Section 2). The period was set to 4000s and the ST was set to 30%. Fig. 7 shows the request success rate of the network without using the proposed reputation model. The request success rate went up sharply from 2% to 25% during the first several runs. Meanwhile, the rational nodes changed their strategy from free riding to share immediately after their first success rate check. During the same period, most of the normal free riders left the network as they could not obtain any services by using the bartering exchange rings. Throughout the experiment, there were new normal free riders who joined the network in every run, but they never achieved the satisfactory threshold and ended up leaving the network. Fig. 8 demonstrates that the request success rate stayed around 30% until dropped to the first low point at about 22% at the 25th run. During this period, around half of the normal rational nodes became cooperative. Most of the malicious rational nodes managed to achieve 30% request success rate and remained malicious share at first and became cooperative after the sudden request success rate decrease. The request success rate then stayed around 30% until the 50th run and dropped below 30% for about 10 runs. During this period, about 60% of the normal rational nodes became cooperative while the malicious share was the dominant strategy for the malicious rational nodes. The request success rate then slowly increased to around 35% and peaked at just above 40% for 3 times since more normal rational nodes became cooperative. There is a clear indication that the malicious share strategy had gained the rational nodes more utility than using normal obedient strategy. Although the normal free riders were ruled out, the overall request success rate was not improved significantly due to the malicious behaviors.
368
K. Zhang, N. Antonopoulos / Future Generation Computer Systems 29 (2013) 361–369
a
b
Fig. 8. Strategy distributions of rational nodes.
indicating the effectiveness of SRV at the early stage of network establishment. The percentage of cooperative nodes gradually decreased throughout the experiment despite some fluctuations. This indicates that by using the URV, the nodes can distinguish the cooperative level of nodes to a certain extent. 6. Conclusion
Fig. 9. Request success rate with proposed reputation system.
5.2. Proposed reputation system To apply the proposed reputation model, the nodes need to upgrade their pTH periodically to calculate the Goodness of each suspect. This period was set to be 5000 s. Fig. 9 shows that by using the proposed reputation system, the request success rate went up rapidly from 6% to around 50% and stayed above 45%. Fig. 10 presents the strategy distribution of the rational nodes. It shows that most of the rational nodes turned to be cooperative regardless whether they were malicious or not. During the experiment, the number of cooperative rational nodes slightly decreased since some of them left the network due to the network churn. The newly joined rational nodes achieved 30% request success rate easily even with share strategy given the total number of cooperative nodes. Fig. 11 shows the precision of the blacklists using URV. At the beginning of the experiment, the URV equals SRV as the Goodness cannot be calculated without statistic records. The figure shows that the free riding nodes were quickly blacklisted by the nodes,
a
This paper proposes a cluster based incentive mechanism for P2P systems. It extends the existing bartering exchange ring based incentive mechanisms in two aspects: (1) it enables the nodes to form bartering exchange rings dynamically as well as statically, improving the feasibility of the bartering economy in the distributed environment; (2) the CBIM also proposes a reputation model to alleviate malicious behaviors. The nodes can use the local transaction record to predict and isolate the free riding nodes. The simulation results suggest that the CBIM can effectively improve the overall request success rate of P2P systems. The local blacklists may be not effective against the rational nodes with a share strategy when the unified satisfaction threshold is set lower than the overall request success rate. This is possibly due to (1) the local blacklist cannot be used to predict strangers’ behaviors; (2) the unified preset satisfaction threshold cannot adapt the dynamic generosity level of the network. Therefore, the avenues for future research based on this limitation of the CBIM include: Collective community blacklist The accuracy of the reputation can be improved if more information sources are approached. In future work, the nodes should be able to share their blacklists with the reputable nodes. Instead of replacing the local blacklist with a converged global blacklist, the nodes can simply generate a separate community blacklist. The nodes still make deny decisions mainly based on
b
Fig. 10. Strategy distributions of rational nodes.
K. Zhang, N. Antonopoulos / Future Generation Computer Systems 29 (2013) 361–369
Fig. 11. Blacklist precision.
their local blacklist and use the community blacklist to confirm the decision. Dynamic satisfaction threshold In real applications, a node should be able to dynamically adjust its satisfaction threshold (st). During a certain time period, if a node’s request success rate reaches the st, it can slightly increase its st as its expectation grows. This would also increase the probability for the node to adapt a more cooperative strategy in next time period. If the node is using the cooperative strategy and its request success rate is below the st, instead of leaving the network immediately, the node can slightly reduce the st and try several more time periods. However, the st should never go below a certain value which can be determined by request success rate of the underlying P2P network without using any incentive mechanisms. References [1] R. Ranjan, L. Zhao, X. Wu, A. Liu, Peer-to-peer cloud provisioning: service discovery and load-balancing, Computer Communications and Networks 0 (Part 2) (2010) 195–217. [2] E. Adar, B. Huberman, Free riding on Gnutella, First Monday, vol. 5, 2000. [3] D. Hughes, G. Coulson, J. Walkerdine, Free riding on Gnutella revisited: the bell tolls? IEEE Distributed Systems Online 6 (2005) 1. [4] M. Karakaya, Ý. Körpeoˇglu, Ö. Ulusoy, Counteracting free riding in peer-to-peer networks, Computer Networks 52 (2008) 675–694. [5] S.D. Kamvar, et al. The Eigentrust algorithm for reputation management in P2P networks, in: Presented at the 12th International Conference on World Wide Web, New York, USA, 2003. [6] L. Xiong, L. Liu, PeerTrust: supporting reputation-based trust for peer-topeer electronic communities, IEEE Transactions on Knowledge and Data Engineering 16 (2004).
369
[7] R. Zhou, K. Hwang, PowerTrust: a robust and scalable reputation system for trusted peer-to-peer computing, IEEE Transactions on Parallel and Distributed Systems 18 (2007). [8] A. Roberto, et al., Fuzzy techniques for trust and reputation management in anonymous peer-to-peer systems, Journal of the American Society for Information Science and Technology 57 (2006). [9] K. Anagnostakis, M. Greenwald, Exchange-based incentive mechanisms for peer-to-peer file sharing, in: Distributed Computing Systems, 2004. Proceedings. 24th International Conference on, 2004, pp. 524–533. [10] D. Cabanillas, Peer-to-Peer bartering: swapping amongst self-interest agents, Ph.D. Thesis, Technical University of Catalonia, Barcelona, Spain, 2009. [11] A. O’Sullivan, S.M. Sheffrin, Economic: Principles in Action, Pearson Prentice Hall, p. 243. [12] B. Cohen, Abstract Incentives Build Robustness in BitTorrent. Technical Report, 2003. [13] C. Aperjis, M.J. Freedman, R. Johari, A Comparison of Bilateral and Multilateral Exchange for Peer-Assisted Content Distribution, NET-COOP 2008 Paris, France, 2008. [14] T. Bedrax-weiss, C. Mcgann, S. Ramakrishnan, Formalizing resources for planning, in: Proceedings of the ICAPS-03 Workshop on PDDL, Trento, 2003. [15] J.L. Gross, J. Yellen, Handbook of Graph Theory, CRC Press, 2004. [16] S. Song, K. Hwang, R. Zhou, Y. Kwok, Trusted P2P transactions with fuzzy reputation aggregation, IEEE Internet Computing 9 (6) (2005) 24–34. [17] ProtoPeer (04/13/2011) [online]. Available: http://protopeer.epfl.ch/faq.html.
Kan Zhang is a Ph.D. student in the School of Computing at Derby University, UK. His research interests include incentive mechanism in P2P systems, cloud computing and resource discovery mechanisms in distributed systems.
Nick Antonopoulos is currently the Head of School of Computing and Assistant Dean (Research) of the Faculty of Business, Computing & Law at the University of Derby. He has published over 80 articles in fully refereed journals and international conferences. He has received a number of best paper awards in conferences and graduated 6 Ph.D. students. He has edited two books in the field of P2P, Grids and Cloud Computing published by IGI Global and Springer respectively. He is on the editorial board of the Springer journal of Peer-to-Peer Networking and Applications (effective from 2009) and on the advisory editorial board of the IGI Global Handbook of Research on Telecommunications Planning and Management for Business. He is a Fellow of the UK Higher Education Academy and a full member of the British Computer Society. His research interests include emerging technologies such as large scale distributed systems and peer-topeer networks, software agent architectures and security.