Shaking service requests in peer-to-peer video systems

Peer-to-peer (P2P) video system is characterized by two features: 1) a video is usually available on many participating hosts, and 2) different hosts typically have different sets of videos, though some may partially overlap. From a client's perspective, it can be served by any host having the video it requests. From a server's perspective, it will be used to serve any client requesting the videos it has. In this paper, we refer to the problem of who-serves-whom as service scheduling and show that different matches between clients and servers can result in significantly different system performance. Finding a right server for each client is challenging not only because a client can choose only the servers that are within its limited search scope, but also because clients arrive at different times, which are not known a priori. To address these challenges, we propose a novel technique called shaking and our performance study shows that it can effectively boost the overall system performance.