Agentensysteme - Dokumentenserver Fakultät für Mathematik und ...
Agentensysteme - Dokumentenserver Fakultät für Mathematik und ...
Agentensysteme - Dokumentenserver Fakultät für Mathematik und ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Anhang<br />
• Aus einer anderen Quelle bezieht der Client einen zweiten 32-bit Integerwert (fest-<br />
Wert). Dieser muß dem Agentenserver bekannt sein – er liest ihn aus der Systemeigenschaftentabelle<br />
unter Eigenschaftsname ‚ClientLogin‘ <strong>und</strong> Attribut ‚agentserv‘<br />
aus (Name <strong>und</strong> Attribut können in der globalen Systemeinstellungendatei geändert<br />
werden)<br />
• Mittels folgender Formel werden beide Werte zu einem neuen Wert – dem Paßwort<br />
Passwort = festWert ∗ varWert + festWert mod 100000<br />
– kombiniert: ( ( ( ) ) )<br />
• Das Paßwort wird mit ‚login()‘ zurück zum Server geschickt. Wenn als<br />
Antwort übermittelt wird bzw. die Verbindung nach Erhalt der Antwort<br />
weiterbesteht, war die Authentifizierung erfolgreich.<br />
• Aktionen, die <strong>für</strong> den Agentenserver definiert sind (‚params‘ listet die zu übergebenden<br />
Parameter, ‚return‘ beschreibt den Rüchgabewert):<br />
• Erlaubte Aktionen ohne Authentifizierung:<br />
• getVersion()<br />
fragt nach der Version des Servers<br />
return: Zeichenkette mit Servernamen, Versionskennung <strong>und</strong> Änderungsdatum<br />
• getID()<br />
fragt nach der Sitzungsnummer (dient der Paßwortberechnung – s.o.)<br />
return: Ziffernfolge, die einen 32-bit Integerwert repräsentiert<br />
• login()<br />
sendet das Paßwort zur Authentifizierung am Server<br />
params: das berechnete Paßwort (s.o.)<br />
return: falls Login erfolgreich war<br />
„bye“ falls Paßwort falsch war (Verbindungsabbruch)<br />
• Interne Aktionen:<br />
• stop()<br />
initiiert das Herunterfahren des Agentenservers<br />
return: "server stop"<br />
• getRunningCommands()<br />
fragt nach aktuell laufenden (parallelen) Aktionen<br />
return: "commands(,,...)"<br />
• Aktualisierungs-Aktionen:<br />
• clearFixedResultUpdateTimes()<br />
entfernt alle Einträge der Liste mit festen Aktualisierungszeiten (wird <strong>für</strong> Bestimmung<br />
des nächsten Aktualisierungszeitpunktes genutzt)<br />
return: <br />
• clearResultUpdateTimes()<br />
entfernt alle Einträge aus der Liste mit den nächsten Aktualisierungszeiten<br />
return: <br />
• enableResultUpdate()<br />
aktiviert die zeitgesteuerte Aktualisierung der Ergebnisliste<br />
return: <br />
• disableResultUpdate()<br />
deaktiviert die zeitgesteuerte Aktualisierung der Ergebnisliste<br />
return: <br />
118