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. CCS Concepts: • Software and its engineering → Organizing principles for web applications;
Web applications (apps) are programs created by web technologies such as HTML, CSS, and JavaScript. Web apps can be executed on any platform that supports a web browser. Such portability allows an interesting user experience called app migration, which can save an app's execution state to a file called snapshot, transmit it to another device, and continue the execution using the snapshot. However, existing approaches save all the states of the current app, regardless of its relevance to an app's state, making the snapshot size and snapshot creation time infeasibly large. For example, web apps are often programmed using web frameworks such as jQuery, which are libraries written in JavaScript to support app developments. We found that most objects created by frameworks during their initialization are not relevant to an app's state. Hence, one idea to reduce the snapshot size is not saving those framework objects in the snapshot but creating them after migration via re-initialization. Unfortunately, this is not always straightforward since the framework objects are intermingled with the app objects in the heap, possibly pointing to each other. To resolve this, we separated app objects that are attached to framework objects by monitoring app's execution and saved them to the snapshot. This paper proposes such a framework separated migration technique, with optimization to reduce the overhead, especially related to monitoring app's execution. With our approach, we could reduce the snapshot size by 89.1% on average and shorten the migration time by 47.6%, increasing the feasibility of app migration.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.