Release G

Summary

Primary Goals for Non-RealTime RAN Intelligent Controller (Non-RT-RIC) - Release G

  • The primary goal of Non-RT RIC is to support intelligent RAN optimization by providing policy-based guidance, ML model management and enrichment information to the near-RT RIC function so that the RAN can optimize, e.g., RRM under certain conditions.
  • It can also perform intelligent radio resource management function in non-real-time interval (i.e., greater than 1 second).
  • Non-RT RIC can use data analytics and AI/ML training/inference to determine the RAN optimization actions for which it can leverage SMO services such as data collection and provisioning services of the O-RAN nodes.
  • Non-RT-RIC will define and coordinate rApps (Non-RT-RIC applications) to perform Non-RT-RIC tasks.
  • Non-RT-RIC will host the A1 interface (between NONRTRIC & near-RT RICs )
  • Non-RT-RIC will also host the new R1 interface (between rApps and SMO/NONRTRIC services)

Release G Highlights

Count of Epics (20 issues), User Stories, Tasks, and Issues:  (455 issues)

  • R1 Service Exposure & Management

    • Continued work of Service execution platform extensions (K8s, Istio, Keycloak, OPA, Gateway) to enable and enforce service isolation & exposure
    • Released first version of 3GPP CAPIF-aligned Service Registration & Discovery service
    • Demonstration: "Enforcing Service Exposure for rApps"
  • R1 Data Management & Exposure

    • Aligned with emerging proposals for R1-DME where possible
    • R1 DME Data Catalog support in NONRTRIC ICS 
    • R1 Data delivery & filtering (kafka & REST)
    • Demonstration: "PM Collection & Delivery to rApps"
  • rApp Manager

    • Built on ONAP “Automation Composition” model & platform to implement rApp use cases
    • Demonstrate controlled on-boarding & LCM rApps with & without µService
    • Overlap with Service Exposure work to examine role of an rApp Manager to support controlled exposure & LCM of µService and non-µService parts of an rApp
    • Partly demonstrated: "Deploying & Running NONRTRIC platform and rApps"
  • Continued A1-Policy & A1-Enrichment-Information evolution (& R1-A1)

    • A1 Spec evolution
    • Southbound: A1 Interface
    • Northbound: R1-A1(P) & R1-DME Interfaces
  • Sample use cases (rApps)
  • Testing, Maintenance & Housekeeping

    • Function Test & Integration Test environment,
    • Support integration, deployment & configuration of SMO/Non-RT-RIC related functions & usecases in OSC Integration env.
    • Project coordination, Documentation, Delivery, Reporting, Cross-project alignment, Community demos, O-RAN Standardization support, etc.

Latest Architecture (Release G)


NONRTRIC Architecture for OSC Release F

NONRTRIC components (Release G)

  1. Non-RT-RIC Control Panel

  2. Non-RT-RIC (Spring Cloud) Service Gateway
  3. Non-RT-RIC (Kong) Service Exposure Prototyping
  4. A1 Policy Management Service
  5. Information Coordinator Service
  6. DMaaP/Kafka Information Producer Adapters
  7. NONRTRIC CAPIF Core (Service Registry)
  8. Initial Non-RT-RIC App Catalogue
  9. A1 Policy Controller / Adapter
  10. A1 Interface Simulator
  11. Initial K8S Helm Chart LCM Manager
  12. Authentication Support (JWT Token Fetch)
  13. Test Framework
  14. "Helloworld" O-RU Fronthaul Recovery use case
  15. "Helloworld" O-DU Slice Assurance use case
  16. "Healthcheck" use case

NONRTRIC Control Panel (Release G)

Graphical user interface to interact with the Non-RT-RIC services.

With the OSC NONRTRIC Control Panel you can: 

NONRTRIC (Spring Cloud) Service Gateway (Release G)

Enable Apps and the Control Panel to use A1 Services

NONRTRIC (Kong) Service API Gateway (Release G)

Support Apps to use NONRTRIC, SMO and other App interfaces through a gateway

  • 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
  • Initial version based on Kong gateway function
  • Initial exposure candidates include A1 (NONRTRIC) services & O1 (OAM/SMO) services

A1 Policy Management Service (from ONAP CCSDK – Kohn)

