Enhancing collaborative content delivery with helpers
Wong, Joseph Hao Tan · Open Collections · 2009
In the client-server model predominant in today's Internet, the load on a server has a significant impact on the level of service perceived by its clients. In particular, given that a server is connected to its clients via an access link of finite capacity, the data transfer rate to each of its clients drops inversely as the number of clients served by the server. This limitation significantly hampers the scalability of such a setup, especially when long-lived connections are involved in the transfer of large files. It is now commonplace for a particular piece of content on the Internet to experience a sudden spike in popularity and hence also in request rate. Such an occurrence, called a "flash crowd" in Internet parlance, is difficult to address via adjusting the provisioning level alone, as it may come and go so quickly for administrative actions to be taken. To mitigate the problem of the flash crowd, many solutions have been developed. Some of them involve setting up a load-balancing infrastructure, while others rely upon the altruism of clients to provide additional capacity to handle the increased load. In this thesis, we describe a novel hybrid approach, based on the technique of swarming, for scaling up the delivery of large files to many clients. Our design allows machines on the Internet to contribute their bandwidth resources even when they are not interested in the content being disseminated. These peers, known as helpers, are specially tuned to maximize their upload rates while keeping their own download rates to a minimum. We evaluate our approach through simulation, testing it under a variety of conditions involving different bandwidth capacities and node arrival rates. Our results show that helpers are effective in contributing their bandwidth resources under all circumstances, and are able to increase the aggregate upload capacity of the whole system.