TS23.501 6.2.18 Network Data Analytics Function (NWDAF) 

# はじめに
「3GPP TS23.501(V17.6.0)を読んでいく Advent Calendar 2022」の12/21のNWDAFの回です。
https://qiita.com/advent-calendar/2022/3gpp_ts23501

簡単な自己紹介ですが、某JTCでNW情報の収集や分析に関する研究開発やってます。
[ネットワーク運用の高度化に向けたネットワークコントロールシステム構成技術](https://journal.ntt.co.jp/article/20114)

普段の業務では、モバイルの業務に関わることはほぼないのですが、モバイルでのNW情報の収集分析について、どんな議論がされてるか気になったので参加してみました。3gppのNetwork Data Analytics Function (NWDAF)に関する標準文書を、下記についてかいつまんで、まとめてみました。

* 概要
* アーキ
* NWDAFの説明
* 手続き

モバイルは全然わからんマンなので、プロの目から見て変な事書いてあったらすいません。(こっそり教えてください。)
個人として自己研鑽的に記載したものになりますので、会社は関係ありません。

# NWDAFって?
まず、そもそもNetwork Data Analytics Function (NWDAF) って何？、ってところから調べてみるため、とりあえず「NWDAF」「ドコモ」でググってみます。すると、ドコモのテクニカルジャーナルが出てきます。
[3GPP Release 16における5Gコアネットワークの高度化技術の概要](https://www.docomo.ne.jp/binary/pdf/corporate/technology/rd/technical_journal/bn/vol28_3/vol28_3_007jp.pdf)

NWDAFは、どうやらざっくりと言うと下記のような機能のようです。
* Rel-16で新たに導入されたネットワークデータ解析機能
* 5GCのNF(Network Function)やOAM(Operation, Administration and Management)からデータを収集し解析する機能
* ユースケースとしては、端末の在圏情報やトラヒックデータから下記を行う
    * 在圏管理
    * 最適なU-Plane (User Data Plane)ルートの選択
    * 特異な挙動の端末の分析と対策
    * 通信品質の予測
 
もう少し具体的に見てみるために、標準文書を眺めてみることにします。

# 標準文書読んでみる
今回のアドベントカレンダーのお題である[TS23.501](https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3144)にもNWDAFの記載があります。まずはそれを見てみます。

## TS23.501 (V17.6.0)

まず、4章記載のArchitectureの図を眺めてみますが、
>4.2	Architecture reference model
![fig1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132227/897cb202-c404-7d1f-b646-d6db53bbbad7.png)

アーキ図にNWDAFはおらず、下記の注釈があるのみです。

>NOTE 5:	For clarity, the NWDAF(s), DCCF, MFAF and ADRF and their connections with other NFs, are not depicted in the point-to-point and service-based architecture diagrams. For more information on network data analytics architecture refer to TS 23.288 [86].

また、6章記載のNetwork Functionにも、簡易な記載があるのみで、

>The details of the NWDAF functionality are defined in TS 23.288 [86].

とのことなので、[TS 23.288](https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3579)を見てみることにします。

## TS 23.288 V17.6.0
1章のScopeに
>The present document defines the Stage 2 architecture enhancements for 5G System (5GS) to support network data analytics services in 5G Core network.

との記載があるのでこちらがNWDAF的に本丸の文書のようです。

2章はReference、3章はDefinition and Abbreviationなので飛ばします。

### 4 Reference Architecture for Data Analytics
4章はNWDAFに関するアーキテクチャの記載があります。

まず、NWDAFが他のエンティティとやりとりする目的ですが、下記の記載があります。
* AMF, SMF, PCF, UDM, NSACF, AFやOAMから提供されるイベントのサブスクリプションに基づくデータ収集 
* データレポジトリから情報の検索を行う
* NFに関する情報の検索
* オンデマンドに分析結果を提供
* Analytics IDに関するバルクデータの提供

またOptionallyで
* DCCF(Data collection Coordination Function)を使ってデータ収集や分析を行う
* ADRF(Analytics Data Repository Function)からの情報の保存と検索を行う
* MFAF(Messaging Framework Adaptor Function)からのデータ収集と分析
という仲介役的な機能に関する記載もあります。

なお、NWDAFはPLMNにつき一つまでというわけでは無く、複数のインスタンスが置かれても良いようです。

そして、肝心のNWDAF周りのアーキテクチャはこちら。

![fig2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132227/b682e90a-8064-b57f-b2e5-a2a353d36365.png)
これはデータ収集に関わるアーキで、大変シンプルです。
NWDAFは他のNFとNnfというIFで、
* データ収集のサブスクリプションの要求
* サブスクリプションの停止
* データに関するある特定の報告要求
を行うようです。

![fig3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132227/ff586060-0c55-84c8-1316-cc877dffa44b.png)
そしてこれは、データの分析結果提供に関わるアーキで、これも大変シンプル。
NFは他のNFとNnwdafというIFで、
* NW分析情報のサブスクリプションの要求
* サブスクリプションの停止
* NW分析情報に関するある特定の報告要求
を行うようです。

DCCFやMFAFがNWDAFとNFを仲介するアーキも存在します。(Figure 4.2.0-1a, Figure 4.2.0-2a)
また、異なるNWDAF間で学習済み機械学習モデルを、Nnwdaf IFでやりとりしあうアーキもあるようです。(Figure 4.2.0-3)

また、異なるPLMN間で、NWDAFと他のNFの連携を行うことについては、現在は考慮されてなさそうです。

### 5 Network Data Analytics Function Description
5章はNWDAFの機能に関する記載があります。

* 全般的な記載
* NWDAFの発見と選択に関する記載
* データ収集の調整や提供機能に関する記載
* 分析データの格納に関する記載

今回は全般的な記載のみ見ていこうと思います。

まず、NWDAFは下記論理的な機能部を有するようです。

* Analytics logical function (AnLF)
推論や分析情報の導出を行い、分析サービスの公開を行う機能部

* Model Training logical function (MTLF)
機械学習を行い、学習モデルの提供を行うなど学習サービスの公開を行う機能部

そもそも、分析情報とは過去のイベントや予測に関する統計情報を意味するようです。また、分析に特化した異なる複数のNWDAFが5GCにあっても良く、NWDAFの能力はNRFのNWDAFプロファイルに記載されるようです。

その他にも
* 変な挙動をしているUEからの情報を遮断しつつ機械学習を行うことで分析精度を上げる
* それぞれのNWDAFが何できるかを示すために、NWDAFがサポートしているAnalytics IDを提供する
* NWDAFはNFが何の分析をするかは関与しない
* 複数のNWDAFが階層/ツリー構造になっても良い。階層の場合、あるNWDAF以外のNWDAFが集めたデータを分析した結果を生成する能力を公開しても良い
* いくつかのNW配備でもNWDAFが発見可能なような仕組み(良く解らんかった)
等の記載があります。

### 6 Procedures to Support Network Data Analytics
6章はNWデータ分析に関わる手続きに関する記載があります。

* 分析結果の公開手続き
* データ収集の手続き
* 各ユースケースの手続き
    * Sliceの負荷に関する分析
    * 観測Service Experience分析
    * NFの負荷に関する分析
    * NW性能に関する分析
    * UEに関する分析
    * ユーザのデータ輻輳に関する手続き
    * QoS Sustanabilityに関する分析
    * 端末の分布に関する分析
    * WLAN性能に関する分析
    * セッション管理の輻輳制御のExperience分析
    * 冗長転送のExperience分析
    * DN性能に関する分析
 
分析結果の公開手続き(6.1 Procedures for analytics exposure)とデータ収集の手続き(6.2 Procedures for Data Collection)は共通的な動作で、各ユースケースの手続きは各論的な動作が記載されているように見えます。また、各ユースケースの手続きの記載としては、ユースケースの説明、入出力の説明、シーケンスの説明にとどまっていて、分析自体の記載はOut of Scopeな整理のように読めます。

本稿では、共通的な動作である"6.1 Procedures for analytics exposure" "6.2 Procedures for Data Collection"に絞ってみていこうと思います。

#### 6.1 Procedures for analytics exposure
この節は分析結果の公開手続きについて記載された節となり、下記についての記載があります。
1. 分析結果の Subscribe/Unsubscribe
2. 分析依頼
3. 分析結果の中身
4. DCCFを用いた分析結果の公開

1のシーケンスについては
![fig4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132227/b2c4e2ef-6887-5dcb-c484-30be9002a383.png)

![fig5.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132227/5c638e58-6a8e-3c29-7f93-39583c9fb50b.png)

のような形で、NEFを仲介するかしないかの差異はあれど、subscribe/unsubscribeしたいAFがトリガとなってNWDAFにsubscribe/unsubscribeの登録を行う動きのようです。
NEFを仲介する場合、NEFはanalytics exposure mappingという、AFの識別子<->Analytics ID/inboundとoutboundの制約(どのAFに何の分析結果を渡せるか)のマッピングを管理しており、AFはそれを用いてsubscribe/unsubscribeの登録が可能になるようです。

更に2のシーケンスについても
![fig6.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132227/aefca8a3-9e72-9f49-0df8-f001be343f50.png)

![fig7.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132227/4ee2a2a9-dbb8-4e5f-5c92-357edb21147e.png)

のような形で、1と同じくNEFを仲介するかしないかの差異はありますが、分析依頼を行いたいAFがトリガとなってNWDAFに分析依頼を投げる動きのようです。NEFを仲介する場合、こちらについてもNEFが管理しているanalytics exposure mappingを用いる動きになるようです。

1と2の動作における、NWDAFの入力であるNnwdaf_AnalyticsSubscription_Subscribe/Nnwdaf_AnalyticsInfo_Requestにおいて何のパラメータが渡るかの記載もあります。パラメタの種類が多いので、かいつまむと下記のようです。
* Analytics IDのリスト
    * 分析結果のフィルタ条件
* 分析結果の報告先
* 同じような分析結果を利用する関連AF(よくわからん)
* 分析結果
    * 色々書いてある

また、それに対するNWDAFの出力の記載もあります。パラメタの種類が多いので、かいつまむと下記のようです。

* 各Analytics IDに対する分析結果
* 分析結果が生成されたタイムスタンプ
* 分析結果の有効な期間
* 予測結果における自信度合

また、4におけるDCCF仲介の記載もありますが、量が多いので割愛…
DCCFがNWDAFの分析結果のキャッシュの役割を果たしているように見えます。

更に
* 複数のNWDAFの分析結果の集約手続き
* 分析結果のsubscriptionの転送
* UDMへのNWDAFの登録/解除
の記載がありますが、結構ややこしそうなので割愛…

#### 6.2 Procedures for Data Collection
この節はデータ収集の手続きについて記載された節となり、下記についての記載があります。

* NFからのデータ収集
* OAMからのデータ収集
* NWデータとサービスデータの相関
* 複数のNWDAFインスタンスに跨る時間調整
* データ収集に向けたエンハンスされた手続き
* イベントのミュート
* UEアプリケーションからの情報収集手続き
* 分析のためのユーザ同意

NWDAFは様々な情報ソース(NFやOAM)から情報を検索することができることを想定しているようです。また、NWDAFは優先度付けや範囲指定、サンプリングレートの変更により、情報収集量の削減についても決定することができるとの記載があります。

NWDAFは、5GC NF全てのイベント通知のsubscribe/unsubscribeを行うことが想定され、その手段としては各NFのサービスを利用することが前提のようです(下記表)。

![fig8.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132227/fb902e64-af45-4b60-8e6e-782ae7674942.png)

また、目的の一つとして個々のUEやUEの集合の振る舞いに関するデータの検索やグローバルなUEの情報(あるエリアに属する端末の数等)のようです。NWDAFがあるUEの情報について検索する際は、NWDAFを利用するconsumerの問い合わせにArea of interest情報が含まれるか否かで挙動が変わり
* 含まれる場合はNWDAFはどのNFがUEをservingしているのか下記表を用いてまず解決する
* 含まれない場合は、NWDAFはAMFからUEのlocation情報を問い合わせ、UEがArea of interestに移動した場合は、NWDAFはどのNFがUEをservingしているのか下記表を用いて解決するか、NRFに問い合わせる。
動作を行うようです。

![fig9.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132227/199d5651-5b28-46e8-1a90-9eebf0c16132.png)

(各NFへの問い合わせの具体的な方法に関する記載もあるのですが、各NFに関する知識不足により読み進められず…)

NWDAFはOAMからの、下記情報収集についてもサポートしているようです。
* TS 28.552に記載のあるNG RANや5GCのperformance measurement
* TS 28.554に記載のある5GのE2EのKPI
* TS 28.550に記載のあるPerformance Management
* TS 28.545に記載のあるFault Supervision
* TS 37.320に記載のあるMDT経由でのUEの情報収集

NWDAFがOAMから収集するシーケンス例としては、下記のようです。
![fig10.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132227/404738bc-68f2-2764-bf97-795ae596547d.png)

# 感想
というわけで、NWDAFに関する文書を一通り読んでみました。

NWDAFのアーキや何をする機能なのか、基本的な動作は何となく理解できた気がしました。しかし、当たり前ですが、各ユースケース実現に向けた詳細の理解を進めるには、各NFに関する知識を増やす必要があるなと思ったので、勉強しようと思いました。

また、TS 28.552やTS 28.554についても気になったので、勉強してみたいと思いました。

NW情報収集の研究開発をこれまでに行って、NW情報活用のユースケースとしては下記のようなものが効果的かなと思っています。NWDAFがどこまでできそうなのか今後見極めていきたいと思います。
* 設備監視
* サービス監視
* セキュリティ
* レポーティング
* 設備/トラヒックのプロビジョニング

特に、大規模障害時の影響把握などは、各社の報告資料の最初に出てくるくらい重要な情報なので、こういうのが迅速に取りまとめられるようになるのかとかは気になります。

[通信障害の対応状況に関する説明会/docomo](http://ngt.idc.nttdocomo.co.jp/20211110_10.pdf)

[7月2日に発生した通信障害について/KDDI](https://www.kddi.com/extlib/files/corporate/ir/library/presentation/2023/pdf/kddi_220729_shougai_qybBYn.pdf?fbclid=IwAR3MdQKzqBDPXO4vB6SM0Nca3StQzDoxUFmFSVYKbO5RA8D_zCqVbulwIUw)

また、実装面(ベンダ実装とか)についても、引き続きウォッチしていこうかなと思います。