第 2 章 用語と定義

本章では、本仕様で使用するすべての規範的用語を定義する。規範的な意味を持つ用語は、初出時に太字で示される。

2.1 役割の用語

Fay : 擬人化された AI エージェントの総称。iFay と coFay を含む。

iFay(Individual Fay) : 特定の自然人(ヒューマンプライム)に紐付けられる個人 AI アバター。ヒューマンプライムと一対一に対応 しなければならない

coFay(Common Fay) : 共用ロール AI。Agent に類似し、複数のユーザにサービスを提供 してもよい

ヒューマンプライム(Human Prime) : iFay が紐付けられる自然人。データ主権の最終的な帰属者である。

FayGer : Fay のコンテナ/ランタイム環境(Docker/JRE に類似)。信頼できない「公共の場」とみなされ なければならない。いかなる場合も平文データにアクセス してはならない

2.2 プロトコル役割の用語

Master(マスター) : DTP プロトコルにおける主制御側。Fay(iFay または coFay)で なければならない。データ収集シナリオでは受信側、データ注入シナリオでは送信側となる。

Slave(スレーブ) : DTP プロトコルにおける被制御側。ソフトウェアまたはハードウェア端末で なければならない。データ収集シナリオでは送信側、データ注入シナリオでは受信側となる。

Controller(コントローラー) : 現在端末に「憑依」している Fay。完全な読み書き権限を有 さなければならない。任意の時点において、1 つの Slave は複数の Controller を持つこと はできない

Observer(オブザーバー) : Controller によって招待または認可された他の Fay。読み取り専用権限のみを有する。リクエストの発起や Agreement の変更を してはならない

2.3 データ伝送の用語

データ収集(Data Collection) : 端末(Slave)から Fay(Master)へ流れるデータフロー方向。端末で生成されたデータを Personal Data Heap に永続化するために使用 しなければならない

データ注入(Data Injection) : Fay(Master)から端末(Slave)へ流れるデータフロー方向。フィルタリングされた最小化データセットを端末アプリケーションに提供するために使用 しなければならない

Personal Data Heap : iFay のプライベートデータ管理モジュール。iFay 内部からのみアクセス可能で なければならない

2.4 プロトコル構造の用語

論理フレーム(Logical_Frame) : DTP のアプリケーション層フレーム構造。フレームヘッダ(Header)とペイロード(Payload)の 2 つの部分から構成 されなければならない(第 4 章を参照)。

Fragment(データフラグメント) : DTP におけるデータユニット。グローバルに一意な識別子と元のタイムスタンプを持ち、必ず 1 つの Agreement に関連付けられて いなければならない

Agreement(合意) : Master と Slave の間でネゴシエーションにより合意されたデータ伝送契約。データ伝送前に確立されて いなければならない。Agreement のないデータ伝送は存在 してはならない

Session(セッション) : 1 回の完全な DTP 通信周期。CAP 検証完了後に確立されて いなければならない。一意の Session_ID を持た なければならない

2.5 識別子の用語

Fragment_ID : Fragment のグローバル一意識別子。RFC 4122 で定義された UUID v4 で なければならない

Agreement_ID : Agreement のグローバル一意識別子。RFC 4122 で定義された UUID v4 で なければならない

Session_ID : Session のグローバル一意識別子。RFC 4122 で定義された UUID v4 で なければならない

Sequence_Number : 伝送シーケンス番号。単調増加する非負整数で なければならない。1 つのセッション内で各伝送方向ごとに独立して維持 されなければならない

Origin_Timestamp : データが送信元で実際に生成された時刻。UTC タイムゾーンを使用 しなければならない。ミリ秒精度で なければならない

2.6 プロトコル機構の用語

ネゴシエーション(Negotiation) : Master と Slave がデータ伝送パラメータについて合意に至るプロセス。Request_Frame と Response_Frame を通じて完了 しなければならない

Agreement のライフサイクル(Agreement Lifecycle) : Agreement がネゴシエーションによる作成から終了までの完全な状態シーケンス。negotiatingactivesuspendedterminated の 4 つの状態を含 まなければならない

再開(Resume) : 接続中断後にブレークポイントから伝送を継続する機構。シーケンス番号に基づいて実装 されなければならない

DAG 依存関係(DAG Dependency) : Fragment 間の有向非巡回グラフ依存関係。DAG エッジ(DAGEdge)を介して明示的に宣言 されなければならない

2.7 ソフトウェアコンポーネントの用語

DTP_Engine : DTP プロトコルのコア処理エンジン。フレーム符号化・復号、暗号化、ネゴシエーション、セッション管理などのコア機能を実装 しなければならない

DTP_Master : Fay 側で動作する DTP_Engine のバリアント。Master 役割の権限を有 さなければならない

DTP_Slave : 端末側で動作する DTP_Engine のバリアント。Slave 役割の権限のみを有 さなければならない

Transport_Adapter : 下位伝送プロトコルの抽象インターフェース。サポートする各伝送プロトコルに対して、統一された送受信インターフェースを提供 しなければならない

2.8 状態の用語

SessionState : セッションの現在の状態。idlewaiting_for_capestablishednegotiatingtransmittingsuspendedresuming のいずれかで なければならない

AgreementStatus : Agreement の現在の状態。negotiatingactivesuspendedterminated のいずれかで なければならない

ConnectionState : Transport_Adapter が報告する下位接続の状態。connecteddisconnectederror のいずれかで なければならない