A development approach for collective opportunistic Edge-of-Things services
Introduction
Recent advances in Information and Communication Technology have fostered the Internet of Things (IoT) vision, where heterogeneous entities situated in our environments (i.e., cities, places, homes, and bodies) and capable of sensing, actuation, and processing, are interconnected with one another and with other infrastructural components in order to enable novel kinds of applications and services. Such new services tend to exploit what the environment and infrastructure have to offer, and are increasingly cyber-physical, context-aware, opportunistic and collective, with the staunch goal of unleashing the full Internet of Things ecosystem potential [16], [17], [18]. In other words, the environment itself is made smart through Smart Objects (SOs) and innovative services based on those which also span multiple scales and domains [30]—with examples including energy-optimised management of smart buildings [24], augmented logistics capabilities in smart ports [39], infrastructural maintenance in smart cities [13], energy-efficient monitoring in ecological scenarios [32], cognitive robot-supported smart manufacturing [22], etc.
However, the “layout” of smart environments is often based on heterogeneous infrastructure (e.g., access points, base stations) and heterogeneous devices with different physical forms, communication capabilities, energetic needs, storage capacities, and processing power. Concerning storage and processing, the Cloud Computing paradigm extends the capabilities of SOs by allowing them to offload data and computations to distant data centres. Moreover, the recent Fog [7] and Edge Computing [33] paradigms promise to provide the benefits of Cloud Computing without incurring in its problems (e.g., high latency, data rate consumption etc.), by bringing virtualised infrastructure and on-demand, elastic resource provisioning closer to end-devices, at the Edge or core of the network. Actually, Edge Computing is not an alternative to Cloud Computing but extends and complements it, by inclusively supporting resource-constrained devices and near real-time scenarios, and paving the path to Quality of Service (QoS) improvements. However, all this heterogeneity pushes additional complexity to engineering endeavours and stresses traditional approaches, methods and programming paradigms [15].
In this paper, we present an approach for seamlessly supporting the development (from the analysis to simulation) of collective, opportunistic Edge-of-Things (EoT) applications [14]. In particular, we model Smart Environments as ecosystems hosting opportunistic IoT services that may exploit Edge and cloud resources and may be collective in nature. The approach integrates the Opportunistic IoT Service model and the Aggregate Computing paradigm, whose conceptual alignment has been shown in [9]. As proof of concept, in a Smart City scenario, we show a crowd detection application which is first modelled as an Opportunistic IoT Service, then designed by following either a centralised/Cloud-based and a distributed/Edge-based approach, and finally implemented and simulated according to the Aggregate Computing paradigm. Simulation results show how a distributed/Edge-based approach can provide improved reactivity of collective applications at the expense of precision due to data from different SOs being processed in different Edge Servers.
The novel contributions with respect to our previous work [9] are threefold:
- 1.
A unified domain model for describing Collective and Opportunistic IoT Services to be provided both at the core and at the Edge of the network;
- 2.
A computation and communication performance model for enabling a quantitative analysis of the performed simulations;
- 3.
A detailed comparison and result analysis of the centralised/Cloud-based and distributed/Edge-based approaches, in order to analyse their pros and cons in supporting EoT applications.
The remainder of the paper is organised as follows. Section 2 provides a brief overview about the SO-based IoT vision – highlighting the importance of SOs in service provision and eliciting the features characterising an Opportunistic IoT Service – as well as about main concepts of emerging paradigms such as Cloud, Fog and Edge Computing. Such background is functional to introduce in Section 3 what we intend for EoT applications and our approach for their full-fledged development. This approach integrates Opportunistic IoT Service models and Aggregate Computing paradigm thus providing theoretical concepts and practical tools for engineering EoT applications from the modelling to the simulation phase. A crowd detection EoT application based on a real world urban mass event data set is developed according to the proposed approach in Section 4. We first describe it through the Opportunistic IoT Service model and then evaluate its performance in terms of responsiveness (measured as mean packet delay) and precision (measured as the number of SOs which are alerted of not entering crowded areas) in different scenarios of centralised/Cloud-based and decentralised/Edge-based computing. Finally, conclusions are drawn and future work delineated.
Section snippets
SO-based IoT and opportunistic services
A Smart Environment can be defined as a cyber-physical environment in which a collection of heterogeneous devices elaborate data and interact with each other and people in a continuous interplay. In the IoT vision, such devices or SOs are everyday artefacts augmented with computing, communication, sensing, actuation and storing functionalities but, at the same time, constrained by limited hardware resources (CPU, RAM and storage), physical dimensions, and contextual factors (sharing of limited
Developing Edge-of-Things applications: aggregate computing for collective opportunistic IoT services
For a number of reasons, IoT services promise to be notably more complicated, heterogeneous and large-scale than conventional ones. As discussed in Section 2, the Edge Computing paradigm ideally enables time-sensitive, context-aware, and co-located applications by providing low latency, scalability, and distributed computation, even in presence of resource-constrained devices at the network’s Edge. However, from a programming perspective, a computing paradigm is also required that provides
Case study and simulations: an Edge-of-Things application for mass urban events
In this section, we discuss an example evaluation of an existing aggregate application for large scale urban events on different deployment targets on the Edge and on the cloud. Our goal is to evaluate the expected performance of an application which showed promising results, evaluating under which conditions we would achieve good performance. The core application has been presented in a previous work [9]: it is a crowd detection and steering application for large scale urban events. The
Conclusion
In this paper, we illustrated a conceptual and operative framework for the development of IoT applications and ecosystems. Specifically, we extended the model in [9] with an explicit account of Collective Opportunistic IoT Services, which are globally offered by dynamic ensembles of entities comprising things, humans, and infrastructural elements including Access Points, Cloud, and Edge Servers. We believe that extending the traditional viewpoint by (also) thinking and working by a “systems”
Conflict of interset
None.
References (39)
- et al.
Autonomic computation offloading in mobile edge for IoT applications
Future Gener. Comput. Syst.
(2019) - et al.
Enabling IoT interoperability through opportunistic smartphone-based mobile gateways
J. Netw. Comput. Appl.
(2017) - et al.
Modelling and simulation of opportunistic IoT services with aggregate computing
Future Gener. Comput. Syst.
(2019) - et al.
Simulating large-scale aggregate MASs with Alchemist and Scala
Computer Science and Information Systems (FedCSIS), 2016 Federated Conference on
(2016) - et al.
Edge of things: the big picture on the integration of Edge, IoT and the Cloud in a distributed computing environment
IEEE Access
(2018) Matplotlib: a 2d graphics environment
Comput. Sci. Eng.
(2007)- et al.
Predicting social density in mass events to prevent crowd disasters
Social Informatics - 5th International Conference, SocInfo 2013, Kyoto, Japan, November 25–27, 2013, Proceedings
(2013) - et al.
Green cloud computing: balancing energy in processing, storage, and transport
Proc. IEEE
(2011) - et al.
Aggregate programming for the Internet of Things
IEEE Comput.
(2015) Implementing domain-Specific languages with Xtext and Xtend
(2016)
Fog computing and its role in the Internet of Things
Proceedings of the first edition of the MCC workshop on Mobile cloud computing
Computational negotiation-based edge analytics for smart objects
Inf. Sci. (Ny)
Collective abstractions and platforms for large-scale self-adaptive IoT
2018 IEEE 3rd International Workshops on Foundations and Applications of Self* Systems (FAS* W)
Programming actor-based collective adaptive systems
Programming with Actors
An edge-based platform for dynamic smart city applications
Future Gener. Comput. Syst.
Agent-oriented cooperative smart objects: from IoT system design to implementation
IEEE Trans. Syst Man Cybern.Syst.
Modeling opportunistic IoT services in open IoT ecosystems
Opportunistic cyberphysical services: a novel paradigm for the future Internet of Things
2018 IEEE 4th World Forum on Internet of Things (WF-IoT)
Toward opportunistic services for the industrial Internet of Things
2017 13th IEEE Conference on Automation Science and Engineering (CASE)
Cited by (60)
IoT systems modeling and performance evaluation
2023, Computer Science ReviewAdaptive distributed monitors of spatial properties for cyber–physical systems
2021, Journal of Systems and SoftwareCitation Excerpt :In this setting, scalable crowd analysis and management algorithms can help to provide safety and services for a better experience, e.g., by estimating the density of the crowd, propagating information about the crowd to the surroundings, and supporting crowd-aware dispersal and navigation. Aggregate programming techniques have proven to be effective in expressing such crowd management algorithms by a global perspective, and to make them execute in an adaptive, resilient and decentralised fashion (Beal et al., 2015; Casadei et al., 2019a). With this approach, each participant has a smartphone or another wearable device that provides sensor data (e.g., presence of people nearby) and outputs local information (e.g., the suggested direction of movement to avoid overcrowded areas) for the person as computed by the collectively executed aggregate program.
IoT-Edge Communication Protocol based on Low Latency for effective Data Flow and Distributed Neural Network in a Big Data Environment
2021, Microprocessors and MicrosystemsModeling and analyzing cascading failures for Internet of Things
2021, Information SciencesEngineering collective intelligence at the edge with aggregate processes
2021, Engineering Applications of Artificial IntelligenceCustomized Federated Learning for accelerated edge computing with heterogeneous task targets
2020, Computer Networks