Mobile devices take increasingly important roles, more closely and personally interacting with users. Mobile users frequently want mobile devices as powerful as desktop PCs, but still in a small and light form factor. The level of users`` demand is yet too high to satisfy with current technology. Available resources such as CPU, memory, and battery power are still insufficient for current mobile devices. One way to overcome these limitations is to offload heavy methods to nearby powerful servers. In this paper, we propose a transparent code transformation to achieve method offloading within the domain of Java.
Our Java bytecode transformer called Distributed Execution Transformer (DiET) takes the original bodies of heavy methods out and implants remote procedure calls to surrogate servers. Mobile devices download the modified Java bytecode and cooperatively execute the application with surrogate servers. Experimenting with SciMark 2.0, we could improve the performance up to a maximum of 92% and reduce the code size on mobile devices by 50% on average.
In the experiment of Biomer, we could reduce the execution time up to 79% maximumly and reduce the code size on mobile devices by 24% on average. Through our early implementation and experiments, we believe our transparent method offloading will relieve mobile devices of resource limitations.