DE60313026T2 - Verfahren und gerät zur verteilung von datenpaketen von einem computer zu einem clustersystem - Google Patents

Verfahren und gerät zur verteilung von datenpaketen von einem computer zu einem clustersystem Download PDF

Info

Publication number
DE60313026T2
DE60313026T2 DE60313026T DE60313026T DE60313026T2 DE 60313026 T2 DE60313026 T2 DE 60313026T2 DE 60313026 T DE60313026 T DE 60313026T DE 60313026 T DE60313026 T DE 60313026T DE 60313026 T2 DE60313026 T2 DE 60313026T2
Authority
DE
Germany
Prior art keywords
node
nodes
data packet
identification
packet
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
DE60313026T
Other languages
English (en)
Other versions
DE60313026D1 (de
Inventor
Hari Sunnyvale KANNAN
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.)
Fujitsu Siemens Computers Inc
Original Assignee
Fujitsu Siemens Computers Inc
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 Fujitsu Siemens Computers Inc filed Critical Fujitsu Siemens Computers Inc
Application granted granted Critical
Publication of DE60313026D1 publication Critical patent/DE60313026D1/de
Publication of DE60313026T2 publication Critical patent/DE60313026T2/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
    • 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/1027Persistence of sessions during load balancing
    • 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/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol
    • 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
    • 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/10015Access to distributed or replicated servers, e.g. using brokers

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)

