Skip to Main Content
The BitTorrent (BT) file sharing protocol is very popular due to its scalability property and the built-in incentive mechanism to reduce free-riding. However, in designing such P2P file sharing protocols, there is a fundamental trade-off between keeping fairness and providing good performance. In particular, the system can either keep peers (especially those resourceful ones) in the system for as long as possible so as to help the system to achieve better performance, or allow more resourceful peers to finish their download as quickly as possible so as to achieve fairness. The current BT protocol represents only one possible implementation in this whole design space. The objective of this paper is to characterize the design space of BT-like protocols. The rationale for considering fairness in the P2P file sharing context is to use it as a measure of willingness to provide service. We show that there is a wide range of design choices, ranging from optimizing the performance of file download time, to optimizing the overall fairness measure. More importantly, we show that there is a simple and easily implementable design knob so that the system can operate at a particular point in the design space. We also discuss different algorithms, ranging from centralized to distributed, in realizing the design knob. Performance evaluations are carried out, both via simulation and network measurement, to quantify the merits and properties of the BT-like file sharing protocols.