- Introduction
- Architecture
- Deployment of the 5GMETA Platform
- AKKODIS' new 5GMETA Platform Demonstrator
- Governance
- Credits
- Conclusions and Roadmap
- Cite this work
- Where to go from here
This project is a new version of the 5GMETA open source platform published at the end of the H2020 5GMETA project. The original project is available here: https://github.com/5gmeta/5gmeta
The 5GMETA Platform is an open data-centric Internet of Things (IoT) messaging platform for Connected and Automated Mobility (CAM) applications and service providers. The 5GMETA Platform creates a CCAM data monetization ecosystem that allows different stakeholders along the data value chain to exploit data in a more effective and profitable way.
A fundamental principle supported by the 5GMETA Platform is that of achieving a total decoupling between Data Producers and Data Consumers. This means that Data Producers do not need to be directly connected to Data Consumers. The 5GMETA Platform acts as a broker between Data Producers (vehicles or RSUs) and Data consumers (third-party applications or services). However, the 5GMETA Platform is not a simple publish-subscribe broker, and it includes functions for data management, data monetization and cybersecurity as well as providing data access mechanisms. The 5GMETA platform provides secure end-to-end data management services such as data anonymization, encryption, packaging/formatting, computing and sharing mechanisms. In contrast with a Data Lake, the 5GMETA Platform provides live data delivery. The users of the 5GMETA Platform receive the data from the subscribed dataflows in a continuous manner with no storage service within the 5GMETA Platform rather than the required memory buffering.
The 5GMETA open platform aims to leverage car-captured data to stimulate, facilitate and feed innovative products and service. This platform intends to catalyse data and provide OEMs, SMEs and high-tech start-ups with them in order to feed their innovative services and ideas and, ultimately, generate revenues.
It is designed to operate as a common infrastructure for implementing data pipelines for heterogeneous Connected, Cooperative and Automated Mobility (CCAM) applications.
Platform Overview
5GMETA Plateform is an interactive platform that functions as a broker between data producers (such as vehicles or road sensors) and data consumers (such as app providers). With the 5GMETA Platform, data consumers can subscribe to specific data flows and decide how to use and deploy them: process them, store them or discard them. The 5GMETA Platform allows data to be decoupled from their producers, thus eliminating the necessity of creating direct links between producers and consumers. Nevertheless, the 5GMETA Platform does not only act as a broker, but it also includes functions that address data management, data monetization and cybersecurity.
Architecture of the 5GMETA Platform5GMETA Platform User profiles definition
Three main profiles have been identified to interact with the data platform and are the following:
- CCAM services and applications developers
- Sensors and Devices providers
- Infrastructure providers
Figure below illustrates the main relation of these different categories with the 5GMETA Platform and the principal stakeholders for each of these three profiles.
User profiles overview
Third Parties utilizing the 5GMETA Platform can request the deployment of a CCAM application in a MEC server of the 5GMETA platform. By leveraging the direct access to the 5G network of data producers, these deployments enable swift information retrieval, significantly reducing latency. Additionally, the MEC offers optimized edge computing capabilities, enhancing scalability, reliability, and resource utilization.
To ensure the security and integrity of the MEC, a stringent deployment procedure is followed. The procedure for this deployment works as follows:
- Contacting the 5GMETA Operator: the Third Party provides essential artifacts, including the Helm chart and the VNF (Virtual Network Function) descriptor, to the 5GMETA Operator.
- Quarantine Procedure: the 5GMETA Operator deploys the application in a dedicated test environment.
- Testing Application Behaviour: during this phase, the 5GMETA Operator conducts comprehensive testing to validate the application correct behaviour. These tests verify the proper utilization of the MEC resources and the correct access to the 5GMETA data.
- Deployment in the MEC environment: once the application passes the tests, it can be deployed on demand by the Third Party, using the same technical procedure used to deploy the modules of the MEC pipelines.
Procedure to instantiate a Low Latency Data service
Geographic Data Tiles are a way of organizing and distributing large datasets of geographic information, such as satellite imagery or digital maps. Each tile represents a specific geographic area, and the data within each tile is typically organized into a regular grid or matrix. By dividing data into tiles, it becomes easier to manage and distribute large datasets, as users can selectively download only the tiles they need.
In this consuming guide file, we provide information about the geographic areas covered by our dataset tiles Datasets available within tiles , along with instructions on how to access and use the data. By using tiles to organize and distribute our data, we aim to make it more accessible and easier to use for a wide range of applications.
A Datatype is a type of data that the S&D share and a Pipeline in a MEC accept and handle. 5GMETA Platform provide wide range of Datatypes :
- ETSI Cooperative Intelligent Transport Systems (C-ITS) messages (CAM, DENM, etc.) converted in JSON.
Example of C-ITS datatype
- Images in JPG Format
Example of Image datatype
- Video Streams in H.264 video standard Format (x264 implementation)
A Dataflow is a unique flow/stream of produced data that is shared by a S&D through a Pipeline in a MEC.
A Pipeline is a group of modules (containers) running in a MEC to handle a specific data-type. Each module can process the data received subscribing a queue/topic and generate output data in a new queue/topic into the MEC’s message broker. A module is a container running in a MEC that hande a specific data-type or group of data-type (e.g. C-ITS messages). Modules should be Pub/Sub application.
5GMETA Platform offers a range of computing resources for users to choose from which are regrouped in Instance Types: Instance types refer to different configurations of computing resources that are available for users to choose from when setting up their virtual machines or cloud computing instances. In this example, we have four different instance types with varying amounts of CPU, GPU, and memory resources:
- "small" instance type: This instance type has 2 CPUs, 2GB of memory, and no GPU.
- "medium" instance type: This instance type has 4 CPUs, 4GB of memory, and no GPU.
- "large" instance type: This instance type has 8 CPUs, 8GB of memory, and no GPU.
- "advanced" instance type: This instance type has 8 CPUs, 8GB of memory, and a GPU.
The instance types are identified by unique type IDs (type_id) and human-readable names (type_name) to make it easier for users to select the type of instance that best suits their needs.
Example of Instance types
A Third Party application is an application/service lying outside the 5GMETA Platform, which act as a Third Party, consuming 5GMETA Data, and potentially pushing events to the 5GMETA platform (e.g. a CCAM application).
The 5GMETA platform has 3 main components: Cloud, MEC and Sensors&Devices.
This section presents the repositories of the main modules of the 5GMETA Platform orgasined by platform components: Cloud, MEC and Sensors and Devices.
Platform Component | Modules | Description |
---|---|---|
Cloud Platform | An API server | This is the main API used by different MECs to access the Cloud Platform services. This new API server results from the merge of cloudinstance-ap, dataflow-api, license-api and discovery-api. |
Apache Apisix | Apisix is used as the API gateway for the Cloud Platform. | |
Keycloak | Identity and Access Management by Keycloak using the keycloak Kubernetes Operator. PostgreSQL is used a the database vendor. | |
Dashboard | The dashboard provides a graphical interface to the data consumers allowing them to benefit from the 5GMETA platform features that are otherwise only accessible using API requests. | |
5GMETA Kafka | A modified and maintained version of Confluentinc Kafka for C-ITS ata exchange. | |
MariaDB | MariaDB as a DBMS for the dataflows and discovery. | |
MEC Platform | Apache ActiveMQ | ActiveMQ message broker to be deployed in the MEC. |
An API server | This is the main API of the MEC Platform which is based on the merge of edgeinstance-api, registration-api. | |
video-stream-broker | A WebRTC based proxy that interfaces with Apache Apisix for video stream on the MEC Platform. | |
Apache Apisix | Apisix is used as the API gateway for the MEC Platform. | |
Sensors and Devices | Contains a set of Vagrant files and Python codes to test a vehicle. |
5GMETA Cloud platform is deployable in any Kubernetes cluster. A deployment is illustrated by the next figure which also shows the modules that form this Cloud Platform.
Illustration of the Cloud Platform
The 5GMETA platform provides a Python library called py5gmeta to facilitate CCAM applications development and interraction with the platforms.
After all the necessary operations have been performed, the 5GMETA platform processes the request and provides the credentials needed to connect to the platform and Kafka topic to start consuming and building their application on top of 5GMETA.
5GMETA Platform APIs to Sensors and Devices developers
The architecture of the MEC Platform and its modules are illustrated by the figure below.
MEC Platform
The 5GMETA platform exposes a set of APIs for Sensor&Devices developers to register and manage data flows to start sending Data to the platform, these building blocks include Discovery and Registration as described below. A unique API Server and py5gmeta allow:
- The building block allows Sensors and Devices developers to discover available MECs and their locations based on their geographical location and tile coverage to be forwarded to the nearest MEC to register your dataflow.
- This building block allows developers to register a data flow by providing metadata related to the data flow. The output of this method is a JSON containing the ID of the generated data flow, the topic where to publish, and a Boolean indicating whether there is a consumer listening for that type of data.
Once a consumer connects to the data registered, the 5GMETA platform will update the Boolean value in order to start producing data to the connected parties. This will trigger a keepalive mechanism to determine which data flows are still active. The output of this method is the same information retrieved at the registration, including the ID of the data flow and its metadata.
5GMETA Platform APIs to Sensors and Devices developers
5GMETA platform supports three types of data provided by sensors and devices: cits messages in JSON, images and video streaming.
c.f 5GMETA Platform interactions with 3rd-parties
Before deploying the Cloud Platform, modify its Helm chart values especially. For more details on the deployment of the Cloud Platform see: README
For more details on the deployment of the MEC Platform see: README
For more details on the deployment of the MEC Platform see: README
The testing of the 5GMETA project is detailed in this README
The 5GMETA Demonstrator is accessible using the following URLs. To access this demonstrator, a user must be registered by providing its public IP. The access control is currently based on IP whitelisting.
API server:
- Swagger UI of the Cloud Platform API server: https://cloudplatform.francecentral.cloudapp.azure.com/api/v1/ui/
5GMETA Kafka:
- Brokers (Bootstrap): cloudplatform.francecentral.cloudapp.azure.com:31090, cloudplatform.francecentral.cloudapp.azure.com:31091, cloudplatform.francecentral.cloudapp.azure.com:31092
- Registry: https://cloudplatform.francecentral.cloudapp.azure.com/registry/
- KSQLDB: https://cloudplatform.francecentral.cloudapp.azure.com/ksql/
- Kafka UI: https://cloudplatform.francecentral.cloudapp.azure.com/kafka-ui/
Other services:
- Keycloak: https://cloudplatform.francecentral.cloudapp.azure.com/identity/admin/
- Grafana: https://cloudplatform.francecentral.cloudapp.azure.com/grafana/
- Dashboard: https://cloudplatform.francecentral.cloudapp.azure.com/
After a successful deployment, the instance of the MEC Platform is accessible using the following URLs. The different services can be accessed in the next ports:
- ETSI OSM UI https://akkodismec.francecentral.cloudapp.azure.com
- Grafana UI of the MEC Platform https://akkodismec.francecentral.cloudapp.azure.com/grafana/
- Swagger UI of the MEC Platform API server https://akkodismec.francecentral.cloudapp.azure.com/api/v1/ui/
The work presented in this repository was a collaborative effort by several teams and the following contributors:
- Angel Martin,
- Arslane HAMZA-CHERIF,
- Djibrilla Amadou Kountche
- Federico Princiotto,
- Felipe Mogollon,
- Francesco Aglieco,
- Juan Diego Ortega
- Kamel Khenessi,
- Khaled Chik,
- Laeticia Calice,
- Mandimby Ranaivo R. ,
- Martin Jombe Moukouri,
- Mikel Seron,
- Mohamed Tarhouni,
- Pierre Merdrignac,
- Quentin Wephre,
- Ricardo Benedetti,
- Theo Dupont,
- Wisal Mechi,
Contributions are welcome 😊 See how to contribute.
This document describes several aspects of 5GMETA Platform including its architecture and deployment in development environments. The reader is invited to visit the following website for more details about the H2020 5GMETA project: https://cordis.europa.eu/project/id/957360
- Apruzzese, Michela, et al. Connecting Data Providers with Data Consumers: the 5GMETA Data Monetisation Framework. 2023 IEEE 47th Annual Computers, Software, and Applications Conference (COMPSAC). IEEE, 2023.
- Mogollón, Felipe, et al. "Benchmarking 5G MEC and Cloud infrastructures for planning IoT messaging of CCAM data." 2023 IEEE 26th International Conference on Intelligent Transportation Systems (ITSC). IEEE, 2023.
- Kountche, Djibrilla Amadou, et al. "Monetization of and Access to in-Vehicle data and resources: the 5GMETA approach." arXiv preprint arXiv:2208.11335 (2022).
- Canova, Clara, et al. "Driving Safety & Awareness Cooperative Business Model exploiting the 5GMETA platform." 2022 IEEE Future Networks World Forum (FNWF). IEEE, 2022.