AndroidOff: Offloading android application based on cost estimation

Abstract Computation offloading is a promising way of improving the performance and reducing the battery power consumption, since it moves some time-consuming computation activities to nearby servers. Although various approaches have been proposed to support computation offloading, we argue that there is still sufficient space for improvements, since existing approaches cannot accurately estimate the execution costs. As a result, we find that their offloading plans are less optimized. To handle the problem, in this paper, given an Android application, we propose a novel approach, called AndroidOff , that supports offloading at the granularity of objects. Supporting such capability is challenging due to the two reasons: (1) through dynamic execution, it is feasible to collect the execution costs of only partial methods, and (2) it is difficult to accurately estimate the execution costs of the remaining methods. To overcome the challenges, given an Android application, AndroidOff first combines static and dynamic analysis to predict the execution costs of all its methods. After all the costs are estimated, AndroidOff synthesizes an offloading plan, in which determines the offloading details. We evaluate AndroidOff on a real-world application, with two mobile devices. Our results show that, compared with other approaches, AndroidOff saves the response time by 8%–49% and reduces the energy consumption by 12%–49% on average for computation-intensive applications.

[1]  Galen C. Hunt,et al.  The Coign automatic distributed partitioning system , 1999, OSDI '99.

[2]  Ching-Hsien Hsu,et al.  Offloading mobile data traffic for QoS-aware service provision in vehicular cyber-physical systems , 2016, Future Gener. Comput. Syst..

[3]  Feng Xia,et al.  Phone2Cloud: Exploiting computation offloading for energy saving on smartphones in mobile cloud computing , 2013, Information Systems Frontiers.

[4]  Antonio Criminisi,et al.  Regression forests for efficient anatomy detection and localization in computed tomography scans , 2013, Medical Image Anal..

[5]  Ying Zhang,et al.  Refactoring android Java code for on-demand computation offloading , 2012, OOPSLA '12.

[6]  Peter R. Pietzuch,et al.  SymbexNet: Testing Network Protocol Implementations with Symbolic Execution and Rule-Based Specifications , 2014, IEEE Transactions on Software Engineering.

[7]  Bharat K. Bhargava,et al.  A Survey of Computation Offloading for Mobile Systems , 2012, Mobile Networks and Applications.

[8]  Xu Chen,et al.  Decentralized Computation Offloading Game for Mobile Cloud Computing , 2014, IEEE Transactions on Parallel and Distributed Systems.

[9]  Han Wang,et al.  Dynamic random regression forests for real-time head pose estimation , 2013, Machine Vision and Applications.

[10]  Alessandro F. Garcia,et al.  Exploring context-sensitive data flow analysis for early vulnerability detection , 2016, J. Syst. Softw..

[11]  John Carter,et al.  A lightweight secure cyber foraging infrastructure for resource-constrained devices , 2004, Sixth IEEE Workshop on Mobile Computing Systems and Applications.

[12]  David Hovemeyer,et al.  Using Static Analysis to Find Bugs , 2008, IEEE Software.

[13]  Lei Yang,et al.  Accurate online power estimation and automatic battery behavior based power model generation for smartphones , 2010, 2010 IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[14]  Shangguang Wang,et al.  AOM: adaptive mobile data traffic offloading for M2M networks , 2016, Personal and Ubiquitous Computing.

[15]  Joseph A. Paradiso,et al.  Energy scavenging for mobile and wireless electronics , 2005, IEEE Pervasive Computing.

[16]  Sergio Barbarossa,et al.  Computation offloading for mobile cloud computing based on wide cross-layer optimization , 2013, 2013 Future Network & Mobile Summit.

[17]  Lars Lundberg,et al.  Static Code Analysis to Detect Software Security Vulnerabilities - Does Experience Matter? , 2009, 2009 International Conference on Availability, Reliability and Security.

[18]  Patrick E. McKnight,et al.  Mann‐Whitney U Test , 2010 .

[19]  Laurie Hendren,et al.  Soot: a Java bytecode optimization framework , 2010, CASCON.

[20]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[21]  Jörg Henkel,et al.  Computation offloading and resource allocation for low-power IoT edge devices , 2016, 2016 IEEE 3rd World Forum on Internet of Things (WF-IoT).

[22]  Ermyas Abebe,et al.  Adaptive application offloading using distributed abstract class graphs in mobile environments , 2012, J. Syst. Softw..

