Skip to end of metadata
Go to start of metadata

The near-RT RIC Platform is a software based near‐real‐time micro‐service‐based platform for hosting micro-service-based applications - the xApps - that run on the near-RT RIC platform. xApps are not part of the RIC platform and developed in projects that are separate from the near-RT RIC platform project. The near-RT RIC platform is providing xApps the infrastructure for controlling a distributed collection of RAN base stations (eNB, gNB, CU, DU) in a region via the O-RAN alliance's E2 protocol ("southbound"). As part of this infrastructure it also provides "northbound" interfaces for operators: the A1 and O1 interfaces. Using the O-RAN alliance's A1 interface operators can express their intent for the network behavior and collect feedback on the implementation status of this intent. The RIC platform also is to implement the O-RAN alliance's O1 management interface primarily integrating FCAPS capabilities with ONAP. The near-RT-RIC platform provides mediation for both the E2, A1, and O1 interfaces between the xApps and the RAN elements (E2), and between the xApps and the operator (A1, O1), respectively. xApps use the services of the RIC platform.

Micro‐services that are needed for the near-RT RIC platform shall be considered part of the near-RT RIC Platform, including lifecycle management of xApps, restricting the span of control of xApps, xApps composition, xApps conflict resolution, E2 status information, and basic RAN data as obtained over the base E2 protocol (but not via E2 functions specific to the E2 services implemented on top of the E2 base protocol), logging and software execution tracing, configuration management, in-memory database add-ons, messaging services, statistics collection, micro‐service scheduling, and security.

The near-RT RIC platform or parts thereof are not intended to run on end user equipment (UEs) containing a radio module or other physical devices (IoT devices) that directly interact with the physical world and contain a radio module.

Any contributed source code file shall contain this sentence "This source code is part of the near-RT RIC (RAN Intelligent Controller) platform project (RICP)." in addition to the “normal” copyright statement.

Changes to the scope of the near-RT RIC platform as described above must be approved in the O-RAN Software community RICP project meeting.


The RICP (near-RT RIC platform) includes the following component repositories. The development of these components is managed via the RICP project. You may use the component in other projects. Changes to this this list must be approved in the O-RAN Software community RICP project meeting.

