Simplified Biased Contribution Index (SBCI): A Mechanism to Make P2P Network Fair and Efficient for Resource Sharing

Simplified Biased Contribution Index (SBCI): A Mechanism to Make P2P Network Fair and Efficient for Resource Sharing

Sateesh Kumar Awasthi, Yatindra Nath Singh,  Sateesh Kumar Awasthi is with the Department of Electrical Engineering, Indian Institute of Technology, Kanpur, India, e-mail: (sateesh@iitk.ac.in)Yatindra Nath Singh is with the Department of Electrical Engineering, Indian Institute of Technology, Kanpur, India, e-mail: (ynsingh@iitk.ac.in)
Abstract

To balance the load and to discourage the free-riding in peer-to-peer (P2P) networks, many incentive mechanisms and policies have been proposed in recent years. Global peer ranking is one such mechanism. In this mechanism, peers are ranked based on a metric called contribution index. Contribution index is defined in such a manner that peers are motivated to share the resources in the network. Fairness in the terms of upload to download ratio in each peer can be achieved by this method. However, calculation of contribution index is not trivial. It is computed distributively and iteratively in the entire network and requires strict clock synchronization among the peers. A very small error in clock synchronization may lead to wrong results. Furthermore, iterative calculation requires a lot of message overhead and storage capacity, which makes its implementation more complex. In this paper, we are proposing a simple incentive mechanism based on the contributions of peers, which can balance the upload and download amount of resources in each peer. It does not require iterative calculation, therefore, can be implemented with lesser message overhead and storage capacity without requiring strict clock synchronization. This approach is efficient as there are very less rejections among the cooperative peers. It can be implemented in a truly distributed fashion with time complexity per peer.

P2P network, free-rider, DHT.

1 Introduction

Peer-to-peer (P2P) networks gained a significant popularity in the last decade and now responsible for a large fraction of internet traffic [1], [2]. The popularity of these networks is due to their inherent advantages over traditional client-server model, e.g., the diversity of available data, scalability, robustness and cost effectiveness. The initial setup cost for these networks is very small because costly central servers are not needed. However, lack of central control leads to the problem of unfairness in these networks, i.e., large difference between upload and download amount at any peer. In such a situation, many peers free-ride and contribute very less or nothing which results in slow downloads for other peers [3]. Therefore, designing and implementing an efficient incentive policy to motivate the peers to share the resources becomes important.

In recent years, many incentive policies have been proposed to maintain the fairness in P2P networks [4], [5], [6], [7], [8], [9]. In these policies, peers’ cooperative behavior in the network is evaluated and resources are given to them in proportion to their cooperation.

In [7], [8], [9], peers’ cooperation is evaluated locally, i.e., peer cooperate with only those peers who had cooperated with them in the past. To start the process of sharing, a small amount of data is given to every peer. In such scenario, free-riders can always find a new peer to download their desired data. Also, the cooperative peers are not allowed to download more than this small amount of data from a new peer even though they have uploaded the large amount of data to some other peers[4].

In [4], [5], [6], peers’ cooperative behavior in the entire network is taken into consideration. For this purpose, in [6], every peer keeps the record of each transaction which has happened in the entire network. It makes the implementation of algorithm very complex. In comparison to this, [4], [5] are simpler approaches. In these approaches, peers are ranked in the entire network. The rank of the peer is determined by the contribution index. It is estimated using two factors, resources contributed by the peer in the network and contribution index of peer with whom it is transacting. Estimation of contribution index is performed by iterative methods and can be implemented in a distributed fashion. These approaches are able to balance the amount of upload and download of resources in the network. However, there are some fundamental problems in its implementation.

First, in each iteration, index managers, i.e., peers who are managing the contribution index of other peers, need the current contribution index of peers from other peers. If clocks of the peers are not synchronized, then the peers who are reporting the contribution index of peers may report the contribution index of the previous iteration, which may lead to the wrong estimates [10].

Second, updating the contribution index in each iteration requires a lot of message overhead. This is more important when the number of iterations required to converge the algorithm is large. If new transactions happen in the network, then contribution index need to be updated. Even one transaction, between any two peers, can affect the contribution index of all the peers in the network.

And lastly, index managers need to keep the record of all past transactions of a peer for whom they are estimating the contribution index. This needs a large amount of storage capacity. Keeping all these points in view, a simple incentive policy is required, which can ensure the following:

  • It should balance the upload and download amount of resources at each peer.

  • There must be minimum rejections among the cooperative peers.

  • Cooperation of peers must be considered in the entire network.

  • Lower message overhead and storage capacity is desirable.

  • It should be robust to peer dynamics.

  • It should be implementable in truly distributed system.

In this paper, we are proposing an incentive policy, which considers peers’ cooperation in the entire network. We are assigning the contribution index to each peer. It is a simplified form of the Biased Contribution Index (BCI) [5]. We call it Simplified Biased Contribution Index (SBCI). It also depends on the cooperation of peers in sharing the resources and in balancing the load in the network. SBCI is updated at regular time intervals. At any time, SBCI is calculated using previous SBCI and the cooperation made by the peers during this period, i.e., in between previous update to current update. In the estimation of SBCI, no iterative calculation is required, hence it automatically solves the first and second problems. Once the peers’ cooperation is modeled in terms of SBCI, it need not store the history of peers’ transactions, hence, it also solves the last problem. Our simulation results show that SBCI can balance the upload and download amount at each peer with minimum rejections among cooperative peers. Hence it meets all the above design considerations.

Rest of the paper is organized as follows. Section 2 covers the summary of related work. The proposed incentive model is introduced in Section 3. Section 4 covers the analysis of algorithm. The transaction procedure for maximum efficiency is introduced in Section 5. Evaluation of algorithm, through simulation is discussed in Section 6. Finally, paper is concluded in Section 7.

