Abstract
Web 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 exploit this advantage of platform independence for a new user experience called app migration, which allows migrating an app in the middle of execution seamlessly between smart devices. This paper proposes such a migration framework for web apps where we can save the current state of a running app and resume its execution on a different device by restoring the saved state. We save the web app's state in the form of a snapshot, which is actually another web app whose execution can restore the saved state. In the snapshot, the state of the JavaScript variables and DOM trees are saved using the JSON format. We solved some of the saving/restoring problems related to event handlers and closures by accessing the browser and the JavaScript engine internals. Our framework does not require instrumenting an app or changing its source code, but works for the original app. We implemented the framework on the Chrome browser with the V8 JavaScript engine and successfully migrated non-trivial sample apps with reasonable saving and restoring overhead. We also discuss other usage of the snapshot for optimizations and user experiences for the web platform.
- M. Adiba and B. Lindsay. "Database snapshots." Proceedings of the sixth international conference on Very Large Data Bases, 1980. Google Scholar
Digital Library
- Adobe Flash runtime. http://www.adobe.com/products/flashruntimes.htmlGoogle Scholar
- Airplay. https://www.apple.com/airplay/Google Scholar
- Apple Handoff, Apple Worldwide Developers Conference (WWDC) 2014, https://developer.apple.com/videos/wwdc/2014/, Jun 2014.Google Scholar
- B. Chun et. al, CloneCloud: elastic execution between mobile device and cloud. In Proceedings of the sixth conference on Computer systems (EuroSys '11). 2011. Google Scholar
Digital Library
- Browser extension. http://en.wikipedia.org/wiki/Browser_extensionGoogle Scholar
- D. Lee. JXON: an Architecture for Schema and Annotation Driven JSON/XML Bidirectional Transformations. In Proceedings of Balisage: The Markup Conference 2011.Google Scholar
- DLNA. http://www.dlna.org/Google Scholar
- Dropbox. https://www.dropbox.comGoogle Scholar
- Enyojs. http://enyojs.comGoogle Scholar
- F. Bellucci et. al, Engineering JavaScript state persistence of web applications migrating across multiple devices. In Proceedings of the 3rd ACM SIGCHI symposium on Engineering interactive computing systems (EICS '11). 2011. Google Scholar
Digital Library
- Firefox OS. http://www.mozilla.org/en-US/firefox/osGoogle Scholar
- G. Wang. Improving Data Transmission in Web Applications via the Translation between XML and JSON. In Proceedings of the 2011 Third International Conference on Communications and Mobile Computing (CMC '11). 2011. Google Scholar
Digital Library
- HTML5. http://www.w3.org/TR/html5/Google Scholar
- J. Lo et. al, Imagen: runtime migration of browser sessions for javascript web applications. In Proceedings of the 22nd international conference on World Wide Web (WWW '13). 2013. Google Scholar
Digital Library
- J. Mickens, J. Elson, and J. Howell. Mugshot: deterministic capture and replay for Javascript applications. In Proceedings of Networked Systems Design and Implementation, pages 159--174, 2010. Google Scholar
Digital Library
- jQuery. http://www.jquery.comGoogle Scholar
- JSON. http://www.json.orgGoogle Scholar
- Json.NET - Preserving Object References. http://james.newtonking.com/json/help/index.htmlGoogle Scholar
- JSON-Circular. https://github.com/StewartAtkins/JSON-CircularGoogle Scholar
- JsonML. http://www.jsonml.org/Google Scholar
- JSON-R: A JSON Extension That Deals With Object References (Circular And Others). http://java.dzone.com/articles/json-r-json-extension-dealsGoogle Scholar
- K. Baik et. al. Boosting up Embedded Linux device: experience on Linux-based Smartphone. In proceedings of the Linux Symposium. 2010.Google Scholar
- N. Nurseitov et al,. Comparison of JSON and XML Data Interchange Formats: A Case Study. In Proceedings of CAINE, 9, 157--162. 2009.Google Scholar
- Offline Tetris. http://tetris.alexkessinger.net/Google Scholar
- PS4 Remote Play. https://support.us.playstation.com/app/answers/detail/a_id/5065/~/ps4-remote-play-and-second-screenGoogle Scholar
- Ext JS. http://www.sencha.com/products/extjsGoogle Scholar
- Serialization. http://en.wikipedia.org/wiki/SerializationGoogle Scholar
- Sync tabs across devices. https://support.google.com/chrome/answer/2591582?hl=enGoogle Scholar
- Takashi Suezawa. Persistent execution state of a Java virtual machine. In Proceedings of the ACM 2000 conference on Java Grande (JAVA '00). 2000. Google Scholar
Digital Library
- Tizen. https://www.tizen.orgGoogle Scholar
- V8 snapshot. https://developers.google.com/v8/embedGoogle Scholar
- webOS. http://www.openwebosproject.orgGoogle Scholar
- Y.-Y. Su and J. Flinn. Slingshot: deploying stateful services in wireless hotspots. In Proceedings of the 3rd international conference on Mobile systems, applications, and services (MobiSys '05). 2005. Google Scholar
Digital Library
- B. Burg et al, Interactive record/replay for web application debugging. Proceedings of the 26th annual ACM symposium on User interface software and technology. 2013. Google Scholar
Digital Library
- J. Oh and S. Moon, Snapshot-based Loading-Time Acceleration for Web Applications. In Proceedings of the ACM/IEEE International Symposium on Code Generation and Optimization (CGO 2015). 2015. Google Scholar
Digital Library
Index Terms
Migration of Web Applications with Seamless Execution
Recommendations
Dynamic Offloading of Web Application Execution Using Snapshot
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 ...
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 ...
Web Application Migration with Closure Reconstruction
WWW '17: Proceedings of the 26th International Conference on World Wide WebDue to its high portability and simplicity, web application (app) based on HTML/JavaScript/CSS has been widely used for various smart-device platforms. To take advantage of its wide platform pool, a new idea called app migration has been proposed for ...







Comments