Abstract
Although recent developments in the hardware of mobile devices, such as processor and memory capacity have increased their capabilities, they are still not comparable to cloud servers. The capacity constraints of mobile devices can be overcome by having the computing intensive work of mobile applications performed on powerful local or cloud servers. One of the important aspects of computation offloading is the decision process; this is determined by the costs of running the computation intensive components at run time on the server or at the local. This study proposes a novel hybrid model. An object dependency graph was created by gathering data from the mobile device at run time. This graph was partitioned with a novel model to determine the offloadable parts, which were then sent to the server using an online learning algorithm. Mobile applications were implemented on Android OS to verify the hybrid model. Properly making the offloading decision improved the application performance and decreased the battery consumption. Our algorithm has yielded better results than existing studies. The response time was saved by 2–73% and energy was reduced by 16–44% through offloading the computation intensive parts of mobile applications.
Similar content being viewed by others
References
Kumar K, Liu J, Lu YH, Bhargava B (2013) A survey of computation offloading for mobile systems. Mob Netw Appl 18(1):129–140
Shiraz M, Sookhak M, Gani A, Shah SAA (2015) A study on the critical analysis of computational offloading frameworks for mobile cloud computing. J Netw Comput Appl 47:47–60
Kaur A, Kaur K (2016) A comparative study of code offloading techniques and application partitioning methods in mobile cloud computing. Int J Comput Appl 143(13):1-8
Zhou B, Buyya R (2018) Augmentation techniques for mobile cloud computing: a taxonomy, survey, and future directions. ACM Comput Surv 51(1):1–38
Ou S, Yang K, Zhang J (2007) An effective offloading middleware for pervasive services on mobile devices. Pervasive Mob Comput 3(4):362–385
Flores H, Hui P, Tarkoma S, Li Y, Srirama S, Buyya R (2015) Mobile code offloading: from concept to practice and beyond. IEEE Commun Mag 53(3):80–88
Bhattacharya A, De P (2017) A survey of adaptation techniques in computation offloading. J Netw Comput Appl 78:97–115
Majeed AA, Khan AUR, UlAmin R, Muhammad J, Ayub S (2016) Code offloading using support vector machine. In: 2016 Sixth international conference on innovative computing technology (INTECH). IEEE, pp 98–103
Flores H, Kostakos V, Tarkoma S, Hui P, Li Y (2018) Evidence-aware mobile cloud architectures. In Mobile big data. Springer, Cham, pp 65–84
Open Services Gateway initiative (OSGi) (2010) OSGi Alliance, OSGi Architecture. [Online]. Available: https://www.osgi.org/developer/what-is-osgi. Accessed 01 Oct 2020.
Android, (2008) Android Developers, Android Interface Definition Language (AIDL) [Online]. Available: http://developer.android.com/guide/components/aidl.html. Accessed 01 Oct 2020.
Kaya M, Koçyiğit A, Eren PE (2016) An adaptive mobile cloud computing framework using a call graph based model. J Netw Comput Appl 65:12–35
Akherfi K, Gerndt M, Harroud H (2018) Mobile cloud computing for computation offloading: Issues and challenges. Appl Comput Inf 14(1):1–16
Nawrocki P, Sniezynski B (2018) Adaptive service management in mobile cloud computing by means of supervised and reinforcement learning. J Netw Syst Manage 26(1):1–22
Nawrocki P, Śnieżyński B, Kołodziej J (2019) Agent-based system for mobile service adaptation using online machine learning and mobile cloud computing paradigm. Comput Inf 38(4):790–816
Nawrocki P, Sniezynski B (2017) Autonomous context-based service optimization in mobile cloud computing. J Grid Comput 15(3):343–356
Nawrocki P, Sniezynski B, Slojewski H (2019) Adaptable mobile cloud computing environment with code transfer based on machine learning. Pervasive Mob Comput 57:49–63
Eom H, Figueiredo R, Cai H, Zhang Y, Huang G (2015) Malmos: machine learning-based mobile offloading scheduler with online training. In: 2015 3rd IEEE international conference on mobile cloud computing, services, and engineering (MobileCloud). IEEE, pp 51–60
Shi C, Pandurangan P, Ni K, Yang J, Ammar M, Naik M, Zegura E (2013) IC-Cloud: Computation offloading to an intermittently-connected cloud. Technical report, School of Computer Science, Georgia Institute of Technology
Kuang Z, Guo S, Liu J, Yang Y (2018) A quick-response framework for multi-user computation offloading in mobile cloud computing. Future Gener Comput Syst 81:166–176
Mora H, Mora Gimeno FJ, Signes-Pont MT, Volckaert B (2019) Multilayer architecture model for mobile cloud computing paradigm. Complexity. https://doi.org/10.1155/2019/3951495
Mora-Gimeno FJ, Mora-Mora H, Marcos-Jorquera D, Volckaert B (2018) A secure multi-tier mobile edge computing model for data processing offloading based on degree of trust. Sensors 18(10):3211
Chen LW, Li YE, Liu JX, Chen HM, Tsai MF (2018) Intelligent item searching with gesture-based interfaces through mobile cloud computing. IEEE Trans Emerg Topics Comput Intell 4(5):705–716
Verbelen T, Simoens P, De Turck F, Dhoedt B (2012) AIOLOS: middleware for improving mobile application performance through cyber foraging. J Syst Softw 85(11):2629–2639
Kemp R, Palmer N, Kielmann T, Bal H (2012) Cuckoo: a computation offloading framework for smartphones. In: International conference on mobile computing, applications, and services. Springer, Berlin, pp 59–79
Kovachev D, Klamma R (2012) Framework for computation offloading in mobile cloud computing. Int J Interact Multimed Artific Intell 1(7):6–15
Chen E, Ogata S, Horikawa K (2012) Offloading android applications to the cloud without customizing android. In: Pervasive computing and communications workshops (PERCOM Workshops), pp 788–793
Cuervo E, Balasubramanian A, Cho DK, Wolman A, Saroiu S, Chandra R, Bahl P (2010) MAUI: making smartphones last longer with code offload. In: 8th International conference on mobile systems, applications, and services. ACM, pp 49–62
Kristensen MD, Bouvin NO (2010) Scheduling and development support in the scavenger cyber foraging system. Pervasive Mob Comput 6(6):677–692
Kristensen MD (2010) Scavenger: transparent development of efficient cyber foraging applications. In: 2010 IEEE international conference on pervasive computing and communications (PerCom). IEEE, pp 217–226
Tout H, Talhi C, Kara N, Mourad A (2017) Smart mobile computation offloading: Centralized selective and multi-objective approach. Expert Syst Appl 80:1–13
Flores H, Hui P, Nurmi P, Lagerspetz E, Tarkoma S, Manner J, Su X (2018) Evidence-aware mobile computational offloading. IEEE Trans Mob Comput 17(8):1834–1850
Gu X, Nahrstedt K, Messer A, Greenberg I, Milojicic D (2004) Adaptive offloading for pervasive computing. IEEE Pervasive Comput 3(3):66–73
Wu H, Knottenbelt W, Wolter K (2019) An efficient application partitioning algorithm in mobile environments. IEEE Trans Parallel Distrib Syst 30(7):1464–1480
Stoer M, Wagner F (1997) A simple min-cut algorithm. J ACM (JACM) 44(4):585–591
Abebe E, Ryan C (2012) Adaptive application offloading using distributed abstract class graphs in mobile environments. J Syst Softw 85(12):2755–2769
Baraki H, Jahl A, Jakob S, Schwarzbach C, Fax M, Geihs K (2019) Optimizing applications for mobile cloud computing through MOCCAA. J Grid Comput 17(4):651–676
Eom H, Juste PS, Figueiredo R, Tickoo O, Illikkal R, Iyer R (2013) Machine learning-based runtime scheduler for mobile offloading framework. In Proceedings of the 2013 IEEE/ACM 6th international conference on utility and cloud computing. IEEE Computer Society, pp 17–25
Khairy A, Ammar HH, Bahgat R (2013) Smartphone energizer: extending smartphone's battery life with smart offloading. In: 2013 9th international wireless communications and mobile computing conference (IWCMC). IEEE, pp 329–336
Hassan MA, Bhattarai K, Wei Q, Chen S (2014) Pomac: Properly offloading mobile applications to clouds. Energy (J) 25:50
Nawrocki P, Reszelewski W (2017) Resource usage optimization in mobile cloud computing. Comput Commun 99:1–12
Cheema IA, Ahmad M, Jan F, Ngadi AB (2013) Prognostic load balancing strategy for latency reduction in mobile cloud computing. Int J Comput Technol 9(2):1080–1090
Zhao J, Ou S, Hu L, Ding Y, Xu G (2017) A heuristic placement selection approach of partitions of mobile applications in mobile cloud computing model based on community collaboration. Cluster Comput 20(4):3131–3146
Kirkpatrick S, Gelatt CD, Vecchi MP (1983) Optimization by simulated annealing. Science 220(4598):671–680
Johnson DS, Aragon CR, McGeoch LA, Schevon C (1989) Optimization by simulated annealing: an experimental evaluation; part I, graph partitioning. Oper Res 37(6):865–892
Christopher MB (2006) Pattern recognition and machine learning. Springer, New York
Zhang L, Tiwana B, Qian Z, Wang Z, Dick RP, Mao ZM, Yang L (2010) Accurate online power estimation and automatic battery behavior based power model generation for smartphones. In: Proceedings of the eighth IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis, pp 105–114
Acknowledgments
This research was financially supported by the Scientific and Technological Research Council of Turkey under Project Number 215E141.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Kaya, M., Çetin-Kaya, Y. Seamless computation offloading for mobile applications using an online learning algorithm. Computing 103, 771–799 (2021). https://doi.org/10.1007/s00607-020-00873-y
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-020-00873-y
Keywords
- Code offloading
- Mobile cloud computing
- Machine learning
- Mobile applications
- Application partitioning
- Graph-based model