J-Orchestra: Enhancing Java programs with distribution capabilities
ACM Transactions on Software Engineering and Methodology (TOSEM)
MAUI: making smartphones last longer with code offload
Proceedings of the 8th international conference on Mobile systems, applications, and services
In search of energy-efficient mobile networking
IEEE Communications Magazine
CloneCloud: elastic execution between mobile device and cloud
Proceedings of the sixth conference on Computer systems
Energy-Efficient and Fault-Tolerant Distributed Mobile Execution
ICDCS '12 Proceedings of the 2012 IEEE 32nd International Conference on Distributed Computing Systems
Refactoring android Java code for on-demand computation offloading
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Hi-index | 0.00 |
To alleviate the resource constraints of mobile devices, developers of mobile applications commonly apply the cloud offloading optimization-placing an application's energy and performance intensive functionality to execute at a remote cloud server. Because of the high heterogeneity of mobile hardware and the variability of mobile networks, a cloud offloading optimization may become detrimental to energy consumption and performance efficiency. Reverting to the original, non-distributed version of the application may be infeasible, as the client and server parts may since have been maintained and enhanced independently. In that case, the components executed at the server for optimization purposes need to be moved to be executed on the mobile device; the moved components must be integrated with the rest of the application's functionality. To assist software developers with this non-trivial program restructuring, this paper introduces component insourcing, an automated program transformation that moves a remotely accessed component to be invoked locally, within a shared address space. This position paper motivates the need for component insourcing and demonstrates how this transformation can be implemented in the Java realm. The paper also discusses the technical difficulties of preserving the original component behavior and ensuring good performance in the presence of component insourcing.