λHive: Formal Semantics of an Edge Computing Model Based on JavaScript

λHive: Formal Semantics of an Edge Computing Model Based on JavaScript

Matias Teragni, Claudia Pons
Copyright: © 2022 |Pages: 22
DOI: 10.4018/IJCAC.312564
OnDemand:
(Individual Articles)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Edge computing is a paradigm that brings computation and data storage closer to the location where it is needed to improve response times and save bandwidth. It applies virtualization technology that makes it easier to deploy and run a wider range of applications on the edge servers and take advantage of largely unused computational resources. This article describes the design and formalization of Hive, a distributed shared memory model that can be transparently integrated with JavaScript using a standard out of the box runtime. To define such a model, a formal definition of the JavaScript language was used and extended to include modern capabilities and custom semantics. This extended model is used to prove that the distributed shared memory can operate on top of existing and unmodified web browsers, allowing the use of any computer and smartphone as a part of the distributed system. The proposed model guarantees the eventual synchronization of data across all the system and provides the possibility to have a stricter consistency using standard http operations.
Article Preview
Top

Introduction

Cloud computing is the on-demand availability of computer system resources, especially data storage and computing power, without direct active management by the user (Foster, Zhao, Raicu, & Lu, 2008). It enables increased productivity and efficiency (Armbrust, Fox, Griffith, & Joseph, 2010). The cloud paradigm changes various processes, patterns, practices, and philosophies, and its adoption must be carefully analyzed. The authors in (Abdelwahhab & Mostefai, 2020) provide a practical framework for decision-making on cloud paradigm adoption, which is based on cloud standards and best practices. Despite the influence of cost effectiveness, on-demand service, and scalability, cloud computing faces many challenges, such as security, performance, orchestration, and fault tolerance. Several investigations propose technologies and tools to overcome these challenges, such as the models for task scheduling presented in (Alakbarov, 2022) and in (Tuli & Malhotra, 2022) or the model for fault mitigation described in (Adeyinka Osuolale, 2022) and the capability-based access control proposed in (Kaushik & Gandhi, 2020) to ensure that only authorized users will be able to access the data.

Edge computing (Shi, Cao, Zhang, Li, & Xu, 2016) as well as Fog computing (Ahuja & Wheeler, 2020) emerged as natural responses to that conflict. These distributed computing paradigms bring computation and data storage closer to the location where it is needed, by extending the Cloud to the Internet of Things (IoT) devices. In (Shi, Cao, Zhang, Li, & Xu, 2016) the authors not only elaborate on the potential of this distribution paradigm, but also expose the greatest challenges that must be faced to guarantee the viability and popularize this technology.

Modern edge computing (Chelliah & Surianarayanan, 2021) extends this approach through virtualization technologies that make it easier to deploy and run a wider range of applications on the edge servers and take advantage of largely unused computational resources such as the ones present in IoT gadgets. Some examples are, the algorithms for workflow scheduling which consider cost, energy and load balancing in heterogeneous environment described in (Bisht & Vampugani, 2022); the concurrency control protocol for IoT transactions presented in (Al-Qerem, Alauthman, Almomani, & Gupta, 2020); the heuristic algorithms for virtual machine placement and workload assignment defined in (Wang, Tornatore, & Zhao, 2021), and heuristics on the cost-effectiveness of user allocation solutions with the objective of maximizing the number of users allocated to edge servers while minimizing the number of required edge servers. (Lai, He, Grundy, & Chen, 2020).

In the context of the edge computing paradigm, Hive (Teragni,, Moran, & Zabala, 2020) - an abstraction layer compatible with standard JavaScript and Node.js - was designed and implemented. It provides a distributed shared memory on top of existing web browser, like the ones present in smartphones or tablets. In this way Hive enables developers to take advantage of the biggest unused processing power available today, without incurring in the extra cost of deploying a network of devices. To this end Hive provides a virtual cloud server that enables collaboration and sharing among applications deployed on different distributed devices.

Complete Article List

Search this Journal:
Reset
Volume 14: 1 Issue (2024)
Volume 13: 1 Issue (2023)
Volume 12: 4 Issues (2022): 2 Released, 2 Forthcoming
Volume 11: 4 Issues (2021)
Volume 10: 4 Issues (2020)
Volume 9: 4 Issues (2019)
Volume 8: 4 Issues (2018)
Volume 7: 4 Issues (2017)
Volume 6: 4 Issues (2016)
Volume 5: 4 Issues (2015)
Volume 4: 4 Issues (2014)
Volume 3: 4 Issues (2013)
Volume 2: 4 Issues (2012)
Volume 1: 4 Issues (2011)
View Complete Journal Contents Listing