Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2731186.2731197acmconferencesArticle/Chapter ViewAbstractPublication PagesveeConference Proceedingsconference-collections
research-article

Migration of Web Applications with Seamless Execution

Published: 14 March 2015 Publication History
  • Get Citation Alerts
  • 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.

    References

    [1]
    M. Adiba and B. Lindsay. "Database snapshots." Proceedings of the sixth international conference on Very Large Data Bases, 1980.
    [2]
    Adobe Flash runtime. http://www.adobe.com/products/flashruntimes.html
    [3]
    Airplay. https://www.apple.com/airplay/
    [4]
    Apple Handoff, Apple Worldwide Developers Conference (WWDC) 2014, https://developer.apple.com/videos/wwdc/2014/, Jun 2014.
    [5]
    B. Chun et. al, CloneCloud: elastic execution between mobile device and cloud. In Proceedings of the sixth conference on Computer systems (EuroSys '11). 2011.
    [6]
    Browser extension. http://en.wikipedia.org/wiki/Browser_extension
    [7]
    D. Lee. JXON: an Architecture for Schema and Annotation Driven JSON/XML Bidirectional Transformations. In Proceedings of Balisage: The Markup Conference 2011.
    [8]
    DLNA. http://www.dlna.org/
    [9]
    Dropbox. https://www.dropbox.com
    [10]
    Enyojs. http://enyojs.com
    [11]
    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.
    [12]
    Firefox OS. http://www.mozilla.org/en-US/firefox/os
    [13]
    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.
    [14]
    HTML5. http://www.w3.org/TR/html5/
    [15]
    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.
    [16]
    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.
    [17]
    jQuery. http://www.jquery.com
    [18]
    JSON. http://www.json.org
    [19]
    Json.NET - Preserving Object References. http://james.newtonking.com/json/help/index.html
    [20]
    JSON-Circular. https://github.com/StewartAtkins/JSON-Circular
    [21]
    JsonML. http://www.jsonml.org/
    [22]
    JSON-R: A JSON Extension That Deals With Object References (Circular And Others). http://java.dzone.com/articles/json-r-json-extension-deals
    [23]
    K. Baik et. al. Boosting up Embedded Linux device: experience on Linux-based Smartphone. In proceedings of the Linux Symposium. 2010.
    [24]
    N. Nurseitov et al,. Comparison of JSON and XML Data Interchange Formats: A Case Study. In Proceedings of CAINE, 9, 157--162. 2009.
    [25]
    Offline Tetris. http://tetris.alexkessinger.net/
    [26]
    PS4 Remote Play. https://support.us.playstation.com/app/answers/detail/a_id/5065/~/ps4-remote-play-and-second-screen
    [27]
    Ext JS. http://www.sencha.com/products/extjs
    [28]
    Serialization. http://en.wikipedia.org/wiki/Serialization
    [29]
    Sync tabs across devices. https://support.google.com/chrome/answer/2591582?hl=en
    [30]
    Takashi Suezawa. Persistent execution state of a Java virtual machine. In Proceedings of the ACM 2000 conference on Java Grande (JAVA '00). 2000.
    [31]
    Tizen. https://www.tizen.org
    [32]
    V8 snapshot. https://developers.google.com/v8/embed
    [33]
    webOS. http://www.openwebosproject.org
    [34]
    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.
    [35]
    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.
    [36]
    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.

    Cited By

    View all

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    VEE '15: Proceedings of the 11th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments
    March 2015
    238 pages
    ISBN:9781450334501
    DOI:10.1145/2731186
    • cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 50, Issue 7
      VEE '15
      July 2015
      221 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/2817817
      • Editor:
      • Andy Gill
      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 ACM 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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 14 March 2015

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. app migration
    2. dom
    3. javascript
    4. json
    5. snapshot
    6. web application

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    VEE '15

    Acceptance Rates

    VEE '15 Paper Acceptance Rate 16 of 50 submissions, 32%;
    Overall Acceptance Rate 80 of 235 submissions, 34%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)14
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 10 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2022)Disclosure: Efficient Instrumentation-Based Web App Migration for Liquid ComputingWeb Engineering10.1007/978-3-031-09917-5_9(132-147)Online publication date: 1-Jul-2022
    • (2021)Snapshot-Based Migration of ES6 JavaScriptWeb Engineering10.1007/978-3-030-74296-6_31(404-419)Online publication date: 11-May-2021
    • (2020)Dynamic Offloading of Web Application Execution Using SnapshotACM Transactions on the Web10.1145/340212414:4(1-24)Online publication date: 28-Jul-2020
    • (2020)WebDelta: Lightweight Migration of Web Applications with Modified Execution StateWeb Engineering10.1007/978-3-030-50578-3_29(435-450)Online publication date: 10-Jun-2020
    • (2020)ThingsMigrate: Platform‐independent migration of stateful JavaScript Internet of Things applicationsSoftware: Practice and Experience10.1002/spe.293651:1(117-155)Online publication date: 5-Dec-2020
    • (2019)FlashFreeze: low-overhead JavaScript instrumentation for function serializationProceedings of the 4th ACM SIGPLAN International Workshop on Meta-Programming Techniques and Reflection10.1145/3358502.3361268(31-39)Online publication date: 20-Oct-2019
    • (2019)Seamless Offloading of Web App Computations From Mobile Device to Edge Clouds via HTML5 Web Worker MigrationProceedings of the ACM Symposium on Cloud Computing10.1145/3357223.3362735(38-49)Online publication date: 20-Nov-2019
    • (2018)Fast snapshot migration using static code instrumentationProceedings of the International Conference on Embedded Software10.5555/3283535.3283540(1-2)Online publication date: 30-Sep-2018
    • (2018)A framework for dynamic inter-device task dispatch with eventual consistencyCompanion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of Programming10.1145/3191697.3191732(63-68)Online publication date: 9-Apr-2018
    • (2018)Sprinkler: A probabilistic dissemination protocol to provide fluid user interaction in multi-device ecosystems2018 IEEE International Conference on Pervasive Computing and Communications (PerCom)10.1109/PERCOM.2018.8444577(1-10)Online publication date: Mar-2018
    • Show More Cited By

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media