Skip to Main Content
There is increased demand to run applications on mobile devices in recent years. Although many of these alluring applications are resource-intensive, they expect to get the same performance on mobile devices as on powerful non-mobile computers. On the other hand, considerations such as weight, size, and mobility impose constraints on mobile devices and restrict their processor speed, memory size and battery lifetime. Cyber foraging ameliorates this performance disparity by utilizing nearby non-mobile computers called surrogates to run the whole or parts of applications, which are offloaded from mobile devices. However, cyber foraging is not suitable for all circumstances. In this paper, we propose a mechanism to determine the best location, either a mobile device or best surrogate(s) around, to run an application by calculating the cost of offloading the task of running the application to each location according to the context's metrics such as specifications of mobile device, surrogates, network, and application. Experimental results show that our proposed mechanism almost always selects the best one between local execution of the application on the mobile device and task offloading to surrogate(s) according to the current input size of the application, with respect to latency and energy consumption.