Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Dynamic Offloading of Web Application Execution Using Snapshot

Published: 28 July 2020 Publication History

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.
[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.
[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.
[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.
[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.
[6]
Philip Bille. 2005. A survey on tree edit distance and related problems. Theoretical Computer Science 337, 1 (2005), 217--239.
[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.
[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.
[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.
[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.
[11]
Digi-Key Electronics. n.d. Panda Board. Retrieved June 12, 2020 from https://www.digikey.com/en/product-highlight/t/texas-instruments/pandaboard.
[12]
Facebook. n.d. React.js. Retrieved June 12, 2020 from https://reactjs.org/.
[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).
[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.
[15]
Andy Green. 2010. Libwebsockets (LWS). Retrieved June 12, 2020 from https://libwebsockets.org/.
[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.
[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.
[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.
[19]
Monsoon Solutions Inc. n.d. Monsoon Power Monitor. Retrieved June 12, 2020 from https://www.msoon.com.
[20]
Ecma International. 2011. ECMAScript® Language Specification (Edition 5.1). Retrieved June 12, 2020 from https://www.ecma-international.org/ecma-262/5.1/.
[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.
[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.
[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.
[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.
[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.
[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.
[27]
LG. 2019. LG WebOS Open Source Edition. Retrieved April 10, 2019 from http://webosose.org/.
[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.
[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.
[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.
[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.
[32]
GitHub. n.d. Matt-Esch Virtual DOM Project. Retrieved June 12, 2020 from https://github.com/Matt-Esch/virtual-dom.
[33]
Node-OS. 2019. Node-OS Project. Retrieved April 10, 2019 from https://node-os.com/.
[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.
[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.
[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.
[37]
Samsung. 2019. Samsung IoT.js Project. Retrieved April 10, 2019 from http://iotjs.net/.
[38]
Samsung. 2019. Samsung Tizen Project. Retrieved April 10, 2019 from https://www.tizen.org/.
[39]
Mahadev Satyanarayanan. 2001. Pervasive computing: Vision and challenges. IEEE Personal Communications 8, 4 (2001), 10--17.
[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.
[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.
[42]
G. Vigna. 2004. Mobile agents: Ten reasons for failure. In Proceedings of the 2004 IEEE International Conference on Mobile Data Management. 298--299.
[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.
[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.
[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.
[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.
[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.
[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.

Cited By

View all
  • (2024)JavaScript Performance Tuning as a Crowdsourced ServiceIEEE Transactions on Mobile Computing10.1109/TMC.2023.3316167(1-16)Online publication date: 2024
  • (2023)Energy-Saving Strategies for Mobile Web Apps and their Measurement: Results from a Decade of Research2023 IEEE/ACM 10th International Conference on Mobile Software Engineering and Systems (MOBILESoft)10.1109/MOBILSoft59058.2023.00017(75-86)Online publication date: May-2023
  • (2022)AR-Based 3D Virtual Reconstruction of Brick DetailsRemote Sensing10.3390/rs1403074814:3(748)Online publication date: 5-Feb-2022

Recommendations

Comments

Information & Contributors

Information

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
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 July 2020
Accepted: 01 May 2020
Revised: 01 March 2020
Received: 01 August 2019
Published in TWEB Volume 14, Issue 4

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Mobile computing
  2. computation offloading
  3. web application

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)23
  • Downloads (Last 6 weeks)2
Reflects downloads up to 09 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)JavaScript Performance Tuning as a Crowdsourced ServiceIEEE Transactions on Mobile Computing10.1109/TMC.2023.3316167(1-16)Online publication date: 2024
  • (2023)Energy-Saving Strategies for Mobile Web Apps and their Measurement: Results from a Decade of Research2023 IEEE/ACM 10th International Conference on Mobile Software Engineering and Systems (MOBILESoft)10.1109/MOBILSoft59058.2023.00017(75-86)Online publication date: May-2023
  • (2022)AR-Based 3D Virtual Reconstruction of Brick DetailsRemote Sensing10.3390/rs1403074814:3(748)Online publication date: 5-Feb-2022

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media