[23]  Herbert Bos,et al.  Paranoid Android: versatile protection for smartphones , 2010, ACSAC '10.

[24]  Katinka Wolter,et al.  Optimal Cloud-Path Selection in Mobile Cloud Offloading Systems Based on QoS Criteria , 2013, Int. J. Grid High Perform. Comput..

[25]  Imad H. Elhajj,et al.  Partial mobile application offloading to the cloud for energy-efficiency with security measures , 2015, Sustain. Comput. Informatics Syst..

[26]  Ying Zhang,et al.  LogPruner: detect, analyze and prune logging calls in Android apps , 2018, Sci. China Inf. Sci..

[27]  Alan Messer,et al.  Adaptive offloading inference for delivering applications in pervasive computing environments , 2003, Proceedings of the First IEEE International Conference on Pervasive Computing and Communications, 2003. (PerCom 2003)..

[28]  Katinka Wolter,et al.  Reducing Task Completion Time in Mobile Offloading Systems through Online Adaptive Local Restart , 2015, ICPE.

[29]  Hong He,et al.  Task assignment in heterogeneous computing systems using an effective iterated greedy algorithm , 2011, J. Syst. Softw..

[30]  Paolo Maresca The Execution Time of an Algorithm: Advanced Considerations , 2003 .

[31]  Changzhen Hu,et al.  Optimization of program recursive function calls analysis method , 2016, Automatic Control and Computer Sciences.

[32]  Henri E. Bal,et al.  Cuckoo: A Computation Offloading Framework for Smartphones , 2010, MobiCASE.

[33]  Alec Wolman,et al.  MAUI: making smartphones last longer with code offload , 2010, MobiSys '10.

[34]  Jean-Marc Desharnais,et al.  A comparison of software effort estimation techniques: Using function points with neural networks, case-based reasoning and regression models , 1997, J. Syst. Softw..

[35]  Gang Huang,et al.  An adaptive offloading framework for Android applications in mobile edge computing , 2019, Science China Information Sciences.

[36]  Xu Chen,et al.  COMET: Code Offload by Migrating Execution Transparently , 2012, OSDI.

[37]  H. S. Watts Toward a Discipline for Software Engineering , 1992, CSEE.

[38]  Chun Zhang,et al.  Checking enforcement of integrity constraints in database applications based on code patterns , 2011, J. Syst. Softw..

[39]  Kun Yang,et al.  On effective offloading services for resource-constrained mobile devices running heavier mobile Internet applications , 2008, IEEE Communications Magazine.

[40]  Kun Yang,et al.  An adaptive multi-constraint partitioning algorithm for offloading in pervasive systems , 2006, Fourth Annual IEEE International Conference on Pervasive Computing and Communications (PERCOM'06).

[41]  Onisimo Mutanga,et al.  High density biomass estimation for wetland vegetation using WorldView-2 imagery and random forest regression algorithm , 2012, Int. J. Appl. Earth Obs. Geoinformation.

[42]  Jiaqing Chen,et al.  A Time-Driven Data Placement Strategy for a Scientific Workflow Combining Edge Computing and Cloud Computing , 2019, IEEE Transactions on Industrial Informatics.

[43]  Hamid Harroud,et al.  Mobile cloud computing for computation offloading: Issues and challenges , 2018 .

[44]  Byung-Gon Chun,et al.  CloneCloud: elastic execution between mobile device and cloud , 2011, EuroSys '11.

[45]  Alessandra Gorla,et al.  Automated Test Input Generation for Android: Are We There Yet? (E) , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[46]  Jacques Klein,et al.  Dexpler: converting Android Dalvik bytecode to Jimple for static analysis with Soot , 2012, SOAP '12.

[47]  Lucy E. Dunne,et al.  A survey of the historical scope and current trends of wearable technology applications , 2016, SEMWEB.

[48]  Lionel C. Briand,et al.  Security slicing for auditing common injection vulnerabilities , 2017, J. Syst. Softw..

[49]  Lars Lundberg,et al.  Evaluating the cost reduction of static code analysis for software security , 2008, PLAS '08.

[50]  Danny Ho,et al.  Towards an early software estimation using log-linear regression and a multilayer perceptron model , 2013, J. Syst. Softw..

[51]  Wenzhong Li,et al.  Efficient Multi-User Computation Offloading for Mobile-Edge Cloud Computing , 2015, IEEE/ACM Transactions on Networking.

[52]  Michael Philippsen,et al.  JavaParty – transparent remote objects in Java , 1997 .

[53]  Felipe Ebert,et al.  A Reflection on “An Exploratory Study on Exception Handling Bugs in Java Programs” , 2015, 2020 IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER).

