skip to main content
research-article

i-Jacob: An Internetware-Oriented Approach to Optimizing Computation-Intensive Mobile Web Browsing

Published:13 March 2018Publication History
Skip Abstract Section

Abstract

Web browsing is always a key requirement of Internet users. Current mobile Web apps can contain computation-intensive JavaScript logics and thus affect browsing performance. Learning from our over-decade research and development experiences of the Internetware paradigm, we present the novel and generic i-Jacob approach to improving the performance of mobile Web browsing with effective JavaScript-code offloading. Our approach proposes a programming abstraction to make mobile Web situational and adaptive to contexts, by specifying the computation-intensive and “ offloadable ” code, and develops a platform-independent lightweight runtime spanning the mobile devices and the cloud. We demonstrate the efficiency of i-Jacob with some typical computation-intensive tasks over various combinations of hardware, operating systems, browsers, and network connections. The improvements can reach up to 49× speed-up in response time and 90% saving in energy.

References

  1. 2015. T. J. Watson Libraries for Analysis (WALA). Retrieved from http://wala.sourceforge.net/wiki/index.php/Main_Page.Google ScholarGoogle Scholar
  2. Victor Agababov, Michael Buettner, Victor Chudnovsky, Mark Cogan, Ben Greenstein, Shane McDaniel, Michael Piatek, Colin Scott, Matt Welsh, and Bolian Yin. 2015. Flywheel: Google’s data compression proxy for the mobile web. In Proceedings of 12th USENIX Symposium on Networked Systems Design and Implementation (NSDI’15). 367--380. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Ali. 2015. Aliyun Cloud Platform. Retrieved from http://www.aliyun.com/?lang=en.Google ScholarGoogle Scholar
  4. Amazon. 2015. Amazon Silk. Retrieved from http://amazonsilk.wordpress.com/.Google ScholarGoogle Scholar
  5. Byung-Gon Chun, Sunghwan Ihm, Petros Maniatis, Mayur Naik, and Ashwin Patti. 2011. CloneCloud: Elastic execution between mobile device and cloud. In Proceedings of the 6th European Conference on Computer systems (EuroSys’11). ACM, 301--314. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Eduardo Cuervo, Aruna Balasubramanian, Dae-ki Cho, Alec Wolman, Stefan Saroiu, Ranveer Chandra, and Paramvir Bahl. 2010. MAUI: Making smartphones last longer with code offload. In Proceedings of the 8th International Conference on Mobile Systems, Applications, and Services (MobiSy’10). ACM, 49--62. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. ECMAScript. 2015. ECMAScript Standard. Retrieved from http://www.ecma-international.org/.Google ScholarGoogle Scholar
  8. Asger Feldthaus, Todd Millstein, Anders Møller, Max Schäfer, and Frank Tip. 2011. Tool-supported refactoring for JavaScript. ACM SIGPLAN Notices 46, 10 (2011), 119--138. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Google. 2015. Chrome Beta. Retrieved from https://www.google.com/chrome/browser/beta.html.Google ScholarGoogle Scholar
  10. Google. 2015. Chrome Developer Tools. Retrieved from https://developer.chrome.com/devtools.Google ScholarGoogle Scholar
  11. Google V8. 2014. Google V8 Benchmark Suite. Retrieved from https://v8.googlecode.com/svn/data/benchmarks/v7/run.html.Google ScholarGoogle Scholar
  12. Mark S. Gordon, Davoud Anoushe Jamshidi, Scott A. Mahlke, Zhuoqing Morley Mao, and Xu Chen. 2012. COMET: Code offload by migrating execution transparently. In Proceedings of 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI’12). USENIX, 93--106. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Brian Hackett and Shu-yu Guo. 2012. Fast and precise hybrid type inference for JavaScript. In ACM SIGPLAN Notices, Vol. 47. ACM, 239--250. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Daniel Hedin, Arnar Birgisson, Luciano Bello, and Andrei Sabelfeld. 2014. JSFlow: Tracking information flow in JavaScript and its APIs. In Proceedings of the 29th Annual ACM Symposium on Applied Computing (SAC’14). 1663--1671. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Vineeth Kashyap, Kyle Dewey, Ethan A. Kuefner, John Wagner, Kevin Gibbons, John Sarracino, Ben Wiedermann, and Ben Hardekopf. 2014. JSAI: A static analysis platform for JavaScript. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE’14). ACM, 121--132. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Shunsuke Kurumatani, Masashi Toyama, and Eric Y. Chen. 2012. Executing client-side webworkers in the cloud. In Proceedings of 9th Asia-Pacific Symposium on Information and Telecommunication Technologies (APSITT’12). 1--6.Google ScholarGoogle Scholar
  17. Young-Woo Kwon and Eli Tilevich. 2012. Energy-efficient and fault-tolerant distributed mobile execution. In Proceedings of IEEE 32nd International Conference on Distributed Computing Systems (ICDCS’12). IEEE, 586--595. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Winson Y. S. Li, Shangru Wu, Wing Kwong Chan, and T. H. Tse. 2012. JSCloud: Toward remote execution of JavaScript code on handheld devices. In Proceedings of the 12th International Conference on Quality Software (QSIC’12). IEEE, 240--245. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Xuanzhe Liu, Yun Ma, Yunxin Liu, Tao Xie, and Gang Huang. 2016. Demystifying the imperfect client-side cache performance of mobile web browsing. IEEE Trans. Mob. Comput. 15, 9 (2016), 2206--2220.Google ScholarGoogle ScholarCross RefCross Ref
  20. Xuan Lu, Xuanzhe Liu, Huoran Li, Tao Xie, Qiaozhu Mei, Gang Huang, and Feng Feng. 2016. PRADA: Prioritizing android devices for apps by mining large-scale usage data. In Proceedings of the 38th International Conference on Software Engineering (ICSE’16). ACM, 3--13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Hong Mei, Gang Huang, Ling Lan, and JunGuo Li. 2008. A software architecture centric self-adaptation approach for internetware. Sci. China Ser. F: Info. Sci. 51, 6 (2008), 722--742.Google ScholarGoogle ScholarCross RefCross Ref
  22. Hong Mei, Gang Huang, and Tao Xie. 2012. Internetware: A software paradigm for internet computing. IEEE Comput. 6 (2012), 26--31. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Monsoon. 2015. Monsoon Power Metering. Retrieved from https://www.msoon.com/LabEquipment/.Google ScholarGoogle Scholar
  24. Mozilla. 2014. Mozilla Dromaeo JavaScript Testing Benchmark. Retrieved from http://www.dromaeo.com.Google ScholarGoogle Scholar
  25. Mozilla Kraken. 2014. Mozilla Kraken JavaScript Performance Benchmark. Retrieved from http://krakenbenchmark.mozilla.org/.Google ScholarGoogle Scholar
  26. Ravi Netravali, Anirudh Sivaraman, Somak Das, Ameesh Goyal, Keith Winstein, James Mickens, and Hari Balakrishnan. 2015. Mahimahi: Accurate record-and-replay for HTTP. In Proceedings of 2015 USENIX Annual Technical Conference (USENIX ATC’15). USENIX, 417--429. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Feng Qian. 2015. Toward mobile-friendly web browsing. IEEE Internet Comput. 19, 5 (2015), 72--76.Google ScholarGoogle ScholarCross RefCross Ref
  28. Gregor Richards, Christian Hammer, Brian Burg, and Jan Vitek. 2011. The eval that men do: A large-scale study of the use of eval in JavaScript applications. In Proceedings of the European Conferences on Object-Oriented Programming (ECOOP’11). Springer, 52--78. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Nicolás Serrano, Josune Hernantes, and Gorka Gallardo. 2013. Mobile web apps. IEEE Softw. 30, 5 (2013), 22--27. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Ashiwan Sivakumar, Vijay Gopalakrishnan, Seungjoon Lee, and Sanjay Rao. 2014. Cloud is not a silver bullet: A case study of cloud-based mobile browsing. In Proceedings of the 15th International Workshop on Mobile Computing Systems and Applications (HotMobile’14). ACM, 21:1--21:6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Narendran Thiagarajan, Gaurav Aggarwal, Angela Nicoara, Dan Boneh, and Jatinder Pal Singh. 2012. Who killed my battery?: Analyzing mobile browser energy consumption. In Proceedings of the 21st International Conference on World Wide Web (WWW’12). 41--50. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. W3C. 2015. HTML5 Web Workers. Retrieved from http://www.w3schools.com/html/html5_webworkers.asp.Google ScholarGoogle Scholar
  33. Qiushi Wang and Katinka Wolter. 2015. Reducing task completion time in mobile offloading systems through online adaptive local restart. In Proceedings of the 6th ACM/SPEC International Conference on Performance Engineering (ICPE’15). 3--13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Xudong Wang, Xuanzhe Liu, Gang Huang, and Yunxin Liu. 2013. AppMobiCloud: Improving mobile web applications by mobile-cloud convergence. In Proceedings of the 5th Asia-Pacific Symposium on Internetware (Internetware’13). ACM, 14:1--14:10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Xudong Wang, Xuanzhe Liu, Ying Zhang, and Gang Huang. 2012. Migration and execution of Javascript applications between mobile devices and cloud. In Proceedings of the 3rd Annual Conference on Systems, Programming, and Applications: Software for Humanity (SPLASH’12). ACM, 83--84. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Xiao Sophia Wang, Aruna Balasubramanian, Arvind Krishnamurthy, and David Wetherall. 2013. Demystifying page load performance with WProf. In Proceedings of the 10th USENIX Symposium on Networked Systems Design and Implementation (NSDI’13). USENIX, Berkeley, CA, 473--486. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Xiao Sophia Wang, Aruna Balasubramanian, Arvind Krishnamurthy, and David Wetherall. 2014. How speedy is SPDY? In Proceedings of the 11th USENIX Symposium on Networked Systems Design and Implementation (NSDI’14). USENIX, 387--399. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Xiao Sophia Wang, Haichen Shen, and David Wetherall. 2013. Accelerating the mobile web with selective offloading. In Proceedings of the 2nd ACM SIGCOMM Mobile Cloud Computing Workshop (MCC’13). 45--50. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Huaming Wu, William Knottenbelt, and Katinka Wolter. 2015. Analysis of the energy-response time tradeoff for mobile cloud offloading using combined metrics. In Proceedings of the 27th International Teletraffic Congress (ITC’15). IEEE, 134--142. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Huaming Wu, William Knottenbelt, Katinka Wolter, and Yi Sun. 2016. An optimal offloading partitioning algorithm in mobile cloud computing. In Proceedings of International Conference on Quantitative Evaluation of Systems (QEST’16). Springer, 311--328.Google ScholarGoogle ScholarCross RefCross Ref
  41. Meihua Yu, Gang Huang, Xudong Wang, Ying Zhang, and Xiangqun Chen. 2015. JavaScript offloading for web applications in mobile-cloud computing. In Proceedings of 2015 IEEE International Conference on Mobile Services (MS’15). IEEE, 269--276. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Maciej Zbierski and Przemyslaw Makosiej. 2014. Bring the cloud to your mobile: Transparent offloading of HTML5 web workers. In Proceedings of 2014 IEEE International Conference on Cloud Computing Technology and Science (CloudCom’14). IEEE, 198--203. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Ying Zhang, Gang Huang, Xuanzhe Liu, Wei Zhang, Hong Mei, and Shunxiang Yang. 2012. Refactoring android java code for on-demand computation offloading. In ACM SIGPLAN Notices, Vol. 47. 233--248. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Yuhao Zhu, Aditya Srikanth, Jingwen Leng, and Vijay Janapa Reddi. 2014. Exploiting webpage characteristics for energy-efficient mobile web browsing. Comput. Arch. Lett. 13, 1 (2014), 33--36. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. i-Jacob: An Internetware-Oriented Approach to Optimizing Computation-Intensive Mobile Web Browsing

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM Transactions on Internet Technology
          ACM Transactions on Internet Technology  Volume 18, Issue 2
          Special Issue on Internetware and Devops and Regular Papers
          May 2018
          294 pages
          ISSN:1533-5399
          EISSN:1557-6051
          DOI:10.1145/3182619
          • Editor:
          • Munindar P. Singh
          Issue’s Table of Contents

          Copyright © 2018 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 13 March 2018
          • Accepted: 1 April 2017
          • Revised: 1 March 2017
          • Received: 1 October 2016
          Published in toit Volume 18, Issue 2

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!