Skip to main content

Advertisement

Log in

Optimizing Applications for Mobile Cloud Computing Through MOCCAA

  • Published:
Journal of Grid Computing Aims and scope Submit manuscript

Abstract

Mobile Cloud Computing (MCC) aims at leveraging remote resources to boost application performance on mobile devices while conserving resources such as battery, memory, and storage. Offloading computations and outsourcing tasks are, however, associated with numerous challenges known from distributed systems. Typical mobile applications have a monolithic design and are not laid out for a distributed deployment and execution. In this work, we present how to design and partition such applications and how these partitions stay synchronized in a cost-efficient manner at runtime. We introduce our comprehensive and extendable framework MOCCAA (MObile Cloud Computing AdaptAble) that supports developers along this path. Its performance gain is mainly achieved through a new graph partitioning heuristic that is searching for the maximally beneficial cut, through minimized monitoring efforts for resource consumption prediction, through scalable and location-aware resource discovery and management, and through our graph-based delta synchronization of local and remote object states. In particular, the graph partitioning heuristic and the delta synchronization allow us to reduce synchronization costs and improve quality dimensions such as latency and bandwidth consumption.

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

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Alliance, O.: OSGi Service Platform Service Compendium: Release 4 Version 4.2 Author: OSGi Alliance, Publisher: AQute Publishing Pages. AQute Publishing (2009)

  2. Alon, N., Bollobás, B., Gyárfás, A., Lehel, J., Scott, A.: Maximum directed cuts in acyclic digraphs. J. Graph Theory 55(1), 1–13 (2007)

    Article  MathSciNet  Google Scholar 

  3. Balan, R.K., Gergle, D., Satyanarayanan, M., Herbsleb, J.: Simplifying cyber foraging for mobile devices. In: Proceedings of the 5th international conference on Mobile systems, applications and services, pp. 272–285. ACM (2007)

  4. Baraki, H., Schwarzbach, C., Jakob, S., Jahl, A., Geihs, K.: Sam: A semantic-aware middleware for mobile cloud computing. In: 2018 IEEE 11th International Conference on Cloud Computing (CLOUD), pp. 375–382. IEEE (2018)

  5. Benson, A.R., Gleich, D.F., Leskovec, J.: Tensor spectral clustering for partitioning higher-order network structures. In: Proceedings of the 2015 SIAM International Conference on Data Mining, pp. 118–126. SIAM (2015)

  6. Buluç, A., Meyerhenke, H., Safro, I., Sanders, P., Schulz, C.: Recent advances in graph partitioning. In: Algorithm Engineering, pp. 117–158. Springer (2016)

  7. Chiba, S.: Javassist - a reflection-based programming wizard for java. In: Proceedings of OOPSLA’98 Workshop on Reflective Programming in C++ and Java, Vol. 174 (1998)

  8. Chun, B.-G., Ihm, S., Maniatis, P., Naik, M., Patti, A.: Clonecloud: elastic execution between mobile device and cloud. In: Proceedings of the sixth conference on Computer systems, pp. 301–314. ACM (2011)

  9. Cuervo, E., Balasubramanian, A., Cho, D.-k., Wolman, A., Saroiu, S., Chandra, R., Bahl, P.: Maui: making smartphones last longer with code offload. In: Proceedings of the 8th international conference on Mobile systems, applications, and services, pp. 49–62. ACM (2010)

  10. Delling, D., Goldberg, A.V., Razenshteyn, I., Werneck, R.F.: Graph partitioning with natural cuts. In: Parallel & Distributed Processing Symposium (IPDPS), 2011 IEEE International, pp. 1135–1146. IEEE (2011)

  11. Dunning, I., Gupta, S., Silberholz, J.: What works best when? a systematic evaluation of heuristics for max-cut and qubo. INFORMS J. Comput. 30(3), 608–624 (2018)

    Article  Google Scholar 

  12. Fang, J., Su, C., Chen, Z., Sun, H., Lund, P.: Power system structural vulnerability assessment based on an improved maximum flow approach. IEEE Trans. Smart Grid 9(2), 777–785 (2018)

    Article  Google Scholar 

  13. Festa, P., Pardalos, P.M., Resende, M.G., Ribeiro, C.C.: Randomized heuristics for the max-cut problem. Optim. Methods Softw. 17(6), 1033–1058 (2002)

    Article  MathSciNet  Google Scholar 

  14. Fiduccia, C.M., Mattheyses, R.M.: A linear-time heuristic for improving network partitions. In: Proceedings of the 19th design automation conference, pp. 175–181. IEEE Press (1982)

  15. Fiedler, M.: A property of eigenvectors of nonnegative symmetric matrices and its application to graph theory. Czechoslov. Math. J. 25(4), 619–633 (1975)

    MathSciNet  MATH  Google Scholar 

  16. Fjällström, P.-O.: Algorithms for graph partitioning: A survey, vol. 3. Linköping University Electronic Press Linköping (1998)

  17. Ford, L.R., Fulkerson, D.R.: Maximal flow through a network. Can. J. Math. 8(3), 399–404 (1956)

    Article  MathSciNet  Google Scholar 

  18. Friedman, J.H.: Multivariate adaptive regression splines. The annals of statistics 19(1), 1–67 (1991)

    Article  MathSciNet  Google Scholar 

  19. Gai, K., Qiu, M., Zhao, H.: Energy-aware task assignment for mobile cyber-enabled applications in heterogeneous cloud computing. J. Parallel Distrib. Comput. 111, 126–135 (2018)

    Article  Google Scholar 

  20. Gai, K., Qiu, M., Zhao, H., Tao, L., Zong, Z.: Dynamic energy-aware cloudlet-based mobile cloud computing model for green computing. J. Netw. Comput. Appl. 59, 46–54 (2016)

    Article  Google Scholar 

  21. Giurgiu, I., Riva, O., Juric, D., Krivulev, I., Alonso, G.: Calling the cloud: enabling mobile phones as interfaces to cloud applications. In: Middleware 2009, pp. 83–102. Springer (2009)

  22. Gleich, D.F., Lim, L.-H., Yu, Y.: Multilinear pagerank. SIAM J. Matrix Anal. Appl. 36(4), 1507–1541 (2015)

    Article  MathSciNet  Google Scholar 

  23. Goemans, M.X., Williamson, D.P.: Improved approximation algorithms for maximum cut and satisfiability problems using semidefinite programming. J. ACM (JACM) 42(6), 1115–1145 (1995)

    Article  MathSciNet  Google Scholar 

  24. Graf, J.: Information Flow Control with System Dependence Graphs-Improving Modularity Scalability and Precision for Object Oriented Languages. PhD thesis, Karlsruhe Institute of Technology (2016)

  25. Graf, J., Hecker, M., Mohr, M.: Using Joana for Information Flow Control in Java Programs-A Practical Guide. Softw. Eng. (Worksh.) 215, 123–138 (2013)

    Google Scholar 

  26. Hall, M.A.: Correlation-Based Feature Selection for Machine Learning. University of Waikato, New Zealand (1999)

    Google Scholar 

  27. Hendrickson, B., Leland, R.: An improved spectral graph partitioning algorithm for mapping parallel computations. SIAM J. Sci. Comput. 16(2), 452–469 (1995)

    Article  MathSciNet  Google Scholar 

  28. Hinne, M., Marchiori, E.: Cutting graphs using competing ant colonies and an edge clustering heuristic. In: European Conference on Evolutionary Computation in Combinatorial Optimization, pp. 60–71. Springer (2011)

  29. Hunt, G.C., Scott, M.L.: The Coign Automatic Distributed Partitioning System, vol. 99 (1999)

  30. Jäger, G., Srivastav, A.: Improved approximation algorithms for maximum graph partitioning problems. J. Comb. Optim. 10(2), 133–167 (2005)

    Article  MathSciNet  Google Scholar 

  31. Karp, R.M.: Reducibility among combinatorial problems. In: Complexity of computer computations, pp. 85–103. Springer (1972)

  32. Kaufman, L., Rousseeuw, P.J.: Finding groups in data: an introduction to cluster analysis, vol. 344. Wiley, New York (2009)

  33. Kaya, M., Koċyiġit, A., Eren, P.E.: An adaptive mobile cloud computing framework using a call graph based model. J. Netw. Comput. Appl. 65, 12–35 (2016)

    Article  Google Scholar 

  34. Kemp, R., Palmer, N., Kielmann, T., Bal, H.: Cuckoo: a computation offloading framework for smartphones. In: Mobile Computing, Applications, and Services, pp. 59–79. Springer (2012)

  35. Kernighan, B.W., Lin, S.: An efficient heuristic procedure for partitioning graphs. Bell Syst. Techn. J. 49(2), 291–307 (1970)

    Article  Google Scholar 

  36. Kosta, S., Aucinas, A., Hui, P., Mortier, R., Zhang, X.: Thinkair: Dynamic resource allocation and parallel execution in the cloud for mobile code offloading. In: Infocom, 2012 Proceedings IEEE, pp. 945–953. IEEE (2012)

  37. Leng, M., Yu, S.: An effective multi-level algorithm based on ant colony optimization for bisecting graph. In: Pacific-Asia Conference on Knowledge Discovery and Data Mining, pp. 138–149. Springer (2007)

  38. Menger, K.: Zur allgemeinen kurventheorie. Fundam. Math. 10(1), 96–115 (1927)

    Article  Google Scholar 

  39. Ou, S., Yang, K., Liotta, A.: An adaptive multi-constraint partitioning algorithm for offloading in pervasive systems. In: Pervasive Computing and Communications, 2006. PerCom 2006. Fourth Annual IEEE International Conference on, pp. 10–pp. IEEE (2006)

  40. Papadimitriou, C.H., Yannakakis, M.: Optimization, approximation, and complexity classes. J. Comput. Syst. Sci. 43(3), 425–440 (1991)

    Article  MathSciNet  Google Scholar 

  41. Petcu, D.: Consuming resources and services from multiple clouds. J. Grid Comput. 12(2), 321–345 (2014)

    Article  Google Scholar 

  42. Rellermeyer, J.S., Riva, O., Alonso, G.: Alfredo: an architecture for flexible interaction with electronic devices. In: Proceedings of the 9th ACM/IFIP/USENIX International Conference on Middleware, pp. 22–41. Springer, New York (2008)

    Chapter  Google Scholar 

  43. Satyanarayanan, M., Bahl, P., Caceres, R., Davies, N.: The case for vm-based cloudlets in mobile computing. Pervas. Comput.IEEE 8(4), 14–23 (2009)

    Article  Google Scholar 

  44. Singh, S., Chana, I.: A survey on resource scheduling in cloud computing: Issues and challenges. J. Grid Comput. 14(2), 217–264 (2016)

    Article  Google Scholar 

  45. Sun, L., Leng, M.: An effective multi-level algorithm based on simulated annealing for bisecting graph. In: International Workshop on Energy Minimization Methods in Computer Vision and Pattern Recognition, pp. 1–12. Springer (2007)

  46. Tang, Z., Qi, L., Cheng, Z., Li, K., Khan, S.U., Li, K.: An energy-efficient task scheduling algorithm in dvfs-enabled cloud environment. J. Grid Comput. 14(1), 55–74 (2016)

    Article  Google Scholar 

  47. Tridgell, A.: Efficient Algorithms for Sorting and Synchronization. PhD thesis, Australian National University Canberra (1999)

  48. Verbelen, T., Stevens, T., De Turck, F., Dhoedt, B.: Graph partitioning algorithms for optimizing software deployment in mobile cloud computing. Futur. Gener. Comput. Syst. 29(2), 451–459 (2013)

    Article  Google Scholar 

  49. Yang, S., Kwon, D., Yi, H., Cho, Y., Kwon, Y., Paek, Y.: Techniques to minimize state transfer costs for dynamic execution offloading in mobile cloud computing. IEEE Trans. Mob. Comput. 13 (11), 2648–2660 (2014)

    Article  Google Scholar 

  50. Zhao, Y., Hu, F., Chen, H.: An adaptive tuning strategy on spark based on in-memory computation characteristics. In: 2016 18th International Conference on Advanced Communication Technology (ICACT), pp. 484–488. IEEE (2016)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Harun Baraki.

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

Baraki, H., Jahl, A., Jakob, S. et al. Optimizing Applications for Mobile Cloud Computing Through MOCCAA. J Grid Computing 17, 651–676 (2019). https://doi.org/10.1007/s10723-019-09492-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10723-019-09492-0

Keywords