2 Related Work

Presence of free-riding peers and its impact on fairness in P2P network have been studied earlier also [3], [11]. Several approaches have been proposed by the research community [4], [5], [6], [7], [8], [9], [12], [13], [14],[15], [16], [17], [18], [19].

BitTorrent [20], a most popular file sharing system, used tit-for-tat (TFT) approach to prevent the free-riding. In this approach, a peer cooperates with other peers in the same proportion as they have cooperated with him in the previous round. In each round, every peer updates the contributions of peers in the previous round. To improve the performance, many variants of TFT have been proposed. Garbacki et al., [7], proposed ATFT in which bandwidth is used rather than content to decide the incentives. Dave et al.,[21], proposed auction based model to improve the TFT. In this model, peers reward one another with proportional shares, [22], of bandwidth. Sherman et al., [16], proposed FairTorrent. It is a deficit based distributed algorithm in which a peer uploads the next data block to the peer, whom it owes the most data as measured by a deficit counter. In Give-to-get [9], peer ranks all its neighbors, based on the amount of data what have been received from them in the last round and then unchokes the top three forwarders. All these mechanisms consider the local and very short history of peers’ cooperation.

Global history of peers’ cooperation is considered in [4], [5], [6], [8]. In multilevel tit-for-tat (ML-TFT) [8], a peer ranks other peers based on the fraction of download, what he received from them. Its time complexity is much larger for n-step ranking of peers. Feldman et al., [6], proposed a robust incentive technique, which considers the peers’ cooperation in the entire network, but it is not trivial to implement in a large network. Its calculation have complexity of . In Global Contribution (GC) approach [4], a peers’ GC point is defined such that all peers are motivated to download from low contributing peers and upload to high contributing peers. GC point is calculated using iterative methods such as the Jacobi and Gauss-Seidel. In another similar approach, Biased Contribution Index(BCI) [5], second order iterative function is used to calculate the BCI of peers. BCI is defined as monotonically increasing function of biased upload to download ratio. Convergence of BCI [5] is faster than GC [4].

Many authors proposed approaches based on game theory [15], [17], [18], [19]. Free-riding can be reduced by this approach. This approach is based on the assumption that the rules of the game are known to all the players. For practically large network, this may not be true for all the peers.

Reputation management system, [23], [24], [25], [26], is another approach in which peers’ behavior is modeled as trust. Trust is estimated by each peer based on its interaction with the other peers and then it is aggregated in the whole network. Trust is a more generalized term and depends on the overall behavior of peer in the network. In the proposed SBCI, we are focusing on the particular issues of fairness and free-riding.

3 Proposed Incentive model

3.1 Design Rules to Ensure the Fair and Efficient P2P Network

Let us make some design rules to ensure the design considerations mentioned in Section 1.
1). If any peer only downloads the resources from the network then its SBCI must be zero.
2). If it only uploads to the network ( at least once to other than free-rider) then its SBCI must be 1.
3). Uploading to the free-riders should not increase the SBCI.
4). Uploading to any other peer should always increase the SBCI.
5). Download should always decrease the SBCI.
6). Peers must be motivated to upload to high contributing peers.
7). Peers must be motivated to download from low contributing peers.

3.2 Simplified Biased Contribution Index

Let there be peers in a P2P network. Further, we considered time evolution in discrete instances. A time instance is represented by , and if an event happened in the time interval, , it is considered to happen at . At any time, , let the share matrix in the entire network be . Where its element is the amount of resource shared by peer to peer at time , i.e., in . The bias ratio, , for peer at time can be defined in the similar way as in [5].

(1)

Here, is the SBCI vector of peers at time . is transpose of matrix and is a row vector with its entry as 1 and all others as zero. Now, let us define the SBCI, , of peer as a monotonically increasing function of the bias ratio at time .

(2)

If any peer does not upload anything in the network at time , then . But if it download something from the network at this time, then only if . Therefore, to make the denominator in (2) nonzero for zero uploading and nonzero downloading, let us replace by . Here, is constant and is a column vector with each element as 1. Hence, (2) will be:

(3)

SBCI in the above equation is estimated using the transactions, which are happening only at time . If we consider all the past transactions, then SBCI can be modified as:

(4)

If peer does not participate in any transaction at time , then should be . Parameter can be decided by the fraction of transaction, which are happening at time, , at node , and can be defined as:

(5)

Here, . The is a complete share matrix with its element as the amount of resources shared by peer to peer , till time . To start the process of sharing, the SBCI vector can be initialized as, , later we will see that this choice of initialization will balance the upload and download amounts in the network.

3.3 Justification For Design Rules

If any peer , does not upload anything and only download the resources from the network at time , then and , hence, from (4),

Let it did not upload anything in the network till time , and started downloading the resource first time at time , then from (5), , hence

Therefore, if any peer , only downloads from the network then its SBCI will be zero.

At time , if any peer uploads only to the free-riders, i.e., peers who only download without uploading anything in the network, then , if it does not download anything at this time, , then . Therefore, , and hence from (5), , and from (4)

Therefore, uploading to the free-riders will not increase the SBCI.

At time , if any peer , only uploads the resources in the network (at least one of the downloader should be other than free-rider) and does not download anything from it then, and . Hence from (4),

Let it is first time when the peer makes any transaction in the network, then from (5), . Hence,

Now, at time , if it does not participate in any transaction then

if it uploads to only free-riders and does not download anything then again

if it uploads to at least one of the peer other than free-rider without downloading anything then,

