DRAFT
Summary
Latest Architecture (Release J)
DRAFT
NONRTRIC Components (Release J)
DRAFT
Non-RT-RIC Control Panel
Non-RT-RIC (Spring Cloud) Service Gateway
Non-RT-RIC (Kong) Service Exposure Prototyping
A1 Policy Management Service
rApp Manager
Information Coordinator Service
DMaaP/Kafka Information Producer Adapters
NONRTRIC CAPIF Core (Service Registry)
Initial Non-RT-RIC App Catalogue
A1 Policy Controller / Adapter
A1 Interface Simulator
RAN PM functions
Initial K8S Helm Chart LCM Manager
Authentication Support (JWT Token Fetch)
Test Framework
"Helloworld" O-RU Fronthaul Recovery use case
"Helloworld" O-DU Slice Assurance use case
"Healthcheck" use case
NONRTRIC Control Panel (Release J)
Graphical user interface to interact with the Non-RT-RIC services.
With the OSC NONRTRIC Control Panel you can:
- View and Manage A1 policies in the RAN (near-RT-RICs)
- Graphical A1 policy creation/editing is model-driven, based on policy type’s JSON schema
- View and manage producers and jobs for the Information Coordination Service
- Configure A1 Policy Management Service (add/remove near-rt-rics)
- Interacts with the A1-Policy Management Service & Information Coordination Service (REST NBIs) via Service Exposure gateway
Implementation & Documentation:
- Front-end: Angular framework
- Repo: portal/nonrtric-controlpanel/web-frontend
- Developer Guide: https://docs.o-ran-sc.org/projects/o-ran-sc-portal-nonrtric-controlpanel/en/i-release/developer-guide.html
- Documentation: https://docs.o-ran-sc.org/projects/o-ran-sc-portal-nonrtric-controlpanel
NONRTRIC (Spring Cloud) Service Gateway (Release J)
Enable Apps and the Control Panel to use A1 Services
- A basic API gateway using spring cloud gateway which then exposes two Non-RT-RIC functions: A1 Policy Management Service & Information Coordinator Service.
- Can add predicates through code or yaml (preferred) and in Non-RT-RIC.
Implementation & Documentation:
- https://gerrit.o-ran-sc.org/r/gitweb?p=portal/nonrtric-controlpanel.git;a=tree;f=nonrtric-gateway
- https://cloud.spring.io/spring-cloud-gateway/reference/html/#gateway-starter
NONRTRIC (Kong) Service API Gateway (Release J)
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 – Montreal)
A1 Policy Controller Service above A1 Adapter that provides:
- Unified REST API 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)
- 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:
- https://gerrit.o-ran-sc.org/r/admin/repos/nonrtric/plt/a1policymanagementservice
- https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-plt-a1policymanagementservice
- https://docs.onap.org/projects/onap-ccsdk-oran
- A1 Policy Management Service in ONAP
rApp Manager (Release J)
A service to support onboarding, instantiation and life-cycle management of composite rApps.
- Preliminary composite rApp package
- Demonstrate controlled LCM of composite rApps with & without µServices
- ONAP ACM Models & Manager
- Demonstrate extensible ACM ‘Participant’ approach as types of rApp constituents appear
- Integration with DME for managing Data Inputs & Outputs
- incl.: registration, discovery, access control (in&out)
- Integration with SME for managing Service Inputs & Outputs
- Incl.: gateway setup, registration, discovery, access control (in&out), service mesh config
Repository and documentation about the service can be found at:
- https://gerrit.o-ran-sc.org/r/admin/repos/nonrtric/plt/rappmanager
- https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-plt-rappmanager
Release J: rApp Manager
Information Coordinator Service (ICS) (Release J)
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:
- https://gerrit.o-ran-sc.org/r/admin/repos/nonrtric/plt/informationcoordinatorservice
- https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-plt-informationcoordinatorservice
DMaaP/Kafka Information Producer Adapters (Release J)
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.
Note: DMaaP is now deprecated in ONAP, but this function is intended a generic data job/stream → DME producer adapter function.
A version implemented in Java (Spring) - Supporting filtered DMaaP and Kafka mediation:
- https://gerrit.o-ran-sc.org/r/admin/repos/nonrtric/plt/dmaapadapter
- Release J - Run in Docker
- https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-plt-dmaapadapter
- Includes additional support for PM data filtering/delivery
A version implemented in Go - Supporting DMaaP mediation:
- https://gerrit.o-ran-sc.org/r/admin/repos/nonrtric/plt/dmaapmediatorproducer
- Release J - Run in Docker
- https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-plt-dmaapmediatorproducer
CAPIF Service Registry (Release J)
Implementing a CAPIF service for Service registration, discovery, administration (SME)
Repository and documentation about the service can be found at:
- https://gerrit.o-ran-sc.org/r/admin/repos/nonrtric/plt/sme
- https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-plt-sme
- https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric/plt/sme.git;a=blob;f=README.md
- CAPIF Study
NONRTRIC rApp catalog (Release J)
Register for NONRTRIC APPs (rApps)
- rApps can be registered / queried
- This function will be merged into our new rApp Manager function in coming releases.
Repository and documentation about the service can be found at:
- https://gerrit.o-ran-sc.org/r/admin/repos/nonrtric/plt/rappcatalogue
- https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-plt-rappcatalogue
A1 Policy Controller / Adapter (from ONAP CCSDK – Montreal)
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 J)
Stateful extensible 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:
- https://gerrit.o-ran-sc.org/r/admin/repos/sim/a1-interface
- https://docs.o-ran-sc.org/projects/o-ran-sc-sim-a1-interface
RAN Performance Monitoring Functions (File-based PM) (Release J)
Functions to collect/parse/filter/store/forward file-based & event-based RAN PM data
- End-to-end tool-chain to collection, parsing, filtering and delivery of file-based RAN PM observability data.
- PM report data format defined by 3GPP (TS 32.432 and 3GPP TS 32.435)
- High performance, fully scalable
- Subscribers (e.g. rApps) can subscribe for chosen measurement types from specific resources in the network
Repository and documentation about the service can be found at:
- https://gerrit.o-ran-sc.org/r/admin/repos/nonrtric/plt/ranpm
- https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-plt-ranpm
RAN PM: PM Data File Collector
- PM Data File Collector fetches the 3GPP-compliant (XML) PM files from the RAN.
- https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-plt-ranpm/en/latest/datafilecollector
RAN PM: PM File Converter
- PM File Converter converts collected XML files into JSON format. The structure and the contents is the same as the XML format.
- https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-plt-ranpm/en/latest/pm-file-converter
RAN PM: PM Producer
- PM Producer instances act as Information Coordinator Service (ICS) Producers (see above).
- Subscribers can subscribe to the produced data as ICS Jobs, with additional filters and delivery parameters specified.
- https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-plt-ranpm/en/latest/pmproducer
RAN PM: InfluxDB PM Logger
- InfluxDB PM Logger stores selected PM measurements into a time series database.
- https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-plt-ranpm/en/latest/influxlogger
Authentication Support (JWT Token Fetch) (Release J)
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:
- https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric.git;a=tree;f=auth-token-fetch
- https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric/en/latest/overview.html#authentication-support-keycloak
Initial K8S Helm Chart LCM Manager (Release J)
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:
- https://gerrit.o-ran-sc.org/r/admin/repos/nonrtric/plt/helmmanager
- https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-plt-helmmanager
NONRTRIC Test Platform (Release J)
Information about the test platform can be found at:
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'
Information about the use case can be found at:
- O-RU Fronthaul Recovery usecase (Release G)
Repository and documentation about the service can be found at:
- https://gerrit.o-ran-sc.org/r/admin/repos/nonrtric/rapp/orufhrecovery
- https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-rapp-orufhrecovery/en/latest
"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:
- O-DU Slice Assurance usecase (Release G)
Repository and documentation about the service can be found at:
- https://gerrit.o-ran-sc.org/r/admin/repos/nonrtric/rapp/ransliceassurance
- https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-rapp-ransliceassurance/en/latest
"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'
- https://gerrit.o-ran-sc.org/r/q/project:nonrtric/rapp/healthcheck
- https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric/rapp/healthcheck.git;a=blob;f=README.md