Description

  • Die Erfindung betrifft ein Verfahren zum Verteilen eines durch einen Computer über eine Verbindungsleitung gesendeten Datenpakets zu einem Clustersystem, das aus mindestens zwei Knoten besteht, wobei mindestens zwei erste Knoten einen Dienst zum Verarbeiten des Datenpakets umfassen.
  • Ein Beispiel für ein solches Datenpaket ist das Benutzer-Datagramm-Protokoll. In dem Benutzer-Datagramm-Protokoll (UDP) gibt es keinen Begriff der Verbindung. Es wird auch als verbindungsloses Protokoll bezeichnet, weil keine Bestätigung erforderlich ist, nachdem UDP-Pakete empfangen werden. Zwei Computer, die miteinander über ein das UDP-Protokoll verwendendes Netzwerk verbunden sind, senden Datenpakete zueinander, ohne auf eine Bestätigung zu warten. Pakete, die ihr Ziel nicht erreichen, gehen verloren. Da das UDP-Paket nur einen kleinen Kopfteil ohne komplexe Fehlerkorrektur enthält, wird es normalerweise in Anwendungen verwendet, bei denen hohe Datenraten erforderlich sind.
  • Insbesondere bei skalierbaren Internetdiensten (SIS) werden häufig Datenverbindungen mit dem UDP-Protokoll benutzt. Wenn ein Computer ein UDP-Paket zu einem Clustersystem sendet, das bestimmte skalierbare Internetdienste, wie etwa WWW, FTP oder ähnliches bereitstellt, muß die Clustersystem-Software sicherstellen, daß kein UDP-Paket in dem Cluster verlorengeht. Dies ist sogar noch wichtiger, weil bestimmte das UDP-Protokoll benutzende Anwendungen Kenntnis über zuvor gesendete Pakete erforderten.
  • Die Schrift EP 1 117 224 A1 zeigt ein Verfahren zum Verteilen eines durch einen Computer gesendeten Datenpakets zu einem geclusterten Computersystem. Das Datenpaket wird zu einem Schnittstellenknoten gesendet und dann zur weiteren Verarbeitung zu einem der Dienstknoten weitergeleitet.
  • Es wird eine Liste, einschließlich Identifikation des Computers, der die Quelle vorheriger Datenpakete ist, und des entsprechenden Verarbeitungsknotens, der für diese Datenpakete zugewiesen wurde, bereitgestellt. Die Schrift US 2001/005024 A1 zeigt einen Router und ein Verfahren zum Routen und Lastausgleich in einem Cluster von Serverknoten. Client-Anforderungen können von jedem Knoten behandelt werden, Clients könnten jedoch eine Affinität für spezifische Serverknoten aufweisen, von denen die Anforderung bevorzugt zu behandeln ist. Die Affinität wird durch eine Tabellenliste in einem TCP-Router definiert.
  • Es kann ein Problem entstehen, wenn zu dem Clustersystem gesendete Pakete von verschiedenen Schnittstellenknoten des Clusters empfangen werden. In solchen Fällen können Fakete verloren gehen, und die Verbindung oder Dienste müssen neu gestartet werden.
  • Die Aufgabe der Erfindung ist die Bereitstellung eines Verfahrens mit der Fähigkeit, den Verlust von zu einem Clustersystem gesendeten UDP-Paketen zu verhindern.
  • Die Aufgabe wird durch den unabhängigen Anspruch gelöst.
  • Die Erfindung liefert ein Verfahren zum Verteilen eines durch einen Computer über eine Verbindungsleitung gesendeten Datenpakets zu einem Clustersystem. Das Clustersystem besteht aus mindestens zwei Knoten, wobei mindestens zwei erste Knoten einen Dienst zum Verarbeiten des Datenpakets umfassen und wobei mindestens zwei zweite Knoten Mittel zum Empfangen des Datenpakets umfassen. Das Datenpaket umfaßt ein UDP-Paket und eine Identifikation des Computers, von dem das Datenpaket gesendet wurde. Die Identifikation kann Teil des Kopfteils des Datenpakets sein. Das Verfahren umfaßt die folgenden Schritte:
    • a) Empfangen des Datenpakets durch einen der mindestens zwei zweiten Knoten;
    • b) Extrahieren der Identifikation in dem Datenpaket;
    • c) Prüfen, ob ein Datenpaket, das dieselbe Identifikation umfaßt, empfangen und zu einem der mindestens zwei ersten Knoten weitergeleitet wurde;
    • d) Weiterleiten des Datenpakets zu einem der mindestens zwei ersten Knoten, wenn die vorherige Prüfung positiv ist;
    • e) Auswählen eines Knotens der mindestens zwei ersten Knoten und Weiterleiten des Datenpakets zu dem ausgewählten Knoten, wenn die vorherige Prüfung negativ ist;
    • f) Erzeugen einer ersten Liste, wobei die erste Liste Einträge umfaßt, wobei die Einträge die Identifikation des Computers, von dem das Datenpaket gesendet wurde, und eine Knotenidentifikation des einen der mindestens zwei ersten Knoten umfassen, zu dem das Datenpaket gesendet wurde, der der Identifikation zugewiesen ist;
    • g) Erzeugen einer zweiten Liste, wobei die zweite Liste Einträge umfaßt, wobei die Einträge die Identifikation der durch jeden der mindestens zwei zweiten Knoten empfangenen Datenpakete umfassen und ferner eine Knotenidentifikation des einen der mindestens zwei ersten Knoten umfassen, der der Identifikation zugewiesen ist.
  • Durch dieses Verfahren wird das durch den mindestens einen zweiten Knoten empfangene Datenpaket immer zu dem Knoten weitergeleitet, der bereits zuvor ein Datenpaket von demselben Computer empfangen hat. Datenpakete, die zu derselben Verbindung gehören, werden somit immer zu dem korrekten Knoten weitergeleitet. Der Ausdruck Verbindung ist definiert als Datenpakete mit einer Identifikation eines spezifischen Computers, von dem das Datenpaket gesendet wurde. Pakete, die durch denselben Computer gesendet werden, werden deshalb als zu derselben Verbindung gehörend betrachtet. Wenn eine Prüfung, ob ein durch einen spezifischen Computer gesendetes Datenpaket bereits zuvor empfangen wurde, negativ ist, wird ein neuer Knoten ausgewählt. Dieser Verfahrensschritt führt zu einer neuen Verbindung. Datenpakete, die wieder durch denselben spezifischen Computer gesendet werden, werden dann automatisch zu dem ausgewählten Knoten weitergeleitet. Aufgrund eines unterschiedlichen Auswahlalgorithmus kann ein Lastausgleich ankommender UDP-Pakete eingerichtet werden.
  • Die Erfindung liefert außerdem eine Vorrichtung zum Verteilen von durch einen Computer gesendeten Datenpaketen zu einem Clustersystem. Die Datenpakete umfassen dabei ein UDP-Paket und auch eine Identifikation des Computers, von dem das Datenpaket gesendet wurde. Das Clustersystem umfaßt mindestens zwei über ein Clusternetzwerk verbundene Knoten. Gemäß der Erfindung umfaßt die Vorrichtung Mittel zum Verarbeiten des Datenpakets in mindestens zwei ersten Knoten der mindestens zwei Knoten und umfaßt außerdem Mittel zum Empfangen von Datenpaketen an mindestens zwei zweiten Knoten der mindestens zwei Knoten. Ferner umfaßt die Vorrichtung gemäß der Erfindung Mittel zum Weiterleiten empfangener Datenpakete zu mindestens zwei ersten Knoten und Mittel zum Auswählen eines Knotens der mindestens zwei ersten Knoten, zu dem die Datenpakete weitergeleitet werden müssen.
  • Bei einer Ausführungsform der Erfindung werden die Mittel zum Weiterleiten und die Mittel zum Verarbeiten der Datenpakete auf verschiedenen Knoten der mindestens zwei Knoten implementiert. Als Alternative werden die Mittel zum Weiterleiten und die Mittel zum Auswählen auf verschiedenen Knoten der mindestens zwei Knoten implementiert. Dies ermöglicht einen besseren Lastausgleich und ergibt höhere Sicherheit gegenüber Hardwareausfällen auf einem Knoten.
  • Bei einer anderen Ausführungsform der Erfindung ist das weiterzuleitende Datenpaket das UDP-Paket in dem Datenpaket, das von den mindestens zwei zweiten Knoten empfangen wird. Bei dieser Ausführungsform der Erfindung wird das UDP-Paket durch einen der mindestens zwei zweiten Knoten aus dem empfangenen Datenpaket extrahiert und dann zu einem der mindestens zwei ersten Knoten weitergeleitet.
  • Bei einer weiteren Ausführungsform der Erfindung umfaßt Schritt c) des erfindungsgemäßen Verfahrens die folgenden Schritte:
    • – Prüfen, ob ein empfangenes Datenpaket eine Identifikation eines Computers enthält, von dem vor einer spezifischen Zeit ein anderes Datenpaket empfangen wurde.
  • Bei dieser Ausführungsform der Erfindung wird ein durch einen der mindestens zwei zweiten Knoten empfangenes Datenpaket als zu einer spezifischen Verbindung gehörend betrachtet, wenn ein anderes von demselben Computer kommendes Datenpaket durch denselben Computer nur eine vordefinierte empfangen wurde. Wenn nur eine vordefinierte Lücke zwischen zwei nachfolgenden Paketen mit derselben Identifikation besteht, die deshalb von demselben Computer kommen, werden anders ausgedrückt die beiden nachfolgenden Pakete als zu derselben Verbindung gehörend betrachtet. Pakete, die zu derselben Verbindung gehören, werden immer dann, wenn es möglich ist, zu demselben Knoten weitergeleitet. Wenn die Lücke größer als der vordefinierte Zeitwert ist, wird das empfangene Datenpaket als zu einer neuen Verbindung gehörend betrachtet und könnte zu einem anderen Knoten weitergeleitet werden.
  • Bei einer weiteren Ausführungsform der Erfindung umfaßt der mindestens eine zweite Knoten eine erste Liste, wobei die erste Liste Einträge umfaßt. Die Einträge umfassen die Identifikation des Computers, von dem das Datenpaket gesendet wurde, sowie eine Knotenidentifikation des Knotens, zu dem das Datenpaket weitergeleitet wird. Die Knotenidentifikation wird der Identifikation des Computers, von dem das Datenpaket gesendet wurde, zugewiesen. Wenn der mindestens eine zweite Knoten ein weiteres Datenpaket empfängt, führt der mindestens eine zweite Knoten die Prüfung durch Suchen nach der Identifikation in der ersten Liste durch. Wenn eine identische Identifikation gefunden wird, wird sie als zu derselben Verbindung gehörend betrachtet, und die ihr zugewiesene Knotenidentifikation wird zum Weiterleiten des Datenpakets benutzt. Wenn die Identifikation nicht in der ersten Liste gefunden wird, wird das empfangene Datenpaket als zu einer neuen Verbindung gehörend betrachtet, es wird ein neuer Knoten ausgewählt und das Datenpaket wird zu dem neuen ausgewählten Knoten weitergeleitet.
  • Bei einer weiteren Ausführungsform der Erfindung wird eine zweite Liste erzeugt, wobei die zweite Liste die Identifikation der Datenpakete, die von jedem des mindestens einen zweiten Knotens empfangen wird, umfaßt und ferner außerdem eine Knotenidentifikation umfaßt, die der Identifikation der Datenpakete zugewiesen wird. Die Ausführungsform ist besonders nützlich, wenn es mehr als nur einen zweiten Knoten gibt, die Datenpakete von Computern empfangen. Die zweite Liste umfaßt die Identifikation der Computer, von denen die Datenpakete gesendet wurden, und auch die Knotenidentifikation, zu der die Pakete weitergeleitet wurden, ungeachtet des empfangenden zweiten Knotens. Dadurch kann man existierende Verbindungen identifizieren, auch wenn Datenpakete, die zu derselben Verbindung gehören, von verschiedenen zweiten Knoten empfangen werden.
  • Bei einer weiteren Ausführungsform der vorliegenden Erfindung werden die Einträge in der ersten oder in der zweiten Liste, die die Identifikation der Computer umfassen, von denen die Pakete gesendet wurden, gelöscht, wenn innerhalb einer spezifischen Zeit kein zusätzliches Datenpaket mit derselben Identifikation empfangen wird. Nach der Löschung wird das Datenpaket als zu einer neuen Verbindung gehörend betrachtet.
  • Bei einer weiteren Ausführungsform umfaßt die Auswahl im Schritt e) des Verfahrens gemäß der Erfindung die folgenden Schritte:
    • – Messen der Systemlast jedes des mindestens einen ersten Knotens und Auswählen des Knotens mit der geringsten Systemlast. Als Alternative umfaßt die Auswahl im Schritt e) den folgenden Schritt:
    • – Auswählen eines Knotens des mindestens einen ersten Knotens mit dem niedrigsten Zählwert von Verbindungen. Ferner umfaßt die Auswahl im Schritt e) als Alternative den folgenden Schritt:
    • – Auswählen eines Knotens des mindestens einen ersten Knotens gemäß einem zyklischen Muster.
  • Die Auswahl der Knoten für neue Verbindungen ist sehr nützlich für Lastausgleich.
  • Andere Merkmale und Vorteile der vorliegenden Erfindung werden aus den abhängigen Ansprüchen ersichtlich sein. Die nachfolgend ausführlich erläuterte vorliegende Erfindung wird beispielhaft dargestellt und nicht auf die hier offengelegten Beispiele und beigefügten Figuren beschränkt. Es zeigen:
  • 1 eine Ausführungsform der Erfindung in einem Clustersystem;
  • 2 die physische Struktur eines die Erfindung implementierenden Clustersystems;
  • 3 eine andere Ausführungsform der Erfindung;
  • 4 ein Beispiel für Listen, die für Gateway- und Datenbankknoten bei einer Ausführungsform der Erfindung verwendet werden;
  • 5 eine Liste, die in Dienstknoten bei einer Ausführungsform der Erfindung verwendet wird;
  • 6 ein Beispiel für das erfindungsgemäße Verfahren;
  • 7 ein zweites Beispiel für das erfindungsgemäße Verfahren;
  • 8 einen nützlichen Zusatz für das erfindungsgemäße Verfahren;
  • 9 einen weiteren nützlichen Zusatz für das erfindungsgemäße Verfahren.
  • 2 zeigt die Struktur eines Clustersystems, in dem die Erfindung implementiert ist. Das Cluster 1 umfaßt vier Knoten 12, 13, 14, 15, die über ein Netzwerk 17 verbunden sind. Jeder Knoten ist ein unabhängiger Computer, der mindestens einen Speicher und eine Prozessoreinheit umfaßt. Auf jedem dieser Knoten läuft ein Betriebssystem sowie Cluster-Software ab. Die Kommunikation zwischen den Knoten ist über spezifische Cluster-Software und das Netzwerk 17 möglich. Das Cluster 1 umfaßt außerdem ein zweites Kommunikationsnetzwerk 16, das mit den Knoten 12, 13, 14 verbunden ist. Das zweite Netzwerk 16 verbindet die Knoten mit einer gemeinsam benutzten Speichereinrichtung, in der Daten gespeichert sind. Die Speichereinrichtung 18 kann zum Beispiel ein RAID-System mit einer Datenbank oder mehreren Festplatten umfassen. Sie kann auch ihre eigene Prozessoreinheit enthalten.
  • Bei dieser Ausführungsform der Erfindung ist das Clustersystem über eine Firewall 20 mit dem Internet 21 verbunden. Die Firewall kann ein Softwaremodul auf einem spezifischen Computer oder einem Router oder einer Hardware-Firewall sein. Sie kann Paketfilterung, IP-Maskerade, Spoofing und ähnliche Techniken umfassen. Die Firewall ist mit dem Clusternetzwerk 17 verbunden. Alle ankommenden Internetverbindungen werden von der Firewall 20 empfangen, gefiltert und dann zu dem Clustereingang 11 gesendet.
  • Über den Kommunikationseingang 11 und die Firewall 20 kann das Cluster 1 mit einem Client 22 kommunizieren, der Teil des Internet 21 ist. Zum Beispiel kann der Client 22 eine Seite des Worldwide Web von dem Cluster 1 anfordern. Die Anforderung wird durch die Firewall 20 empfangen, zu dem Cluster 1 weitergeleitet und dann durch einen der Knoten in dem Cluster verarbeitet.
  • Die physische Struktur des Clusters 1 in 2 kann, wie in der Vorrichtung von 1 zu sehen ist, durch eine logische Struktur eines Clusters 1 ersetzt werden. Das Cluster 1 in 1 umfaßt nun auch verschiedene Dienste. Die Dienste können auf verschiedenen Knoten ausgeführt werden. Es können aber auch zwei oder mehr Dienste durch einen Knoten ausgeführt werden. Außerdem ist es möglich, einen Dienst über verschiedene Knoten zu verteilen. Die Administration und das Arrangement der Dienste auf den verfügbaren Knoten erfolgt durch die Cluster-Software bzw. die skalierbare Internet-Dienstesoftware.
  • Bei diesem Beispiel der Erfindung umfaßt Cluster 1 einen Gateway-Dienst 2. Der Gateway-Dienst 2 wird in einem spezifischen Knoten implementiert, der alle ankommenden Anforderungen von einem externen Client 22 bzw. 221 empfängt. Das Cluster 1 umfaßt außerdem verschiedene Dienstmodule 4, 5 und 6, die für die Verarbeitung verschiedener Anforderungen benutzt werden. Die Dienstmodule 4, 5 und 6 werden auch auf verschiedenen physischen Knoten implementiert. Zum Beispiel handelt es sich bei dem Dienstmodul 4 und 6 um dieselben Dienstmodule, die dieselben Anforderungen verarbeiten. Sie werden jedoch auf verschiedenen Knoten ausgeführt. Das Modul 5 wird auf einem dritten Knoten ausgeführt und verarbeitet andere Anforderungen. Alle Dienstmodule werden in einer Weise implementiert, um ankommende UDP-Anforderungen zu verarbeiten.
  • Ferner umfaßt der Client ein Datenbankmodul 3. Dieses Datenbankmodul 3 dient für administrative Arbeit wie zum Beispiel Lastausgleich, Einteilung von Dienstmodulen auf verschiedenen Knoten und andere administrative Arbeit. Das Datenbankmodul wird aus Sicherheitsgründen auf einem anderen Knoten ausgeführt, um Stabilität der gesamten Vorrichtung zu verbessern. Die Verbindung und die Datenpakete, die zwischen allen Modulen gesendet werden, werden über das Verbindungsnetzwerk zwischen den Knoten in dem Clustersystem eingerichtet.
  • Bei dieser Ausführungsform der Erfindung empfängt das Gateway-Modul 2 ein UDP-Paket RQ1, das zum Beispiel über das Internet 21 von dem Client 22 kommt. Das UDP-Paket RQ1 enthält die Quellenadresse des Clients 22 sowie die Zieladresse, in diesem Fall die Zieladresse von Cluster 1. Die Quellenadresse wird durch eine IP-Adresse des Clients 22 in Verbindung mit einer Portadresse definiert. Heide Merkmale ähneln zusammen einer eindeutigen Identifikation, die von der Vorrichtung zum Identifizieren der Verbindung verwendet wird. Die Zieladresse wird durch die 2P-Adresse von Cluster 1 sowie als eine Cluster-Portadresse gegeben.
  • Das Gateway-Modul 2 prüft nun, ob zuvor ein UDP-Paket mit derselben Quellenadresse empfangen wurde. Anders ausgedrückt schaut es nach derselben IP-Adresse und Portnummer, die in einem vorherigen Paket empfangen wurden. Wenn dies der Fall ist, wird angenommen, daß das UDP-Paket zu derselben Verbindung gehört. Es wird zu einem Dienstmodul auf einem Knoten weitergeleitet, der auch das vorherige Paket empfangen hat.
  • Zum Beispiel wurde das UDP-Paket RQ1 des Clients 22 durch das Gateway-Modul 2 zu dem Dienstmodul 4 auf Knoten 4 weitergeleitet. Ein zweites von dem Client 22 gesendetes UDP-Paket, das von demselben Gateway-Modul empfangen wird, enthält dieselbe IP-Adresse des Clients 22. Wenn es auch dieselbe Portnummer enthält, wird es durch das Gateway-Modul 2 auch zu dem Dienstmodul 4 auf Knoten 4 weitergeleitet.
  • Ein zusätzliches, aber neues UDP-Paket RQ1' wird nun durch den Client 221 gesendet und durch das Gateway-Modul 2 empfangen. Da das Gateway-Modul 2 noch keine UDP-Pakete von diesem Client empfangen hat, betrachtet das Gateway-Modul 2 das empfangene Paket als zu einer neuen Verbindung gehörend. Deshalb wird das Paket RQ1' zu dem Datenbankmodul 3 weitergeleitet.
  • Das Datenbankmodul 3 entscheidet dann, zu welchem Knoten das Paket zur Verarbeitung weitergeleitet werden muß. Die Entscheidung erfolgt durch einen in dem Datenbankmodul 3 implementierten Einteilungsalgorithmus. Der hier verwendete Einteilungsalgorithmus ist relativ einfach. Das Datenbankmodul wählt einfach gemäß einem zyklischen Muster den nächsten Knoten, auf dem der Dienst mit der Fähigkeit zum Verarbeiten des empfangenen UDP-Pakets ausgeführt wird.
  • Es gibt jedoch weitere Möglichkeiten für den Einteilungsalgorithmus. Eine Möglichkeit für das Datenbankmodul besteht darin, nach der IP-Adresse des Clients 221 zu suchen und das Paket zu einem Dienstmodul auf einem Knoten weiterzuleiten, der ein Paket von derselben IP-Adresse wie zuvor empfangen hat. Dies wird als Einteilungsalgorithmus auf Client-Basis bezeichnet. Eine andere Möglichkeit ist, die Systemlast zu betrachten und den Knoten mit der geringsten Systemlast zu wählen. Eine weitere Möglichkeit besteht darin, die bereits existierenden Verbindungen eines Knotens zu zählen und den Knoten mit den wenigsten Verbindungen zu wählen. Eine weitere Möglichkeit wird als Überlauf bezeichnet, wobei ein Ersatzknoten gewählt wird, sobald die Systemlast auf dem ursprünglichen Knoten einen vordefinierten Wert übersteigt. Es ist möglich, das hier offengelegte Einteilungsverfahren zu kombinieren oder andere Einteilungsalgorithmen zu finden. Durch Verwendung eines spezifischen Algorithmus oder Umschalten zwischen verschiedenen Verfahren, wird Lastausgleich implementiert.
  • Wenn der von der Datenbank gewählte Knoten verfügbar ist, wird das UDP-Paket zu diesem Knoten weitergeleitet. Andernfalls wird ein Fallback-Knoten auf Verfügbarkeit geprüft. Ferner sendet das Datenbankmodul 3 die Identifikation des Knotens zu dem Gateway-Modul 2 und weist das Gateway-Modul 2 dadurch an, zusätzliche UDP-Pakete aus derselben Verbindung zu dem gewählten Knoten weiterzuleiten.
  • Bei dieser Ausführungsform der Erfindung wird das UDP-Paket RQ1 von dem Client 22 zu dem Dienstmodul 4 auf Dienstknoten 4 weitergeleitet, während das erste UDP-Paket RQ1' von dem Client 221 durch das Gateway-Modul 2 zuerst zu dem Datenbankmodul 3 und dann zu dem Dienstmodul 6 auf Knoten 6 weitergeleitet wird. Alle weiteren UDP-Pakete von dem Client 221 werden durch das Gateway-Modul 2 automatisch zu dem Dienstmodul 6 auf Knoten 6 weitergeleitet.
  • Die Administration der verschiedenen Verbindungen wird in dem Gateway-Modul 2 sowie in dem Datenbankmodul 3 durch Listen implementiert, die die Zieladresse und die Quellenadresse enthalten. Diese Listen sind in 4 gezeigt.
  • Die linke Liste LG wird für das Gateway-Modul 2 verwendet. Die Liste LG umfaßt fünf Spalten mit drei Zeileneinträgen. Die erste Spalte IPP enthält die Portnummer der Quellenadresse. In der zweiten Spalte IPA wird die IP-Adresse der Quelle, von der die UDP-Pakete gesendet wurden, gespeichert. In den nächsten beiden Spalten DPP, DIP werden die Portnummer sowie die IP-Adresse des Clusters, das die ankommenden UDP-Pakete empfangen hat, gespeichert. Die letzte Spalte 2D enthält die Adresse des Knotens, zu dem das UDP-Paket weitergeleitet wird.
  • In dem Beispiel umfaßt die Liste LG des Gateway-Moduls 2 sowie die Liste LD des Datenbankmoduls 3 drei Einträge. Zwei Einträge weisen die Portnummer 80 auf. Einer dieser Einträge besitzt die IP-Adresse CL des Clients 22, während der andere Eintrag die IP-Adresse CL1 des Clients 221 enthält. Ein Eintrag sagt aus, daß ein UDP-Paket mit Portnummer 82 und IP-Adresse CL1 des Clients 221 durch das Gateway-Modul 2 empfangen und zu dem Dienstknoten N5 weitergeleitet wurde.
  • 5 zeigt die Listeneinträge des Dienstmoduls 4, 5 und 6. Die Listen LN4, LN5, LN6 umfassen auch die Quellenportnummer IPP, die Quellen-IP-Adresse IPA sowie die Ziel-Portnummer DPP und die Ziel-IP-Adresse DIP. Ferner umfassen sie einen Zeitstempel TS. Der Zeitstempel ist ein Zeitwert, an dem das letzte UDP- Paket durch den Knoten empfangen wurde. In dem Beispiel besitzt die Liste LN4 von Knoten N4 den ältesten Zeitstempel, gefolgt durch Liste LN6 von Knoten N6 und dann durch Knoten N5. Der Zeitstempel wird aktualisiert, wenn ein weiteres Paket durch das Dienstmodul empfangen wird. Ferner umfaßt jede Liste eine virtuelle IP-Adresse zur internen Kommunikation sowie eine Liste von Gateways LGA, von denen die Pakete gekommen sein könnten.
  • Alle Listen werden regelmäßig aktualisiert. Wenn als neue Verbindungen betrachtete Pakete empfangen werden, fügen die Datenbank und die Gateway-Module neue Einträge mit entsprechenden Identifikationen hinzu. Unter Betrachtung des Zeitstempels entscheidet das Dienstmodul, wann eine Verbindung geschlossen werden muß oder als inaktiv betrachtet werden kann. Sie führen dies durch Vergleichen des Zeitstempels mit der tatsächlichen Zeit durch. Wenn das Ergebnis größer als ein vordefinierter Wert ist, löschen sie die entsprechenden Einträge und senden Nachrichten zu der Datenbank und/oder dem Gateway-Modul. Diese Module löschen dann auch die entsprechenden Einträge.
  • 3 zeigt eine weitere Ausführungsform der Erfindung. Bei dieser Ausführungsform umfaßt Cluster 1 zwei Gateway-Module 2 und 2A, die auf zwei verschiedenen Knoten implementiert sind. Gateway 2 empfängt ein neues UDP-Paket aus dem Internet 21 und dem Client 22. Da kein vorheriges UDP-Paket durch den Client 22 empfangen wurde, sendet das Gateway 2 in diesem Beispiel nur die IP-Adresse sowie die Portnummer von Client 22, die in dem empfangenen UDP-Paket enthalten sind, zu dem Datenbankmodul 3. Das Datenbankmodul 3 wählt ein neues Dienstmodul (in diesem Fall das Modul 4) und sendet die Knotenidentifikation, in der das Dienstmodul 4 ausgeführt wird, zu dem Gateway-Modul 2 zurück. Das Gateway-Modul 2 leitet das UDP-Paket zur Datenverarbeitung zu dem Dienstmodul 4 weiter.
  • In einer späteren Phase wird ein zusätzliches UDP-Paket durch den Client 22 zu Cluster 1 gesendet. Es wird nun jedoch wegen eines Ausfalls von Gateway 2 von Gateway 2A empfangen. Da noch kein UDP-Paket aus dem Client 22 durch Gateway 2A empfangen wurde, betrachtet Gateway 2A das UDP-Paket als neue Verbindung. Es leitet die Adresse zu dem Datenbankmodul 3 weiter. Das Datenbankmodul 3 enthält jedoch bereits einen Eintrag von Client 22 und der entsprechenden Portnummer. Es wählt deshalb kein Dienstmodul, sondern antwortet dem Gateway 2A mit der Knotenidentifikation des Knotens, auf dem das Dienstmodul 4 abläuft. Gateway 2A leitet das UDP-Paket dann zu dem Dienstmodul 4 bzw. zu diesem Knoten weiter. In einem Clustersystem ermöglicht dies das Einrichten verschiedener Gateways ohne das Problem, daß UDP-Pakete, die von demselben Client kommen, zu verschiedenen Knoten weitergeleitet werden.
  • 6 zeigt eine Ausführungsform des erfindungsgemäßen Verfahrens. Im Schritt 1 empfängt das Gateway-Modul ein UDP-Paket und extrahiert die Quellen-2P-Adresse sowie die Quellenportnummer. Im Schritt 2 prüft es, ob eine durch ein zuvor empfangenes Paket gegebene Verbindung besteht. Dazu sucht es nach einem Eintrag in seiner Liste. Wenn bereits ein Paket von derselben Quelle empfangen wurde, wird das UDP-Paket zur Verarbeitung durch PS_SV_Udp_Frame direkt zu dem Dienstmodul auf einem Knoten weitergeleitet.
  • Wenn dies nicht der Fall ist, sendet das Gateway-Modul im Schritt 3 das UDP-Paket zu dem Datenbankmodul oder Datenbankknoten. Die Verbindungsprüfung im Schritt 2 erfolgt durch das Gateway-Modul, oder der Gateway-Knoten versagt, wenn das empfangene Paket zu einer neuen Verbindung gehört oder das Paket auf einem neuen Gateway ankam. Eine andere Möglichkeit für ein Versagen liegt vor, wenn das Gateway von der Benutzerseite geändert wurde oder das ursprüngliche Gateway einen Ausfall aufwies und ein neues Gateway ausgewählt wurde. Ferner könnte es auch möglich sein, daß das Gateway-Modul bereits ein vorheriges Paket zur Einteilung zu dem Datenbankmodul weitergeleitet hat, aber noch keine Antwort von dem Datenbankmodul erhalten hat.
  • Im Schritt 4 prüft die Datenbank, ob ein Eintrag für eine Verbindung besteht. Wenn das Ergebnis positiv ist, aktualisiert sie das Gateway-Modul durch Senden einer Nachricht DB_PS_Udp_Placement, die die Identifikation des Knotens enthält, zu der zusätzliche UDP-Pakete von derselben Verbindung weitergeleitet werden müssen, und leitet das UDP-Paket dann zu dem ausgewählten Dienstknoten weiter. Dies geschieht im Schritt 5.
  • Wenn das Datenbankmodul keinen Eintrag für eine Verbindung findet, wählt es im Schritt 6 gemäß dem Einteilungsalgorithmus einen neuen Dienstknoten für die Verbindung aus. Die Identifikation des Knotens des gewählten Knotens wird dann zu dem Gateway-Modul weitergeleitet, um die notwendigen Verbindungseinträge vorzunehmen. Für sukzessive Rahmen dieser Verbindung wird eine neue Prüfung positiv sein. Zusätzlich leitet das Datenbankmodul im Schritt 7 das UDP-Paket zu dem Dienstknoten weiter, indem DB_SV_UdpFrame das erste Paket einer neuen Verbindung anzeigt.
  • In 8 ist eine Erweiterung des erfindungsgemäßen Verfahrens zur Behandlung alter Verbindungen gezeigt. Das Dienstmodul in einem Dienstknoten, der UDP-Pakete verarbeitet, benötigt eine Möglichkeit zu entscheiden, ob eine Verbindung veraltet oder noch aktiv ist. Für diesen. Zweck wird der Zeitstempel TS in den Dienstknotenlisten in 5 verwendet. Nachdem eine vordefinierte Verbindungszeit abläuft und keine zusätzlichen zu der Verbindung gehörenden UDP-Pakete empfangen werden, räumt das Dienstmodul die Liste auf, indem es im Schritt 1 als inaktiv betrachtete Einträge löscht. Zusätzlich leitet der Dienstknoten eine Liste von Verbindungen, die für die vordefinierte Zeit inaktiv waren, zum Aufräumen durch das Datenbankmodul weiter, wie im Schritt 2 von 8 zu sehen ist. Dies geschieht durch Senden der Nachricht SV_DB_Udp_Con_Remove_List zusammen mit der Liste. Die Datenbankliste wird aktualisiert und die Liste unter Verwendung von DB_SV_Udp_Con_Remove List durch das Datenbankmodul im Schritt 3 zu dem Gateway-Modul weitergeleitet. Das Gateway-Modul löscht die entsprechenden Einträge. Ankommende UDP-Pakete, die dieselbe IP-Adresse und Portnummer umfassen, werden nun als neue Verbindungen betrachtet.
  • Weiterhin zeigt 9 eine Implementierung, die das Versagen eines Dienstes auf einem Dienstknoten behandelt. Wenn ein Dienstmodul auf einem Dienstknoten versagt, zum Beispiel wenn der Dienstknoten abstürzt, wird eine Nachricht von dem Dienstknoten zu dem Datenbankmodul gesendet, um alle Einträge in dem Datenbankmodul, die diesem Dienst entsprechen, aufzuräumen. Dies geschieht im Schritt 2 durch Senden von SV_DB_Udp_Unbind. Nach dem Empfang einer solchen Nachricht entfernt das Datenbankmodul die Knotenidentifikation aus der Liste möglicher Knoten mit der Fähigkeit zur Verarbeitung der UDP-Pakete. Nach dem Aufräumen aller Einträge in den Datenbankmodullisten leitet das Datenbankmodul alle notwendigen Informationen im Schritt 3 unter Verwendung von DB_PS_Udp_Unbind zu dem Gateway-Modul weiter. Das Gateway-Modul löscht dann alle Verbindungseinträge mit diesem Knoteneintrag.
  • In 7 ist ein Beispiel für ein solches Verfahren zu sehen. Im Schritt 1 wird ein neues UDP-Paket durch das Gateway-Modul empfangen und als eine neue Verbindung betrachtet, da das Gateway-Modul keine mit der Identifikation in dem UDP-Paket assoziierte Einträge aufweist. Deshalb leitet es das UDP-Paket im Schritt 2 zu dem Datenbankmodul weiter, wobei das Datenbankmodul einen Knoten gemäß dem Einteilungsalgorithmus zur Verarbeitung des UDP-Pakets auswählt. Das UDP-Paket wird durch das Datenbankmodul zu dem gewählten Knoten weitergeleitet, und das Datenbankmodul aktualisiert außerdem das Gateway-Modul durch Senden der Identifikation des Knotens.
  • Weitere UDP-Pakete von derselben Quelle, die durch das Gateway-Modul empfangen werden, werden im Schritt 4 automatisch zu dem Dienstknoten weitergeleitet. Im Schritt 5 versagt der Gateway-Knoten. Im Schritt 6 wird durch die zugrundeliegende Cluster-Software automatisch ein neues Gateway ausgewählt. Das neue ausgewählte Gateway empfängt nun das UDP-Paket von derselben Verbindung wie im Schritt 4. Das neue ausgewählte Gateway besitzt jedoch keinen Eintrag für diese Verbindung. Daher leitet es das UDP-Paket im Schritt 8 zu dem Datenbankmodul weiter. Das Datenbankmodul prüft auch seine Verbindungen und findet einen Eintrag mit demselben IP-Eintrag und derselben Portnummer. Es gibt dann einfach die entsprechende Identifikation des Dienstknotens im Schritt 9 an das neu ausgewählte Gateway-Modul zurück und leitet im Schritt 10 das UDP-Paket zu diesem Knoten weiter.
  • Der Dienstknoten empfängt nun für einige Zeit keine UDP-Pakete von dieser spezifischen IP-Adresse und Portnummer und betrachtet die Verbindung deshalb im Schritt 11 aufgrund des Überschreitens einer Zeitgrenze als inaktiv. Er löscht den entsprechenden Eintrag und leitet den zu löschenden Eintrag im Schritt 12 zu dem Datenbankmodul weiter. Das Datenbankmodul räumt alle dieser Verbindung entsprechende Einträge auf und leitet dieselbe Liste im Schritt 13 zu dem Gateway-Modul weiter. Nach dem Aufräumen aller existierenden Verbindungen kann der Dienstknoten nun von dem Cluster abbinden, indem er das Datenbankmodul anweist, diesen Knoten für die zukünftige Einteilung nicht zu benutzen.
  • Aufgrund der redundanten Informationen in dem Datenbankmodul ist es möglich, ankommende Verbindungen zur Verarbeitung zu demselben Dienstknoten zu routen, auch wenn ein Gateway-Knoten versagt. Es ist nützlich, eine Backup-Datenbank zu implementieren. Die Backup-Datenbank sammelt auch die Verbindungsinformationen von allen Dienstknoten, wodurch im Fall eines Versagens des Datenbankmoduls ein sanftes Failover möglich wird. Wenn ein Dienstknoten versagt, würden auch alle existierenden Verbindungen zu dem versagenden Knoten versagen. Zukünftige Pakete für diesen spezifischen Knoten würden so geroutet, als wären sie neue Verbindungen. Das Datenbankmodul räumt seine Tabelle für die Verbindungseinträge, die dem Dienstknoten entsprechen, auf, wenn der Dienstknoten versagt. Der Zeitgrenzenwert, nach dem ankommende UDP-Pakete als zu einer neuen Verbindung gehörend angenommen werden, kann auf Dienstbasis sowie auf knoten- oder clusterweiten Basis spezifiziert werden. Dieses Verfahren und diese Vorrichtung, die in einer Cluster-Software oder in einem skalierbaren Internetdienst implementiert werden können, ermöglichen ein Verteilen und Neurouten von UDP-Paketen mit hoher Verfügbarkeit.
  • 1
    Clustersystem
    2
    Gateway-Modul
    3
    Datenbankmodul
    4, 5, 6
    Dienstmodul
    12, 13, 14, 15
    Knoten
    16, 17
    Netzwerke
    11
    Verbindung
    20
    Firewall
    21
    Internet
    22, 221
    Clients
    RQ1, RQ2, RQ1'
    UDP-Pakete
    IDP, IDA
    Quellenadresse
    DPP, DIP
    Zieladresse
    ID
    Identifikation des Knotens
    LG
    Gateway-Liste
    LD
    Datenbankliste
    LN4, LN5, LN6
    Knotenliste
    TS
    Zeitstempel
    VIP
    Virtuelle IP-Adresse
    LGA
    Gateway-Listen

