Throughput and Fairness Considerations in Overlay Networks for Content Distribution
MetadataShow full item record
The Internet has been designed as a best-effort network, which does not provide any additional services to applications using the network. Overlay networks, which form an application layer network on top of the underlying Internet, have emerged as popular means to provide specific services and greater control to applications. Overlay networks offer a wide range of services, including content distribution, multicast and multimedia streaming. In my thesis, I focus on overlay networks for content distribution, used by applications such as bulk data transfer, file sharing and web retrieval. I first investigate the construction of such overlay networks by studying the bootstrapping functionality in an example network (the Gnutella peer-to-peer system). This study comprises the analysis and performance measurements of Gnutella servents and measurement of the GWebCache system that helps new peers find existing peers on the Gnutella network. Next, I look at fairness issues due to the retrieval of data at a client in the form of multipoint-to-point sessions, formed due to the use of content distribution networks. A multipoint-to-point session comprises multiple connections from multiple servers to a single client over multiple paths, initiated to retrieve a single application-level object. I investigate fairness of rate allocation from a session point of view, and propose fairness definitions and algorithms to achieve these definitions. Finally, I consider the problem of designing an overlay network for content distribution, which is fair to competing overlay networks, while maximizing the total end-to-end throughput of the data it carries. As a first step, I investigate this design problem for a single path in an Overlay-TCP network. I propose two schemes that dynamically provision the number of TCP connections on each hop of an Overlay-TCP path to maximize the end-to-end throughput using few extraneous connections. Next, I design an Overlay-TCP network, with the secondary goal of intra-overlay network fairness. I propose four schemes for deciding the number of TCP connections to be used on each overlay hop. I show that one can vary the proportion of sharing between competing overlay networks by varying the maximum number of connections allowed on overlay hops in each competing network.