X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=docs%2Foverview.rst;h=19194f4147f15d2a4d7f78e946135925a71fff4b;hb=8170f78af913d337f874477ba5dd93411e9e69da;hp=8126776cc9468eca43af6d4c59447d9015d75912;hpb=45ba7815fa87c5999c521b06becf2d54f98e693a;p=nonrtric.git diff --git a/docs/overview.rst b/docs/overview.rst index 8126776c..19194f41 100644 --- a/docs/overview.rst +++ b/docs/overview.rst @@ -8,13 +8,13 @@ Summary ------- -The 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 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. +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. -Non-RealTime RIC functions include service and policy management, RAN analytics and model-training for the near-RealTime RICs. +Non-RealTime RIC functions include service and policy management, RAN analytics and model-training for the near-RealTime RICs. The Non-RealTime RIC platform hosts and coordinates rApps (Non-RT RIC applications) to perform Non-RealTime RIC tasks. -The Non-RealTime RIC also hosts the new R1 interface (between rApps and SMO/Non-RealTime-RIC services) +The Non-RealTime RIC also hosts the new R1 interface (between rApps and SMO/Non-RealTime-RIC services). The O-RAN-SC (OSC) NONRTRIC project provides concepts, architecture and reference implementations as defined and described by the `O-RAN Alliance `_ architecture. The OSC 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. @@ -49,7 +49,7 @@ The source code for "E" Release is in the `NONRTRIC `_ to set up in your local environment. -More details available at the `NONRTRIC-Portal documentation site `_ +More details available at the `NONRTRIC-Portal documentation site `_. Information Coordination Service ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -80,140 +80,138 @@ Coordinate/Register A1-EI Types, Producers, Consumers, and Jobs (A1 Enrichment I + Information Consumers + Information Jobs -* Information Query API (e.g. per producer, per consumer, per types) -* Query status of Information jobs -* After Information-type/Producer/Consumer/Job is successfully registered delivery/flow can happen directly between Information Producers and Information Consumers +* Information Query API (e.g. per producer, per consumer, per types). +* Query status of Information jobs. +* After Information-type/Producer/Consumer/Job is successfully registered delivery/flow can happen directly between Information Producers and Information Consumers. * The Information Coordinator Service natively supports the O-RAN A1 Enrichment Information (A1-EI) interface, supporting coordination A1-EI Jobs where information (A1-EI)flow from the SMO/Non-RT-RIC/rApps to near-RT-RICs over the A1 interface. Implementation: -* Implemented as a Java Spring Boot application +* Implemented as a Java Spring Boot application. A1 Policy Management Service (from ONAP CCSDK) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A1 Controller Service above A1 Controller/Adaptor that provides: -* Unified REST & DMaaP NBI APIs for managing A1 Policies in all near-RT-RICs +* Unified REST & DMaaP NBI APIs for managing A1 Policies in all near-RT-RICs. - + Query A1 Policy Types in near-RT-RICs - + Create/Query/Update/Delete A1 Policy Instances in near-RT-RICs - + Query Status for A1 Policy Instances + + Query A1 Policy Types in near-RT-RICs. + + Create/Query/Update/Delete A1 Policy Instances in near-RT-RICs. + + Query Status for A1 Policy Instances. -* Maintains (persistent) cache of RAN's A1 Policy information +* Maintains (persistent) cache of RAN's A1 Policy information. - * Support RAN-wide view of A1 Policy information - * Streamline A1 traffic - * Enable (optional) re-synchronization after inconsistencies / near-RT-RIC restarts - * Supports a large number of near-RT-RICs (& multi-version support) + * Support RAN-wide view of A1 Policy information. + * Streamline A1 traffic. + * Enable (optional) re-synchronization after inconsistencies / near-RT-RIC restarts. + * Supports a large number of near-RT-RICs (& multi-version support). -* 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) -* 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 +* 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). +* 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. -See also: `A1 Policy Management Service in ONAP `_ +See also: `A1 Policy Management Service in ONAP `_ . Implementation: -* Implemented as a Java Spring Boot application +* Implemented as a Java Spring Boot application. A1/SDNC Controller & A1 Adapter (Controller plugin) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Mediation point for A1 interface termination in SMO/NONRTRIC +Mediation point for A1 interface termination in SMO/NONRTRIC. -* Implemented as CCSDK OSGI Feature/Bundles -* A1 REST southbound -* RESTCONF Northbound -* NETCONF YANG > RESTCONF adapter -* SLI Mapping logic supported -* Can be included in an any controller based on ONAP CCSDK +* Implemented as CCSDK OSGI Feature/Bundles. +* A1 REST southbound. +* RESTCONF Northbound. +* NETCONF YANG > RESTCONF adapter. +* SLI Mapping logic supported. +* Can be included in an any controller based on ONAP CCSDK. -See also: `A1 Adapter/Controller Functions in ONAP `_ +See also: `A1 Adapter/Controller Functions in ONAP `_ . A1 Interface / Near-RT-RIC Simulator ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Stateful A1 test stub. -* Used to create multiple stateful A1 providers (simulated near-rt-rics) -* Supports A1-Policy and A1-Enrichment Information -* Swagger-based northbound interface, so easy to change the A1 profile exposed (e.g. A1 version, A1 Policy Types, A1-E1 consumers, etc) -* All A1-AP versions supported +* Used to create multiple stateful A1 providers (simulated near-rt-rics). +* Supports A1-Policy and A1-Enrichment Information. +* Swagger-based northbound interface, so easy to change the A1 profile exposed (e.g. A1 version, A1 Policy Types, A1-E1 consumers, etc). +* All A1-AP versions supported. Implementation: -* Implemented as a Python application -* Repo: *sim/a1-interface* +* Implemented as a Python application. +* Repo: *sim/a1-interface*. More details available at the `A1 Simulator documentation site `_ Non-RT-RIC (Spring Cloud) Service Gateway ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Support Apps to use A1 Services +Support Apps to use A1 Services. -* `Spring Cloud Gateway `_ provides the library to build a basic API gateway -* Exposes A1 Policy Management Service & Information Coordinator Service. +* `Spring Cloud Gateway `_ provides the library to build a basic API gateway. +* Exposes A1 Policy Management Service & Information Coordinator Service. * Additional predicates can be added in code or preferably in the Gateway yaml configuration. Implementation: -* Implemented as a Java Spring Cloud application -* Repo: *portal/nonrtric-controlpanel* +* Implemented as a Java Spring Cloud application. +* Repo: *portal/nonrtric-controlpanel*. Non-RT-RIC (Kong) Service Exposure Prototyping ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Support Apps to use NONRTRIC, SMO and other App interfaces -A building block for coming releases as the R1 Interface concept matures +Support Apps to use NONRTRIC, SMO and other App interfaces. +A building block for coming releases as the R1 Interface concept matures . -* Support dynamic registration and exposure of service interfaces to Non-RT-RIC applications (& NONRTRIC Control panel) -* Extends a static gateway function specifically for NONRTRIC Control panel (described above) -* Initial version based on `Kong API Gateway `_ function -* Initial exposure candidates include A1 (NONRTRIC) services & O1 (OAM/SMO) services +* Support dynamic registration and exposure of service interfaces to Non-RT-RIC applications (& NONRTRIC Control panel). +* Extends a static gateway function specifically for NONRTRIC Control panel (described above). +* Initial version based on `Kong API Gateway `_ function. +* Initial exposure candidates include A1 (NONRTRIC) services & O1 (OAM/SMO) services. -NONRTRIC Kubernetes deployment - including Kong configurations can be found in the OSC `it/dep `_ Gerrit repo. +NONRTRIC Kubernetes deployment - including Kong configurations can be found in the OSC `it/dep `_ Gerrit repo. DMaaP/Kafka Information Producer Adapters ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Configurable mediators to take information from DMaaP (& Kafka) and present it as a coordinated Information Producer - -These mediators/adapters are generic information producers, which registers themselves as an information producers of defined information types (in Information Coordination Service). -The information types are defined in a configuration file. -Information jobs defined using Information Coordination Service (ICS) then allow information consumers to retrieve data from DMaaP MR or Kafka topics (accessing the ICS API). +Configurable mediators to take information from DMaaP and Kafka and present it as a coordinated Information Producer. -Two alternative implementations to allow Information Consumers to consume DMaaP or Kafka events as coordinated Information Jobs. +These mediators/adapters are generic information producers, which register themselves as information producers of defined information types in Information Coordination Service (ICS). +The information types are defined in a configuration file. +Information jobs defined using ICS then allow information consumers to retrieve data from DMaaP MR or Kafka topics (accessing the ICS API). -Implementations: +There are two alternative implementations to allow Information Consumers to consume DMaaP or Kafka events as coordinated Information Jobs. -1. A version implemented in Java (Spring) - Supporting DMaaP and Kafka mediation -2. A version implemented in Go - Supporting DMaaP mediation +1. A version implemented in Java Spring (DMaaP Adaptor Service). +2. A version implemented in Go (DMaaP Mediator Producer). Initial Non-RT-RIC App Catalogue ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Register for Non-RT-RIC Apps. -* Non-RT-RIC Apps can be registered / queried -* Limited functionality/integration for now -* *More work required in coming releases as the rApp concept matures* +* Non-RT-RIC Apps can be registered / queried. +* Limited functionality/integration for now. +* *More work required in coming releases as the rApp concept matures*. Initial K8S Helm Chart LCM Manager ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Onboard, start, stop, and modify Non-RT-RIC App µServices as Helm Charts -*A building block for coming releases as the R-APP concept matures* +Onboard, start, stop, and modify Non-RT-RIC App µServices as Helm Charts. +*A building block for coming releases as the R-APP concept matures*. -* Interfaces that accepts Non-RT-RIC App µServices Helm Charts -* Support basic LCM operations -* Onboard, Start, Stop, Modify, Monitor -* Initial version co-developed with v. similar functions in ONAP -* *Limited functionality/integration for now* +* Interfaces that accepts Non-RT-RIC App µServices Helm Charts. +* Support basic LCM operations. +* Onboard, Start, Stop, Modify, Monitor. +* Initial version co-developed with v. similar functions in ONAP. +* *Limited functionality/integration for now*. Test Framework ~~~~~~~~~~~~~~ -A full test environment with extensive test cases/scripts can be found in the ``test`` directory in the *nonrtric* source code +A full test environment with extensive test cases/scripts can be found in the ``test`` directory in the *nonrtric* source code. Use Cases ~~~~~~~~~ @@ -221,9 +219,9 @@ Use Cases "Helloworld" O-RU Fronthaul Recovery use case ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -A very simplified closed-loop rApp use case to re-establish front-haul connections between O-DUs and O-RUs if they fail. Not intended to to be 'real-world' +A very simplified closed-loop rApp use case to re-establish front-haul connections between O-DUs and O-RUs if they fail. Not intended to to be 'real-world'. "Helloworld" O-DU Slice Assurance use case ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -A very simplified closed-loop rApp use case to re-prioritize a RAN slice's radio resource allocation priority if sufficient throughput cannot be maintained. Not intended to to be 'real-world' +A very simplified closed-loop rApp use case to re-prioritize a RAN slice's radio resource allocation priority if sufficient throughput cannot be maintained. Not intended to to be 'real-world'.