-
HINTERGRUND
DER ERFINDUNG
-
Computernetzwerke, wie beispielsweise
das Internet, private Intranets, Extranets und virtuelle private
Netzwerke werden verstärkt
für eine
Vielfalt von Bemühungen
einschließlich
der Speicherung und Wiedergewinnung von Informationen, der Kommunikation,
dem elektronischen Handel und der Unterhaltung und anderen Anwendungen
verwendet. Bei diesen Netzwerken werden bestimmte, als Server bekannte
Computer verwendet, um Informationen zu speichern und bereitzustellen.
Eine Art von Server, der als ein Host-Server bekannt ist, liefert
Zugriff auf Informationen, wie beispielsweise Daten oder Programme,
die in verschiedenen Computerdateiformaten gespeichert sind, auf
die jedoch im Allgemeinen als ein "Dokument" Bezug genommen wird. Jedes derartige
Dokument ist tatsächlich
eine hochformatierte Computerdatei, die Datenstrukturen enthält, die ein
Verwahrungsort für
eine Vielzahl von Informationen, einschließlich Text, Tabellen, graphischen
Bildern, Tönen,
Bewegtbildern, Animationen, Computerprogrammcode und viele andere
Arten von Information digitalisierten Inhalts sind. Andere Computer in
dem Netzwerk, die als Klienten bekannt sind, ermöglichen einem Benutzer, auf
ein Dokument zuzugreifen, indem angefordert wird, dass eine Kopie
von dem Home-Server über
das Netzwerk an den Klienten gesendet wird. Dokumente werden typischerweise
durch den Klienten referenziert, der eine Adresse spezifiziert,
die den Server identifiziert, der das Dokument speichert. Nachdem
der Benutzer eine Dokumentenadresse an dem Klientencomputer spezifiziert,
wird der Adressenabschnitt über
das Netzwerk an einen Namensdienst gesendet, um Anweisungen zu erhalten,
wie eine Verbindung mit dem richtigen Home-Server einzurichten ist.
Sobald die Verbindung eingerichtet ist, wiedergewinnt der Server
das Dokument von seiner lokalen Platte oder Speichereinrichtung
und überträgt das Dokument über das
Netzwerk an den Klienten. Die Netzwerkverbindung wird dann beendet.
-
Analysten und Experten der Computer-
und Netzwerkindustrie sind gegenwärtig ziemlich besorgt, dass
der Datenverkehr über
große
Netzwerke, wie beispielsweise dem Internet, so stark wird, dass sich
die eigentliche Art der Art und Weise, mit der es möglich ist,
sie zu verwenden, vielleicht ändern muss.
Die gegenwärtigen
Schwierigkeiten sind zweifellos das Ergebnis von exponentiellen
Zunahmen in der Anzahl von Benutzern sowie auch in der Anzahl von
großen
Dokumenten, wie beispielsweise Mediendateien, die gesendet werden.
Als Ergebnis dieser beispielslosen Nachfrage nach Bandbreite und Zugriff
auf Netzwerke, sehen sich Internet-Diensteanbieter (ISPs = Internet
Service Providers), Backbone-Anbieter und andere Betreiber, die
die notwendigen physischen Verbindungen bereitstellen, um das Internet
zu implementieren, einer beispiellosen Nachfrage nach Bandbreite
gegenüber.
Diese Nachfrage existiert auf allen Ebenen der Netzwerkhierarchie,
einschließlich Übergabepunkten
(POPs = Points of Presence), zentralen Zugriffsknoten, Netzwerkzugriffspunkten
und Vermittlungspunkten, wie beispielsweise Großstadtbereichsvermittlungen.
-
Wie es sich herausstellt, ist viel
von dem Datenverkehr auf dem Internet in dem Sinne redundant, dass
unterschiedliche Benutzer die gleichen Dokumente von den gleichen
Servern immer wieder anfordern. Daher wird es verstärkt offensichtlich,
dass Techniken, wie beispielsweise Dokumenten-Caching eingesetzt
werden können,
um die Zugriffsnachfrage zu verringern. Ein Dokumenten-Cache liefert einen Weg,
um die Anzahl wiederholter Anforderungen zu verringern, die beispielsweise
von einem gegebenen Unternehmen oder ISP für das gleiche Dokument von vielen
Klienten stammen. Durch Abfangen von Klientenanforderungen für das gleiche
Dokument versorgt der Cache mehrere Klientenstellen mit Kopien des ursprünglichen
Dokuments.
-
Mit einem Cache ändert sich der Prozess zum
Bereitstellen von Dokumentendateien an die Klientencomputer von
dem normalen Prozess. Insbesondere wird, wenn der Benutzer eines
Klientencomputers, der beispielsweise mit einem gegebenen Unternehmen
oder ISP verbunden ist, ein Dokument anfordert, der Cache-Server
aufgefordert, das Dokument von dem Internet zu erhalten. Während das
Dokument zu dem Klientencomputer herunter übertragen wird, wird eine Kopie
in dem Cache-Speicher, wie beispielsweise in einer zu dem Cache
lokalen Platte, gespeichert. Daher wird, wenn ein weiterer mit dem
gleichen Unternehmen oder ISP verbundener Computer das gleiche Dokument
anfordert, anstatt das Dokument von dem Internet anzufordern, die
Anforderung von dem lokalen Cache bedient. Da die Redundanzrate
für Internetinformation
von ungefähr 40%
bis zu ungefähr
90% reicht, liefert lokales Caching bedeutende Vorteile. Nicht nur
ist die Geschwindigkeit des Herunterladens für die Benutzer der Klientencomputer
offensichtlich schneller, sondern die Nachfrage nach Backbone-Nutzung
wird ebenfalls verringert.
-
Cache-Server können typischerweise als eine
Stellvertreter-Server-Softwareapplikation
implementiert sein, die auf einer Netzwerkvorrichtung oder auf einem
anderen Computersystem läuft,
das physisch zwischen der Klientenapplikation und den Dokumentenservern
platziert ist. Der Stellvertreter-Server wirkt als ein Türsteher,
der alle für
das Internet bestimmte Pakete empfängt und sie prüft, um zu
bestimmen, ob er Anforderungen lokal erfüllen kann. Wenn Stellvertreter-Server
verwendet werden, ist es jedoch typischerweise notwendig, den Klientenbrowser,
den Stellvertreter-Server, Router oder anderes, an einem Unternehmen
oder ISP lokalisiertes Netzwerkinfrastrukturgerät, zu konfigurieren, um die Nachrichtenanforderungen
an den Stellvertreter-Server umzuleiten. Dies ist jedoch problematisch,
da die Re-Konfiguration von Browsern typischerweise nicht möglich ist,
und sogar die Umprogrammierung von Routern von Diensteanbietern
als schwierig angesehen wird.
-
Weitere Probleme werden erzeugt,
wenn Stellvertreter-Server in den Pfad des Netzwerkdatenverkehrs
platziert werden. Insbesondere muss der Nachrichtendurchsatz verringert
werden, um es dem Stellvertreter zu ermöglichen, jedes Paket zu prüfen. Zudem
erzeugen Stellvertreter-Server einen einzelnen Ausfallpunkt, wodurch
alle mit dem Stellvertreter-Server verbundenen Klienten ihren Netzwerkzugriff
verlieren, wenn der Stellvertreter-Server ausfällt.
-
Daher sind Stellvertreter-Server
unzuverlässig
und skalieren nicht gut, wenn die Menge des Datenverkehrs ansteigt.
-
Ähnliche
Schwierigkeiten existieren mit anderen Arten von Netzwerkvorrichtungen,
wie beispielsweise Firewalls, Sicherheits-Server und dergleichen,
von denen erwartet wird, dass sie Klientendatenverkehrsnachrichten
abfangen.
-
Netzwerk-Caches und Überwachungszeitgeber
sind daher in der Technik bekannt. Beispielsweise offenbart die
U. K.-Patentanmeldung GB 2 294 132 A einen Netzwerkknoten, der einen
Daten-Cache umfasst. Das U.S.-Patent 5 708 776 erläutert die Verwendung
eines Überwachungszeitgebers,
um den Betrieb einer Netzwerkvorrichtung zu überwachen, und initiiert eine
Reboot-Sequenz, wenn es notwendig ist.
-
Überbrückungsschaltungen
und Schalter verschiedener Arten sind in der Technik bekannt. Beispielsweise
offenbart das U.S.-Patent 4 245 343 ein System zum automatischen Überbrücken eines
nicht funktionsfähigen
Datenanschlusses, sodass andere, in Reihe geschaltete Datenanschlüsse weiter
arbeiten, wohingegen das U.S.-Patent 5 317 198 einen optischen Überbrückungsschalter
für einen
faseroptischen Lokalbereichsnetzwerkring offenbart. Das europäische Patent
0 397 196 A2 offenbart eine Kanalüberbrückungsanordnung zum Vorsehen
eines Add/Drop-Multiplexers.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die vorliegende Erfindung ist ein
Verfahren zur Verarbeitung von Nachrichten, die von einem Netzwerkdatenverkehrs-Server,
wie beispielsweise einem Cache-Server,
empfangen werden. Von einem Netzwerkklienten stammende Nachrichten
werden an den Datenverkehrs-Server auf eine Art und Weise umgeleitet,
die für
Protokollarten hoher Ebene von anderen, mit dem Netzwerk verbundenen
Geräten transparent
ist. Die Erfindung beinhaltet insbesondere die Verwendung eines
Durchschalters, der bei einem Ausfall des Datenverkehrs-Servers
selektiv aktiviert wird.
-
Es gibt eine Anzahl weiterer Aspekte
einer bevorzugten Ausführungsform
der Erfindung. Beispielsweise wird die Umleitung der Klientennachrichten
vorzugsweise auf der Datenverknüpfungsebene in
Anspruch genommen.
-
Der Durchschalter kann ebenfalls
basierend auf der Art der empfangenen Nachricht selektiv aktiviert
werden. Der Durchschalter kann daher verwendet werden, um eine Filterung
nach der Art der Nachricht, der Klientenadresse oder Applikation,
der angeforderten Serveradresse oder Applikation, der benachbarten
Hop-Adresse oder anderen Parametern zu implementieren.
-
Ein in dem Datenverkehrs-Server laufender Überwachungszeitgeber
kann ebenfalls verwendet werden, um den Zustand des Durchschalters
zu steuern.
-
Eine Last an dem Netzwerk-Server
oder den angeschlossenen Verknüpfungen
kann ebenfalls verwendet werden, um den Zustand des Durchschalters als
ein Rückstau-
oder Lastabwurfmechanismus zu steuern.
-
Die Erfindung ermöglicht einen hochzuverlässigen Online-Einsatz
von Netzwerkdatenverkehrs-Servern, wie beispielsweise einem Dokumenten-Cache.
Unter Normalbetrieb leitet die Umleiteinrichtung Datenverkehr an
den Server zur Verarbeitung. Sie erfasst jedoch Ausfälle des
Servers und schaltet innerhalb einer kurzen Zeitspanne den Leitungsdatenverkehr
um, um den Server insgesamt zu überbrücken. Dies
erreicht dann eine Ausfallsicherheit für den Datenverkehrs-Server
in dem Sinne, dass der Ausfall des Servers lediglich verursacht, dass
Datenverkehr an dem Server vorbei weitergeleitet wird. Das Netzwerk
bleibt somit in der Anwesenheit von Cache-Serverausfällen funktionsfähig.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Das Vorhergehende und weitere Aufgaben, Merkmale
und Vorteile der Erfindung werden aus der folgenden ausführlicheren
Beschreibung bevorzugter Ausführungsformen
der Erfindung offensichtlich, wie sie in den begleitenden Zeichnungen
dargestellt sind, bei denen sich gleiche Bezugsziffern auf die gleichen Teile überall in
den unterschiedlichen Ansichten beziehen. Die Zeichnungen sind nicht
notwendigerweise maßstabsgetreu,
wobei anstatt die Betonung auf die Veranschaulichung der Prinzipien
der Erfindung platziert wird.
-
1 ist
ein Diagramm eines Netzwerk-Servers und einer Verknüpfungsebenen-Urnleiteinrichtung
gemäß der Erfindung.
-
2 ist
ein Diagramm einer Ausführungsform
der Verknüpfungsebenen-Umleiteinrichtung zum
Gebrauch mit mehreren, in Reihe angeordneten Servern.
-
3 ist
ein Diagramm einer bevorzugten Ausführungsform einer Verknüpfungsebenen-Umleiteinrichtung
mit parallel eingesetzten Netzwerk-Servern.
-
4 veranschaulicht,
wie ein einziger Netzwerk-Server zwischen verschiedenen Umleiteinrichtungen
multiplext werden kann.
-
5 ist
eine weitere Anwendung der Verknüpfungsebenen-Umleiteinrichtung
zum Gebrauch mit mehreren Cache-Servern, die mit gegebenen Portpaaren
und redundanten Verbindungen verbunden sind.
-
6 stellt
eine Umleiteinrichtung mit integrierter Lastverteilung dar.
-
7 ist
ein Diagramm, das den Einsatz der Umleiteinrichtung und eines Netzwerk-Cache-Servers
bei einem Internet-Diensteanbieter oder großen Unternehmen darstellt.
-
8 ist
Blockdiagramm einer konkurrierenden Anordnung für den Einsatz einer Cache-Farm, die
ein Umprogrammieren von Routern erfordert und die die Datenverkehrlast
in den Routern erhöht.
-
9 veranschaulicht
eine Art und Weise, mit der die Erfindung bei einem umgeschalteten
Austauschpunkt eingesetzt werden kann, wobei herkömmliche
Netzwerkebenenrouter nicht eingesetzt werden können.
-
10 veranschaulicht
eine Art und Weise, mit der die Erfindung auf eine hochverfügbare Art
und Weise an. einem einzigen Routeraustauschpunkt eingesetzt werden
kann, wobei die Datenverkehrslast an dem Router verringert wird.
-
11 ist
ein Blockdiagramm einer Umleiteinrichtung mit Lastabwurf oder Rückstausteuerung.
-
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
-
Mit Bezug nun auf die Zeichnungen
ist insbesondere 1 ein
Blockdiagramm einer Nachrichten-Umleiteinrichtung 10, die
mit einem Datenverkehrsnachrichten- oder Netzwerk-Server 20 zusammenarbeitet,
um eine Datenverknüpfungsebenenstellvertretung
und einen Durchschalter zu implementieren, um die Vorteile der vorliegenden
Erfindung zu erzielen. Die Umleiteinrichtung 10 umfasst vier
Ports 12-1, 12-2, 12-3, 12-4 (zusammen
Ports 12), ein Paar von Schaltern 14-1, 14-2 und
eine Schaltsteuerlogikschaltung 16.
-
Die Ports 12-1 und 12-4 stellen
eine Verbindung durch ein Netzwerk 15 mit anderen Geräten, wie
beispielsweise durch ein Lokalbereichsnetzwerk (LAN) oder ein Weitbereichsnetzwerk
(WAN) bereit. Die besondere Art von anderen Geräten in dem Netzwerk 15 hängt von
dem Platz in der Netzwerkinfrastruktur ab, bei der die Umleiteinrichtung 10 und
der Server 20 platziert sind. Beispielsweise können die Umleiteinrichtung 10 und
der Server 20 an Netzwerkzugriffsstellen, wie beispielsweise Übergangspunkten
(POPs) an einem Internet-Diensteanbieter
(ISP), oder an ISP-Partner-Punkten oder an Übergabepunkten in einem großen Unternehmensnetzwerk, zentralen
Vermittlungsstellen in einem Ortsanschlußbetreibernetzwerk, Großstadtbereichsvermittlungen und
anderen Punkten in einem Netzwerk, durch die Datenverkehr konzentriert
ist, eingesetzt werden. Die Netzwerk-Ports 12-1, 12-4 können beispielsweise
mit dem Ethernet 10 Base T, 100 Base 7 oder anderen Arten
von Implementierungen von physischen Ebenen von Lokalbereichsnetzwerken
entsprechen. Die Netzwerk-Ports 12-1, 12-4 können beispielsweise dem
Ethernet 10 Base T, 100 Base T oder anderen Arten von Implementierungen
physischer Ebenen von Lokalbereichsnetzwerken entsprechen. Die Netzwerk-Ports 12-1, 12-4 können ebenfalls ATM-, PPP/SONET-
oder Frame-Relay-Weitbereichsnetzwerken entsprechen. Die Ports 12-1, 12-4 können Verbindungen
bereitstellen, um auf Geräte,
Router, Schalter, andere Server oder andere Geräte auf eine Art und Weise zuzugreifen,
die ausführlicher
nachstehend beschrieben wird.
-
Die anderen Ports 12-2, 12-3,
auf die hier als die Server-Ports Bezug genommen wird, liefern eine Verbindung
zum Leiten von Datenverkehrsnachrichten an den Server 20.
Diese Ports können
ebenfalls typischerweise die gleiche Art einer physischen Ebenenverknüpfung bereitstellen,
wie es für
die jeweiligen Netzwerk-Ports 12-1, 12-4 bereitgestellt
wird.
-
Die Schalter 14-1, 14-2 stellen
im Wesentlichen zwei unterschiedliche Betriebsarten für die Umleiteinrichtung 10 bereit.
Bei einem ersten Modus, der als der Betriebsmodus bezeichnet wird,
wird Datenverkehr durch den Server 20 geleitet, indem der Schalter 14 in
der in 1 mit "A" gekennzeichneten Stellung platziert
wird. Mit anderen Worten werden im Betriebsmodus die Datenverkehrsnachrichten,
die am Port 12-1 ankommen, an den Port 12-2 und
dann an den Server 20 weitergeleitet. Auf ähnliche
Weise wird an dem Port 12-4 ankommender Datenverkehr an
den Port 12-2 und bis zu dem Server 20 weitergeleitet.
Außerdem
wird abgehender Datenverkehr von dem Server 20, der an
dem Port 12-2 empfangen wird, an den Port 12-1 weitergeleitet,
und auf ähnliche
Weise wird abgehender Datenverkehr von dem Server 20, der
an dem Port 12-3 empfangen wird, an den Port 12-4 weitergeleitet.
-
Ein zweiter Modus für die Umleiteinrichtung 10 besteht
darin, die Schalter 14 in die Stellung "B" zu platzieren,
die als ein Bereitschaftsmodus bezeichnet wird. Bei diesem Modus
werden die Datenverkehrsnachrichten direkt von dem Port 12-1 an
den Port 12-2 und auf ähnliche
Weise von dem Port 12-4 an 12-1 geleitet, ohne
durch den Server 20 zu laufen.
-
In Übereinstimmung mit einer Anzahl
unterschiedlicher möglicher
Ereignisse, wie es hier nachstehend ausführlicher beschrieben ist, wird
die Logik 16 ver wendet, um den Zustand der Schalter 14 zu steuern,
um entweder den Betriebsmodus oder den Bereitschaftsmodus auszuwählen.
-
Im Normalbetrieb, d. h. sobald der
Server 20 funktionsfähig
und in einem bekannten guten Zustand ist, wird der Betriebsmodus
ausgewählt,
wodurch die Schalter in die Stellung A platziert werden. Beim Auftreten
verschiedener Ausfallzustände,
die entweder von der Umleiteinrichtung 10 und/oder dem Server 20 erfasst
werden, werden jedoch die Schalter 14 in der Stellung B
betrieben, um in den Bereitschaftsmodus einzutreten.
-
Das Umschalten zwischen Betriebsarten wird
durch die spezifische Implementierung der Steuerlogik 16 erreicht.
Beispielsweise kann die Steuerlogik 16 Betriebsarten im
Fall eines Umleiteinrichtungsausfalls, Serververknüpfungsausfalls
oder -inaktivität,
Serverüberwachungs-Timeout
oder Server-erzwungenen Abschaltbedingungen umschalten. Wenn beispielsweise
die Schaltung der Steuerlogik 16 erfasst, dass ein Leistungsausfall
der Umleiteinrichtung 10 oder ein Überwachungs-Timeout 17 innerhalb
der Urnleiteinrichtung 10 selber stattgefunden hat, wird
der Bereitschaftsmodus ausgewählt.
-
Die Umleiteinrichtung 10 kann
ebenfalls selektiv Nachrichten auf einer paketweisen Basis gemäß der Art
der empfangenen Nachricht, Klientenadresse oder – applikation, Serveradresse
oder -applikation, benachbarter Hop-Adresse oder anderen Parametern,
wie es nachstehend ausführlicher
beschrieben wird, umleiten.
-
Die Statuserfassung der Serververknüpfungsinaktivität beinhaltet
die Überwachung
des Status der Serverports 12-2 und 12-3. Wenn
ein inaktiver Zustand an einem der beiden Ports erfasst wird, tritt die
Umleiteinrichtung 10 in den Bereitschaftsmodus ein. Um
dies zu erreichen, werden ein oder mehrere explizite Signale 19 vorzugsweise
von dem Server 20 an die Umleiteinrichtung 10 geleitet.
Die expliziten Signale 19 können entweder durch Signalisieren
außerhalb
des Bandes an einer der mit den Ports 12-2 oder 12-3 verbundenen
Verknüpfungen oder über eine
physisch unterschiedliche Verbindung, wie beispielsweise eine getrennte
Ethernet- oder RS-232-Typ-Verbindung, bereitgestellt werden.
-
Diese expliziten Signale 19 ermöglichen ebenfalls
die Implementierung eines Serverüberwachungszeitgebers,
der verwendet wird, um Softwareblockierungen oder -abstürze in dem
Server 20 zu erfassen. Beispielsweise kann erwartet werden, dass
der Server 20 einen Auffrischungsbefehl auf einer periodischen
Basis über
das explizite Signal 19 bereitstellt. Wenn die Steuerlogik 16 das
Auftreten eines Statusauffrischungsbefehls nicht erfasst, dann wird
der Bereitschaftsmodus ausgewählt.
Es ist vorzuziehen, dass der Server 20 und die Steuerlogik 16 ebenfalls
ein programmierbares Serverüberwachungszeitgeberintervall
ermöglichen,
sodass ein optimales Zeitsteuerungsintervall bestimmt werden kann,
obwohl eine Zeitspanne von etwa 20 Millisekunden wahrscheinlich
ausreichend ist.
-
Schließlich kann das explizite Signal 19 einen
Befehl liefern, um es dem Server 20 zu ermöglichen,
die Umleiteinrichtung 19 in einen Bereitschaftsmodus und
zurück
in den Betriebsmodus zu zwingen. Dieses Merkmal kann verwendet werden,
um ein geordnetes Abschalten vorzusehen, wenn der Server 20 einen
Totalausfall hatte oder beispielsweise zur Wartung abgeschaltet
wird.
-
Es kann ebenfalls wünschenswert
sein, den Serverüberwachungszeitgeber 29 zu
sperren, um beispielsweise die Entstörung des Systems zu beschleunigen.
Die bevorzugte Gruppierung der Systemports 12-2, 12-3 an
der Umleiteinrichtung 10 besteht darin, dass sie als eine
einzelne Einheit für
jeden Ausfall wirken, wie es durch die punktierten Linien zwischen
den Schaltern 14 angegeben wird. Wenn ein Verknüpfungsausfall
beispielsweise an dem Serverport 12-2 erfasst wird, schaltet
die Steuerlogik 16 immer beide Kanäle in den Bereitschaftsmodus
um. Das System ist ausgestaltet, sodass es niemals fähig ist,
einen Zustand zu erreichen, womit die Schalter 14 in entgegengesetzten
Stellungen sind.
-
Wie es ebenfalls in 1 gezeigt ist, besteht der Server 20 aus
Netzwerkschnittstellenschaltungen (NICs = Network Interface Circuits) 22-1, 22-2, die
jeweils mit einem der Ports 12-2, 12-3 der Umleiteinrichtung 10 verbunden sind,
einer Protokollumwandlungsfunktion 24, einer Datenverkehrverarbeitungsfunktion 26, Überwachungszeitgeberfunktionen 29 und
(einer) Massenspeichervorrichtung(en) 28.
-
Die NICs 22 liefern physische
Verbindungsschaltungen, die es dem Server 20 ermöglichen, Nachrichten
zu empfangen und diese an die Umleiteinrichtung 10 weiterzuleiten.
Die Protokollverarbeitungsfunktion 24 implementiert vorzugsweise
Funktionen, wie beispielsweise eine Verknüpfungsebenenstellvertretung,
sodass der Server 20 als ein Stellvertreter für Verknüpfungsebenenadressen
wirkt.
-
Der Datenverkehrs-Prozessor 26 liefert
die verbleibenden Funktionen, die mit dem beabsichtigten Zweck des
Servers 20 übereinstimmen.
Beispielsweise ist bei der bevorzugten Ausführungsform der Server 20 ein
Cache-Server, der das Caching von Netzwerkkomponenten auf der Massenspeichervorrichtung 28 vorsieht.
Es sollte jedoch offensichtlich sein, dass der Server 20 andere
Funktionen, wie beispielsweise Netzwerkverwaltung und -überwachung durchführen kann.
-
Schließlich werden die Zeitgeberfunktionen 29 implementiert,
um die bevorzugten Serverüberwachungs-Timeout-Funktionen
bereitzustellen, sodass der Server 20 periodische Statussignale
an die Umleiteinrichtung 10 auf eine Art und Weise liefert,
die bereits beschrieben wurde. Der Überwachungszeitgeber 29 kann
beispielsweise Anweisungen verfolgen, die von dem Server 20 ausgeführt werden,
um sicherzustellen, dass keine Softwareblockierungs- oder – ausfallzustände aufgetreten
sind. Er kann ebenfalls häufige
Wiederholungen der gleichen Anweisungen erfassen und nimmt bei einem
derartigen Zustand an, dass sich der Server 20 falsch verhält. Dies
kann aus Softwarefehlern, die eine endlose Befehlsschleife hervorrufen,
oder aus einer Sicherheitsverletzung resultieren, wie beispielsweise
einer Verweigerung eines Diensteangriffs, die auftreten kann, wenn
ein Eindringling wiederholt fehlerhafte Pakete an den Server 20 sendet.
Der Überwachungszeitgeber 29 kann
ebenfalls durch Ausfall von Hardwarezuständen ausgelöst werden.
-
Obwohl die Umleiteinrichtung 10 von
dem Betriebsmodus in den Bereitschaftsmodus durch irgendeines der
vorstehenden Ereignisse umgeschaltet werden kann, wird bevorzugt,
dass die Steuerlogik 16 auf eine solche Art und Weise implementiert
wird, dass nur der Server 20 imstande ist, den erneuten Übergang
der Umleiteinrichtung 10 zurück in den Betriebszustand zu
steuern.
-
Wenn die Umleiteinrichtung 10 beispielsweise
einen Ausfall an den Verknüpfungen 12-3 oder 12-2 erfasst,
bleibt die Umleiteinrichtung 10 im Bereitschaftsmodus,
bis der Server 20 einen erneuten Freigabebefehl sendet.
Der Server 20 ist ebenfalls imstande, die Umleiteinrichtung 10 abzufragen,
um zu verifizieren, dass alle Ausfallzustände beseitigt sind, bevor der
Freigabebefehl an die Umleiteinrichtung 10 gesendet wird.
-
Die Umleiteinrichtung 10 ist
eine Vorrichtung, die einen Online-Einsatz des Servers 20 oder
eines anderen Datenverkehrs-Prozessors, wie beispielsweise eines
Dokumenten-Cache, ermöglicht.
Unter Normalbetrieb wird der Datenverkehr an den Server 20 zur
Verarbeitung, wie beispielsweise zum Durchführen der Caching-Funktion,
geleitet. Die Umleiteinrichtung 10 erfasst jedoch ebenfalls
Ausfälle
des Servers 20 und schaltet innerhalb einer kurzen Zeitspanne
den Leitungsverkehr um, um den Server insgesamt zu überbrücken. Der
Nettoeffekt besteht darin, eine Ausfallsicherheit für den Server 20 in
dem Sinne zu erreichen, dass ein Ausfall des Servers nur seine Vorteile
eliminiert, ohne die Notwendigkeit zu beinhalten, Router neu zu
programmieren oder die Konfiguration des LAN oder WAN 15 anderweitig
durcheinander zu bringen.
-
Als Ergebnis können die Cache-Server 20 inline
in dem Netzwerk eingesetzt werden, ohne die Notwendigkeit, Routingtabellen
oder andere Software oder Hardware in dem Netzwerk 15 zu
modifizieren, wobei außerdem
ein volltransparenter Betrieb für
Klienten und/oder Server am Rande des Netzwerks 15 erreicht
wird.
-
Außerdem können die Schalter 14 innerhalb der
Umleiteinrichtung 10 tatsächlich paketintelligente Schalter
sein, die nur bestimmte Arten von Datenverkehr durch die Schalter 14 leiten.
Beispielsweise können
die Schalter 14 eine Paketfilterfunktion aufweisen, wodurch
nur bestimmte Arten von Datenverkehrsnachrichten an den Server 20 geleitet
werden und anderer Datenverkehr durchgeschaltet wird. Das Routing
kann basierend auf der Art des Pakets, der Quellen- oder Zieladresse,
der Quelle- oder Zielanwendung oder der nächsten oder vorhergehenden Netzwerkknotenadresse
spezifiziert werden.
-
Wenn der Server 20 bei einem
Internet-Diensteanbieter eingesetzt wird und die Funktion des Cache-Servers 20 darin
besteht, Dokumente auszulagern, die in der Form von Seiten sind,
die innerhalb des Kontextes des World Wide Web anzuzeigen sind,
kann die Umleiteinrichtung 10 ebenfalls Nachrichten erkennen,
die in dem Hypertexttransferprotokoll (HTTP) spezifiziert sind,
und nur derartige Nachrichten an den Server 20 weiterleiten.
-
Der Umleiteinrichtung 10 kann
ebenfalls konfiguriert sein, um die Menge der ausgewählten Datenverkehrsarten
zu begrenzen, die er basierend auf einem Lastabwurf oder Rückstaumechanismus
akzeptiert. Dies ermöglicht
einem bestimmten Server 20, die maximale Anzahl von Datenanforderungen
zu steuern, während
ermöglicht
wird, dass anderer Datenverkehr der gleichen Art durchgeschaltet
wird.
-
Beispielsweise können, wie es in 11 gezeigt ist, die Paketfilterschalter 14-1 sämtlichen Nicht-HTTP-Datenverkehr
durchschalten, während HTTP-Datenverkehr, wie
beispielsweise Anforderungen nach Webseiten, an den Server 20 weitergeleitet wird.
In diesem Fall umfasst der Server 20 eine Rückstaulogik 35,
die die Menge des HTTP-Datenverkehrs, die der Server 20 annimmt,
beispielsweise durch Begrenzen der durch die Quelle der Zieladresse
angegebenen Anzahl von Verbindungen steuert, von denen erwartet
wird, dass sie der Server 20 handhabt.
-
Die Erfindung weist verschiedene
Vorteile auf. Zuerst sieht die Verknüpfungsebenenumleitung gegenüber der
Routerebenenumleitung eine größere Skalierbarkeit
bei dem Einsatz von Cache 20 vor.
-
Außerdem sieht die Erfindung
den volltransparenten Einsatz des Caches 20 vor, wobei
insbesondere, da die Cache 20 auf der IP-Ebene transparent
sind, Routing-Tabellen oder andere Geräte auf dem Lokalbereichsnetzwerk 20 nicht
aktualisiert werden müssen.
Mit anderen Worten sieht der Einsatz der Verknüpfungsebenenumleiteinrichtung 10 zusammen
mit dem Server 20 den Einsatz des Cache-Servers 20 ohne
die Notwendigkeit vor, die logische Topologie des Netzwerks an der
Datenverknüpfung
oder der Internetnetzwerkprotokollebene zu ändern.
-
2 ist
ein Blockdiagramm einer bevorzugten Ausführungsform der Erfindung, bei
der zwei Umleiteinrichtungen 10-1 und 10-2 in
einer gemeinsamen Hardwarekonfiguration zusammen implementiert sind.
Die Verbindungen mit dem Paar von Umleiteinrichtungen 10-1 und 10-2 sind
derart, dass ein Paar von Netzwerk-Servern 20-1 und 20-2 in
Reihe eingesetzt werden können.
Bei dieser Art von Einsatz wird die Steuerlogik 16 modifiziert,
um die einzelnen Umleiteinrichtungen 10-1 und 10-2 geeignet
zu steuern. Bei diesem Szenario ist entweder die erste Umleiteinrichtung 10-1 oder
die zweite Umleiteinrichtung 10-2 im Betriebsmodus, oder
beide sind zur gleichen Zeit im Betriebsmodus. Der Nutzen des Implementierens
der Umleiteinrichtung 10 auf diese Art und Weise besteht
darin, dass einer als ein Backup für den anderen dienen kann.
-
Auf ähnlich Weise können, wie
es in 3 gezeigt ist,
die externen Verbindungen für
die gepackten Geräte
parallele Verbindungen mit den Servern 20-1 und 20-2 vorsehen.
Es sollte offensichtlich sein, dass dieses Konzept auf den parallelen
Einsatz einer Anzahl n von Umleiteinrichtungen 10 und Servern 12 erweitert
werden kann.
-
Wie es in 4 gezeigt werden ist, können mehrere
Umleiteinrichtungen 10-1,..., 10-n multiplext werden,
um als ein einziger Netzwerk-Server 20 zu dienen.
-
Außerdem können, wie es in 5 gezeigt ist, mehrere Netzwerk-Server 20-1, 20-2, 20-3,..., 20-m von
den Ports 12-2, 12-3 einer gegebenen Umleiteinrichtung 10 eingesetzt
werden. Dieses Szenario kann von redundanten Eingangsleitungen und
internen Bussen Gebrauch machen, wie es gezeigt ist. Daher werden
die Schalter 12 als intelligente Schalter implementiert,
die irgendeine der n Eingangsleitungen zu ügendeinem der m Netzwerk-Server
leiten können,
wobei n größer als
oder gleich n ist, und wobei n größer als oder gleich 2 ist.
-
Bei dieser Ausführungsform können die
Umleiteinrichtungen 10 ebenfalls Intelligenz enthalten, um
den gesamten Datenverkehr durchzuschalten, wenn eine vorbestimmte
Anzahl von Servern 20 ausfällt.
-
6 erweitert
das Konzept auf eine Nachrichten-Umleiteinrichtung 10,
die eine Lastverteilung zwischen mehreren Servern 20 unterstützt. Insbesondere
ist es wünschenswert,
die Verarbeitungslast zwischen verschiedenen Servern 20 aufzuteilen.
Bei dieser Ausführungsform
werden die Schalter 12 typischerweise über paketintelligente Schalter
verbunden, die die Umleitung von Nachrichten an bestimmte Server 20 basierend
auf der Information in jeder Nachricht steuern können. Die Umleitung kann auf Klienten-
oder Serveradressen, Klienten- oder Serveranwendung oder anderen
Kriterien basieren, wie es bereits anderswo beschrieben wurde.
-
Die Vorteile der Erfindung sind ersichtlich, wenn
der typische Einsatz der Umleiteinrichtung und des Cache-Servers
beispielsweise bei einem Internet-Diensteanbieter (ISP) betrachtet wird.
Wie es in 7 gezeigt
ist, wird auf die Kombination einer Umleiteinrichtung 10 und
eines Cache-Servers 20 in dieser Zeichnung als ein Umleitungs-Cache-Server 30 Bezug
genommen und durch die schattierten Kästchen dargestellt. Netzwerkrouters 40 werden
durch die Kreise angegeben, und ein Lokalbereichsnetzwerk 15 wird
als ein Schalter eingesetzt, der die Geräte verbindet.
-
Ankommende Verbindungen von Klienten-Computern
werden von den Verbindungen des Übergabepunkts
(POP) an der rechten Seite der Figur bereitgestellt.
-
Umleitende Cache-Server 30 können inline in Übereinstimmung
mit der Erfindung eingesetzt werden. Außerdem können umleitende Cache-Server 30 inline
zu den Backbone-Verknüpfungen
mit verschiedenen Internet-Anbietern, wie beispielsweise UUNet,
GTE, Sprint und dergleichen, eingesetzt werden. Außerdem können Cache-Server 30 inline mit
Partner-ISP-Verbindungen eingesetzt werden.
-
Dies sei mit dem in 8 gezeigten Einsatz von Cache-Farmen 45 verglichen,
wie beispielsweise beim Stand der Technik, wobei die Router zusammen mit
umleitenden Routern 35 inline mit jeder der POPs, Internetbackbone-Verknüpfungen
und Partner-ISP Verbindungen benutzt werden müssen. Die umleitenden Router 35 müssen daher
in dem Fall eines Ausfalls einer der Cache 21 in der Cache-Farm 45 umprogrammiert
werden. Außerdem
wird die Last auf die Router 35 erhöht.
-
9 zeigt
die Erfindung an einem mehrfach geschalteten Austauschpunkt mit
der Verwendung der umleitenden Cache-Server 30, die inline ähnlich zu
den in 7 gezeigten eingesetzt
werden. Bei der konkurrierenden Anordnung, die auf der rechten Seite
von 9 gezeigt ist, ist
kein Anschlusspunkt verfügbar.
-
Schließlich kann mit Bezug auf die
Art der in 10 gezeigten
Netzwerkverbindung, wie beispielsweise einem Austauschpunkt eines
einzelnen Routers 60, der einzelne Router 60 umleitende
Cache-Server 30 aufweisen, die inline in jeder der ankommenden
Verknüpfungen
eingesetzt werden. Eine derartige Verbindung ist beim Stand der
Technik nicht möglich,
womit eine Cache-Farm 45 an einer Seite des Routers 60 eingesetzt
werden muss, der außerdem
ein umleitender oder umprogrammierbarer Router sein muss.