Kapitel 2 Terminologie und Definitionen

Dieses Kapitel definiert alle in dieser Spezifikation verwendeten normativen Begriffe. Jeder Begriff mit normativer Bedeutung wird bei seinem ersten Auftreten fett dargestellt.

2.1 Rollenbezeichnungen

Fay : Sammelbegriff für einen anthropomorphisierten KI-Agenten, einschließlich iFay und coFay.

iFay (Individual Fay) : Ein persönlicher KI-Avatar, der an eine bestimmte natürliche Person (das Human Prime) gebunden ist. MUST in Eins-zu-eins-Entsprechung mit dem Human Prime stehen.

coFay (Common Fay) : Eine KI mit gemeinsamer Rolle, ähnlich einem Agent, die MAY mehreren Nutzern dienen.

Human Prime : Die natürliche Person, an die ein iFay gebunden ist. Der letztendliche Eigentümer der Datensouveränität.

FayGer : Die Container-/Laufzeitumgebung eines Fay (analog zu Docker/JRE). MUST als nicht vertrauenswürdiger „öffentlicher Raum" behandelt werden und MUST NOT unter keinen Umständen auf Klartextdaten zugreifen.

2.2 Protokollrollen-Bezeichnungen

Master : Die steuernde Partei im DTP-Protokoll. MUST ein Fay (iFay oder coFay) sein. Der Empfänger im Datenerfassungs-Szenario und der Sender im Dateneinspeisungs-Szenario.

Slave : Die gesteuerte Partei im DTP-Protokoll. MUST ein Software- oder Hardware-Endgerät sein. Der Sender im Datenerfassungs-Szenario und der Empfänger im Dateneinspeisungs-Szenario.

Controller : Der Fay, der gerade ein Endgerät „verkörpert". MUST vollständige Lese-/Schreibberechtigungen besitzen. Zu jedem gegebenen Zeitpunkt MUST NOT ein Slave mehr als einen Controller haben.

Observer : Ein vom Controller eingeladener oder autorisierter Fay. MAY nur Leseberechtigungen besitzen. MUST NOT Anfragen initiieren oder Agreements ändern.

2.3 Datenübertragungs-Bezeichnungen

Datenerfassung : Die Datenflussrichtung vom Endgerät (Slave) zu Fay (Master). MUST verwendet werden, um vom Endgerät erzeugte Daten in den Personal Data Heap zu persistieren.

Dateneinspeisung : Die Datenflussrichtung von Fay (Master) zum Endgerät (Slave). MUST verwendet werden, um Endgeräteanwendungen gefilterte, minimierte Datensätze bereitzustellen.

Personal Data Heap : Das private Datenverwaltungsmodul eines iFay. MUST ausschließlich innerhalb des iFay zugänglich sein.

2.4 Protokollstruktur-Bezeichnungen

Logical_Frame : Die Anwendungsschicht-Rahmenstruktur von DTP. MUST aus zwei Teilen bestehen: Header und Payload (siehe Kapitel 4).

Fragment : Die Dateneinheit in DTP. MUST einen global eindeutigen Bezeichner und einen Ursprungszeitstempel tragen und MUST mit einem Agreement verknüpft sein.

Agreement : Der zwischen Master und Slave ausgehandelte und vereinbarte Datenübertragungsvertrag. MUST vor jeglicher Datenübertragung etabliert sein. Eine Datenübertragung ohne Agreement MUST NOT existieren.

Session : Ein vollständiger DTP-Kommunikationszyklus. MUST nach Abschluss der CAP-Authentifizierung etabliert werden und MUST eine eindeutige Session_ID tragen.

2.5 Bezeichnerbegriffe

Fragment_ID : Der global eindeutige Bezeichner eines Fragments. MUST eine UUID v4 gemäß RFC 4122 sein.

Agreement_ID : Der global eindeutige Bezeichner eines Agreements. MUST eine UUID v4 gemäß RFC 4122 sein.

Session_ID : Der global eindeutige Bezeichner einer Session. MUST eine UUID v4 gemäß RFC 4122 sein.

Sequence_Number : Die Übertragungs-Sequenznummer. MUST eine monoton steigende, nicht-negative Ganzzahl sein. MUST für jede Übertragungsrichtung innerhalb einer einzelnen Session unabhängig verwaltet werden.

Origin_Timestamp : Der Zeitpunkt, an dem die Daten tatsächlich an der Quelle erzeugt wurden. MUST die UTC-Zeitzone verwenden. MUST Millisekunden-Präzision tragen.

2.6 Protokollmechanismus-Bezeichnungen

Negotiation : Der Prozess, durch den Master und Slave einen Konsens über Datenübertragungsparameter erzielen. MUST über Request_Frame und Response_Frame durchgeführt werden.

Agreement Lifecycle : Die vollständige Zustandsfolge eines Agreements von der Verhandlungserstellung bis zur Beendigung. MUST die vier Zustände negotiating, active, suspended und terminated umfassen.

Resume : Der Mechanismus zur Fortsetzung der Übertragung ab dem Unterbrechungspunkt nach einer Verbindungsunterbrechung. MUST auf Basis von Sequenznummern implementiert sein.

DAG Dependency : Die gerichtete azyklische Graph-Abhängigkeitsbeziehung zwischen Fragments. MUST explizit über DAG-Kanten (DAGEdge) deklariert werden.

2.7 Software-Komponentenbezeichnungen

DTP_Engine : Die zentrale Verarbeitungsengine des DTP-Protokolls. MUST die Kernfunktionen Frame-Codec, Verschlüsselung, Verhandlung und Sitzungsverwaltung implementieren.

DTP_Master : Die DTP_Engine-Variante, die auf der Fay-Seite läuft. MUST Master-Rollenberechtigungen besitzen.

DTP_Slave : Die DTP_Engine-Variante, die auf der Endgeräteseite läuft. MUST ausschließlich Slave-Rollenberechtigungen besitzen.

Transport_Adapter : Die abstrakte Schnittstelle für das zugrunde liegende Transportprotokoll. MUST für jedes unterstützte Transportprotokoll eine einheitliche Sende-/Empfangsschnittstelle bereitstellen.

2.8 Zustandsbegriffe

SessionState : Der aktuelle Zustand einer Session. MUST einer der Werte idle, waiting_for_cap, established, negotiating, transmitting, suspended oder resuming sein.

AgreementStatus : Der aktuelle Zustand eines Agreements. MUST einer der Werte negotiating, active, suspended oder terminated sein.

ConnectionState : Der vom Transport_Adapter gemeldete Zustand der zugrunde liegenden Verbindung. MUST einer der Werte connected, disconnected oder error sein.