FairTorrent: A Deficit-based Distributed Algorithm to Ensure Fairness in Peer-to-Peer Systems(2012)

Note: Please Scroll Down to See the Download Link.


Peer-to-peer file-sharing applications suffer from a fundamental problem of unfairness. Free-riders cause slower download times for others by contributing little or no upload bandwidth while consuming much download bandwidth. Previous attempts to address this fair bandwidth allocation problem suffer from slow peer discovery, inaccurate predictions of neighboring peers’ bandwidth allocations, underutilization of bandwidth, and complex parameter tuning. We present FairTorrent, a new deficit-based distributed algorithm that accurately rewards peers in accordance with their contribution. A FairTorrent peer simply uploads the next data block to a peer to whom it owes the most data as measured by a deficit counter. FairTorrent is resilient to exploitation by free-riders and strategic peers, is simple to implement, requires no bandwidth overallocation, no predictionof peers’ rates, no centralized control, and no parameter tuning. We implemented FairTorrent in a BitTorrent client without modifications to the BitTorrent protocol and evaluated its performanceagainst other widely used BitTorrent clients. Our results show that FairTorrent provides up to two orders of magnitude better fairness, up to five times better download times for contributingpeers, and 60%–100% better performance on average in live BitTorrent swarms.


The Internet has witnessed a rapid growth in the popularity of various Peer-to-Peer (P2P) applications during recent years. In particular, today’s P2P file-sharing applications (e.g., FastTrack, eDonkey,Gnutella) are extremely popular with millions of simultaneous clients and contribute a significant portion of the total Internet traffic . These applications have evolved over the past several years to accommodate growing numbers of participating peers. In these applications, participating peers form an overlay which provides connectivity among the peers, allowing users to search for desired files. Typically, these overlays are unstructured where peers select neighbors through a predominantly ad hoc process—this is different from structured overlays. Most modern file-sharing networks use a two-tier topology where a subset of peers,Called ultrapeers, form an unstructured sparse graph while other participating peers, called leaf peers, are connected to the top-level overlay through one or multiple ultrapeers. More importantly, the overlay topology is continuously reshaped by both user-driven dynamics of peer participation as well as protocol-driven dynamics of neighbor selection. In a nutshell, as participating peers join and leave, they collectively, in a decentralized fashion, form an unstructured and dynamically changing overlay topology.

This work focuses on developing an accurate understanding of the topological properties and dynamics of large-scale unstructured P2P networks, via a case study. Such an understanding is crucial for the development of P2P networks with superior features including better search, availability, reliability and robustness capabilities. For instance, the design and simulation-based evaluation of new search and replication techniques has received much attention in recent years .These studies often make certain assumptions about topological characteristics of P2P networks (e.g., a power-law degree distribution) and usually ignore the dynamic aspects of overlay topologies. However, little is known today about the topological characteristics of popular P2P file sharing applications, particularly about overlay dynamics. An important factor to note is that properties of unstructured overlay topologies cannot be easily derived from the neighbor selection mechanisms due to implementation heterogeneity and dynamic peer participation. Without a solid understanding of the topological characteristics of file-sharing applications, the actual performance of the proposed search and replication techniques in practice is unknown and cannot be meaningfully simulated. In this case study, we examine one of the most popular file-sharing systems, Gnutella, to cast light on the topological properties of peer-to-peer systems.


Existing System:

Previous studies that captured P2P overlay topologies with a crawler either rely on slow crawlers, which inevitably lead to significantly distorted snapshots of the overlay , or capture only a portion of the overlay  which is likely to be biased (and non-representative) . These studies do not examine the accuracy of their captured snapshots and only conduct limited analysis of the overlay topology. More importantly ,these few studies  are outdated (more than three years old), since P2P file sharing applications have significantly increased in size and incorporated several new topologicalFeatures over the past few years.

Proposed System:

Accurately capturing the overlay topology of a large scale P2P network is challenging. A common approach is to use a topology crawler  that progressively queries peers to determine their neighbors. The captured topology is a snapshot of the system as a graph, with the peers represented as vertices and the connections as edges. However, capturing accuratesnapshots is inherently difficult for two reasons:

(i)       Overlay topologies change as the crawler operates and

(ii)      a non-negligible fraction of peers in each snapshot are not directly reachable by the crawler. When a crawler is slow relative to the rate of overlay change, the resulting snapshot will be significantly distorted.Furthermore, verifying the accuracy of a crawler’s snapshots is difficult due to the absence of authoritative reference snapshots. We introduce techniques for studying the accuracy of a crawlerThis work focuses on developing an accurate understanding.


Hardware Requirements

Processor                     :           Pentium III / IV

Hard Disk                   :           40 GB

Ram                             :           256 MB

Monitor                       :           15VGA Color

Mouse                         :           Ball / Optical

Keyboard                    :           102 Keys

Software Requirements

Operating System       :           Windows XP professional

Front End                    :           Microsoft Visual Studio .Net 2005

Language                    :           Visual C#.Net

Back End                    :           SQL Server 2000

Click here to download FairTorrent: A Deficit-based Distributed Algorithm to Ensure Fairness in Peer-to-Peer Systems(2012) source code