Next: 4.5.2 Ereignisdienst
Up: 4.5.1 Verzeichnisdienst
Previous: Namensgebung für Agentensysteme
Die Namensgebung für Agenten ist problematischer, da sich drei teilweise
gegensätzliche Problematiken ergeben:
- 1.
- Multiple Agenten: Agenten, von denen sich mehrere Instanzen im Netz
befinden dürfen
- 2.
- Exklusive Agenten: Agenten, von denen höchstens eine Instanz sich
im Netz befinden darf, da sie z. B. eine Ressource exklusiv
beanspruchen müssen
- 3.
- Um den Administrator, sowie dem Programmierer ein leichtes Identifizieren
der Agenten zu ermöglichen, soll zusätzlich gelten, daß Multiple Agenten,
z. B. der Webserver-Agent, immer unter dem gleichen Namen auf jeden
Agentensystem ansprechbar ist
Um die Anforderungen der Exklusiven Agenten durchzusetzen, ist der
Verzeichnisdienst die einzig mögliche Alternative, da es die einzige
Komponente in der Agentenarchitektur ist, die von ihrer logischen Struktur her,
zentralisiert ist.
Aus der dritten Forderung folgt, daß es pro Agentensystem nur eine Instanz
eines bestimmten Agenten geben darf.
Diese Beschränkung muß für die Einfachheit der Namensvergabe in Kauf
genommen werden.
Es wird eine feste Zuordnung von der Identity zur einer
Klasse getroffen. Das ist die Grundvoraussetzung um überhaupt die
Konfliktfälle für Exklusive Agenten erkennen zu können und
gleiche Namen für Agenten desselben Typs durchgesetzt
werden können. Die Bestandteile Authority und Agent System Type
müssen damit beim Eintrag in den Verzeichnisdienst unberücksichtigt bleiben.
Der eindeutige Namen für Agenten ist nun erreicht. Jetzt müssen diese
Namen geeignet in den name graph eingehängt werden. Dabei müssen die
Agenten unterschiedlich behandelt werden, siehe Abbildung
4.3:
- Multiple Agenten: hier muß erreicht werden, daß mehrere Agenten
in den Name Graph eingehängt werden können. Dazu wird für
jedes Agentensystem ein zusätzlicher Context im Agent Name Space
eingefügt (vgl. Abb. 4.3), hinter dem
diese Agenten eingehängt werden. Als Beispiel ist der Webserver-Agent
zu nennen, der auf dem Agentensystem 'hpheger0' läuft. Der
Compound Name des Agenten vom Root Context aus lautet:
'Agent/hpheger0/Webserver'.
Diese Strategie für die Namensvergabe hat zur Folge, daß sich bei
Mobilen Agenten, die das Agentsystem wechseln, der Name ändert.
- Exklusive Agenten: diese werden zweimal in den Name Graph
eingehängt. Zum einen wie jeder Multiple Agent unter dem Context seines
Agentensystems und zum anderen, um die Einmaligkeit des Agenten zu
garantieren, wird er unter dem zentralen Context 'global' eingehängt.
Als Beispiel dient dazu der fiktive Reboot-Agent. Die beiden
Compound Names des Agenten vom Root Context aus lauten:
'Agent/hpheger0/Reboot' und 'Agent/global/Reboot'.
Um den korrekten Aufbau des Name Graph und das richtige Einhängen
der Agenten zu gewährleisten, werden diese Aufgaben ausschließlich vom
Agentensystem vorgenommen. Sollte z. B.der Versuch unternommen werden,
eine zweite Instanz eines Exklusiven Agenten auf einem Agentensystem zu
erzeugen, so überprüft das Agentensystem, ob bereits ein entsprechender
Eintrag im Naming Service, unter 'Agent/global' gemacht wurde. Da dies der
Fall ist, wird die Erzeugung des Agenten abgelehnt.
Die Konfliktsituation bei exklusiven Ressourcen für Agenten ist hier
nur für einen Spezialfall gelöst worden. Der allgemeine Fall ist, daß
Agenten verschiedenen Typs exklusiv eine Ressource beanspruchen wollen.
Dieses Problem ist mit dem Verzeichnisdienst nicht lösbar. Einen möglichen
Lösungansatz würden Policies bieten, in denen jeder Agent beschreibt,
welche Voraussetzungen für seine Erzeugung erfüllt sein müssen, um
seine Aufgabe korrekt zu erfüllen. Die Lösung dieses Problems ist nicht
Gegenstand dieser Arbeit.
Next: 4.5.2 Ereignisdienst
Up: 4.5.1 Verzeichnisdienst
Previous: Namensgebung für Agentensysteme
Copyright Munich Network Management Team