Minimizing File Download Time in Stochastic Peer-to-Peer Networks(2008)

Note: Please Scroll Down to See the Download Link.


            The peer-to-peer (P2P) file-sharing applications are becoming increasingly popular and account for more than 70% of the Internet’s bandwidth usage. Measurement studies show that a typical download of a file can take from minutes up to several hours depending on the level of network congestion or the service capacity fluctuation. Here we consider two major factors that have significant impact on average download time, namely, the spatial heterogeneity of service capacities in different source peers and the temporal fluctuation in service capacity of a single source peer. We point out that the common approach of analyzing the average download time based on average service capacity is fundamentally flawed. We rigorously prove that both spatial heterogeneity and temporal correlations in service capacity increase the average download time in P2P networks and then analyze a simple, distributed algorithm to effectively remove these negative factors, thus minimizing the average download time. We show through analysis and simulations that it outperforms most of other algorithms currently used in practice under various network configurations.

Existing System:

            The early model for content distribution is a centralized one, in which the service provider simply sets up a server and every user downloads files from it. In this type of network architecture (server-client), many users have to compete for limited resources in terms of bottleneck bandwidth or processing power of a single server. As a result, each user may receive very poor performance. From a single user’s perspective, the duration of a download session, or the download time for that individual user is the most often used performance metric. Peer to Peer technology makes the system distributed.

  1. Some of the major challenges facing a P2P network in the real world include peer selection, data search and routing.
  2. By reducing actual file transfer time, the download time for each user can be minimized.
  3. Nowadays, the common approach for analyze average download time is based on Average Service capacity.

Limitations of Average Service capacity:

But it contain two major significant impact

a)      Spatial Heterogeneity

b)      Temporal Correlation

Spatial Heterogeneity and Temporal Correlation:

In a P2P network, just like any other network, the service capacities from different source peers are different. There are many reasons for this heterogeneity. On each peer side, physical connection speeds at different peers vary over a wide range Also, it is reasonable to assume that most peers in a typical P2P network are just personal computers, whose processing powers are also widely different. The limitation in the processing power can limit how fast a peer can service others and hence limits the service capacity.

There are many factors causing this fluctuation. First, the number of connection a source peer allows is changing over time, which creates a fluctuation in the service capacity for each user. Second, some user applications running on a source peer (usually a PC), such as online games, may throttle the CPU and impact the amount of capacity it can offer. Third, temporary congestion at any link in the network can also reduce the service capacity of all users utilizing that link.


  1. Downloading time can be reduced by using Simple distributed Algorithm with no global Information by using stochastic process.

Here analyze the performance of

1.      Parallel Downloading

2.      Random Chunk Based Switching

3.      Random Time Based Switching

  1. Here the impact of stochastic variations of capacities on the average

Download time of each peer in the steady state is more rather than in the impact of sources–downloader’s dynamics in the transient period.

  1. Effect of Parallel Downloading:

                        Parallel downloading improves the performance by reducing the file size over the “worst” source peer and also may increase the service capacity one receives from the network by utilizing “unused” capacities of other source peers. If a downloader utilizes one source peer at a time, switching around seems to be a good strategy to avoid the “bad” source peer.

                        If the file F is divided into K chunks of equal size, and simultaneous connections are used, the capacity for this download session becomes c1+c2+…ck, where ci is the service capacity of ith connection. Intuitively, this parallel downloading seems to be optimal in all cases. But, it is worth noting that the download time for parallel downloading is given by max{t1,t2,…tk} rather than F/(c1+c2+…ck) , where ti is the download time of a chunk over ith connection. This is because the chunk that takes the longest time to complete determines the entire download session.

Thus, even in the network with one user, parallel downloading may not reduce the download time to the predicted value in all cases. Instead, the performance of parallel download depends upon the distribution of the underlying service capacities and could be much worse than the ideal case, indeed; it is shown in [15] that if we can make the chunk-size proportional to the service capacity of each source peer, parallel downloading can yield the optimal download time

2. Random Chunk Based Switching:

            In the random chunk-based switching scheme, the file of interest is divided into many small chunks just as in the parallel download scheme. A user downloads chunks sequentially one at a time. Whenever a user completes a chunk from its current source peer, the user randomly selects a new source peer and connects to it to retrieve a new chunk. In this way, if the downloader is currently stuck with a bad source peer, it will stay there for only the amount of time required for finishing one chunk. The download time for one chunk is independent of that of the previous chunk. Intuitively, switching source peers based on chunk can reduce the correlation in service capacity between chunks and hence reduce the average download time. However, there is another factor that has negative impact on the average download time, the spatial heterogeneity.

3. Random Time Based Switching:

In this section, we analyze a very simple, distributed algorithm and show that it effectively removes correlations in the capacity fluctuation and the heterogeneity in space, thus greatly reducing the average download time. As the algorithm will be implemented at each downloading peer in a distributed fashion, without loss of generality, we only focus on a single downloader throughout this section.

In this setup, we can consider the following two schemes: (I) permanent connection, and (ii) random periodic switching. For the first case, the source selection function does not change in time. When the searching phase is over and a list of available source peers is given, the downloader will choose one of them randomly with equal probability.  For the random periodic switching, the downloader randomly chooses a source peer at each time slot, independently of everything else.

Hardware Requirements

•         SYSTEM                   : Pentium IV 2.4 GHz

•         HARD DISK             : 40 GB

•         FLOPPY DRIVE      : 1.44 MB

•         MONITOR                : 15 VGA colour

•         MOUSE                     : Logitech.

•         RAM                          : 256 MB

•         KEYBOARD            : 110 keys enhanced.

Software Requirements

•         Operating system       :-  Windows XP Professional

•         Front End                     :-  Microsoft Visual Studio .Net 2005

•         Coding Language      :-  ASP.NET 2.0, C#  2.0

                •        Database                      :- SQL SERVER 2000

Click here to download Minimizing File Download Time in Stochastic Peer-to-Peer Networks(2008) source code