Skip to main content

Advertisement

Log in

Seamless computation offloading for mobile applications using an online learning algorithm

  • Regular Paper
  • Published:
Computing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17

Similar content being viewed by others

Notes

  1. https://weka.sourceforge.io/doc.dev/overview-summary.html.

References

  1. Kumar K, Liu J, Lu YH, Bhargava B (2013) A survey of computation offloading for mobile systems. Mob Netw Appl 18(1):129–140

    Article  Google Scholar 

  2. 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

    Article  Google Scholar 

  3. 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

    Google Scholar 

  4. Zhou B, Buyya R (2018) Augmentation techniques for mobile cloud computing: a taxonomy, survey, and future directions. ACM Comput Surv 51(1):1–38

    Article  Google Scholar 

  5. Ou S, Yang K, Zhang J (2007) An effective offloading middleware for pervasive services on mobile devices. Pervasive Mob Comput 3(4):362–385

    Article  Google Scholar 

  6. 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

    Article  Google Scholar 

  7. Bhattacharya A, De P (2017) A survey of adaptation techniques in computation offloading. J Netw Comput Appl 78:97–115

    Article  Google Scholar 

  8. 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

  9. 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

  10. Open Services Gateway initiative (OSGi) (2010) OSGi Alliance, OSGi Architecture. [Online]. Available: https://www.osgi.org/developer/what-is-osgi. Accessed 01 Oct 2020.

  11. Android, (2008) Android Developers, Android Interface Definition Language (AIDL) [Online]. Available: http://developer.android.com/guide/components/aidl.html. Accessed 01 Oct 2020.

  12. 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

    Article  Google Scholar 

  13. Akherfi K, Gerndt M, Harroud H (2018) Mobile cloud computing for computation offloading: Issues and challenges. Appl Comput Inf 14(1):1–16

    Google Scholar 

  14. 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

    Article  Google Scholar 

  15. 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

    Google Scholar 

  16. Nawrocki P, Sniezynski B (2017) Autonomous context-based service optimization in mobile cloud computing. J Grid Comput 15(3):343–356

    Article  Google Scholar 

  17. 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

    Article  Google Scholar 

  18. 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

  19. 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

  20. 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

    Article  Google Scholar 

  21. 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

    Article  Google Scholar 

  22. 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

    Article  Google Scholar 

  23. 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

    Article  Google Scholar 

  24. 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

    Article  Google Scholar 

  25. 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

  26. Kovachev D, Klamma R (2012) Framework for computation offloading in mobile cloud computing. Int J Interact Multimed Artific Intell 1(7):6–15

    Google Scholar 

  27. 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

  28. 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

  29. Kristensen MD, Bouvin NO (2010) Scheduling and development support in the scavenger cyber foraging system. Pervasive Mob Comput 6(6):677–692

    Article  Google Scholar 

  30. 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

  31. 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

    Article  Google Scholar 

  32. 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

    Article  Google Scholar 

  33. Gu X, Nahrstedt K, Messer A, Greenberg I, Milojicic D (2004) Adaptive offloading for pervasive computing. IEEE Pervasive Comput 3(3):66–73

    Article  Google Scholar 

  34. Wu H, Knottenbelt W, Wolter K (2019) An efficient application partitioning algorithm in mobile environments. IEEE Trans Parallel Distrib Syst 30(7):1464–1480

    Article  Google Scholar 

  35. Stoer M, Wagner F (1997) A simple min-cut algorithm. J ACM (JACM) 44(4):585–591

    Article  MathSciNet  MATH  Google Scholar 

  36. Abebe E, Ryan C (2012) Adaptive application offloading using distributed abstract class graphs in mobile environments. J Syst Softw 85(12):2755–2769

    Article  Google Scholar 

  37. 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

    Article  Google Scholar 

  38. 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

  39. 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

  40. Hassan MA, Bhattarai K, Wei Q, Chen S (2014) Pomac: Properly offloading mobile applications to clouds. Energy (J) 25:50

    Google Scholar 

  41. Nawrocki P, Reszelewski W (2017) Resource usage optimization in mobile cloud computing. Comput Commun 99:1–12

    Article  Google Scholar 

  42. 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

    Article  Google Scholar 

  43. 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

    Article  Google Scholar 

  44. Kirkpatrick S, Gelatt CD, Vecchi MP (1983) Optimization by simulated annealing. Science 220(4598):671–680

    Article  MathSciNet  MATH  Google Scholar 

  45. 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

    Article  MATH  Google Scholar 

  46. Christopher MB (2006) Pattern recognition and machine learning. Springer, New York

    MATH  Google Scholar 

  47. 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

Download references

Acknowledgments

This research was financially supported by the Scientific and Technological Research Council of Turkey under Project Number 215E141.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mahir Kaya.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-020-00873-y

Keywords

Mathematics Subject Classification

Navigation