---
# System prepended metadata

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

---

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


---

## Schedule:
1. Study detailed works of Admission Control xApp.
2. Study detailed works of KPI Monitor xApps.
3. Company Meeting with Compal
4. Study detailed works of UE Measurement Campaign xApps.

## Outcome : 
1. Explain the detailed works of Admission Control xApp.
2. Explain detailed works of KPI Monitor xApps.
3. Explain detailed works of Measurement Campaign 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 Admission Control xApp.  <mark>(9.00)</mark>
- Study more detail explanation in [Documentation](https://wiki.o-ran-sc.org/display/RICA/Admission+Control+xApp)and other resources.

### 2.Study detailed works of KPI Monitor xApps.  <mark>(12.00)</mark>
- Study more detail explanation in [Documentation](https://docs.o-ran-sc.org/projects/o-ran-sc-ric-app-kpimon/en/latest/overview.html).


### 3. Company Meeting with Compal  <mark>(14.00)</mark>
- 

### 4. Study detailed works of UE Measurement Campaign xApps.  <mark>(15.00)</mark>
- Study more detail explanation in [Documentation](https://wiki.o-ran-sc.org/display/RICA/Measurement+Campaign+xApp) and other resources.


---

## Report


### 1. How Admission Control xApps works ?

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

#### What is Admission Control xApps ?

Admission Control xApps ( usually called AC xApps ) are xApps that responsible for task as below.
1. Subscription for **SgNBAdditionRequest** message in the gNB.
2. Executing logic to determine if a dual connection should be accepted or rejected and generating the RIC CONTROL message.
3. Update metrics: dual connections accepted/rejected.

#### Functionality

From refernce, control via **A1 interface** can be configure by following 4 parameters as below.

- **Parameter 1: enforce** , type = Boolean, description = whether to apply admission control or not
- **Parameter 2: window length** , type = number , description = range over which to measure request volume
- **Parameter 3: trigger threshold**, type = number , description = threshold above which to trigger blocking
- **Parameter 4: Blocking rate** , type = number, description = percentage of requests to reject

A policy sent to the Admission Control xAPP must be a JSON that  conforms to the xAPP Policy Schema maintained by A1 Mediator.  The Admission Control instance of the schema is adm-ctrl-xapp-schema.json

:::info
- An example of received policy :   
```{ "enforce":true, "window_length":10, "blocking_rate":20, "trigger_threshold":10  }```
- Example of response from Admission Control xAPP on successful application of policy  : 
```{  "status":"SUCCESS",  "message":"Config applied" }```
:::

#### Deployment

There are 3 ways to deploy AC xApps as below.
1. On the RIC, the Admission Control xAPP can be deployed using xApp Manager REST API interface.
2. Use ``appmgrcli`` command provided by xApp Manager:
```appmgrcli -h appmgr-service p 8080 deploy admin xapp```
3. Use curl-command: 
```curl -X POST http://appmgr-service:8080/ric/v1/xapps  -d '{"name:" "admin xapp}'```

The Admission Control xAPP provides a configuration json and schema in its helm chart, conforming to the template structure dictated by the xAPP Manager
The configuration descriptor is **config-file.json**. The descrition can be seen as below.
- The configuration descriptor describes the RMR messages that the xAPP expects to consume, send as well as a static route table for preliminary testing.
- In addition, it exposes key configuration parameters under the 'env' block which can be used to configure behaviour of the xAPP. 

The schema of the descriptor is **schema.json**.

---

### 2.  KPI MOnitor xApps

> In this note Writer use [Documentation](https://docs.o-ran-sc.org/projects/o-ran-sc-ric-app-kpimon/en/latest/overview.html) as study sources.

####  What is KPI MOnitor xApps ?

KPI Monitor xApps are first step towards an xApp that collects **metrics** from CU and DU and stores them inside the RIC for other xApps to consume.

#### Functionality

- LTE eNB and 5G NR gNB produce data that can be monitored and analyzed to measure the system’s effectiveness. 
- The near Real-Time RIC can gather the radio and **system Key Performance Indicators (KPI)** from E2 Nodes and can utilize the metrics for closed-loop control. 
- The KPI includes but not limited as below.
  -  UE measurement
  -  E2 Node Measurement
  -  E2 Node Load-related measurement. 
- The KPIMON xApp provides the first step towards the successful closed-loop control, through the monitoring E2 Node’s performance metrics, and writing it into Redis DB. 
- With the near real-time reporting KPIs, the near Real-Time RIC can immediately control E2 Nodes.

#### System Limitations

- The xAPP currently does not support A1 Interface, so policy updates is not implemented in the xAPP. All the GNB to be subscribed needs to be specified initially.
- The xAPP currently only supports messages from CU.
- The subscription request parameters (RAN Function ID etc) cannot be changed.

:::info
Writer don't find many source about KPI Monitor xApp in internet other than documenation.
:::

---

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

#### What is Measurement Campaign xApps ?

Measurement Campaign xApps ( usually called MC xApps ) are xApps that calculates a number of metrics and KPIs based on X2 messages formatted as protobufs as defined in ``/ric-plt/streaming-protobufs``.

In the MC xApp, we compute 5G KPIs at customized fine-grained granularities as below. 

- On a per-UE per-bearer basis 
- On a per-UE basis 
- On a UE-group basis 
- On an NR cell-wide basis 
- On an NR gNB-wide basis

The key 3GPP EN-DC X2AP procedures that we handle in the MC xApp as below.
- SgNB Addition 
- SgNB Release 
- SgNB Modification 
- RRC Transfer 
- Secondary RAT Data Usage Report

#### Architectures

From reference , the main components of MC xApps can be shown as below.

1. **mc-core/*** contains the source of core MC xApp container. 
  - **+ mc-core/mc/queries/** contains a set of queries computing the output metrics and KPIs. 
  - **+ mc-core/mc/data_gen/** contains a generator of X2 messages to run MC in standalone simulation mode without UEEC.
3. **sidecars/** contains the source code the RMR listener container responsible for listeting to UEEC messages and forwarding them to mc-core.
4. **docs/** contains the documentation.

#### Functionality

From the components above the functionality can be shown as below.

- The metrics are reported periodically as VES events and include metrics such as number of dual connected UEs, duration of dual connections, and signal strength metrics. 
- Internally, MC xApp uses the **gs-lite stream processing engine** (com/gs-lite).
- The protobufs are received as RMR messages from UEEC.
  - If no such data producer is available, MC xApp can be run in a simulated mode where the protobuf content is generated locally by the UEEC simulator running in the same container.




---


## Reference
1. https://wiki.o-ran-sc.org/display/RICA/Admission+Control+xApp
2. https://docs.o-ran-sc.org/projects/o-ran-sc-ric-app-kpimon/en/latest/overview.html
3. https://wiki.o-ran-sc.org/display/RICA/Measurement+Campaign+xApp