Optimizing Applications for Mobile Cloud Computing Through MOCCAA

  • Harun BarakiEmail author
  • Alexander Jahl
  • Stefan Jakob
  • Corvin Schwarzbach
  • Malte Fax
  • Kurt Geihs


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.


Mobile Cloud Computing Delta synchronization Graph partitioning Maximum Cut Resource prediction Resource management 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.



  1. 1.
    Alliance, O.: OSGi Service Platform Service Compendium: Release 4 Version 4.2 Author: OSGi Alliance, Publisher: AQute Publishing Pages. AQute Publishing (2009)Google Scholar
  2. 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)MathSciNetCrossRefGoogle Scholar
  3. 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)Google Scholar
  4. 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)Google Scholar
  5. 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)Google Scholar
  6. 6.
    Buluç, A., Meyerhenke, H., Safro, I., Sanders, P., Schulz, C.: Recent advances in graph partitioning. In: Algorithm Engineering, pp. 117–158. Springer (2016)Google Scholar
  7. 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)Google Scholar
  8. 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)Google Scholar
  9. 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)Google Scholar
  10. 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)Google Scholar
  11. 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)CrossRefGoogle Scholar
  12. 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)CrossRefGoogle Scholar
  13. 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)MathSciNetCrossRefGoogle Scholar
  14. 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)Google Scholar
  15. 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)MathSciNetzbMATHGoogle Scholar
  16. 16.
    Fjällström, P.-O.: Algorithms for graph partitioning: A survey, vol. 3. Linköping University Electronic Press Linköping (1998)Google Scholar
  17. 17.
    Ford, L.R., Fulkerson, D.R.: Maximal flow through a network. Can. J. Math. 8(3), 399–404 (1956)MathSciNetCrossRefGoogle Scholar
  18. 18.
    Friedman, J.H.: Multivariate adaptive regression splines. The annals of statistics 19(1), 1–67 (1991)MathSciNetCrossRefGoogle Scholar
  19. 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)CrossRefGoogle Scholar
  20. 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)CrossRefGoogle Scholar
  21. 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)Google Scholar
  22. 22.
    Gleich, D.F., Lim, L.-H., Yu, Y.: Multilinear pagerank. SIAM J. Matrix Anal. Appl. 36(4), 1507–1541 (2015)MathSciNetCrossRefGoogle Scholar
  23. 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)MathSciNetCrossRefGoogle Scholar
  24. 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)Google Scholar
  25. 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. 26.
    Hall, M.A.: Correlation-Based Feature Selection for Machine Learning. University of Waikato, New Zealand (1999)Google Scholar
  27. 27.
    Hendrickson, B., Leland, R.: An improved spectral graph partitioning algorithm for mapping parallel computations. SIAM J. Sci. Comput. 16(2), 452–469 (1995)MathSciNetCrossRefGoogle Scholar
  28. 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)Google Scholar
  29. 29.
    Hunt, G.C., Scott, M.L.: The Coign Automatic Distributed Partitioning System, vol. 99 (1999)Google Scholar
  30. 30.
    Jäger, G., Srivastav, A.: Improved approximation algorithms for maximum graph partitioning problems. J. Comb. Optim. 10(2), 133–167 (2005)MathSciNetCrossRefGoogle Scholar
  31. 31.
    Karp, R.M.: Reducibility among combinatorial problems. In: Complexity of computer computations, pp. 85–103. Springer (1972)Google Scholar
  32. 32.
    Kaufman, L., Rousseeuw, P.J.: Finding groups in data: an introduction to cluster analysis, vol. 344. Wiley, New York (2009)Google Scholar
  33. 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)CrossRefGoogle Scholar
  34. 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)Google Scholar
  35. 35.
    Kernighan, B.W., Lin, S.: An efficient heuristic procedure for partitioning graphs. Bell Syst. Techn. J. 49(2), 291–307 (1970)CrossRefGoogle Scholar
  36. 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)Google Scholar
  37. 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)Google Scholar
  38. 38.
    Menger, K.: Zur allgemeinen kurventheorie. Fundam. Math. 10(1), 96–115 (1927)CrossRefGoogle Scholar
  39. 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)Google Scholar
  40. 40.
    Papadimitriou, C.H., Yannakakis, M.: Optimization, approximation, and complexity classes. J. Comput. Syst. Sci. 43(3), 425–440 (1991)MathSciNetCrossRefGoogle Scholar
  41. 41.
    Petcu, D.: Consuming resources and services from multiple clouds. J. Grid Comput. 12(2), 321–345 (2014)CrossRefGoogle Scholar
  42. 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)Google Scholar
  43. 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)CrossRefGoogle Scholar
  44. 44.
    Singh, S., Chana, I.: A survey on resource scheduling in cloud computing: Issues and challenges. J. Grid Comput. 14(2), 217–264 (2016)CrossRefGoogle Scholar
  45. 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)Google Scholar
  46. 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)CrossRefGoogle Scholar
  47. 47.
    Tridgell, A.: Efficient Algorithms for Sorting and Synchronization. PhD thesis, Australian National University Canberra (1999)Google Scholar
  48. 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)CrossRefGoogle Scholar
  49. 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)CrossRefGoogle Scholar
  50. 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)Google Scholar

Copyright information

© Springer Nature B.V. 2019

Authors and Affiliations

  1. 1.KasselGermany

Personalised recommendations