  The need for increased performance of mobile device directly conflicts with
the desire for longer battery life. Offloading compu-tation to multiple devices
is an effective method to reduce energy consumption and enhance performance for
mobile applications. Android provides mechanisms for creating mobile
applications but lacks a native scheduling system for determining where code
should be executed. This paper presents Jade, a system that adds sophisticated
energy-aware computation offloading capabilities to Android apps. Jade monitors
device and application status and automatically decides where code should be
executed. Jade dynamically adjusts offloading strategy by adapting to workload
variation, communication costs, and energy status in a distributed network of
Android and non-Android devices. Jade minimizes the burden on developers to
build applications with computation offloading ability by providing easy-to-use
Jade API. Evaluation shows that Jade can effectively reduce up to 39% of
average power consumption for mobile application while improving application
performance.