Hence, from mathematical induction, we can say that this is true for any thus,
Therefore, if any peer , only uploads to the network (at least once to other than free-rider) then its SBCI will be 1.

If any peer , uploads the resources to non-free-rider peer, at time , then . If it does not download anything at this time then, . Hence, from (4),

It is a convex combination of and hence,

Therefore, uploading to the peer other than free-rider will always increase the SBCI.

If any peer , downloads the resource from the network at time , then , hence , therefore, from (5), . If it does not upload anything in the network at this time, then , hence from (4)

hence,

Therefore, download will always decrease the SBCI.

It can be concluded from the above discussion that high contributions will lead to high SBCI. Now, observing directly the (4), if peers will upload the resources to high SBCI peers then, they will earn more SBCI. Therefore, peers will be motivated to upload the resources to high contributing peers.

It can also be observed from (4) that peers will lose less SBCI, if they will download from a low SBCI peer. Therefore, peers will be motivated to download from low contributing peers.

1

2

3

4

5

100

200

100

100

200

100

100

200

Fig. 1: Upload and download at each peer at time

Let us understand the SBCI and its computation through an example. Let there be five peers A, B, C, D and E in a P2P network as shown in Fig. 1. If , then initial SBCI of all the peers will be . At time , let they share the resources as shown in figure, i.e., and all others are zero. Since, it is initial step, hence, for all , . Using (4), SBCI vector at time , can be calculated as, .

Now, let peer needs the data amount of 100 units and all the four peers responded to his query, then peer 1 will select the peer with least SBCI as an uploader, in this case, peer 4 has least SBCI. After this transaction, let SBCI vector is updated at . For , and all others are zero. Hence for this time, and . Hence, updated SBCI vector will be, .

3.4 Justification For Fairness

Lemma 1.

At any time , if upload and download at each peer is same and SBCI vector, , then SBCI vector, .

Proof.

Let upload and download for any peer at time be , then

Since, , here, , hence from (4),

Put , hence

Lemma 2.

If SBCI vector at any two successive time instances, and , is same and lie on vector , then upload and download at time will be same in each peer.

Proof.

Let , where is any constant, then from (4)

Manipulating above, we get

For nonzero ,

Solving,

(6)

Since, , hence this set of equations can be written in the form of matrix as follows,

Pre-multiplying by on both sides,

for any matrix, , will be the sum of all of its elements, hence hence,

since hence,

Substituting the value of in (6)

or

since , hence

Hence, upload and download at time will be same in each peer .

4 Analysis of Algorithm

4.1 Implementation in Distributed System

SBCI of each peer can be calculated distributively as shown in Algorithm 1. Each peer’s SBCI can be calculated and managed by some other peer in the network. We call it index manager and the peer whose SBCI is being calculated by this peer is called its daughter peer. The index manager peer can be located using distributed hash table (DHT) such as Chord [27], CAN [28], Pastry [29] and Tapestry [30]. Each peer will send the values of resources uploaded and downloaded to and from other peer to the index manager of peer . An index manager peer will collect the values of resources uploaded and downloaded by its daughter peer , to other peers. Each index manager will locate the index manager of peer and will receive the current SBCI, , of peer .

Now each index manager possesses all the things to calculate the SBCI of its daughter peer using (4). The can be calculated using (5). If then it is zero, otherwise it is just a ratio of the current transaction amount to the total transaction amount made by peer , till time . The total amount of transactions can be updated by adding the current amount of transaction with the previous total amount of transactions.

4.2 Message Overhead, Storage Capacity and Time Complexity

In this method, the SBCI is calculated directly while in other similar approaches [4], [5] iterative calculations are required. Therefore, the total number of messages required to calculate the SBCI, in this method will be and times lesser than [4] and [5] respectively. Where and is the number of iterations required to converge the algorithm in [4] and [5] respectively.

In this algorithm, index manager needs to store only two information about its daughter peer, i.e., current SBCI and total amount of transaction till . While in [4], [5], all transaction history of its daughter peer, i.e., amount of transaction, ID of peer with whom it transacted and whether it was upload or download, are required to be stored. Therefore, the required amount of storage is reduced very much.

Time complexity of algorithm for one update can be calculated directly from (5). It will be per peer which is same as in [4] and [5].

1:Input: Amount of upload and download of peers
2:Output: SBCI with index managers
3:procedure 
4:     for  each peer  do
5:         forall peer , who is selected as source peer do
6:              Download the resource
7:              Send the value of resource to the index manager of peer ;
8:         end forall
9:         forall peer , who selected peer as source peer do
10:              Upload the resource
11:              Send the value of resource to the index manager of peer ;
12:         end forall
13:         if  Peer is index manager of peer  then
14:              forall  peer , who transacted with peer  do
15:                  Receive the value of resource uploaded ;
16:                  Receive the value of resource downloaded ;
17:                  if  then
18:                        Initialization of parameters
19:                       Set ;
20:                  else
21:                       Locate peer’s index manager;
22:                       Receive the current SBCI, of peer from these index managers ;
23:                  end if
24:              end forall
25:               Initialization of the amount of total transactions
26:              Set
27:              Compute
28:              
29:              if  then
30:                  
31:              else
32:                  
33:                  
34:                  
35:              end if
36:              Compute using (4)
37:              Save
38:              Save
39:         end if
40:     end for
41:end procedure
Algorithm 1 For Updating the SBCI of Peers

5 Transaction Procedure for Maximum Efficiency

5.1 Simple Procedure For Peer Selection

All the peers are rational and aware of the fact that, if they will share their resources with peer having high SBCI, then their SBCI will be higher, and if they will download from a low SBCI peer then they will lose less SBCI. Therefore, the simple peer selection procedure for any peer is to download from low SBCI peer and to upload to high SBCI peer, as far as possible, as shown in Algorithm 2.

