Hack2022 2nd Prize
2nd Prize Award
Virtualized mobile and edge infrastructures with OpenAPI integrations
Team Pedraforca from CTTC (Centre Tecnològic de Telecomunicacions de Catalunya) and Vicomtech
- Rasoul Nikbakht Silab, CTTC
- Michail Dalgitsis, Vicomtech
- Sarang Kahvazadeh, CTTC
- Sergio Barrachina-Muñoz, CTTC
We propose to integrate the MEC Radio Network Information Service (RNIS) API with Amarisoft RAN and edge infrastructure.
This integration enables monitoring/control of the RAN/edge resources. In addition, we use ML-based tools for (close to) optimum resource allocation and fulfillment of different KPIs such as bandwidth and latency.
To test our idea, we deploy a private 5G network with several edge nodes, where each node hosts an AR/VR application (a virtual classroom).
This proposal provides a real-life use-case and builds an open-source library that parses the MEC APIs to a commercial/research-based RAN product, which can be used by other teams for accelerating MEC API adoption.
a MEC-enabled cloud-native 5G network with over-the-air transmissions
Infrastructure (core, edge and RAN)
- The experimental scenario consists of a 5G network spanning three domains: core (at the cloud), edge (realized as MEC), and RAN (provided by a commercial gNB).
- The core and edge domains consists of virtual machines acting as commercial/consumer off-the-shelf (COTS) servers and the virtual networks to interconnect them, so to provide computation/storage and networking resources, respectively. The RAN is realized using the Amarisoft Callbox as gNB.
Kubernetes / Cloud-native
- Our deployment has a cloud-native flavor, hence both the network functions (NFs) in the core and the MEC applications running on the edge are realized as dockerized containers.
- The 5G core NFs is based on the Open5GS open-source project. Remarkably, each NF runs as a separate containerized NF (CNF). To that aim, we relies on Kubernetes for easing the orchestration of a cluster composed of the core and edge nodes. Further, in order to enable MEC capabilities, we i) deploy UPF(s) at the edge, and ii) develop and implement a MEC platform (MEP) to pull metrics from the gNB so to provide the Radio Network Information Service (RNIS).
Integration of MEC API with Amarisoft RAN
- ETSI MEC offers a plethora of open APIs to enable communication with edge and network resources. The one which is more related to interact with our 5G network implementation is the MEC012 RNIS API.
- Specifically, for the RAN part we are working with a commercial solution such as the Amarisoft gNB, in which the connected users access the MEC applications. Therefore, an integration between Amarisoft RAN and RNIS is needed.
- More specifically, the interaction between the user equipment or the 5G network administrators with Amarisoft is done through a proprietary WebSocket API. Thus, one of our main contributions is to map WebSocket actions to the RNIS API, in order to extract all the appropriate information for the users and their QoS requirements.
Deployment of virtual classroom application
- Akraino virtual classroom blueprint is a classroom app simulator that provides a virtual reality classroom with teachers and students. In this simulated app, teachers and students can interact with each other.
- The main components of Akraino virtual classroom blueprint are Jenkins Master, Tars Master, and Tars Agent with AR/VR client
- These components are dockerized and deployed in a cloud-native fashion, in which the virtual classroom server runs over the Kubernetes infrastructure as a pod to conduct our experiment.
ML-based control of the RAN and edge infrastructure using the data collected from MEC APIs
- MEC APIs collect information about different components and parameters of the 5G networks. Using these APIs and ML-based tools, we can make a decision engine that monitors/adjusts the RAN and edge infrastructures to meet required KPIs or scale the deployed applications.
- Regarding the RAN part, we evaluate the user latency and bandwidth and use RNIS API to adjust RAN parameters based on the service requirements. For instance, this setting can guarantee the students in the virtual classroom have sufficient bandwidth for streaming and low latency for interacting with classmates and teachers.
- Regarding the edge infrastructure, other ETCI MEC APIs can be used for scaling the services and applications. We deploy ML-based tools to predict the demand for edge applications and scale up and down the services accordingly. In the case of the virtual classroom, each classroom could be seen as a different pod, and virtualized hardware resources can be allocated based on the classroom instance and the number of students.
- Due to the limited resources available in the edge servers and 5G cells, the optimum resource allocation becomes a critical task. As a result, we plan to use different analytical and data-driven techniques to handle the resources in an (close to) optimal way.
Summarized any open-source or publicly available (even proprietary) software that you utilized
- K8s (kubespray), Prometheus and Grafana
- Open5Gs, UERANSIM, and Amarisoft (RAN)
- Nginx, FFmpeg, docker-compose (video on demand streaming)
- Pytorch, Gym, Flask (Machine learning part)
- Swagger editor, Swagger generated server and client
- A video-on-demand application which is publicly available at https://github.com/RasoulNik/VoD.git