DE69927285T2 - Netzverwaltungssystem - Google Patents

Netzverwaltungssystem Download PDF

Info

Publication number
DE69927285T2
DE69927285T2 DE69927285T DE69927285T DE69927285T2 DE 69927285 T2 DE69927285 T2 DE 69927285T2 DE 69927285 T DE69927285 T DE 69927285T DE 69927285 T DE69927285 T DE 69927285T DE 69927285 T2 DE69927285 T2 DE 69927285T2
Authority
DE
Germany
Prior art keywords
address
destination address
original
alternative
source 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
DE69927285T
Other languages
English (en)
Other versions
DE69927285D1 (de
Inventor
James Michael Ipswich SKELLS
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.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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 British Telecommunications PLC filed Critical British Telecommunications PLC
Application granted granted Critical
Publication of DE69927285D1 publication Critical patent/DE69927285D1/de
Publication of DE69927285T2 publication Critical patent/DE69927285T2/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/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/35Network arrangements, protocols or services for addressing or naming involving non-standard use of addresses for implementing network functionalities, e.g. coding subscription information within the address or functional addressing, i.e. assigning an address to a function
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • 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
    • 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/1006Server selection for load balancing with static server selection, e.g. the same server being selected for a specific client
    • 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
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • 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/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Description

  • Die vorliegende Erfindung betrifft Computernetze und die Verwaltung eines Verkehrsflusses in derartigen Netzen.
  • Die Verwaltung und Steuerung von verteilten Computernetzen, die eine Information oder Verarbeitung für Benutzer bereitstellen, stellen signifikante Schwierigkeiten dar. Sowie mehr verschiedene verteilte Systeme in das Netz eingeführt werden, nehmen die Netzverwaltung und die Steuerungsaufgaben in der Komplexität zu. Dies kann durch eine manuelle Rekonfiguration, eine Verbesserung oder eine Erneuerung von Elementen in dem Netz gelöst werden. Bevor jedoch das Problem gelöst werden kann, ist es wahrscheinlich, dass Benutzer eine Zeitspanne mit schlechter Leistung oder andere Einschränkungen ihrer Aktivitäten erfahren haben.
  • Diese Probleme wurden zumindest zu einem gewissen Grad von der Einführung von Netzverwaltungssystemen vermindert. Diese Systeme weisen eine Netzüberwachungseinrichtung auf, die ausgebildet ist, die Belastung auf Elementen des Netzes zu überwachen und einen Verkehr umzuleiten, um den Verkehr auf eine optimalere Weise zu verteilen. Ein Beispiel eines derartigen Systems wird in der PCT-Patentanmeldung WO 98/35302 offenbart. In dem offenbarten System ist die Netzüberwachungseinrichtung ausgebildet, die Belastung/Leistung des Netzes (oder Teil des Netzes) zu überwachen, und hält zusätzlich ein Modell des Netzes aufrecht, das in regulären Intervallen optimiert wird. Wenn die Leistung des Modells die des tatsächlichen Netzes übertrifft, ist das System ausgebildet, die Konfiguration des Netzes zu verändern, so dass es mit dem Modell entspricht.
  • Wenn zum Beispiel das überwachte Netz eine verteilte Datenbank ist, kann das System ausgebildet sein, Daten in dem Netz zu Punkten zu bewegen, an denen für diese Daten am meisten Bedarf besteht.
  • Wenn das Netz ein Satz von Spiegel-Servern ist (d.h. eine Gruppe von Servern, die identische Information oder Anwendungen für einen Benutzer bereitstellen), kann das System ausgebildet sein, Verkehr von überlasteten Servern an Server mit einer übrigen Verarbeitungskapazität umzuleiten.
  • Wenn Verkehr an ein alternatives Ziel umgeleitet wird, kann entstehender Rückverkehr in einigen Fällen eine Anzeige der umgeleiteten Adresse liefern. Einige Anwendungen, die auf Daten oder Anwendungen über ein Netz zugreifen, sind empfindlich gegenüber derartigen Änderungen der Adresse und eine Erfassung einer Änderung kann zu einem Fehlerzustand führen und die Anwendung veranlassen, die Kommunikation zu beenden.
  • RFC 2391 „Load Sharing Using IP Network Address Translation (LSNAT)", August 1998 beschreibt eine Belastungsteilung unter Verwendung von Netzadressübersetzern, in der ein Client versucht, auf einen Server zuzugreifen unter Verwendung der virtuellen Serveradresse (eine global eindeutige IP-Adresse, die einen physikalischen Server oder eine Gruppe von Servern identifiziert, welche die gleiche oder eine ähnliche Funktionalität liefern). Der LSNAT-Router leitet die Anforderung transparent an einen der Hostrechner in dem Serverpool um, der unter Verwendung eines Echtzeit- Belastungsverteilungs-Algorithmus ausgewählt wird. Alle Anforderungen und Antworten hinsichtlich einer Sitzung zwischen einem Client und einem Server müssen über denselben LSNAT-Router geleitet werden, außer der Router, der die Belastungsteilung unterstützt, besitzt die verwendeten virtuellen Serveradressen. In beiden Fällen jedoch kann, sobald eine Sitzung einem Hostrechner zugewiesen wurde, die Sit zung nicht an einen anderen Hostrechner verschoben werden bis zum Ende dieser Sitzung. Dies bedeutet, dass Belastungen inmitten von Sitzungen nicht zwischen Hostrechnern gewechselt werden können.
  • Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ist vorgesehen ein Verfahren zum transparenten Umleiten (re-routing) von Datenelementen, die während einer Netzwerkverbindung entlang einem Übertragungspfad zwischen einer ursprünglichen Quelladresse und einer ursprünglichen Zieladresse übertragen werden, wobei die Datenelemente eine Angabe der Quelladresse und eine Angabe der Zieladresse aufweisen, wobei die Netzwerkverbindung Protokolle über dem Protokoll der Transportebene umfasst, die fähig sind, eine Datenübertragung während einer Trennung und einer Wiederverbindung, wenn die Datenelemente umgeleitet werden, aufrechtzuerhalten, wobei das Verfahren die Schritte aufweist:
    • a) an einem ersten Punkt in dem Übertragungspfad, der sich von der ursprünglichen Zieladresse unterscheidet:
    • i) Empfangen eines ersten abgefangenen Datenelements;
    • ii) Modifizieren der ursprünglichen Quelladresse auf eine alternative Quelladresse;
    • iii) Modifizieren der ursprünglichen Zieladresse auf eine alternative Zieladresse; und
    • iv) erneutes Übertragen des ersten Datenelements auf dem Übertragungspfad; und
    • b) an einem zweiten Punkt in dem Übertragungspfad, welcher der alternativen Quelladresse entspricht:
    • i) Empfangen eines zweiten Datenelements, das die alternative Quelladresse als seine Zieladresse aufweist;
    • ii) Modifizieren der Zieladresse auf die ursprüngliche Quelladresse und Modifizieren der Quelladresse auf die ursprüngliche Zieladresse; und
    • iii) erneutes Übertragen des zweiten Datenelements entlang dem Übertragungspfad.
  • Gemäß einem weiten Ausführungsbeispiel der Erfindung ist vorgesehen eine Vorrichtung zum transparenten Umleiten von Datenelementen, die während einer Netzwerkverbindung entlang einem Übertragungspfad zwischen einer ursprünglichen Quelladresse und einer ursprünglichen Zieladresse übertragen werden, wobei die Datenelemente eine Angabe der Quelladresse und eine Angabe der Zieladresse aufweisen, wobei die Netzwerkverbindung Protokolle über dem Protokoll der Transportebene umfasst, die fähig sind, eine Datenübertragung während einer Trennung und einer Wiederverbindung, wenn die Datenelemente umgeleitet werden, aufrechtzuerhalten, wobei die Vorrichtung aufweist:
    • a) erste Mittel, die an einem ersten Punkt in dem Übertragungspfad, der sich von der ursprünglichen Zieladresse unterscheidet, angeordnet sind, wobei die ersten Mittel betriebsfähig sind,
    • i) ein erstes abgefangenes Datenelement zu empfangen;
    • ii) die ursprüngliche Quelladresse auf eine alternative Quelladresse zu modifizieren;
    • iii) die ursprüngliche Zieladresse auf eine alternative Zieladresse zu modifizieren; und
    • iv) das erste Datenelement auf dem Übertragungspfad erneut zu übertragen; und
    • b) zweite Mittel, die an einem zweiten Punkt mit der alternativen Quelladresse in dem Übertragungspfad angeordnet sind, die betriebsfähig sind,
    • i) ein zweites Datenelement zu empfangen, das die alternative Quelladresse als seine Zieladresse aufweist;
    • ii) die Zieladresse auf die ursprüngliche Quelladresse zu modifizieren und die Quelladresse auf die ursprüngliche Zieladresse zu modifizieren; und
    • iii) das zweite Datenelement entlang dem Übertragungspfad erneut zu übertragen.
  • Diese Ausführungsbeispiele bieten den Vorteil einer Isolierung der ursprünglichen Anwendung vor jeder Änderung der Identität der Quelle von empfangenen Daten.
  • 1 ist ein schematisches Diagramm, das ein Netzwerk von Computersystemen zeigt, welche die Erfindung verkörpern;
  • 2a zeigt einen Proxy-Server von 1 detaillierter;
  • 2b zeigt einen Teil des Proxy-Servers von 2 detaillierter;
  • 3 zeigt ein Beispiel von Netzadressen, die gemäß einem Ausführungsbeispiel der Erfindung verarbeitet werden;
  • 4 ist eine schematische Darstellung eines weiteren Ausführungsbeispiels der Erfindung; und
  • 5 ist eine schematische Darstellung eines weiteren Ausführungsbeispiels der Erfindung.
  • Wo eine Organisation Information auf einer globalen Basis über Webseiten liefert, ist es üblich, mehr als ein Datenbanksystem zu haben, wobei jedes dieselbe Information liefert. Diese Datenbanksysteme werden auf Computern (als Server bezeichnet) vorgesehen und werden allgemein als Spiegelserver bezeichnet, da die Dienste, die sie jeweils liefern, identisch zueinander erscheinen. Spiegelserver befinden sich oft an physikalisch entfernten Standorten, zum Beispiel kann eine Firma einen Server in Nordamerika, einen in Europa und einen weiteren in Japan haben. Jeder Spiegelserver kann vorgesehen sein, einen Zugang für Benutzer über Client-Computer bereitzustellen, die sich in der entsprechenden geographischen Region befinden, oder zum Teilen einer vorherrschenden Belastung von einer Region mit einer anderen Region. Dieselben Betrachtungen gelten für Anwendungsserver, die ebenso gespiegelt werden können.
  • Unter Bezugnahme auf 1 weist ein Netz von Computersystemen 101 vier einzelne Netze 103, 105, 107, 109 auf, die miteinander verbunden sind. Jedes der Netze 103, 105, 107, 109 kann zum Beispiel ein lokales Netzwerk (LAN – local area network) oder ein Weitbereichsnetz (WAN – wide area network) sein. Eines der Netze kann das Internet sein. Spiegelserver 113, 115, 117, 119 sind mit den Netzen 103, 105, 107 verbunden. Jeder Spiegelserver ist ein herkömmlicher Computer, auf dem ein Anwendungsprogramm läuft, wie ein Datenbankverwaltungssystem (DBMS – data base management system), und jeder liefert dieselbe Information an den Benutzer. Die entsprechende Datenbank kann in dem Speicher des Computers oder auf verteilte Weise gespeichert sein. Netz-Gateways 111 sind an dem Verbindungspunkt zwischen jedem der Netze 103, 105, 107, 109 vorgesehen. Die Netz-Gateways sind herkömmliche Computer, auf denen Anwendungsprogramme laufen, die Funktionen ausführen, wie Sicherheitsüberprüfungen und Übersetzung zwischen unterschiedlichen Netzprotokollen.
  • Client-Computer 121 sind herkömmliche Computer, auf denen Anwendungsprogramme laufen, die einen Zugang zu den Servern 113, 115, 117, 119 über ein oder mehrere der Netze 103, 105, 107, 109 bereitstellen. Derartige Anwendungen können in der Form eines Webbrowsers sein, wie Netscape (Warenzeichen) oder Internet Explorer (Warenzeichen), die es einem Benutzer ermöglichen, von dem DBMS auf einem der Server 113, 115, 117, 119 gespeicherte Daten zu betrachten. Daten werden im Allgemeinen in der Form von Webseiten betrachtet, die von dem DBMS in Dateien gespeichert sind. Wenn von einem Client-Computer 121 eine Anforderung getätigt wird, eine bestimmte Webseite zu betrachten, überträgt der Server, der die Anforderung empfängt, die Daten, welche die relevante Seite darstellen, über das Netz an den Client 121. Der Browser auf dem Client 121 ist ausgebildet, dem Benutzer dann die Daten anzuzeigen, d.h. die Webseite. In einigen Fällen können Daten von dem Client 121 an einen Server übertragen werden.
  • Jeder der Computer in dem Netz von Computern 101 hat eine ihm zugewiesene Identifikationsnummer, die als Internetprotokolladresse (IP address) bezeichnet wird. Jede Adresse ist eindeutig und gibt an, wo sich der Computer in dem Netz von Computern 101 befindet. Wenn Daten über das Netz übertragen werden, werden sie in Blöcke von Daten aufgeteilt, die dann in eine Übertragungsmeldung eingekapselt werden, die im Allgemeinen als Paket bezeichnet wird. Jedes Paket hat dieselbe grundlegende Struktur, die neben einem Teil der Daten auch die IP-Adresse des sendenden Computers und die IP-Adresse des empfangenden Computers umfasst. Das Senden und Empfangen von Paketen wird gemäß einem standardisierten Kommunikations- (oder Transport) Protokoll, wie TCP (Transmission Control Protocol), von einer Netzwerkkommunikationssoftware durchgeführt, die auf jedem der Computer in dem Netz von Computern 101 läuft. Jedes der Netze 103, 105, 107, 109 umfasst eine herkömmliche Funktionalität, die ausgebildet ist, jedes von einem sendenden Computer an den empfangenden Computer, der in dem Paket von seiner IP-Adresse identifiziert wird, übertragene Paket zu leiten (routing). Jede IP-Adresse wird von dem Transportprotokoll auch unterteilt in eine Anzahl von getrennten Verbindungen an denselben Computer, die als Anschlüsse (ports) bezeichnet werden. Prozessen in einem Computer kann zugewiesen werden, die Kommunikationen zu hand haben, die über einen bestimmten Anschluss oder Anschlüsse stattfinden.
  • Eine Netzüberwachungseinrichtung 125 ist mit jedem der Netze 103, 105, 107, 109 verbunden und ausgebildet, um die Verarbeitungslast eines jeden der Spiegelserver 113, 115, 117, 119 zu überwachen. Ein Beispiel eines derartigen Systems wird in der PCT-Anmeldung Nr. WO 98/35302 beschrieben, das ausgebildet ist, die Leistung von Spiegelservern zu überwachen und sie mit einem dynamisch aktualisierten Modell der Gruppe von Spiegelservern zu vergleichen. Wenn an einem Punkt die Leistung des Modells besser als die des tatsächlichen Systems erachtet wird, ist die Netzüberwachungseinrichtung ausgebildet, Anweisungen auszugeben, um das Netz zur Anpassung an das Modell zu rekonfigurieren. Auf diese Weise kann die Leistung der Gruppe von Spiegelservern optimiert werden. Zum Beispiel kann in dem vorliegenden Ausführungsbeispiel einer der Spiegelserver 113 überlastet sein, während ein anderer der Spiegelserver 119 unter seiner Kapazität arbeitet. In diesem Fall ist die Netzüberwachungseinrichtung 125 ausgebildet, Anweisungen auszugeben, die veranlassen, dass Verkehr von dem überlasteten Spiegelserver 113 an den nicht ausgelasteten Spiegelserver 119 umgeleitet wird, wodurch die Leistung des Systems im Ganzen optimiert wird.
  • In dem vorliegenden Ausführungsbeispiel ist ein Proxy-Server 123 an einem Punkt in dem Netz 109 zwischen dem Gateway 111 und den Verbindungen an die anderen Netze 103, 107 vorgesehen. Der Proxy-Server 123 ist ausgebildet, Anweisungen von der Netzüberwachungseinrichtung 125 über das Netz 103 zu empfangen und von dem Netz 109 kommenden Verkehr an den geeigneten Spiegelserver gemäß den erhaltenen Anweisungen umzuleiten.
  • Unter Bezugnahme auf die 2a und 2b führt der Proxy-Server 123 drei Hauptprozesse aus. Ein Client-Prozess 201 handhabt die Kommunikation mit den Client-Computern 121 über das Gateway 111 (nicht gezeigt), ein Server-Prozess 201 handhabt die Kommunikation über Anschlüsse 215, 217 über die Netze 103, 107 und ein Proxy-Prozess 205. Der Proxy-Prozess 205 nimmt von dem Client-Prozess 201 erhaltene Pakete und liest die Quelladresse und die Zieladresse des Pakets. Der Proxy-Prozess 205 vergleicht dann die Adressen mit in einer Adressentabelle 207 gespeicherten Daten. Die Adressentabelle 207 weist einen „umgeleitete Adressen"-Abschnitt 209 auf, der zum Speichern von Ziel-IP-Adressen verwendet wird, die an alternative IP-Adressen umgeleitet wurden. Die ursprüngliche Zieladresse wird zusammen mit der entsprechenden umgeleiteten Adresse gespeichert.
  • Wenn die Netzüberwachungseinrichtung 125 feststellt, dass Verkehr von dem Netz 109 an einen alternativen der Spiegelserver 113, 115, 117, 119 umgeleitet werden sollte, sendet sie eine Anweisung über das Netz 103 an den Proxy-Server 123. Der Proxy-Prozess 205 ist ausgebildet, die Anweisung von der Netzüberwachungseinrichtung 125 über einen Anschluss 213 zu empfangen, der unterschiedlich zu den Anschlüssen ist, die von dem Client und den Server-Prozessen 201, 203 verwendet werden. Dies ermöglicht dem Proxy-Prozess 205, die eintreffende Meldung als eine Anweisung von der Netzüberwachungseinrichtung 125 zur Aktualisierung des „umgeleitete Adressen"-Abschnitt 209 der Adressentabelle 207 gemäß der empfangenen Anweisung zu identifizieren. Die Anweisung ist in der Form einer Zieladresse und einer korrespondierenden umgeleiteten Adresse. Der Proxy-Prozess 205 fügt die neue Zieladresse und die korrespondierende umgeleitete Adresse aus der Anweisung zu dem „umgeleitete Adressen"-Abschnitt 209 hinzu. Wenn bereits ein Eintrag für eine bestimmte Zieladresse existiert, aktualisiert der Proxy-Prozess 205 den Eintrag mit der neuen umgeleiteten Adresse von der Anweisung, statt einen neuen Eintrag zu erzeugen.
  • 3 illustriert jedes Ereignis bei der Verarbeitung von IP-Adressen, das in dem Ausführungsbeispiel der vorliegenden Erfindung stattfindet, wenn ein Paket von einem Client 121 an einen Zielserver 113 gesendet und von dem Proxy-Server 123 an einen alternativen Server 119 umgeleitet wird.
  • In diesem Beispiel hat der Client 121 eine IP-Adresse (einschließlich einer Anschlussnummer von 3456) 1.2.3.4:3456 und versucht, auf einen Server zuzugreifen, der als „service 1.xyz.com" identifiziert ist und der eine tatsächliche IP-Adresse 100.100.100.100:80 hat. Bevor jedoch ein Zugang initiiert wird, hat die Netzüberwachungseinrichtung 125 eine geeignete Anweisung an den Proxy-Server 123 gesendet, allen Verkehr von dem Netz, der an die Seite „service 1.xyz.com" gerichtet ist, an einen Spiegelserver umzuleiten, der die tatsächliche IP-Adresse 123.456.789:80 hat. Als ein Ergebnis speichert der „umgeleitete Adressen"-Abschnitt 209 der Adressentabelle 207 nun das Ziel-/umgeleitete Adresse-Paar (100.100.100.100:80, 123.456.789:80).
  • Unter Bezugnahme auf 3 sendet der Client 121 die Verbindungsanforderung und diese wird an den Gateway 111 zu dem Netz 103 geleitet. Wie in dem Ereignis 1 von 3 gezeigt, umfasst das Paket die Quelladresse des Clients 121 und die Zieladresse des Servers. Wenn das Paket von dem Gateway 111 zu dem Netz 103 geleitet wird, wird es von dem Client-Prozess 201 des Proxy-Servers 123 abgefangen und an den Proxy-Prozess 205 geleitet, wie in dem Ereignis 2 von 3 gezeigt wird. Der Proxy-Prozess 205 schlägt die Zieladresse in dem „umgeleitete Adressen"-Abschnitt 209 der Adressentabelle 207 nach. Wenn er einen entsprechenden Eintrag findet, geht der Proxy- Prozess weiter, die Zieladresse in dem Paket von 100.100.100.100:80 in 123.456.789:80 unter Verwendung des geeigneten Eintrags in der Adressentabelle 207 (d.h. 100.100.100.100:80, 123.456.789:80) zu übersetzen. Der Proxy-Prozess 205 tauscht dann die Quelladresse des Pakets von der des Clients 121 in seine eigene IP-Adresse, d.h. 10.10.10.10, zusammen mit einer Angabe der Ausgabeanschlussnummer, die in diesem Fall 513 ist, wie in dem Ereignis 3 der 3 gezeigt wird.
  • Sobald sowohl die Quell- als auch die Zieladresse wie oben angeführt modifiziert wurden, speichert der Proxy-Prozess 205 eine Aufzeichnung der Client-IP-Adresse, der ursprünglich von dem Client 121 in dem Paket platzierten Zieladresse, die Quelladresse des Pakets, wie übersetzt, und die tatsächliche Zieladresse, wie übersetzt. Diese Daten werden als paarweise Paare von Adressen in einem Bereich der Adressentabelle gespeichert, der als „die aktuellen Verbindungen" 211 bezeichnet wird. In dem vorliegenden Beispiel werden die paarweisen Paare in den „aktuellen Verbindungen" 211 gespeichert:
    (1.2.3.4:3456, 100.100.100.100:80), (10.10.10.10:513, 123.456.789:80).
  • Das Paket wird dann an den Server-Prozess 203 zur Übertragung über das Netz 103 an den geeigneten Server 119 weitergeleitet. Als Antwort auf den Erhalt des Pakets bereitet der Server 119 Antwortdaten in der Form eines weiteren Pakets vor, welches die Quelladresse des Spiegelservers und die Zieladresse des Proxy-Servers 123 aufweist, wie in dem Ereignis 4 von 3 gezeigt wird. Das Paket wird über das Netz 103 an das Netz 109 übertragen und von dem Proxy-Server 123 abgefangen, wie in dem Ereignis 5 von 3 gezeigt wird. Das Paket wird dann an den Proxy-Prozess 205 weitergeleitet, der die Quelladresse und die Zieladresse mit dem zweiten Paar der Paare in dem Bereich der „aktuellen Verbindungen" 211 der Adressentabelle 207 vergleicht. Wird der übereinstimmende Eintrag gefunden (während dem Ereignis 3 gespeichert), tauscht der Proxy-Prozess 205 die Quelladresse und die Zieladresse durch das erste Paar von Paaren aus dem identifizierten Eintrag aus. Dies führt dazu, dass ein Paket eine Quelladresse hat, die dieselbe wie die Zieladresse des von dem Client 121 stammenden Pakets ist, und eine Zieladresse des Clients 121 hat, wie in dem Ereignis 6 von 3 gezeigt wird. Das Paket wird dann an den Client-Prozess 201 weitergegeben, der das Paket über das Netz 109 an den Client 121 überträgt, wie in dem Ereignis 7 der 3 gezeigt wird.
  • Für das obige Beispiel wurde die Übertragung nur eines Pakets gezeigt. Es ist jedoch offensichtlich, dass Übertragungsprotokolle, z.B. TCP oder UDP, die Übertragung einer großen Anzahl von Paketen über die Netze 103, 105, 107, 109 zu jeder Zeit umfassen. Zusätzlich ist der Proxy-Server 123 fähig, Kommunikationen zwischen vielen Client-Server-Paaren im Wesentlichen gleichzeitig auf eine herkömmliche Weise zu bewältigen. Demgemäß ist es möglich, dass die Adressentabelle 207 viele Einträge in dem „umgeleitete Adressen"-Abschnitt 209 und/oder dem „aktuelle Verbindungen"-Abschnitt 211 enthält.
  • Jeder Eintrag in den „aktuellen Verbindungen" 211 steuert das Weiterleiten (routing) für die bestimmte TCP- oder UDP-Verbindung. Deswegen wird in dem obigen Beispiel bis zum Ende der TCP-Verbindung, wann immer der Client-Prozess 201 ein Paket mit einer Quell/Zieladresse (1.2.3.4:3456, 100.100.100.100:80) empfängt, dieses von dem Server-Prozess 203 mit einer Quell/Zieladresse von (10.10.10.10:513, 123:456.789:80) wieder gesendet. Ähnlich wird, wenn der Server-Prozess 203 ein Paket mit den Adressen (123:456.789:80, 10.10.10.10:513) erhält, dieses von dem Client- Prozess mit der Quell/Zieladresse (100.100.100.100:80, 1.2.3.4:3456) wieder gesendet.
  • In einigen Fällen kann es wünschenswert sein, Verkehr von einem Ziel an ein alternatives Ziel sogar während einer Netzverbindung umzuleiten. In diesem Fall sendet die Netzüberwachungseinrichtung 125 eine geeignete Anweisung an den Proxy-Prozess 205, um die aktuelle Zieladresse des Servers auf die umgeleitete Adresse zu ändern. Als Antwort auf die Anweisung aktualisiert der Proxy-Prozess 205 den entsprechenden Eintrag in dem „umgeleitete Adressen"-Abschnitt 209 und durchsucht auch den Inhalt des „aktuelle Verbindungen"-Abschnitts 211 nach einem Routing-Paar, das die aktuelle Zieladresse des Servers hat, von dem Verkehr weggeleitet wird. Wenn dieser Eintrag gefunden ist, tauscht der Proxy-Prozess die aktuelle Zieladresse in dem Eintrag durch die Umleitungsadresse aus. Als ein Ergebnis wird nachfolgender Verkehr an den alternativen Server umgeleitet.
  • Wenn die Zieladresse während einer Verbindung geändert wird, ist es wichtig, die in der Verbindung verwendeten Protokolle zu berücksichtigen. Es ist wichtig, dass die Protokolle über den Protokollen der Transportebene (TCP oder UDP) zustandslos sind oder eine Zustandswiederherstellung haben, d.h. sie können unterbrochen werden und Protokolle einer höheren Ebene sind ausgebildet, die Wiederverbindung durchzuführen. In anderen Worten, sie können unterbrochen werden und dann wird die Verbindung auf höherer Ebene an einem anderen Ziel wieder aufgenommen, ohne zu einer Unterbrechung der Datenübertragung zu führen. Ein Beispiel eines geeigneten Protokolls ist NFS (Network File Server Protocol).
  • Unter Bezugnahme auf 3 sollte angemerkt werden, dass das Quelle/Ziel-Paar des Pakets in den beiden Ereignissen 1 und 7 das selbe ist und deswegen werden dem Client-Computer 121 keine Daten geliefert, die anzeigen, dass eine Änderung des tatsächlichen Ziels stattgefunden hat. Dies ist für alle Pakete der Fall, die von dem Client 121 während einer gegebenen Netzverbindung gehandhabt werden. In anderen Worten, das Abfangen der Pakete von dem Proxy-Server 123 und ihre Umleitung an einen alternativen Server ist für den Client 121 transparent. Eine derartige Transparenz vermeidet Probleme, die auftreten, wenn ein auf dem Client laufendes Anwendungsprogramm nur Pakete von einer vorgegebenen Quelle akzeptieren kann und die Quell-IP-Adresse in empfangenen Paketen verwendet, um dies zu überprüfen.
  • Ein derartiges Problem kann auftreten, wenn auf dem Client 121 ein Anwendungsprogramm läuft, das in der Java-(Warenzeichen)-Programmiersprache geschrieben ist. Java-Programme laufen in einer speziellen Software-Umgebung, als Java Virtual Machine (Warenzeichen) bezeichnet, welche die Java-Anwendung von der normalen Betriebsumgebung des Client-Computers isoliert. Java wird üblicherweise verwendet, um eine Funktionalität in Webseiten und Browsern zu liefern. Java-Programme (als Java-Applets bezeichnet) können von einem Server heruntergeladen werden und laufen auf einem Client-Computer in einer JVM, die als Teil der Funktionalität eines Web-Browsers (üblicherweise als ein „Java-fähiger" Browser bezeichnet) vorgesehen ist.
  • Ein Merkmal „Java-fähiger" Browser ist, dass, sobald ein Java-Applet heruntergeladen wurde, nachfolgende Kommunikationen mit dem Server von der JVM nur ermöglicht werden, wenn die IP-Adresse des Servers unverändert bleibt. Deswegen werden, wenn Verkehr von dem Client an einen Spiegelserver umgeleitet wird, auf die Umleitung nachfolgende Kommunikationen von der JVM zurückgewiesen. Dies würde bedeuten, dass eine Neuzuteilung eines Spiegelservers wäh rend einer Verbindung nicht möglich wäre. Mit der oben beschriebenen Transparenz würde jedoch die JVM die Umleitung nicht bemerken und die Kommunikationen normal weiterführen.
  • Als ein optionales Merkmal kann der „aktuelle Verbindungen"-Abschnitt 211 der Adressentabelle 207 verwendet werden, zusätzliche Information über jede Verbindung zu speichern. Dies kann eine Leistungsinformation sein, zum Beispiel Netzlatenzzeit, Durchsatz, Paketgrößen und -Volumen, zusammen mit allen Netz- oder Transportfehlern. Wenn die Information unter der Steuerung des Proxy-Prozesses 205 erfasst wurde, kann sie über das Netz 103 als Eingabe für die Netzüberwachungseinrichtung 125 übertragen werden.
  • Unter Bezugnahme auf 4 kann die Erfindung in einem Netz von Computern 401 ausgeführt werden, das einen vermittelnden Proxy-Server 403 umfasst, der zwischen Client-Computern 405 und einem Gateway-Server 407 eines Netzes 409 verbunden ist.
  • Vermittelnde Proxy-Server sind konventionell und können auch als Adapter oder Brücken bezeichnet werden. Dies sind herkömmliche Serveranordnungen, auf denen Serveranwendungsprogramme laufen, die ausgebildet sind, Kommunikationen zwischen unterschiedlichen Protokollen durchzuführen und gegenüber Client-Computern wie ein Dienst zu erscheinen, auf den der Client-Computer direkt über das Netz zugreifen kann. Zusätzlich zu der normalen Funktion eines vermittelnden Proxys ist der vermittelnde Proxy 403 ausgebildet, dass es für ihn möglich ist, Verkehr an alternative Ziele umzuleiten und dies auf eine transparente Weise zu tun. Dies kann als Antwort auf von einer Netzüberwachungseinrichtung 125 (in 4 nicht gezeigt) empfangene Anweisungen durchgeführt werden. Der vermittelnde Proxy 403 ist auch fähig, Verkehr mitten in einer Verbindung umzuleiten. Diese zusätzlichen Funktionen des vermittelnden Proxy- Servers 403 werden von denselben Mechanismen durchgeführt, die oben unter Bezugnahme auf die 2a, 2b und 3 für den Proxy-Server 123 beschrieben wurden.
  • 5 zeigt ein weiteres Ausführungsbeispiel der vorliegenden Erfindung, in dem die Erfindung, statt in einer Proxy-Server-Umgebung integriert zu sein, in einer Domain-Name-Server(DNS – domain name server)-Umgebung 501 dargestellt wird. Herkömmlicherweise übersetzt ein DNS-Server 503 zwischen den URLs (Universal Resource Locators), wie „www.bt.com" (das der Benutzer in die Befehlszeile eines Web-Browsers auf einem Client-Computers eingeben kann), und der tatsächlichen IP-Adresse des Servers in dem Netz, wie „109.9.34.346:80". Der DNS 503 ist mit einer Datenbank 505 verbunden, die URLs und ihre entsprechenden IP-Adressen speichert. Mit dem Netz 507 verbundene Computer (nicht gezeigt) sind ausgebildet, Anforderungen für IP-Adressen an die DNS durch Anzeige einer bestimmten URL zu tätigen. Als Antwort auf eine derartige Anforderung fragt der DNS die Datenbank 505 ab und sendet die IP-Adresse aus dem entsprechenden Datenbankeintrag über das Netz 507 zurück an den anfragenden Computer.
  • In diesem Ausführungsbeispiel jedoch ist ein ENS (enhanced naming server) 509 zwischen dem DNS und dem Netz 507 verbunden. Der ENS ist ausgebildet, einen vorgegebenen Satz von URLs abzufangen, während er alle anderen URLs zu dem DNS durchlässt (ohne eine Adressinformation in den Paketen zu ändern), damit sie auf die herkömmliche Weise wie oben angemerkt verarbeitet werden. Der vorgegebene Satz von URLs ist in der Adressentabelle 511 gespeichert. Sobald der ENS eine bestimmte URL als eine identifiziert hat, die er abfangen soll, sendet er die entsprechende IP-Adresse aus der Adressentabelle über das Netz 507 an den anfragenden Computer zurück.
  • Die von dem ENS 509 verwendete Adressentabelle 511 wird von einer Netzüberwachungseinrichtung 513 über das Netz 507 aktualisiert. Die Netzüberwachungseinrichtung 513 kommuniziert mit dem ENS über einen Anschluss 515, der getrennt ist von dem Anschluss oder den Anschlüssen 517, der/die für normale DNS-Anfragen von Computern über das Netz 507 verwendet wird/werden. Die Netzüberwachungseinrichtung 513 arbeitet auf dieselbe Weise wie die oben beschriebene Netzüberwachungseinrichtung 125 und implementiert Änderungen einer Netzkonfiguration und/oder eines Flusses von Netzverkehr durch Senden von Anweisungen an den ENS 509. Als Antwort auf diese Anweisungen ändert der ENS 509 die IP-Adresse für eine bestimmte in der Adressentabelle 511 gespeicherte URL. Auf diese Weise kann Verkehr aus dem Bereich des Netzes, der von dem DNS 503 bedient wird, von einem Server in dem Netz 507 an einen anderen unter der Steuerung der Netzüberwachungseinrichtung 513 umgeleitet werden.
  • Obwohl in 5 der ENS 509 als direkt verbunden mit dem DNS 503 gezeigt ist, sollte angemerkt werden, dass der ENS 509 entfernt von dem DNS 503 sein kann und die Fähigkeit aufweisen kann, die normalen (nicht abgefangenen) DNS-Anforderungen über ein Netz an den DNS 503 weiterzugeben.
  • Es ist für Fachleute offensichtlich, dass die Netzüberwachungseinrichtung (in jedem der vorherigen Ausführungsbeispiele) ein System zum Weiterleiten des Netzverkehrs gemäß lokalen Regeln (wie der Tageszeit), der Quell-IP-Adresse, des physikalischen Standorts des Client-Computers und einer Belastungsverteilungsinformation umfassen kann. Als eine weitere Alternative kann die Netzüberwachungseinrichtung ein menschlicher Anwender sein. Auch können der Proxy-Server 123, der vermittelnde Proxy 403 und der ENS 509 in einen „Client an Server"-Teil und einen „Server an Client"-Teil geteilt sein, wobei jeder teil getrennt vorgesehen ist.
  • Obwohl das obige Beispiel die DNS-Umgebung verwendet, ist offensichtlich, dass die Lehren Anwendungen in anderen Systemen umfassen, wo eine Übersetzung von Namenidentifizierern zu Adressen durchgeführt wird. Ferner sollten die in der Beschreibung getätigten Referenzen zu herkömmlichen Computern oder Anwendungen nicht aufgefasst werden, dass sie die Nutzung der Erfindung unter Verwendung nicht-herkömmlicher Computer ausschließen. Es ist offensichtlich, dass die oben beschriebenen Prinzipien auf andere Systeme angewendet werden können, in denen Dienste von einem oder mehreren Computer(n) zu einem oder mehreren anderen Computer(n) geliefert werden, und nicht auf eine Client-Server-Umgebung beschränkt sind.
  • Die obigen Beispiele wurden vorwiegend unter Bezugnahme auf TCP/IP beschrieben. Es ist jedoch offensichtlich, dass die Lehren auf andere Protokolle anwendbar sind, wie zum Beispiel ATM, DECNET (Warenzeichen) oder SNA (Warenzeichen).

Claims (11)

  1. Verfahren zum transparenten Umleiten (re-routing) von Datenelementen, die während einer Netzwerkverbindung entlang einem Übertragungspfad zwischen einer ursprünglichen Quelladresse und einer ursprünglichen Zieladresse übertragen werden, wobei die Datenelemente eine Angabe der Quelladresse und eine Angabe der Zieladresse aufweisen, wobei die Netzwerkverbindung Protokolle über dem Transportebeneprotokoll umfasst, die fähig sind, eine Datenübertragung während einer Trennung und einer Wiederverbindung, wenn die Datenelemente umgeleitet werden, aufrechtzuerhalten, wobei das Verfahren die Schritte aufweist: a) an einem ersten Punkt (123, 403) in dem Übertragungspfad, der sich von der ursprünglichen Zieladresse unterscheidet: i) Empfangen eines ersten abgefangenen Datenelements; ii) Modifizieren der ursprünglichen Quelladresse auf eine alternative Quelladresse; iii) Modifizieren der ursprünglichen Zieladresse auf eine alternative Zieladresse; und iv) erneutes Übertragen des ersten Datenelements auf dem Übertragungspfad; und b) an einem zweiten Punkt (123, 403) in dem Übertragungspfad, welcher der alternativen Quelladresse entspricht: i) Empfangen eines zweiten Datenelements, das die alternative Quelladresse als seine Zieladresse aufweist; ii) Modifizieren der Zieladresse auf die ursprüngliche Quelladresse und Modifizieren der Quelladresse auf die ursprüngliche Zieladresse; und iii) erneutes Übertragen des zweiten Datenelements entlang dem Übertragungspfad.
  2. Verfahren gemäß Anspruch 1, wobei das zweite Datenelement entlang dem Pfad von der alternativen Zieladresse als Reaktion auf den Empfang des ersten Datenelements an dem alternativen Ziel übertragen wird.
  3. Verfahren gemäß einem vorhergehenden Anspruch, wobei sich der erste Punkt und der zweite Punkt an demselben Punkt (123, 403) in dem Übertragungspfad befinden.
  4. Verfahren gemäß einem vorhergehenden Anspruch, das ferner den Schritt eines Speicherns der ursprünglichen Quelladresse, der ursprünglichen Zieladresse, der alternativen Quelladresse und der alternativen Zieladresse aufweist, wobei die gespeicherten Adressen einen existierenden Routingpfad für Datenelemente mit Quell- und Zieladressen angeben, die mit den gespeicherten ursprünglichen Quell- und Zieladressen übereinstimmen.
  5. Verfahren gemäß Anspruch 4, das ferner die Schritte eines Verwendens der gespeicherten Adressen, um einen existierenden Routingpfad zu identifizieren, und eines Modifizierens der alternativen Zieladresse des identifizierten Routingpfads auf eine weitere alternative Zieladresse aufweist.
  6. Vorrichtung zum transparenten Umleiten von Datenelementen, die während einer Netzwerkverbindung entlang einem Übertragungspfad zwischen einer ursprünglichen Quelladresse und ei ner ursprünglichen Zieladresse übertragen werden, wobei die Datenelemente eine Angabe der Quelladresse und eine Angabe der Zieladresse aufweisen, wobei die Netzwerkverbindung Protokolle über dem Transportebeneprotokoll umfasst, die fähig sind, eine Datenübertragung während einer Trennung und einer Wiederverbindung, wenn die Datenelemente umgeleitet werden, aufrechtzuerhalten, wobei die Vorrichtung aufweist: a) erste Mittel (205), die an einem ersten Punkt (123, 403) in dem Übertragungspfad, der sich von der ursprünglichen Zieladresse unterscheidet, angeordnet sind, wobei die ersten Mittel betriebsfähig sind, i) ein erstes abgefangenes Datenelement zu empfangen; ii) die ursprüngliche Quelladresse auf eine alternative Quelladresse zu modifizieren; iii) die ursprüngliche Zieladresse auf eine alternative Zieladresse zu modifizieren; und iv) das erste Datenelement auf dem Übertragungspfad erneut zu übertragen; und b) zweite Mittel (205), die an einem zweiten Punkt (123, 403) mit der alternativen Quelladresse in dem Übertragungspfad angeordnet sind, die betriebsfähig sind, i) ein zweites Datenelement zu empfangen, das die alternative Quelladresse als seine Zieladresse aufweist; ii) die Zieladresse auf die ursprüngliche Quelladresse zu modifizieren und die Quelladresse auf die ursprüngliche Zieladresse zu modifizieren; und iii) das zweite Datenelement entlang dem Übertragungspfad erneut zu übertragen.
  7. Vorrichtung gemäß Anspruch 6, die ferner Mittel zum Übertragen des zweiten Datenelements entlang dem Pfad von der alter nativen Zieladresse als Reaktion auf den Empfang des ersten Datenelements an dem alternativen Ziel aufweist.
  8. Vorrichtung gemäß Anspruch 6 oder Anspruch 7, wobei sich der erste Punkt (123, 403) und der zweite Punkt (123, 403) an demselben Punkt (123, 403) in dem Übertragungspfad befinden.
  9. Vorrichtung gemäß einem der Ansprüche 6 bis 8, die ferner Mittel (207) aufweist, die betriebsfähig sind, die ursprüngliche Quelladresse, die ursprüngliche Zieladresse, die alternative Quelladresse und die alternative Zieladresse zu speichern, wobei die gespeicherten Adressen einen existierenden Routingpfad für Datenelemente mit Quell- und Zieladressen angeben, die mit den gespeicherten ursprünglichen Quell- und Zieladressen übereinstimmen.
  10. Vorrichtung gemäß Anspruch 9, die ferner Mittel (207) aufweist, die betriebsfähig sind, die gespeicherten Adressen zu verwenden, um einen existierenden Routingpfad zu identifizieren, und die alternative Zieladresse des identifizierten Routingpfads auf eine weitere alternative Zieladresse zu modifizieren.
  11. Computerprogramm oder Suite von Computerprogrammen, die Anweisungen zum Veranlassen eines Computers oder mehrerer Computer aufweisen, Schritte auszuführen in einem Verfahren zum transparenten Umleiten von Datenelementen, die während einer Netzwerkverbindung entlang einem Übertragungspfad zwischen einer ursprünglichen Quelladresse und einer ursprünglichen Zieladresse übertragen werden, wobei die Datenelemente eine Angabe der Quelladresse und eine Angabe der Zieladresse aufweisen, wobei die Netzwerkverbindung Protokolle über dem Transportebeneprotokoll umfasst, die fähig sind, eine Daten übertragung während einer Trennung und einer Wiederverbindung, wenn die Datenelemente umgeleitet werden, aufrechtzuerhalten, wobei die Schritte aufweisen: a) an einem ersten Punkt (123, 403) in dem Übertragungspfad, der sich von der ursprünglichen Zieladresse unterscheidet: i) Empfangen eines ersten abgefangenen Datenelements; ii) Modifizieren der ursprünglichen Quelladresse auf eine alternative Quelladresse; iii) Modifizieren der ursprünglichen Zieladresse auf eine alternative Zieladresse; und iv) erneutes Übertragen des ersten Datenelements auf dem Übertragungspfad; und b) an einem zweiten Punkt (123, 403) in dem Übertragungspfad, welcher der alternativen Quelladresse entspricht: i) Empfangen eines zweiten Datenelements, das die alternative Quelladresse als seine Zieladresse aufweist; ii) Modifizieren der Zieladresse auf die ursprüngliche Quelladresse und Modifizieren der Quelladresse auf die ursprüngliche Zieladresse; und iii) erneutes Übertragen des zweiten Datenelements entlang dem Übertragungspfad.
