DOI QR코드

DOI QR Code

Snapshot-Based Offloading for Web Applications with HTML5 Canvas

HTML5 캔버스를 활용하는 웹 어플리케이션의 스냅샷 기반 연산 오프로딩

  • 정인창 (서울대학교 전기정보공학부) ;
  • 정혁진 (서울대학교 전기정보공학부) ;
  • 문수묵 (서울대학교 전기정보공학부)
  • Received : 2017.01.22
  • Accepted : 2017.05.26
  • Published : 2017.09.15

Abstract

A vast amount of research has been carried out for executing compute-intensive applications on resource-constrained mobile devices. Computation offloading is a method in which heavy computations are dynamically migrated from a mobile device to a server, exploiting the powerful hardware of the server to perform complex computations. An important issue for offloading is the complexity of reconciling the execution state of applications between the server and the client. To address this issue, snapshot-based offloading has recently been proposed, which utilizes the snapshot of a web app as the portable description of the execution state. However, for web applications using the HTML5 canvas, snapshot-based offloading does not function correctly, because the snapshot cannot capture the state of the canvas. In this paper, we propose a code generation technique to save the canvas state as part of a snapshot, so that the snapshot-based offloading can be applied to web applications using the canvas.

최근 모바일 기기와 같이 하드웨어 성능이 부족한 기기에서 연산량이 많은 어플리케이션을 효과적으로 수행할 수 있는 방법들이 많이 연구되고 있다. 연산 오프로딩 기법이란 모바일 기기에서 하드웨어 성능이 좋은 서버로 복잡한 연산을 보내서 수행 한 뒤 결과를 받아서 반영하는 방법이다. 연산 오프로딩 기법의 어려움 중 하나는 서버와 클라이언트 사이에서 동작 중인 어플리케이션의 상태를 주고받는 일이다. 스냅샷 기반의 연산 오프로딩 기법은 스냅샷을 이용하여 웹 어플리케이션의 상태를 쉽게 전송할 수 있도록 하였다. 하지만 HTML5 캔버스를 사용하는 웹 어플리케이션의 경우 스냅샷이 캔버스의 상태를 포함하지 못하는 문제가 있어서 스냅샷 기반의 연산 오프로딩을 적용할 수 없었다. 본 연구에서는 스냅샷에 캔버스의 상태를 저장할 수 있는 코드 생성 기술을 제안하여 캔버스를 사용하는 웹 어플리케이션에도 스냅샷 기반 연산 오프로딩 기법을 사용할 수 있도록 하였다.

Keywords

Acknowledgement

Supported by : 한국연구재단

References

  1. Byung-Gon Chun, Sunghwan Ihm, Petros Maniatis and Mayur Naik, "CloneCloud : Boosting Mobile Device Applications Through Cloud Clone Execution," arXiv preprint arXiv:1009.3088, 2010.
  2. Mark S. Gordon, David Ke Hong, Peter M. Chen, Jason Flinn, Scott Mahlke and Zhuoqing Morley Mao, "Accelerating Mobile Applications through Flip-Flop Replication," Proc. of the 13th Annual International Conference on Mobile Systems, Applications, and Service, pp. 137-150, 2015. (in Italy)
  3. Hyuk-Jin Jeong and Soo-Mook Moon, "Offloading of Web Application Computations: A Snapshot-Based Approach," Proc. of the IEEE 13th International Conference on Embedded and Ubiquitous Computing, pp. 90-97, 2015. (in Portugal)
  4. JinSeok Oh, Jin-woo Kwon, Hyukwoo Park and Soo-Mook Moon, "Migration of Web Applications with Seamless Execution," Proc. of the 11th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, pp. 173-185, 2015. (in Turkey)
  5. Ian Hickson. HTML5 [Online]. Available: https://www.w3.org/TR/2014/REC-html5-20141028
  6. Josefsson Simon, "The Base16, Base32, and Base64 Data Encodings," Internet Engineering Task Force, 2006.
  7. Masinter Larry, "The data URL scheme," Internet Engineering Task Force, 1998.
  8. Ryan LeFevre, CamanJS [Online]. Available: http://www.camanjs.com
  9. Eduardo Lundgren, tracking.js [Online]. Available: https://www.trackingjs.com
  10. Heather Arthur, Kittydar [Online]. Available : https://github.com/harthur/kittydar