-
Die Erfindung betrifft ein Verfahren
und System zum Durchleiten von Agentenprogrammen (Agent Programs)
durch ein Kommunikationsnetzwerk. Die Erfindung ist anwendbar auf
Kommunikationsnetzwerke, wie etwa das Internet, welche das Internetprotokoll
benutzen.
-
Das Internetprotokoll wird benutzt
für die Übertragung
von Datenkommunikationspaketen über ein
Netzwerk aus teilnehmenden digitalen Kommunikationsnetzwerken. Die
Funktionsweise des In ternet-Protokolls ist in Standardreferenzwerken
beschrieben, die allgemein zur Verfügung stehen. Das Internet ist
ein globales Netz aus Netzwerken, welches nach dem Internet-Protokoll
arbeitet und mit einem dezentralisierten Management betrieben wird.
-
Das Internet enthält Lokalbereichsnetzwerke und öffentliche
Weitverkehrsnetzwerke, welche die Kommunikation von Paketen zwischen
den Lokalbereichsnetzwerken erlauben. Die Pakete werden zwischen
Knoten in dem Netzwerk an Orte übertragen, deren
jeder eine individuelle lokale Netzwerkadresse hat. Ein Datenkommunikationspaket
kann vom Ort eines Benutzers aus über einen mit dem Internet
verbundenen Zugangsknoten in das Internet eingespeist werden. Das
Paket wird durch die Internetknoten zu irgendeinem mit dem Netzwerk
verbundenen Zielort geleitet, sofern die örtliche Adresse des Zielortes
im Anfangsblock (Header) des Pakets enthalten ist.
-
Jedes über das Internet geschickte
Paket wird über
einen Weg geführt,
welcher durch Netzkoppler (Gateways) und Server bestimmt wird, die das
Paket entsprechend der Zieladresse und Verfügbarkeit des Netzwerkweges
durchschalten, um eine Verbindung zum Zielort herzustellen.
-
Mit dem zunehmenden Wachsen des Internets
als Quelle von Informationen und Dienstleistungen ist die Auswahl
von Zielorten zum Sammeln und Erfassen von Information um Größenordnungen schwieriger
geworden. Beim Versuch, dieses Problem zu lösen, wurden intelligente Agentenprogramme
angewandt, um sich von Ort zu Ort innerhalb des Internets durchzufragen
und durchzubewegen und um Dienste für den Benutzer anzubieten.
Zu diesem Zweck benötigt
der Agent eine Liste von Bestimmungsorten, welche die gewünschte Dienstleistung anbieten.
Der Benutzer muss dann im Agentenprogramm eine Liste von Orten angeben,
die er besuchen will oder ein Verzeichnis passender Orte heranziehen,
von denen er die Adressen der zu besuchenden Orte erhalten kann.
Alternativ kann sich das Agentenprogramm seinen Weg zufällig suchen.
-
Die derzeitigen Versuche, intelligente
Programmagenten zu benutzen führen
zu einem ineffizienten Suchmuster oder langen Suchzeiten.
-
In der US-A-5 701 484 ist ein System
zur Durchleitung eines Objektes längs eines Aktionsweges in einem
verteilten Computersystem beschrieben. Der Aktionsweg bestimmt den
vom Objekt zu durchlaufenden logischen Weg. Das System führt das
Objekt längs
dieses Aktionsweges, überwacht und
steuert sein Fortschreiten, bis es den Weg beendet hat.
-
Die Erfindung zielt darauf ab, ein
verbessertes Verfahren und System zur Adressierung von Programmagenten
innerhalb eines Kommunikationsnetzwerks zu schaffen.
-
Gemäß der Erfindung ist ein Kommunikationsnetzwerk
vorgesehen mit einer Mehrzahl von untereinander verbundenen Netzwerkorten
und Schaltern zum Durchleiten von Agentenprogrammen durch das Kommunikationsnetzwerk
anhand örtlicher Adressen,
die in einer Ortsbesuchsadressenliste enthalten sind, die jedes
Agentenprogramm ausführt, wobei
das Netzwerk einen Netzwerksort hat, der eine Adressenregistratur
und eine Datenverarbeitungseinrichtung enthält und dadurch gekennzeichnet
ist, dass die Datenverarbeitungseinrichtung so programmiert ist,
dass sie in der Adressenregistratur Ortsadresseninformationen aus
dem Besuch von Agentenprogrammen sammelt und Ortsadresseninformationen
aus der Registratur in die Besuchsadressenliste nachfolgender Agentenprogramme,
welche diesen Ort besuchen, einfügt.
-
Die Erfindung schafft auch ein Verfahren zum
Durchleiten von Agentenprogrammen durch ein Kommunikationsnetzwerk,
das eine Mehrzahl untereinander verbundener Netzwerkorte und Schalteinrichtungen
aufweist, um die Agentenprogramme durch das Kommunikationswerk hinsichtlich
Ortsadressen durchleitet, die in einer Ortsbesuchsadressenliste
enthalten sind, welche von jedem Agentenprogramm geführt wird,
wobei das Verfahren gekennzeichnet ist durch die Schritte: Aufsammeln
und Registrierung von Ortsadresseninformationen von den Adressenlisten
der Agentenprogramme, welche einen Ort im Netzwerk besuchen, und
Einsetzen solcher Adresseninformationen in die Besuchsadressenliste
nachfolgender Agentenprogramme, welche diesen Ort besuchen.
-
Die Erfindung sei nun anhand eines
Ausführungsbeispiels
mit Bezug auf die beiliegenden Zeichnungen beschrieben. Es zeigen
-
1 eine
schematische Blockdarstellung eines Kommunikationsnetzwerkes, welches
die Erfindung enthält,
-
2 Elemente,
die an einem Benutzerort im Netzwerk nach 1 enthalten sind,
-
3 Elemente
eines Agentenprogramms, welches durch das Netzwerk nach 1 hindurchgeleitet wird,
-
4 Netzwerkressourcen,
die mit dem Netzwerk nach 1 verbunden
sind und
-
5 in
schematischer Blockdarstellung das Verfahren, nach welchem das Netzwerk
gemäß Figur 1 arbeitet.
-
Gemäß 1 ist eine erste Mehrzahl von Benutzerorten 10 zu
einem Lokalbereichs-Netzwerk (Lokalnetz) 11 zusammengeschaltet.
Die Anzahl der Orte 10 ist mit drei angegeben, jedoch versteht
es sich, dass es in der Praxis eine Vielzahl solcher Benutzerorte 10 gibt.
Das Lokalnetz ist über
einen Netzkopplerknoten 12 in ein Weitverkehrsnetz 13 eingebunden.
Das Lokalnetz 11 enthält
einen Datenprozessor 14, der Dienstleistungsanforderungen
von Benutzerorten über
I/O-Anschlüsse
erhält,
die individuell mit den Benutzerorten 10 verbunden sind.
Der Prozessor 14 leitet die Dienstleistungsanforderungen durch
den Netzkopplerknoten 12 an das Weitverkehrsnetzwerk 13 weiter.
-
Das Lokalnetz 11 ist eines
einer Anzahl solcher lokalen Netzwerke, die zu dem Weitverkehrsnetzwerk 13 zusammengeschaltet
sind, obwohl in 1 nur
ein solches lokales Netzwerk dargestellt ist. Jeder Benutzerort 10 an
irgendeinem der Lokalnetze 11 hat die in 2 gezeigte
Konfiguration. Die Benutzerorte haben jeweils eine CPU 20,
einen Speicher 21 und einen I/O-Anschluss 22. Die verschiedenen
Elemente des Benutzerortes sind über
einen Datenbus 23 miteinander verbunden. Der I/O-Anschluss ist
in das Lokalnetz 11 für
die Kommunikation zwischen dem Benutzerort und dem Lokalnetz eingekoppelt.
-
Die CPU 20 arbeitet unter
Steuerung durch ein Betriebsprogramm, das im Speicher 21 gespeichert
ist, um über
den I/O-Anschluss 22 weiterzuleitende Dienstleistungsanforderungen
zu formulieren. Die Dienstleistungsanforderungen werden von der CPU
in die Form von Agentenprogrammen übersetzt. Ein Agentenprogramm 30 enthält Pakete
digitaler Information, die in Felder eingeteilt sind, wie es 3 zeigt.
-
Die Agentenprogramme 30 enthalten
einen Header und ein Quellenadressenfeld 31. Die Quellenadresse
gibt die Ortsadresse des Benutzerortes 10 an, von welchem
das Agentenprogramm 30 in das Kommunikationsnetzwerk eingebracht
wird. Ein Adressenfeld 32 enthält Unterfelder 32a, 32b .... 32n, von
denen jedes die Adresse eines Zielortes im Netzwerk enthalten kann.
Der Benutzer am Benutzerort 10 verwendet die CPU 20 zur
Eingabe einer Zieladresse in eines der Adressenunterfelder oder
einer Adresse in jedes einer Anzahl von Adressenunterfeldern. Der
Benutzer am Benutzerort 10 ist damit in der Lage, eine "Besuchsliste" von Orten aufzustellen, welche
vom Agentenprogramm besucht werden sollen, wobei die Besuchsliste
als Minimum eine Ortsadresse enthält.
-
Die Unteradressenfelder 32a, 32b ... 32n enthalten
jeweils einen Besuchs-Marker V, der so einstellbar ist, dass er
anzeigt, wann die jeweilige Adresse besucht worden ist. Die Adressenliste
ist somit in zwei Adressen unterteilbar, je nachdem, wie die Besuchsmarker
gesetzt sind. Eine Adressenliste ist eine Liste von zu besuchenden
Adressen und die andere Adressenliste ist eine Liste von bereits
besuchten Adressen. Die Unteradressenfelder enthalten auch eine
Erfolglos-Markierung U, die gesetzt wird um anzuzeigen, wann die
betreffende Adresse sich als nicht erreichbar herausgestellt hat.
Der Zweck des Besuchs und des Erfolglos-Markers wird später noch
erläutert.
-
Ein Code- und Datenfeld 33 enthält Programmbefehle
für die
vom Agentenprogramm zu besuchenden Netzwerksorte. Ein Registerfeld 34 dient dem
Registrieren von seitens des Agentenprogramms gesammelten Daten.
-
Gemäß 1 sind die Benutzerorte 10 in
der Lage, einen Besucher-Dienstleistungswunsch zu formulieren, der
die Form eines Agentenprogrammes in der im Zusammenhang mit den 2 und 3 beschriebenen
Art hat. Der Dienstleistungswunsch wird über den I/O-Anschluss 22 des
Benutzerortes mitgeteilt, um über
den Netzkopplerknoten 12 in das Weitverkehrsnetzwerk 13 zu
gelangen. Das Lokalnetz 11 und das Weitverkehrsnetzwerk 13 enthalten
Schalt- und Adressierschaltungen, um jedes Agentenprogramm durch
einen Weg im Netzwerk zu führen,
so dass es einen Bestimmungsort erreicht, der durch eine Adresse
im Adressenfeld 32 des Agentenprogramms gewählt ist.
Der Weg durch das Netzwerk führt
das Agentenprogramm schließlich
durch einen Netzkopplerknoten 14 zu einer Netzwerk-Ressource 15.
Diese enthält
Serviceproviderorte 16, von denen jeder eine Ortsadresse
hat, welche in der Adressenliste enthalten ist, die von einem an
einem Benutzerort 10 eingespeisten Agentenprogramm zu besuchen ist.
Wie für
den Fachmann klar ist, bildet die Netzwerk-Ressource 15 in
der Praxis eine von einer Mehrzahl solcher Netzwerk-Ressourcen von
denen jede eine oder mehr Serviceproviderorte 16 hat.
-
Die Konfiguration eines Serviceproviderortes ist
in 4 gezeigt und umfasst einen Prozessor 40 mit
einem Agentenempfangsanschluss 41 und einem Speicher 42.
Der Speicher 42 enthält
Datenbanken A und B welche für
Besuchsprogrammagenten 30 zugänglich sind. Ein Besuchsprogrammagent
kann Information von einer Datenbank im Speicher 42 aufnehmen,
welche in das Registerfeld 34 des Programmagenten einzugeben
ist. Die Suche nach und Auswahl von solchen Informationen aus einer
oder mehreren der Datenbanken A und B wird durch Programmbefehle
gesteuert, die im Code- und Datenfeld 33 enthalten sind.
Der Speicher 42 kann auch Registraturen A und B enthalten,
die zu den jeweiligen Datenbanken A und B gehören.
-
Es sei nun anhand von 5 das Verfahren beschrieben, nach welchem
die Agentenprogramme an jedem der Serviceproviderorte verarbeitet
werden. Das Netzwerk ist generell mit 60 bezeichnet und enthält die Quelle
der Agentenprogramme A bis N. Jedes der Agentenprogramme enthält ein Code-
und Datenfeld, das Datenregister und die Adressenliste, wie bereits
beschrieben.
-
Nach Übernahme eines Agentenprogramms am
I/O-Anschluss 41 eines Serviceproviders A bestätigt die CPU 40 an
diesem Ort in Schritt 50, dass die vom Agentenprogramm angesteuerte
Ortsadresse mit der Ortsadresse des Serviceproviders A übereinstimmt.
Die CPU 40 unterwirft in Schritt 51 das Agentenprogramm
einer Sicherheitsprüfung,
um sicherzustellen, dass das Agentenprogramm autorisiert ist, auf
die an diesem Serviceproviderort vorhandene Datenbank A oder B zuzugreifen.
Nach erfolgreicher Durchführung
der Sicherheitsprüfung
aktualisiert die CPU 40 in Schritt 52 beide Registraturen
A oder B, je nachdem, ob das Besuchsagentenprogramm auf die betreffende
Datenbank A oder B zugegriffen hat.
-
Jede Registratur A oder B besteht
aus einer Adressenliste. Die Adressen in jeder Registratur A oder
B sind Serviceproviderorte, welche dieselbe Dienstleistung oder
dieselbe Kategorie von Dienstleistungen wie der Serviceprovider
A anbieten. Wählt ein
Besuchsprogrammagent Daten aus der Datenbank A aus, dann werden
die Adressen in der entsprechenden Registratur A von der CPU 40 in
Schritt 52 aktualisiert. Wählt
das Besuchsagentenprogramm Daten aus der Datenbank B, dann werden
die Adressen in der entsprechenden Registratur B aktualisiert.
-
Die Aktualisierung der Adressenliste
entweder im Register A oder B umfasst einen Vergleich zwischen den
bereits in der Registratur enthaltenen Daten mit sowohl der Quellenadresse
des besuchenden Agenten als auch mit der Besuchsliste in seinem Adressenfeld 32.
Diejenigen Adressen, die bei dem Vergleich als in der Registratur
am Providerort A als fehlend festgestellt werden, werden zu der
Liste hinzugefügt.
Der Serviceprovider ist damit in der Lage, in den Schritten 52 und
53 von den Besuchsprogrammagenten gelesene Adressen zu akkumulieren,
die sich auf Providerorte beziehen, welche dieselben Dienste oder
dieselbe Kategorie von Diensten wie der Providerort A anbieten.
-
Der Besuchsmarker bei jeder Adresse
im Adressenfeld 32 eines Besuchsagenten zeigt an, dass
diese Adresse besucht worden ist. Falls die Adresse noch zu besuchen
ist, liest die CPU aus dem Besuchsmarker, dass die Adresse eine
potentielle, jedoch nicht verifizierte Adresse ist und markiert
sie in der Providerregistratur dementsprechend.
-
Die CPU liest aus dem Erfolglos-Marker
U, ob eine Adresse sich als unzugänglich herausgestellt hat und
markiert diese dementsprechend in der Providerregistratur. Die CPU 40 ist
so programmiert, dass sie zählt,
wie oft eine Adresse als unerreichbar markiert worden ist, und dass
sie die Adresse entfernt, wenn sie mehr als eine vorgewählte Anzahl
von Malen in der Providerregistratur als unerreichbar markiert worden
ist. Die vorgewählte
Anzahl kann 3 sein.
-
In Schritt 54 vergleicht die CPU 40 die
bereits in der Provideradressenliste enthaltenen Adressen mit den
Adressen in der Adressenliste des Besuchsprogrammagenten. Orte,
welche dieselbe Dienstleistung wie der Provider A anbieten, jedoch noch
nicht in der Agentenadressenliste enthalten sind, werden in diese
eingefügt.
Es leuchtet ein, dass im Verlauf der Schritte 52, 53 und 54 der
Serviceprovider Adressen von aufeinanderfolgenden Besuchsprogrammagenten
aufsammeln kann, um so eine Registratur von Adressen von Providerorten
aufzubauen und kontinuierlich zu erhalten, welche dieselbe Dienstleistung
oder dieselbe Kategorie von Dienstleistungen anbieten. Außerdem ist
jeder nacheinander auftretende Besuchsprogrammagent in der Lage,
zu seiner Adressenliste diejenigen Adressen hinzuzufügen, die
von früheren
Programmagenten, welche dieselbe Dienstleistung oder dieselbe Dienstleistungskategorie
angefordert hatten, gesammelt worden waren.
-
Im Schritt 55 wird der Programmagent
in die Runtime-Umgebung eingegeben, wo vom Programmagenten angeforderte
Servicedaten in das Programmregisterfeld 34 eingegeben
werden. Nach dem Schritt 55 wird der Programmagent in Schritt 56 wieder
in das Netzwerk zurückgespeist.
-
Wenn der Programmagent A erst wieder
in das Netzwerk zurückgespeist
ist, kann er andere Serviceprovider B ... n besuchen, wie dies in 5 angedeutet ist. Jeder dieser Serviceprovider
enthält eine
Providerregistratur, welche Adressen von den Besuchsprogrammagenten
sammelt. Die Registraturen bei verschiedenen Serviceprovidern bilden
in kurzer Zeit zusammen eine verteilte Gesamtadressenregistratur,
insbesondere, wenn eine große
Anzahl von Programmagenten innerhalb des Netzwerks aktiv ist. Die
verteilte Adressenregistratur wird automatisch erhalten und ist
einer ausgedehnten Anzahl von Orten zugänglich, wo Programmagenten
möglicherweise die
Dienstleistungen erhalten können,
die von einem Benutzer angeordert werden, der den Programmagenten
eingespeist hat. Dies erfolgt ohne Eingriff seitens des Benutzers.
-
Die Erfindung ist anwendbar auf ein
Netzwerk, in welchem jeder der Serviceprovider 16 ein Selbstbedienungsterminal,
wie etwa ein Geldausgabeautomat ist. Die Selbstbedienungsterminals
erfordern sowohl Wartung als auch ein Nachfüllen von dazu bestimmten Serviceorten,
die ebenfalls in das Netzwerk eingebunden sind. Eine Zentrale im
Netzwerk enthält
Informationen über
den Zustand des Netzwerks und die Notwendigkeit präventiver
Wartung und Nachfüllung.
-
Autorisierte Programmagenten werden
in das Netzwerk eingespeist, um die Selbstbedienungsterminals auf
regelmäßiger Basis
zu besuchen und Information über
den Zustand jedes Terminals abzufragen und auf diese Weise den Zustand
des Netzwerkes insgesamt zu überprüfen, so
dass von der Zentrale aus eine Überwachung
erfolgt. Jedes Terminal hält
eine Wartungsregistratur derjenigen Orte, die verfügbar sind,
um Reparatur oder Nachfül lung durchzuführen, und
dies wird zu den von den Programmagenten geführten Daten hinzugefügt. Ein
Besuch seitens eines Programmagenten an einem Serviceort, der nicht
erreichbar ist, kann in der Adressenliste des Programmagenten vermerkt
werden, und diese Information kann von den Terminals gesammelt werden.
Die Bewegung der Agenten erlaubt es, dass eine verteilte Wartungsregistratur,
die auf die Terminals verteilt ist, automatisch aktualisiert gehalten
wird. Ein Terminal, welches Wartung oder Auffüllung erfordert, kann einen
Agenten mit einer Serviceanforderung losschicken und zu einer Liste
möglicher Orte
führen,
welche diese Anforderung bedienen können. Serviceorte können on-
und offline gehen und dabei sicherstellen, dass das Gesamtnetzwerk über die
verteilte Wartungsregistratur über
die Optionen Dienstleistungen zu erhalten, im Bilde ist.