Skip to Main Content
Peer-to-Peer file sharing applications in the Internet, such as BitTorrent, Gnutella, etc., have been immensely popular. Prior research mainly focuses on peer and content discovery, overlay topology formation, fairness and incentive issues, etc. However, little attention has been paid to investigate the data distribution problem which is also a core component of any file sharing application. In this paper, we present the first effort in addressing this collaborative file distribution problem and formally define the scheduling problem in a simplified context. We develop several algorithms to solve the problem and study their performance. We deduce a theoretical bound on the minimum download time experienced by users and also perform simulations to evaluate our algorithms. Simulation results show that our graph-based dynamically weighted maximum-flow algorithm outperforms all other algorithms. Therefore, we believe our algorithm is a promising solution to be employed as the core scheduling module in P2P file sharing applications.