第 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 がネゴシエーションによる作成から終了までの完全な状態シーケンス。negotiating、active、suspended、terminated の 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
: セッションの現在の状態。idle、waiting_for_cap、established、negotiating、transmitting、suspended、resuming のいずれかで なければならない。
AgreementStatus
: Agreement の現在の状態。negotiating、active、suspended、terminated のいずれかで なければならない。
ConnectionState
: Transport_Adapter が報告する下位接続の状態。connected、disconnected、error のいずれかで なければならない。
