[ORAN] Use Case: OSC-Traffic Steering
在目前的 O-RAN 環境 (e-version) 中, 最完整的 xApp 範例仍是 Traffic Steetring,
但並沒有詳述其在 O-RAN Software Community (OSC) 中的實作,
在 OSC 實作中, 我們可以以下面這張圖來解說:
在流程圖中, 有4個 xApp (KPIMON, QPd, QP, TS), 我們列舉並說明其功能:
- KPIMON: 以 GO 撰寫, 負責向 E2Term 訂閱資訊, 存入 SDL
- QPd (QP driver): 讀取 SDL 的數值, 將數值給予 QP (後續實作已併入 QP)
- QP (QoS Predictor): 根據 TS 的需求, 預估目標 UE 在附近 gNB 可得到的 UL/DL 資源
- TS (Traffic Steering): 進行換手的決策 (寫入 log 中)
在此實作中, 其實不只有 Use Case 5: Traffic Steering 的實作,
也包含了 Use case 4: QoE Optimization 的實作, 這部份我們會在之後解釋.
同時, 我們也可以看到在這個實作中, 為了當時 O-RAN 的限制, 做出許多奇怪的設計,
例如:
- QPd, QP 都是使用 python xApp 撰寫, 由於 python xApp 不支援 E2 的資料交換,
因此有一個以 GO 撰寫的 KPIMON xApp 進行 E2 資料的訂閱, 並轉傳 SDL. - QPd 和 QP 的分工, 一開始應該是為了把資料接取和計算框架分開,
所以寫了兩隻 xApp 進行分工, 這部分在 Dawn 版本中, 已整合至 QP xApp 中. - TS xApp 由於當初並不支援 Control 的資料下行, 因此, 只能將資料寫入 log 中,
在 Dawn 版本以後, 這部分有加入一個新的 RC (RAN Control) xApp,
試圖將 Control 訊息下達 E2 Node 中.
關於目前最新的 TS Use Case 說明請參考:
先不論上述在架構設計上的缺失, TS Use Case 仍然提供了 O-RAN 的一個完整展示,
在上圖中, 除了 4 個不同的 xApp 之外, 我們還可以看到 4 種不同資料流程,
- KPIMON-E2Term-E2Sim: E2 Subscription 流程
- KPIMON-SDL-TS/QPd: SDL 的資料交換
- TS-QPd-QP: 透過 RMR 進行的資料交換
- A1Med-TS: Restful API 進行 xApp Policy 的設定
其中, 整體的資料流程交換順序如下圖所示:
透過上述的資料流程與 xApp 實作, 基本上已經展示了 Cherry 版的主要功能,
在後續 OSC 的發展中, 依舊持續圍繞著此 Use Case 進行開發,
並嘗試加入 OSC 的新功能, 除了上述的 RC xApp 之外, QP xApp 也加入 ML 的功能,
比較可惜的是, 目前這邊沒有完整的介紹與操作文件,
尚無法確定最新 xApp 版本可以完成的功能.
留言
張貼留言