Abstract
Many service providers distribute various kinds of content over the Internet. They often use replica servers to provide a stable service. To position them appropriately, service providers must predict the demands for their services and provide a computing capacity sufficient for servicing the demands. Unfortunately, predicting demands is difficult because the demand for a service usually fluctuates. Our research group is developing ExaPeer, an infrastructure that apportions computing capacity to services running on hundreds or thousands of trusted machines all over the Internet. ExaPeer allocates computing capacity to the services running on top of ExaPeer. In this paper, we describe ExaPeer's approach to dynamically select candidate spots for replica servers. This approach, called EPSS (ExaPeer Server Selection), detects fluctuations in the demand and dynamically selects candidate spots on which replica servers should be placed to best meet the demand. Even if the demand on a service increases dramatically within a short term, EPSS quickly responds to the situation and rapidly selects many candidates for replica servers. To deal with short-term fluctuations, EPSS is designed to be lightweight; each machine determines whether to be a candidate spot independently of others. Experimental results demonstrate that the candidate spots selected by EPSS work better than those selected by heuristics even if the scale of the demand changes rapidly. For 90% of all client accesses, the round-trip-times (RTTs) with EPSS were 23% less than those with randomly selected machines even if the number of machines is 6.7 times larger than EPSS.