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.
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- Digi-Key Electronics. n.d. Panda Board. Retrieved June 12, 2020 from https://www.digikey.com/en/product-highlight/t/texas-instruments/pandaboard.Google Scholar
- Facebook. n.d. React.js. Retrieved June 12, 2020 from https://reactjs.org/.Google Scholar
- 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 Scholar
- 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 Scholar
- Andy Green. 2010. Libwebsockets (LWS). Retrieved June 12, 2020 from https://libwebsockets.org/.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Monsoon Solutions Inc. n.d. Monsoon Power Monitor. Retrieved June 12, 2020 from https://www.msoon.com.Google Scholar
- Ecma International. 2011. ECMAScript® Language Specification (Edition 5.1). Retrieved June 12, 2020 from https://www.ecma-international.org/ecma-262/5.1/.Google Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- LG. 2019. LG WebOS Open Source Edition. Retrieved April 10, 2019 from http://webosose.org/.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- GitHub. n.d. Matt-Esch Virtual DOM Project. Retrieved June 12, 2020 from https://github.com/Matt-Esch/virtual-dom.Google Scholar
- Node-OS. 2019. Node-OS Project. Retrieved April 10, 2019 from https://node-os.com/.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
- Samsung. 2019. Samsung IoT.js Project. Retrieved April 10, 2019 from http://iotjs.net/.Google Scholar
- Samsung. 2019. Samsung Tizen Project. Retrieved April 10, 2019 from https://www.tizen.org/.Google Scholar
- Mahadev Satyanarayanan. 2001. Pervasive computing: Vision and challenges. IEEE Personal Communications 8, 4 (2001), 10--17.Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
Dynamic Offloading of Web Application Execution Using Snapshot
Recommendations
Seamless Offloading of Web App Computations From Mobile Device to Edge Clouds via HTML5 Web Worker Migration
SoCC '19: Proceedings of the ACM Symposium on Cloud ComputingFuture mobile applications, such as mobile cloud gaming or augmented reality, require not only high computation power but strict latency constraints. To provide computing resources with ultra-low latency, a new form of cloud infrastructure called edge ...
Migration of Web Applications with Seamless Execution
VEE '15Web applications (apps) are programmed using HTML5, CSS, and JavaScript, and are distributed in the source code format. Web apps can be executed on any devices where a web browser is installed, allowing one-source, multi-platform environment. We can ...
Migration of Web Applications with Seamless Execution
VEE '15: Proceedings of the 11th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution EnvironmentsWeb applications (apps) are programmed using HTML5, CSS, and JavaScript, and are distributed in the source code format. Web apps can be executed on any devices where a web browser is installed, allowing one-source, multi-platform environment. We can ...






Comments