skip to main content
research-article

Dynamic Offloading of Web Application Execution Using Snapshot

Published:28 July 2020Publication History
Skip Abstract Section

Abstract

Mobile web platforms are facing new demands for emerging applications, such as machine learning or augmented reality, which require significant computing powers beyond that of current mobile hardware. Computation offloading can accelerate these apps by offloading the computation-intensive parts of an app from a client to a powerful server. Unfortunately, previous studies of offloading in the field of web apps have a limitation for the offloading target code or require complex user annotations, hindering the widespread use of offloading in web apps. This article proposes a novel offloading system for web apps, which can simplify the offloading process by sending and receiving the execution state of a running web app in the form of another web app called the snapshot. Since running the snapshot restores the whole app state and continues the execution from the point where it was saved, we can offload regular web app computations that affect the DOM state as well as the JavaScript state, and we do not have to pre-install the app binary at the server. Moreover, the snapshot does not require any annotations to be captured, making computation offloading more transparent to app developers. We qualitatively compared the proposed system with previous approaches in terms of programming difficulty and the scope of offloadable codes. In addition, we implemented the proposed system based on a WebKit browser and evaluated the offloading performance with five computation-intensive web apps. Our system achieved significant speedup (from 1.7 to approximately 9.0) in all of the apps, compared to local execution, which proves the feasibility of the proposed approach.

