blob: 3824f3175d802f21a93f6c9c0c0b89fc34cdb348 [file] [log] [blame]
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. SPDX-License-Identifier: CC-BY-4.0
Requirements for the Non-RT RIC project
==========================================
Find detailed description of what Non-RT RIC is on this `page`_.
.. _page: https://wiki.o-ran-sc.org/display/RICNR/
There are functional requirements emitted by O-RAN WG2 for the Non-RT RIC, which are the following:
#. Non-RT RIC shall support data retrieval and analysis; the data may include performance, configuration or other data related to the application (recommended data shown in required data section for different use cases).
#. Non-RT RIC shall support relevant AI/ML model training based on the data in 1. for non-real-time optimization of configuration parameters in RAN or Near-RT RIC, as applicable for the use case.
#. Non-RT RIC shall support relevant AI/ML model training based on the data in 1. for generating/optimizing policies and intents to guide the behavior of applications in Near-RT RIC or RAN, as applicable for the use case.
#. Non-RT RIC shall support training of relevant AI/ML models based on the data in 1. to be deployed/updated in Near-RT RIC as required by the applications.
#. Non-RT RIC shall support performance monitoring and evaluation.
#. Non-RT RIC shall support a fallback mechanism to prevent drastic degradation/fluctuation of performance, e.g. to restore to the previous policy or configuration.
The non-functional requirements are the following ones:
#. Non-RT RIC shall not update the same policy or configuration parameter for a given near-RT RIC or RAN function more often than once per second.
#. Non-RT RIC shall be able to update policies in several near-RT RICs.
Moreover, there are functional requirements regarding the A1 interface:
#. A1 interface shall support communication of policies/intents from Non-RT RIC to Near-RT RIC.
#. A1 interface shall support AI/ML model deployment and update from Non-RT RIC to Near-RT RIC.
#. A1 interface shall support communication of enrichment information from Non-RT RIC to Near-RT RIC.
#. A1 interface shall support feedback from Near-RT RIC for monitoring AI/ML model performance.
#. A1 interface shall support the policy/intents feedback from Near-RT RIC to Non-RT RIC.
A1 policy procedure
-------------------
As for A-release, the methods are as follows:
+---------------------+--------------------------+--------------------------+
| A1 policy procedure | Single policy method | Multiple policies method |
+---------------------+--------------------------+--------------------------+
| Create policy | PUT | |
+---------------------+--------------------------+--------------------------+
| Query policy | GET | GET (sequence of \*) |
+---------------------+--------------------------+--------------------------+
| Update policy | PUT | |
+---------------------+--------------------------+--------------------------+
| Delete policy | DELETE | |
+---------------------+--------------------------+--------------------------+
| Notify policy | POST | POST |
+---------------------+--------------------------+--------------------------+
Policy Agent Overview
=======================
The Policy Agent maintains a transient ropository of the following items to support R-Apps:
* All NearRT RICs in the network. This information is configured using the ONAP CDS database (which is using the Cloudify Consul database).
* All Policy types for all NearRT RICs
* All configured Policy instances in the network
It provides an NBI for the R-Apps (and for the dashboard) for policy management. This is a REST API.
As an option, policy management can also be done via asynchronous messages through ONAP/Dmaap.
The NBI provides support for an R-APP to locate the correct NearRT RIC based on identifiers as defined in O1.
The agent monitors all Near-RT RICs and recovers from data inconsistencies, which may happen when (for instance) an Near-RT RIC restarts.
The R-Apps can be monitored so that their Policies can be automatically removed when an R-App is stopped/removed.
On its southbound side the agent can connect to a number of different A1 providers:
* Directly to the NonRT RIC:
- OSC API, which is influenced by the A1 standard
- The NonRT RIC simulator, which supports the A1 standard with a number of not yet CRs included.
* To an ONAP style controller.
Amber release Policy Agent architecture
-----------------------------------------
.. image:: ./images/NonRtRicComponents.png
:scale: 50 %
NonRT RIC components:
#. Non-RT RIC Dashboard
#. Policy agent
#. SDNC A1 Controller
#. Near-RT RIC Simulator
Dashboard Overview
===================
The NonRT RIC Dashboard is a graphical user user interface that enables the user to manage the Policies in the network. The dashboard interacts with the Policy agent via a REST API.
The dashboard generates its GUI from JSON schemas in a model driven fashion.
The dashboards consists of a back end implemented as a Java Springboot application and a fronted developed using the Angular framework.
Amber release Dashboard architecture
-----------------------------------------
The architecture of the dashboardis as shown on the following picture:
.. image:: ./images/architecture.png
:scale: 50 %
The dashboard itself is split
into the backend and the frontend, and can be deployed following the instructions in the README.md file in the repo.