@inbook {2021:icwe:liquid, title = {Towards Seamless IoT Device-Edge-Cloud Continuum}, booktitle = {Communications in Computer and Information Science}, volume = {1508}, number = {ICWE 2021 Workshops}, year = {2021}, pages = {82 - 98}, publisher = {Springer}, organization = {Springer}, abstract = {In this paper we revisit a taxonomy of client-side IoT software architectures that we presented a few years ago. We note that the emergence of inexpensive AI/ML hardware and new communication technologies are broadening the architectural options for IoT devices even further. These options can have a significant impact on the overall end-to-end architecture and topology of IoT systems, e.g., in determining how much computation can be performed on the edge of the network. We study the implications of the IoT device architecture choices in light of the new observations, as well as make some new predictions about future directions. Additionally, we make a case for isomorphic IoT systems in which development complexity is alleviated with consistent use of technologies across the entire stack, providing a seamless continuum from edge devices all the way to the cloud.}, keywords = {Edge Computing, Embedded devices, Internet of Things, Isomorphic software, liquid software, Programmable World, software architecture, software engineering}, isbn = {978-3-030-92230-6}, issn = {1865-0929}, doi = {10.1007/978-3-030-92231-3_8}, url = {https://link.springer.com/chapter/10.1007/978-3-030-92231-3_8}, author = {Taivalsaari, Antero and Mikkonen, Tommi and Pautasso, Cesare} } @article {2019:liquidjs:jwe, title = {The LiquidWebWorker API for Horizontal Offloading of Stateless Computations}, journal = {Journal of Web Engineering}, volume = {17}, year = {2019}, month = {March}, pages = {405-448}, abstract = {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, liquid Web 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 WebWorker API into our Liquid.js framework, we present how to create a pool of devices sharing their CPU processing capabilities according to different policies.}, keywords = {Edge Computing, Horizontal Offloading, liquid software, liquid.js, WebWorkers}, doi = {https://doi.org/10.13052/jwe1540-9589.17672}, url = {https://www.riverpublishers.com/journal_read_html_article.php?j=JWE/17/7/2}, author = {Andrea Gallidabino and Cesare Pautasso} }