Claims (7)

  1. Verfahren zum Verteilen eines durch einen Computer (22) über eine Verbindungsleitung gesendeten Datenpakets zu einem Clustersystem, das mindestens zwei Knoten (2, 3, 4, 5, 6) umfasst, wobei mindestens zwei erste Knoten (4, 5, 6) einen Dienst zur Verarbeitung des Datenpakets umfassen, dadurch gekennzeichnet, daß mindestens zwei zweite Knoten (2, 2A) Mittel zum Empfangen des Datenpakets umfassen, wobei das Datenpaket ein UDP-Paket und eine Identifikation des Computers (22), von dem das Datenpaket gesendet wurde, umfaßt, wobei das Verfahren die folgenden Schritte umfaßt: a) Empfangen des Datenpakets durch einen der mindestens zwei zweiten Knoten (2, 2A); b) Abrufen der Identifikation in dem Datenpaket; c) Prüfen, ob ein Datenpaket, das dieselbe Identifikation umfaßt, empfangen und zu einem der mindestens zwei ersten Knoten (4, 5, 6) weitergeleitet wurde; d) Weiterleiten des Datenpakets zu dem einen der mindestens zwei ersten Knoten (4, 5, 6), wenn die vorherige Prüfung positiv ist; e) Auswählen eines Knotens der mindestens zwei ersten Knoten (4, 5, 6) und Weiterleiten des Datenpakets zu dem ausgewählten Knoten, wenn die vorherige Prüfung negativ ist, f) Erzeugen einer ersten Liste (LG), wobei die erste Liste Einträge (IPA, ID) umfaßt, wobei die Einträge die Identifikation des Computers, von dem das Datenpaket gesendet wurde, und eine Knotenidentifikation des einen der mindestens zwei ersten Knoten (4, 5, 6) umfassen, zu dem das Datenpaket gesendet wurde, der der Identifikation zugewiesen ist; g) Erzeugen einer zweiten Liste (LD), wobei die zweite Liste Einträge umfaßt, wobei die Einträge die Identifikation der von jedem der mindestens zwei zweiten Knoten (2, 2A) empfangenen Datenpakete umfassen und ferner eine Knotenidentifikation des einen der mindestens zwei ersten Knoten umfassen, der der Identifikation zugewiesen ist.
  2. Verfahren nach Anspruch 1, wobei das weiterzuleitende Datenpaket das UDP-Paket in dem Datenpaket ist, das durch einen der mindestens zwei zweiten Knoten (2, 2A) empfangen wird.
  3. Verfahren nach einem der Ansprüche 1 bis 2, wobei Schritt c) den folgenden Schritt umfaßt: – Prüfen, ob ein Datenpaket, das dieselbe Identifikation umfaßt, vor einem definierten Zeitrahmen zuvor empfangen und zu dem einen der mindestens zwei ersten Knoten (4, 5, 6) weitergeleitet wurde.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei die erste Liste im Schritt d) zum Identifizieren des Knotens verwendet wird, zu dem das Datenpaket weiterzuleiten ist.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei Einträge, die die Identifikation umfassen, aus der ersten und/oder der zweiten Liste gelöscht werden, wenn innerhalb eines spezifischen Zeitrahmens kein Datenpaket mit der Identifikation empfangen wird.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei die Auswahl im Schritt e) die folgenden Schritte umfaßt – Messen der Systemlast jedes der mindestens zwei ersten Knoten (4, 5, 6) und Auswählen des Knotens mit der geringsten Systemlast; oder – Auswählen eines Knotens der mindestens zwei ersten Knoten (4, 5, 6) mit der niedrigsten Anzahl von Verbindungen.
  7. Verfahren nach einem der Ansprüche 1 bis 6, wobei die Identifikation des Computers die IP-Adresse des Computers und eine Portadresse umfaßt.
DE60313026T 2002-11-27 2003-11-25 Verfahren und gerät zur verteilung von datenpaketen von einem computer zu einem clustersystem Expired - Lifetime DE60313026T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US42970002P 2002-11-27 2002-11-27
US429700P 2002-11-27
PCT/EP2003/013255 WO2004049669A2 (en) 2002-11-27 2003-11-25 Method and appliance for distributing data packets sent by a computer to a cluster system

Publications (2)

Publication Number Publication Date
DE60313026D1 DE60313026D1 (de) 2007-05-16
DE60313026T2 true DE60313026T2 (de) 2007-07-12

Family

ID=32393576

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60313026T Expired - Lifetime DE60313026T2 (de) 2002-11-27 2003-11-25 Verfahren und gerät zur verteilung von datenpaketen von einem computer zu einem clustersystem

Country Status (6)

Country Link
US (1) US20060013227A1 (de)
EP (1) EP1566034B1 (de)
CN (1) CN1754365A (de)
AU (1) AU2003292116A1 (de)
DE (1) DE60313026T2 (de)
WO (1) WO2004049669A2 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4196732B2 (ja) * 2003-05-26 2008-12-17 日本電気株式会社 データ転送装置及びプログラム
US20070156907A1 (en) * 2005-12-30 2007-07-05 Galin Galchev Session handling based on shared session information
WO2009018768A1 (fr) * 2007-08-07 2009-02-12 Huawei Technologies Co., Ltd. Procédé et appareil de réacheminement de paquet de données, appareil de génération de paquet de données et système de communication
US8763106B2 (en) 2011-09-08 2014-06-24 Mcafee, Inc. Application state sharing in a firewall cluster
US8887263B2 (en) * 2011-09-08 2014-11-11 Mcafee, Inc. Authentication sharing in a firewall cluster
CN102510403B (zh) * 2011-11-15 2015-08-26 江苏大为科技股份有限公司 用于车辆数据接收和实时分析的集群分布式***及方法
US9094364B2 (en) * 2011-12-23 2015-07-28 A10 Networks, Inc. Methods to manage services over a service gateway
US20190021065A1 (en) * 2016-03-01 2019-01-17 Telefonaktiebolaget Lm Ericsson (Publ) Reducing Time Required for Location Lookup When Downlink Packets Arrive By Assisting Preloading of a Location of a Wireless Device Into the IP Advertisement Point (IAP)
CN109218234A (zh) * 2018-08-07 2019-01-15 广州市艾涛普电子有限公司 一种音频信号传输方法及***

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5705998A (en) * 1994-08-24 1998-01-06 Siemens Aktiengesellschaft Method for routing telecommunication calls in a network
US6424992B2 (en) * 1996-12-23 2002-07-23 International Business Machines Corporation Affinity-based router and routing method
US6735205B1 (en) * 2000-01-10 2004-05-11 Sun Microsystems, Inc. Method and apparatus for fast packet forwarding in cluster networking
US7543066B2 (en) * 2001-04-30 2009-06-02 International Business Machines Corporation Method and apparatus for maintaining session affinity across multiple server groups
US7490162B1 (en) * 2002-05-15 2009-02-10 F5 Networks, Inc. Method and system for forwarding messages received at a traffic manager