A1 Policy Controller Service above A1 Adapter that provides:

  • Unified REST & DMaaP APIs for managing A1 Policies in all near-RT-RICs
  • Operations:
    • 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
    • Support RAN-wide view of A1 Policy information
    • Streamline A1 traffic
    • Enable (optional) re-synchronization after inconsistencies / near-RT-RIC restarts
    • Added support for multiple near-RT-RICs (& multi-version support)
  • Unified REST & DMaaP NBI
  • Converged ONAP & O-RAN-SC A1 Adapter/Controller functions in ONAP SDNC/CCSDK
    • (Optionally deploy without A1 Adapter 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

Repository and documentation about the service can be found at:

Information Coordinator Service (ICS) (Release G)

A service that coordinates Information Jobs, producers and consumers. Also acts as an A1 Enrichment Information Controller.

ICS is a data subscription service which decouples data producers from data consumers. A data consumer can create a data subscription (Information Job) without any knowledge of its data producers (one subscription may involve several data producers). A data producer has the ability to produce one or several types of data (Information Type). One type of data can be produced by zero to many producers.


A data consumer can be an R-App using R1 APIs, or a near-RT RIC using the A1-EI API (where the subscribed data is more specifically called "Enrichment Information").
A data consumer can have several active data subscriptions (Information Job). One Information Job consists of the type of data to produce and additional parameters, which may be different for different data types. These parameters is not defined or limited by this service and may for instance include:

  • Parameters related to delivery (Kafka stream, callback URL etc.). These are different for different delivery protocols.
  • Filtering information (scope, filter or other discriminators).
  • Periodicity
  • Other info used for aggregation

Repository and documentation about the service can be found at:

APIs provided by the ICS service

A1-EI

This API is between Near-RT RIC and the Non-RT RIC. The Near-RT RIC is a data consumer, which creates Information Jobs to subscribe for data. In this context, the information is referred to as 'Enrichment Information', EI.

Data producer API

This API is provided by the Non-RT RIC platform and is intended to be part of the O-RAN R1 interface. The API is for use by different kinds of data producers and provides support for:

  • Registry of supported information types and which parameters needed to setup a subscription.
  • Registry of existing data producers.
  • Callback API provided by producers to setup subscriptions.

Data consumer API

This API is provided by the Non-RT RIC platform and is intended to be part of the O-RAN R1 interface. The API is for use by different kinds of data consumers and provides support for:

  • Querying of available types of data to consume.
  • Management of data subscription jobs
  • Optional callback API provided by consumers to get notification on added and removed information types.

Service status

This API provides a means to monitor the health of this service.

DMaaP/Kafka Information Producer Adapters (Release G)

Configurable mediators to take information from DMaaP (& 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 configurable adapters/mediators act producers of Information Coordinator Service (ICS) jobs by polling topics in DMaaP Message Router (MR) or Kafka and pushing the messages to a consumer.

NONRTRIC CAPIF Core (Service Registry) (Release G)

Implementing a CAPIF service for Service registration, discovery, administration

Repository and documentation about the service can be found at:

NONRTRIC rApp catalog (Release G)

Register for NONRTRIC APPs (rApps)

  • rApps can be registered / queried

Repository and documentation about the service can be found at:

A1 Policy Controller / Adapter (from ONAP CCSDK – Kohn)

Optional mediation point for A1 Policy interface termination in SMO/NONRTRIC

  • Implemented as CCSDK OSGI Feature/Bundles
  • A1 REST southbound
  • RESTCONF Northbound
  • NETCONF YANG > RESTCONF adapter
  • Mapping logic / Provider
  • Can be included in an any controller based on ONAP CCSDK

Documentation about the adapter / controller can be found at:

A1 Interface Simulator (Release G)

Stateful A1 test stub

  • Used to create multiple stateful A1 providers (simulated near-rt-rics)
  • Supports A1-Policy (A1-P) and A1-Enrichment Information (A1-EI)
  • Implemented as a Python application
  • Swagger-based northbound interface, so easy to change the A1 profile exposed (e.g. A1 version, A1 Policy Types, A1-EI consumers, etc)
  • All A1-AP versions supported
  • Call-out feature to add applications-specific A1-Policy behaviors (REST & Kafka call-outs supported)

Repository and documentation about the service can be found at:

Authentication Support (JWT Token Fetch) (Release G)

A side-car utility service to takes care of authentication token fetching from Keycloak

  • Simplifies authentication in for services

Repository and documentation about the service can be found at:

Initial K8S Helm Chart LCM Manager (Release G)

Onboard, start, stop, and modify Non-RT-RIC App µServices as Helm Charts

A building block for coming releases as the rApp 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

Repository and documentation about the service can be found at:

NONRTRIC Test Platform (Release G)

Information about the test platform can be found at:

Use Cases (Release G)

"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'

Information about the use case can be found at:

Repository and documentation about the service can be found at:

"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'

Information about the use case can be found at:

Repository and documentation about the service can be found at:

"Healthcheck" use case

A very simplified rApp use case to check if A1 Policy connection to a  near-rt-ric exists & is healthy. Not intended to to be 'real-world'