AGLX – Registry- und Discovery-Mechanismen

Die Registry ist das Adress- und Verzeichnis­system des AGLX-Netzwerks. Sie sorgt dafür, dass Agenten einander finden, sich authentifizieren und miteinander kommunizieren können. Registrys können lokal (z. B. im eigenen LAN) oder zentral über einen dedizierten Registry-Server betrieben werden.

Grundprinzip

Mit der Anpassung an die IANA-Vorgaben ist das AGLX-Discovery-System hybrid aufgebaut: Ein zentrales Register sorgt für übergreifende Erreichbarkeit, während lokale Registrys und Agenten über UDP im LAN weiterhin miteinander kommunizieren dürfen.

Prinzip Beschreibung
Zentrales Register Eine offizielle Registry-Instanz verwaltet alle bekannten Agenten. Jeder Agent kann sich dort eintragen und das aktuelle Verzeichnis abrufen.
Lokale UDP-Erkennung Innerhalb des eigenen LAN dürfen Agenten weiterhin Broadcasts verwenden, um sich gegenseitig zu erkennen. Diese Funktion ist auf interne Netze beschränkt.
Verzeichnis-Aktualisierung Agenten können das zentrale Verzeichnis vollständig neu herunterladen oder inkrementell aktualisieren, wenn sie längere Zeit offline waren.
Dezentrale Synchronisation Agenten können ihre lokalen Verzeichnisse untereinander austauschen, um eine aktuelle Liste aktiver Agenten zu erhalten.
Hybrid-Discovery Kombination aus zentraler Registry (verlässlich) und Peer-to-Peer-Erkennung (lokal, dynamisch).

Registrierung eines Agenten

Ein neuer Agent meldet sich zunächst am zentralen Register an:

AGLX/1.0 TCP
FROM: agent://node42.local
TO: registry://global.aglx.net
TYPE: registry.update
CONTENT-TYPE: application/json
 
{
  "agent_name": "Node42",
  "agent_type": "worker",
  "capabilities": [
    "data.analyze",
    "text.summarize"
  ],
  "address": "10.1.0.42",
  "port": 2594,
  "status": "READY",
  "ttl": 3600
}

Nach erfolgreicher Prüfung bestätigt das zentrale Register die Eintragung:

AGLX/1.0 TCP FROM: registry:global.aglx.net TO: agent:node42.local TYPE: registry.ack STATUS: 200 OK AGENT-ID: 8b1e9b45-4a2c-4a83-9341-34f58f1c83c2

diff Code kopieren

Herunterladen und Aktualisieren des Verzeichnisses

Agenten können jederzeit das aktuelle Agentenverzeichnis abrufen:

AGLX/1.0 TCP
FROM: agent://node42.local
TO: registry://global.aglx.net
TYPE: registry.fetch
CONTENT-TYPE: application/json
 
{
  "mode": "update",
  "since": "2025-10-20T00:00:00Z"
}

Antwort des Registers:

AGLX/1.0 TCP
FROM: registry://global.aglx.net
TO: agent://node42.local
TYPE: registry.list
CONTENT-TYPE: application/json
 
{
  "entries": [
    {
      "agent_id": "a7c...",
      "agent_uri": "agent://node51.local",
      "status": "READY",
      "last_seen": "2025-10-29T17:32:00Z"
    },
    ...
  ]
}

Aufbau eines Registry-Eintrags

Feld Beschreibung Beispiel
agent_id Eindeutige interne Kennung (UUID)
8b1e9b45-4a2c-4a83-9341-34f58f1c83c2
agent_uri Offizielle Agent-Adresse
agent://node42.local
agent_name Freier Anzeigename
Node42
agent_type Typ des Agenten (worker, mentor, registry, etc.)
worker
capabilities Auflistung der unterstützten Funktionen
["data.analyze", "text.summarize"]
address IP-Adresse oder Hostname
10.1.0.42
port TCP-Port (Standard: 2594)
2594
ttl Gültigkeitsdauer des Eintrags in Sekunden
3600
status Aktueller Status des Agenten
READY
last_seen Letzte Bestätigung oder Heartbeat-Zeit
2025-10-29T16:42:10Z

Dezentraler Austausch über UDP

Innerhalb lokaler Netze dürfen Agenten weiterhin UDP nutzen, um ihre Anwesenheit mitzuteilen oder auf vorhandene Agents zu reagieren.

Beispiel:

AGLX/1.0 UDP
FROM: agent://node15.local
TYPE: agent.announce
CONTENT-TYPE: application/json
 
{ 
  "agent_name": "Node15",
  "uptime": 1043
}

Lokale Agenten können solche UDP-Meldungen empfangen und daraus temporäre Einträge im lokalen Register erstellen. Diese temporären Daten können später mit dem zentralen Register synchronisiert werden.

Synchronisation zwischen Agenten

Wenn mehrere Agenten gleichzeitig aktiv sind, können sie ihre Registry-Daten austauschen, um das Netzwerk konsistent zu halten:

AGLX/1.0 TCP
FROM: agent://node17.local
TO: agent://node23.local
TYPE: registry.exchange
CONTENT-TYPE: application/json
 
{
  "known_agents": [
    {
      "agent_uri": "agent://node42.local",
      "status": "READY"
    },
    {
      "agent_uri": "agent://node51.local",
      "status": "BUSY"
    }
  ]
}
Mechanismus Beschreibung
registry.fetch Vollständiges Herunterladen oder Aktualisieren des Agentenverzeichnisses vom zentralen Register.
registry.exchange Peer-to-Peer-Austausch lokaler Agentenverzeichnisse.
registry.sync Synchronisation zwischen Registrys (zentrale ↔ lokale Knoten).
 
UDP-Broadcasts dürfen gemäß IANA-Vorgaben nur innerhalb lokaler Netze eingesetzt werden. Das zentrale Register ist daher der primäre Mechanismus zur Agentenerkennung und -aktualisierung. Der dezentrale Austausch bleibt als Ergänzung für lokale Netzwerke und redundante Updates erhalten.

Sicherheit und Vertrauen

Die Registrierung und Synchronisation erfolgen ausschließlich über TCP-Verbindungen mit optionaler Verschlüsselung. Für lokale UDP-Broadcasts werden keine sensiblen Daten übertragen.

Mechanismus Funktion
TLS oder DTLS Schutz der Kommunikation bei Registry-Transfers
Signierte Agentenkennungen Eindeutige Identität und Authentifizierung
Zonenbasierte Filterung Zugriffsbeschränkung auf definierte Netzbereiche
TTL-Prüfung Automatische Entfernung abgelaufener Einträge

Versionierung

  • Modul: Registry- und Discovery-System
  • Version: 1.1 (IANA-konform)
  • Stand: 27.10.2025
  • Autor: Andreas Röne (Konzept)