Analysis of Minimum Distribution Time of Tit-for-Tat-Based P2P File Distribution: Linear Programming Based Approach

Masahiro Sasabe

In Peer-to-Peer Networking and Applications, 2021

Abstract

In recent years, software update has become one of the essential functions in the current Internet to maintain devices safe from a various types of attacks. If the number of software users is enormous, distribution servers tend to be bottlenecks, due to the access concentration. To alleviate this problem, several systems (e.g., Windows update) have started applying peer-to-peer (P2P) file distribution where clients (peers) assist the distribution by uploading retrieved fragments of the file (i.e., pieces) to others. However, it has been pointed out that many peers tend to be free riders, which are not willing to upload pieces to others, so as to save their upload capacities. Tit-for-tat{textasciitilde}(TFT) strategy in game theory is one of the practical mechanisms to build reciprocity between each pair of peers. In this paper, we first develop a linear program{textasciitilde}(LP) as a tool to analyze the minimum distribution time of the TFT-based P2P file distribution under arbitrary upload capacity distribution. Focusing on the fact that access links can be categorized into multiple classes in the current Internet, we further extend the general formulation to multi-class formulation, which does not depend on the system scale. Through numerical results, we reveal the fundamental characteristics of the TFT-based P2P file distribution.

Downloads

Text Reference

Masahiro Sasabe, Analysis of Minimum Distribution Time of Tit-for-Tat-Based P2P File Distribution: Linear Programming Based Approach, Peer-to-Peer Networking and Applications, 14(4), pp.2127-2138, July 2021.

BibTex Reference

@article{sasabe21AnalysisMinimumDistribution,
    author = "Sasabe, Masahiro",
    title = "Analysis of {{Minimum Distribution Time}} of {{Tit-for-Tat-Based P2P File Distribution}}: {{Linear Programming Based Approach}}",
    year = "2021",
    month = "July",
    journal = "Peer-to-Peer Networking and Applications",
    volume = "14",
    number = "4",
    pages = "2127--2138",
    doi = "10.1007/s12083-021-01182-7"
}