I. Introduction
Rapid enhancements in computing capabilities of mobile platforms have been driving the increased adopting and use of mobile computing platforms by increasing numbers of users. Today's mobile platforms are able to deliver capabilities that are close to those of non-mobile platforms such as desktops or workstations. For instance, a mobile phone equipped with a Graphic Processing Unit (GPU) core is able to achieve approximately 10GFLOPS/Watt of computer-power, which is identical as a 4-core desktop with GPU [1]. Despite of these significant advancements, mobile platforms remain significantly limited by resources such as memory size, storage capacity, and especially battery lifespan. To alleviate the problem of the resource limitations in mobile platforms, computation offloading techniques have been proposed as a way to extend the capabilities of mobile platforms to more powerful resources. These may include personal computers, servers, or even public cloud resource over the network [2], [3], [4].