DE60218185T2 - Verfahren und Vorrichtung zum Wiederauffinden von Informationen in einem Netzwerk - Google Patents

Verfahren und Vorrichtung zum Wiederauffinden von Informationen in einem Netzwerk Download PDF

Info

Publication number
DE60218185T2
DE60218185T2 DE60218185T DE60218185T DE60218185T2 DE 60218185 T2 DE60218185 T2 DE 60218185T2 DE 60218185 T DE60218185 T DE 60218185T DE 60218185 T DE60218185 T DE 60218185T DE 60218185 T2 DE60218185 T2 DE 60218185T2
Authority
DE
Germany
Prior art keywords
information
network node
request
connection
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60218185T
Other languages
English (en)
Other versions
DE60218185D1 (de
Inventor
Alex Agerholm
Michael Kell JENSEN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Application granted granted Critical
Publication of DE60218185D1 publication Critical patent/DE60218185D1/de
Publication of DE60218185T2 publication Critical patent/DE60218185T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

Description

  • 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.

Claims (11)

  1. Verfahren zum Abrufen von Information über ein Netzwerk (104), wobei: eine erste Informationsanforderung von einem ersten Netzwerkknoten (102) an einem zweiten Netzwerkknoten (106) empfangen, die Anforderung an einen dritten Netzwerkknoten (108) weitergegeben und auf die Anforderung hin die Information von dem dritten Netzwerkknoten (108) an den zweiten Netzwerkknoten (106) gesendet wird, dadurch gekennzeichnet, dass erkannt wird, dass eine Verbindung zwischen dem ersten Netzwerkknoten (102) und dem zweiten Netzwerkknoten (106) während des Abrufs der Information von dem dritten Netzwerkknoten (108) beendet wird, während dieses Abrufs eine weitere Anforderung für die Information an dem zweiten Netzwerkknoten (106) über eine neue Verbindung empfangen wird, ermittelt wird, ob die weitere Anforderung zu der ersten Anforderung passt und ob sie von dem ersten Netzwerkknoten (102) kommt, und die Information nach ihrem Empfang von dem zweiten Netzwerkknoten (106) über die neue Verbindung an den ersten Netzwerkknoten (102) gesendet wird, sofern die weitere Anforderung zu der ersten Anforderung passt, und die Information nach ihrer Abgabe an den ersten Netzwerkknoten (102) von dem zweiten Netzwerkknoten (106) gelöscht wird.
  2. Verfahren nach Anspruch 1, wobei die erste Anforderung eine erste Quellenadresse und eine erste Informationsadresse umfasst, und wobei die Information mit der ersten Quellenadresse und der ersten Informationsadresse vor Empfang der weiteren Anforderung an dem zweiten Netzwerkknoten (106) in einer Informationstabelle gespeichert wird.
  3. Verfahren nach Anspruch 2, wobei die weitere Anforderung eine zweite Quellenadresse und eine zweite Informationsadresse umfasst und zum Senden: die Informationstabelle durchsucht wird, um festzustellen, ob die zweite Quellenadresse zu der ersten Quellenadresse passt, festgestellt wird, ob die erste Informationsadresse zu der zweiten Informationsadresse passt, und die Information entsprechend der Feststellung gesendet wird.
  4. Verfahren nach Anspruch 3, wobei die Quellenadressen Internetadressen und die Informationsadressen URLs umfassen.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Information eine HTML-Datei umfasst.
  6. Verfahren nach einem der Ansprüche 1 bis 4, wobei die Information eine XML-Datei umfasst.
  7. Verfahren nach einem der vorhergehenden Ansprüche, wobei ferner: eine Anforderung zur Beendigung der neuen Verbindung zwischen dem ersten Netzwerkknoten (102) und dem zweiten Netzwerkknoten (106) empfangen und diese Verbindung sowie die Verbindung zwischen dem zweiten Netzwerkknoten (106) und dem dritten Netzwerkknoten (108) beendet wird.
  8. Gegenstand mit: einem Speichermedium (218; 210), wobei das Speichermedium (218; 210) gespeicherte Befehle enthält, die bei Ausführung mittels eines Prozessors (202) bewirken, dass eine von einem ersten Netzwerkknoten (102) über eine erste Verbindung durch einen zweiten Netzwerkknoten (106) empfangene erste Informationsanforderung an einen dritten Netzwerkknoten (108) weitergegeben und die Information von dem dritten Netzwerkknoten (108) über eine zweite Verbindung an den zweiten Netzwerkknoten (106) abgerufen wird, dadurch gekennzeichnet, dass zu den Befehlen weiterhin Befehle gehören, die: erkennen, dass die erste Verbindung während des Abrufs der Information von dem dritten Netzwerkknoten (108) beendet wird, und dann, wenn während dieses Abrufs eine weitere Anforderung für die Information über eine neue Verbindung an dem zweiten Netzwerkknoten (106) empfangen wird: ermitteln, ob die weitere Anforderung zu der ersten Anforderung passt und ob sie von dem ersten Netzwerkknoten (102) kommt, und die Information nach ihrem Empfang von dem zweiten Netzwerkknoten (106) über die neue Verbindung an den ersten Netzwerkknoten (102) senden, sofern die weitere Anforderung zu der ersten Anforderung passt, und die Information nach ihrer Abgabe an den ersten Netzwerkknoten (102) von dem zweiten Netzwerkknoten (106) löschen.
  9. Gegenstand nach Anspruch 8, wobei die erste Anforderung eine erste Quellenadresse und eine erste Informationsadresse umfasst und die gespeicherten Befehle bei Ausführung mittels eines Prozessors (202) ferner bewirken, dass die Information mit der ersten Quellenadresse und der ersten Informationsadresse vor Empfang der zweiten Anforderung in einer Informationstabelle gespeichert wird.
  10. Gegenstand nach Anspruch 9, wobei die zweiten Anforderung eine zweiten Quellenadresse und eine zweiten Informationsadresse umfasst und die gespeicherten Befehle bei Ausführung mittels eines Prozessors (202) weiterhin bewirken, dass ermittelt wird, ob die zweite Anforderung zu der ersten Anforderung passt, indem die Informationstabelle durchsucht wird, um festzustellen, ob die zweite Quellenadresse zu der ersten Quellenadresse und die erste Informationsadresse zu der zweiten Informationsadresse passt.
  11. Gegenstand nach einem der Ansprüche 8 bis 10, wobei die gespeicherten Befehle bei Ausführung mittels eines Prozessors (202) weiterhin bewirken, dass der Prozessor (202) bei Empfang einer Aufforderung zur Beendigung der neuen Verbindung zwischen dem ersten Netzwerkknoten (102) und dem zweiten Netzwerkknoten (106) diese Verbindung sowie die Verbindung zwischen dem zweiten Netzwerkknoten (106) und dem dritten Netzwerkknoten (108) beendet.
DE60218185T 2001-06-07 2002-05-23 Verfahren und Vorrichtung zum Wiederauffinden von Informationen in einem Netzwerk Expired - Lifetime DE60218185T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US877928 1997-06-18
US09/877,928 US7899911B2 (en) 2001-06-07 2001-06-07 Method and apparatus to retrieve information in a network
PCT/US2002/016377 WO2002102021A1 (en) 2001-06-07 2002-05-23 Method and appartus to retrieve information in a network

Publications (2)

Publication Number Publication Date
DE60218185D1 DE60218185D1 (de) 2007-03-29
DE60218185T2 true DE60218185T2 (de) 2007-06-06

Family

ID=25371016

Family Applications (2)

Application Number Title Priority Date Filing Date
DE60218185T Expired - Lifetime DE60218185T2 (de) 2001-06-07 2002-05-23 Verfahren und Vorrichtung zum Wiederauffinden von Informationen in einem Netzwerk
DE60224737T Expired - Lifetime DE60224737T2 (de) 2001-06-07 2002-05-23 Vorrichtung und System zum Abrufen von Information in einem Netzwerk

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE60224737T Expired - Lifetime DE60224737T2 (de) 2001-06-07 2002-05-23 Vorrichtung und System zum Abrufen von Information in einem Netzwerk

Country Status (7)

Country Link
US (1) US7899911B2 (de)
EP (2) EP1425893B1 (de)
CN (1) CN1631018B (de)
AT (2) ATE354243T1 (de)
DE (2) DE60218185T2 (de)
TW (1) TWI229515B (de)
WO (1) WO2002102021A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7454500B1 (en) * 2000-09-26 2008-11-18 Foundry Networks, Inc. Global server load balancing
US7657629B1 (en) * 2000-09-26 2010-02-02 Foundry Networks, Inc. Global server load balancing
US9130954B2 (en) * 2000-09-26 2015-09-08 Brocade Communications Systems, Inc. Distributed health check for global server load balancing
US7086061B1 (en) * 2002-08-01 2006-08-01 Foundry Networks, Inc. Statistical tracking of global server load balancing for selecting the best network address from ordered list of network addresses based on a set of performance metrics
US7574508B1 (en) 2002-08-07 2009-08-11 Foundry Networks, Inc. Canonical name (CNAME) handling for global server load balancing
US7647427B1 (en) 2002-10-18 2010-01-12 Foundry Networks, Inc. Redundancy support for network address translation (NAT)
US9584360B2 (en) * 2003-09-29 2017-02-28 Foundry Networks, Llc Global server load balancing support for private VIP addresses
US7584301B1 (en) 2004-05-06 2009-09-01 Foundry Networks, Inc. Host-level policies for global server load balancing
US7423977B1 (en) * 2004-08-23 2008-09-09 Foundry Networks Inc. Smoothing algorithm for round trip time (RTT) measurements
US7475154B2 (en) * 2005-02-24 2009-01-06 International Business Machines Corporation Splicing proxied web requests with callback for subsequent requests
US20100174817A1 (en) * 2009-01-06 2010-07-08 Chetuparambil Madhu K Splicing proxied web requests with callback for subsequent requests
US9354998B2 (en) * 2012-05-04 2016-05-31 Aegis.Net, Inc. Automated conformance and interoperability test lab

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802292A (en) * 1995-04-28 1998-09-01 Digital Equipment Corporation Method for predictive prefetching of information over a communications network
US5991306A (en) * 1996-08-26 1999-11-23 Microsoft Corporation Pull based, intelligent caching system and method for delivering data over a network
US5852717A (en) * 1996-11-20 1998-12-22 Shiva Corporation Performance optimizations for computer networks utilizing HTTP
US6185625B1 (en) * 1996-12-20 2001-02-06 Intel Corporation Scaling proxy server sending to the client a graphical user interface for establishing object encoding preferences after receiving the client's request for the object
US6421733B1 (en) * 1997-03-25 2002-07-16 Intel Corporation System for dynamically transcoding data transmitted between computers
US6167438A (en) * 1997-05-22 2000-12-26 Trustees Of Boston University Method and system for distributed caching, prefetching and replication
US6247050B1 (en) * 1997-09-12 2001-06-12 Intel Corporation System for collecting and displaying performance improvement information for a computer
US6085193A (en) * 1997-09-29 2000-07-04 International Business Machines Corporation Method and system for dynamically prefetching information via a server hierarchy
US6553420B1 (en) * 1998-03-13 2003-04-22 Massachusetts Institute Of Technology Method and apparatus for distributing requests among a plurality of resources
US6003082A (en) * 1998-04-22 1999-12-14 International Business Machines Corporation Selective internet request caching and execution system
US6374274B1 (en) * 1998-09-16 2002-04-16 Health Informatics International, Inc. Document conversion and network database system
US6438652B1 (en) * 1998-10-09 2002-08-20 International Business Machines Corporation Load balancing cooperating cache servers by shifting forwarded request
US6701415B1 (en) * 1999-03-31 2004-03-02 America Online, Inc. Selecting a cache for a request for information
US6792463B1 (en) * 1999-10-21 2004-09-14 International Business Machines Corporation System, method and program product for providing invisibility to a proxy-server
DE60033615T2 (de) * 1999-10-21 2007-10-31 International Business Machines Corp. Verfahren und System, um das Verteilen von IP-Datagrammen auf mehrere Server gemäß einer definierten Strategie zu erzwingen
US20010056476A1 (en) * 2000-06-20 2001-12-27 International Business Machines Corporation System and method for accessing a server connected to an IP network through a non-permanent connection
US6871236B2 (en) * 2001-01-26 2005-03-22 Microsoft Corporation Caching transformed content in a mobile gateway
US6947444B2 (en) * 2001-06-06 2005-09-20 Ipr Licensing, Inc. Method and apparatus for improving utilization efficiency of wireless links for web-based applications

Also Published As

Publication number Publication date
EP1696627A1 (de) 2006-08-30
WO2002102021A1 (en) 2002-12-19
CN1631018A (zh) 2005-06-22
EP1425893A1 (de) 2004-06-09
EP1696627B1 (de) 2008-01-16
TWI229515B (en) 2005-03-11
ATE384390T1 (de) 2008-02-15
US20020188698A1 (en) 2002-12-12
DE60224737D1 (de) 2008-03-06
DE60224737T2 (de) 2008-12-24
ATE354243T1 (de) 2007-03-15
US7899911B2 (en) 2011-03-01
CN1631018B (zh) 2010-06-09
EP1425893B1 (de) 2007-02-14
DE60218185D1 (de) 2007-03-29

Similar Documents

Publication Publication Date Title
DE19882235B4 (de) Verwendung von Web-Technologie für Teilnehmerverwaltungsaktivitäten
DE69832786T2 (de) Vorrichtung und verfahren zur identifizierung von klienten die an netzwer-sites zugreifen
DE69832406T2 (de) Kombiniertes internet-und datenzugangssystem
DE69633564T2 (de) Zugangskontrolle und überwachungssystem für internetserver
DE602004012870T2 (de) Verfahren und system zur benutzerauthentifizierung in einer benutzer-anbieterumgebung
DE69838262T2 (de) Allgemeine benutzer-authentifizierung für netz-rechner
DE69730382T2 (de) System und Verfahren zur automatischen Netzrekonfiguration
DE69731965T2 (de) Zugriff auf rechnerbetriebsmittel von aussen durch eine firewall
DE60130633T2 (de) Gesicherte Internet-Zwischenablage
DE69728182T2 (de) Verfahren und gerät zum entfernten netzwerkzugriffseintrag und netzwerkzugriffsbericht
DE102007062985B4 (de) Verfahren und Einrichtung zur Kommunikation gemäß dem Standardprotokoll OPC UA in einem Client-Server-System
EP1887484B1 (de) Verfahren zum vorabübertragen strukturierter datenmengen zwischen einer clienteinrichtung und einer servereinrichtung
DE69735450T2 (de) Verfahren zum Errichten einer Verbindung über ein Rechnernetzwerk
DE69725952T2 (de) Benutzerkontrollierter Browser
DE602004001010T2 (de) Verfahren und System um auf peer to peer Netzen zuzugreifen
DE202011110893U1 (de) Verwaltung mehrfacher Anmeldungen über einen Einzelbrowser
DE60218185T2 (de) Verfahren und Vorrichtung zum Wiederauffinden von Informationen in einem Netzwerk
EP1208671B1 (de) System und verfahren zum testen der belastung wenigstens einer ip-gestützten einrichtung
DE102006028309B4 (de) Mehrseitiges, gemeinschaftliches Verwenden von dynamischen Daten in einer drahtlosen Testumgebung
DE10159931A1 (de) Verfahren zum Zugriff auf Informationen und/oder Dienste eines verteilten Automatisierungssystems
DE69937350T2 (de) Auswahl der dienstimplementierung
DE60204450T2 (de) Einrichtung und verfahren zum datenflussaustausch zwischen einer client-einrichtung und einem server
DE602004003466T2 (de) Konnektivitätsbestätigungsmethode für Netzspeichervorrichtung und Host-Computer
DE60202190T2 (de) Dienstleistungs-Server
DE10223181A1 (de) Vermittelter Zugriff auf Erzeugungsvorrichtungen in einer verteilten Umgebung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition