End users execute today on their smart phones different kinds of mobile applications like calendar apps or high-end mobile games, differing in local resource usage. Utilizing local resources of a smart phone heavily, like playing high-end mobile games, drains its limited energy resource in few hours. To prevent the limited energy resource from a quick exhaustion, smart phones benefit from executing resource-intensive application parts on a remote server in the cloud (code offloading). During the remote execution on the remote server, a smart phone waits in idle mode until it receives a result. However, code offloading introduces computation and communication overhead, which decreases the energy efficiency and induces monetary cost. For instance, sending or receiving execution state information to or from a remote server consumes energy. Moreover, executing code on a remote server instance in a commercial cloud causes monetary cost. To keep consumed energy and monetary cost low, we present in this paper the concept of remote-side caching for code offloading, which increases the efficiency of code offloading. The remote-side cache serves as a collective storage of results for already executed application parts on remote servers, avoiding the repeated execution of previously run application parts. The smart phone queries the remote-side cache for corresponding results of resource-intensive application parts. In case of a cache hit, the smart phone gets immediately a result and continues the application execution. Otherwise, it migrates the application part and waits for a result of the remote execution. We show in our evaluation that the use of a remote-side cache decreases energy consumption and monetary cost for mobile applications by up to 97% and 99%, respectively.
[1]
Frank Dürr,et al.
Increasing the Efficiency and Responsiveness of Mobile Applications with Preemptable Code Offloading
,
2014,
2014 IEEE International Conference on Mobile Services.
[2]
Alec Wolman,et al.
MAUI: making smartphones last longer with code offload
,
2010,
MobiSys '10.
[3]
Pan Hui,et al.
ThinkAir: Dynamic resource allocation and parallel execution in the cloud for mobile code offloading
,
2012,
2012 Proceedings IEEE INFOCOM.
[4]
Byung-Gon Chun,et al.
CloneCloud: elastic execution between mobile device and cloud
,
2011,
EuroSys '11.
[5]
Xi Xiao,et al.
A dynamic execution offloading model for efficient mobile cloud computing
,
2014,
2014 IEEE Global Communications Conference.
[6]
Thomas Rauber,et al.
Resource Allocation for Cloud-Assisted Mobile Applications
,
2012,
2012 IEEE Fifth International Conference on Cloud Computing.
[7]
Cengis Hasan,et al.
2013 IEEE 9th International Conference on Wireless and Mobile Computing, Networking and Communications (WiMob)
,
2013
.
[8]
DONALD MICHIE,et al.
“Memo” Functions and Machine Learning
,
1968,
Nature.
[9]
Patrick Stuedi,et al.
WhereStore: location-based data storage for mobile devices interacting with the cloud
,
2010,
MCS '10.
[10]
Tanja Zseby,et al.
Empirical evaluation of hash functions for multipoint measurements
,
2008,
CCRV.
[11]
Karim Habak,et al.
COSMOS: computation offloading as a service for mobile devices
,
2014,
MobiHoc '14.