1:procedure 
2:     if  Peer needs a resource then
3:         Send the request for resource;
4:         Get the SBCI of responding peers from their respective index managers;
5:         Select the source peer having minimum SBCI;
6:         Download the resource;
7:         Send the value of resource to the index manager of source peer;
8:     end if
9:     if Peer get a request for a resource then
10:         Get the SBCI of requesting peer from their respective index managers;
11:         if  SBCI of all requesting peer is less than the threshold then
12:              Reject all the requesting peers;
13:         else
14:              Select the peer with maximum SBCI;
15:              Upload the resource;
16:              Send the value of resource to the index manager of downloading peer;
17:         end if
18:     end if
19:end procedure
Algorithm 2 Simple Procedure for Peer Selection

5.2 College Admission and The Stability of Marriage Based Approach For Peer Selection

5.2.1 Preliminaries

College Admission and the stability of Marriage is a well-known problem, introduced by Gale and Shapley [31]. In its most popular variants, there are two disjoint sets of cardinality, . One set is representing the men and the other one is representing the women. Each person has a different order of preference for his or her marriage partner. There are several ways by which one-to-one pairing can be done. But a pairing is said to be stable, if there is no pair both of whom prefer each other to their actual partner.

Gale and Shapley [31] provide the solution and the algorithm for stable pairing. They also proved that there always exists a stable match for such type of problem. In this algorithm, one of the group proposes his or her first preference, another group can reject the proposal or can keep it on hold until they get a better option. If any member from the proposing group get rejected, he or she tries on next preference. This process continues until proposing group is not rejected or rejected by all of his or her preferred partners.

If a proposal is given by men, then they get the better preferred partner as compared to any other stable pairing, hence it is called man optimal stable matching, the other way around women optimal stable matching.

5.2.2 Application in Peer Selection

We considered the situation where there are many uploaders and many downloaders for a resource. In order to earn the high SBCI, uploader would like to upload the resource to high SBCI peers, thus they have certain preferences for downloaders. On the other hand, for downloaders the resource and the SBCI both matter. Therefore, downloader may prefer the higher bandwidth uploader over low SBCI uploader. Thus, downloder have a different preference order for uploaders.

In this situation, all uploaders and downloaders preference order can be collected at a certain node. We call it the resource manager node. This node can be found by hashing the resource identifier and finding corresponding root node in DHT network. On this node, the stable marriage algorithm can be used to pair the uploaders and downloaders. A message to each pair will be sent after pairing, so that they can start the process of transaction. Detail of peer selection procedure in this situation is shown in Algorithm 3.

1:procedure 
2:     if  Peer needs a resource then
3:         Send the request for resource;
4:         Get the SBCI of responding peers from their respective index managers;
5:         Learn about the bandwidth of responding peers;
6:         Make the order of preference for uploader;
7:         Send the order of preference to the resource manager;
8:         Get the ID of uploader partner from resource manager;
9:         Download the resource;
10:         Send the value of resource to the index manager of uploading peer;
11:     end if
12:     if Peer get a request for a resource then
13:         Get the SBCI of requesting peers from their respective index managers;
14:         Remove the peers, having SBCI less than the threshold;
15:         Make the order of preference according to their SBCI;
16:         Send the order of preference to the resource manager;
17:         Get the ID of downloader partner from resource manager;
18:         Upload the resource;
19:         Send the value of resource to the index manager of downloading peer;
20:     end if
21:     if Peer is the resource manager then
22:         Get the order of preference from uploaders;
23:         Get the order of preference from downloaders;
24:         Run the Stable marriage algorithm;
25:         Send the ID of partner to each peer;
26:     end if
27:end procedure
Algorithm 3 College Admission and The Stability of Marriage Based Approach for Peer Selection

6 Experimental Evaluation

As in [32] and [33], we used NetLogo 5.2 [34], to evaluate the performance of our algorithm. NetLogo is a multiagent programmable modeling environment where we can model different agents and can ask them to perform the task in parallel and independently. It is written mostly in Scala, with some parts in Java.

6.1 Simulation Setup

We simulated a typical P2P network with parameters and distributions taken from real world measurements as in [35], [36]. In this network, peers can send a query for the resource. We assumed that ten percent of peers respond to this query. After selecting the source peer according to the procedure described in Section 5, resource is downloaded. We assumed the amount of resources requested by downloading peers varies randomly between 1 unit to 255 units. After downloading the resource, SBCI of peer is updated by an index manager using (4). Any peer whose SBCI is less than the threshold value is rejected and cannot download the resources from the network. We assumed the threshold value of SBCI to be .

The number of nodes in the network is taken as 1000, which is reasonable size. However, the number of nodes can be increased up to any number, but this will not affect the results. Because, evaluation metrics are normalized with respect to the number of nodes. The initial value of SBCI of all the peers are taken as . We conducted the experiment for and . Percentage of free-riders were varied from 10% to 80%.

The simulation is performed for three different peer distribution models, i.e., Simple, Adaptive and Extreme Model.

In Simple Model, free-riders vary from 10% - 70%. These free-riders do not share anything at any point of time in the simulation.

In Adaptive Model, free-riders vary from 20% - 60%. Half of these free-riding peers do not share anything during the whole simulation. Remaining half behave as normal peers till midway of simulation, and thereafter convert themselves to free-riders.

In Extreme Model, at the beginning of simulation, 10% peers are free-riders. After completion of every 12.5% of total transactions, 10% more peers convert themselves to free-riders. Thus, at the end of simulation, there will be 80% free-riders. The simulation was run upto 100000 transactions.

