-
Die
Erfindung betrifft die Übertragung
eines in einem Netz ausführbaren
Codes.
-
Eine
Lösung
ist die Verwendung eines mobilen Agenten. Der mobile Agent enthält einen
ausführbaren
Code, Daten und den Ausführungszustand.
Er wird als mobil bezeichnet, da er in der Lage ist, sich selbst
auszuführen
und autonom zu verschiedenen Zeitpunkten zu verschiedenen Knoten
eines Netzes zu wandern. Die Übertragung
nicht nur eines ausführbaren
Codes C, sondern auch der Elemente wie insbesondere der Daten D,
einer Durchlaufstrecke P, ermöglicht
es dem Code C, autonom ausführbar
zu sein.
-
Allgemein
wird der mobile Agent von einem Knoten zum anderen in Form einer
Datei übertragen, zum
Beispiel einer Code-Datei, die durch die Kompilierung des Quellencodes
erzeugt wird, die zu einem ausführbaren
oder interpretierbaren Code führt.
-
Die
Patentanmeldung
EP 0 961 205 schlägt einen
solchen mobilen Agenten vor: Der Objektcode wird zunächst in
einen MPU-Code und dann in einen Zwischencode konvertiert, d.h.
in einen systemeigenen Code, der als ein ausführbarer Code sowohl für eine Kommunikationsvorrichtung
mit einer üblichen MPU
als auch mit einer virtuellen JAVA-Maschine verwendet werden kann,
ehe er zu einer Liste von Durchläufen
hinzugefügt
wird, um den ausgegebenen Agenten zu bilden.
-
Die
Veröffentlichung
von Kulkarni "Implementation
of a prototype active network" open
architectures and network programming, 1998 IEEE San Francisco,
CA, USA 3–4
April 1998, New York, NY, USA, IEEE, US, 3. April 1998 Seiten 130–142 XP010272580,
betrifft die Implementierung eines aktiven Netzes, bei dem der Code
und die Daten eines Programms in spezialisierten Paketen angeordnet sind.
In Abhängigkeit
von der Beschaffenheit des Codes des spezifischen Pakets verändert das
Paket das Verhalten eines aktiven Knotens oder wandelt den Datenwert
um, den es überträgt. Diese
Implementierung weist insbesondere einen Schritt auf, in dem eine
neue Netzstruktur in einem aktiven Netz erzeugt wird. Sie weist
nicht das Problem des Funknetzes auf, dessen Verbindungen schwankend
sein können.
-
Die Übertragung
eines mobilen Agenten in einem Netz führt zu mit dem Typ des benutzten
Netzes verbundenen Problemen. Es sei zum Beispiel das Funknetz in
Betracht gezogen, bei dem die Hauptschwierigkeiten folgende sind:
- • der
geringe Übertragungsdurchsatz,
- • die
starken Störungen,
- • die
undefinierte und schwankende Sichtbarkeit...
-
Es
wurden wirksame und an den ausführbaren
Objektcode, dessen Standardformat vom Typ Bytecode-Datei ist, angepasste
Verarbeitungen untersucht und entwickelt, um seine Übertragung
zu erlauben. Die Wirksamkeit der fraglichen Verarbeitungen ist proportional
zur Größe der Datei
(je größer die Datei,
desto wirksamer ist die Verarbeitung). Für "klassische" Techniken des Austauschs von Mitteilungen,
die mobile Agenten enthalten, ist es notwendig, ein Protokoll zu
entwickeln, da die erwähnten Techniken
nicht mehr durchführbar
sind. Ein Protokoll ist aber im Allgemeinen schwerfällig, teuer
und komplex.
-
Die
vorliegende Erfindung ermöglicht
es, diese Nachteile mit Hilfe der Merkmale des Anspruchs 1 zu beseitigen.
Ein mobiler Agent A, der mindestens einen ausführbaren autonomen Code C und
zugeordnete Daten D enthält
und einem Durchlauf P folgt, wird in Form eines Bitstroms übertragen.
Dieser Code C führt
sich autonom an den Knoten N des Durchlaufs P aus, wobei er die
erhaltenen Daten DR und den Ausführungskontext
bei der Übertragung
DE speichert.
-
Die
Erfindung schlägt
ein Verfahren gemäß Anspruch
1 zur Übertragung
eines mobilen Agenten (A) in einem Funknetz (R) vor, dessen Verbindungen schwankend
sind. Der mobile Agent weist mindestens einen ausführbaren
Code (C), dem mobilen Agenten (A) zugeordnete Daten (D) und eine
Durchlaufmethode P der Zielknoten auf, an denen der mobile Agent
sich ausführen
soll. Die Übertragung
nicht nur des ausführbaren
Codes (C), sondern auch der zugeordneten Daten (D) und der Durchlaufmethode (P)
ermöglicht
es dem ausführbaren
Code (C), autonom ausführbar
zu sein, insbesondere dadurch, dass der Durchlaufbefehl der Knoten
nicht von vorneherein definiert ist, und dass man den mobilen Agenten seinen
Durchlauf durchführen
lässt,
indem er die Durchlaufmethode ausführt, unter Berücksichtigung der
im Lauf der Zeit veränderlichen
Qualität
der Funkverbindungen. Das Verfahren zur Übertragung eines mobilen Agenten
weist auf:
- • [T2–T3]: die
Konvertierung (A/F) des mobilen Agenten (A) in einen von einem Sender
(EA) eines Sendeknotens (NE) zu sendenden
Bitstrom (fA),
- • [T5–T6]: die
Erzeugung einer Verbindung zwischen dem Sendeknoten (NE)
und dem/den mindestens einem Empfangsknoten (NR)
in dem Netz (R), in dem der Bitstrom (fA)
gesendet wird,
- • [T7]:
das Senden des Bitstroms (fA) durch den Sender
(EA) des Sendeknotens (NE) zu dem/den mindestens
einen Empfangsknoten (NR).
-
Die
Erzeugung einer Verbindung enthält
mindestens die folgenden Schritte:
- • [T5]: die
Ausführung
der Durchlaufmethode (P) der Zielknoten, an denen der mobile Agent
(A) ausgeführt
werden soll, mittels des die Durchlaufmethode (P) enthaltenden mobilen
Agenten (A),
- • die
Erzeugung von Transferparametern des Sendeknotens zu dem/den mindestens
einen Empfangsknoten durch die Ausführung der Durchlaufmethode
(P),
- • die
Verwendung dieser Parameter, um einen Kommunikationskanal zwischen
dem Sendeknoten (NE) und dem/den mindestens
einen Empfangsknoten (NR) zu öffnen,
- • das
Schließen
des Kanals, wobei dieses Schließen
nach dem Schritt des Sendens des Bitstroms erfolgt.
-
Die
verschiedenen Schritte dieses Transferverfahrens können von
einem Sender eines mobilen Agenten in einem Netz durchgeführt werden,
der aufweist:
- • einen allgemeiner Umsetzer
eines mobilen Agenten in einen zu sendenden Bitstrom, der mindestens
die folgenden Attribute aufweist:
– einen einen mobilen Agenten
empfangenden Eingang,
– einen
den resultierenden zu sendenden Bitstrom liefernden Ausgang,
- • einen
Bitstrom-Sender, der einen Eingang aufweist, der den zu sendenden
Bitstrom empfängt, der
mindestens einen Verbindungserzeuger (CL) zwischen dem Sender des
mobilen Agenten (EA) und mindestens einem Empfänger (RA) des Netzes (R) aufweist,
der mindestens die folgenden Attribute aufweist:
- • ein
Mittel zur Verwaltung der Ausführung
einer Durchlaufmethode (P) der Zielknoten, an denen der mobile Agent
(A) sich ausführen
soll, wobei der mobile Agent (A) die Durchlaufmethode (P) aufweist,
wobei die Ausführung
mindestens einen Öffnungsbefehl
eines die Verbindung bildenden Kommunikationskanals erzeugt, der
die Transferparameter enthält,
die bei der Ausführung
der Durchlaufmethode (P) erzeugt werden,
- • einen
Ausgang, an dem ein Signal geliefert wird, das mindestens die folgenden
Befehle aufweist:
– Öffnung eines
die Verbindung bildenden Kommunikationskanals, und
– Unterbrechung
der erzeugten Verbindung.
-
Der
mobile Agent kann von einem Empfänger
eines mobilen Agenten empfangen werden, der die folgenden Mittel
aufweist:
- • einen
Bitstromempfänger,
der einen Bitstrom empfängt,
- • eine
Entnahmeeinrichtung eines mobilen Agenten aus einem Bitstrom, die
mindestens eines der folgenden Attribute aufweist:
– einen
den empfangenen Bitstrom empfangenden Eingang,
– einen
den entnommenen mobilen Agenten liefernden Ausgang,
der
mindestens aufweist: - • einen Prüfer (VA) der Autorisation zur
Ausführung
des mobilen Agenten (A) am Empfangsknoten (NR),
der mindestens die folgenden Attribute aufweist:
– einen
Eingang, der mit dem Ausgang des Bitstromempfängers verbunden ist, der den
empfangenen Bitstrom (fA) empfängt,
– einen
Ausgang, der an die Entnahmeeinrichtung des mobilen Agenten den
Bitstrom (fA) liefert, wenn die Prüfung positiv
ist,
- • wobei
die Entnahmeeinrichtung des mobilen Agenten (EXa) die folgenden
Attribute aufweist:
– eine
Code-Entnahmeeinrichtung, die mit dem Eingang verbunden ist, der
den Strom (fA) empfängt und den ausführbaren
Code (C) des mobilen Agenten (A) liefert, der aus dem Strom (fA) entnommen wird,
– eine Daten-Entnahmeeinrichtung,
die mit dem Eingang verbunden ist, der den Strom (fA)
empfängt
und die Daten (D) liefert, die dem mobilen Agenten (A) zugeordnet
sind und aus dem Fluss (fA) entnommen werden,
ein
Mittel (PP) zur Positionierung der Ausführungsparameter DE,
die in den entnommenen Daten (D) enthalten sind oder nicht.
-
Allgemeiner
weist ein Knoten eines Netzes, das den Sender eines mobilen Agenten
und/oder den Empfänger
eines mobilen Agenten enthält,
mindestens einen Mikroprozessor auf, der eine Schnittstelle mit
einem mobilen Agenten besitzt, die es dem einen Code enthaltenden
mobilen Agenten ermöglicht,
autonom mindestens die Ausführung
des Codes durch den Mikroprozessor zu verwalten, wobei der Knoten (N)
mindestens eine Quelle (SA) eines mobilen Agenten aufweist:
- – eine
Schnittstelle (I), die mindestens die folgenden Eingänge aufweist:
• einen Eingang,
der die Wahl des ausführbaren Codes
(C) des mobilen Agenten (A) empfängt,
• einen Eingang,
der die Wahl der dem mobilen Agenten (A) zugeordneten Daten (D)
empfängt,
- – ein
Leseorgan, das mindestens die folgenden Attribute aufweist:
• eine Verbindung
mit der Schnittstelle,
• einen
Zeiger, der den eingehenden Daten eine Adresse in mindestens einem
internen oder externen Speicher zuweist, an welcher Adresse sich mindestens
der ganze oder ein Teil des mobilen Agenten (A) befindet,
wobei
ein Ausgang den gelesenen mobilen Agenten (A) an einen Sender liefert.
-
Der
mobile Agent kann zusätzlich
zum ausführbaren
Code (C) und den zugeordneten Daten (D) eine Schnittstelle mit einem
Knoten, Host-Knoten genannt, aufweisen, die mindestens die folgenden
Mittel aufweist:
- • Mittel zur Verifizierung der
Zugehörigkeit
des Host-Knotens zur Einheit von Knoten, an denen der mobile Agent
(A) sich ausführen
soll, die mindestens die folgenden Mittel aufweisen:
– Mittel
zum Auslösen
der Verwaltung der Ausführung
des Codes (C) des mobilen Agenten (A), die aktiv sind, wenn die
Verifizierung positiv ist,
– Mittel zur Übertragung
des mobilen Agenten (A) zum Sender eines mobilen Agenten des Host-Knotens, die aktiv
sind, wenn die Verifizierung negativ ist,
- • Mittel
zur Übertragung
des aktualisierten mobilen Agenten (A) an den Sender eines mobilen Agenten
des Host-Knotens,
- • Mittel
zum Test der Transfermethode der Daten (DR),
die das Ergebnis der Ausführung
des Codes (C) sind, die mindestens die folgenden Mittel aufweisen:
– Mittel
zum Auslösen
der Verwaltung der Ausführung
der Methode, die aktiv sind, wenn der Test positiv ist,
– Mittel
zur Übertragung
des mobilen Agenten (A), der mindestens den Code (C) und die aktualisierten
Daten (D) aufweist, denen die Daten (DR)
hinzugefügt
wurden, an den Sender eines mobilen Agenten des Host-Knotens, die
aktiv sind, wenn der Test negativ ist,
– Mittel zur Erzeugung eines
mobilen Agenten Ergebnisse A',
der mindestens die Daten (DR) enthält, und
die Übertragung
des mobilen Agenten Ergebnisse A' an
den Sender eines mobilen Agenten des Host-Knotens.
-
Die
Merkmale und Vorteile der Erfindung gehen klarer aus der als Beispiel
dienenden Beschreibung und den sich darauf beziehenden Figuren hervor.
Es zeigen:
-
1 ein
schematisches Schaltbild des Wanderns eines Agenten in einem Netz,
-
2 ein Übertragungsbeispiel
eines mobilen Agenten A von einem Sendeknoten NE zu
einem Empfängerknoten
NR,
-
3 ein
schematisches Schaltbild der Initialisierung der Wanderung eines
Agenten im Netz gemäß einer
Ausführungsform
der Erfindung,
-
4 ein
schematisches Schaltbild des Transferverfahrens eines Agenten von
einem Knoten zu einem anderen Knoten des Netzes gemäß der Erfindung,
-
5 ein
schematisches Schaltbild des Empfangsverfahrens eines Agenten an
einem Knoten des Netzes gemäß der Erfindung,
-
6 ein
schematisches Schaltbild der Ausführung des Codes des Agenten
am Empfangsknoten.
-
Die
Knoten N eines Netzes R weisen zum Beispiel drei Arten einer Empfangsstruktur
eines mobilen Agenten A auf
- • Quelle.
Diese Struktur ermöglicht
es, einen mobilen Agenten A (Wahl des Codes, der Parameter) zu bilden,
seinen Durchlauf P zu definieren und seine Wanderung im Netz R zu
initialisieren. Sie weist also eine Quelle eines mobilen Agenten
SA und einen Sender eines mobilen Agenten EA auf.
- • Zwischenstruktur.
Diese Struktur empfängt
einen mobilen Agenten A, sie ermöglicht
es ihm, sich auszuführen,
und sendet ihn zu mindestens einem neuen Knoten N weiter. Sie weist
also einen Sender EA und einen Empfänger RA eines mobilen Agenten
auf.
- • Ende.
Diese Struktur empfängt
einen mobilen Agenten A und gewinnt die Gesamtheit der Daten DR wieder, die aus den Ausführungen
des Codes C des mobilen Agenten A an verschiedenen Knoten N des
Durchlaufs P resultieren. Sie weist also einen Empfänger eines
mobilen Agenten RA auf.
-
Der
gleiche Knoten kann also die Quelle NS für einen
ersten mobilen Agenten A1, eine Zwischenquelle
NI für
einen zweiten Agenten A2 und eine letzte Quelle
NF für
einen dritten Agenten A3 sein. Außerdem kann
der Quellenknoten NS für einen gegebenen mobilen Agenten
A auch der Endknoten NF des gleichen mobilen
Agenten A sein.
-
Der
mobile Agent A weist den ausführbaren Code
C, die zugehörigen
Daten D, die Durchlaufmethode P des Netzes R und verschiedene Schnittstellen
I entsprechend seinem Host-Knoten NH auf,
zum Beispiel:
- • eine Initialisierungsschnittstelle
mit dem Quellenknoten NS, die es ermöglicht,
die Parameter D des mobilen Agenten A zu empfangen und den zu durchlaufenden
Weg anzuzeigen,
- • eine
Schnittstelle "run" (deutsch: Ausführungsschnittstelle),
die es ermöglicht,
die Ressourcen der Zwischenknoten NI bei
der Ausführung
des Codes C des mobilen Agenten A zu verwenden,
- • eine
Schnittstelle zur folgenden Maschine, die es ermöglicht, den Zwischenknoten
NI den nächsten Zielknoten
N anzuzeigen,
- • eine
Antwort-Schnittstelle, die es dem Endknoten NF ermöglicht,
Daten D wiederzugewinnen.
-
Außerdem entspricht
der mobile Agent A den folgenden Eigenschaften:
- • der Unabhängigkeit
des Host-Knotens NH, da sein Code C in verschiedenen
Rechnern ausgeführt
werden kann, die umfassen:
– verschiedene Mikroprozessoren
(Maschinensprache, Größe der Maschinenworte,...),
– unterschiedliche
Betriebssysteme,
– einen
Zugang zu codierten Daten, der in verschiedenen Sprachen (C, ADA,...)
ausgeführt wird,
– unterschiedliche
Basistyp-Darstellungen (CHAR, INT, BYTE,...)...,
- • dem
Transfer des ausführbaren
Codes C des mobilen Agenten A sowie seines Ausführungskontexts von einem Knoten
N zum anderen. Hierzu wird ein Mechanismus zur Konvertierung des Agenten
in einen Bitstrom fA in Höhe jeder
Empfangsstruktur angeordnet,
- • dem
Laden und der Ausgabe einer dynamischen Verbindung, da die Ausführung des
Codes C des mobilen Agenten A in der Empfangsstruktur des Knotens
N auf die Ladungs- und Ausgabeprinzipien einer dynamischen Verbindung
zurückgreift, wenn
keine lokale Verbindungsausgabe am Host-Knoten N vorgesehen ist.
-
Der
mobile Agent A kann zum Beispiel in der JAVA-Programmiersprache hergestellt werden.
Um es einer virtuellen JAVA-Maschine (JVM = englische Abkürzung von
JAVA Virtual Machine), d.h. dem Ausführungssystem des JAVA-Bytecodes,
zu ermöglichen,
muss der Standard-ClassLoader
erweitert werden. Der ClassLoader, der entwickelt wurde, lädt nämlich nicht
die Klassen ausgehend von einer Datei, sondern von einer Byte-Tabelle. Dieses Format, das äußerst einfach
und weit verbreitet ist, ermöglicht es,
sich vollkommen vom Übertragungskanal
der Klassen sowie von ihrem Speichermodus zu befreien. Es ist also
von jedem Maschinen-Protokoll unabhängig.
-
(INITIALISIERUNG NS)
-
1 zeigt
ein schematisches Schaltbild der Wanderung eines mobilen Agenten
A in einem Netz R. Der mobile Agent A wird in Höhe des Quellenknotens NS definiert, und seine Wanderung im Netz
R wird ausgehend von diesem gleichen Quellenknoten NS initialisiert,
wie es 3 zeigt.
-
Die
Definition des mobilen Agenten A besteht darin, den ausführbaren
Code C (Schritt S1), die Transfermethode der Daten DR,
die aus der Ausführung
dieses Codes C an jedem Knoten N resultieren, zum Endknoten NF (Schritt S2), den Durchlauf P der Wanderung
des Agenten A über
die Zielknoten NC des Netzes R (Schritt
S2) und die Anfangsausführungsparameter
D0E des ausführbaren Codes C (Schritt S4)
zu wählen.
Die im Agenten A enthaltenen Daten D können zum Beispiel Informationen,
Mitteilungen, Parameter usw. sein.
-
Die
Definition der Transfermethode der aus der Ausführung eines Codes C resultierenden
Daten zum Endknoten NF besteht zum Beispiel
in Höhe
jedes Knotens N darin, gemäß einem
Auswahlkriterium, das das Volumen der erhaltenen resultierenden Daten
DR sein kann, die direkte oder indirekte Übertragung
der resultierenden Daten DR zum Endknoten NF zu wählen.
Die Definition des Durchlaufs P erfolgt durch die Wahl einer Durchlaufmethode
P der Zielknoten NC. Diese Durchlaufmethode
P kann zum Beispiel einfach ein Auswahlkriterium der Zielknoten
{N} sein.
-
Alle
Schritte S werden von einer Quelle eines mobilen Agenten SA innerhalb
des Quellenknotens NS durchgeführt, die
in jedem Knoten N des Netzes R vorhanden sind, wie 2 zeigt.
-
(SENDEN NS → NI1)
-
Um
den Transfer des mobilen Agenten A zu ermöglichen (Schritte T), d.h.
des autonomen ausführbaren
Codes C, der zugeordneten Parameter D und der Durchlaufmethode,
wird der mobile Agent A zunächst
in einen Bitstrom fA umgewandelt, der vom Sender
des mobilen Agenten EA des Quellenknotens NS gleich
demjenigen, der zum Beispiel in 2 vorgeschlagen
wird, zu senden ist, dann wird eine Verbindung zwischen dem Sendeknoten
und mindestens einem Empfangsknoten erzeugt, und schließlich wird
der Strom fA in einem gegebenen Kommunikationskanal
gesendet, wie zum Beispiel durch 4 vorgeschlagen
wird.
-
Die
Umwandlung des Codes C in einen Bitstrom entspricht einer Umwandlung
nicht seiner eigentlichen Beschaffenheit, sondern der Art, wie er von
der Umgebung, in der er sich befindet, wahrgenommen wird. Es ist
in gewisser Weise eine "Status"-Veränderung.
Die Übertragung
in Form von Bitströmen
ermöglicht
nicht nur die Übertragung
des Codes C, sondern auch der Daten D, wobei die Durchlaufmethode
P und ggf. andere Elemente es so dem ausführbaren Code ermöglichen,
autonom ausführbar
zu sein.
-
Der
Name des mobilen Agenten Name [A], der ausführbare Code C dieses mobilen
Agenten A und die dem Code C dieses mobilen Agenten A zugeordneten
Parameter D werden durch verschiedene Elementarwandler: C/F für den Code,
D/F für
die Daten,... in die Form von Bitströmen gebracht (Schritt T1 bis
T3). Die verschiedenen Bitströme
werden in einen zu sendenden Strom fA umgewandelt,
d.h. werden mit Hilfe des Synthetisierers SF in einem einzigen Strom
zusammengefasst und erfahren die üblichen Verarbeitungen TN,
die die Übertragung
von digitalen Daten erlauben, wie zum Beispiel die Komprimierung,
die Fehlerkorrekturcodierung, die Verschlüsselung,... (Schritt T4). Die
Ausführung
der Durchlaufmethode P der Zielknoten N durch den mobilen Agenten
A ermöglicht
es, die Transferparameter des Quellenknotens NS zum
ersten Zwischen-Zielknoten NI1 zu bestimmen
(Schritt T5). Diese Parameter ermöglichen es dem Verbindungserzeuger
CL, einen Kommunikationskanal zwischen dem Sendeknoten NE, der hier der Quellenknoten NS ist,
und dem Empfangsknoten NR zu öffnen, der
hier der erste Zwischenknoten NI1 ist (Schritt
T6). Der Bitstrom fAS→1, der den mobilen Agenten
A enthält,
wird dann vom Bitstromsender EF in dem offenen Kanal zum ersten Zwischen-Zielknoten
NI1 gesendet (Schritt T7). wenn das Senden
beendet ist, wird der Kanal geschlossen (Schritt T8).
-
Der
Transfer erfolgt über
Funkwellen. Zum Beispiel kann die Definition des Durchlaufs P einer Anzahl
von Funksprüngen
oder einem Funknetz R entsprechen. In diesem Fall speichert der
Agent A seinen Durchlauf P und weist entweder einen Algorithmus
auf, der es ihm ermöglicht,
den folgenden Knoten NR zu bestimmen, oder
greift auf einen lokalen Dienst mit der Empfangsstruktur zu, um
den folgenden Knoten NR zu bestimmen. Da
die Funkverbindungen schwankend sind (mit im Lauf der Zeit variabler
Qualität),
ist es von vorneherein schwierig, den Durchlaufbefehl der Knoten
N zu definieren. Es ist also vorzuziehen, den Agenten A seinen Durchlauf
P durchführen
zu "lassen", indem ihm bei der
Initialisierung eine Verbindungstabelle des Netzes R und ein zugeordneter
Auflösungsalgorithmus
angezeigt werden.
-
(EMPFANG NI1)
-
4 zeigt
das Verfahren, das für
den Empfang eines mobilen Agenten A vom Empfänger eines mobilen Agenten
RA des Empfangsknotens NR, des Zwischenknotens
NI1, angewendet wird. Zunächst wurde
der Kommunikationskanal zwischen dem Sendeknoten NE (Quellenknoten
NS) und dem Empfangsknoten NR (erster
Zwischenknoten NI1) geöffnet, wie oben für 3 beschrieben
(Schritt R1 ↔ Schritt
T6). Der Bitstromempfänger
RF des Zwischenknotens NI1 empfängt also
den Bitstrom fAS→1, der den vom Quellenknoten
NS gesendeten mobilen Agenten A enthält (Schritt
R2). Wenn die Integrität
des empfangenen Stroms fAS→1 verifiziert ist (Schritt
R3), wird der empfangene Strom fAS→1 authentifiziert,
zum Beispiel mit Hilfe einer Verschlüsselung (Schritt R4). Diese
Schritte werden von digitalen Verarbeitungsvorrichtungen TN–1 durchgeführt. Wenn
der den mobilen Agenten A enthaltende Bitstrom fAS→1 empfangen
wurde, wird der Kommunikationskanal wie oben bei der Beschreibung
der 3 angegeben geschlossen (Schritt R5 ↔ Schritt
T8).
-
Wenn
der den mobilen Agenten A enthaltende Strom fAS→1 verifiziert
und authentifiziert wurde (Schritte R3 und R4), wird der Name des
mobilen Agenten NAME [A] aus dem Strom fAS→1 entnommen (Schritt
R6).
-
Die
Autorisation, den Agenten A am Zwischenknoten NI1 auszuführen, wird
von einem Autorisationsprüfer
VA verifiziert (Schritt R7). Diese Autorisation erlaubt dem Code
C des mobilen Agenten A den Zugang zu den Ressourcen des Empfangsknotens
NR (erster Zwischenknoten NI1).
Die Autorisation besteht darin, dass zum Beispiel im Fall einer
Inkohärenz
zwischen den Empfangsstrukturen und den Agenten der mobile Agent
A sich nicht ausführen kann.
Die Verwendung zum Beispiel für
die Schnittstellen des Schnittstellenagenten vom Typ "Eigentümer", die in der Lage
sind, explizit (dedizierte Schnittstelle) oder implizit die Aufgabe
eines Zugangsschlüssels
zu übernehmen,
ermöglicht
es, die Einführung
eines externen und nicht erwünschten
Agenten in das System zu verhindern.
-
Wenn
der Agent A nicht autorisiert ist, sich am Knoten NI1 auszuführen, kann
er zum Beispiel vom Sender EA des Knotens NI1 sofort
zu einem neuen Knoten, entweder dem Zwischenknoten NI2 oder dem
Endknoten NF, des Netzes R weitergesendet werden.
-
Wenn
der Agent A autorisiert ist, sich am Knoten NI1 auszuführen, werden
der ausführbare Code
C aus dem empfangenen Strom fAS→1 (Schritt R8)
sowie die dem Code C zugeordneten Parameter D (Schritt R9) vom Extrahierer
eines mobilen Agenten EXa entnommen. Die Parameter D0E sind
so positioniert, dass sie die Ausführung des Codes C durch die
Positioniervorrichtung PP initialisieren (Schritt R10). Dann kann
der Agent A sich ausführen
(Schritte E), ehe er an einen neuen Knoten, entweder einen Zwischenknoten
NI2 oder einen Endknoten NF, übertragen
wird (Schritte T).
-
(AUSFÜHRUNG NI1)
-
5 schlägt ein Ausführungsverfahren
des mobilen Agenten A vor. Der Agent A verifiziert zunächst, ob
der Zwischenknoten NI1 ein Zielknoten NC ist (Schritt E1). Wenn dies nicht der Fall
ist, löst
er sofort seinen Transfer zu einem neuen Knoten, entweder einem
Zwischenknoten NI2 oder einem Endknoten
NF, aus (Schritte T). Wenn der Zwischenknoten NI1 ein Zielknoten ist, wird der Code unter
Verwendung der Ressourcen (Mikroprozessor μP,...) des Host-Knotens NH, des Zwischenknotens NI1,
ausgeführt
(Schritt E2). Die Daten D, die die Parameter D des Codes C enthalten,
und die resultierenden Daten DR der Ausführung des
Codes C werden aktualisiert (Schritt E3). Die aktualisierten Parameter
D enthalten die Daten, die es ermöglichen, die Ausführung des Codes
C an einem neuen Knoten fortzusetzen. Sie speichern den Kontext,
in. dem sich der Code C in dem Moment befindet, in dem seine Ausführung vor dem
Transfer des mobilen Agenten A zu diesem neuen Knoten eingefroren
wird.
-
Die
resultierenden Daten DR können ihrerseits
auf verschiedene weisen übertragen
werden, zum Beispiel mit dem mobilen Agenten A wie die Parameter
D, oder mit einem neuen mobilen Agenten A'. Es wird ein Test durchgeführt, um
die Transfermethode der Daten DR zu kennen,
die verwendet werden wird (Schritt E4). Dieser Test kann zum Beispiel auf
dem Volumen der zu übertragenden
Daten DR basieren. Unterhalb eines gewissen
Volumens (Zweig 1) werden die Daten DR wie
die Parameter D mit dem mobilen Agenten A transferiert (Schritte
T). Oberhalb dieses Volumens (Zweig 2) ermöglicht die Transfermethode
der Daten die Herstellung eines neuen Agenten A', der diese Daten DR enthält (Schritt
E5).
-
Die
Zwischenübertragung
der Daten DR ermöglicht es, den Transfer eines
mobilen Agenten großen
Volumens zu vermeiden, also eine starke Nutzung des Durchlassbands
zu vermeiden, was es ermöglicht,
die Übertragungsfehler
zu begrenzen. Wenn ein mobiler Agent A Informationen sammelt, wird
er nämlich
in der Lage sein, die Zwischenergebnisse DR an
den Endknoten NF entweder durch den Aufbau
einer direkten oder indirekten Verbindung oder durch die Erzeugung
eines Transportagenten A' zu übertragen
(Schritt E5).
-
(SENDEN NI1 → NI2)
-
Dann
wird dieser neue mobile Agent A',
der die Ergebnisse DR enthält, zum
Endknoten NF transferiert, und der ursprüngliche
mobile Agent A wird zu einem neuen Knoten N transferiert. Die Transfers
der mobilen Agenten A und A' erfolgen
zum Beispiel von diesem ersten Zwischenknoten NI1 zu
einem neuen Knoten N bzw. dem Endknoten NF,
in gleicher Weise wie der Transfer des mobilen Agenten A des Quellenknotens
NS zum Knoten NI1 (Schritte
T) durch einen Sender EA gleicher Struktur wie der Sender EA des Quellenknotens
NS.
-
(EMPFANG NI2)
-
Wenn
der mobile Agent A erneut an einem Zwischenknoten NI empfangen
wird, sind die Schritte R des Empfangs, E der Ausführung und
T des Transfers des mobilen Agenten A gleich denjenigen, die am
ersten Zwischenknoten durchgeführt
werden, und werden von einem Empfänger RA durchgeführt, der
gleich demjenigen des ersten Zwischenknotens ist.
-
(ENDEMPDFANG)
-
Der
Empfang eines mobilen Agenten A an einem Endknoten NF weist
die gleichen Schritte R1 bis R10 auf und wird vom gleichen Typ Empfänger RA durchgeführt, wie
er oben für
den Empfang eines Agenten A an einem Zwischenknoten NI beschrieben wurde.
Wie 4 zeigt, ist der zusätzliche Schritt bei einem Endempfang
derjenige der Wiedergewinnung der Ergebnisse der Ausführung DR (Schritt R11). Die Wiedergewinnung der
Gesamtheit der Ergebnisse der Ausführung des Codes C eines mobilen
Agenten A an allen Knoten N seines Durchlaufs P kann ausgehend von
einem oder mehreren mobilen Agenten A, sogar A',..., durch ein zusätzliches Mittel des Empfängers RA
durchgeführt
werden: Eine Vorrichtung zur Wiedergewinnung der Ergebnisse RR.
-
Gemäß einem
Verfahren, das nicht vom Anspruch 1 abgedeckt wird, ist es zur Reduzierung
der Größe des mobilen
Agenten A und zur Erhöhung
seiner Effizienz möglich,
einen Teil der Funktionalitäten des
mobilen Agenten A, d.h. einen Teil des Codes C, in die Empfangsstruktur
der Knoten N zu implementieren. Der transferierte mobile Agent A
weist dann die Parameter und den restlichen Teil des Codes auf, die
nicht in die Empfangsstruktur implementiert wurden. In diesem Fall
ist das generische Vermögen
der Struktur verschlechtert, was zur Folge hat, die Entwicklungsmöglichkeiten
der mobilen Agenten zu reduzieren. Dies ist eine Lösung, um
ein hohes Sicherheitsniveau zu erhalten. Außerdem ist dies gut geeignet
für den
Zugang und die Aktualisierung der Betriebsparameter eines Knotens
N. Bei einem neuen Typen eines Agenten A ist es dann notwendig,
eine neue Empfangsstruktur bereitzustellen.
-
Die
oben beschriebenen Vorrichtungen können in jedem Knoten gleich
oder für
jeden Knoten oder ein Unter-Netz spezifisch sein. Zum Beispiel können die
Quelle eines mobilen Agenten SA und/oder die Wiedergewinnungsvorrichtung
RR des Empfängers
RA nur in einem Überwachungsknoten vorhanden
sein.
-
Die
Verwendung eines mobilen Agenten A in einem Netz R ermöglicht unter
anderen die Überwachung
und die Verwaltung des Netzes R bei Anwendungen wie zum Beispiel:
- • der
Konfiguration und der Aktualisierung des Inhalts der Knoten N (Aussenden
von Information an ein Netz, ein Unter-Netz,...),
- • dem
Sammeln von Informationen (Wiedergewinnung von Zuständen, Zentralisierung
von Betriebsdaten,...),
- • der
Einwirkung aus der Ferne (Ausführung: Mehrfachkriterien-Recherche
an jedem Knoten zum Beispiel),
- • der
Entdeckung der Topologie,
- • der
Durchsuchung (Validierung jeder der Verbindungen eines Netzes, automatische
Erfassung des Hinzufügens
oder Entfernens eines Knotens ohne menschliche Intervention, zum
Beispiel),
- • dem
Speichern oder dem Lernen des vom mobilen Agenten A durchgeführten Durchlaufs
PE (dies ermöglicht es dem mobilen Agenten
A, "seinen Weg wieder
zu finden": Funksprung,
Neuaussendung, Datenübertragung
mit Verwendung dieses Durchlaufs PE,...)
- • der
Verifizierung eines Netzes durch Aussenden einer Authentifizierungsanforderung....
-
Jeder
Knoten ist in der Lage, einen Dienst zu enthalten (nicht notwendigerweise
den gleichen) und ihn dem Verbund von Knoten zur Verfügung zu
stellen, mit dem er sich verbindet. So ist es möglich, die Anzahl von Funktionalitäten signifikant
zu erhöhen, indem
sie zwischen den verschiedenen Knoten aufgeteilt werden. Jeder zu
einem Verbund gehörende Knoten
kann die von den anderen Knoten dieses gleichen Verbunds dargestellten
Funktionalitäten
nutzen. Hierzu adressiert er eine Anforderung in Form eines mobilen
Agenten ARL an den lookup-Dienst, der die
Verbindung mit einem Knoten NC aufbaut,
der über
diese Funktionalität
verfügt.
Der Code C wird dann in Form eines mobilen Agenten A zum Kundenknoten
heruntergeladen, wo er ausgeführt
wird.
-
Der
den lookup-Prozess aufweisende Knoten verteilt die Anforderungen
in Abhängigkeit
von der Verfügbarkeit
der Dienste und der Belastung. Er kann auch Nutzungsstatistiken
der verschiedenen Dienste liefern, um ihre Verteilung auf die verschiedenen
Knoten zu optimieren.
-
Die
Erfindung betrifft ein Funknetz, dessen Verbindungen schwankend
sind. Der Kommunikationskanal eines Funknetzes ist eine begrenzte
Ressource mit zeitlich variabler Qualität. Die Verwendung des mobilen
Agenten passt sich also gut an den Kontext der mobilen Funkkommunikation
an, da er es ermöglicht,
nur die notwendigen Daten zu transferieren, im Gegensatz zu einem "klassischen" Frage/Antwort-Mechanismus.
-
Da
der mobile Agent A in Form eines Bitstroms fA übertragen
wird, kann er die gleichen Verarbeitungen wie ein beliebiger Strom
von digitalen Daten erfahren, wie:
- • die Komprimierung,
die es ermöglicht,
das verwendete Durchlassband zu reduzieren,
- • die
Verifizierung der Integrität
des Transfers (zum Beispiel durch Software-Wasserzeicheneinfügung). Die Methode der Integritätverifizierung des
Transfers kann zum Beispiel den Verbindungsdurchsatz (Codierung)
und die Größe der übertragenen
Pakete in Abhängigkeit
von der Verbindungsqualität
anpassen, indem sie Dienste vom Typ cheksum und Segmentierung/Wiederzusammensetzen
anbietet,
- • die
Anordnung in Paketen,
- • die
Codierung.
-
Eine
der Eigenschaften eines mobilen Agenten A ist zum Beispiel im Funkfall
die Tatsache, dass die Ausführung
des Codes C des mobilen Agenten A nicht den Nennbetrieb stört, oder
zumindest die Verwendung RAM oder CPU so gesteuert wird, dass eine
dauerhafte Verschlechterung der Leistungen verhindert wird.
-
Außerdem ermöglicht das
Funknetz die Aussendung des mobilen Agenten in Form eines Bitstroms
anstelle der "klassischen" Punkt-zu-Punkt-Übertragung.
Die Aussendung eines mobilen Agenten A ermöglicht es, die Nutzung des Funkdurchlassbands
zu reduzieren. Das Senden des mobilen Agenten A wird zu allen Knoten
N in Funksichtweite durchgeführt.
Der mobile Agent A ist dann mit sich selbst kollaborativ, da er
in der Lage ist, mehrfach von dem gleichen Knoten N empfangen zu werden.
Zum Beispiel besitzt der mobile Agent A eine Kennung (Form der Konfigurationsverwaltung),
um nicht mehrere Male vom gleichen Knoten N ausgeführt zu werden.
Eine Markierungsvorrichtung MQ, die zum Beispiel die Kennung des
mobilen Agenten A verwendet, kann bei einem der Prozesse verwendet
werden, der den mobilen Agenten in Höhe eines Knotens verwendet,
wie zum Beispiel die Ausführung des
mobilen Agenten, das Senden des mobilen Agenten, der Empfang des
mobilen Agenten (siehe 2),.... Der mobile Agent A ist
dann in der Lage, die Synthese der bei den verschiedenen Durchläufen gesammelten
Daten DR durchzuführen.