Virtual Device Model extending NGSI-LD for FaaS at the Edge
Giovanni Parrino, Francesco Martella, Giuseppe Ciulla, Roberto Di Bernardo,
Maria Fazio, Antonio Celesti, and Massimo Villari
Paper presented at the: 21st IEEE/ACM international Symposium on Cluster, Cloud and Internet Computing (CCGrid 2021)
Smart environments are challenging contexts for offering a new generation of services on the basis of huge amounts of gathered data and pervasive processing. Edge Computing allows to move data processing closer to end-users thus reducing latency and making services more reactive. However, users require ever more proximity services that can change during the time according to the requirements of users and the environment. This requires an abstracted representation of heterogeneous resources.
To abstract the computational resources, it is necessary to decouple the processing activity from the physical device. This will allow high flexibility of configuration of the devices as well as the large-scale repeatability of the system. For that reason, we introduced the concept of Virtual Device as an abstraction of a physical device with specific features or functionalities, as shown in Figure 1.
Our goal is to define a data model to describe and characterize a virtual device, and to enable, through such a model, the deployment of the virtual device into a heterogeneous infrastructure.
Figure 1
As shown in Figure 1, the Edge Unit is a physical processing device at the edge of a target area. It is usually connected to one or more sensors for gathering data from the environment (e.g., measurement on temperature collected at specific time intervals). The processing in the Edge Unit is related to the specific binding between the Edge Unit and the sensors (e.g., time interval for data collection, precision on the measurements, and so on). This limits a lot the opportunity in the processing activities.
With our approach, using Virtual Devices, we can map several behaviours of the Virtual Edge Unit with the data coming from the Virtual Sensors, creating different types of connections between the Virtual Extender and the Virtual Function (e.g., with reference to temperature analysis, we can have a connection for evaluating the mean temperature value, and another connection to detect a temperature over a specific threshold).
To describe the Virtual Device model and the specific functionalities that can be deployed and executed in the Edge device, we implemented an extended version of the open standard NGSI-LD. NGSI-LD aims to manage context information and improve the management of linked data and was released in 2018 as an ETSI specification to enhance FIWARE’s NGSIv2 standard.
Our NGSI-LD extension is accomplished by adding information to the payload of the model, thus to have a more flexible data model. This entails a considerable economic advantage in the deployment of Edge solutions on a large scale. Applications asking for the service will see a dedicated service, but, in reality, they will access information processed by the Virtual Edge Unit. The request and the access to the service from an application need to be defined and managed through a data model. This is possible even for service on-demand.
To test our mode, we worked on a use case for smart city, that is video surveillance. This use case is related to the strategic objectives of the Municipality of Messina (Sicily - Italy) that is working as pilot for the h2020 project Urbanite together with Helsinki, Bilbao and Amsterdam.
In the use case, we consider ip-cams that can acquire 25 frames per second (physical limit for this device). The Virtual Device could offer also 5 o 10 frames per second (fps), but never 30 fps because this is beyond the physical limit of the camera. The camera can also provide the analysis of the Solid Angle that is an extension in three-dimensional space of the plane angle. This allows the identification of targets and to follow the target in the city.
In our vision, a Virtual Device is an extension of an NGSI-LD Physical Device definition type in which is introduced the specific configuration (e.g. 5 fps, 10 fps or 25fps or solid angle). The use case is represented in the data model with an array of values for the virtual device category. Through a specific property in the Data Model it will be possible to configure openFaas on the device for a new deployment even in real time with the desired service category.
The proposed work represents a new approach to Edge Computing in Smart Environment. It will be possible to deploy virtual devices for specific functions with Data Models useful in the smart city environment.