Pre-fetch based content distribution system for software update: design and evaluation

Abstract Today, with rapid growth of apps (applications) for computers and mobile terminals, software update happens frequently. As a result, the flash crowd appearing in the early stage of a software patch release cannot be handled smoothly with abruptly arriving requests, thus considerable server bandwidth is needed. Unfortunately, it is still unknown how much bandwidth a content provider should provision to handle this case. In this paper, through measurements in one of the largest game patch distribution systems in China, we propose a simple but accurate user demand prediction model, since our finding that a highly predictable pattern of user requests exists in such a system. We further present the design of a pre-fetch based software update system. In this system, users who are idle and capable in hours before the patch release time could fetch the patches in advance and then serve other users requiring the patches. The design of this system mainly includes demand prediction and pre-fetch scale computation. After the deployment of this system, the contribution rate of users increases about 20% in the release day and is more stable than that before. Moreover, the peak of server bandwidth decreases by about 30%, which significantly saves bandwidth cost for providers.