-
HINTERGRUND
-
Ein
Netzwerk umfasst typischerweise mehrere Netzwerkknoten, die durch
ein Übertragungsmedium
miteinander verbunden sind. Ein Netzwerkknoten kann zum Beispiel
einen Switch, Router, Personalcomputer, Server, eine Netzwerkeinrichtung
oder ein sonstiges Netzwerkgerät
umfassen. Ein Netzwerkknoten wie zum Beispiel ein Server kann Informationen
in Form von Dateien speichern, die entsprechend verschiedenen Formaten
erzeugt werden, etwa eine HTML-Datei (Hypertext Markup Language),
eine XML-Datei (eXtensible Markup Language) usw. Eine Datei kann
auch als „Seite" oder „Web-Seite" bezeichnet werden.
Wenn ein Benutzer eine bestimmte Datei wünscht, kann er mit einer Reihe
von Netzwerkprotokollen den Zugriff auf die Datei anfordern. Ein
Protokoll kann ein vorbestimmter Prozess sein, mit dem Informationen
zwischen Netzwerkknoten ausgetauscht werden.
-
Aufgrund
der hohen Leistungsanforderungen bestimmter Anwendungen kann es
nötig werden, Technologie
zu implementieren, um sicherzustellen, dass ein Benutzer mit einem
hohen Maß an
Vertrauen und verkürzter
Wartezeit auf eine gewünschte
Datei zugreifen kann. Um dies zu erreichen, kann dieselbe Datei
auf einer Reihe unterschiedlicher Server gespeichert werden. Fordert
ein Benutzer den Zugriff auf eine auf einem Server gespeicherte
Datei an, kann die Anforderung durch eine Netzzugangsvorrichtung
wie zum Beispiel einen „Load
Balancer" oder „Web Switch" abgefangen werden.
Die Netzzugangsvorrichtung kann so arbeiten, dass sie koordiniert
und steuert, wie Informationen gespeichert und abgerufen werden,
um die Leistung des gesamten Netzwerks zu optimieren. Eine optimierte
Leistung kann zum Beispiel in Form kürzerer Zugriffszeiten auf die auf
den Servern gespeicherten Informationen realisiert werden. Wegen
der wachsenden Forderungen nach kürzeren Zugriffszeiten ist ersichtlich,
dass ein wesentlicher Bedarf an Technologien besteht, mit denen
Informationen schneller von einem Server über ein Netzwerk abgerufen
werden können.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Der
als Ausführungsformen
der Erfindung angesehene Erfindungsgegenstand ist im Einzelnen im
Schlussteil dieser Beschreibung erläutert und in Ansprüchen festgelegt.
Ausführungsformen
der Erfindung, sowohl hinsichtlich des Aufbaus als auch der Betriebsverfahren,
zusammen mit Zielen, Merkmalen und Vorteilen derselben, sind jedoch
am besten anhand der nachstehenden ausführlichen Beschreibung in Zusammenhang
mit den anliegenden Zeichnungen zu verstehen.
-
1 zeigt
ein System, auf das eine Ausführungsform
der Erfindung angewandt werden kann.
-
2 zeigt
ein Blockdiagramm einer Zugangsvorrichtung nach einer Ausführungsform
der Erfindung.
-
3 zeigt
ein Ablaufdiagramm der Programmlogik, die von einer Informationsverwaltungskomponente
nach einer Ausführungsform
der Erfindung ausgeführt
wird.
-
4 zeigt
einen Nachrichtenfluss nach einer Ausführungsform der Erfindung.
-
AUSFÜHRLICHE BESCHREIBUNG
-
In
der nachfolgenden ausführlichen
Beschreibung werden zahlreiche spezifische Details beschrieben,
um ein gründliches
Verständnis
der Ausführungsformen
der Erfindung zu ermöglichen.
Für den
Fachmann ist jedoch ersichtlich, dass die Ausführungsformen der Erfindung
auch ohne diese spezifischen Details angewandt werden können. In
anderen Fällen
sind bekannte Methoden, Verfahren, Komponenten und Schaltungen nicht
im Detail beschrieben, um die Ausführungsformen der Erfindung nicht
unklar zu machen.
-
Eine
Ausführungsform
der Erfindung kann die Geschwindigkeit erhöhen, mit der Informationen von
einem Server abgerufen werden können.
Der Server kann an eine Zugangsvorrichtung wie zum Beispiel einen
Load Balancer (Lastverteiler), einen Web Switch (Netzvermittlung),
ein virtuelles privates Netzwerk-Gateway usw. angeschlossen sein.
Die Zugangsvorrichtung kann steuern und verwalten, wie Informationen
auf dem Server gespeichert bzw. von dem Server abgerufen werden.
Ein Load Balancer kann zum Beispiel so arbeiten, dass er mehrere
Server als eine einzelne leistungsstarke Netzwerk-Ressource für diejenigen
erscheinen lässt,
die auf die Anordnung von Servern zugreifen. Er tut dies, indem
er entsprechend Faktoren wie Betriebszustand des Servers, Art der
Anfrage usw. selektiv Verbindungen an die vielen hinter ihm in gleichberechtig ter
Weise angeordneten Server weiterleitet. Der Load Balancer kann den
Betriebszustand eines Servers kontrollieren, indem er den Server
mit einem künstlichen
Client testet oder indem er eine Folge von Skripts an ihn sendet,
die zum Beispiel kritische Seiten ausprobieren und die Reaktionen
bewerten können.
-
Ein
Benutzer kann typischerweise versuchen, mit einem Browser auf einem
Client-Computer wie zum Beispiel einem Personalcomputer (PC) auf die
Informationen auf einem Server zuzugreifen. Die Informationen können zum
Beispiel eine Web-Seite umfassen. Der Benutzer kann den Vorgang
einleiten, indem er eine Informationskennung für die Web-Seite eingibt. Ein
Beispiel für
eine Informationskennung kann eine URL (Uniform Resource Locator)
sein. Der Browser kann die URL dann verwenden, um zu versuchen,
mit einem herkömmlichen
Netzwerkprotokoll eine Verbindung zwischen dem Client-Computer und dem
Server herzustellen. Ein Beispiel für ein solches Protokoll kann
unter anderem das Hypertext Transfer Protocol (HTTP) Version 1.1
gemäß der Definition durch
die Internet Engineering Task Force (IETF) im „Draft Standard Request For
Comment (RFC) 2616" vom
Juni 1999 sein („HTTP-Spezifikation"), erhältlich bei
www.ietf org, obwohl die Ausführungsformen
der Erfindung in dieser Hinsicht nicht eingeschränkt sind.
-
Die
Netzzugangsvorrichtung wie zum Beispiel ein Load Balancer kann die
Verbindungsanfrage im Auftrag des Servers abfangen und verarbeiten. Befindet
sich die angeforderte Web-Seite auf mehr als einem Server im Netzwerk,
kann der Load Balancer einen bestimmten Server auf der Grundlage
verschiedener Parameter auswählen,
wie sie vorstehend diskutiert wurden. Der Load Balancer kann dann
versuchen, eine Verbindung mit dem ausgewählten Server herzustellen.
Nachdem eine Verbindung mit dem entsprechenden Server hergestellt
ist, kann der Server die angeforderte Web-Seite an den Load Balancer
senden. Der Load Balancer kann daraufhin die Web-Seite an den Client-Computer
senden, wo der Browser die Web-Seite für den Benutzer anzeigen kann.
-
Ein
Problem kann auftreten, wenn es eine unangemessene Verzögerung beim
Aufrufen der Web-Seite gibt. Der Benutzer kann ungeduldig werden
und die Anfrage abbrechen, nur um sofort danach eine weitere Anforderung
für dieselbe
Web-Seite abzusenden. Der Abbruch kann die Trennung der Verbindung
zwischen dem Client-Computer und dem Load Balancer sowie der Verbindung
zwischen dem Load Balancer und dem Server bewirken. Sobald der Benutzer
eine weitere Anfrage eingibt, müssen
beide Verbindungen wieder hergestellt werden, bevor die angeforderten
Informationen abgerufen werden können.
Dies kann zu einer ineffizienten Nutzung der Netzwerk-Ressourcen
führen.
-
Um
dieses und andere mögliche
Probleme zu vermeiden, hält
bei einer Ausführungsform
der Benutzer die Verbindung zwischen dem Load Balancer und dem Server
aufrecht, trotz der Beendigung der Verbindung zwischen dem Client-Computer
und dem Load Balancer. Nachdem der Load Balancer die angeforderten
Informationen empfangen hat, kann der Load Balancer die angeforderten
Informationen mit der Quellenadresse des Client-Computers und der Informationsadresse
der Informationen (zum Beispiel der URL) in einer Informationstabelle
speichern. Wenn der Client-Computer versucht, eine neue Verbindung
zur Anforderung derselben Informationen herzustellen, kann der Load
Balancer die Informationen aus der Informationstabelle abrufen und
an den Client-Computer
senden, ohne eine neue Verbindung zu dem Server herstellen zu müssen.
-
Diese
Ausführungsform
der Erfindung bietet mehrere Vorteile. So vermeidet diese Ausführungsform
der Erfindung zum Beispiel die mit dem erneuten Herstellen einer
Verbindung zwischen dem Load Balancer und dem Server verbundene
Wartezeit. Der Load Balancer kann außerdem vermeiden, den Auswahlprozess
zum Auswählen
eines bestimmten Servers aus der Gruppe oder dem Cluster von Servern zu
durchlaufen. Darüber
hinaus müsste
der Server die Informationen nicht zweimal abrufen, wodurch Ressourcen
für andere
Zwecke frei werden.
-
Es
sei darauf hingewiesen, dass jeder Verweis in der Beschreibung auf „eine Ausführungsform" bedeutet, dass ein
bestimmtes Merkmal, ein Aufbau oder eine Eigenschaft, die in Zusammenhang
mit der Ausführungsform
beschrieben sind, in mindestens einer Ausführungsform der Erfindung enthalten
ist. Das Auftauchen des Ausdrucks „bei einer Ausführungsform" an verschiedenen
Stellen in der Beschreibung bezieht sich nicht unbedingt immer auf
dieselbe Ausführungsform.
-
Das
Dokument „Stronghold
Web server 2.4.1 administration guide", September 1998, von C2NET Software
Inc., im Internet abrufbar unter http://stronghold.redhat. com/support/docs-2.4.1/PDF/admin/AdminBook.pdf
beschreibt eine Funktion namens „CacheForceCompletion". Wenn ein Client
eine Proxy-Transaktion abbricht, bevor diese Transaktion abgeschlossen
ist, beendet die Software entsprechend der Funktion CacheForceCompletion
das Download einer angeforderten Datei in den Cache-Speicher, wenn
bereits n Prozent heruntergeladen sind.
-
Nach
einem Aspekt der vorliegenden Erfindung wird ein Verfahren zum Abrufen
von Informationen nach Anspruch 1 bereitgestellt.
-
Nach
einem weiteren Aspekt der vorliegenden Erfindung wird ein Gegenstand
mit einem Speichermedium nach Anspruch 8 bereitgestellt, wobei das
Speichermedium gespeicherte Befehle enthält.
-
Im
Detail Bezug nehmend auf die Zeichnungen, in denen gleiche Teile
durchgängig
mit den gleichen Bezugszeichen versehen sind, ist in 1 ein System
gezeigt, das zur praktischen Anwendung einer Ausführungsform
der Erfindung geeignet ist. 1 zeigt
ein Blockdiagramm eines Netzwerks 100. Das Netzwerk 100 kann
einen Client-Computer 102, ein
Netzwerk 104, eine Zugangsvorrichtung 106 und einen
Server 108 umfassen. Bei einer Ausführungsform der Erfindung kann
der Server 108 Teil einer Anordnung von Servern sein, die
zum Beispiel über
ein Netzwerk miteinander verbunden sind.
-
2 zeigt
ein Blockdiagramm eines Systems nach einer Ausführungsform der Erfindung. 2 zeigt
ein System 200, das repräsentativ für eine Zugangsvorrichtung sein
kann, zum Beispiel die Zugangsvorrichtung 106. Wie in 2 gezeigt,
kann das System 200 einen Prozessor 202, einen Ein-/Ausgabe-Adapter
(E/A-Adapter) 204, eine Bedienerschnittstelle 206,
einen Speicher 210 und einen Plattenspeicher 218 umfassen.
In dem Speicher 210 können
Computerprogrammbefehle und Daten gespeichert sein. Der Begriff „Programmbefehle" kann Segmente von
Computercode mit Wörtern, Werten
und Symbolen in einer vorgegebenen Computersprache umfassen, die,
wenn sie in einer vorgegebenen Weise oder Syntax kombiniert angeordnet sind,
einen Prozessor veranlassen, eine bestimmte Funktion auszuführen. Beispiele
für eine
Computersprache sind unter anderem C, C++ und Assembler. Der Prozessor 202 führt die
Programmbefehle aus und verarbeitet die Daten, die in dem Speicher 210 gespeichert
sind. Der Plattenspeicher 218 speichert die zu und von
dem Speicher 210 zu übertragenden Daten.
Der E/A-Adapter 204 kommuniziert mit anderen Geräten und überträgt die Daten
in das und aus dem Computersystem über die Verbindung 224.
Beispiele für
andere Geräte
können
unter anderem ein Mikrofon und ein Display wie etwa das Mikrofon 106 bzw.
das Display 102 sein. Die Bedienerschnittstelle 206 kann
eine Schnittstelle mit einem Systembediener bilden, indem sie Befehle
akzeptiert und Statusinformationen liefert. Alle diese Elemente
sind über den
Bus 208 miteinander verbunden, der den Austausch von Daten
zwischen den Elementen ermöglicht.
-
Der
Prozessor 202 kann ein beliebiger Typ von Prozessor sein,
der die Geschwindigkeit und Funktionalität bietet, die für die Ausführungsformen der
Erfindung erforderlich sind. Der Prozessor 202 kann zum
Beispiel ein Prozessor aus den von Intel Corporation, Motorola Incorporated,
Sun Microsystems Incorporated, Compaq Computer Corporation und anderen
Firmen hergestellten Prozessorenfamilien sein. Der Prozessor 202 kann
auch einen digitalen Signalprozessor (DSP) und die zugehörige Architektur
umfassen, zum Beispiel einen DSP von Texas Instruments Incorporated.
-
Bei
einer Ausführungsform
der Erfindung können
der Speicher 210 und der Plattenspeicher 218 ein
maschinenlesbares Medium umfassen und ein beliebiges Medium aufweisen,
auf dem für
die Ausführung
durch einen Prozessor angepasste Befehle gespeichert werden können. Einige
Beispiel für derartige
Medien sind unter anderem Festwertspeicher (ROM), Direktzugriffsspeicher
(RAM), programmierbare Festwertspeicher (PROM), löschbare
programmierbare Festwertspeicher (EPROM), elektronisch löschbare
programmierbare Festwertspeicher (EEPROM), dynamischer RAM-Speicher,
Magnetplatten (zum Beispiel Disketten und Festplatten), optische
Platten (zum Beispiel CD-ROM) und alle anderen Medien, die digitale
Informationen speichern können.
Bei einer Ausführungsform
der Erfindung werden die Befehle in einem komprimierten und/oder verschlüsselten
Format auf dem Medium gespeichert. Der Ausdruck „für die Ausführung durch einen Prozessor
angepasst" wird
hier so verwendet, dass er in einem komprimierten und/oder verschlüsselten Format
gespeicherte Befehle einschließt,
ebenso wie Befehle, die kompiliert oder von einem Installer installiert
werden müssen,
ehe sie von dem Prozessor ausgeführt
werden. Weiter kann der Client 200 verschiedene Kombinationen
von maschinenlesbaren Speichergeräten durch verschiedene E/A-Steuerungen
umfassen, auf die der Prozessor 202 zugreifen kann und
die eine Kombination von Computerprogrammbefehlen und Daten speichern
können.
-
Der
Speicher 210, auf den der Prozessor 202 über den
Bus 208 zugreifen kann, enthält ein Betriebssystem 216,
eine Programmpartition 212 und eine Datenpartition 214.
Bei einer Ausführungsform der
Erfindung kann das Betriebssystem 216 zum Beispiel ein
von Microsoft Corporation angebotenes Betriebssystem wie etwa Microsoft
Windows® 95,
98, 2000 und NT umfassen. Die Programmpartition 212 speichert
die Programmbefehle, mit denen die Funktionen des jeweiligen hierin
beschriebenen Systems implementiert werden, und erlaubt deren Ausführung durch
den Prozessor 202.
-
Der
Prozessor 202 kann auf die Datenpartition 214 zugreifen,
auf der die während
der Ausführung
der Programmbefehle verwendeten Daten gespeichert sind.
-
Bei
einer Ausführungsform
der Erfindung enthält
die Programmpartition 212 Programmbefehle, die hierin zusammenfassend
als eine Informationsverwaltungskomponente bezeichnet werden können. Obwohl
diese Ausführungsform
der Erfindung eine Komponente verwendet, ist ersichtlich, dass die von
dieser Komponente ausgeführten
Funktionen mit anderen Komponenten kombiniert oder in zusätzliche
Komponenten aufgeteilt werden können,
ohne vom Umfang der Erfindung abzuweichen.
-
Der
E/A-Adapter 204 kann einen Netzwerkadapter oder eine Netzwerk-Schnittstellenkarte
(NIC) umfassen, die zum Beispiel so konfiguriert sind, dass sie
mit einem geeigneten Verfahren zur Steuerung der Kommunikationssignale
zwischen dem Computer oder Netzwerkgeräten unter Verwendung einer gewünschten
Gruppe von Übertragungsprotokollen, Diensten
und Betriebsverfahren arbeiten. Bei einer Ausführungsform der Erfindung kann
der E/A-Adapter 204 zum Beispiel nach dem Transmission
Control Protocol (TCP) gemäß der Definition
in IETF-Standard 7, RFC 793, verabschiedet im September 1981, und
dem Internet Protocol (IP) gemäß der Definition in
IETF-Standard 5, RFC 791, verabschiedet im September 1981, arbeiten,
beide erhältlich
bei www.ietf.org, obwohl die Ausführungsformen der Erfindungen
in dieser Hinsicht nicht eingeschränkt sind. Der E/A-Adapter 204 umfasst
auch geeignete Steckverbinder zur Verbindung des E/A-Adapters 204 mit einem
geeigneten Übertragungsmedium.
Der E/A-Adapter 204 kann Kommunikationssignale über jedes
geeignete Medium wie etwa Kupferkabel, Twisted-Pair-Kabel, Koaxialkabel,
Glasfaserkabel, Funkfrequenzen usw. empfangen.
-
Der
Betrieb der Systeme 100 und 200 kann weiter anhand
von 3 und den zugehörigen Beispielen beschrieben
werden. Auch wenn 3 in der hier gezeigten Form
eine bestimmte Verarbeitungslogik umfassen kann, ist ersichtlich,
dass die Verarbeitungslogik lediglich ein Beispiel dafür darstellt,
wie die hierin beschriebenen allgemeinen Funktionen implementiert
werden können.
Außerdem
müssen
die einzelnen Schritte in einer gegebenen Verarbeitungslogik nicht
unbedingt in der gezeigten Reihenfolge ausgeführt werden, sofern nicht anders
angegeben.
-
3 zeigt
ein Ablaufdiagramm der Programmlogik, die von einer Informationsverwaltungskomponente
nach einer Ausführungsform
der Erfindung ausgeführt
wird. Wie in 3 gezeigt, wird in Block 302 eine
erste Informationsanforderung über eine erste
Verbindung empfangen. Die erste Informationsanforderung kann zum
Beispiel eine Anforderung einer Web-Seite mit einem HTTP-Befehl „Get" nach der HTTP-Spezifikation
sein. Die erste Verbindung kann zum Beispiel eine Verbindung zwischen einem
Client-Computer und einer Zugangsvorrichtung, zum Beispiel der Zugangsvorrichtung 106,
sein. Die Informationen können
in Block 304 über
eine zweite Verbindung abgerufen werden. Die zweite Verbindung kann
zum Beispiel eine Verbindung zwischen einer Zugangsvorrichtung und
einem Server mit den angeforderten Informationen, zum Beispiel dem
Server 108, sein. Die Zugangsvorrichtung kann in Block 306 erkennen,
dass die erste Verbindung beendet worden ist. Die erste Verbindung
kann aus verschiedenen Gründen
beendet werden, beispielsweise absichtlich durch den Benutzer mittels
einer Abbruch- oder Erneuerungsanfrage, die von einem Browser auf
dem Client-Computer gesendet wird, durch eine Unterbrechung in der
physikalischen oder logischen Verbindung zwischen dem Client-Computer
und der Zugangsvorrichtung usw. In Block 308 kann die Zugangsvorrichtung
eine zweite Informationsanforderung über eine dritte Verbindung
empfangen. Die dritte Verbindung kann zum Beispiel eine neue Verbindung
zwischen dem Client-Computer und der Zugangsvorrichtung sein, um
die beendete erste Verbindung zu ersetzen. In Block 310 kann
die Zugangsvorrichtung feststellen, ob die zweite Anforderung zu
der ersten Anforderung passt. In Block 312 kann die Zugangsvorrichtung
entsprechend der Feststellung in Block 310 die Informationen über die
dritte Verbindung senden.
-
Nach
Abrufen der Informationen in Block 304 kann die Zugangsvorrichtung
die Informationen im Speicher ablegen, zum Beispiel in dem Speicher 210 oder
dem Plattenspeicher 218. Bei einer Ausführungsform der Erfindung kann
die erste Anforderung eine erste Quellenadresse und eine erste Informationsadresse
umfassen. Die Zugangsvorrichtung kann die erste Quellenadresse,
die erste Informationsadresse und die Informationen in einer Informationstabelle
speichern. In Block 308 kann die Zugangsvorrichtung eine
zweite Anforderung empfangen. Die zweite Anforderung kann eine zweite
Quellenadresse und eine zweite Informationsadresse umfassen. Die
Zugangsvorrichtung kann die Informationstabelle durchsuchen, um
festzustellen, ob die zweite Quellenadresse zu der ersten Quellenadresse
passt und ob die erste Informationsadresse zu der zweiten Informationsadresse
passt. Wenn beide zueinander passen, kann die Zugangsvorrichtung
die Informationen abrufen, die der ersten Quellenadresse und der ersten Informationsadresse
entsprechen, und sie über
die dritte Verbindung an den Client-Computer senden.
-
Bei
einer Ausführungsform
der Erfindung kann die Quellenadresse eine IP-Adresse umfassen, die
Informationsadresse kann eine URL umfassen und die Informationen
können
eine Web-Seite wie zum Beispiel eine HTML- oder XML-Datei umfassen. Es
ist jedoch zu erkennen, dass die Quellenadresse, die Informationsadresse
und die Informationen in anderen Formaten entsprechend einer gewünschten Gruppe
von Protokollen vorliegen können,
ohne vom Umfang der Erfindung abzuweichen.
-
Wenn
der Client-Computer die angeforderten Informationen empfängt, kann
er eine Anforderung senden, um die dritte Verbindung zwischen dem Client-Computer
und der Zugangsvorrichtung zu beenden. Die Zugangsvorrichtung kann
dann die zweite Verbindung zwischen der Zugangsvorrichtung und dem
Server und die dritte Verbindung entsprechend dem jeweils verwendeten
Protokoll beenden.
-
4 zeigt
einen Nachrichtenfluss nach einer Ausführungsform der Erfindung. Wie
in 4 gezeigt, wird eine TCP-Session zwischen einem
Client-Computer und einer Zugangsvorrichtung und zwischen der Zugangsvorrichtung
und einem Server eingerichtet. Die Zugangsvorrichtung kann zum Beispiel
ein Web Switch sein. Ein Web Switch kann ähnlich wie ein Load Balancer
arbeiten.
-
In
Segment 1 kann eine TCP-Session zwischen dem Client-Computer
und dem Web Switch eingerichtet werden. In diesem Beispiel eines
Nachrichtenflusses ist noch keine TCP-Verbindung zwischen dem Web
Switch und dem Server hergestellt. Während des Segments 1 kann
der Client-Computer die URL für
die gewünschte
Web-Seite senden.
-
Nachdem
die Zugangsvorrichtung die angeforderte URL empfangen und gespeichert
hat, kann der Web Switch zu Segment 2 übergehen. Das Segment 2 kann
zum Beispiel das Auswählen
eines Servers mit der angeforderten Web-Seite umfassen. Der Web
Switch kann eine TCP-Verbindung zu dem ausgewählten Server herstellen und
gibt die URL-Anforderung über
die geöffnete
Verbindung an den Server weiter.
-
In
Segment 3 wird die TCP-Verbindung von dem Client-Computer
zu dem Web Switch beendet, bevor die angeforderten Informationen
von dem Server empfangen werden. Der Web Switch hält jedoch die
TCP-Verbindung zu dem Server offen, um die angeforderten Informationen
zu empfangen.
-
In
Segment 4 wird eine neue TCP-Session zwischen dem Client-Computer
und dem Web Switch eingerichtet. Der Client-Computer sendet eine
Anforderung für
eine URL. Weil die TCP-Verbindung zwischen dem Web Switch und dem
Server offen bleibt, wird keine neue TCP-Verbindung zwischen dem
Web Switch und dem Server geöffnet.
-
In
Segment 5 sieht der Web Switch in seiner Informationstabelle
nach, um festzustellen, ob bereits eine ausstehende URL-Anforderung
an den Server für
die Quell-IP-Adresse
vorliegt. Wenn ja, wird die vorherige URL-Anforderung mit der neuen URL-Anforderung verknüpft. Als
Ergebnis kann der Web Switch das Auswählen eines Servers, das Öffnen einer
neuen Verbindung und das Senden der neuen URL-Anforderung an den
ausgewählten
Server vermeiden.
-
In
Segment 6 kann der Web Switch die mit der vorherigen URL-Anforderung
verbundene Web-Seite empfangen. Der Web Switch kann ein Validierungsverfahren
durchführen,
um sicherzustellen, dass die empfangene Web-Seite dieselbe ist wie
die, die in der neuen URL-Anforderung angefordert wird, ob sie aktuell
ist usw. Ist die Web-Seite gültig,
kann der Web Switch die Web-Seite an den Client-Computer sendet.
Ist die Web-Seite nicht gültig,
können
ein neuer Server ausgewählt,
eine Verbindung mit dem Server geöffnet und eine neue URL-Anforderung
an den ausgewählten
Server gesendet werden.
-
In
Segment 7 kann der Web Switch eine Anforderung zum Beenden
der Verbindung zwischen dem Client-Computer und dem Web Switch empfangen.
Nach Empfang dieser Anforderung kann der Web Switch die offene Verbindung
zwischen dem Web Switch und dem Server beenden.
-
Nachdem
der Web Switch die Web-Seite an den Client-Computer gesendet hat,
löscht
der Web Switch die Web-Seite und die entsprechenden Einträge in seiner
Informationstabelle.
-
Bei
einer Ausführungsform
der Erfindung brauchen die Server die Quell-IP-Adresse nicht zu verwenden, um die angeforderten
Informationen zu senden. Dies kann zum Beispiel in einem Netzwerk der
Fall sein, das mit der NAT-Technik (Natural Address Translation)
arbeitet. Bei dieser Ausführungsform
der Erfindung kann es für
den Web Switch nicht nötig
sein, die Quell-IP-Adresse zusammen mit der URL in seiner Informationstabelle
zu speichern.
-
Während hier
bestimmte Merkmale der Ausführungsformen
der Erfindung gezeigt und beschrieben wurden, sind für den Fachmann
viele Modifikationen, Varianten, Änderungen und Äquivalente
erkennbar. Es gilt daher als vereinbart, dass die anliegenden Ansprüche auch
alle derartigen Modifikationen und Änderungen einschließen.