DE69927285T 1998-12-03 1999-12-01 Netzverwaltungssystem Expired - Lifetime DE69927285T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP98309903 1998-12-03
EP98309903 1998-12-03
PCT/GB1999/004012 WO2000033536A1 (en) 1998-12-03 1999-12-01 Network management system

Publications (2)

Publication Number Publication Date
DE69927285D1 DE69927285D1 (de) 2005-10-20
DE69927285T2 true DE69927285T2 (de) 2006-06-29

Family

ID=8235187

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69927285T Expired - Lifetime DE69927285T2 (de) 1998-12-03 1999-12-01 Netzverwaltungssystem

Country Status (7)

Country Link
US (1) US7013333B1 (de)
EP (1) EP1133864B1 (de)
JP (1) JP2002532013A (de)
AU (1) AU1399400A (de)
CA (1) CA2352755C (de)
DE (1) DE69927285T2 (de)
WO (1) WO2000033536A1 (de)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6823386B1 (en) * 1999-02-25 2004-11-23 Nortel Networks Limited Correlating data streams of different protocols
US6804778B1 (en) * 1999-04-15 2004-10-12 Gilian Technologies, Ltd. Data quality assurance
NL1013273C2 (nl) * 1999-10-12 2001-04-17 Koninkl Kpn Nv Werkwijze en systeem voor het verzenden van IP berichten.
US20020165947A1 (en) * 2000-09-25 2002-11-07 Crossbeam Systems, Inc. Network application apparatus
US20100042565A1 (en) * 2000-09-25 2010-02-18 Crossbeam Systems, Inc. Mezzazine in-depth data analysis facility
US8010469B2 (en) 2000-09-25 2011-08-30 Crossbeam Systems, Inc. Systems and methods for processing data flows
US9800608B2 (en) 2000-09-25 2017-10-24 Symantec Corporation Processing data flows with a data flow processor
US20070192863A1 (en) * 2005-07-01 2007-08-16 Harsh Kapoor Systems and methods for processing data flows
US9525696B2 (en) 2000-09-25 2016-12-20 Blue Coat Systems, Inc. Systems and methods for processing data flows
US20110213869A1 (en) * 2000-09-25 2011-09-01 Yevgeny Korsunsky Processing data flows with a data flow processor
US20110219035A1 (en) * 2000-09-25 2011-09-08 Yevgeny Korsunsky Database security via data flow processing
US20110214157A1 (en) * 2000-09-25 2011-09-01 Yevgeny Korsunsky Securing a network with data flow processing
JPWO2002045352A1 (ja) * 2000-11-30 2004-04-08 富士通株式会社 ネットワーク監視制御システム
FI20010511A0 (fi) 2001-03-14 2001-03-14 Stonesoft Oy Datapakettien käsittely
WO2003043276A1 (fr) * 2001-11-13 2003-05-22 Matsushita Electric Industrial Co., Ltd. Systeme de connexion d'un fournisseur, systeme d'echange de donnees par paquets, serveur de dns, procede d'echange de donnees par paquets, et programme d'ordinateur associe
US7193996B2 (en) 2002-02-28 2007-03-20 Acme Packet, Inc. System and method for determining a source of an internet protocol packet
JP2004159112A (ja) 2002-11-06 2004-06-03 Ntt Docomo Inc 通信制御システム、通信制御方法、これらに用いて好適なルーティング制御装置及びルータ装置
GB0302926D0 (en) * 2003-02-08 2003-03-12 Grex Games Ltd System architecture and engine for massively multi-user operation
US20050249214A1 (en) * 2004-05-07 2005-11-10 Tao Peng System and process for managing network traffic
JP2006072785A (ja) * 2004-09-03 2006-03-16 Hitachi Electronics Service Co Ltd サービス利用のためのリクエストメッセージ制御方法、および、サービス提供システム
US8069265B2 (en) * 2005-01-10 2011-11-29 Broadcom Corporation Method and system for network rotameter station and service
GB0524008D0 (en) * 2005-11-25 2006-01-04 Ibm Method and system for controlling the processing of requests for web resources
US8195822B2 (en) 2006-02-13 2012-06-05 International Business Machines Corporation Substituting content for undesirable content in a web browser
JP2008035230A (ja) * 2006-07-28 2008-02-14 Fujifilm Corp データ圧縮装置およびデータ圧縮プログラム
WO2008018017A2 (en) * 2006-08-08 2008-02-14 Koninklijke Philips Electronics N.V. Electronic device and method of controlling a communication
US9015300B2 (en) * 2006-10-20 2015-04-21 Verizon Patent And Licensing Inc. Method, computer program product, and device for network reconnaissance flow identification
WO2008052291A2 (en) * 2006-11-03 2008-05-08 Intelliguard I.T. Pty Ltd System and process for detecting anomalous network traffic
EP2161896A1 (de) 2008-09-05 2010-03-10 Zeus Technology Limited Lieferung von Datendateien an Anfragestationen
JP6014570B2 (ja) * 2013-10-25 2016-10-25 株式会社日立製作所 通信端末の接続制御方法および情報収集システム
US11178107B2 (en) * 2019-09-30 2021-11-16 Michael Schloss System and method for detecting surreptitious packet rerouting

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371852A (en) * 1992-10-14 1994-12-06 International Business Machines Corporation Method and apparatus for making a cluster of computers appear as a single host on a network
JP3262689B2 (ja) * 1995-05-19 2002-03-04 富士通株式会社 遠隔操作システム
JP3224745B2 (ja) * 1996-07-09 2001-11-05 株式会社日立製作所 高信頼化ネットワークシステム及びサーバ切り替え方法
JPH1027146A (ja) * 1996-07-11 1998-01-27 Kyushu Nippon Denki Software Kk 通信処理装置及び通信処理方法
US5774660A (en) * 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US6470389B1 (en) * 1997-03-14 2002-10-22 Lucent Technologies Inc. Hosting a network service on a cluster of servers using a single-address image
JPH10262044A (ja) * 1997-03-19 1998-09-29 Mitsubishi Electric Corp 中継装置及び中継装置による中継方法
US6243379B1 (en) * 1997-04-04 2001-06-05 Ramp Networks, Inc. Connection and packet level multiplexing between network links
JPH10312365A (ja) * 1997-05-13 1998-11-24 Nec Corp 負荷分散システム
US6735631B1 (en) * 1998-02-10 2004-05-11 Sprint Communications Company, L.P. Method and system for networking redirecting
US6321336B1 (en) * 1998-03-13 2001-11-20 Secure Computing Corporation System and method for redirecting network traffic to provide secure communication
US6058431A (en) * 1998-04-23 2000-05-02 Lucent Technologies Remote Access Business Unit System and method for network address translation as an external service in the access server of a service provider
JP3898498B2 (ja) * 2001-12-06 2007-03-28 富士通株式会社 サーバ負荷分散システム

