Decentralized Computation Offloading on the Edge with Liquid WebWorkers

Liquid Web applications seamlessly flow across any kind of device ranging from powerful desktop and laptop devices to smaller devices, such as tablets, smart phones or any device capable of running a Web browser. In this context, there is the opportunity to reduce the execution time of CPU-intensive tasks or limit their energy consumption by offloading them across the set of machines running the liquid Web application. To do so, in this paper we present Liquid WebWorkers, which build upon the standard HTML5 WebWorker API and transparently offload the task execution to other devices and manage the corresponding data transfer. This way, Web developers can reuse their existing WebWorker scripts without any changes. We present how to create a pool of paired devices and compare different policies for choosing the target device that have been implemented in the Liquid.js framework.

[1]  Tommi Mikkonen,et al.  A Roadmap to the Programmable World: Software Challenges in the IoT Era , 2017, IEEE Software.

[2]  Alejandro Zunino,et al.  A Two-Phase Energy-Aware Scheduling Approach for CPU-Intensive Jobs in Mobile Grids , 2017, Journal of Grid Computing.

[3]  Matt Carmichael,et al.  The Connected Consumer , 2013 .

[4]  Stefan Poslad,et al.  Ubiquitous Computing: Smart Devices, Environments and Interactions , 2009 .

[5]  Chonho Lee,et al.  A survey of mobile cloud computing: architecture, applications, and approaches , 2013, Wirel. Commun. Mob. Comput..

[6]  Cesare Pautasso,et al.  Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer , 2016, 2016 19th International ACM SIGSOFT Symposium on Component-Based Software Engineering (CBSE).

[7]  Marian Bubak,et al.  Distributed Computing on an Ensemble of Browsers , 2013, IEEE Internet Computing.

[8]  Mahadev Satyanarayanan,et al.  The Emergence of Edge Computing , 2017, Computer.

[9]  John H. Hartman,et al.  Liquid Software: A New Paradigm for Networked Systems , 1996 .

[10]  Weisong Shi,et al.  The Promise of Edge Computing , 2016, Computer.

[11]  J. Wenny Rahayu,et al.  Mobile Computations with Surrounding Devices: Proximity Sensing and MultiLayered Work Stealing , 2015, TECS.

[12]  Leilani Battle,et al.  Building the Internet of Things Using RFID: The RFID Ecosystem Experience , 2009, IEEE Internet Computing.

[13]  Antonio Iera,et al.  The Internet of Things: A survey , 2010, Comput. Networks.

[14]  Cesare Pautasso,et al.  Architecting Liquid Software , 2017, J. Web Eng..

[15]  Tommi Mikkonen,et al.  Liquid Software Manifesto: The Era of Multiple Device Ownership and Its Implications for Software Architecture , 2014, 2014 IEEE 38th Annual Computer Software and Applications Conference.

[16]  Raja Lavanya,et al.  Fog Computing and Its Role in the Internet of Things , 2019, Advances in Computer and Electrical Engineering.

[17]  Cesare Pautasso,et al.  The Liquid User Experience API , 2018, WWW.

[18]  Alejandro Zunino,et al.  Battery-aware centralized schedulers for CPU-bound jobs in mobile Grids , 2016, Pervasive Mob. Comput..

[19]  Tom H. Luan,et al.  Fog Computing: Focusing on Mobile Users at the Edge , 2015, ArXiv.

[20]  Erik Wilde,et al.  From the Internet of Things to the Web of Things: Resource-oriented Architecture and Best Practices , 2011, Architecting the Internet of Things.