---
# System prepended metadata

title: O-RAN Near-RT RIC 介紹
tags: [nycu MIRC104]

---

---
title: O-RAN Near-RT RIC 介紹
tags: nycu MIRC104
---
# O-RAN Near-RT RIC 介紹
> [name=蔡秀吉]<br/>[time=Jan 14 2022][color=#F4B400]

## Near-RT RIC 概述
- 是開放基站(O-RAN) 架構中的創新元件，用於實現**網路資源分配智慧化**，促進無線電資源管理(RRM)。

### 其他功能概述
- 支援第三方控制應用程式 xApp 部屬。
- 藉由收集 E2 介面提供的數據，透過 Non-RT RIC 提供 Near-RT RIC 的網路資源智慧分配 AI/ML模型以及 Policy，來進一步優化 RAN（如： RAN 對網路元件(elements)的即時控制、即時網路資源分配智慧化。）達成 QoS 管理、連接管理和無縫切換(handover)控制

## Near-RT RIC 架構圖 
![](https://i.imgur.com/bjl0KTV.png =60%x)
- 圖源：[O-RAN.WG3.RICARCH-v03.00](https://drive.google.com/file/d/1Cf3tRF_Mj1pbidRKcooDISe3TZ1uTrEz/view?usp=share_link)
- 基本上所有實體 (CU, DU, eNB) 都可以作為 E2 節點 (E2 Node)。
-  O-RAN 架構兼容 5G 和 LTE。所以這邊要注意，此處顯示的 E2 Node 的定義包含 CU/DU (5G NR) 以及 LTE eNB (O-eNB) 
> 5G NR 系統中，基地台稱為 gNB(Next. Generation Node B)
> LTE 系統中，基地台稱為 eNB(Evolved Node B)
## RIC 部屬位置
- 非即時智慧控制器(Non-RT RIC)，被部屬在服務管理與編排(SMO) 當中。
- 近即時智慧控制器(Near-RT RIC)，部屬在歸類於**網路邊緣(edge of the network)** 的部分，通常歸類在和 CU 在同樣的位置。

![](https://i.imgur.com/Vmvuhf1.png =50%x)
圖源：https://arxiv.org/pdf/2202.01032.pdf

![](https://i.imgur.com/EsN36xI.png =80%x)
圖源：[Near_RT_RIC_for_ONS (PDF)](https://wiki.o-ran-sc.org/download/attachments/10715420/Near_RT_RIC_for_ONS.pdf?version=1&modificationDate=1569917902737&api=v2)
> 可以看到兩個 RIC 部屬的位置是不同的，Near-RT RIC 位在圖中央 REC(Radio Edge Cloud) 的地方。

## Near-RT RIC 閉迴路控制(Control Loop Control)
- 這項功能引入了數據驅動(data-driven)的閉控制，可以自動優化網路資源和 RAN 的切片、負載平衡、切換、調度策略(Policy) 等...，這項功能實現了網路智慧化。
- Near-RT RIC 閉迴路的決策時間週期為(10ms-1s)
- Near-RT RIC 通常會連結多個 RAN Node，因此閉控制會影響成百上千個用戶設備(UE) 的 QoS。

## Near-RT RIC 介面
1. **A1介面**：SMO 當中的**非即時智慧控制器(Non-RT RIC)**，透過 A1 介面連接 **近即時智慧控制器(Near-RT RIC)** ，Non-RT RIC 會提供 Near-RT RIC 用於智慧「管理、分配」網路資源的 ML（機器學習）模型，以及提供即時優化 RAN 控制的決策(Policy)。

![](https://i.imgur.com/ft9tzXv.png =60%x)

2. **O1介面**：SMO 透過 O1介面連接 Near-RT RIC，O1介面是用於實現 RAN 的 FCAPS 管理、軟體管理(SW management)、檔案管理(File Management) 等相關功能。
> FCAPS 是（Fault, Configuration, Accounting, Performance, Security）的縮寫 [name=蔡秀吉]
3. **E2介面**：近即時智慧控制器(Near-RT RIC)，藉由**收集** E2 介面提供的細粒數據(fine-grained data)，然後透過 (closed-loop control) 閉環迴路控制，來進一步優化對 RAN 的決策及控制，如下列兩項：
    - RAN 對網路元件(elements)的即時控制
    - 即時網路資源分配智慧化
> 細粒數據(fine-grained data)：E2 Node 從 UE 端獲得的那些更詳細、精細的數據，這些數據是用來優化 RAN。 [name=蔡秀吉]
#### E2 舉例講解 
你把他想成 E2 Node 透過 E2 interface 向 Near-RT RIC 送出「我需要大量網路資源」的指令。當 Near-RT RIC 收到來自 E2 Node 的指令，就會依照 Non-RT RIC 提供的資源分配策略(Policy)，來智慧分配網路資源給 E2 Node。

## Near-RT RIC 內部組件
![](https://i.imgur.com/0Ac75bl.png =60%x)

(圖片經裁切)可以看到 Near-RT RIC 內部有好幾個組件，以下逐個介紹。
### Near-RT RIC xApp 介紹
- xApps 支援通過標準化介面(E2,A1 etc.,)來進行無線電資源管理Radio Resources Management (RRM)。
- xApps：設計用在 Near-RT RIC 上運行的APP。 它可能由一個或多個微服務(containers)組成。
- 所以可以在 Near-RT RIC 上同時運行多個 xApp
- xApps 提供數據監控，xApps 在被 Onboard 後，會自動去識別自己該使用什麼資料，以及該提供什麼資料，而後將其營運管理與維護(OAM)資訊和控制資訊，通知給 Near-RT RIC 平台來啟用相關功能。
- xApp 提供用來調整 RAN 的參數
- xApp 接收 RAN 的數據，並通過 E2介面發送控制指令。
- xApps 具備描述符(descriptor) 提供基本資訊 如：
    - xApp for LCM (Life-Cycle Management) 的基本資訊
    - xApp 的配置資訊
    - xApp 負載過重時的自動縮放(OpenShift)
    - xApp 不健康時的自動修復

#### 圖解 Near-RT RIC xApp 微服務架構
![](https://i.imgur.com/1Ok0sf8.png)
左圖 Near-RT RIC platform，右圖 docker container
> 有沒有發現相似之處（左圖紅框對比右圖），雖然這樣敘述不夠精確，但就兩張圖比對而言，你應該就知道，在架構上 xApp 是如何部屬到 Near-RT RIC platform 上的了。

### Near-RT RIC 內部組件功能介紹
1. 訊息傳遞基礎設施(Messaging infrastructure)：
是 Near-RT RIC 內，不同組件的通用訊息傳遞系統，讓內部各功能組件的訊息能互相溝通。
2. 資料庫與相關的共享資料層(Database and related SDL (Shared Data Layer)：
    - 這個組件是用於資料儲存(允許讀取資料庫及寫入 RAN/UE 資訊)。
主要是寫入來自 RAN/UE 的資訊，但其實任何資訊都可以儲存到資料庫。（開放讓特殊的 use cases，儲存特定資訊）
    - SDL 啟用無狀態應用(stateless application processes)：
    在某些工作程序時，伺服器不會一直 recall 用戶狀態，因為這樣可以減少資源消耗。

>[Stateful and Stateless Applications and its Best Practices](https://www.xenonstack.com/insights/stateful-and-stateless-applications)
[Kubernetes 那些事 — Stateless 與Stateful](https://medium.com/andy-blog/kubernetes-那些事-stateless-與stateful-2c68cebdd635) [name=延伸閱讀(無狀態程序介紹文章)]

3. 衝突緩解(Conflict Mitigation)：
解決來自多個 xApp 的潛在重疊或衝突情況。
- 直接衝突：兩個/多個 xApps 請求不同的設置來控制目標。
    > 例如：A 和 B 是 xApps A 和 B，A 要求 C 向左走，B 要求 C 向右走。衝突緩解會來解決下一步，要採取什麼行動。
- 間接衝突：影響相同結果的兩個/多個參數可能會發生衝突。
    > 例如：xApps A 包含天線參數(傾斜角度、增益等....)，xApps B 包含天線測量偏移，他們雖然是兩個不同的控制點，但兩者都會影響邊界的換手及邊界大小，所以"衝突緩解"需要調解實際應用時的潛在衝突。
> [天線與微波傳播（有關天線參數和天線輻射邊界受影響的資訊）](http://cc.ee.ntu.edu.tw/~thc/course_emexp/note/Exp%20-%2004.pdf) [name=延伸閱讀]

4. xApp 訂閱管理 (Subscription manager)：
合併來自不同 xApp 的訂閱，同時也統一 xApp 的數據分發。

![](https://i.imgur.com/nCJHRLA.png =80%x)
當兩個或多個 xApp 訂閱在同一個 E2 Node 時，xApp 訂閱管理會將他們合併成一個訂閱。

5. 管理功能(Management Function)
    - Near-RT RIC 的 FCAPS 管理
    - 實現 xApp 的 LCM(Life-Cycle Management)
    - 負責錯誤日誌記錄和指標收集，來監控並收集 Near-RT RIC 內部狀態，這些狀態可以傳輸到外部系統，做進行進一步評估。
    
6. 安全(Security)：
     - 為 xApps 提供資安解方，防止第三方的惡意 xApp 濫用無線電網路資訊，或是對 RAN 的控制能力造成影響。
> 資安在 O-RAN 架構中非常重要，因為 O-RAN 開源、開放介面(open interface) 的關係，現在人人都可以製造惡意 xApp。

> 台灣金官會和 NCC 就有要求，如果企業要部屬 5G 專網，會需要有資安長或是資安維運計畫。[name=課外補充]

7. AI/ML support：
    - 處理 xApps 的 Data pipeline、Training 資料和效能監控。
    - Data pipeline 的數據輸入包括：
        - 通過 E2 介面收集的 E2 Node 數據
        - 通過 A1 介面的豐富資訊
        - 來自 App 的資訊
        - 通過 訊息傳遞基礎設施 從 Near-RT RIC 資料庫檢索出來的數據
    - Data pipeline 提供數據給 Near-RT RIC 中的 AI/ML  作為 Training 用。
> 把他當成是處理資料流的系統 [name=課外補充]
> 延伸閱讀：[什麼是 Data Pipeline](https://medium.com/bryanyang0528/data-data-pipeline-101-一-22654343e028)
8. xApp 儲存庫功能(xApp Repository Function)
- 根據 A1 Policy 的類型和運營商 Polices ，選擇用於 A1 訊息路由的 xApp。
- 執行訪問控制，控制 A1-EI types for xApps based on operator policies。
> 怕翻譯錯誤，提供有關[A1-EI Design 的資料](https://wiki.o-ran-sc.org/display/RICP/A1-EI+Design?preview=/33292385/33292386/A1-EI_v2.pptx)

9. xApp 管理(xApp management)
Near-RT RIC 具備 xApps 自動生命週期管理的服務(LCM)和 API，執行從 Onboard 到部署和終止期間的(FCAPS)故障、配置、會計、性能、安全，以及跟蹤和日誌紀錄。
在 RIC 當中是通過 Kubernetes 基礎設施上的包裝器(wrappers)完成的。
## 注意事項
本文以譬喻、類比的方式進行科普，不精確處歡迎留言指教給予建議，互相交流。
## 其他參考資料
- [Understanding O-RAN: Architecture, Interfaces, Algorithms, Security, and Research Challenges](https://arxiv.org/pdf/2202.01032.pdf)
- [O-RAN.WG3.RICARCH-v03.00](https://drive.google.com/file/d/1Cf3tRF_Mj1pbidRKcooDISe3TZ1uTrEz/view?usp=share_link)
- [O-RAN: Disrupting the Virtualized RAN Ecosystem](https://ieeexplore.ieee.org/document/9579445)
- [O-RAN ALLIANCE Specifications](https://orandownloadsweb.azurewebsites.net/specifications)