RepositoryDescriptionCommitters (also check "contact the committer from link)

Owning team (and PO) - Check §1d from link.

T1 = Antti, T3 = Abdulwahid , T4 = Avinoam, T5 = Matti, T6=Lusheng, T7=Bharath.

com/log

A thread-safe logging C API library with Mapped Diagnostics Context (MDC) support.

Ranjit Angajala (ranjit.angajala@n...), Abdulwahid W (abdulwahid.w@n...), Timo Tietavainen (timo.tietavainen@n...)

T3 (Abdulwahid)

com/golog

Golang implementation of the common logging library                

Ranjit Angajala (ranjit.angajala@n...), Abdulwahid W (abdulwahid.w@n...)

T3 (Abdulwahid)

com/pylog

Python implementation of the common logging library

Ranjit Angajala (ranjit.angajala@n...), Abdulwahid W (abdulwahid.w@n...)T3 (Abdulwahid)

ric-plt/a1

Terminating the northbound A1 interface. It is translating information received over A1 it into conrete actions that xApps must take to adpat their behavior accordingly and it sends back feedback on the implementation status of such actions.

EScottDaniels <daniels@research.at...>
Chris Lott <cl778h@at...>

T5 (Matti)

ric-plt/appmgr

Provides a flexible and secure way for deploying and managing various RIC xApp applications in a Kubernetes environment.

Nune <abukar.mohamed@n...>
juhhytti <juha.hyttinen@n...>
T1 (Antti)

ric-plt/dbaas

Adaptation of the single-instance Redis database

arvo.heinonen <arvo.heinonen@n...>
badorek <rolf.badorek@n...>
makiaija <jussi.maki-aijala@n...>
tallskog <marco.tallskog@n...>
tietavai <timo.tietavainen@n...>
T1 (Antti)

ric-plt/dbaas/hiredis-vip

Adaptation of the Redis database as a cluster of Redis instances to provide high-availability

badorek <rolf.badorek@n...>
tallskog <marco.tallskog@n...>
tietavai <timo.tietavainen@n...>
T1 (Antti)

ric-plt/e2

The E2 termination component that actually establishes

E2 SCTP connections (as requested by the E2 manager) and routes messages received/sent over E2 to/from RMR.

adienzel <aa7133@at...>
hanina <hanina@intl.at...>
ss412g <shuky.har-noy@intl.at...>
yakiratz <yaki.ratz@gma-..<dot>c...>
T4 (Avinoam)

ric-plt/e2mgr

The E2 manager implementation. The E2 manager controls E2 connection establishment and provides REST APIs to manage these connections.

adienzel <aa7133@at...>
hanina <hanina@intl.at...>
ss412g <shuky.har-noy@intl.at...>
yakiratz <yaki.ratz@gma...<dot>c..>
T4 (Avinoam)

ric-plt/lib/rmr

RIC message routing - A library originally based on NNG (nano-messaging nxt generation) for low latency message routing. Starting from Bronze (Feb-2020) we replaced NNG with plain usage of TCP in that library (see RIC-49).

EScottDaniels <daniels@research.at...>
MattiHiltunen <hiltunen@at...>

T5 (Matti)

ric-plt/nodeb-rnib

R-NIB APIs/libraries to store and retrieve RAN configuration data, like a list of cells per gNB.

hanina <hanina@intl.at...>
ss412g <shuky.har-noy@intl.at...>
T4 (Avinoam)

ric-plt/rtmgr

Routing Manager (ric-plt/rtmgr) is a basic RIC platform service, responsible for generating and distributing routing policies to xApps.

nithinsen <nithinsen.k@n..>
wahidw <abdulwahid.w@n...>

T3 (Abdulwahid)

ric-plt/sdl

SDL (Shared data layer) data access libraris for Redis including Redis server-side modules allowing multi-key atomic operations and publish channels.

badorek <rolf.badorek@n...>
makiaija <jussi.maki-aijala@n...>
tallskog <marco.tallskog@n...>
tietavai <timo.tietavainen@n...>
T1 (Antti) - JussiA and TimoT

ric-plt/sdlgo

same as ric-plt/sdl, but for the Go language

badorek <rolf.badorek@n...>
tallskog <marco.tallskog@n...>
tietavai <timo.tietavainen@n...>

T1 (Antti)

ric-plt/sdlpy

same as ric-plt/sdl, but for python

badorek <rolf.badorek@n...>
tallskog <marco.tallskog@n...>
tietavai <timo.tietavainen@n...>
T1 (Antti)

ric-plt/submgr

Near-realtime RIC Platform Subscription Manager

amannila <anssi.mannila@n...>
juhhytti <juha.hyttinen@n...>

T1 (Antti) - JuhaH and AnssiM

ric-plt/utils

Utilities and common configurations for the (near realtime) RIC Platform. First component this includes is the RMR-to-VES mediator that receives RMR stats events and converts them to VES.

Scott Daniels <daniels@research.at..>

Lusheng Ji <lji@research.at...>
T5 (Matti)

ric-plt/jaegeradapter

This repository includes files needed for starting the Jaeger Agent in a side-car container, and also files needed for starting Jaeger all-in-one of full collector containers.

Ranjit Angajala (ranjit.angajala@n...), Abdulwahid W (abdulwahid.w@n...)T3 (Abdulwahid)

ric-plt/tracelibcpp

This repo includes a small C++ library for using OpenTracing from near-RT RIC xApps and near-RT RIC platform components

Ranjit Angajala (ranjit.angajala@n...), Abdulwahid W (abdulwahid.w@n...), Timo Tietavainen (timo.tietavainen@n...)T3 (Abdulwahid)

ric-plt/tracelibgo

This repo includes a small golang library for using OpenTracing from near-RT RIC xApps and near-RT RIC platform components

Ranjit Angajala (ranjit.angajala@n...), Abdulwahid W (abdulwahid.w@n...)T3 (Abdulwahid)

ric-plt/vespamgr

The VESPA manager uses the VES Agent (https://github.com/nokia/ONAP-VESPA) to adapt near-RT RIC internal statistics collection using Prometheus (xApps and platform containers) to ONAP's VES (VNF event streaming).

Ranjit Angajala (ranjit.angajala@n...), Abdulwahid W (abdulwahid.w@n...)T1 (Antti)

ric-plt/xapp-frame

Artifacts for the (near realtime) RIC xapp framework, including common libraries, etc

Nune <abukar.mohamed@n...>
juhhytti <juha.hyttinen@n...>
T1 (Antti)

ric-plt/asn1-documents

ASN.1 definitions and related documents that are needed by other components

czichy <thoralf.czichy@n...>
Antti Puhakka ( antti.puhakka@n... )

T1 (Antti)
ric-plt/streaming-protobufsContains protobuf definitions that xApps can use, for example, to derive statistics from streams of messages obtained from the RAN.badorek <rolf.badorek@n...>
makiaija <jussi.maki-aijala@n...>
tietavai <timo.tietavainen@n...>
T1 (Antti)
ric-plt/resource-status-manager

NOT RELEVANT in BRONZE-R4 ANYMORE.

Implements the management of Resource Status messages over E2.


The Resource Status Manager is responsible to control the generation of Resource Status messages sent by the RAN to the RIC by issuing Resource Status Requests.The RSM provides an API that allows to start and stop the generation of these messages as well as to issue specific request commands. The RSM provides also default values which are used whenever a new RAN (eNB) is added to the RIC.

Shuky Har-Noy ( shuky.har-noy@intl.a), Hila Anina ( hanina@intl.a, Yaki Ratz ( yaki.ratz@intl.a)

T4 (Avinoam)

ric-plt/ric-test

RIC platform-specific testing that are not specific to a single RIC component

This repo includes test cases that span the full RIC platform, i.e., that cannot run against a single RIC component. This may also include simulators related to the E2 base protocol, or related abstract test xApps (that do not actually implement 3GPP specifications). Note that the test cases must still be limited to RIC platform only. If you want to write/check test cases that integrate also other O-RAN SC components, check the it/test repository.

Xuan Tuyen Tran (Harry) (tuyen@research.at... ), Amit Uttam ( amit.uttam@n... ) and Shashikumar HN ( shashikumar.hn@n... )T3 (Abdulwahid)
ric-plt/ric-dep

Code and configuration files that are needed for deploying a near-RT RIC platform instance

This includes, for example, helm charts for RIC platform components. In this we can make assumptions about the underlying k8s already existing or we can also spin up blueprints for such a deployment. Note that this component is intentionally limiting itself to the RIC platform and does not include other O-RAN SC components. For such you might want to look at the it/dep repo managed by another O-RAN SC project.

Lusheng Ji (lji@research.a) , Prabhu K ( prabhu.k@n ) Ranjit Angajala ( ranjit.angajala@n )T3 (Abdulwahid)
ric-plt/demo1A simple demo xApp running on the RIC platform. Note all content in this repo is under Creative Commons Attribution 4.0 International License.Timo Tietavainen ( timo.tietavainen@n ), Jussi Maki Aijala (jussi.maki-aijala@n ), Juha Hyttinen (juha.hyttinen@n) , Anssi Mannila ( anssi.mannila@n )T1 (Antti)
ric-plt/resource-status-processor

NOT RELEVANT in BRONZE-R4 ANYMORE.

Processing E2 resource status report messages.

The resource status processor handles incoming E2 resource status report messages and saves the data from these messages into the RNIB. Note that control or management of resource status reporting is not done by this processor, but by the Resource Status Manager.

ss412g (Har-Noy, Shuky shuky.har-noy@intl.a..), hanina (Anina, Hila hanina@intl.a...), yakiratz (Ratz, Yaki yaki.ratz@intl.a...)

T4 (Avinoam)

ric-plt/ricp-integration (not a  repo, only for JIRA planning)--T6 (Lusheng)
ric-plt/ricp-e2e (not a  repo, only for JIRA planning)--T7 (Bharath)
ric-plt/o1o1 mediator

Nune  = Abukar Mohamed abukar.mohamed@n... Erkki Hietala erkki.hietala@n...

T1 (Antti) - Abukar and ErkkiH

ric-plt/xapp-frame-py

Summary: The near-RT RIC python xapp framework


Description: The python xapp framework provides interface that simplify the usage of the RIC services, such as RMR, SDL (database) access, logging, ... . RIC provides frameworks for C++, Python, and Go.

EScottDaniels <daniels@research.at...>

Timo Tietavainen (timo.tietavainen@n...)

T5 (Matti)

ric-plt/xapp-frame-cpp

Summary:

The near-RT RIC C++ xapp framework


Description: The C++ xapp framework provides interface that simplify the usage of the RIC services, such as RMR, SDL (database) access, logging, ... . RIC provides frameworks for C++, Python, and Go.

EScotDaniels = daniels@research.at...  (=Scott Daniels)

rshacham     = rshacham@research.at... (=Ron Shacham)

amannila     = anssi.mannila@nok... (=Anssi Mannila)

T5 (Matti)
ric-plt/alarm-go

Summary: The near-RT RIC alarm adapter and Go library


Description: The alarm-go component provides an Golang interface for xApps and platform components to sendalarms (requiring operator action) and their clearance status to the RIC component that manages them. The RICalarm management adapter - also included here - is managing such notifications and forwarding them to the actualalarm management system used in the near-RT RIC, such as the Prometheus alert manager, which in turn can be setup to send alarms as VES events.

Nune      = abukar.mohamed@nok... (= Abukar Mohamed)

tietavai  = timo.tietavainen@nok...  (=Timo Tietavainen)

T1 (Antti)
ric-plt/alarm-cpp

Summary: The near-RT RIC alarm library for C++


Description: The alarm-go component provides an C++ interface for xApps and platform components to send alarms (requiring operator action) and their clearance status to the RIC component that manages them. Note that there's also a golang version of it in ric-plt/alarm-go.

Nune      = abukar.mohamed@nok... (= Abukar Mohamed)

tietavai  = timo.tietavainen@nok...  (=Timo Tietavainen)

T1 (Antti)




  • No labels