Also Published As

Publication number Publication date
WO2004049669A2 (en) 2004-06-10
EP1566034A2 (de) 2005-08-24
AU2003292116A1 (en) 2004-06-18
US20060013227A1 (en) 2006-01-19
EP1566034B1 (de) 2007-04-04
CN1754365A (zh) 2006-03-29
WO2004049669A3 (en) 2004-08-12
DE60313026D1 (de) 2007-05-16

Similar Documents

Publication Publication Date Title
DE69837691T2 (de) Lastverteilung zwischen Servern in einem TCP/IP-Netz
DE69909839T2 (de) Optimierte Lokalisierung von Netzwerkbetriebsmittel
EP1439663B1 (de) Verfahren für eine Klassifizierung von Netzwerk-Komponenten eines paket-orientierten Netzwerks
DE60221556T2 (de) Verfahren und system zur zustandslosen lastverteilung für ein server-cluster in einem auf ip basierenden telekommunikationsnetz
DE60126647T2 (de) System und Verfahren um die Steuerung von Echtzeit-Transport-Protokollflüsse über mehrere Netzwerke zu unterstützen
DE69802259T2 (de) Verfahren und vorrichtung zur einrichtung eines anzapfpunktes in einem schaltnetzwerk
DE69927285T2 (de) Netzverwaltungssystem
DE60123656T2 (de) System um die steuerung von echtzeit-transport-protokollflüsse über mehrere netzwerke zu unterstützen unter verwendung einer gruppe von sitzungsroutern
DE69733498T2 (de) Verteiltes rechnersystem und verfahren zur aufteilung von benutzeranfragen auf duplizierte netzwerkserver
DE60112115T2 (de) Erweiterungen eines signalisierungs-übertragungsprotokolls für lastausgleich undserverpool-unterstützung
DE69219141T2 (de) Übertragungsemulator für lokales netz
DE60318878T2 (de) Verfahren und systeme zum austausch von erreichbarkeitsinformationen und zum umschalten zwischen redundanten schnittstellen in einem netzwerkcluster
DE69830491T2 (de) Cut-through -durchschaltung und paketfilterung in einem rechnersystem
DE69935920T2 (de) Lastausgleich in einer netzwerkumgebung
DE10022431B4 (de) Integriertes IP-Netzwerk
DE69708281T2 (de) Internetprotokoll-filter
DE69700201T2 (de) Verteiltes-Protokoll Server
DE69827201T2 (de) Verfahren und system zur server-netzwerkvermittlung-mehrverbindung
DE69531337T2 (de) Weglenkung von Transaktionsnachrichten in einem digitalen Kommunikationsnetz
DE60316745T2 (de) Erleichterung der beschleunigten Verarbeitung von Nachrichten des Internet Group Management Protokolls
DE202016009029U1 (de) Regelbasierte Netzwerkbedrohungsdetektion
DE102006037499A1 (de) Verfahren und System zum Entdecken und Bereitstellen von Beinahe-Echtzeit-Aktualisierungen von VPN-Topologien
DE112015006397B4 (de) DNS Optimierung für Multi-Source Download bei Hybridzugriff
DE60130844T2 (de) Autonomes OSPF-System mit einem in zwei Teilbereiche getrennten Hauptnetz
DE602005005727T2 (de) Verfahren und Vorrichtung zur Verbindung von Knoten mit heterogenen Kommunikationsprotokollen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition