blob: e81697580268658505c962824a7247f94e947ecb [file] [log] [blame]
maximessone6b4d272019-10-31 13:26:13 +01001.. This work is licensed under a Creative Commons Attribution 4.0 International License.
2.. SPDX-License-Identifier: CC-BY-4.0
elinuxhenrik0a4c38b2020-04-14 10:59:36 +02003.. Copyright (C) 2020 Nordix
maximessone6b4d272019-10-31 13:26:13 +01004
JohnKeeney01ea4be2021-05-26 19:32:47 +01005.. |archpic| image:: ./images/nonrtric-architecture-D.png
6 :alt: Image: O-RAN SC - NONRTRIC Overall Architecture
maximessone6b4d272019-10-31 13:26:13 +01007
JohnKeeney01ea4be2021-05-26 19:32:47 +01008Summary
9-------
maximessone6b4d272019-10-31 13:26:13 +010010
JohnKeeney01ea4be2021-05-26 19:32:47 +010011The Non-RealTime RIC (RAN Intelligent Controller) is an Orchestration and Automation function described by the O-RAN Alliance for non-real-time intelligent management of RAN (Radio Access Network) functions. The primary goal of the Non-RealTime RIC is to support non-real-time radio resource management, higher layer procedure optimization, policy optimization in RAN, and providing guidance, parameters, policies and AI/ML models to support the operation of near-RealTime RIC functions in the RAN to achieve higher-level non-real-time objectives. NONRTRIC functions include service and policy management, RAN analytics and model-training for the near-RealTime RICs. The NONRTRIC project provides concepts, specifications, architecture and reference implementations as defined and described by the `O-RAN Alliance <https://www.o-ran.org>`_ architecture.
maximessone6b4d272019-10-31 13:26:13 +010012
JohnKeeney01ea4be2021-05-26 19:32:47 +010013The O-RAN-SC NONRTRIC implementation communicates with near-RealTime RIC elements in the RAN via the A1 interface. Using the A1 interface the NONRTRIC will facilitate the provision of policies for individual UEs or groups of UEs; monitor and provide basic feedback on policy state from near-RealTime RICs; provide enrichment information as required by near-RealTime RICs; and facilitate ML model training, distribution and inference in cooperation with the near-RealTime RICs.
maximessone6b4d272019-10-31 13:26:13 +010014
JohnKeeney01ea4be2021-05-26 19:32:47 +010015|archpic|
maximessone6b4d272019-10-31 13:26:13 +010016
JohnKeeney01ea4be2021-05-26 19:32:47 +010017Find detailed description of the NONRTRIC project see the `O-RAN SC NONRTRIC Project Wiki <https://wiki.o-ran-sc.org/display/RICNR/>`_.
maximessone6b4d272019-10-31 13:26:13 +010018
JohnKeeney01ea4be2021-05-26 19:32:47 +010019NONRTRIC components
20-------------------
maximessone6b4d272019-10-31 13:26:13 +010021
JohnKeeney01ea4be2021-05-26 19:32:47 +010022These are the components that make up the Non-RT-RIC:
maximessone6b4d272019-10-31 13:26:13 +010023
JohnKeeney01ea4be2021-05-26 19:32:47 +010024* Non-RT-RIC Control Panel / Dashboard
25* A1 Policy Management Service (developed in ONAP)
26* A1/SDNC Controller & A1 Adapter (Controller plugin)
PatrikBuhrc6916032021-11-22 16:12:27 +010027* Information Coordinator Service
JohnKeeney01ea4be2021-05-26 19:32:47 +010028* Non-RT-RIC (Spring Cloud) Service Gateway
29* Non-RT-RIC (Kong) Service Exposure Prototyping
30* Initial Non-RT-RIC App Catalogue
31* Near-RT-RIC A1 Simulator
32
33The code base for "D" Release is in the `NONRTRIC <https://gerrit.o-ran-sc.org/r/admin/repos/nonrtric>`_, `NONRTRIC-ControlPanel <https://gerrit.o-ran-sc.org/r/admin/repos/portal/nonrtric-controlpanel>`_, and `Near-RT-RIC A1-Simulator <https://gerrit.o-ran-sc.org/r/admin/repos/sim/a1-interface>`_ , Gerrit source repositories (D Branch).
34
35Non-RT-RIC Control Panel / NONRTRIC Dashboard
36~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37
38Graphical user interface
39
40* View and Manage A1 policies in the RAN (near-RT-RICs)
41* Interacts with the Policy agents NBI (REST API)
42* Graphical A1 policy creation/editing is model-driven, based on policy types JSON schema
PatrikBuhrc6916032021-11-22 16:12:27 +010043* View and manage producers and jobs for the Information coordinator service
JohnKeeney01ea4be2021-05-26 19:32:47 +010044* Configure A1 Policy Management Service (e.g. add/remove near-rt-rics)
45* Interacts with the A1-PolicyManagementService & A1-EI-Coordinator (REST NBIs) via Service Exposure gateway
46
47Implementation:
48
49* Frontend: Angular framework
50* Repo: *portal/nonrtric-controlpanel*
51
52Please refer the developer guide and the wiki to set up in your local environment.
53
54More details available at the `NONRTRIC-Portal documentation site <https://docs.o-ran-sc.org/projects/o-ran-sc-portal-nonrtric-controlpanel>`_
55
56A1 Policy Management Service (from ONAP CCSDK)
57~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
58
59A1 Controller Service above A1 Controller/Adaptor that provides:
60
61* Unified REST & DMaaP NBI APIs for managing A1 Policies in all near-RT-RICs
62
63 + Query A1 Policy Types in near-RT-RICs
64 + Create/Query/Update/Delete A1 Policy Instances in near-RT-RICs
65 + Query Status for A1 Policy Instances
66
67* Maintains (persistent) cache of RANs A1 Policy information
68
69 * Support RAN-wide view of A1 Policy information
70 * Streamline A1 traffic
71 * Enable (optional) re-synchronization after inconsistencies / near-RT-RIC restarts
72 * Supports a large number of near-RT-RICs (& multi-version support)
73
74* Converged ONAP & O-RAN-SC A1 Adapter/Controller functions in ONAP SDNC/CCSDK (Optionally deploy without A1 Adaptor to connect direct to near-RT-RICs)
75* Support for different Southbound connectors per near-RT-RIC - e.g. different A1 versions, different near-RT-RIC version, different A1 adapter/controllers supports different or proprietary A1 controllers/EMSs
76
77See also: `A1 Policy Management Service in ONAP <https://wiki.onap.org/pages/viewpage.action?pageId=84672221>`_
78
79A1/SDNC Controller & A1 Adapter (Controller plugin)
80~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
81Mediation point for A1 interface termination in SMO/NONRTRIC
82
83* Implemented as CCSDK OSGI Feature/Bundles
84* A1 REST southbound
85* RESTCONF Northbound
86* NETCONF YANG > RESTCONF adapter
87* SLI Mapping logic supported
88* Can be included in an any controller based on ONAP CCSDK
89* Continues to support both a dedicated OSC A1-controller persona and an ONAP SDNC persona
90
91See also: `A1 Adapter/Controller Functions in ONAP <https://wiki.onap.org/pages/viewpage.action?pageId=84672221>`_
92
PatrikBuhrc6916032021-11-22 16:12:27 +010093Information Job Coordination Service
94~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
JohnKeeney01ea4be2021-05-26 19:32:47 +010095
96Coordinate/Register A1-EI Types, Producers, Consumers, and Jobs.
97
98* Maintains a registry of:
99
100 - A1-EI Data Types / schemas
101 - A1-EI Producers
102 - A1-EI Consumers
103 - A1-EI Jobs
104
105* A1-EI Query API (e.g. per producer, per consumer, per types)
106* Query status of A1-EI jobs
107* Monitors all near-RT-RICs and recovers from inconsistencies
108* After EI-type/Producer/Consumer/Job is successfully registered delivery/flow can happen directly between A1-EI Producers (in SMO/NONRTRIC domain) and A1-EI consumers (near-RT-RICs in RAN domain)
PatrikBuhrc6916032021-11-22 16:12:27 +0100109* *Being extended to coordinate non-A1 Information exchange between NONRTRIC Apps*
JohnKeeney01ea4be2021-05-26 19:32:47 +0100110
111Non-RT-RIC (Spring Cloud) Service Gateway
112~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
113Support Apps to use A1 Services
114
115* `Spring Cloud Gateway <https://cloud.spring.io/spring-cloud-gateway>`_ provides the library to build a basic API gateway
PatrikBuhrc6916032021-11-22 16:12:27 +0100116* Exposes A1 Policy Management Service & Information Coordinator Service.
JohnKeeney01ea4be2021-05-26 19:32:47 +0100117* Additional predicates can be added in code or preferably in the Gateway yaml configuration.
118
119Implementation:
120
121* Implemented as a Java Spring Cloud application
122* Repo: *portal/nonrtric-controlpanel*
123
124
125Non-RT-RIC (Kong) Service Exposure Prototyping
126~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
127
128Support Apps to use NONRTRIC, SMO and other App interfaces
129A building block for coming releases as the R1 Interface concept matures
130
131* Support dynamic registration and exposure of service interfaces to Non-RT-RIC applications (& NONRTRIC Control panel)
132* Extends a static gateway function specifically for NONRTRIC Control panel (described above)
133* Initial version based on `Kong API Gateway <https://docs.konghq.com/gateway-oss>`_ function
134* Initial exposure candidates include A1 (NONRTRIC) services & O1 (OAM/SMO) services
135
136NONRTRIC Kubernetes deployment - including Kong configurations can be found in the OSC `it/dep <https://gerrit.o-ran-sc.org/r/gitweb?p=it/dep.git;a=tree;f=nonrtric/helm;hb=refs/heads/master>`_ Gerrit repo.
137
138Initial Non-RT-RIC App Catalogue
139~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
140
141Register for Non-RT-RIC Apps.
142
143* Non-RT-RIC Apps can be registered / queried
144* Limited functionality/integration for now
145* *More work required in coming releases as the rApp concept matures*
146
147Initial K8S Helm Chart LCM Manager
148~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
149
150Onboard, start, stop, and modify Non-RT-RIC App µServices as Helm Charts
151*A building block for coming releases as the R-APP concept matures*
152
153* Interfaces that accepts Non-RT-RIC App µServices Helm Charts
154* Support basic LCM operations
155* Onboard, Start, Stop, Modify, Monitor
156* Initial version co-developed with v. similar functions in ONAP
157* *Limited functionality/integration for now*
158
159A1 Interface / Near-RT-RIC Simulator
160~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
161
162Stateful A1 test stub.
163
164* Used to create multiple stateful A1 providers (simulated near-rt-rics)
PatrikBuhrc6916032021-11-22 16:12:27 +0100165* Supports A1-Policy and A1-Enrichment Information
JohnKeeney01ea4be2021-05-26 19:32:47 +0100166* Swagger-based northbound interface, so easy to change the A1 profile exposed (e.g. A1 version, A1 Policy Types, A1-E1 consumers, etc)
167* All A1-AP versions supported
168
169Implementation:
170
171* Implemented as a Python application
elinuxhenrik2a6084b2021-06-02 15:31:18 +0200172* Repo: *sim/a1-interface*
JohnKeeney01ea4be2021-05-26 19:32:47 +0100173
174More details available at the `A1 Simulator documentation site <https://docs.o-ran-sc.org/projects/o-ran-sc-sim-a1-interface>`_