6.2 Evaluation Metrics

We plotted the graph between the total upload and download amounts of each peer for all the models. To get the deeper picture, we also calculated the average absolute deviation (AAD) of upload to download ratio from one, in any model as:

If upload amount for each peer is same as download amount, then the value of in the network will be zero. The larger value of implies, the larger difference between upload and download and thus, lesser fairness in the network.

Network is said to be efficient if free-riders are not allowed to download anything, without affecting the transactions between non-free-rider peers. At any time, if SBCI of any cooperative peer is less than the threshold then it will also get rejected. This is not a desired state in the network. Therefore, we calculated the percentage of rejections among cooperative peers, i.e., cooperative peers rejecting the request of cooperative peers. For efficient algorithm, percentage of rejections must be minimum.

For comparison, we also simulated the GC for its best case [4], i.e., and . The parameters and are taken to be same as in [4]. For fair comparison, we kept the threshold value for peer selection as . We kept maximum value of threshold in both GC as well as in SBCI. Rest of the settings for GC are same as in SBCI.

6.3 Simulation Results of Simple Procedure For Peer Selection

(a) Free Riders = 10 %,
(b) Free Riders = 10 %,
(c) Free Riders = 10 %,
(d) Free Riders = 30 %,
(e) Free Riders = 30 %,
(f) Free Riders = 30 %,
(g) Free Riders = 50 %,
(h) Free Riders = 50 %,
(i) Free Riders = 50 %,
(j) Free Riders = 70 %,
(k) Free Riders = 70 %,
(l) Free Riders = 70 %,
Fig. 2: Upload and Download Amount at Each Peer for SBCI in Simple Model for Simple Procedure of Peer Selection. Free-riders are varied from and the value of is taken as and 0.3
S.N. Free-riders AAD of Rejections
0.9 10% 0.103772 1.817
0.9 30% 0.303675 0.127
0.9 50% 0.505119 0.023
0.9 70% 0.707233 0.008
0.6 10% 0.103667 0.064
0.6 30% 0.303652 0.009
0.6 50% 0.505459 0.006
0.6 70% 0.707117 0.003
0.3 10% 0.103844 0.009
0.3 30% 0.303671 0.002
0.3 50% 0.505088 0.001
0.3 70% 0.707069 0
TABLE I: AAD and of Rejections for SBCI in Simple Model for Simple Procedure of Peer Selection

We conducted the simulation experiment for simple procedure of peer selection, as explained in Section 5. Bandwidth of all the peers is assumed to be same. For simple model, simulation results for SBCI are shown in Fig. 2. Corresponding and percentage of rejections among cooperative peers are shown in Table I. We can observe from this figure that in initial transactions, free-riders got some resources after that their SBCI become zero, which disqualify them in taking any resources from the network. For all other peers, upload to download ratio is very close to the reference line, thus algorithm is able to maintain the fairness in the network. We can observe from Table I that the percentage of rejections among the cooperative peers are more for higher values of . Because for higher values of , threshold value of SBCI will be higher. But its impact on is not very significant in this model.

(a) Free Riders = 20 %,
(b) Free Riders = 20 %,
(c) Free Riders = 20 %,
(d) Free Riders = 40 %,
(e) Free Riders = 40 %,
(f) Free Riders = 40 %,
(g) Free Riders = 60 %,
(h) Free Riders = 60 %,
(i) Free Riders = 60 %,
Fig. 3: Upload and Download Amount at Each Peer for SBCI in Adaptive Model for Simple Procedure of Peer Selection. Free-riders are varied from and the value of is taken as and 0.3
S.N. Free-riders AAD of Rejections
0.9 20% 0.118469 1.87
0.9 40% 0.236766 0.606
0.9 60% 0.354868 0.198
0.6 20% 0.175055 0.054
0.6 40% 0.351099 0.028
0.6 60% 0.527092 0.011
0.3 20% 0.200618 0.020
0.3 40% 0.401786 0.011
0.3 60% 0.600657 0.008
TABLE II: AAD and of Rejections for SBCI in Adaptive Model for Simple Procedure of Peer Selection

In Adaptive Model, free-riders earn the SBCI and thereafter use this SBCI to download maximum resources from the network. Simulation results for this model are shown in Fig. 3. Corresponding and percentage of rejections among cooperative peers are shown in Table II. We can observe from this figure that for higher , algorithm performs better. For , even in the presence of a large number of free-riders, the algorithm is able to balance the upload and download amount in the network. We can also observe from Table II that for higher the percentage of rejection among cooperative peers is higher but corresponding is very less. Thus, impact of is clearly evident.

And finally, we conducted the simulation for SBCI in Extreme Model. Results for upload and download at each peer are shown in Fig. 4. Corresponding and percentage of rejections among cooperative peers are shown in Table III. We can observe from the figure that for the algorithm is able to balance the upload and download amount in the network. For , at the cost of less than 2% of rejections among the cooperative peers, algorithm is able to maintain as 0.211228.

(a) Free Riders = 80%,
(b) Free Riders = 80%,
(c) Free Riders = 80%,
Fig. 4: Upload and Download Amount at Each Peer for SBCI in Extream Model for Simple Procedure of Peer Selection. At the beginning of simulation, 10% peers are free-riders. After completion of every 12.5% of total transactions, 10% more peers convert themselves to free-riders. The value of is taken as and 0.3
S.N. Free-riders AAD of Rejections
0.9 80% 0.211228 1.794
0.6 80% 0.423116 0.068
0.3 80% 0.567303 0.010
TABLE III: AAD and of Rejections for SBCI in Simple Model for Simple Procedure of Peer Selection

