UDSF — Unstructured Data Storage Function¶
学習目標¶
- UDSFが5GCにおける「非構造化データ(unstructured data)」の格納層であり、NFの内部状態・コンテキストを外部に預けるためのバックエンドであることを理解する。
- UDSFが任意(optional)のNFであり、NFのステートレス化(状態の外部化)を支える存在であることを説明できる。
- 構造化データを扱うUDRとの役割の違い(構造化 vs 非構造化)を整理できる。
前提知識¶
- 構造化データの格納層 → UDR
- SBA(サービスベースアーキテクチャ)/SBI(サービスベースインターフェース)の考え方 → カリキュラム
- NF間インターフェースの命名と役割 → Interface辞典
この章で学べること¶
Why(なぜUDSFが必要か)→ What(UDSFとは何か)→ How(どう使われるか)の順で学びます。本章では特に、NFが内部に抱える「非構造化データ(内部状態・コンテキスト)」を外部の共通ストレージへ預けて、NFをステートレスに近づけるという考え方を主題として掘り下げます。構造化データを扱うUDRとの棲み分けが理解の鍵です。
Why — なぜ必要なのか¶
各NFが自分の内部状態(セッションのコンテキスト等)を自分の中だけで抱えていると、そのNFインスタンスが落ちれば状態も失われ、他インスタンスへ引き継げません。内部状態を外部の共通ストレージ(UDSF)へ預けておくと、NFインスタンスは状態を持たない(ステートレスな)作りに近づけられ、インスタンスの追加・入れ替え・障害復旧が容易になります。UDSFはこの「状態の外部化」を可能にするための共通の預け先です。
例え話: UDSFは「コインロッカー」です。各NF(利用者)は自分の荷物(内部状態)をコインロッカーに預けておけば、身軽に動け、別の窓口(別インスタンス)でも預けた荷物を取り出して続きを行えます。荷物を自分で抱え続ける(NFが状態を内部に持つ)と、その人がいなくなれば荷物ごと失われますが、共通ロッカーに預けておけば失われません。
Overview — 概要¶
UDSFは、任意のNFが非構造化データ(unstructured data)を格納・取得するための、任意(optional)に配置されるデータ格納NFです。利用側のNFはNudsfサービスを通じてUDSFにデータを読み書きします。ここでいう「非構造化」とは、3GPPが標準としてデータ構造を規定しないデータ(各NF内部の状態・コンテキスト等)を指し、その中身の解釈はデータを預けたNF側に委ねられます。UDSF自体は判断ロジックを持たず、格納・取得・更新・削除・購読/通知を提供する格納層に徹します。
構造化データはUDRが担い、非構造化データはUDSFが担うという棲み分けが基本です(詳細な役割分担・データ種別の切り分けは要確認)。
Basic Concept — 初心者向け説明¶
UDSFは「NFの内部状態を外に置いておくための倉庫」です。ふつうNFは、処理の途中経過や接続中の相手の情報(コンテキスト)を自分の中に持っています。これを外部のUDSFに預けておくと、そのNFは「状態を持たない部品」に近づき、台数を増やしたり、壊れたインスタンスを別のインスタンスへ置き換えたりしても、預けた状態を取り出して続きを進められます。
UDRが「加入者データのような、みんなで共有する構造の決まったデータ」の倉庫であるのに対し、UDSFは「各NFが内部で使う、構造が標準化されていないデータ」の倉庫、という違いがあります。
Network Function 詳細¶
| 項目 | 内容 |
|---|---|
| 役割 | 非構造化データ(NF内部状態・コンテキスト等)の格納層。任意(optional)に配置されるバックエンド。機能ロジックは持たない。 |
| 保持情報 | 各NFが預ける非構造化データ(構造は3GPPで標準化されず、解釈は預けたNFに委ねられる)。 |
| 利用する主なAPI | 基本的には被アクセス側(他NFから呼ばれる側)。 |
| 提供するAPI | Nudsf(格納・取得・更新・削除・購読/通知)。TS 29.598(章番号は要確認)。 |
| 関連Interface | N18(NF⇔UDSF、TS 23.501 の参照点表現で定義。Figure/節の枝番は要確認)、SBI(Nudsf)。 |
| 配置の任意性 | UDSFは必須ではなく、ステートレスNFを実現したい構成で任意に配置される(実装・展開依存)。 |
| 障害時の影響 | UDSFに状態を預ける構成では、その取得不可がNFの状態復元に影響する。影響範囲は構成依存。 |
Architecture¶
flowchart TD
NF1["NF (例: AMF/SMF 等)"] -->|N18 / Nudsf| UDSF["UDSF (非構造化データ格納)"]
NF2["別インスタンス / 別NF"] -->|N18 / Nudsf| UDSF
UDSF --- STORE["非構造化データ (NF内部状態・コンテキスト)"]
UDR["UDR (構造化データ)"] --- STORE2["構造化データ (加入者・ポリシー等)"]
図の読み方: 任意のNFが自分の非構造化データ(内部状態・コンテキスト)をNudsfサービス(参照点N18)でUDSFへ預けます。状態を外部化することで、別インスタンスや別NFが同じUDSFから状態を取り出せ、NFをステートレスに近づけられます。右側に併記したUDRは構造化データの格納層であり、UDSF(非構造化)とは扱うデータの性質が異なる別のNFです。両者は「共通の格納層」という点では似ていますが、構造化/非構造化で役割が分かれています。
Interface¶
| Interface | 接続 | 役割 |
|---|---|---|
| N18 | NF ⇔ UDSF | 非構造化データへのアクセス(TS 23.501 の参照点表現で定義。枝番は要確認) |
| SBI(Nudsf) | 各NF ⇔ UDSF | データ操作(格納・取得・更新・削除・購読/通知) |
詳細はInterface辞典を参照してください。
Procedure での登場¶
UDSFは特定の標準手続きの主役ではなく、NFのステートレス実装を支える裏方として、状態の預け入れ・取り出しの局面で登場します。どのNFがどの非構造化データをUDSFに預けるかは実装・展開依存であり、3GPP手続きとして固定的に規定されるものではありません(要確認)。
EPCとの比較¶
4G(EPC)には、非構造化データを共通ストレージへ外部化する標準NFに直接相当するものは定義されていません。5GでSBAとNFのステートレス化を志向する中で、構造化データ=UDR/非構造化データ=UDSFという格納層の分担が整理されました。
| 世代 | 非構造化データの外部格納 |
|---|---|
| 4G(EPC) | 標準としての相当NFなし(要確認) |
| 5G(5GC) | UDSF(任意配置)が非構造化データを格納 |
Release差分¶
- Rel-15: UDSFが非構造化データ格納の任意NFとして定義された。
- Rel-16/Rel-17: 機能拡張が行われている可能性がある(具体的な拡張内容は要確認)。
3GPP Specification¶
- TS 23.501: UDSFの機能定義(§6.2系)、および参照点N18(NF⇔UDSF)の定義(参照点表現の Figure/節の枝番は要確認)。
- TS 29.598: Nudsf(Unstructured Data Storage)サービス定義(章番号は要確認)。
Summary¶
- UDSFは5GCにおける非構造化データ(NF内部状態・コンテキスト等)の格納層であり、任意(optional)に配置されるバックエンドである。
- 利用側NFはNudsfサービスでUDSFに状態を預け、NFをステートレス化できる(インスタンス追加・入れ替え・障害復旧が容易になる)。
- 構造化データはUDR、非構造化データはUDSFという棲み分けが基本(データ種別の詳細な切り分けは要確認)。
- 4Gには相当する標準NFがなく、5GのSBA志向の中で格納層の分担として整理された。
Next Step¶
- UDR — 構造化データの格納層(UDSFとの対比)
- N18 — NF⇔UDSF の参照点(Nudsf)
- UDM — 加入者データを扱うフロントエンド
- NF辞典
- Interface辞典