Update documentation and release notes
[nonrtric.git] / docs / overview.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. SPDX-License-Identifier: CC-BY-4.0
3
4
5 Requirements for the Non-RT RIC project
6 ==========================================
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
12 There are functional requirements emitted by O-RAN WG2 for the Non-RT RIC, which are the following:
13
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.
20
21 The non-functional requirements are the following ones:
22
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.
25
26 Moreover, there are functional requirements regarding the A1 interface:
27
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.
33
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                     |
51 +---------------------+--------------------------+--------------------------+
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.