We also reported the simulation results of GC for all peer distribution models in Fig. 5. Corresponding and percentage of rejections among cooperative peers are reported in Table IV. We can see from the figure that GC can also balance the upload and download amounts in each peer. In Adaptive Model and in Extreme Model GC can maintain better fairness compared to SBCI but the percentage of rejections among cooperative peers are higher in GC for all the models. Thus, it is less efficient compared to SBCI.

(a) Simple Model, Free Riders = 30%
(b) Adaptive Model, Free Riders = 60%
(c) Extreme Model, Free Riders = 80%
Fig. 5: Upload and Download Amount at Each Peer for best case of GC, i.e., in different distribution models for Simple Procedure of Peer Selection.
S.N. Model Free-riders AAD of Rejections
Simple 30% 0.3059 33.657
Adaptive 60% 0.3146 16.27
Extreme 80% 0.1370 19.269
TABLE IV: AAD and of Rejections for Different Distribution Model in Best case of GC for Simple Procedure of Peer Selection
(a) Free Riders = 10%,
(b) Free Riders = 10%,
(c) Free Riders = 10%,
(d) Free Riders = 30%,
(e) Free Riders = 30%,
(f) Free Riders = 30%,
(g) Free Riders = 50%,
(h) Free Riders = 50%,
(i) Free Riders = 50%,
(j) Free Riders = 70%,
(k) Free Riders = 70%,
(l) Free Riders = 70%,
Fig. 6: Upload and Download Amount at Each Peer in the Presence of Free-riders for Different values of . Peer selection approach is based on the problem of ”College Admission and The Stability of Marriage”. Bandwidth distribution is as type 1.
S.N. Free-riders AAD of Rejections
0.9 10% 0.102265 1.0114
0.9 30% 0.301927 0.287
0.9 50% 0.501482 0.0244
0.9 70% 0.701471 0.0026
0.6 10% 0.102312 0.046
0.6 30% 0.30196 0.0134
0.6 50% 0.50149 0.0034
0.6 70% 0.701432 0.0008
0.3 10% 0.102367 0.0114
0.3 30% 0.301967 0.0036
0.3 50% 0.501484 0.0016
0.3 70% 0.701441 0
TABLE V: AAD and of Rejections for SBCI in Simple Model for Stable merriage approach with two different bandwith peers
(a) Free Riders = 10%,
(b) Free Riders = 10%,
(c) Free Riders = 10%,
(d) Free Riders = 30%,
(e) Free Riders = 30%,
(f) Free Riders = 30%,
(g) Free Riders = 50%,
(h) Free Riders = 50%,
(i) Free Riders = 50%,
(j) Free Riders = 70%,
(k) Free Riders = 70%,
(l) Free Riders = 70%,
Fig. 7: Upload and Download Amount at Each Peer in the Presence of Free-riders for Different values of . Peer selection approach is based on the problem of ”College Admission and The Stability of Marriage”. Bandwidth distribution is as type 2.
S.N. Free-riders AAD of Rejections
0.9 10% 0.131826 6.1534
0.9 30% 0.322511 4.2034
0.9 50% 0.515015 2.3352
0.9 70% 0.709604 0.9604
0.6 10% 0.128717 0.4344
0.6 30% 0.327149 0.2746
0.6 50% 0.520278 0.1396
0.6 70% 0.710663 0.0348
0.3 10% 0.130575 0.1214
0.3 30% 0.323463 0.0652
0.3 50% 0.514418 0.024
0.3 70% 0.70845 0.0054
TABLE VI: AAD and of Rejections for SBCI in Simple Model for Stable merriage approach with ten different bandwith peers

6.4 Simulation Results of College Admission and The Stability of Marriage Based Approach For the Peer Selection

We also conducted the experiment for college admission and the stability of marriage based approach for the peer selection. For simplicity, we considered only Simple model. Bandwidth of peers is assumed to be different, so that they can also include the bandwidth, as a criteria for peer selection. Selection of peer for downloading and uploading is done according to Algorithm 3. The stable match for uploader and downloader is made downloader optimal. To observe the impact of heterogeneity, we simulated the Simple Model for two different types of bandwidth distributions, i.e., type 1 and type 2.

In type 1, half of the peers have bandwidth 10 units and the rest have 20 units. Simulation results for this type are shown in Fig. 6. Corresponding and percentage of rejections among cooperative peers are shown in Table V. We can see from the figure that upload and download amount increases in each peer compared to simple procedure. Because each peer, who request for resources, is getting some option for downloading. Uploads and downloads in each peer are close to the reference line and corresponding are lesser compared to simple procedure. Thus, the algorithm is able to balance the upload and download amount in each peer.

In type 2, 10% of the peers have bandwidth 10 units, next 10% of the peers have bandwidth 20 units, next 10% of peers have bandwidth 30 units and so on. In this way, last 10% of peers will have bandwidth 100 units. Simulation results for this type are shown in Fig. 7. Corresponding and percentage of rejections among cooperative peers are shown in Table VI. We can observe from this figure that upload and download amounts for most of the peers are far from reference line and corresponding are also higher. Thus, the impact of heterogeneity is clearly evident. It also supports the argument that if we will select the source peer according to bandwidth rather than SBCI, we will loose the fairness in the network.

7 Conclusion

In this work, we proposed a new algorithm to make the P2P network fair and efficient. The algorithm ranks the peers based on their simplified biased contribution index (SBCI) which can vary from 0 to 1. Estimation of SBCI is based on two factors, the resources contributed by the peer and the SBCI of peer with whom it is transacting. We propose the design rules to make the network fair and efficient. With the help of mathematical justification, we have shown that our algorithm can fulfill all the design objectives and is able to maintain the fairness in the network. This algorithm can be implemented in the truly distributed fashion. Since, no iterative calculation is needed, it can be implemented with lesser message overhead and storage capacity.

