---
# System prepended metadata

title: Daily Note 21/07/2020
tags: [O-RAN, Daily Notes, Acumos]

---

# Daily Note 21/07/2020
###### tags: `Daily Notes` , `O-RAN` , `Acumos`
## Name : Christofel Rio Goenawan
## University : Bandung Institute of Technology (ITB)


---

## Schedule:
1. Study detailed works of ML- based xApp.
2. Study detailed works of Traffic Steering Use Case xApps.
3. Study detailed works of UE Manager xApps.

## Outcome : 
1. Explain the detailed works of ML- based xApp.
2. Explain detailed works Traffic Steering Use Case xApps.
3. Explain detailed works of UE Manager xApps.
## Further Plan : 
- Study more detailed about current xApps
- Study more detailed about AIO Installation in Kubernets
- Try to deploy Acumos AIO in NTUST server


---

## Daily Log

### 1.Study detailed works of ML- based xApp. <mark>(9.00)</mark>
- Study more detail explanation in [Documentation](https://wiki.o-ran-sc.org/display/RICA/ML-based+xApp) and other resources.

### 2.Study detailed works of Traffic Steering Use Case xApps. <mark>(11.30)</mark>
- Study more detail explanation in [Documentation]().


### 3. Study detailed works of UE Manager xApps.  <mark>(13.30)</mark>
- Study more detail explanation in [Demo](https://wiki.o-ran-sc.org/display/RICA/Traffic+Steering+Use+Case+xApps?preview=/20873287/20873289/OSC%20AT%26T%20Traffic%20Steering%20xApp%20and%20Namespace%20Design%203.26.2020.pptx).


---

## Report


### 1. How ML- based of xApps works ?

>In this note Writer use [Documentation](https://wiki.o-ran-sc.org/display/RICA/ML-based+xApp) as study sources.

#### Acumos AI Model as xApps

- The aim is **to support ML models in non-real time and near-real time RIC usecases** and some aim as below.
  1. Quickly import an Acumos model into RIC and adapt it into as an xApp (near-real time).
  2. Deploy Acumos models as is into non-real time (mostly on ONAP side).

- The Priority is **to get something working with minimal changes possible on ML models** by focus on performance in the later releases, since many ML models take some time to execute anyway.

- Build a standard xApp/Acumos microservice adapter deployed along with the Acumos ML model in one Kubernetes pod.

- Adapter speaks RMR protocol to RIC and communicates with the Acumos ML model in the standard http / GRPC manner.

- Configuration needed for each deployment to tell adapter how to speak with Acumos ML model.
  - It can be auto generated using ML model protobuf definition.
 
- Consider writing custom RMR model runner for performance in near-real time RIC xApps in the following releases.

The simple model can be seen as below.

![](https://i.imgur.com/JiAtlg1.jpg)

#### Why using Acumos AI ?

From reference,  the unique features are as below.

1. **Distributed AI Marketplace**
2. **Interoperable ML Microservices** 
3. **Common Open Source Framework to AI** 

And other advantages can be seen as below.

1. **Standardized platform and easy export and Docker-file deployment to any environment**. 
2. **Simplified toolkit and model onboarding** helps data scientists focus on building great AI rather than maintaining infrastructure.
3. **Visual design editor and drag-and-drop application design** and chaining lets trainers and other end users deploy normally complicated AI apps for training and testing in minutes.

:::info
 **Next Writer will learn more detailed about ML- based xApps through other sources**
:::

---

### 2.  Traffic Steering Use Case xApps

> In this note Writer use [Documentation](https://wiki.o-ran-sc.org/display/RICA/Traffic+Steering+Use+Case+xApps?preview=/20873287/20873289/OSC%20AT%26T%20Traffic%20Steering%20xApp%20and%20Namespace%20Design%203.26.2020.pptx) as study sources.

####  Traffic Steering Message Flow

The detailed scheme of Traffic Steering Message Flow can be shown as below.

![](https://i.imgur.com/fuqOSHJ.png)

#### Data Design

One of the data design in traffic use case is **KPPMON model**. The detailed scheme of KPPMON report flow can be seen as below.

![](https://i.imgur.com/9I776Ys.png)

#### Functionality

Based on scheme above, some components supports the following functions:
- **Cell Data**
  -  Namespace: TS-Cell-Metrics
  - Attempt to aggregate Cell-level data in a single namespace
  - Key is Cell-ID
  - Data includes aggregate metrics about PDCP Throughput and PRB
  - Provide separate timestamps and period for each report source
  - A single record is stored for given Cell-ID, not a time-series

- **UE Data**
  - Namespace: TS-UE-Metrics
  - Attempt to aggregate UE data in a single namespace
  - Key is UE ID
  - Data includes UE-specific metrics about PDCP Throughput and PRB, provided by Network Function
  - Data includes RF data about serving and neighbor cells
  - Provide separate timestamps and period for each report source
  - A single record is stored for given UE-ID, not a time-series

#### Type of Measurements in KPPMON Bronze

From reference, there are 3 main measurements in KPPMON Bronze as below.

1. **Measurement Reports** (signal strength) sent by UE for serving and neighboring cell (E2 Node is CU-CP). Include RSRP, RSRQ , and RS-SINR.
2. **PRB Usage – cell-wide and by UE (E2 Node is DU)**
  - Total number of PRBs available, cell-wide, on average at sampled times through the measurement period
  - Number of PRBs used, broken down by UE, on average at sampled times through the measurement period
3. **PDCP Bytes – cell-wide and by UE (E2 Node is CU-UP)**
  - Number of bytes processed by PDCP layer for the entire cell and broken down by UE, over the measurement period.  PDCP Throughput calculated based on this number and the length of measurement 
period


---

### 3. UE Manager xApps
> In this note Writer use [Demo](https://wiki.o-ran-sc.org/pages/viewpage.action?pageId=12157337)  as study sources.

#### What is UE Manager xApp ?
UE Manager is an **example xApp that demonstrates how to subscribe to UE dual connection related messages via the E2 interface and how to process the RIC INDICATION messages matching those subscriptions**.



It is responsible for:

1. Subscribing to and handling the following X2 messages: UEContextRelease, SgNBReconfigurationComplete.
2. Update metrics: UE dual connections created and released
3. Health check (K8s liveness probe)
  - ``/ric/v1/health/alive``
   - ``/ric/v1/health/ready``
4. Handle restart

#### Deployment

There are 3 choices to deploy UE Manager xApps as below.

1. Deploy the uemgr using xApp Manager REST API interface
2. Use **appmgrcli command** provided by xApp Mamanager:
```appmgrcli -h appmgr-service -p 8080 deploy uemgr```
3. Use curl-command: 
```curl http://appmgr-service:8080/ric/v1/xapps -d '{"name:" "uemgr"}'```


:::info
Writer don't find many source about UE Manager in internet other than documenation.
:::

---


## Reference
1. https://wiki.o-ran-sc.org/display/RICA/ML-based+xApp
2. https://wiki.o-ran-sc.org/display/RICA/Traffic+Steering+Use+Case+xApps?preview=/20873287/20873289/OSC%20AT%26T%20Traffic%20Steering%20xApp%20and%20Namespace%20Design%203.26.2020.pptx
3. https://wiki.o-ran-sc.org/pages/viewpage.action?pageId=12157337