-
HINTERGRUND DER ERFINDUNG
-
Diese Erfindung betrifft Verfahren
zum Erhalten eines Dienstes von einem Server auf einem Nachrichtennetzwerk
an irgendeine einer Vielzahl an Stationen, die mit dem Netzwerk
verbinden.
-
Um den Dienst an einer speziellen
Station zu erhalten, erzeugt ein Operator eine Anfrage für den Dienst.
Ein Teil dieser Anfrage bezeichnet den Dienst, der angefordert wird,
und ein anderer Teil der Anfrage benennt den Server, der den Dienst
bereitstellt.
-
Im Stand der Technik wurde eine Anfrage
für den
Dienst erzeugt, indem eine Tastatur an der Station verwendet wurde,
um den angeforderten Dienst und den Namen des Servers, der für den Dienst sorgt,
zu bezeichnen. Im Stand der Technik wurde eine solche Anfrage auch
erzeugt, indem eine Mouse verwendet wurde, um einen Cursor auf eine
Ikone zu setzen, die dem angeforderten Dienst vom benannten Server
entspricht, und indem diese Ikone angeklickt wurde.
-
Ein Beispiel für die obige Nachrichtennetzwerkart
ist das Internet. Dort erzeugen Millionen von Operatoren Anfragen
für Dienste
von tausenden verschiedenen Servern, und jeder Server hat einen
eindeutigen Namen. Ein Beispiel für eine solche Anfrage auf das
Internet ist http://www.microsoft.com.
-
Bevor der Server, der in einer Anfrage
benannt wird, den angeforderten Dienst bereitstellen kann, muss
dieser Name in eine Netzwerkadresse konvertiert werden, die dem
Server zugeordnet wird. Zum Beispiel ist die Netzwerkadresse, die
dem www.microsoft.com genannten Server entspricht, 207.68.156.49.
Diese Adresse für
den Server wird nicht vom Operator einer Station erzeugt, da sie
nicht "Bediener-freundlich" ist. Es ist für den Operator
der Station viel leichter, sich einfach den Namen des Servers zu
merken.
-
Im Stand der Technik sind verschiedene
Mechanismen verfügbar,
die den Namen eines Servers automatisch in eine einzige Netzwerkadresse
konvertieren. Ein solcher Mechanismus ist der Internet Domain Name
Service (DNS) und ein anderer ist der Windows Internet Name Service
(WINS).
-
Nachdem der Name des Servers in eine
einzige Netzwerkadresse konvertiert ist, wird der angeforderte Dienst
häufig
von einem einzigen Computer auf dem Netzwerk bereitgestellt, der
dieser Netzwerkadresse zugeordnet wird. Jedoch liegt bei der Bereitstellung
des Dienstes von einem einzigen Computer ein Problem darin, dass,
wenn der Computer kaputt geht, alle Stationen auf einem Netzwerk
nicht in der Lage sind, den Dienst zu erhalten. Ein weiteres Problem
bei der Bereitstellung eines einzigen Computers liegt auch darin,
dass der Computer überlastet wird,
wenn eine große
Anzahl der Stationen auf dem Netzwerk den Dienst gleichzeitig anfordern.
Folglich wird der Dienst schlechter oder abgelehnt.
-
Um diesen Problemen aus dem Stand
der Technik zu begegnen, wurden Server offenbart, die sich aus einer
Gruppe von mehreren Computern zusammensetzen, die in einem Cluster
miteinander verbunden werden. Siehe z. B. 2 des U.S.-Patents 5.371.852. Dort umfasst
der Cluster eine Vielzahl an Computern 105 bis 109,
und der Computer 109 wirkt als ein Gateway, der das Nachrichtennetzwerk
mit den Computern 105 bis 108 über eine Schnittstelle verbindet.
-
Mit dem obigen Cluster-Server kann
irgendeiner der Computer 105 bis 109 ausfallen
und der Dienst dennoch von den verbliebenen arbeitenden Computern
erhalten werden. Jedoch liegt ein Nachteil des Cluster-Servers darin,
dass, wenn der Gateway-Computer 109 ausfällt, keiner
der anderen Computer 105 bis 109 mehr in der Lage
ist, den angeforderten Dienst bereitzustellen.
-
Ein weiterer Nachteil des Cluster-Servers liegt
darin, dass er den zusätzlichen
Gateway-Computer 109 und eine zusätzliche Software benötigt, und
dies kann die anfänglichen
Kosten des Clusters und ihre Wartungskosten bedeutend erhöhen. Weiterhin werden
die zusätzlichen
Kosten jedesmal fällig,
wenn ein neuer Cluster-Server zum Netz hinzugefügt wird, um einen neuen Dienst
bereitzustellen.
-
Im Stand der Technik offenbart das
Dokument D1-EP-A-0 817 444 ein Verfahren zum Bereitstellen eines
Dienstes auf einem Nachrichtennetzwerk, das über eine Vielzahl an Stationen
verfügt,
die einen Dienst von einem Server erhalten, indem eine Anfrage erzeugt
wird, die einen eindeutigen Namen für den Server einschließt (Spalte
2, Zeilen 49–55). Ein
ein einziger Namensauflöser 180 wird
bereitgestellt, der den Servernamen mit mehreren Adressen verknüpft, die
jeweils einem Computer zugeordnet werden, der den Dienst durchführt (Spalte
2, Zeilen 32– 39,
Spalte 2, Zeile 56 – Spalte
3, Zeile 5).
-
Jedoch gibt in Dokument D1 der Namensauflöser 180 keine
Netzwerkadresse an irgendeine Station zurück, die einen Dienst anfordert.
Stattdessen operiert der Namensauflöser 180 als eine Brücke, mittels
der alle Verbindungen an alle Server gemacht werden. Diese Schritte
der Nicht-Rückgabe
irgendwelcher Adressen an den Anfordernden und des Herstellens aller
Verbindungen mit den Servern sind völlig anders als die Schritte,
die von den Ansprüchen der
vorliegenden Erfindung aufgezählt
werden.
-
Infolge der obigen Operation des
Dokuments wird der Namensauflöser 180 als
ein Flaschenhals wirken, wenn viele Stationen versuchen, gleichzeitig einen
Dienst auf dem Netzwerk zu erhalten. In Zusammenhang mit dem Verfahrens-Anspruch
der vorliegenden Erfindung wird jedoch die Anzahl der Stationen,
die gleichzeitig einen Dienst ohne das Auftreten eines Flaschenhalses
anfordern können,
inhärent erhöht. Dies
liegt daran, dass die Stationen in der vorliegenden Erfindung, wie
beansprucht, die Aufgaben reduzieren, die der Korrelator durchführen muss, indem
sie ihre eigenen Verbindung zu den Servern herstellen.
-
Entsprechend ist es eine Aufgabe
der vorliegenden Erfindung, ein neuartiges Verfahren zum Bereitstellen
eines Dienstes auf einem Nachrichtennetzwerk zur Verfügung zu
stellen, in dem die Probleme des obigen Standes der Technik bewältigt werden.
-
KURZE ZUSAMMENFASSUNG
DER ERFINDUNG
-
In Übereinstimmung mit der vorliegenden
Erfindung schließt
ein Verfahren nach Anspruch 1 zum Bereitstellen eines Dienstes mittels
eines Servers auf einem Nachrichtennetzwerk folgende Schritte ein:
1) das Koppeln eines Korrelators an das Netzwerk, das einen eindeutigen
Namen für
den Server mit mehreren Netzwerkadressen verknüpft; 2) das Bereitstellen einer
Gruppe von mehreren Computern an dem Netzwerk, von denen jeder den
Dienst durchführt, und
denen jeweils eine andere Adresse der mehreren Netzwerkadressen
zugeordnet wird; und 3) das Einschließen eines Netzwerk-Adressenselektors
auf dem Netzwerk, der jede Station einem einzigen Computer zuführt, wenn
ein Operator dieser einen Station eine Anfrage nach dem Dienst erzeugt,
die den eindeutigen Namen des Servers einschließt. Dieser Zuführungsschritt
wird durch die folgenden Unterschritte durchgeführt: a) der Empfang der mehreren
Netzwerkadressen, die mit dem eindeutigen Namen für den Server
verknüpft
sind, vom Korrelator, b) der Versuch, um über das Netzwerk mit den Computern
mit den mehreren Netzwerkadressen zu kommunizieren, c) die Auswahl
eines einzigen Computers, der im Versuchsschritt erfolgreich mit
dem Netzwerk-Adressenselektor kommuniziert, und d) das Bereitstellen der
Netzwerkadresse des ausgewählten
Computers für
diese eine Station.
-
Es wird auch ein Netzwerk-Adressenselektor nach
Anspruch 12 bereitgestellt.
-
Es ist ein Merkmal der vorliegenden
Erfindung, dass der Server eine virtuelle einzige Netzwerkadresse
hat. Dies bedeutet, dass vom Standpunkt eines Operators einer Station
aus der Dienst von einem einzigen Computer auf dem Netzwerk bereitgestellt
wird, der eine einzige Netzwerkadresse hat, die dem eindeutigen
Namen des Servers entspricht. In Wirklichkeit wird der Station der
angeforderte Dienst von verschiedenen Computern zu unterschiedlichen Zeitpunkten
abhängig
davon bereitgestellt, welcher Computer vom Netzwerk-Adressenselektor
ausgewählt
wird.
-
Ein weiteres Merkmal der vorliegenden
Erfindung liegt darin, dass irgendeiner der mehreren Computer ausfallen
kann, und dass die übrigen
Computer, die in Betrieb sind, damit fortfahren werden, den angeforderten
Dienst bereitzustellen. Dieses Merkmal wird von den obigen Unterschritten
a) bis d) erfüllt,
worin ein Versuch zum Kommunizieren mit irgendeinem der Computer,
der kaputt gegangen ist, durch die Versuche zum Kommunizieren mit
den übrigen
Computern bewältigt
wird.
-
Es ist auch ein anderes Merkmal der
vorliegenden Erfindung, dass mit geringen Kosten neue Dienste zum
Netzwerk hinzugefügt
werden können. Um
einen neuen Dienst hinzuzufügen,
wird eine zweite Gruppe von mehreren Computern mit dem Netzwerk
verbunden, die den neuen Dienst durchführen, und ein neuer Servername
plus die jeweiligen Netzwerkadressen für die zweite Gruppe von Computern
wird einfach im Korrelator gespeichert. Es wird kein zusätzlicher
Gateway-Computer, wie im Fall des Standes der Technik, wo ein Cluster-Server
zum Netzwerk hinzugefügt
wird, benötigt.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
1 zeigt
einen Server 20 mit einer virtuellen, einzigen Netzwerkadresse,
die eine bevorzugte Ausführungsform
der vorliegenden Erfindung bildet.
-
2 zeigt
eine Reihe an Schritten, die von einem Netzwerk-Adressenselektor
durchgeführt
werden, der eine Schlüsselkomponente
im Server der 1 ist.
-
3 zeigt
einen Server 20' mit
einer virtuellen, einzigen Netzwerkadresse, die eine zweite bevorzugte
Ausführungsform
der vorliegenden Erfindung bildet.
-
4 zeigt
eine Reihe an Schritten, die von einem Netzwerk-Adressenselektor
durchgeführt
werden, der eine Schlüsselkomponente
im Server der 3 ist.
-
5 zeigt
eine Modifikation, die an den Schritten vorgenommen werden kann,
die vom Netzwerk-Adressenselektor der 4 durchgeführt werden.
-
6 zeigt
eine weitere Modifikation, die an den Schritten vorgenommen werden
kann, die vom Netzwerk-Adressenselektor der 4 durchgeführt werden.
-
DETAILLIERTE BESCHREIBUNG
-
In 1 bezeichnet
die Bezugsziffer 10 ein Nachrichtennetzwerk, an das Hunderte
von Stationen gekoppelt werden können. Nur
zwei dieser Stationen werden in der 1 als
Stationen T1 und T2 gezeigt.
-
Ein Operator der Stationen T1 und
T2 kann einen Dienst über
das Netzwerk 10 erhalten, indem eine Anfrage nach dem Dienst
erzeugt wird. Ein Teil dieser Anfrage bezeichnet den Dienst, der
angefordert wird, und ein anderer Teil benennt einen Server, der
den Dienst bereitstellt.
-
Zum Beispiel bezeichnet die Bezugsziffer 11 in
der 1 eine Anfrage nach
einem Dienst, die mithilfe einer Tastatur 12 auf der Station
T1 erzeugt wird. Der Abschnitt 11a dieser Anfrage 11 benennt
den besonderen Dienst S, der angefordert wird, und der Abschnitt 11b benennt
den Server XYZ, der den angeforderten Dienst bereitstellt. Alle übrigen Abschnitte der
Anfrage 11 (wie beispielsweise ://) sind Steuerzeichen,
die zur Vervollständigung
gezeigt werden, aber für
die Erfindung nicht relevant sind.
-
Derselbe Dienst S kann auch auf eine
andere Weise von einem Operator einer Station angefordert werden.
Zum Beispiel deutet die Bezugsziffer 11' auf eine Anfrage, die von einem
Operator der Station T2 erzeugt wird, der eine Mouse 13 verwendet,
um einen Cursor 14 auf eine Ikone 15 zu setzen,
die dem Dienst S entspricht, und der dann die Ikone anklickt. Die
Ikone 15 wird auf einem Bildschirm 16 in der Station
T2 angezeigt.
-
Jetzt wird in Übereinstimmung mit der vorliegenden
Erfindung der Dienst S, der mithilfe der Stationen T1 und T2 angefordert
wird, in der 1 von einem
neuartigen Server 20 bereitgestellt. Dieser Server 20 setzt
sich aus einem Korrelator 21, mehreren Computern 22-1 bis 22-N und
einem jeweiligen Netzwerk-Adressenselektor 23-1 bis 23-2 für jede Station zusammen.
-
Wie die 1 zeigt, ist der Korrelator 21 ein eigenes
Modul, das mit dem Netzwerk 10 verbunden wird. Dieser Korrelator 21 verknüpft den
Namen XYZ des Servers mit mehreren Netzwerkadressen auf dem Netzwerk 10.
Zum Beispiel wird in der 1 der Servername
XYZ mit einer ersten Netzwerkadresse von 121.1. 23.1, einer zweiten
Netzwerkadresse von 206.25.72.29, ... und einer n-ten Netzwerkadresse von
194.85.6.50 verbunden.
-
Wie die 1 auch zeigt, werden die Computer 22-1 bis 22-N an
einer Vielfalt an voneinander beabstandeten Orten an das Netzwerk 10 gekoppelt. Der
Computer 22-1 wird z. B. in Los Angeles an das Netzwerk 10 gekoppelt;
der Computer 22-2 in San Diego an das Netzwerk 10 gekoppelt;
... und der Computer 22-N in Rom an das Netzwerk 10 gekoppelt.
-
Jedem der Computer 22-1 bis 22-N wird
eine unterschiedliche Adresse der mehreren Netzwerkadressen zugeordnet,
die durch den Korrelator 21 mit dem Servernamen XYZ verknüpft werden.
In der 1 wird dem Computer 22-1 die
erste Netzwerkadresse zugeordnet; dem Computer 22-2 die
zweite Netzwerkadresse zugeordnet; ... und dem Computer 22-N die
n-te Netzwerkadresse zugeordnet.
-
Auch wird jeder der Computer 22-1 bis 22-N so
programmiert, dass er unabhängig
den Dienst S bereitstellen kann. Um den Dienst S von einem speziellen
Computer 22-i zu erhalten, wird dieser Dienst über das
Netzwerk 10 angefordert, indem die i-ste Netzwerkadresse
verwendet wird.
-
Wenn die Station T1 vom Server XYZ
aus eine Anfrage nach dem Dienst S erzeugt, wählt der Netzwerk-Adressenselektor 23-1 einen
einzigen Computer der Computer 22-1 bis 22-N aus,
um diesen Dienst bereitzustellen. Wenn die Station T2 vom Server
XYZ aus eine Anfrage nach dem Dienst S erzeugt, wählt der
Netzwerk-Adressenselektor 23-2 auf eine ähnliche
Art und Weise einen einzigen Computer der Computer 22-1 bis 22-N aus,
um für
den angeforderten Dienst zu sorgen. Wie der Netzwerk-Adressenselektor 23-1 bis 23-2 die
obige Aufgabe durchführt,
wird in der 2 dargestellt.
-
Wie vom Schritt 31 in der 2 gezeigt, erzeugt anfangs
eine Station auf dem Netzwerk 10 eine Anfrage nach dem
Dienst S, die den Servernamen XYZ einschließt. Diese Station, die die
Anfrage erzeugt, wird in der 2 als
Station Tj bezeichnet, worin j = 1,2, usw., und der Netzwerk-Adressenselektor 23-jwird
in diese Station integriert.
-
Als Reaktion auf die Anfrage von
der Station Tj fragt der Netzwerk-Adressenselektor 23-j den
Korrelator 21 nach der Gruppe aller Netzwerkadressen, die
dem Servernamen XYZ entsprechen. Dies erfolgt im Schritt 32 in
der 2.
-
Danach empfängt der Netzwerk-Adressenselektor 23-j im
Schritt 33 über
das Netzwerk 10 eine Antwort vom Korrelator 21.
Diese Antwort wird dann, wie im Schritt 34 gezeigt, vom
Netzwerk-Adressenselektor 23-j untersucht.
-
Für
gewöhnlich
werden für
den Servernamen XYZ mehrere Netzwerkadressen vom Korrelator 21 empfangen.
In diesem Fall wird der "Ja"-Zweig im Schritt 34 genommen,
und die Schritte 35– 39 werden
durchgeführt.
Wenn jedoch der Servername XYZ und seine Netzwerkadressen nicht
im Korrelator 21 gespeichert werden, dann wird der "Nein"-Zweig im Schritt 34 genommen,
und eine Fehlernachricht wird in der Station Tj angezeigt.
-
Im Schritt 35 der 2 wählt der Netzwerk-Adressenselektor 23-j die
erste Netzwerkadresse aus der Gruppe von mehreren Netzwerkadressen
aus, die vom Korrelator 21 empfangen wird. Dann versucht
der Netzwerk-Adressenselektor 23-j im Schritt 36, über das
Netzwerk 10 mit dem Computer zu kommunizieren, dem die
ausgesuchte Netzwerkadresse zugeordnet wird.
-
Wenn der obige Versuch zu kommunizieren erfolgreich
ist, dann kann die Station Tj damit beginnen, den Dienst S vom Computer
zu empfangen, der die Netzwerkadresse hat, die im Schritt 36 verwendet wurde.
Dies wird vom "Ja"-Zweig des Schritts 37 angezeigt.
Wenn der Versuch zu kommunizieren im Schritt 36 nicht erfolgreich
war, dann wird umgekehrt der "Nein"-Zweig vom Schritt 37 zum
Schritt 38 eingeschlagen.
-
Im Schritt 38 untersucht
der Netzwerk-Adressenselektor 23-j die Gruppe der Netzwerkadressen,
die vom Korrelator 21 empfangen wird. Wenn der Netzwerk-Adressenselektor 23-j bereits
all diese Netzwerkadressen im Schritt 36 verwendet hat, dann
wird der "Ja"-Zweig vom Schritt 38 genommen und
eine Fehlernachricht in der Station Tj angezeigt. Anderenfalls wird
der "Nein"-Zweig vom Schritt 38 zum
Schritt 39 genommen.
-
Im Schritt 39 wählt der
Netzwerk-Adressenselektor 23-j die nächste Netzwerkadresse aus der Gruppe
aus, die vom Korrelator 21 empfangen wird. Dann wiederholt
der Netzwerk-Adressenselektor 23-j die Ausführung der
Schritte 36–39,
bis der "Ja"-Zweig vom Schritt 37 oder
Schritt 38 eingeschlagen wird.
-
Ein Merkmal des oben beschriebenen
Servers 20 liegt darin, dass er eine virtuelle einzige
Netzwerkadresse hat. Dies bedeutet, dass vom Blickpunkt eines Operators
der Station Tj aus der Dienst S von einem einzigen Computer auf
dem Netzwerk 10 bereitgestellt wird, der eine einzige Netzwerkadresse
hat, die dem Servernamen XYZ entspricht. In Wirklichkeit wird jedoch
abhängig
davon, welcher Computer vom Netzwerk-Adressenselektor 23-j ausgesucht
wird, der angeforderte Dienst S an die Station Tj zu einem Zeitpunkt
vom Computer 22-1, zu einem anderen Zeitpunkt vom Computer 22-2,
... usw. bereitgestellt.
-
Ein weiteres Merkmal des Servers 20 liegt darin,
dass irgendeiner der mehreren Computer 22-1 bis 22-N ausfallen
kann, und dass die übrigen
Computer, die in Betrieb sind, damit fortfahren werden, den angeforderten
Dienst bereitzustellen. Dieses Merkmal wird von den Schritten 35–39 in
der 2 erfüllt, worin
ein Versuch der Kommunikation mit irgendeinem der Computer 22-1 bis 22-N,
der kaputt gegangen ist, durch die Versuche der Kommunikation mit
den übrigen
Computern überwunden
wird.
-
Ein weiteres Merkmal des Servers
liegt auch darin, dass neue Dienste bei einem geringen Kostenaufwand
zum Netzwerk hinzugefügt
werden können. Um
einen neuen Dienst hinzuzufügen,
wird eine zweite Gruppe von mehreren Computern (die mit den Computern 22-1 bis 22-N ähnlich sind)
mit dem Netzwerk 10 verbunden, die den neuen Dienst durchführen, und
ein neuer Servername plus jeweilige Netzwerkadressen für die zweite
Gruppe von Computern wird einfach im Korrelator 21 gespeichert.
Es wird kein zusätzlicher
Gateway-Computer, wie im Fall des Standes der Technik, wenn ein
Cluster-Server zum Netzwerk hinzugefügt wird, benötigt.
-
Kehrt man jetzt zur 3 zurück,
wird ein neuartiger Server 20' gezeigt. Dieser Server 20' setzt sich
aus einem Korrelator 21',
mehreren Computern 22-1 bis 22-N und einem einzigen
Netzwerk-Adressenselektor 23' zusammen.
-
Der Korrelator 21' ähnelt dem
Korrelator 21 der Ausführungsform
der 1 darin, dass beide Korrelatoren
den Servernamen XYZ mit derselben Gruppe der mehreren Netzwerkadressen
auf dem Netzwerk 10 verknüpfen. Jedoch wird der Korrelator 21' in der 3 mit dem Netzwerk-Adressenselektor 23' verbunden,
wohingegen der Korrelator 20 in der 1 mit dem Netzwerk 10 verbunden
wird.
-
Alle Computer 22-1 bis 22-N in
der Ausführungsform
der 3 sind mit den Computern 22-1 bis 22-N der
Ausführungsform
der 1 identisch. Zum
Beispiel befindet sich der Computer 22-1 sowohl in der
Ausführungsform
der 1 als auch in der Ausführungsform
der 3 in Los Angeles,
ihm wird die Netzwerkadresse 121.1.23.1 zugeordnet, und er stellt
den Dienst S bereit.
-
Der Netzwerk-Adressenselektor 23' der Ausführungsform
der 3 ähnelt jedem
Netzwerk-Adressenselektor in der Ausführungsform der 1; jedoch gibt es in der Ausführungsform
der 3 nur einen Netzwerk-Adressenselektor.
Dieser einzige Netzwerk-Adressenselektor 23' ist ein unabhängiges Modul, das, wie in der 3 gezeigt, mit dem Netzwerk 10 und
dem Korrelator 21' verbunden wird.
-
Alle Stationen in der 3, die eine Anfrage nach
dem Dienst S erzeugen, sind wie die Stationen in der 1, wenn man davon absieht,
dass jede Station in der 3 nicht
ihren eigenen Netzwerk-Adressenselektor hat. Um auf diesen Unterschied
hinzuweisen, werden die Stationen in der 3 nicht mit T1 und T2 sondern mit T1' und T2' bezeichnet.
-
Wie der Server 20' arbeitet, wird
in der 4 gezeigt. Wie
im Schritt 41 angezeigt, erzeugt anfangs eine Station auf
dem Netzwerk 10 eine Anfrage nach dem Dienst S, die den
Servernamen XYZ einschließt. Diese
Station, die die Anfrage erzeugt, wird in der 4 als Station Tj' bezeichnet, worin j = 1, 2, usw.
-
Dann sendet die Station Tj' im Schritt 42 eine Nachricht über das
Netzwerk 10 an den Netzwerk-Adressenselektor 23' und diese Nachricht
fragt nach einer einzigen Netzwerkadresse für den benannten Server XYZ.
Diese Nachricht wird im Schritt 60 der 4 vom Netzwerk-Adressenselektor 23' empfangen.
Dann führt
der Netzwerk-Adressenselektor 23' als Reaktion auf die empfangene
Nachricht eine Schrittabfolge durch, die in der 4 als Schritte 61–69 gezeigt
wird.
-
Im Schritt 61 erhält der Netzwerk-Adressenselektor 23' die Gruppe
aller Netzwerkadressen, die im Korrelator für den Server, der XYZ benannt
ist, gespeichert werden. Wenn der Korrelator 21' keine Netzwerkadressen
für den
Server XYZ speichert, dann wird im Schritt 62 der "Nein"-Zweig genommen; und
eine Fehlernachricht wird im Schritt 69 an die Station
Tj' zurückgesendet.
Anderenfalls wird im Schritt 62 der "Ja"-Zweig
zum Schritt 63 genommen.
-
Im Schritt 63 wählt der
Netzwerk-Adressenselektor 23' die
erste Netzwerkadresse aus der Gruppe von Adressen, die er im Schritt 61 empfängt. Dann versucht
der Netzwerk-Adressenselektor 23' im Schritt 64, über das
Netzwerk 10 mit einem einzigen Computer der Computer 22-1 bis 22-N zu
kommunizieren, dem die ausgewählte
Netzwerkadresse zugeordnet wird.
-
Wenn der Versuch zum Kommunizieren
im Schritt 64 erfolgreich ist, dann wird die Nachrichtenverbindung,
die dort errichtet ist, beendet und der "Ja"-Zweig
vom Schritt 65 zum Schritt 68 genommen. Dann sendet
der Netzwerk-Adressenselektor 23' die Netzwerkadresse des Computers,
mit dem er erfolgreich im Schritt 64 kommunizierte, an
die Station Tj'.
-
Wenn umgekehrt der Versuch zu kommunizieren
im Schritt 64 nicht erfolgreich ist, dann wird der "Nein"-Zweig vom Schritt 65 zum
Schritt 66 genommen. Dort untersucht der Netzwerk-Adressenselektor 23' die Gruppe
der Netzwerkadressen, die er im Schritt 61 vom Korrelator
empfing. Wenn der Netzwerk-Adressenselektor 23' bereits all
diese Netzwerkadressen im Schritt 64 verwendet hat, dann
wird der "Ja"-Zweig zum Schritt 69 genommen
und eine Fehlernachricht an die Station Tj' gesendet. Anderenfalls wird der "Nein"-Zweig vom Schritt 66 zum
Schritt 67 genommen.
-
Im Schritt 67 wählt der
Netzwerk-Adressenselektor 23' die
nächste
Netzwerkadresse aus der Gruppe, die er im Schritt 61 empfing.
Dann wiederholt der Netzwerk-Adressenselektor 23' die Ausführung der
Schritte 64–67,
bis eine Abzweigung zum Schritt 68 oder 69 genommen
wird.
-
Wenn im Schritt 68 oder 69 eine
Nachricht gesendet wird, wird diese Nachricht von der Station Tj' im Schritt 43 empfangen.
Diese Nachricht wird dann im Schritt 44 von der Station
Tj' untersucht,
um zu bestimmen, ob sie, wie im Schritt 42 verlangt, eine Netzwerkadresse
enthält.
-
Wenn eine Netzwerkadresse im Schritt 43 empfangen
wird, dann führt
die Station Tj' den
Schritt 45 durch. Dort kommuniziert sie über das
Netzwerk 10 mit dem Computer mit der empfangenen Netzwerkadresse
und erhält
den Dienst S von diesem Computer. Anderenfalls wird der "Nein"-Zweig vom Schritt 44 genommen
und eine Fehlernachricht in der Station Tj' angezeigt.
-
Zwei bevorzugte Ausführungsformen
der Erfindung wurden jetzt detailliert beschrieben. Zusätzlich können an
diesen Ausführungsformen
jedoch bestimmte Änderungen
und Modifikationen vorgenommen werden, wie jetzt beschrieben werden
wird.
-
Eine solche Modifikation wird in
der 5 gezeigt. Dort
werden alle Schritte, die vom Netzwerk-Adressenselektor 23' der 4 durchgeführt werden,
abgesehen davon wiederholt, dass die Schritte 64 und 65 jeweils
auf die Schritte 64' und 65' abgeändert werden.
-
Im Schritt 64' versucht der Netzwerk-Adressenselektor
mit dem Computer mit der Netzwerkadresse zu kommunizieren, der im
Schritt 63 ausgewählt
wurde; und zusätzlich
fragt er diesen Computer, seinen gegenwärtigen Tätigkeitsgrad anzuzeigen. Als
Reaktion darauf kann der adressierte Computer anzeigen, dass sich
sein gegenwärtiger
Tätigkeitsgrad
in einem speziellen Bereich (wie beispielsweise hoch, mittel oder
tief) befindet; oder der Computer kann ein numerisches Tätigkeitsmaß bereitstellen,
das von einem Maximal-Grenzwert zu einem Minimum-Grenzwert kontinuierlich
variiert.
-
Im Schritt 65' bestimmt der Netzwerk-Adressenselektor,
ob oder nicht a) der Versuch zu kommunizieren im Schritt 64' erfolgreich
war und b) ob der gegenwärtige
Tätigkeitsgrad
des Computers unter einem vorbestimmten Schwellwert liegt. Wenn
diese beiden Bedingungen a) und b) erfüllt sind, dann wird der "Ja"-Zweig vom Schritt 65' zum Schritt 68 genommen,
wo die ausgesuchte Netzwerkadresse zur Station Tj' gesendet wird.
-
In der 6 wird
auch eine weitere Modifikation gezeigt. Dort werden alle Schritte,
die vom Netzwerk-Adressenselektor 23' der 4 durchgeführt werden,
mit Ausnahme davon wiederholt, dass die Schritte 60, 61, 63 und 67 jeweils
auf die Schritte
60', 61', 63' und 67' modifiziert
werden.
-
Im Schritt 60' deutet die Nachricht, die der Netzwerk-Adressenselektor
von der Station Tj' empfängt, auf
den Servernamen XYZ plus den physikalischen Ort der Station Tj' auf dem Netzwerk 10.
Auf eine ähnliche
Art und Weise schließt
im Schritt 61' die Ausgabe
vom Korrelator 21' zum
Netzwerk-Adressenselektor die Netzwerkadresse und den physikalischen
Ort eines jeden der Computer 22-1 bis 22-N ein.
-
Im Schritt 63' untersucht der Netzwerk-Adressenselektor
die Gruppe von Netzwerkadressen, die im Schritt 61 vom
Korrelator empfangen wird; und aus dieser Gruppe wählt er die
Netzwerkadresse des Computers aus, der sich am nächsten zur Station Tj befindet,
die die Anfrage nach dem Dienst erzeugte. Um diese Bestimmung zu
machen, vergleicht der Netzwerk-Adressenselektor die Netzwerkadresse
der Station Tj mit jeder Netzwerkadresse, die vom Korrelator empfangen
wird.
-
Auf eine ähnliche Art und Weise untersucht der
Netzwerk-Adressenselektor
im Schritt 67' jene Netzwerkadressen,
die vom Schritt 61 übrig
bleiben und die in der versuchten Kommunikation des Schritts 64 zuvor
nicht verwendet wurden. Von diesen Adressen wählt der Netzwerk-Adressenselektor die
Netzwerkadresse des Computers aus, der sich am nächsten zur Station Tj' befindet, die die
Anfrage nach dem Dienst machte.
-
Als weitere Modifikation kann der
Schritt 35 der in 2 so
geändert
werden, dass eine Netzwerkadresse zufällig aus der gesamten Gruppe
von Adressen für
den benannten Server ausgesucht wird; und auf eine ähnliche
Art und Weise kann der Schritt 39 in der 2 so geändert werden, dass eine Netzwerkadresse
zufällig
aus dem Rest der Gruppe ausgewählt
wird. Infolge dieser Änderungen
wird der Netzwerk-Adressenselektor versuchen, im Schritt 36 in
einer zufälligen
Reihenfolge mit den Computern 22-1 bis 22-N zu
kommunizieren.
-
Als weitere Modifikation kann der
Schritt 37 in der 2 so
geändert
werden, dass, wenn der "Ja"-Zweig genommen wird,
der Netzwerk-Adressenselektor daraufhin die Netzwerkadresse des Computers
speichert, der im Schritt 36 erfolgreich mit dem Netzwerk-Adressenselektor
kommunizierte. Wenn der Computer Tj eine weitere Anfrage nach demselben
Dienst erzeugt, kann danach der Schritt 35 so modifiziert
werden, dass die gespeicherte Netzwerkadresse die Adresse ist, die
als erstes ausgesucht wird.
-
Als weitere Modifikation kann die
Anfrage nach dem Dienst S durch jedes Mittel und nicht nur durch
eine Tastatur 12 oder Mouse 13 erzeugt werden.
Die Anfrage nach dem Dienst S kann z. B. von einem Programm innerhalb
der Stationen T1 und T2 erzeugt werden. Auch kann die Anfrage nach
dem Dienst S jedes Format und nicht nur das Format haben, das von
den Bezugsziffern 11 und 11' in den 1 und 3 angezeigt
wird. Die Steuerzeichen von :// und www und com können z.
B. von anderen Steuerzeichen ersetzt werden. Auch kann der Abschnitt der
Anfrage, der den Dienst S identifiziert, der angefordert wird, dem
eindeutigen Namen des Servers folgen oder im eindeutigen Namen des
Servers eingeschlossen sein.
-
Als noch eine andere Modifikation
kann die Verbindung in der Ausführungsform
der 3 zwischen dem Netzwerk 10,
dem Korrelator 21' und
dem Netzwerk-Adressenselektor 23' geändert werden. Zum Beispiel
können
sowohl der Korrelator 21' als auch
der Netzwerk-Adressenselektor 23' direkt mit dem Netzwerk 10 verbunden
werden. Als weiteres Beispiel kann nur der Korrelator 21' mit dem Netzwerk 10 verbunden
werden und der Netzwerk-Adressenselektor 21' nur mit dem
Korrelator 21' verbunden werden.
Als weiteres Beispiel können
der Korrelator 21' und
der Netzwerk-Adressenselektor 23' als jeweilige Programme implementiert
werden, die in einem einzigen Computer gespeichert werden, der mit
dem Netzwerk 10 verbunden ist.
-
Als weitere Modifikation können jeder
Servername und seine entsprechende Gruppe von Netzwerkadressen mittels
einer Vielfalt von Schaltungen in den Korrelatoren 21 und 21' der 1 und 3 gespeichert werden. Zum Beispiel können die
Servernamen und die Netzwerkadressen als Tabelle in einem Magnetspeicher
oder einem Halbleiter-Speicher gespeichert werden. Vorzugsweise
ist der Speicher der Lese-Schreib-Art und nicht der Nur-Lese-Art;
und vorzugsweise ist der Korrelator ausgebildet, um Steuernachrichten
von einer autorisierten Station auf dem Netzwerk zu empfangen, die
die Servernamen und Netzwerkadressen bestimmt, die in den Speicher
des Korrelators geschrieben werden.
-
Als weitere Modifikation kann das
Netzwerk 10 der 1 und 3 irgendeine Art eines elektronischen
Nachrichtennetzwerks annehmen. Zum Beispiel kann von der Öffentlichkeit
(z. B. Internet) auf das Netzwerk 10 zugegriffen werden,
oder nur die Mitglieder einer bestimmten Organisation oder Gesellschaft
(wie beispielsweise Intranet eines Unternehmens) können darauf
zugreifen. Auf eine ähnliche
Art und Weise können
die Stationen T1 und T2 in den 1 und 3 der Art irgendwelcher elektronischer Stationen
sein.
-
Da an den dargestellten bevorzugten
Ausführungsformen
viele dieser Änderungen
vorgenommen werden können,
sollte es entsprechend verständlich
sein, dass die Erfindung nicht nur auf diese bevorzugten Ausführungsformen
eingeschränkt
wird, sondern von den anliegenden Ansprüchen definiert wird.