We proposed two different peer selection approaches, namely simple procedure and college admission and the stability of marriage based approach. Simulation results show that the algorithm is able to suppress the free-riders in highly free-riding environment. The algorithm is also able to suppress the dynamic free-riders, i.e., those who change their behavior dynamically.

In future, we would like to implement this mechanism in unstructured P2P network.

References

  • [1] J. S. Otto, M.A. Sanchez, D. R. Choffnes, F.E. Bustamante, and G. Siganos, “On Blind Mice and the Elephant - Understanding the Network Impact of a Large Distributed System,” Proc. of ACM SIGCOMM, conference 2011. pp. 110- 121, 2011.
  • [2] Sandvine, Waterloo, Canada, “Sandvine June 2016 global Internet phenomena report,” 2016 [Online]. Available: https://www.sandvine.com/trends/global-internet-phenomena/
  • [3] M. Karakaya, I. Korpeoglu, and O. Ulusoy, “Free riding in peer-topeer networks,” IEEE Internet Comput., vol. 13, no. 2, pp. 92–98, March-April 2009.
  • [4] H. Nishida and T.  Nguyen,”A Global Contribution Approach to Maintain Fairness in P2P networks” IEEE Tran. on Parallel and Distributed system, vol.21, no.6, June 2010.
  • [5] S. K. Awasthi and Y. N. Singh,”Biased Contribution Index: A Simpler Mechanism to Maintain Fairness in Peer to Peer Networks”https://arxiv.org/pdf/1606.00717.pdf, June 2016.
  • [6] M. Feldman, K. Lai, I. Stoica, and J. Chuang, “Robust Incentive Techniques for Peer-to-Peer Networks,” Proc. Fifth ACM Conf. Electronic Commerce, pp. 102-111, May 2004.
  • [7] P. Garbacki, D. H. J.  Epema and M. Steen, ”An Amortized Tit-For-Tat Protocol for Exchanging Bandwidth Instead of Content in P2P Networks,” First Int’l Conf. Self-Adaptive and Self-Organizing Systems, pp. 119-228, 2007.
  • [8] Q. Lian, Y. Peng, M. Yang, Z. Zhang, Y. Dai, and X. Li, “Robust Incentives via Multi-Level Tit-for-Tat,” Concurrency and Computation: Practice & Experience, vol. 20, pp. 167-178, 2008.
  • [9] J. J. D. Mol, J. A. Pouwelse, D. H. J. Epema, and H. J. Sips, “Give-to-Get: Free-Riding Resilient Video-on-Demand in P2P Systems,”Proc. Multimedia Computing and Networking, pp. 681804-1-681804-8,2008.
  • [10] V. S. Borkar, R. Makhijani and R. Sundaresan, ”Asynchronous Gossip for Averaging and Spectral Ranking,” IEEE Journal Of Selected Topics in Signal Processing, vol. 8, no. 4, pp. 703-716, August 2016.
  • [11] S. Saroiu, P. K. Gummadi, and S. D. Gribble. ”A Measurement Study of Peer-to-Peer File Sharing Systems.”In Proceedings of Multimedia Computing and Networking 2002 (MMCN ’02), San Jose, CA, USA, January 2002.
  • [12] M. Feldman, C. Papadimitriou, J. Chuang, and I. Stoica, ”Free-Riding and Whitewashing in Peer-to-Peer Systems,” Proc. ACM SIGCOMM Workshop Practice and Theory of Incentives in Networked Systems (PINS), pp. 228-236, August 2004.
  • [13] K. Eger and U. Killat, ”Fair Resource Allocation in Peer-to-Peer Networks (Extended Version),”Computer Comm., vol. 30, no. 16, pp. 3046-3054, November 2007.
  • [14] H. Park and M. van der Schaar, ”A Framework for Foresighted Resource Reciprocation in P2P Networks,” IEEE Trans. Multimedia, vol. 11, no. 1, pp. 101-116, January 2009.
  • [15] R. Izhak-Ratzin, H. Park and M. van der Schaar,”Online Learning in BitTorrent Systems,” IEEE Tran. on Parallel and Distributed system, vol. 23, no. 12, pp. 2280-2288, December 2012.
  • [16] A. Sherman, J. Nieh, and C. Stein,”FairTorrent: A Deficit-Based Distributed Algorithm to Ensure Fairness in Peer-to-Peer Systems” IEEE/ACM Trans. Networking, vol. 20, no. 5, pp.1361-1374, October 2012.
  • [17] J. Park and M. van der Schaar,”A Game Theoretic Analysis of Incentives in Content Production and Sharing Over Peer-to-Peer Networks,” IEEE Journal of Selected Topics in Signal Processing, vol. 4, no. 4, August 2010.
  • [18] Y. Chen, B. Wang, W. Sabrina Lin,Y. Wu, and K. J. Ray Liu,”Cooperative Peer-to-Peer Streaming: An Evolutionary Game-Theoretic Approach,” IEEE Trans. on Circuit and Systems for Video Technology, vol. 20, no. 10 , pp. 1346-1357, October 2010.
  • [19] R. T. B. Ma, S. C. M. Lee, J. C. S. Lui and D. K. Y. Yau, ”Incentive and Service Differentiation in P2P Networks: A Game Theoretic Approach,”IEEE/ACM Trans. Networking, vol. 14, no. 5, pp. 978-991, October 2006.
  • [20] B. Cohen, ”Incentives build robustness in BitTorrent,” presented at the 1st Workshop Econ. Peer-to-Peer Syst., Jun. 2003.
  • [21] D. Levin, K. LaCurts, N. Spring, and B. Bhattacharjee, “BitTorrent is an auction: Analyzing and improving BitTorrent’s incentives,” in Proceedings of the ACM SIGCOMM, pp. 243–254, August 2008.
  • [22] F. Wu and L. Zhang. Proportional response dynamics leads to market equilibrium. In ACM STOC, 2007.
  • [23] S. K. Awasthi and Y. N. Singh, ”Absolute Trust:Algorithm for Aggregation of Trust in Peer to Peer Network”, http://arxiv.org/abs/1601.01419
  • [24] S. D. Kamvar, M. T. Schlosser and H. Garcia-Molina, ”The eigentrust algorithm for reputation management in P2P networks,” Proc. of the 12th international conference on World Wide Web, ser. WWW ’03. New York, USA: ACM, pp. 640–651, 2003.
  • [25] S. K. Awasthi and Y. N. Singh, ”Generalized Analysis of Convergence of Absolute Trust in Peer to Peer Networks,” IEEE Communication Letters, vol. 20, no. 7, July 2016.
  • [26] Ahmet Burak Can and Bharat Bhargava, ”SORT: A Self-ORganizing Trust Model for Peer-to-Peer Systems,” IEEE Trans. On Dependable and Secure Computing, vol. 10, no. 1, pp. 14-27, January/February 2013.
  • [27] I. Stoica, R.  Morris, D.  Nowell, D.  Karger, M.  Kaashoek, F.  Dabek and H.  Balakrishnan, ”Chord: A Scalable Peer-to-Peer Lookup Protocol for Internet Applications,” ACM SIGCOMM Computer Comm. Rev., vol. 31, no. 4, pp. 149-160, 2001.
  • [28] S. Ratnasamy, P. Francis, M. Handley, R. Karp and S. Shenker, ”A scalable content-addressable network,” Proc. of ACM SIGCOMM ’01 conference on Applications, technologies, architectures, and protocols for computer communications, pp. 161-172, August 2001.
  • [29] A. Rowstron and P. Druschel, ”Pastry: Scalable, distributed object location and routing for large-scale peer-to-peer systems,” Proc. of the Middleware’01 IFIP/ACM International Conference on Distributed Systems Platforms Heidelberg, pp. 329-350, 2001.
  • [30] B. Y. Zhao, L. Huang, J. Stribling, S. C. Rhea, A. D. Joseph and J.  D.  Kubiatowicz, ”Tapestry: A resilient global-scale overlay for service deployment,” IEEE Journal on Selected Areas in Communications, vol. 22, no. 1, pp.41–53, January 2004.
  • [31] D. Gale and L. S. Shapley, ”College admissions and the stability of marriage,” The American Mathematical Monthly, vol. 69, no. 1, pp.9-15, January 1962.
  • [32] Xiaoyong Li, Feng Zhou and Xudong Yang, ”Scalable Feedback Aggregating (SFA) Overlay for Large-Scale P2P Trust Management,” IEEE Trans. Parallel and Distributed Systems, vol. 23, No. 10, pp.1944-1957, October 2012.
  • [33] Z. Liang and W. Shi, ”Analysis of ratings on trust inference in open environments,” Performance Evaluation, vol. 65, no. 2, pp. 99-128, 2008.
  • [34] Uri Wilensky, https://ccl.northwestern.edu/netlogo/, 2015.
  • [35] Matei Ripeanu, Adriana Iamnitchi, and Ian Foster, ”Mapping the Gnutella Network: Properties of Large-Scale Peer-to-Peer Systems and Implications for System Design,” IEEE Internet Computing Journal special issue on peer-to-peer networking, vol. 6(1), 50-57, January/February 2002.
  • [36] R. Cuevas, M. Kryczka, A. Cuevas, S. Kaune, C. Guerrero, and R. Rejaie. ”Unveiling the Incentives for Content Publishing in Popular BitTorrent Portals,” IEEE/ACM Trans. Networking, vol. 21, no. 5, pp.1421-1435, October 2013.
  • [37] Denis Serre, Matrices Theory and Applications, Springer-Verlag New York, Inc., 2002.