[54]  Nor Badrul Anuar,et al.  Cloud Service Selection Using Multicriteria Decision Analysis , 2014, TheScientificWorldJournal.

[55]  Sokol Kosta,et al.  To offload or not to offload? The bandwidth and energy costs of mobile cloud computing , 2013, 2013 Proceedings IEEE INFOCOM.

[56]  Zhi Xu,et al.  Mirroring Smartphones for Good: A Feasibility Study , 2010, MobiQuitous.

[57]  Zhiyuan Li,et al.  Adaptive computation offloading for energy conservation on battery-powered systems , 2007, 2007 International Conference on Parallel and Distributed Systems.

[58]  Daniel Andresen,et al.  Jade: Reducing Energy Consumption of Android App , 2015, Int. J. Networked Distributed Comput..

[59]  Ian H. Witten,et al.  Data mining in bioinformatics using Weka , 2004, Bioinform..

[60]  Eric Y. Chen,et al.  Virtual smartphone over IP , 2010, 2010 IEEE International Symposium on "A World of Wireless, Mobile and Multimedia Networks" (WoWMoM).

[61]  Jitendra Kumar Jaiswal,et al.  Application of Random Forest Algorithm on Feature Subset Selection and Classification and Regression , 2017, 2017 World Congress on Computing and Communication Technologies (WCCCT).

[62]  Shangguang Wang,et al.  Architecture and key technologies for Internet of Vehicles: a survey , 2017, Journal of Communications and Information Networks.

[63]  Xinwen Zhang,et al.  Towards an Elastic Application Model for Augmenting the Computing Capabilities of Mobile Devices with Cloud Computing , 2011, Mob. Networks Appl..

[64]  Zdenka Prokopova,et al.  Analysis and selection of a regression model for the Use Case Points method using a stepwise approach , 2017, J. Syst. Softw..

[65]  R. N. Uma,et al.  Optimal Joint Scheduling and Cloud Offloading for Mobile Applications , 2019, IEEE Transactions on Cloud Computing.

[66]  Leo Breiman,et al.  Random Forests , 2001, Machine Learning.

[67]  Katinka Wolter,et al.  Efficient Image Stitching through Mobile Offloading , 2016, PASM.

[68]  Xiao Ma,et al.  Cost-efficient workload scheduling in Cloud Assisted Mobile Edge Computing , 2017, 2017 IEEE/ACM 25th International Symposium on Quality of Service (IWQoS).

[69]  Yung-Hsiang Lu,et al.  Cloud Computing for Mobile Users: Can Offloading Computation Save Energy? , 2010, Computer.

[70]  Xuanzhe Liu,et al.  Software techniques for Internet Computing: Current situation and future trend , 2010 .

[71]  Mahadev Satyanarayanan,et al.  Tactics-based remote execution for mobile computing , 2003, MobiSys '03.

[72]  Victor I. Chang,et al.  Computational offloading mechanism for native and android runtime based mobile applications , 2016, J. Syst. Softw..

[73]  Antonio Pascual-Iserte,et al.  Optimization of Radio and Computational Resources for Energy Efficiency in Latency-Constrained Application Offloading , 2014, IEEE Transactions on Vehicular Technology.

[74]  Dario Pompili,et al.  Collaborative Mobile Edge Computing in 5G Networks: New Paradigms, Scenarios, and Challenges , 2016, IEEE Communications Magazine.

[75]  Mahadev Satyanarayanan,et al.  The case for cyber foraging , 2002, EW 10.

[76]  Peng Li,et al.  Fault-tolerant cooperative control for multiple UAVs based on sliding mode techniques , 2016, Science China Information Sciences.

[77]  Pan Hui,et al.  ThinkAir: Dynamic resource allocation and parallel execution in the cloud for mobile code offloading , 2012, 2012 Proceedings IEEE INFOCOM.

[78]  Trevor Hastie,et al.  An Introduction to Statistical Learning , 2013, Springer Texts in Statistics.

[79]  James D. Herbsleb,et al.  Simplifying cyber foraging for mobile devices , 2007, MobiSys '07.