Also Published As

Publication number Publication date
CA2352755A1 (en) 2000-06-08
EP1133864B1 (de) 2005-09-14
EP1133864A1 (de) 2001-09-19
JP2002532013A (ja) 2002-09-24
DE69927285D1 (de) 2005-10-20
CA2352755C (en) 2010-09-28
AU1399400A (en) 2000-06-19
US7013333B1 (en) 2006-03-14
WO2000033536A1 (en) 2000-06-08

Similar Documents

Publication Publication Date Title
DE69927285T2 (de) Netzverwaltungssystem
DE69328666T2 (de) Verfahren und Gerät um eine Anzahl Rechner als einen einzigen Host auf dem Netz erscheinen zu lassen
DE60121176T2 (de) Verfahren und System zur anforderungsorientierten Wiedererkennung von verbindungsorientierten Transaktionen
DE69837938T2 (de) Übergreifende bildung von server clustern mittels einer netzwerkflussvermittlung
DE69909839T3 (de) Optimierte Lokalisierung von Netzwerkbetriebsmittel
DE69837691T2 (de) Lastverteilung zwischen Servern in einem TCP/IP-Netz
DE60033615T2 (de) Verfahren und System, um das Verteilen von IP-Datagrammen auf mehrere Server gemäß einer definierten Strategie zu erzwingen
DE69327576T2 (de) Paralleles Rechnersystem
DE69929268T2 (de) Verfahren und System zur Überwachung und Steuerung der Netzzugriffe
DE60308700T2 (de) Dynamische fernkonfiguration eines webservers zur bereitstellung von kapazität auf anfrage
DE60203433T2 (de) Externer Zugriff auf eine gesicherte Vorrichtung in einem privaten Netzwerk
DE69835400T2 (de) Netzbelastungsausgleich für Mehrrechner Anbieter
DE69832406T2 (de) Kombiniertes internet-und datenzugangssystem
DE69026400T2 (de) System und Verfahren zur Verbindung von Anwendungen über verschiedene Netzwerke von Datenverarbeitungssystemen
DE60122782T2 (de) Adressierungsverfahren und system zur verwendung einer anycast-adresse
DE69830491T2 (de) Cut-through -durchschaltung und paketfilterung in einem rechnersystem
DE60221557T2 (de) Methode und gerät zur adressenübersetzung für gesicherte verbindungen
DE60112115T2 (de) Erweiterungen eines signalisierungs-übertragungsprotokolls für lastausgleich undserverpool-unterstützung
DE69919965T2 (de) Methode und Proxy Umleiteinrichtung zum transparenten Verweisen von Anfragen nach Web-Objekten auf Proxycaches
DE68919872T2 (de) Verfahren und Vorrichtung zur Verbindung von SNA-Endgeräten mit einem SNA-Hostrechner über ein paketvermitteltes Nachrichtennetz.
DE68920057T2 (de) Verfahren und Vorrichtung zur Verbindung eines SNA-Hostrechners mit einem entfernten SNA-Hostrechner über ein paketvermitteltes Nachrichtennetz.
DE69935920T2 (de) Lastausgleich in einer netzwerkumgebung
DE10297269B4 (de) Kennzeichnung von Paketen mit einem Nachschlageschlüssel zur leichteren Verwendung eines gemeinsamen Paketweiterleitungs-Cache
DE19882235B4 (de) Verwendung von Web-Technologie für Teilnehmerverwaltungsaktivitäten
DE69708281T2 (de) Internetprotokoll-filter

Legal Events

Date Code Title Description
8364 No opposition during term of opposition