Offloading of Web Application Computations: A Snapshot-Based Approach

As the web technology advances, web applications, executable on any devices where a web browser is installed, have become pervasive. However, running heavy web applications in the mobile devices is challenging, because of their resource constraints and poor network environments. One of the trials to overcome such restrictions is computation offloading. Computation offloading is the technique migrating computations from client to server to exploit the powerful resources of the server. We observed some former approaches to the computation offloading, and found out they placed a huge burden on programmers to write annotations and substantially limited the computations to be offloaded. In order to overcome these problems, we propose an offloading system transferring the states without annotations and giving programmers freedom to use JavaScript features and DOM (Document Object Model) API in the offloaded computations. Our approach is based on the technique called snapshot, which safely saves and restores the states of web applications. The snapshot-based approach allows the offloaded computations to use various features such as a closure, and DOM API. In the web applications using open source JavaScript libraries, our offloading system successfully offloaded the event handlers using closure variables and DOM APIs, achieving a speedup up to 7.2.

[1]  Heon Young Yeom,et al.  PIOS: A platform-independent offloading system for a mobile web environment , 2013, 2013 IEEE 10th Consumer Communications and Networking Conference (CCNC).

[2]  Soo-Mook Moon,et al.  Snapshot-based loading-time acceleration for web applications , 2015, 2015 IEEE/ACM International Symposium on Code Generation and Optimization (CGO).

[3]  Scott A. Mahlke,et al.  Accelerating Mobile Applications through Flip-Flop Replication , 2015, MobiSys.

[4]  Karim Habak,et al.  COSMOS: computation offloading as a service for mobile devices , 2014, MobiHoc '14.

[5]  Byung-Gon Chun,et al.  CloneCloud: elastic execution between mobile device and cloud , 2011, EuroSys '11.

[6]  Maciej Zbierski,et al.  Bring the Cloud to Your Mobile: Transparent Offloading of HTML5 Web Workers , 2014, 2014 IEEE 6th International Conference on Cloud Computing Technology and Science.

[7]  Yunheung Paek,et al.  Techniques to Minimize State Transfer Costs for Dynamic Execution Offloading in Mobile Cloud Computing , 2014, IEEE Transactions on Mobile Computing.

[8]  Soo-Mook Moon,et al.  Migration of Web Applications with Seamless Execution , 2015, VEE.

[9]  T. H. Tse,et al.  JSCloud: Toward Remote Execution of JavaScript Code on Handheld Devices , 2012, 2012 12th International Conference on Quality Software.