The Liquid Web Worker API for Horizontal Offloading of Stateless Computations - Gallidabino, Andrea; Pautasso, Cesare (Journal of Web Engineering, 2019)
As most users access the Web from multiple devices with different characteristics, ranging from powerful desktops or laptops to tablets, mobile phones or watches and cars, liquidWeb applications seamlessly flow across multiple Web-enabled devices and adapt their distributed user interface to the set of devices simultaneously accessing the application. In this paper we focus on the business logic layer of rich Web applications and explore the opportunity to reduce the execution time of CPU-intensive tasks or limit their energy consumption by offloading them among nearby devices running the same liquid Web application. We extend the standard HTML5 WebWorker API with the concept of liquid WebWorkers, so that developers can transparently offload parallel execution of stateless tasks by managing the necessary device selection and direct peer-to-peer data transfer. By introducing the liquid WebWorkerAPI into our Liquid.js framework, we present how to create a pool of devices sharing their CPU processing capabilities according to different policies.