References

  1. Ali Al-Shuwaili and Osvaldo Simeone. 2017. Energy-efficient resource allocation for mobile edge computing-based augmented reality applications. IEEE Wireless Communications Letters 6, 3 (2017), 398--401.Google ScholarGoogle ScholarCross RefCross Ref
  2. Pelin Angin, Bharat Bhargava, and Zhongjun Jin. 2015. A self-cloning agents based model for high-performance mobile-cloud computing. In Proceedings of the 2015 IEEE 8th International Conference on Cloud Computing. IEEE, Los Alamitos, CA, 301--308.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Pelin Angin and Bharat K. Bhargava. 2013. An agent-based optimization framework for mobile-cloud computing. Journal of Wireless Mobile Networks, Ubiquitous Computing, and Dependable Applications 4 (2013), 1--17.Google ScholarGoogle Scholar
  4. J. Baumann, F. Hohl, K. Rothermel, and M. Strasser. 1998. Mole—Concepts of a mobile agent system. World Wide Web 1, 3 (Sept. 1998), 123--137. DOI:https://doi.org/10.1023/A:1019211714301Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. F. Bellifemine, G. Caire, A. Poggi, and G. Rimassa. 2003. JADE: A White Paper. Retrieved June 12, 2020 from https://jade.tilab.com/papers/2003/WhitePaperJADEEXP.pdf.Google ScholarGoogle Scholar
  6. Philip Bille. 2005. A survey on tree edit distance and related problems. Theoretical Computer Science 337, 1 (2005), 217--239. DOI:https://doi.org/10.1016/j.tcs.2004.12.030Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Flavio Bonomi, Rodolfo Milito, Jiang Zhu, and Sateesh Addepalli. 2012. Fog computing and its role in the Internet of Things. In Proceedings of the 1st Edition of the MCC Workshop on Mobile Cloud Computing. ACM, New York, NY, 13--16.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Byung-Gon Chun, Sunghwan Ihm, Petros Maniatis, Mayur Naik, and Ashwin Patti. 2011. CloneCloud: Elastic execution between mobile device and cloud. In Proceedings of the 6th Conference on Computer Systems. ACM, New York, NY, 301--314.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. Cicconetti, M. Conti, and A. Passarella. 2019. Low-latency distributed computation offloading for pervasive environments. In Proceedings of the 2019 IEEE International Conference on Pervasive Computing and Communications (PerCom’19). IEEE, Los Alamitos, CA, 262--271.Google ScholarGoogle Scholar
  10. Eduardo Cuervo, Aruna Balasubramanian, Dae-Ki Cho, Alec Wolman, Stefan Saroiu, Ranveer Chandra, and Paramvir Bahl. 2010. MAUI: Making smartphones last longer with code offload. In Proceedings of the 8th International Conference on Mobile Systems, Applications, and Services. ACM, New York, NY, 49--62.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Digi-Key Electronics. n.d. Panda Board. Retrieved June 12, 2020 from https://www.digikey.com/en/product-highlight/t/texas-instruments/pandaboard.Google ScholarGoogle Scholar
  12. Facebook. n.d. React.js. Retrieved June 12, 2020 from https://reactjs.org/.Google ScholarGoogle Scholar
  13. Julien Gascon-Samson, Kumseok Jung, Shivanshu Goyal, Armin Rezaiean-Asel, and Karthik Pattabiraman. 2018. ThingsMigrate: Platform-independent migration of stateful JavaScript IoT applications. In Proceedings of the 32nd European Conference on Object-Oriented Programming (ECOOP’18).Google ScholarGoogle Scholar
  14. Mark S. Gordon, D. Anoushe Jamshidi, Scott Mahlke, Z. Morley Mao, and Xu Chen. 2012. COMET: Code offload by migrating execution transparently. In Proceedings of the the 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI’12). 93--106.Google ScholarGoogle Scholar
  15. Andy Green. 2010. Libwebsockets (LWS). Retrieved June 12, 2020 from https://libwebsockets.org/.Google ScholarGoogle Scholar
  16. Kiryong Ha, Yoshihisa Abe, Thomas Eiszler, Zhuo Chen, Wenlu Hu, Brandon Amos, Rohit Upadhyaya, Padmanabhan Pillai, and Mahadev Satyanarayanan. 2017. You can teach elephants to dance: Agile VM handoff for edge computing. In Proceedings of the 2nd ACM/IEEE Symposium on Edge Computing (SEC’17). ACM, New York, NY, Article 12, 14 pages. DOI:https://doi.org/10.1145/3132211.3134453Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Kiryong Ha, Zhuo Chen, Wenlu Hu, Wolfgang Richter, Padmanabhan Pillai, and Mahadev Satyanarayanan. 2014. Towards wearable cognitive assistance. In Proceedings of the 12th Annual International Conference on Mobile Systems, Applications, and Services. ACM, New York, NY, 68--81.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Kiryong Ha, Padmanabhan Pillai, Wolfgang Richter, Yoshihisa Abe, and Mahadev Satyanarayanan. 2013. Just-in-time provisioning for cyber foraging. In Proceeding of the 11th Annual International Conference on Mobile Systems, Applications, and Services. ACM, New York, NY, 153--166.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Monsoon Solutions Inc. n.d. Monsoon Power Monitor. Retrieved June 12, 2020 from https://www.msoon.com.Google ScholarGoogle Scholar
  20. Ecma International. 2011. ECMAScript® Language Specification (Edition 5.1). Retrieved June 12, 2020 from https://www.ecma-international.org/ecma-262/5.1/.Google ScholarGoogle Scholar
  21. Hyuk-Jin Jeong, InChang Jeong, Hyeon-Jae Lee, and Soo-Mook Moon. 2018. Computation offloading for machine learning web apps in the edge server environment. In Proceedings of the 2018 IEEE 38th International Conference on Distributed Computing Systems (ICDCS’18). IEEE, Los Alamitos, CA, 1492--1499.Google ScholarGoogle ScholarCross RefCross Ref
  22. Hyuk-Jin Jeong and Soo-Mook Moon. 2015. Offloading of web application computations: A snapshot-based approach. In Proceedings of the 2015 IEEE 13th International Conference on Embedded and Ubiquitous Computing. IEEE, Los Alamitos, CA, 90--97.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Yiping Kang, Johann Hauswald, Cao Gao, Austin Rovinski, Trevor Mudge, Jason Mars, and Lingjia Tang. 2017. Neurosurgeon: Collaborative intelligence between the cloud and mobile edge. ACM SIGARCH Computer Architecture News 45 (2017), 615--629.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Sokol Kosta, Andrius Aucinas, Pan Hui, Richard Mortier, and Xinwen Zhang. 2012. ThinkAir: Dynamic resource allocation and parallel execution in the cloud for mobile code offloading. In Proceedings of IEEE INFOCOM. IEEE, Los Alamitos, CA, 945--953.Google ScholarGoogle ScholarCross RefCross Ref
  25. Jin-Woo Kwon and Soo-Mook Moon. 2017. Web application migration with closure reconstruction. In Proceedings of the 26th International Conference on World Wide Web (WWW’17). 133--142. DOI:https://doi.org/10.1145/3038912.3052572Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Yongin Kwon, Sangmin Lee, Hayoon Yi, Donghyun Kwon, Seungjun Yang, Byung-Gon Chun, Ling Huang, Petros Maniatis, Mayur Naik, and Yunheung Paek. 2014. Mantis: Efficient predictions of execution time, energy usage, memory usage and network usage on smart mobile devices. IEEE Transactions on Mobile Computing 14, 10 (2014), 2059--2072.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. LG. 2019. LG WebOS Open Source Edition. Retrieved April 10, 2019 from http://webosose.org/.Google ScholarGoogle Scholar
  28. Winson Y. S. Li, Shangru Wu, Wing Kwong Chan, and T. H. Tse. 2012. JSCloud: Toward remote execution of JavaScript code on handheld devices. In Proceedings of the 2012 12th International Conference on Quality Software. IEEE, Los Alamitos, CA, 240--245.Google ScholarGoogle Scholar
  29. James Teng Kin Lo, Eric Wohlstadter, and Ali Mesbah. 2013. Imagen: Runtime migration of browser sessions for JavaScript web applications. In Proceedings of the 22nd International Conference on World Wide Web (WWW’13). ACM, New York, NY, 815--826.Google ScholarGoogle Scholar
  30. Lele Ma, Shanhe Yi, and Qun Li. 2017. Efficient service handoff across edge servers via docker container migration. In Proceedings of the 2nd ACM/IEEE Symposium on Edge Computing (SEC’17). ACM, New York, NY, Article 11, 13 pages. DOI:https://doi.org/10.1145/3132211.3134460Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. A. Machen, S. Wang, K. K. Leung, B. J. Ko, and T. Salonidis. 2018. Live service migration in mobile edge clouds. IEEE Wireless Communications 25, 1 (Feb. 2018), 140--147. DOI:https://doi.org/10.1109/MWC.2017.1700011Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. GitHub. n.d. Matt-Esch Virtual DOM Project. Retrieved June 12, 2020 from https://github.com/Matt-Esch/virtual-dom.Google ScholarGoogle Scholar
  33. Node-OS. 2019. Node-OS Project. Retrieved April 10, 2019 from https://node-os.com/.Google ScholarGoogle Scholar
  34. JinSeok Oh, Jin-Woo Kwon, Hyukwoo Park, and Soo-Mook Moon. 2015. Migration of web applications with seamless execution. In Proceedings of the 11th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE’15). ACM, New York, NY, 173--185. DOI:https://doi.org/10.1145/2731186.2731197Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Sehoon Park, Qichen Chen, Hyuck Han, and Heon Y. Yeom. 2014. Design and evaluation of mobile offloading system for web-centric devices. Journal of Network and Computer Applications 40 (2014), 105--115. DOI:https://doi.org/10.1016/j.jnca.2013.08.006Google ScholarGoogle ScholarCross RefCross Ref
  36. Sehoon Park, Qichen Chen, and Heon Y. Yeom. 2013. PIOS: A platform-independent offloading system for a mobile web environment. In Proceedings of the 2013 IEEE 10th Consumer Communications and Networking Conference (CCNC’13). IEEE, Los Alamitos, CA, 137--142.Google ScholarGoogle Scholar
  37. Samsung. 2019. Samsung IoT.js Project. Retrieved April 10, 2019 from http://iotjs.net/.Google ScholarGoogle Scholar
  38. Samsung. 2019. Samsung Tizen Project. Retrieved April 10, 2019 from https://www.tizen.org/.Google ScholarGoogle Scholar
  39. Mahadev Satyanarayanan. 2001. Pervasive computing: Vision and challenges. IEEE Personal Communications 8, 4 (2001), 10--17.Google ScholarGoogle ScholarCross RefCross Ref
  40. Mahadev Satyanarayanan, Paramvir Bahl, Ramón Caceres, and Nigel Davies. 2009. The case for VM-based cloudlets in mobile computing. IEEE Pervasive Computing 8, 4 (2009), 14–23.Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Ashiwan Sivakumar, Vijay Gopalakrishnan, Seungjoon Lee, Sanjay Rao, Subhabrata Sen, and Oliver Spatscheck. 2014. Cloud is not a silver bullet: A case study of cloud-based mobile browsing. In Proceedings of the 15th Workshop on Mobile Computing Systems and Applications. ACM, New York, NY, 21.Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. G. Vigna. 2004. Mobile agents: Ten reasons for failure. In Proceedings of the 2004 IEEE International Conference on Mobile Data Management. 298--299. DOI:https://doi.org/10.1109/MDM.2004.1263077Google ScholarGoogle ScholarCross RefCross Ref
  43. Qiushi Wang, Fabian Reimeier, and Katinka Wolter. 2016. Efficient image stitching through mobile offloading. Electronic Notes in Theoretical Computer Science 327 (2016), 125--146.Google ScholarGoogle ScholarCross RefCross Ref
  44. Huaming Wu, William Knottenbelt, and Katinka Wolter. 2019. An efficient application partitioning algorithm in mobile environments. IEEE Transactions on Parallel and Distributed Systems 30, 7 (2019), 1464–1480.Google ScholarGoogle ScholarCross RefCross Ref
  45. Huaming Wu, Yi Sun, and Katinka Wolter. 2018. Energy-efficient decision making for mobile cloud offloading. IEEE Transactions on Cloud Computing 8, 2 (2018), 570–584.Google ScholarGoogle ScholarCross RefCross Ref
  46. S. Yang, D. Kwon, H. Yi, Y. Cho, Y. Kwon, and Y. Paek. 2014. Techniques to minimize state transfer costs for dynamic execution offloading in mobile cloud computing. IEEE Transactions on Mobile Computing 13, 11 (Nov. 2014), 2648--2660. DOI:https://doi.org/10.1109/TMC.2014.2307293Google ScholarGoogle ScholarCross RefCross Ref
  47. Alon Zakai. 2011. Emscripten: An LLVM-to-JavaScript compiler. In Proceedings of the ACM International Conference Companion on Object Oriented Programming Systems Languages and Applications Companion (OOPSLA’11). ACM, New York, NY, 301--312. DOI:https://doi.org/10.1145/2048147.2048224Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. M. Zbierski and P. Makosiej. 2014. Bring the cloud to your mobile: Transparent offloading of HTML5 web workers. In Proceedings of the 2014 IEEE 6th International Conference on Cloud Computing Technology and Science. 198--203. DOI:https://doi.org/10.1109/CloudCom.2014.60Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Dynamic Offloading of Web Application Execution Using Snapshot

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM Transactions on the Web
      ACM Transactions on the Web  Volume 14, Issue 4
      November 2020
      147 pages
      ISSN:1559-1131
      EISSN:1559-114X
      DOI:10.1145/3414043
      Issue’s Table of Contents

      Copyright © 2020 ACM

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 28 July 2020
      • Accepted: 1 May 2020
      • Revised: 1 March 2020
      • Received: 1 August 2019
      Published in tweb Volume 14, Issue 4

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format .

    View HTML Format
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!