maximesson | e6b4d27 | 2019-10-31 13:26:13 +0100 | [diff] [blame] | 1 | .. This work is licensed under a Creative Commons Attribution 4.0 International License. |
| 2 | .. SPDX-License-Identifier: CC-BY-4.0 |
| 3 | |
| 4 | |
elinuxhenrik | c7a0d73 | 2020-02-04 14:49:59 +0100 | [diff] [blame] | 5 | Requirements for the Non-RT RIC project |
| 6 | ========================================== |
maximesson | e6b4d27 | 2019-10-31 13:26:13 +0100 | [diff] [blame] | 7 | |
| 8 | Find detailed description of what Non-RT RIC is on this `page`_. |
| 9 | |
| 10 | .. _page: https://wiki.o-ran-sc.org/display/RICNR/ |
| 11 | |
maximesson | e6b4d27 | 2019-10-31 13:26:13 +0100 | [diff] [blame] | 12 | There are functional requirements emitted by O-RAN WG2 for the Non-RT RIC, which are the following: |
| 13 | |
elinuxhenrik | c7a0d73 | 2020-02-04 14:49:59 +0100 | [diff] [blame] | 14 | #. 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). |
| 15 | #. 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. |
| 16 | #. 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. |
| 17 | #. 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. |
| 18 | #. Non-RT RIC shall support performance monitoring and evaluation. |
| 19 | #. 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. |
maximesson | e6b4d27 | 2019-10-31 13:26:13 +0100 | [diff] [blame] | 20 | |
| 21 | The non-functional requirements are the following ones: |
| 22 | |
elinuxhenrik | c7a0d73 | 2020-02-04 14:49:59 +0100 | [diff] [blame] | 23 | #. 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. |
| 24 | #. Non-RT RIC shall be able to update policies in several near-RT RICs. |
maximesson | e6b4d27 | 2019-10-31 13:26:13 +0100 | [diff] [blame] | 25 | |
| 26 | Moreover, there are functional requirements regarding the A1 interface: |
| 27 | |
elinuxhenrik | c7a0d73 | 2020-02-04 14:49:59 +0100 | [diff] [blame] | 28 | #. A1 interface shall support communication of policies/intents from Non-RT RIC to Near-RT RIC. |
| 29 | #. A1 interface shall support AI/ML model deployment and update from Non-RT RIC to Near-RT RIC. |
| 30 | #. A1 interface shall support communication of enrichment information from Non-RT RIC to Near-RT RIC. |
| 31 | #. A1 interface shall support feedback from Near-RT RIC for monitoring AI/ML model performance. |
| 32 | #. A1 interface shall support the policy/intents feedback from Near-RT RIC to Non-RT RIC. |
maximesson | 780b2bf | 2019-11-12 16:09:02 +0100 | [diff] [blame] | 33 | |
maximesson | e6b4d27 | 2019-10-31 13:26:13 +0100 | [diff] [blame] | 34 | A1 policy procedure |
| 35 | ------------------- |
| 36 | |
| 37 | As for A-release, the methods are as follows: |
| 38 | |
| 39 | +---------------------+--------------------------+--------------------------+ |
| 40 | | A1 policy procedure | Single policy method | Multiple policies method | |
| 41 | +---------------------+--------------------------+--------------------------+ |
| 42 | | Create policy | PUT | | |
| 43 | +---------------------+--------------------------+--------------------------+ |
| 44 | | Query policy | GET | GET (sequence of \*) | |
| 45 | +---------------------+--------------------------+--------------------------+ |
| 46 | | Update policy | PUT | | |
| 47 | +---------------------+--------------------------+--------------------------+ |
| 48 | | Delete policy | DELETE | | |
| 49 | +---------------------+--------------------------+--------------------------+ |
| 50 | | Notify policy | POST | POST | |
maximesson | 780b2bf | 2019-11-12 16:09:02 +0100 | [diff] [blame] | 51 | +---------------------+--------------------------+--------------------------+ |
elinuxhenrik | c7a0d73 | 2020-02-04 14:49:59 +0100 | [diff] [blame] | 52 | |
| 53 | Policy Agent Overview |
| 54 | ======================= |
| 55 | |
| 56 | The Policy Agent maintains a transient ropository of the following items to support R-Apps: |
| 57 | |
| 58 | * All NearRT RICs in the network. This information is configured using the ONAP CDS database (which is using the Cloudify Consul database). |
| 59 | * All Policy types for all NearRT RICs |
| 60 | * All configured Policy instances in the network |
| 61 | |
| 62 | It provides an NBI for the R-Apps (and for the dashboard) for policy management. This is a REST API. |
| 63 | As an option, policy management can also be done via asynchronous messages through ONAP/Dmaap. |
| 64 | The NBI provides support for an R-APP to locate the correct NearRT RIC based on identifiers as defined in O1. |
| 65 | |
| 66 | The agent monitors all Near-RT RICs and recovers from data inconsistencies, which may happen when (for instance) an Near-RT RIC restarts. |
| 67 | |
| 68 | The R-Apps can be monitored so that their Policies can be automatically removed when an R-App is stopped/removed. |
| 69 | |
| 70 | On its southbound side the agent can connect to a number of different A1 providers: |
| 71 | |
| 72 | * Directly to the NonRT RIC: |
| 73 | |
| 74 | - OSC API, which is influenced by the A1 standard |
| 75 | - The NonRT RIC simulator, which supports the A1 standard with a number of not yet CRs included. |
| 76 | * To an ONAP style controller. |
| 77 | |
| 78 | Amber release Policy Agent architecture |
| 79 | ----------------------------------------- |
| 80 | |
| 81 | .. image:: ./images/NonRtRicComponents.png |
| 82 | :scale: 50 % |
| 83 | |
| 84 | NonRT RIC components: |
| 85 | |
| 86 | #. Non-RT RIC Dashboard |
| 87 | #. Policy agent |
| 88 | #. SDNC A1 Controller |
| 89 | #. Near-RT RIC Simulator |
| 90 | |
| 91 | Dashboard Overview |
| 92 | =================== |
| 93 | |
| 94 | 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. |
| 95 | The dashboard generates its GUI from JSON schemas in a model driven fashion. |
| 96 | |
| 97 | The dashboards consists of a back end implemented as a Java Springboot application and a fronted developed using the Angular framework. |
| 98 | |
| 99 | Amber release Dashboard architecture |
| 100 | ----------------------------------------- |
| 101 | |
| 102 | The architecture of the dashboardis as shown on the following picture: |
| 103 | |
| 104 | .. image:: ./images/architecture.png |
| 105 | :scale: 50 % |
| 106 | |
| 107 | The dashboard itself is split |
| 108 | into the backend and the frontend, and can be deployed following the instructions in the README.md file in the repo. |