I. Introduction
Mobile devices such as smartphones and tablet PCs are becoming a vital part of the human life as a communication tool and real time information source. Mobile users accumulate the experience of various services from mobile applications, which run on the devices and/or on remote servers via wireless networks. However, one of the most important challenges faced by mobile devices is the limited resource in terms of device battery life, storage, bandwidth, to name a few [1]. These limited resources can significantly deteriorate the mobile users' performance in terms of quality of service (QoS). To actualize the ever-increasing demand for these resources, mobile network operators (MNOs) and researchers are considering two distinct, but complementary solution technologies, namely HetNets and MCC. A HetNet, which is composed of a conventional macro-cellular network and small cell networks, has been recognized as an infrastructure enhancement to increase the overall network coverage while enabling the mobile users to achieve high data rates through frequency reuse. On the other hand, MCC is a technology designed to enhance the user equipmentś resources such as computational resources, storage space, battery life, to name a few. MCC can be considered as a paradigm whereby mobile applications offload the data processing and storage from the user equipment to a powerful and resource-rich cloud computing system. As such, MCC integrates cloud computing into a wireless network. Cloudlet is another technology enhancement which has been proposed in [2] to further amplify the performance of MCC. It is a self-managed small-scale cloud data center located at the edge of the Internet just one wireless link away from the UE, whose purpose is to provide a powerful computing and storage resources to the mobile devices with low latency.