Just-in-Time Code Offloading for Wearable Computing
IEEE Transactions on Emerging Topics in Computing
Wearable computing becomes an emerging computing paradigm for various recently developed wearable devices, such as Google Glass and the Samsung Galaxy Smartwatch, which have significantly changed our daily life with new functions. To magnify the applications on wearable devices with limited computational capability, storage, and battery capacity, in this paper, we propose a novel three-layer architecture consisting of wearable devices, mobile devices, and a remote cloud for code offloading. In
... ode offloading. In particular, we offload a portion of computation tasks from wearable devices to local mobile devices or remote cloud such that even applications with a heavy computation load can still be upheld on wearable devices. Furthermore, considering the special characteristics and the requirements of wearable devices, we investigate a code offloading strategy with a novel just-in-time objective, i.e., maximizing the number of tasks that should be executed on wearable devices with guaranteed delay requirements. Because of the NP-hardness of this problem as we prove, we propose a fast heuristic algorithm based on the genetic algorithm to solve it. Finally, extensive simulations are conducted to show that our proposed algorithm significantly outperforms the other three offloading strategies. INDEX TERMS Wearable computing, just-in-time, code offloading, cloud. 74 2168-6750 2015 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information. VOLUME 3, NO. 1, MARCH 2015 Cheng et al.: Just-in-Time Code Offloading for Wearable Computing IEEE TRANSACTIONS ON EMERGING TOPICS IN COMPUTING can communicate with remote cloud as the third layer via WiFi or LTE networks. Under this three-layer architecture, we investigate how to efficiently offload codes from wearable devices in the first layer to computation resources in the second and the third layers. In this paper, wearable applications are represented as task graphs, in which methods or functions are denoted by nodes and their relationship by edges. Note that some tasks like sensing or display cannot be offloaded, i.e., they should be executed only on wearable devices. These tasks are referred to as w-tasks in the rest of our paper. For other non-w-tasks, we propose a code offloading algorithm to schedule them on mobile devices or cloud. To guarantee a certain level of user experience, we consider a just-in-time objective for code offloading, i.e., maximizing the number of w-tasks that are executed within a given delay from their direct previous ones. It is motivated by the fact that w-tasks directly interact with users who cannot tolerate long delay between any two adjacent w-tasks. The main contributions of this paper are summarized as follows.