1 Introduction
Mobile applications are becoming increasingly computation-intensive, while the computing capacity of mobile devices are limited due to their portable sizes. A powerful approach to improving the performance of mobile applications is to offload some of their tasks to remote clouds, where an application consists of multiple tasks. Existing research in mobile task offloading mostly considered the cloud to be the remote offloading destination, due to its abundance of computational resources. However, the cloud usually is remotely located and far away from its users, and the network delay incurred by transferring data between users and the cloud can be very costly. This is especially undesirable in reality-augmenting applications and mobile multiplayer gaming systems, where a crisp response time is critical to the user’s experience. Recent works [1], [2] have proposed the use of clusters of computers called cloudlets as a supplement to the cloud for offloading. Cloudlets are typically collocated at an access point (AP) in a network, and are accessible by users via wireless connection. A key advantage of cloudlets over the cloud, is that the close physical proximity between cloudlets and users enables shorter communication delays, thereby improving the user experience of interactive applications.