He was born in Uttarkashi, India. He is currently pursuing Ph.D in the Department of Electrical Engineering at IIT, Kanpur. His research interests include Peer-to-Peer Networks, Wireless Sensor Networks, Complex Networks, Social Networks, Solution of non-linear equations, Application of Linear Algebra and Game theory in Networks.

He was born in Delhi, India. He was awarded Ph.D for his work on optical amplifier placement problem in all-optical broadcast networks in 1997 by IIT Delhi. In July 1997, he joined EE Department, IIT Kanpur. He was given AICTE young teacher award in 2003. Currently, he is working as professor. He is fellow of IETE, senior member of IEEE and ICEIT, and member ISOC. He has interests in telecommunications’ networks specially optical networks, switching systems, mobile communications, distributed software system design. He has supervised 10 Ph.D and more than 125 M.Tech theses so far. He has filed three patents for switch architectures, and have published many journal and conference research publications. He has also written lecture notes on Digital Switching which are distributed as open access content through content repository of IIT Kanpur. He has also been involved in opensource software development. He has started Brihaspati (brihaspati.sourceforge.net) initiative, an opesource learning management system, BrihaspatiSync – a live lecture delivery system over Internet, BGAS – general accounting systems for academic institutes.

Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
""
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
   
Add comment
Cancel
Loading ...
116792
This is a comment super asjknd jkasnjk adsnkj
Upvote
Downvote
""
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters
Submit
Cancel

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test
Test description