DE69835400T2 - Netzbelastungsausgleich für Mehrrechner Anbieter - Google Patents
Netzbelastungsausgleich für Mehrrechner Anbieter Download PDFInfo
- Publication number
- DE69835400T2 DE69835400T2 DE69835400T DE69835400T DE69835400T2 DE 69835400 T2 DE69835400 T2 DE 69835400T2 DE 69835400 T DE69835400 T DE 69835400T DE 69835400 T DE69835400 T DE 69835400T DE 69835400 T2 DE69835400 T2 DE 69835400T2
- Authority
- DE
- Germany
- Prior art keywords
- server
- traffic
- message
- server computers
- network connections
- 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 - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
- H04L43/062—Generation of reports related to network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
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)
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
Description
- Diese Erfindung betrifft Mehrrechner-Server und einen Belastungsausgleich bzw. eine Lastverteilung für solche Mehrrechner-Server.
- Die Zunahme von Netzdiensten, wie beispielsweise Internet- oder Intranetdiensten, stellt signifikante Anforderungen an die Verfügbarkeit und die Leistungsfähigkeit von Internet- und Intranetseiten und die Server auf diesen Seiten. Die Zunahme der Nachfrage steht mit der zunehmenden Anzahl von Benutzern, der zunehmenden Komplexität der Anwendungen, einschließlich der zunehmenden Verwendung von Audio und Video, und den zunehmenden kommerziellen Anforderungen nach immer besseren Diensten in Verbindung.
- Das enorme Wachstum des Internet hat somit das Erfordernis nach Mehrrechnerserver-Architekturen verstärkt, um die mit der Leistungsfähigkeit oder der Zuverlässigkeit von stark frequentierten Internetseiten verknüpften Probleme anzugehen. Solche Mehrrechner-Internet- und -Intranetseiten stellen eine viel größere Verarbeitungsleistung bereit als ein einzelner Computer, selbst wenn es sich um einen sehr großen Computer handelt.
-
1 der begleitenden Zeichnungen ist eine schematische Darstellung einer Client-Station14 , die über das Internet oder ein Intranet Zugriff auf eine Server-Station10 anfordert.2 veranschaulicht in größerem Detail eine mögliche Ausgestaltung bzw. Konfiguration eines Mehrrechner-Servers10 . Der Mehrrechner-Server10 beinhaltet eine Mehrzahl von (im vorliegenden Fall vier) einzelnen Servercomputern16.1 –16.4 . Jeder dieser Computer beinhaltet jeweils einen Netzwerkagenten18.1 –18.4 . Die einzelnen Servercomputer16.1 –16.4 sind über Servernetzwerkverbindungen20.1 –20.4 mit einem Schalter22 verbunden, der wiederum über eine Verbindung25 mit dem Internet oder Intranet12 aus1 verbunden ist. Des weiteren ist in1 ein Domainnamensystem-(Domain Name System, DNS-)Server24 gezeigt, dessen Funktion später beschrieben wird. - Die Servercomputer
16.1 –16.4 arbeiten als identische Kopien der jeweils anderen und sind in der Lage, alle möglichen von dem Internet oder Intranet12 empfangenen Anforderungen zu bearbeiten. Der Schalter22 verbindet die einzelnen Servercomputer16.1 –16.4 mit dem Internet oder Intranet12 . In idealer Weise sollten die Aufgaben gleichmäßig auf die einzelnen Servercomputer16.1 –16.4 verteilt sein, um die Gesamtbelastung der Serverseite10 auszugleichen und so eine optimale Leistung zu erzielen. Um dies zu erreichen, ist es erforderlich, die einzelnen von dem Internet oder Intranet12 empfangenen Anforderungen an die einzelnen Servercomputer16.1 –16.4 weiterzuleiten. - Diese Art der Lösung geht von der Annahme aus, daß jede Anforderung zu der gleichen Belastung führt, und kann somit mit der tatsächlich durch jede Anforderung erzeugten Belastung nicht umgehen. Wenn die einzelnen Computer
16.1 –16.4 deutlich bzw. erkennbar verschiedene externe Adressen hätten, würde dies typischerweise die Aufmerksamkeit der Benutzer erfordern, um die Verteilung der Aufgaben vorzunehmen. Eine aus Benutzersicht eher praktikable Lösung besteht darin, ein System bereitzustellen, bei dem die Verteilung von Aufgaben auf die vier Servercomputer16.1 –16.4 in transparenter Weise erfolgt, so daß der Benutzer nur den Server10 adressieren muß und dann die Aufgabe der Verteilung vom Server10 bearbeitet wird. - Somit erfordert eine Mehrserver-/Mehrrechner-Server-Architektur, wie sie in
2 gezeigt ist, einen Mechanismus zum Ausliefern von Anforderungen an einzelne Servercomputer, während vorzugsweise ein eindeutiger Dienstname beibehalten wird. - Um die Verteilung von Aufgaben zwischen mehreren Servercomputern
16.1 –16.4 zu erzielen, wurden im Stand der Technik verschiedene Ansätze vorgeschlagen. Diese Ansätze verwenden typischerweise einen Domainnamensystem-(Domain Name System, DNS-)Aufbau mit einer Aufgabenverteilung auf herkömmlicher "Umlauf"- oder "Belastungsausgleichs"- bzw. "Lastverteilungs"-Basis. Diese verschiedenen Ansätze werden nachfolgend beschrieben. Es sei angemerkt, daß die traditionelle Lastverteilung eine modifizierte Form eines Umlauf-Ansatzes ist, bei dem die Prozessorbelastung der einzelnen Servercomputer berücksichtigt wird. Dieser konventionelle Ansatz der Lastverteilung wird hier als "Prozessorlastverteilung" bezeichnet. - Bei einem Domainnamensystem wird ein DNS-Server
24 bereitgestellt, der auf Domainnamen-Nachschlageanforderungen reagiert, indem er einen geeigneten Servernamen oder eine numerische Internet-Protokoll-(IP-)Adresse (z.B. www.sun.com bzw. 192.10.20.30) liefert. - Der Umlauf-Ansatz ist ein Ansatz, bei dem der Server, der eine Client-Anforderung zur Bearbeitung empfangen soll, in zyklisch-sequentieller Weise oder umlaufend bestimmt wird. Dies wird in gut bekannter Weise erzielt, indem die Zuordnung zwischen dem Dienstnamen (z.B. www.sun.com) und der IP-Adresse (z.B. zehn Hosts mit IP-Adressen im Bereich zwischen 192.10.20.30 und 192.10.20.40) in dieser zyklischen und sequentiellen Weise geändert wird. Wie in
2 , auf die nun Bezug genommen wird, gezeigt ist, kann beispielsweise jedem der Servercomputer16.1 –16.4 eine andere IP-Adresse (z.B. IP1–IP4) gegeben bzw. zugewiesen werden, wobei jedesmal dann, wenn das DNS-Nachschlagen durchgeführt wird, die im Umlauf nächste der IP-Adressen zurückgegeben wird. Auf diese Weise wird auf jeden der vier Computer ein Viertel der Internetanforderungen verteilt. Dieser Ansatz funktioniert im Prinzip, ist in der Praxis jedoch nicht besonders effizient, da verschiedene Anforderungen zu deutlich unterschiedlichen Verarbeitungsanforderungen und Verkehrsaufkommen führen können. - Der Ansatz der konventionellen Prozessorlastverteilung versucht, die Belastung zwischen Servern auf einer Seite zu verteilen, indem die Belastung der einzelnen Servercomputer repräsentierende Parameter berücksichtigt werden. Dies wird typischerweise erzielt, indem ein Agent
18.1 –18.4 auf jedem Servercomputer16.1 –16.4 verwendet wird, um die Belastung auf diesem Computer zu überwachen, wie beispielsweise durch Messen der tatsächlichen CPU-Belastung oder der Anzahl an aktiven Datenübertragungsprotokoll-(Transmission Control Protocol, TCP-)Verbindungen oder der Anzahl an aktiven Prozessen auf dem betreffenden Servercomputer. Der DNS-Server24 kann dann so aufgebaut sein, daß er die einzelnen Agenten18.1 –18.4 überwacht, um die Belastung der Servercomputer zu bestimmen, und diese bei der Verteilung von Aufgaben berücksichtigt. Der DNS-Server24 verwendet typischerweise dennoch einen Umlauf-Ansatz, jedoch prüft er vor der Zuweisung einer neuen Aufgabe an einen einzelnen Servercomputer16.1 –16.4 die derzeitige Belastung dieses Computers, wie sie durch den jeweiligen Agenten18.1 –18.4 aufgezeichnet wurde, und kann den betreffenden Servercomputer überspringen, wenn seine derzeitige Belastung übermäßig hoch ist. - Obgleich dieser konventionelle Ansatz der Prozessorlastverteilung in der Tat eine Verbesserung gegenüber einem einfachen Umlauf-Ansatz bereitstellt, wurde dennoch herausgefunden, daß ein solcher konventioneller Ansatz der Prozessorlastverteilung beim Optimieren der Verteilung der Belastung im gesamten Mehrrechner-Server (oft auch als "Server-Farm" oder "Server-Cluster" bezeichnet) deutlich weniger effektiv ist, als man es im Vorfeld erwartet hätte. Der Erfinder hat herausgefunden, daß Entwicklungen beim Gebrauch von Computern, die eine Übertragung von größeren Mengen von Daten erfordern, dazu führen, daß die Überwachung der Belastung der einzelnen Servercomputer kein gutes Maß für die Belastung des Mehrrechner-Servers insgesamt mehr ist. Mit der zunehmenden Menge von Daten, die in Reaktion auf Benutzeranforderungen zurückgegeben werden müssen, und allgemein der Menge von zu übertragenden Daten sind die Mehrrechner-Serversysteme tendenziell eher durch die Servernetzwerkverbindung als durch den Prozessor beschränkt. Im Ergebnis wird die Prozessorverwendung oder die CPU-Belastung zu einem immer weniger zuverlässigen Maß zur Bestimmung der Belastung des Mehrrechner-Serversystems. Auch das Messen der Anzahl an aktiven TCP-Ports wird, da nun immer häufiger Benutzerdatenprotokoll-(User Datagram Protocol, UDP-)Nachrichten verwendet werden (beispielsweise für Videodateien), zu einem immer weniger zuverlässigen Maß für die Belastung eines Mehrrechner-Serversystems.
- Ein Artikel mit dem Titel "SWEB: towards a scalable World Wide Web server on microcomputers" von Andersen, D. et al. in Proceedings or the International Parallel processing Symposium, 15. April 1996, Seiten 850–856, XP002088154, beschreibt einen skalierbaren WWW-Server. Die Skalierbarkeit von Servern wird erzielt, indem die Laufzeit-CPU-, die Platten-I/O- und die Netzwerkbelastungen für Einheiten von Systemressourcen aktiv überwacht werden und indem HTTP-Anforderungen von Benutzern für eine effiziente Verarbeitung dynamisch einem geeigneten Knoten zugeteilt werden.
- Die EP-A-0 715 257 beschreibt ein Werkzeug bzw. Tool zur Unterstützung der Lastverteilung bei verteilten Anwendungen. Das Werkzeug soll die Belastung auf jede der Maschinen in einem verteilten Datenverarbeitungssystem verteilen. Das Werkzeug beinhaltet eine Mehrzahl von Datenverarbeitungsmodulen, die auf den Maschinen in dem verteilten Datenverarbeitungssystem laufen. Eines der Datenverarbeitungsmodule wird als Master bezeichnet, bei den anderen handelt es sich um Agenten. Der Master und die Agenten beinhalten jeweils Mittel zum Berechnen der Belastung der Maschinen, auf denen sie laufen. Auf die Anforderung einer verteilten Anwendung hin zeigt ein lokaler Agent, der der Anwendung am nächsten ist, an, welche Maschine die geringste Belastung aufweist.
- Dementsprechend besteht ein Bedarf nach einer verbesserten Steuerung der Nachrichten- und Aufgabenverteilung für Mehrrechner-Server, um eine effizientere Verwendung der verfügbaren Ressourcen zu ermöglichen.
- Ein Ziel der vorliegenden Erfindung besteht darin, die leistungsbezogenen Nachteile früherer Ansätze zur Steuerung von Mehrrechner-Servern, wie sie oben beschrieben wurden, zu vermindern.
- Bestimmte und bevorzugte Aspekte der Erfindung werden in den begleitenden unabhängigen und abhängigen Ansprüchen ausgeführt. Merkmale der abhängigen Ansprüche können mit denjenigen der unabhängigen Ansprüche kombiniert werden, wie es angemessen erscheint, und auch in Kombinationen, die andere sind als diejenigen, die in den Ansprüchen explizit ausgeführt werden.
- Gemäß einem Aspekt der Erfindung wird ein Nachrichtenabfertigungssystem für einen Mehrrechner-Server bereitgestellt, welcher eine Mehrzahl von Servercomputern mit jeweiligen Servernetzwerkverbindungen beinhaltet. Das Nachrichtenabfertigungssystem kann mit einem externen Telekommunikationsnetz verbunden bzw. verknüpft werden. Das Nachrichtenabfertigungssystem beinhaltet einen ersten Nachrichtenabfertiger, der so ausgestaltet ist, daß er externe Client-Anforderungen für den Mehrrechner-Server von dem externen Telekommunikationsnetz empfängt und die Client-Anforderungen über die Servernetzwerkverbindungen an ausgewählte Servercomputer ausliefert. Der erste Nachrichtenabfertiger ist so ausgestaltet, daß er in Reaktion auf Parameter, die eine Netzwerkbelastung auf den Servernetzwerkverbindungen repräsentieren, einen Server bestimmt, an den eine externe Client-Anforderung ausgeliefert werden soll. Die Parameter beinhalten Parameter, die ein von den Servercomputern auf den Servernetzwerkverbindungen ausgehendes Verkehrsvolumen bzw. -aufkommen repräsentieren.
- Eine Ausführungsform der Erfindung ermöglicht es somit, daß die Lastverteilung auf der Belastung der Netzwerkverbindung auf dem Mehrrechner-Server basiert statt auf oder womöglich zusätzlich zu Messungen der Prozessorbelastung. Dementsprechend stellt eine Ausführungsform im Gegensatz zu der Prozessorlastverteilung des Standes der Technik eine Lastverteilung in Servernetzwerken zur Verfügung. Die Erfinder haben festgestellt, daß die Belastung der Servernetzwerkverbindung zuverlässige Daten zur Steuerung der Nachrichtenverteilung und folglich der Aufgabenverteilung auf einzelne Servercomputern eines Mehrrechner-Servers liefert, um die Verwendung der Ressourcen zu maximieren oder zumindest wesentlich zu verbessern.
- Vorzugsweise ist ein Nachrichtenverkehrsüberwacher so ausgestaltet, daß er Parameter, die den Nachrichtenverkehr zu und/oder von einzelnen Servercomputern über die jeweiligen Servernetzwerkverbindungen repräsentieren, überwacht, wobei der erste Nachrichtenabfertiger so ausgestaltet ist, daß er die Parameter von dem Nachrichtenverkehrsüberwacher empfängt. Der Nachrichtenverkehrsüberwacher kann Teil des Nachrichtenabfertigungssystems oder davon getrennt sein.
- In einer Ausführungsform der Erfindung kann jede Belastung, sogar die indirekt induzierte Belastung (z.B. Multimedia-UDP-Datenströme, die nicht dasselbe Protokoll verwenden wie die ursprüngliche Anforderung) des Netzwerks gemessen werden. Vorzugsweise stellt der Nachrichtenverkehrsüberwacher zum Messen der Netzwerkbelastung eine aufsummierte Zählung der Paketlänge und/oder eine durchschnittliche Anzahl von Paketen pro Sekunde und/oder eine aufsummierte Zählung geöffneter Verbindungen für jedes System bereit. Es sei angemerkt, daß die Anzahl aktiver TCP-Ports keine Funktion oder kein Parameter des Verkehrsflusses oder -aufkommens ist, da die ser (dieses) vom UDP-Verkehr völlig unabhängig ist und tatsächlich nicht einmal den TCP-Verkehrsfluß anzeigt.
- Die Zählungen der Netzwerkbelastung können aus der während des Betriebs bzw. "on the fly" vorgenommenen Überprüfung des durch den ersten Nachrichtenabfertiger fließenden Verkehrs (oder des an einem externen Überwacher vorbeifließenden Verkehrs, wie es angemessen ist) erhalten werden. Der erste Nachrichtenabfertiger verwendet dann diese Zählungen während des Betriebs, um die in den Paketen enthaltene Adresse gegen die Adresse des am wenigsten belasteten Systems oder eines weniger belasteten Systems auszutauschen. Der erste Nachrichtenabfertiger führt bzw. hält eine temporäre Tabelle des Datenflusses mit der geänderten Adresse, um sicherzustellen, daß nachfolgende Anforderungen, die den gleichen Ursprung haben, in konsistenter Weise bearbeitet werden. Die Zählungen können auf einer Paketzählung, einer Bytezählung oder einem anderen Volumen- oder Belastungsparameter basieren, je nachdem, wie es angemessen ist.
- Vorzugsweise reagiert der Nachrichtenverkehrsüberwacher auf Quelladreßinformationen in Nachrichten, die von den Servercomputern über die Verbindungen empfangen wurden, um das Volumen des Verkehrs von den Servercomputern auf den jeweiligen Servernetzwerkverbindungen zu überwachen, und/oder er reagiert auf Zielinformationen für Nachrichten, die von dem ersten Nachrichtenabfertiger über die Verbindungen an die Servercomputer ausgeliefert werden, um das Volumen des Verkehrs zu den Servercomputern auf den jeweiligen Servernetzwerkverbindungen zu überwachen.
- Der erste Nachrichtenabfertiger kann direkt mit den Servernetzwerkverbindungen verknüpft bzw. verbunden sein. Alternativ kann ein Schalter mit den Servernetzwerkverbindungen verbunden sein, wobei der erste Nachrichtenabfertiger direkt oder indirekt mit dem Schalter verbunden ist. In diesem Fall kann der Nachrichtenverkehrsüberwacher optional Teil des Schalters sein, beispielsweise um fallengelassene Nachrichtenpakete als ein Maß für die Belastung der Netzwerkverbindung zu überwachen. Der Nachrichtenverkehrsüberwacher kann jedoch auch als Teil des ersten Nachrichtenabfertigers oder in einer separaten Einheit zur Überwachung des Nachrichtenverkehrs bereitgestellt werden.
- Vorzugsweise ist der erste Nachrichtenabfertiger so ausgestaltet, daß er eine Zieladresse einer empfangenen externen Client-Anforderung für den Mehrrechner-Server von dem externen Telekommunikationsnetz so modifiziert, daß ein ausgewählter Computerserver adressiert wird. Das Nachrichtenabfertigungssystem kann so ausgestaltet sein, daß es von dem externen Telekommunikationsnetz durch Nachrichten, die eine Adresse des Mehrrechner-Servers enthalten, adressiert werden kann.
- Für eine bevorzugte Ausführungsform der Erfindung ist das Telekommunikationsnetz das Internet, der Mehrrechner-Server ist ein Internetserver, und die Nachrichten sind Internetnachrichten.
- Gemäß einem weiteren Aspekt der Erfindung wird Computersoftware bereitgestellt, die auf einem Computer betrieben werden kann, um das oben beschriebene Nachrichtenabfertigungssystem zu implementieren.
- Die Computersoftware kann auf einem Datenträger bereitgestellt werden.
- Gemäß einer Ausführungsform der Erfindung wird zumindest ein weiterer Nachrichtenabfertiger bereitgestellt, welcher so ausgestaltet ist, daß er externe Client-Anforderungen für den Mehrrechner-Server von dem externen Telekommunikationsnetz empfängt und die Client-Anforderungen über den Schalter und die Servernetzwerkverbindungen an ausgewählte Servercomputer ausliefert. In dieser Ausführungsform ist jeder Nachrichtenabfertiger so ausgestaltet, daß er in Reaktion auf Parameter, die die Netzwerkbelastung auf den Servernetzwerkverbindungen repräsentieren, einen Server bestimmt, an den eine externe Client-Anforderung ausgeliefert werden soll.
- Vorzugsweise reagiert jeder Nachrichtenabfertiger auf einen gemeinsamen Satz von Parametern, die das Volumen des Nachrichtenverkehrs auf den Servernetzwerkverbindungen repräsentieren, um die Zuweisung von Nachrichten zu koordinieren. Alternativ dazu kann jedoch jeder Nachrichtenabfertiger auch so aufgebaut sein, daß er auf einen jeweiligen Satz von Parametern reagiert, die das Volumen des Nachrichtenverkehrs auf den Servernetzwerkverbindungen repräsentieren, wobei jeder Abfertiger auf die anderen Abfertiger reagiert, um die Auslieferung von Nachrichten zu koordinieren.
- Gemäß einem weiteren Aspekt der Erfindung wird ein Verfahren zum Ausliefern empfangener externer Client-Anforderungen an Servercomputer eines Mehrrechner-Servers bereitgestellt, welcher eine Mehrzahl von Servercomputern beinhaltet, die über jeweilige Servernetzwerkverbindungen verbunden bzw. verknüpft sind. Das Verfahren beinhaltet das Empfangen externer Client-Anforderungen für den Mehrrechner-Server von einem externen Telekommunikationsnetz. Das Verfahren beinhaltet auch das Bestimmen eines Servers, an den eine externe Client-Anforderung ausgeliefert werden soll, in Reaktion auf Parameter, die die Netzwerkbelastung auf den Servernetzwerkverbindungen repräsentieren. Die Parameter beinhalten Parameter, die ein von den Servercomputern auf den Servernetzwerkverbindungen ausgehendes Verkehrsvolumen bzw. -aufkommen repräsentieren. Das Verfahren beinhaltet weiterhin das Ausliefern einer empfangenen Client-Anforderung an den bestimmten Servercomputer über die jeweilige Servernetzwerkverbindung.
- Gemäß einem weiteren Aspekt der Erfindung wird Computersoftware bereitgestellt, die auf einem Computer ausgeführt werden kann, um das oben beschriebene Verfahren zu implementieren.
- Die Computersoftware kann auf einem Datenträger bereitgestellt werden.
- Nachfolgend werden beispielhafte Ausführungsformen der vorliegenden Erfindung lediglich beispielhaft unter Bezugnahme auf die begleitenden Zeichnungen beschrieben, in denen gleiche Bezugszeichen sich auf gleiche Elemente beziehen und wobei:
-
1 eine schematische Darstellung einer Client-Station und einer Server-Station, die über das Internet oder ein Intranet verbunden sind, ist, -
2 eine schematische Darstellung eines Mehrrechner-Servers des Standes der Technik ist, -
3 eine schematische Übersicht über einen Mehrrechner-Server ist, in dem eine Ausführungsform der Erfindung implementiert werden kann, -
4 eine schematische Darstellung eines Beispiels einer Ausführungsform der vorliegenden Erfindung ist, -
5 eine schematische Darstellung einer Tabelle der Verkehrsbelastung ist, -
6 eine schematische Darstellung eines typischen Internetadreßformats ist, -
7 ein Flußdiagramm ist, welches die Funktionsweise der Ausführungsform von4 veranschaulicht, -
8 ein schematisches Diagramm ist, welches eine weitere Ausführungsform der Erfindung veranschaulicht, -
9 ein schematisches Diagramm ist, welches eine weitere Ausführungsform der vorliegenden Erfindung veranschaulicht, -
10 ein schematisches Diagramm ist, welches noch eine weitere Ausführungsform der vorliegenden Erfindung veranschaulicht, und -
11 ein schematisches Diagramm ist, welches eine Variante der Ausführungsform von10 veranschaulicht. -
3 ist eine schematische Übersicht über einen Mehrrechner-Server33 zur Veranschaulichung einer ersten Ausführungsform der Erfindung. Es sei angemerkt, daß der Mehrrechner-Server33 aus3 im allgemeinen eine ähnliche Struktur hat wie der Aufbau des Standes der Technik aus2 . Insbesondere sind, wie es in3 gezeigt ist, vier Servercomputer16.1 –16.4 über jeweilige Servernetzwerkverbindungen20.1 –20.4 mit einem Schalter22 verbunden. Jeder der Servercomputer16.1 –16.4 kann ein herkömmlicher Computer, wie beispielsweise eine Workstation oder ein Klein- oder Großrechner mit entsprechender Leistungsfähigkeit, sein. Im Gegensatz zum Stand der Technik ist die vorliegende Erfindung jedoch auf Basis von Prinzipien, die andere sind als diejenigen, die im Stand der Technik verwendet werden, mit einem Nachrichtenabfertiger30 ausgestattet. Der Abfertiger30 kann auf herkömmlicher Rechnerhardware, beispielsweise einer Workstation oder einem Klein- oder Großrechner mit entsprechender Leistungsfähigkeit, implementiert sein. Der Abfertiger30 ist über eine Verbindung26 mit dem externen Netz (Internet oder Intranet) verbunden. Der Abfertiger30 ist so konfiguriert, daß er durch eine Adresse für den Mehrrechner-Server adressiert werden kann und die Auslieferung von Nachrichten an die einzelnen Servercomputer16.1 –16.4 auf Basis der Verkehrsbelastung des Netzwerks auf den Servernetzwerkerbindungen20.1 –20.4 steuert. - Die Verwendung eines Nachrichtenabfertigungssystems gemäß der vorliegenden Erfindung, welches eine Auslieferung von Nachrichten bereitstellt, die auf der Verkehrsbelastung basiert oder diese berücksichtigt, stellt gegenüber früheren Ansätzen der Lastverteilung signifikante Verbesserungen der Leistungsfähigkeit bereit, wobei insbesondere auch die Tendenz der zunehmenden Verwendung von bandbreitenintensiven Medienanwendungen berücksichtigt wird. Typischerweise sind die von externen Clients empfangenen Anforderungen relativ klein, wohingegen die Antworten, die von den einzelnen Servercomputern
16.1 –16.4 erzeugt werden müssen, relativ große Dateien (beispielsweise Videosequenzen, Audioinformationen oder einfach große Datendateien) beinhalten. Es ist sehr schwierig, auf Grundlage der eingehenden Anforderung abzuschätzen, welche Größe die ausgehende Antwort haben wird. In vielen Fällen wird der die Gesamtleistungsfähigkeit des Mehrrechner-Servers beschränkende Faktor nicht von der Verarbeitungsleistung, der Anzahl an TCP-Verbindungen oder der Anzahl aktiver Prozesse vorgegeben, sondern ist vielmehr eine Funktion des Volumens des von den einzelnen Servercomputern16.1 –16.4 über die jeweiligen Servernetzwerkverbindungen20.1 –20.4 ausgehenden Verkehrs. Außerdem sei angemerkt, daß die Verkehrsbelastung auf den Netzwerkverbindungen20.1 –20.4 nicht direkt mit der Anzahl an TCP-Verbindungen in Beziehung steht, da ein zunehmender Anteil des Datenverkehrs in Form von UDP-Übertragungen übermittelt wird. Typischerweise werden Videoinformationen unter Verwendung von UDP und nicht unter Verwendung von TCP-Übertragungen versendet. -
4 ist ein schematisches Blockdiagramm des Abfertigers30 von3 .4 veranschaulicht die externe Internet- oder Intranetverbindung26 , die an einer Schnittstelle38 empfangen wird. Für eingehende Nachrichten packt die Schnittstelle38 das empfangene Internetnachrichtenprotokoll aus und kann unter der Steuerung einer Abfertigungssteuerung36 eine Modifikation der Nachrichten vornehmen. Die Abfertigungssteuerung36 steuert Adreßmodifikationen in der Schnittstelle38 über eine Steuerungsverbindung48 . Die Abfertigungssteuerung36 reagiert in der in30 gezeigten Ausführungsform über eine Verbindung46 auf einen Nachrichtenverkehrsüberwacher34 . Eine Schnittstelle40 verbindet den Abfertiger32 mit dem Schalter22 . Der Verkehrsüberwacher34 ist in der in4 gezeigten Ausführungsform so angeschlossen, daß er den Nachrichtenverkehr, der sowohl an der Schnittstelle38 als auch an der Schnittstelle40 empfangen wird, überwacht. Der Überwacher34 pflegt eine Tabelle50 , wie es in5 gezeigt ist. Diese beinhaltet eine Anzeige des Verkehrsvolumens bzw. -aufkommens für Verkehr von den Servercomputern16.1 –16.4 über die jeweiligen Verbindungen20.1 –20.4 (im vorliegenden Fall beispielsweise durch Pflegen einer Verkehrszählung TC1–TC4 für die jeweiligen Verbindungen20.1 –20.4 ). Die Zahlen20.1 ,20.1 ,20.3 und20.4 bei52 repräsentieren die Verbindungen20.1 ,20.2 ,20.3 bzw.20.4 . Die Verkehrszähler FC1–FC4 sind in der Tabelle50 bei54 gezeigt. Der Überwacher34 pflegt auch eine Tabelle, die den Verkehr zu den Servercomputern16.1 –16.4 auf den jeweiligen Verbindungen20.1 –20.4 (TC1–TC3) zeigt, wie es in5 bei56 und58 gezeigt ist. - Die Zählungen FC1–FC4 können beispielsweise die Form der Anzahl von Nachrichtenpaketen haben, die über die jeweiligen Verbindungen
20.1 –20.4 empfangen werden. Desgleichen können die Verkehrszählungen TC1–TC4 in der Form einer Zählung der über die jeweiligen Verbindungen20.1 –20.4 an die einzelnen Servercomputer16.1 –16.4 übertragenen Nachrichtenpakete vorliegen. Um die Tabelle50 zu pflegen, reagiert der Verkehrsüberwacher auf Adreßdaten in den an den Schnittstellen38 und40 empfangenen Paketen und zählt einfach die Anzahl an Paketen, die an diesen Schnittstellen empfangen werden. -
6 veranschaulicht schematisch Aspekte eines Nachrichtenpakets, wie es von der Verbindung26 oder der Verbindung32 empfangen werden könnte. Es sei angemerkt, daß6 lediglich Aspekte des Paketformats veranschaulicht, die für das Verständnis der vorliegenden Erfindung relevant sind. Wie es in6 gezeigt ist, beinhaltet ein Paket60 eine Kopfzeile62 , die eine Ziel adresse64 und eine Quelladresse66 sowie einen Datenanteil68 enthält. Die Ziel- und die Quelladresse können eine Kombination aus einem Teil einer Internetprotokoll-(Internetwork Protocol, IP-)Adresse und einem Teil einer Netzwerkadresse sein. Der Teil der IP-Adresse bezieht sich auf die externe Internetadresse für den Servercomputer insgesamt (beispielsweise 192.10.20.30), und die Netzwerkadresse ist eine physikalische Adresse für die jeweiligen einzelnen Servercomputer16.1 –16.4 (beispielsweise 161–164). Die IP-Adresse enthält die Gesamtadresse des Mehrrechner-Servers33 . Die Quelladresse zeigt die Quelladresse des Clients an, die beispielsweise gültige Teile einer IP-Adresse und einer Netzwerkadresse beinhaltet. Für eine von den einzelnen Computern16.1 –16.4 ausgehende Nachricht enthält die Zieladresse die Adresse des Client-Computers, an den die Antwort geschickt werden soll. Die Quelladresse enthält die IP-Adresse für den Mehrrechner-Server33 sowie die geeignete Servernetzwerkadresse für den Servercomputer16.1 –16.4 , der die Antwort erzeugt hat. Aus der Netzwerkadresse dieses Teils kann daher die Servernetzwerkverbindung20.1 –20.4 identifiziert werden, über welche die Antwortnachricht übertragen wurde. - Die Schnittstelle
38 liefert eine eingehende Nachricht von der Verbindung26 unter der Steuerung der Abfertigungssteuerung36 aus, indem sie die Adresse so modifiziert, daß diese die Adresse desjenigen Servercomputers16.1 –16.4 anzeigt, der die Aufgaben, die durch die empfangene Client-Anforderung angefordert wurden, ausführen soll. Dementsprechend ist die Zieladresse einer Nachricht, die zur Weiterleitung an die einzelnen Servercomputer16.1 –16.4 über die interne Verbindung42 an die Schnittstelle40 übertragen wurde, in der Kopfzeilenadresse enthalten, ehe diese Nachricht die Schnittstelle38 verläßt. - Dementsprechend ist ein Verkehrsüberwacher
34 so aufgebaut, daß er auf Zieladressen für Nachrichten zugreift, die von der Schnittstelle38 zu der Schnittstelle40 übertragen werden sollen, um sie über den Schalter22 und die Netzwerkverbindungen20.1 -20.4 an die einzelnen Servercomputer16.1 –16.4 weiterzuleiten. Er verwendet diese Informationen auch, um den geeigneten Eintrag 161–164 (bei56 ) zu identifizieren, für den die Paketzählung TC1–TC4 inkrementiert bzw. heraufgesetzt werden soll, um ein neues Nachrichtenpaket, welches über die betreffende Netzwerkverbindung20.1 –20.4 versendet werden soll, zu berücksichtigen. In ähnlicher Weise ist der Verkehrsüberwacher34 so angeordnet, daß er die Quelladresse von Nachrichten, die von den einzelnen Computern16.1 –16.4 empfangen werden, überwacht, um den geeigneten Eintrag 161–164 (bei52 ) in der Tabelle50 zu identifizieren, für den die jeweilige Paketzählung FC1–FC4 heraufgesetzt werden soll, um ein ausgehendes Paket zu berücksichtigen. - Die Überwachung der Anzahl von Paketen liefert ein sehr einfaches Verfahren zum Überwachen des Verkehrsflusses über die einzelnen Verbindungen
20.1 –20.4 , unter der Annahme, daß der Verkehr statistisch mit der Anzahl an Paketen verknüpft ist. Das Pflegen eines Verkehrsflußanzeigers auf Basis der Paketgröße ist nicht nur auf Fälle beschränkt, bei denen die Pakete eine feste Größe haben, sondern kann auch verwendet werden, solange es eine statistische Beziehung zwischen der Anzahl an Paketen und dem Gesamtverkehr auf den einzelnen Verbindungen20.1 –20.4 gibt. - Wenn die statistische Verbindung zwischen der Anzahl von zu übertragenden Paketen und dem Gesamtnachrichtenverkehr nicht stark ist oder wenn ein akkurateres Maß für den Verkehr benötigt wird, kann anstelle einer Paketzählung eine Bytezählung durchgeführt werden. Dies kann beispielsweise erreicht werden, wenn die Paketkopfzeile Größeninformationen (beispielsweise eine Bytezählung) für jedes Paket beinhaltet. In diesem Fall kann der Verkehrsüberwacher
34 im Gegensatz zur Paketzahlinformation zusätzlich die Bytegrößeninformationen61 aus der Paketkopfzeile herausziehen bzw. extrahieren und die Informationen in der Tabelle50 auf dieser Basis modifizieren. - Die in der Tabelle
50 gespeicherten Informationen können in Form einer Bytezählung über einen bestimmten Zeitraum vorliegen, wobei die Zählung von Zeit zu Zeit zurückgesetzt wird, sie könnten in der Form einer Prozentanzeige vorliegen, die den Prozentsatz der maximalen Verwendung anzeigt, oder sie können in der Form relativer Informationen auf Basis der relativen Verwendung der jeweiligen Verbindungen oder in Form irgendwelcher anderer geeigneter Daten vorliegen. Beispielsweise könnten die gespeicherten Daten eine Gesamtzählung der Paketlänge und/oder eine durchschnittliche Anzahl von Paketen pro Sekunde sowie eine Gesamtzählung geöffneter Verbindungen für jedes System beinhalten. In jedem Fall ist es für Fachleute auf dem Gebiet offensichtlich, daß ein geeigneter Algorithmus verwendet werden kann, der auf die von den Schnittstellen38 und40 identifizierten Verkehrsinformationen reagiert, um Daten zur Speicherung in der Tabelle50 zu erzeugen. - Obwohl in
5 eine Tabelle gezeigt ist, die Verkehrsvolumendaten für sowohl eingehende als auch ausgehende Nachrichten beinhaltet, sind die von dem externen Netzwerk über die Verbindung26 eingehenden Anforderungen in den meisten Fällen bedeutend kleiner als die von den einzelnen Servercomputern16.1 –16.4 ausgehenden Antworten. In diesem Fall könnte, da der Verkehrsfluß zu den Servercomputern16.1 –16.4 über die jeweiligen Verbindungen20.1 –20.4 deutlich geringer ist als der Verkehrsfluß in der entgegengesetzten Richtung, eine Ausführungsform der Erfindung beispielsweise die Tabelle52 /54 nur für die von den Servercomputern16.1 –16.4 über die Verbindungen20.1 –20.4 ausgehenden Antwortpakete pflegen. - Die Abfertigungssteuerung
36 reagiert auf die in der Tabelle50 aus5 gespeicherten Informationen und verwendet einen Algorithmus auf Basis der relativen Verkehrsbelastung, wie sie durch die Inhalte der Tabelle repräsentiert wird, um die Zuweisung einzelner eingehender Client-Anforderungen von der Verbindung26 zu den einzelnen Servercomputern16.1 –16.4 zu bestimmen. Die Zuweisung wird durch eine Veränderung der Adresse, so daß sie der Adresse eines der Servercomputer16.1 –16.4 entspricht, und anschließendes Weiterleiten der Nachricht von der Schnittstelle38 zu der Schnittstelle40 für die Übertragung an den Schalter22 beeinflußt. Der Schalter22 funktioniert wie eine herkömmliche Telekommunikationsschaltung und verwendet die darin enthaltenen Adreßinformationen, um das betreffende Paket für die Übertragung über die geeignete Verbindung einem Übertragungspuffer zuzuführen. - Die Schnittstelle
38 kann eine Tabelle von Verbindungen (TC)39 pflegen, um das vorgegebene Routing bzw. die Weiterleitung für eine Client-Anforderung an einen bestimmten Servercompu ter16.1 –16.4 zu identifizieren, so daß diese(s) verwendet werden kann, um den zugewiesenen Servercomputer für zukünftige Anforderungen von demselben Client gemäß dem Belastungsalgorithmus zu bestimmen, falls dies gewünscht ist. -
7 ist eine Zusammenfassung der Betriebsweise des Nachrichtenabfertigers30 aus4 . - Der Abfertiger wartet, bis er entweder in Schritt S1 an der Schnittstelle
38 eine eingehende Nachricht (z.B. eine Client-Anforderungsnachricht) von dem externen Netzwerk für die Servercomputer oder in Schritt S2 an der Schnittstelle40 eine von einem der Servercomputer ausgehende Nachricht (z.B. eine Antwortnachricht) erkennt. - Wenn in Schritt S1 eine eingehende Nachricht gefunden bzw. entdeckt wird, greift die Abfertigungssteuerung
36 in Schritt S3 auf den Verkehrsüberwacher34 zu, um die derzeitige Belastung der Servernetzwerkverbindungen für die verschiedenen Servernetzwerkverbindungen mit den einzelnen Servercomputern zu bestimmen. - In Schritt S4 werden die in Schritt S3 bestimmten Daten verwendet, um einen Servercomputer zu bestimmen, der die Nachricht empfangen soll. Die Bestimmung kann unter Verwendung irgendeines geeigneten Algorithmus, der das Verkehrsvolumen oder die Verkehrsflußdaten verwendet, vorgenommen werden. Dieser Algorithmus könnte auf einem Rundlauf- bzw. Umlauf-Algorithmus basieren, wobei in umlaufender Reihenfolge der betreffende Servercomputer ausgelassen wird, wenn die korrespondierende Verbindung stark belastet ist. Alternativ könnte er auch nur auf der relativen derzeitigen Belastung (oder auf der relativen Belastung über einen vorbestimmten Zeitraum) auf den jeweiligen Servernetzwerkverbindungen basieren. Optional könnte der Algorithmus zusätzlich weitere Charakteristika, wie beispielsweise die Belastung der Servercomputer und/oder die in der Verbindungstabelle
39 gespeicherten Daten, berücksichtigen. - In Schritt S5 wird die Nachricht von dem Nachrichtenabfertiger ausgeliefert. Dies wird bewerkstelligt, indem die Zieladresse der Nachricht so modifiziert wird, daß der Servercomputer, der die mit der Nachricht verknüpften Aufgaben bearbeiten soll, adressiert wird.
- In Schritt S6 wird die modifizierte Zieladresse der Nachricht verwendet, um die Verkehrsüberwachungsdaten zu aktualisieren, wobei, falls dies angemessen erscheint, auch die Größe der Nachricht verwendet wird, um die Verkehrsvolumendaten zu aktualisieren.
- Wenn in Schritt S2 eine ausgehende Nachricht entdeckt wird, wird in Schritt S7 die Quelladresse in der Nachricht identifiziert.
- In Schritt S8 wird die Quelladresse der Nachricht verwendet, um die Verkehrsüberwachungsdaten zu aktualisieren, wobei, falls dies angemessen erscheint, auch die Größe der Nachricht verwendet wird, um die Verkehrsvolumendaten zu aktualisieren.
-
8 ist eine schematische Darstellung einer alternativen Ausführungsform, bei der ein Verkehrsüberwacher72 getrennt von dem Abfertiger30 vorgesehen ist. In diesem Fall überwacht der Verkehrsüberwacher72 den gesamten Nachrichtenverkehr über die Verbindung32 und verwendet die Quell- und Zielinformationen zusammen mit einer Anzahl von Paketen und/oder der Paketgrößeninformationen (61 –6 ) oder andere Parameter, um eine oder mehrere Tabellen für den Verkehrsfluß zu und/oder von den Servercomputern16.1 –16.4 über die jeweiligen Verbindungen20.1 –20.4 zu pflegen. In diesem Fall reagiert die Abfertigungssteuerung36 entsprechend einem geeigneten Algorithmus auf die in dem Verkehrsüberwacher72 gespeicherte Tabelle, um die Auslieferung der eingehenden Client-Anforderung an die einzelnen Servercomputer16.1 –16.4 über die jeweiligen Verbindungen20.1 –20.4 zu bestimmen. -
9 ist eine schematische Darstellung einer weiteren Ausführungsform der Erfindung, bei der die Verkehrsüberwachung in dem Schalter22 stattfindet. In dieser Ausführungsform wird ein Abfertigungs- bzw. Auslieferungspufferüberwacher82 bereitgestellt, um die einzelnen Auslieferungspuffer für die Verbindungen20.1 –20.4 zu überwachen, um fallengelassene Pakete (d.h. diejenigen Pakete, die nicht erfolgreich über die jeweiligen Verbindungen20.1 –20.4 an die einzelnen Servercomputer16.1 –16.4 übertragen wurden) zu identifizieren. Diese Ausführungsform geht von der Annahme aus, daß es eine statistische Beziehung zwischen der Anzahl an fallengelassenen Paketen und der Belegung (dem Verkehr) auf der betreffenden Verbindung gibt. Entsprechend überwacht der Auslieferungspufferüberwacher82 die Fehlerrate der Auslieferungspuffer84 durch die logischen Verbindungen86 und liefert über eine Verbindung88 Informationen an die Abfertigungssteuerung36 , die die Übertragungsfehlerrate für jede der Verbindungen20.1 –20.4 anzeigen. In dem Beispiel von9 reagiert die Abfertigungssteuerung36 dann auf die jeweiligen von dem Auslieferungspufferüberwacher82 angezeigten Fehlerraten, um die Zuweisung von Anforderungen, die von der externen Verbindung26 an der Schnittstelle38 empfangen werden, zu bestimmen. -
10 ist eine weitere Ausführungsform der Erfindung, bei der zwei Abfertiger parallel vorgesehen sind. Ein Aufbau, wie er in10 gezeigt ist, kann für Netzwerkserver mit hoher Kapazität erforderlich sein, bei denen dem Internet oder Intranet eine Anzahl externer Verbindungen bereitgestellt wird. Jeder der Abfertiger30.1 und30.2 kann mit jeweiligen Internetadressen versehen sein, und sie sind über die Verbindungen32.1 und32.2 , den Schalter22 und die Verbindungen20.1 –20.4 mit den einzelnen Servercomputern16.1 –16.4 verbunden. In diesem Beispiel wird ein Verkehrsüberwacher92 bereitgestellt, der den gesamten Verkehr über die Verbindungen32.1 und32.2 auf Basis der Ziel-/Quelladressen, wenn sie die Servercomputer16.1 –16.4 betreffen, überwacht. Auf diese Weise pflegt der gemeinsame Überwacher92 eine Anzeige des Verkehrs über die jeweiligen einzelnen Verbindungen20.1 –20.4 . Die Abfertigungssteuerungen36.1 und36.2 reagieren auf die Verkehrsinformationen, die von dem Verkehrsüberwacher92 über die jeweiligen Verbindungen96.1 und96.2 gepflegt werden. Entsprechend können die Abfertigungssteuerungen36.1 und36.2 die Zuweisung eingehender Anforderungen über die Verbindungen26.1 bzw.26.2 auf Basis des Verkehrs auf den einzelnen Servernetzwerkverbindungen20.1 –20.4 in koordinierter Weise bereitstellen. -
11 ist eine Variante der Ausführungsform von10 , bei der in jedem der Abfertiger30.1 bzw.30.2 ein separater Verkehrsüberwacher34.1 bzw.34.2 vorgesehen ist. Jeder der Verkehrsvolumenüberwacher34.1 und34.2 kann im wesentlichen in der gleichen Weise betrieben werden wie der Verkehrsüberwacher34 von4 . In diesem Fall ist es jedoch notwendig, daß die Verkehrsüberwacher34.1 und34.2 miteinander kommunizieren, wie es durch den Doppelpfeil90 dargestellt ist, um sicherzustellen, daß die Abfertigungssteuerungen36.1 und36.2 in koordinierter Weise funktionieren. Anders ausgedrückt vereinigen die Verkehrsvolumenüberwacher34.1 und34.2 vorzugsweise die einzelnen gesammelten Verkehrsvolumendaten, um die Verkehrsvolumendaten in den Abfertigern30.1 und30.2 konsistent zu halten. - Es wurde eine Reihe von Ausführungsformen eines Nachrichtenabfertigungssystems für einen Mehrrechner-Server für ein Computernetzwerk (beispielsweise für das Internet oder ein Intranet) beschrieben, welches eine Lastverteilung auf Basis des Verkehrsflusses am Rande des Servernetzwerks bereitstellt. Durch die Bereitstellung einer Lastverteilung auf Basis des Verkehrsflusses wird eine bessere Nutzung der Netzwerkressourcen in einer modernen Verarbeitungsumgebung möglich, als es bei früheren Ansätzen der Fall war. Dies ist darauf zurückzuführen, daß die Erfindung den gesamten Nachrichtenfluß, einschließlich UDP- und TCP-Nachrichten, berücksichtigen kann. Obwohl in den beschriebenen Ausführungsformen die Auslieferung bzw. Abfertigung von Nachrichten allein auf Basis des Verkehrsflusses erfolgt, versteht es sich, daß in einer bestimmten Ausführungsform auch Verkehrsflußmessungen mit Parametern der Prozessornutzung gemäß einem gewünschten Algorithmus kombiniert werden könnten. Obwohl in einem solchen Fall die Erfindung Charakteristika der Prozessornutzung verwenden würde, wie sie aus dem Stand der Technik bekannt sind, wäre eine solche Ausführungsform dennoch durch die Verwendung von Verkehrsflußmessungen gemäß einer Ausführungsform der vorliegenden Erfindung gekennzeichnet.
- Eine Ausführungsform der Erfindung legt nahe, nicht von der Annahme auszugehen, daß die Netzwerkbelastung durch die Aktivität der Servercomputer bestimmt wird, sondern vielmehr diese Belastung am Rande des Netzwerks (edge of network) zu messen. Auf Basis dieser Messung verändert der Abfertiger die Ziel-IP-Adresse einer neuen Verbindung in die Adresse eines Systems, das als das am wenigsten belastete System ausgewählt wurde, oder zumindest in die Adresse eines weniger belasteten Servercomputers.
- Die gesamte Belastung auf dem Netzwerk kann gemessen werden, und in einer Ausführungsform der Erfindung können sogar indirekt induzierte Belastungen (z.B. Multimedia-UDP-Datenströme, die nicht dasselbe Protokoll verwenden wie die ursprüngliche Anforderung) gemessen werden.
- Obwohl die bestimmten hier beschriebenen Ausführungsformen der Erfindung vier Servercomputer aufweisen, versteht es sich, daß dies lediglich ein mögliches Beispiel ist und daß die Anzahl von Servercomputern in einem Mehrrechner-Server jede Zahl sein kann, die größer als Eins ist. Außerdem versteht es sich, daß, obwohl in den gezeigten Ausführungsformen nur ein oder möglicherweise zwei Abfertiger vorgesehen sind, in anderen Beispielen mehr als zwei Abfertiger für einen Mehrrechner-Server miteinander verknüpft sein können.
- In dem vorliegenden Dokument wird auf Servernetzwerkverbindungen Bezug genommen. Es sei jedoch angemerkt, daß die Verwendung dieses Begriffs nicht bedeuten soll, daß diese notwendigerweise lokale Verbindungen eines diskreten Netzwerks sein müssen. Die Servernetzwerkverbindungen müssen nicht physisch lokal sein, sondern könnten auch physisch verteilt sein und möglicherweise Verbindungen einschließen, die sich nicht direkt zwischen dem Abfertiger oder Schalter und den einzelnen Servercomputern erstrecken, sondern eine oder mehrere öffentliche Leitungen und/oder weitere Schalter passieren.
- Obwohl in den beschriebenen Ausführungsformen der Schalter als separate, einzelne Einheit gezeigt ist, muß dies nicht der Fall sein. Er könnte eine Mehrzahl von Schaltern beinhalten. Alternativ könnte die Funktion des Schalters in den Abfertiger integriert werden, indem der Abfertiger mit einer Mehrzahl separater Ausgangsverbindungen direkt zu den Servercomputern ausgestattet wird.
- Dementsprechend versteht es sich, daß, obwohl bestimmte Ausführungsformen der Erfindung beschrieben wurden, viele Modifikationen/Hinzufügungen und/oder Ersetzungen vorgenommen werden können, die innerhalb des Schutzbereichs der vorliegenden Erfindung liegen.
Claims (41)
- Nachrichtenabfertigungssystem für einen Mehrrechner-Server (
33 ), der eine Mehrzahl von Servercomputern (16.1 –16.4 ) mit jeweiligen Servernetzwerkverbindungen (20.1 –20.4 ) beinhaltet, wobei das Nachrichtenabfertigungssystem mit einem externen Telekommunikationsnetz verknüpft werden kann und folgendes aufweist: einen ersten Nachrichtenabfertiger (30 ), der so ausgestaltet ist, daß er externe Client-Anforderungen für den Mehrrechner-Server von dem externen Telekommunikationsnetz empfängt und diese Client-Anforderungen über die Servernetzwerkverbindungen an ausgewählte Servercomputer ausliefert, wobei der erste Nachrichtenabfertiger so ausgestaltet ist, daß er in Reaktion auf Parameter, die die Netzwerkbelastung auf den Servernetzwerkverbindungen repräsentieren, einen Server bestimmt, an den die externe Client-Anforderung ausgeliefert werden soll, wobei die Parameter Parameter beinhalten, die ein von den Servercomputern ausgehendes Verkehrsaufkommen auf den Servernetzwerkverbindungen repräsentieren. - System nach Anspruch 1, welches einen Verkehrsüberwacher (
34 ,72 ,82 ,92 ) beinhaltet, der so ausgestaltet ist, daß er Parameter, die zumindest entweder Nachrichtenverkehr an einzelne Servercomputer oder Nachrichtenverkehr von einzelnen Servercomputern über die jeweiligen Servernetzwerkverbindungen repräsentieren, überwacht, wobei der Nachrichtenabfertiger so ausgestaltet ist, daß er die Parameter von dem Verkehrsüberwacher empfängt. - System nach Anspruch 2, wobei die Parameter eine Anzahl von zumindest entweder Nachrichtenpaketen an die Servercomputer oder Nachrichtenpaketen von den Servercomputern auf den jeweiligen Servernetzwerkverbindungen beinhalten.
- System nach Anspruch 2, wobei die Parameter eine Anzahl von zumindest entweder Nachrichtenbytes an die Servercomputer oder Nachrichtenbytes von den Servercomputern auf den jeweiligen Servernetzwerkverbindungen beinhalten.
- System nach einem der Ansprüche 2 bis 4, wobei der Verkehrsüberwacher auf Quelladreßinformationen in Nachrichten, die von den Servercomputern über die Servernetzwerkverbindungen empfangen werden, reagiert, um das Verkehrsaufkommen von den Servercomputern auf den jeweiligen Servernetzwerkverbindungen zu überwachen.
- System nach Anspruch 5, wobei der Verkehrsüberwacher so betreibbar ist, daß er eine Anzahl von Nachrichtenpaketen von den Servercomputern auf den jeweiligen Servernetzwerkverbindungen pflegt.
- System nach Anspruch 5, wobei der Verkehrsüberwacher so betreibbar ist, daß er eine Anzahl von Nachrichtenbytes von den Servercomputern auf den jeweiligen Servernetzwerkverbindungen pflegt.
- System nach einem der Ansprüche 2 bis 7, wobei der Verkehrsüberwacher auf Zielortinformationen für Nachrichten, die durch den ersten Nachrichtenabfertiger über die Servernetzwerkverbindungen an die Servercomputer ausgeliefert werden, reagiert, um das Verkehrsaufkommen an die Servercomputer auf den jeweiligen Servernetzwerkverbindungen zu überwachen.
- System nach Anspruch 8, wobei der Verkehrsüberwacher so betreibbar ist, daß er eine Anzahl von Nachrichtenpaketen an die Servercomputer auf den jeweiligen Servernetzwerkverbindungen pflegt.
- System nach Anspruch 8, wobei der Verkehrsüberwacher so betreibbar ist, daß er eine Anzahl von Nachrichtenbytes an die Servercomputer auf den jeweiligen Servernetzwerkverbindungen pflegt.
- System nach einem der vorangegangenen Ansprüche, wobei der erste Nachrichtenabfertiger direkt mit den Servernetzwerkverbindungen verbunden ist.
- System nach einem der vorangegangenen Ansprüche, welches einen Verteiler (
22 ), der mit dem ersten Nachrichtenabfertiger verbunden ist, beinhaltet, wobei der Verteiler mit jeder der Netzwerkverbindungen verbunden ist. - System nach Anspruch 12, wobei das Nachrichtenabfertigungssystem auf einen Eintrag von zumindest entweder Verkehr an einzelne Servercomputer oder Verkehr von einzelnen Servercomputern über die jeweiligen Servernetzwerkverbindungen reagiert, wobei der Eintrag in dem Verteiler gepflegt wird.
- System nach Anspruch 13, wobei die Parameter eine Anzahl von zumindest entweder Nachrichtenpaketen an die Servercomputer oder Nachrichtenpaketen von den Servercomputern auf den jeweiligen Servernetzwerkverbindungen beinhalten.
- System nach Anspruch 13, wobei die Parameter eine Anzahl von zumindest entweder Nachrichtenbytes an die Servercomputer oder Nachrichtenbytes von den Servercomputern auf den jeweiligen Servernetzwerkverbindungen beinhalten.
- System nach Anspruch 13, wobei der Eintrag einen Eintrag verlorener Nachrichtenpakete für die Servernetzwerkverbindungen beinhaltet.
- System nach einem der Ansprüche 12 bis 16, wobei der erste Nachrichtenabfertiger auf zumindest entweder einen Eintrag von Verkehr an einzelne Servercomputer oder einen Eintrag von Verkehr von einzelnen Servercomputern über die jeweiligen Servernetzwerkverbindungen reagiert, wobei der Eintrag von einem Verkehrsüberwacher gepflegt wird, der mit einer Verbindung zwischen dem ersten Nachrichtenabfertiger und dem Verteiler verbunden ist.
- System nach Anspruch 17, wobei die Parameter eine Anzahl von zumindest entweder Nachrichtenpaketen an die Servercomputer oder Nachrichtenpaketen von den Servercomputern auf den jeweiligen Servernetzwerkverbindungen beinhalten.
- System nach Anspruch 17, wobei die Parameter eine Anzahl von zumindest entweder Nachrichtenbytes an die Servercomputer oder Nachrichtenbytes von den Servercomputern auf den jeweiligen Servernetzwerkverbindungen beinhalten.
- System nach einem der vorangegangenen Ansprüche, wobei der erste Nachrichtenabfertiger so ausgestaltet ist, daß er eine Zieladresse einer empfangenen externen Client-Anforderung für den Mehrrechner-Server von dem externen Telekommunikationsnetz modifiziert, um einen ausgewählten Servercomputer zu adressieren.
- System nach einem der vorangegangenen Ansprüche, welches so ausgestaltet ist, daß es von dem externen Telekommunikationsnetz durch Nachrichten, die eine Adresse des Mehrrechner-Servers enthalten, adressiert bzw. angesteuert werden kann.
- System nach einem der vorangegangenen Ansprüche, wobei das Telekommunikationsnetz das Internet ist, der Mehrrechner-Server ein Internetserver ist und die Nachrichten Internetnachrichten sind.
- Nachrichtenverteilungssystem nach Anspruch 12 oder einem der von Anspruch 12 abhängigen Ansprüche, wobei das System aufweist: mindestens einen weiteren Nachrichtenabfertiger, der so ausgestaltet ist, daß er externe Client-Anforderungen für den Mehrrechner-Server von dem externen Telekommunikationsnetz emp fängt und diese Client-Anforderungen über den Verteiler und die Servernetzwerkverbindungen an ausgewählte Servercomputer ausliefert, wobei jeder weitere Nachrichtenabfertiger so ausgestaltet ist, daß er in Reaktion auf Parameter, die die Netzwerkbelastung auf den Servernetzwerkverbindungen repräsentieren, einen Server, an den eine externe Client-Anforderung ausgeliefert werden soll, bestimmt.
- System nach Anspruch 23, wobei jeder Nachrichtenabfertiger auf einen gemeinsamen Satz von Parametern, die die Netzwerkbelastung auf den Servernetzwerkverbindungen repräsentieren, reagiert.
- System nach Anspruch 24, wobei jeder Nachrichtenabfertiger auf einen jeweiligen Satz von Parametern, die die Netzwerkbelastung auf den Servernetzwerkverbindungen repräsentieren, reagiert, wobei jeder Nachrichtenabfertiger auf jeden anderen Nachrichtenabfertiger reagiert, um die Nachrichtenverteilung zu koordinieren.
- Computersoftware, die auf einem Computer ausführbar ist, um das Nachrichtenabfertigungssystem gemäß einem der vorangegangenen Ansprüche zu implementieren.
- Computersoftware nach Anspruch 26 auf einem Datenträger.
- Verfahren zum Abfertigen empfangener externer Client-Anforderungen an Servercomputer (
16.1 –16.4 ) eines Mehrrechner-Servers (33 ), der eine Mehrzahl von Servercomputern, die über jeweilige Servernetzwerkverbindungen (20.1 –20.4 ) verbunden sind, beinhaltet, wobei das Verfahren folgendes umfaßt: a) Empfangen externer Client-Anforderungen für den Mehrrechner-Server von einem externen Telekommunikationsnetz, b) Bestimmen eines Servers, an den eine externe Client-Anforderung ausgeliefert werden soll, in Reaktion auf Parameter, die die Netzwerkbelastung auf den Servernetzwerkverbindungen repräsentieren, wobei die Parameter Parameter beinhalten, die ein von den Servercomputern ausgehendes Verkehrsaufkommen auf den Servernetzwerkverbindungen repräsentieren, und c) Ausliefern einer empfangenen Client-Anforderung an den bestimmten Servercomputer über die jeweilige Servernetzwerkverbindung. - Verfahren nach Anspruch 28, welches weiterhin das Überwachen von Verkehrsparametern, die zumindest entweder Nachrichtenverkehr an einzelne Servercomputer oder Nachrichtenverkehr von einzelnen Servercomputern über die jeweiligen Verbindungen repräsentieren, umfaßt, wobei Schritt (b) einen Schritt des Reagierens auf diese Parameter beinhaltet.
- Verfahren nach Anspruch 29, wobei die Parameter eine Anzahl von zumindest entweder Nachrichtenpaketen an die Servercomputer oder Nachrichtenpaketen von den Servercomputern auf den jeweiligen Servernetzwerkverbindungen beinhalten.
- Verfahren nach Anspruch 29, wobei die Parameter eine Anzahl von zumindest entweder Nachrichtenbytes an die Servercomputer oder Nachrichtenbytes von den Servercomputern auf den jeweiligen Servernetzwerkverbindungen beinhalten.
- Verfahren nach einem der Ansprüche 29 bis 31, wobei der weitere Schritt das Reagieren auf Quelladreßinformationen in Nachrichten, die von den Servercomputern über die Verbindungen empfangen wurden, beinhaltet, um das Verkehrsaufkommen von den Servercomputern auf den jeweiligen Servernetzwerkverbindungen zu überwachen.
- Verfahren nach einem der Ansprüche 28 bis 32, wobei der weitere Schritt das Reagieren auf Zielinformationen für Nachrichten, die durch den Nachrichtenabfertiger über die Verbindungen an die Servercomputer ausgeliefert wurden, beinhaltet, um das Verkehrsaufkommen an die Servercomputer auf den jeweiligen Servernetzwerkverbindungen zu überwachen.
- Verfahren nach einem der Ansprüche 28 bis 33, welches einen zusätzlichen Schritt des Pflegens eines Eintrages von zumindest entweder Verkehr an einzelne Servercomputer oder Verkehr von einzelnen Servercomputern über die jeweiligen Servernetzwerkverbindungen an einem Verteiler (
22 ) beinhaltet. - Verfahren nach Anspruch 34, wobei der Eintrag einen Eintrag verlorener Nachrichtenpakete beinhaltet.
- Verfahren nach einem der Ansprüche 28 bis 35, welches für eine Verbindung zwischen dem Nachrichtenabfertiger und einem Verteiler einen zusätzlichen Schritt des Pflegens eines Eintrages von zumindest entweder Verkehr an einzelne Servercomputer oder Verkehr von einzelnen Servercomputern über die jeweiligen Verbindungen an einer Verkehrsüberwachungsvorrichtung beinhaltet.
- Verfahren nach einem der Ansprüche 28 bis 36, wobei Schritt (c) das Modifizieren einer Zieladresse einer empfangenen externen Client-Anforderung für den Mehrrechner-Server von dem externen Telekommunikationsnetz beinhaltet, um einen ausgewählten der Servercomputer zu adressieren.
- Verfahren nach einem der Ansprüche 28 bis 37, wobei Schritt (a) das Empfangen externer Client-Anforderungen, die eine Adresse des Mehrrechner-Servers enthalten, von dem externen Telekommunikationsnetz beinhaltet.
- Verfahren nach Anspruch 38, wobei das Telekommunikationsnetz das Internet ist, der Mehrrechner-Server ein Internetserver ist und die Nachrichten Internetnachrichten sind.
- Computersoftware, die auf einem Computer ausführbar ist, um das Verfahren gemäß einem der Ansprüche 28 bis 39 zu implementieren.
- Computersoftware nach Anspruch 40 auf einem Datenträger.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/879,115 US6263368B1 (en) | 1997-06-19 | 1997-06-19 | Network load balancing for multi-computer server by counting message packets to/from multi-computer server |
US879115 | 1997-06-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69835400D1 DE69835400D1 (de) | 2006-09-14 |
DE69835400T2 true DE69835400T2 (de) | 2007-07-19 |
Family
ID=25373459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69835400T Expired - Fee Related DE69835400T2 (de) | 1997-06-19 | 1998-06-12 | Netzbelastungsausgleich für Mehrrechner Anbieter |
Country Status (5)
Country | Link |
---|---|
US (1) | US6263368B1 (de) |
EP (1) | EP0892531B1 (de) |
JP (1) | JPH11143804A (de) |
CA (1) | CA2241016A1 (de) |
DE (1) | DE69835400T2 (de) |
Families Citing this family (195)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6775692B1 (en) | 1997-07-31 | 2004-08-10 | Cisco Technology, Inc. | Proxying and unproxying a connection using a forwarding agent |
US6591299B2 (en) * | 1997-11-25 | 2003-07-08 | Packeteer, Inc. | Method for automatically classifying traffic with enhanced hierarchy in a packet communications network |
AU1421799A (en) * | 1997-11-25 | 1999-06-15 | Packeteer, Inc. | Method for automatically classifying traffic in a packet communications network |
US6745243B2 (en) * | 1998-06-30 | 2004-06-01 | Nortel Networks Limited | Method and apparatus for network caching and load balancing |
KR100290675B1 (ko) * | 1998-08-26 | 2001-07-12 | 윤종용 | 사설교환시스템의디지털라인신호모니터링방법 |
JP3270012B2 (ja) * | 1998-09-08 | 2002-04-02 | 富士通株式会社 | ネットワークサーバ負荷検出装置、割当装置および方法 |
JP3550503B2 (ja) * | 1998-11-10 | 2004-08-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 通信を可能とするための方法及び通信システム |
JP2000196677A (ja) * | 1998-12-28 | 2000-07-14 | Fujitsu Ltd | ネットワ―クシステムに用いられる中継装置 |
GB2346302B (en) * | 1999-01-29 | 2003-06-18 | Ibm | Pre-emptive network load balancing by predictive configuration |
US7643481B2 (en) * | 1999-03-17 | 2010-01-05 | Broadcom Corporation | Network switch having a programmable counter |
US6850521B1 (en) * | 1999-03-17 | 2005-02-01 | Broadcom Corporation | Network switch |
US6996099B1 (en) * | 1999-03-17 | 2006-02-07 | Broadcom Corporation | Network switch having a programmable counter |
US6671259B1 (en) * | 1999-03-30 | 2003-12-30 | Fujitsu Limited | Method and system for wide area network load balancing |
US20040111471A1 (en) * | 1999-04-27 | 2004-06-10 | Worldcom, Inc. | Alarm monitoring system for a telecommunications network |
US6667967B1 (en) | 1999-05-14 | 2003-12-23 | Omninet Capital, Llc | High-speed network of independently linked nodes |
US6888836B1 (en) * | 1999-05-26 | 2005-05-03 | Hewlett-Packard Development Company, L.P. | Method for allocating web sites on a web hosting cluster |
US6516350B1 (en) * | 1999-06-17 | 2003-02-04 | International Business Machines Corporation | Self-regulated resource management of distributed computer resources |
US6628654B1 (en) | 1999-07-01 | 2003-09-30 | Cisco Technology, Inc. | Dispatching packets from a forwarding agent using tag switching |
US6606316B1 (en) | 1999-07-02 | 2003-08-12 | Cisco Technology, Inc. | Gathering network statistics in a distributed network service environment |
US7051066B1 (en) | 1999-07-02 | 2006-05-23 | Cisco Technology, Inc. | Integrating service managers into a routing infrastructure using forwarding agents |
US6704278B1 (en) | 1999-07-02 | 2004-03-09 | Cisco Technology, Inc. | Stateful failover of service managers |
US6650641B1 (en) | 1999-07-02 | 2003-11-18 | Cisco Technology, Inc. | Network address translation using a forwarding agent |
US6970913B1 (en) * | 1999-07-02 | 2005-11-29 | Cisco Technology, Inc. | Load balancing using distributed forwarding agents with application based feedback for different virtual machines |
US6549516B1 (en) | 1999-07-02 | 2003-04-15 | Cisco Technology, Inc. | Sending instructions from a service manager to forwarding agents on a need to know basis |
US6633560B1 (en) | 1999-07-02 | 2003-10-14 | Cisco Technology, Inc. | Distribution of network services among multiple service managers without client involvement |
US6606315B1 (en) | 1999-07-02 | 2003-08-12 | Cisco Technology, Inc. | Synchronizing service instructions among forwarding agents using a service manager |
US6742045B1 (en) | 1999-07-02 | 2004-05-25 | Cisco Technology, Inc. | Handling packet fragments in a distributed network service environment |
US6735169B1 (en) | 1999-07-02 | 2004-05-11 | Cisco Technology, Inc. | Cascading multiple services on a forwarding agent |
US6687222B1 (en) | 1999-07-02 | 2004-02-03 | Cisco Technology, Inc. | Backup service managers for providing reliable network services in a distributed environment |
US7035880B1 (en) | 1999-07-14 | 2006-04-25 | Commvault Systems, Inc. | Modular backup and retrieval system used in conjunction with a storage area network |
US7395282B1 (en) | 1999-07-15 | 2008-07-01 | Commvault Systems, Inc. | Hierarchical backup and retrieval system |
US7389311B1 (en) * | 1999-07-15 | 2008-06-17 | Commvault Systems, Inc. | Modular backup and retrieval system |
US6728770B1 (en) | 1999-12-03 | 2004-04-27 | Storage Technology Corporation | Method and apparatus for workload balancing along multiple communication paths to a plurality of devices |
AU4717901A (en) * | 1999-12-06 | 2001-06-25 | Warp Solutions, Inc. | System and method for dynamic content routing |
US20010034752A1 (en) * | 2000-01-26 | 2001-10-25 | Prompt2U Inc. | Method and system for symmetrically distributed adaptive matching of partners of mutual interest in a computer network |
EP1120945A1 (de) * | 2000-01-27 | 2001-08-01 | TELEFONAKTIEBOLAGET LM ERICSSON (publ) | Zuordnung einer Serveradresse zu einem Endgerät |
US6658436B2 (en) | 2000-01-31 | 2003-12-02 | Commvault Systems, Inc. | Logical view and access to data managed by a modular data and storage management system |
US7003641B2 (en) | 2000-01-31 | 2006-02-21 | Commvault Systems, Inc. | Logical view with granular access to exchange data managed by a modular data and storage management system |
US7155481B2 (en) * | 2000-01-31 | 2006-12-26 | Commvault Systems, Inc. | Email attachment management in a computer system |
JP2001312484A (ja) * | 2000-05-02 | 2001-11-09 | Internatl Business Mach Corp <Ibm> | 高速ウェブサーバ選択方法およびシステム |
US6931003B2 (en) * | 2000-02-09 | 2005-08-16 | Bookline Flolmstead Llc | Packet prioritization protocol for a large-scale, high speed computer network |
US8380854B2 (en) * | 2000-03-21 | 2013-02-19 | F5 Networks, Inc. | Simplified method for processing multiple connections from the same client |
US7343413B2 (en) * | 2000-03-21 | 2008-03-11 | F5 Networks, Inc. | Method and system for optimizing a network by independently scaling control segments and data flow |
US7164698B1 (en) | 2000-03-24 | 2007-01-16 | Juniper Networks, Inc. | High-speed line interface for networking devices |
US7139282B1 (en) | 2000-03-24 | 2006-11-21 | Juniper Networks, Inc. | Bandwidth division for packet processing |
US6671725B1 (en) * | 2000-04-18 | 2003-12-30 | International Business Machines Corporation | Server cluster interconnection using network processor |
US6970425B1 (en) * | 2000-04-27 | 2005-11-29 | At&T Corp. | Method and apparatus for throttling and distributing data transmissions across a network |
US6785726B1 (en) | 2000-05-08 | 2004-08-31 | Citrix Systems, Inc. | Method and apparatus for delivering local and remote server events in a similar fashion |
US6789112B1 (en) | 2000-05-08 | 2004-09-07 | Citrix Systems, Inc. | Method and apparatus for administering a server having a subsystem in communication with an event channel |
US6785713B1 (en) | 2000-05-08 | 2004-08-31 | Citrix Systems, Inc. | Method and apparatus for communicating among a network of servers utilizing a transport mechanism |
EP1290853A2 (de) * | 2000-05-26 | 2003-03-12 | Akamai Technologies, Inc. | Globallastausgleich über gespiegelten datenstellen |
WO2001095587A2 (en) * | 2000-06-05 | 2001-12-13 | Lariat Software, Inc. | System and method for calculating concurrent network connections |
JP3904808B2 (ja) * | 2000-06-08 | 2007-04-11 | 株式会社日立製作所 | 分散オブジェクト管理方法及びその実施装置並びにその処理プログラムを記録した記録媒体 |
US7089301B1 (en) * | 2000-08-11 | 2006-08-08 | Napster, Inc. | System and method for searching peer-to-peer computer networks by selecting a computer based on at least a number of files shared by the computer |
US6836462B1 (en) | 2000-08-30 | 2004-12-28 | Cisco Technology, Inc. | Distributed, rule based packet redirection |
US6871210B1 (en) * | 2000-09-05 | 2005-03-22 | International Business Machines Corporation | Automatic allocation of least loaded boot server to PXE client on a network VIA DHCP server |
US7509403B1 (en) * | 2000-09-28 | 2009-03-24 | Alcatel-Lucent Usa Inc. | Method and apparatus for SONET/SDH ring load balancing |
US6996615B1 (en) * | 2000-09-29 | 2006-02-07 | Cisco Technology, Inc. | Highly scalable least connections load balancing |
US20020042839A1 (en) * | 2000-10-10 | 2002-04-11 | Christopher Peiffer | HTTP multiplexor/demultiplexor |
US20030046394A1 (en) * | 2000-11-03 | 2003-03-06 | Steve Goddard | System and method for an application space server cluster |
US20020055982A1 (en) * | 2000-11-03 | 2002-05-09 | The Board Of Regents Of The University Of Nebraska | Controlled server loading using L4 dispatching |
EP1332600A2 (de) * | 2000-11-03 | 2003-08-06 | The Board of Regents of the University of Nebraska | Verfahren und system zum lastausgleich |
US20020055983A1 (en) * | 2000-11-03 | 2002-05-09 | The Board Of Regents Of The University Of Nebraska | Computer server having non-client-specific persistent connections |
US20020107962A1 (en) * | 2000-11-07 | 2002-08-08 | Richter Roger K. | Single chassis network endpoint system with network processor for load balancing |
US7111059B1 (en) * | 2000-11-10 | 2006-09-19 | Microsoft Corporation | System for gathering and aggregating operational metrics |
US7231445B1 (en) * | 2000-11-16 | 2007-06-12 | Nortel Networks Limited | Technique for adaptively distributing web server requests |
US7131140B1 (en) * | 2000-12-29 | 2006-10-31 | Cisco Technology, Inc. | Method for protecting a firewall load balancer from a denial of service attack |
US7095716B1 (en) * | 2001-03-30 | 2006-08-22 | Juniper Networks, Inc. | Internet security device and method |
US7363374B2 (en) * | 2001-04-27 | 2008-04-22 | International Business Machines Corporation | Method and system for fault-tolerant remote boot in the presence of boot server overload/failure with self-throttling boot servers |
US8004971B1 (en) | 2001-05-24 | 2011-08-23 | F5 Networks, Inc. | Method and system for scaling network traffic managers using connection keys |
US7102996B1 (en) | 2001-05-24 | 2006-09-05 | F5 Networks, Inc. | Method and system for scaling network traffic managers |
US8175257B1 (en) | 2001-05-31 | 2012-05-08 | Cisco Technology, Inc. | Method and apparatus for scheduling automatic call distribution system callers |
US8180921B2 (en) | 2001-06-19 | 2012-05-15 | Intel Corporation | Method and apparatus for load balancing |
TW576061B (en) * | 2001-08-13 | 2004-02-11 | Via Tech Inc | Device and method for load balancing of packet switching |
US6772224B2 (en) * | 2001-08-22 | 2004-08-03 | Spatial Communications Technologies, Inc. | Method and system for processing load distribution for a packetized telecommunication network entity |
US7464410B1 (en) * | 2001-08-30 | 2008-12-09 | At&T Corp. | Protection against flooding of a server |
US7113980B2 (en) * | 2001-09-06 | 2006-09-26 | Bea Systems, Inc. | Exactly once JMS communication |
US6826601B2 (en) * | 2001-09-06 | 2004-11-30 | Bea Systems, Inc. | Exactly one cache framework |
US20030055971A1 (en) * | 2001-09-19 | 2003-03-20 | Menon Rama R. | Providing load balancing in delivering rich media |
EP1298839A1 (de) * | 2001-09-28 | 2003-04-02 | Siemens Aktiengesellschaft | Netzwerk Performance Management |
US7359378B2 (en) | 2001-10-11 | 2008-04-15 | International Business Machines Corporation | Security system for preventing unauthorized packet transmission between customer servers in a server farm |
US7092399B1 (en) * | 2001-10-16 | 2006-08-15 | Cisco Technology, Inc. | Redirecting multiple requests received over a connection to multiple servers and merging the responses over the connection |
US8045565B1 (en) | 2001-11-20 | 2011-10-25 | Brookline Flolmstead Llc | Method and apparatus for an environmentally hardened ethernet network system |
US7318095B2 (en) * | 2001-11-21 | 2008-01-08 | Clearcube Technology, Inc. | Data fail-over for a multi-computer system |
US7149808B2 (en) * | 2002-01-14 | 2006-12-12 | Array Networks, Inc. | Application protocol offloading |
US20030163761A1 (en) * | 2002-02-21 | 2003-08-28 | Michael Chen | System and method for message driven bean service migration |
US7349995B2 (en) * | 2002-03-07 | 2008-03-25 | Intel Corporation | Computing device with scalable logic block to respond to data transfer requests |
US7965693B2 (en) * | 2002-05-28 | 2011-06-21 | Zte (Usa) Inc. | Interworking mechanism between wireless wide area network and wireless local area network |
US20040059777A1 (en) * | 2002-05-31 | 2004-03-25 | Palazzo Craig M. | System and method for distributed component object model load balancing |
US20040006622A1 (en) * | 2002-07-03 | 2004-01-08 | Burkes Don L. | Optimized process for balancing load for data mirroring |
US7453837B2 (en) | 2002-08-15 | 2008-11-18 | Zteit Usa, Inc. | Trunking system for CDMA wireless communication |
WO2004017525A2 (en) * | 2002-08-15 | 2004-02-26 | Zteit Usa, Inc. | Trunking system for cdma wireless communication |
FR2846762B1 (fr) * | 2002-11-06 | 2005-02-04 | France Telecom | Procede et systeme de regulation de la consommation de volume de trafic d'entites informatiques ayant acces a des ressources partagees |
US20040215703A1 (en) * | 2003-02-18 | 2004-10-28 | Xiping Song | System supporting concurrent operation of multiple executable application operation sessions |
US7571354B2 (en) * | 2003-05-09 | 2009-08-04 | Sun Microsystems, Inc. | System and method for request routing |
US20040260745A1 (en) * | 2003-06-18 | 2004-12-23 | Gage Christopher A. S. | Load balancer performance using affinity modification |
US7454569B2 (en) | 2003-06-25 | 2008-11-18 | Commvault Systems, Inc. | Hierarchical system and method for performing storage operations in a computer network |
US7650402B1 (en) | 2003-06-25 | 2010-01-19 | Cisco Technology, Inc. | System and method for tracking end users in a loadbalancing environment |
US7502859B2 (en) * | 2003-09-19 | 2009-03-10 | Panasonic Corporation | Dynamic resource management for distributed retrieval system for security |
US7756040B1 (en) | 2003-10-08 | 2010-07-13 | Cisco Technology, Inc. | System and method for relaying information in order to enable services in a network environment |
US7451209B1 (en) | 2003-10-22 | 2008-11-11 | Cisco Technology, Inc. | Improving reliability and availability of a load balanced server |
US7421695B2 (en) * | 2003-11-12 | 2008-09-02 | Cisco Tech Inc | System and methodology for adaptive load balancing with behavior modification hints |
US7546324B2 (en) | 2003-11-13 | 2009-06-09 | Commvault Systems, Inc. | Systems and methods for performing storage operations using network attached storage |
US8050275B1 (en) | 2003-11-18 | 2011-11-01 | Cisco Technology, Inc. | System and method for offering quality of service in a network environment |
US7596107B1 (en) | 2004-01-26 | 2009-09-29 | Cisco Technology, Inc. | System and method for enabling multicast group services in a network environment |
US7474895B1 (en) | 2004-03-04 | 2009-01-06 | Zte (Usa) Inc. | Frequency reuse in wireless communication networks |
US7826435B1 (en) | 2004-03-05 | 2010-11-02 | Zte (Usa) Inc. | Power control in OFDM and OFDMA wireless communication networks |
US7240135B2 (en) * | 2004-03-05 | 2007-07-03 | International Business Machines Corporation | Method of balancing work load with prioritized tasks across a multitude of communication ports |
US7856493B1 (en) * | 2004-03-17 | 2010-12-21 | Cisco Technology, Inc. | Method and apparatus providing device-initiated network management |
US8583449B2 (en) * | 2004-03-22 | 2013-11-12 | Avaya Inc. | Method and apparatus for providing network based load balancing of medical image data |
US7454503B2 (en) | 2004-04-08 | 2008-11-18 | International Business Machines Corporation | Method to identify transactions and manage the capacity to support the transaction |
US8335533B2 (en) * | 2004-04-19 | 2012-12-18 | Zte Corporation | Trunking and push-to-talk mechanisms for WCDMA wireless communications |
US7020090B2 (en) * | 2004-06-21 | 2006-03-28 | Cisco Technology, Inc. | System and method for loadbalancing in a network environment using feedback information |
US7729303B2 (en) * | 2004-06-30 | 2010-06-01 | Zteit Usa, Inc. | Global open trunking system for CDMA wireless communication |
US7640339B1 (en) * | 2005-02-14 | 2009-12-29 | Sun Microsystems, Inc. | Method and apparatus for monitoring a node in a distributed system |
US7941556B2 (en) * | 2005-02-23 | 2011-05-10 | At&T Intellectual Property I, Lp | Monitoring for replica placement and request distribution |
US7340744B2 (en) * | 2005-04-08 | 2008-03-04 | Cisco Technology, Inc. | System and method for optimizing sessions and network resources in a loadbalancing environment |
US7464303B2 (en) * | 2005-06-09 | 2008-12-09 | International Business Machines Corporation | Autonomically adjusting configuration parameters for a server when a different server fails |
US20070006166A1 (en) * | 2005-06-20 | 2007-01-04 | Seagate Technology Llc | Code coverage for an embedded processor system |
US8009676B2 (en) * | 2005-07-26 | 2011-08-30 | Cisco Technology, Inc. | Dynamically providing a quality of service for a mobile node |
JP5249763B2 (ja) * | 2005-09-09 | 2013-07-31 | スミスズ ディテクション インコーポレイティド | 要求に応じたマルチメディアコンテンツのマルチキャスト配信 |
US7630486B2 (en) * | 2005-09-20 | 2009-12-08 | Cisco Technology, Inc. | Method and system for handling a queued automatic call distributor call |
US8095683B2 (en) * | 2006-03-01 | 2012-01-10 | Cisco Technology, Inc. | Method and system for mirroring dropped packets |
US8065537B2 (en) * | 2007-06-12 | 2011-11-22 | Hewlett-Packard Development Company, L.P. | Adjusting cap settings of electronic devices according to measured workloads |
US20080313492A1 (en) * | 2007-06-12 | 2008-12-18 | Hansen Peter A | Adjusting a Cooling Device and a Server in Response to a Thermal Event |
US8806053B1 (en) | 2008-04-29 | 2014-08-12 | F5 Networks, Inc. | Methods and systems for optimizing network traffic using preemptive acknowledgment signals |
US8214427B2 (en) * | 2008-05-20 | 2012-07-03 | Thompson Licensing | System and method for distributing a map of content available at multiple receivers |
EP3068107B1 (de) * | 2008-09-05 | 2021-02-24 | Pulse Secure, LLC | Lieferung von datendateien an anfragestationen |
US8566444B1 (en) | 2008-10-30 | 2013-10-22 | F5 Networks, Inc. | Methods and system for simultaneous multiple rules checking |
US7966383B2 (en) * | 2009-03-27 | 2011-06-21 | Business Objects Software Ltd. | Client-server systems and methods for accessing metadata information across a network using proxies |
US10157280B2 (en) | 2009-09-23 | 2018-12-18 | F5 Networks, Inc. | System and method for identifying security breach attempts of a website |
US20110106935A1 (en) * | 2009-10-29 | 2011-05-05 | International Business Machines Corporation | Power management for idle system in clusters |
US8868961B1 (en) | 2009-11-06 | 2014-10-21 | F5 Networks, Inc. | Methods for acquiring hyper transport timing and devices thereof |
US9313047B2 (en) | 2009-11-06 | 2016-04-12 | F5 Networks, Inc. | Handling high throughput and low latency network data packets in a traffic management device |
US10721269B1 (en) | 2009-11-06 | 2020-07-21 | F5 Networks, Inc. | Methods and system for returning requests with javascript for clients before passing a request to a server |
WO2011149558A2 (en) | 2010-05-28 | 2011-12-01 | Abelow Daniel H | Reality alternate |
US9141625B1 (en) | 2010-06-22 | 2015-09-22 | F5 Networks, Inc. | Methods for preserving flow state during virtual machine migration and devices thereof |
US10015286B1 (en) | 2010-06-23 | 2018-07-03 | F5 Networks, Inc. | System and method for proxying HTTP single sign on across network domains |
US8908545B1 (en) | 2010-07-08 | 2014-12-09 | F5 Networks, Inc. | System and method for handling TCP performance in network access with driver initiated application tunnel |
US8347100B1 (en) | 2010-07-14 | 2013-01-01 | F5 Networks, Inc. | Methods for DNSSEC proxying and deployment amelioration and systems thereof |
US9083760B1 (en) | 2010-08-09 | 2015-07-14 | F5 Networks, Inc. | Dynamic cloning and reservation of detached idle connections |
US8630174B1 (en) | 2010-09-14 | 2014-01-14 | F5 Networks, Inc. | System and method for post shaping TCP packetization |
US8886981B1 (en) | 2010-09-15 | 2014-11-11 | F5 Networks, Inc. | Systems and methods for idle driven scheduling |
US8463909B1 (en) | 2010-09-15 | 2013-06-11 | F5 Networks, Inc. | Systems and methods for managing server resources |
US8804504B1 (en) | 2010-09-16 | 2014-08-12 | F5 Networks, Inc. | System and method for reducing CPU load in processing PPP packets on a SSL-VPN tunneling device |
US8959571B2 (en) | 2010-10-29 | 2015-02-17 | F5 Networks, Inc. | Automated policy builder |
EP2633667B1 (de) | 2010-10-29 | 2017-09-06 | F5 Networks, Inc | System und verfahren zur on-the-fly-protokollkonvertierung bei der ermittlung von richtliniendurchsetzungsinformationen |
US8627467B2 (en) | 2011-01-14 | 2014-01-07 | F5 Networks, Inc. | System and method for selectively storing web objects in a cache memory based on policy decisions |
US9021198B1 (en) | 2011-01-20 | 2015-04-28 | Commvault Systems, Inc. | System and method for sharing SAN storage |
US10135831B2 (en) | 2011-01-28 | 2018-11-20 | F5 Networks, Inc. | System and method for combining an access control system with a traffic management system |
US9246819B1 (en) | 2011-06-20 | 2016-01-26 | F5 Networks, Inc. | System and method for performing message-based load balancing |
US8219684B1 (en) * | 2011-11-02 | 2012-07-10 | Google Inc. | Redundant data requests with cancellation |
US9270766B2 (en) | 2011-12-30 | 2016-02-23 | F5 Networks, Inc. | Methods for identifying network traffic characteristics to correlate and manage one or more subsequent flows and devices thereof |
US10230566B1 (en) | 2012-02-17 | 2019-03-12 | F5 Networks, Inc. | Methods for dynamically constructing a service principal name and devices thereof |
US9172753B1 (en) | 2012-02-20 | 2015-10-27 | F5 Networks, Inc. | Methods for optimizing HTTP header based authentication and devices thereof |
US9231879B1 (en) | 2012-02-20 | 2016-01-05 | F5 Networks, Inc. | Methods for policy-based network traffic queue management and devices thereof |
US20130283280A1 (en) * | 2012-04-20 | 2013-10-24 | Qualcomm Incorporated | Method to reduce multi-threaded processor power consumption |
WO2013163648A2 (en) | 2012-04-27 | 2013-10-31 | F5 Networks, Inc. | Methods for optimizing service of content requests and devices thereof |
US9154423B1 (en) | 2012-05-01 | 2015-10-06 | F5 Networks, Inc. | Minimize SYN-flood issues with flow cache while maintaining performance |
US9525632B1 (en) | 2012-05-01 | 2016-12-20 | F5 Networks, Inc. | Minimize recycle SYN issues for split TCP hot flows to improve system reliability and performance |
US9338095B2 (en) | 2012-05-01 | 2016-05-10 | F5 Networks, Inc. | Data flow segment optimized for hot flows |
US9203771B1 (en) | 2012-07-23 | 2015-12-01 | F5 Networks, Inc. | Hot service flow hardware offloads based on service priority and resource usage |
TWI474673B (zh) | 2012-12-06 | 2015-02-21 | Inst Information Industry | 工作負載分配裝置及其工作負載分配方法 |
US10375155B1 (en) | 2013-02-19 | 2019-08-06 | F5 Networks, Inc. | System and method for achieving hardware acceleration for asymmetric flow connections |
US10187317B1 (en) | 2013-11-15 | 2019-01-22 | F5 Networks, Inc. | Methods for traffic rate control and devices thereof |
DE102014112478A1 (de) * | 2014-06-03 | 2015-12-03 | Fujitsu Technology Solutions Intellectual Property Gmbh | Verfahren zur Verteilung von Tasks zwischen Computersystemen, Computernetz-Infrastruktur sowie Computerprogramm-Produkt |
US10015143B1 (en) | 2014-06-05 | 2018-07-03 | F5 Networks, Inc. | Methods for securing one or more license entitlement grants and devices thereof |
US11838851B1 (en) | 2014-07-15 | 2023-12-05 | F5, Inc. | Methods for managing L7 traffic classification and devices thereof |
US10122630B1 (en) | 2014-08-15 | 2018-11-06 | F5 Networks, Inc. | Methods for network traffic presteering and devices thereof |
US10182013B1 (en) | 2014-12-01 | 2019-01-15 | F5 Networks, Inc. | Methods for managing progressive image delivery and devices thereof |
US11895138B1 (en) | 2015-02-02 | 2024-02-06 | F5, Inc. | Methods for improving web scanner accuracy and devices thereof |
TWI580217B (zh) * | 2015-02-05 | 2017-04-21 | 物聯智慧科技(深圳)有限公司 | 管理伺服器及其操作方法與伺服器系統 |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
US11350254B1 (en) | 2015-05-05 | 2022-05-31 | F5, Inc. | Methods for enforcing compliance policies and devices thereof |
US10505818B1 (en) | 2015-05-05 | 2019-12-10 | F5 Networks. Inc. | Methods for analyzing and load balancing based on server health and devices thereof |
US11757946B1 (en) | 2015-12-22 | 2023-09-12 | F5, Inc. | Methods for analyzing network traffic and enforcing network policies and devices thereof |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
US11178150B1 (en) | 2016-01-20 | 2021-11-16 | F5 Networks, Inc. | Methods for enforcing access control list based on managed application and devices thereof |
US10797888B1 (en) | 2016-01-20 | 2020-10-06 | F5 Networks, Inc. | Methods for secured SCEP enrollment for client devices and devices thereof |
US10397117B2 (en) | 2016-03-10 | 2019-08-27 | Sandvine Corporation | System and method for packet distribution on a network |
US10223179B2 (en) | 2016-05-17 | 2019-03-05 | International Business Machines Corporation | Timeout processing for messages |
US10791088B1 (en) | 2016-06-17 | 2020-09-29 | F5 Networks, Inc. | Methods for disaggregating subscribers via DHCP address translation and devices thereof |
US11063758B1 (en) | 2016-11-01 | 2021-07-13 | F5 Networks, Inc. | Methods for facilitating cipher selection and devices thereof |
US10505792B1 (en) | 2016-11-02 | 2019-12-10 | F5 Networks, Inc. | Methods for facilitating network traffic analytics and devices thereof |
US11496438B1 (en) | 2017-02-07 | 2022-11-08 | F5, Inc. | Methods for improved network security using asymmetric traffic delivery and devices thereof |
US10791119B1 (en) | 2017-03-14 | 2020-09-29 | F5 Networks, Inc. | Methods for temporal password injection and devices thereof |
US10812266B1 (en) | 2017-03-17 | 2020-10-20 | F5 Networks, Inc. | Methods for managing security tokens based on security violations and devices thereof |
US10931662B1 (en) | 2017-04-10 | 2021-02-23 | F5 Networks, Inc. | Methods for ephemeral authentication screening and devices thereof |
US10972453B1 (en) | 2017-05-03 | 2021-04-06 | F5 Networks, Inc. | Methods for token refreshment based on single sign-on (SSO) for federated identity environments and devices thereof |
US11343237B1 (en) | 2017-05-12 | 2022-05-24 | F5, Inc. | Methods for managing a federated identity environment using security and access control data and devices thereof |
US11122042B1 (en) | 2017-05-12 | 2021-09-14 | F5 Networks, Inc. | Methods for dynamically managing user access control and devices thereof |
US11658995B1 (en) | 2018-03-20 | 2023-05-23 | F5, Inc. | Methods for dynamically mitigating network attacks and devices thereof |
US11044200B1 (en) | 2018-07-06 | 2021-06-22 | F5 Networks, Inc. | Methods for service stitching using a packet header and devices thereof |
US10944714B1 (en) * | 2019-04-16 | 2021-03-09 | Amazon Technologies, Inc. | Multi-factor domain name resolution |
US20220021608A1 (en) * | 2021-09-23 | 2022-01-20 | Kshitij Arun Doshi | Software defined networking with en-route computing |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4058838A (en) * | 1976-11-10 | 1977-11-15 | International Telephone And Telegraph Corporation | Packet-switched facsimile communications system |
US4621359A (en) * | 1984-10-18 | 1986-11-04 | Hughes Aircraft Company | Load balancing for packet switching nodes |
US5097469A (en) * | 1989-05-19 | 1992-03-17 | Concord Communications, Inc. | Passive monitor for broadcast communication network |
US5274782A (en) * | 1990-08-27 | 1993-12-28 | International Business Machines Corporation | Method and apparatus for dynamic detection and routing of non-uniform traffic in parallel buffered multistage interconnection networks |
US5251152A (en) * | 1991-01-17 | 1993-10-05 | Hewlett-Packard Company | Storage and display of historical LAN traffic statistics |
US5742760A (en) * | 1992-05-12 | 1998-04-21 | Compaq Computer Corporation | Network packet switch using shared memory for repeating and bridging packets at media rate |
FR2727540B1 (fr) * | 1994-11-30 | 1997-01-03 | Bull Sa | Outil d'aide a la repartition de la charge d'une application repartie |
US5570346A (en) * | 1994-12-08 | 1996-10-29 | Lucent Technologies Inc. | Packet network transit delay measurement system |
US5774668A (en) * | 1995-06-07 | 1998-06-30 | Microsoft Corporation | System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing |
EP0753979A1 (de) * | 1995-07-13 | 1997-01-15 | International Business Machines Corporation | Methode und System für Wegesuche in einem schnellen Paketvermittlungsnetzwerk |
US5568471A (en) * | 1995-09-06 | 1996-10-22 | International Business Machines Corporation | System and method for a workstation monitoring and control of multiple networks having different protocols |
US5784633A (en) * | 1996-03-12 | 1998-07-21 | International Business Machines Corporation | System for obtaining status data unrelated to user data path from a modem and providing control data to the modem without interrupting user data flow |
US5828847A (en) * | 1996-04-19 | 1998-10-27 | Storage Technology Corporation | Dynamic server switching for maximum server availability and load balancing |
US5918021A (en) * | 1996-06-03 | 1999-06-29 | Intel Corporation | System and method for dynamic distribution of data packets through multiple channels |
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 |
US5864535A (en) * | 1996-09-18 | 1999-01-26 | International Business Machines Corporation | Network server having dynamic load balancing of messages in both inbound and outbound directions |
US5913041A (en) * | 1996-12-09 | 1999-06-15 | Hewlett-Packard Company | System for determining data transfer rates in accordance with log information relates to history of data transfer activities that independently stored in content servers |
US6003079A (en) * | 1997-02-27 | 1999-12-14 | Hewlett Packard Company | System and method for continuously measuring quality of service in a federated application environment |
US5742587A (en) * | 1997-02-28 | 1998-04-21 | Lanart Corporation | Load balancing port switching hub |
-
1997
- 1997-06-19 US US08/879,115 patent/US6263368B1/en not_active Expired - Lifetime
-
1998
- 1998-06-12 EP EP98401442A patent/EP0892531B1/de not_active Expired - Lifetime
- 1998-06-12 DE DE69835400T patent/DE69835400T2/de not_active Expired - Fee Related
- 1998-06-18 CA CA002241016A patent/CA2241016A1/en not_active Abandoned
- 1998-06-19 JP JP17290798A patent/JPH11143804A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JPH11143804A (ja) | 1999-05-28 |
US6263368B1 (en) | 2001-07-17 |
EP0892531A2 (de) | 1999-01-20 |
EP0892531B1 (de) | 2006-08-02 |
CA2241016A1 (en) | 1998-12-19 |
DE69835400D1 (de) | 2006-09-14 |
EP0892531A3 (de) | 2003-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69835400T2 (de) | Netzbelastungsausgleich für Mehrrechner Anbieter | |
DE69328666T2 (de) | Verfahren und Gerät um eine Anzahl Rechner als einen einzigen Host auf dem Netz erscheinen zu lassen | |
DE69837691T2 (de) | Lastverteilung zwischen Servern in einem TCP/IP-Netz | |
DE60029879T2 (de) | System zur mehrschichtigen Bereitstellung in Computernetzwerken | |
DE69702708T2 (de) | Verfahren und vorrichtung für klientverwaltete flusssteuerung in einem rechnersystem mit begrenztem speicher | |
DE69327576T2 (de) | Paralleles Rechnersystem | |
DE60308700T2 (de) | Dynamische fernkonfiguration eines webservers zur bereitstellung von kapazität auf anfrage | |
DE60024228T2 (de) | Dynamische zuweisung verkehrsklassen an einer prioritätswarteschlange in einer paketbeförderungsvorrichtung | |
DE69927285T2 (de) | Netzverwaltungssystem | |
DE69927252T2 (de) | Auf der Überwachung der Belegung von Puffern basierte Planung der Netzwerkkapazität | |
DE60301202T2 (de) | Verfahren und vorrichtung zur verkehrssteuerung einer web-farm | |
DE69628631T2 (de) | Dateneingangs/-ausgangsvorrichtung durch Referenzierung zwischen zentralen Verarbeitungseinheiten und Ein-/Ausgabevorrichtungen | |
DE69025558T2 (de) | Verfahren und Vorrichtung zur Überlastregelung in einem Datennetzwerk | |
DE69837938T2 (de) | Übergreifende bildung von server clustern mittels einer netzwerkflussvermittlung | |
DE69219141T2 (de) | Übertragungsemulator für lokales netz | |
DE69805952T2 (de) | Vorrichtung zur steuerung von verbindungen zwischen netzwerken | |
DE69934871T2 (de) | Verfahren und System zur optimalen Auswahl eines Webfirewalls in einem TCP/IP Netzwerk | |
DE60101841T2 (de) | Verfahren und vorrichtung zum verteilen der last in einer rechnerumgebung | |
DE69928860T2 (de) | System und Verfahren zur Auswahl von Servern für gespiegelte Sites | |
DE60000172T2 (de) | Verfahren und Vorrichtung für Lastverteilung in einem Weitbereichsnetz | |
DE60025129T2 (de) | Verfahren und Vorrichtung zur Bereitstellung von skalierbaren Diensten unter Benutzung einer Paketverteilungstabelle | |
DE3586430T2 (de) | Lokales netzwerk fuer numerische datenverarbeitungssysteme. | |
DE19882235B4 (de) | Verwendung von Web-Technologie für Teilnehmerverwaltungsaktivitäten | |
DE202015009264U1 (de) | Anycast-basiertes, wide-area-verteiltes kartierungs- und lastverteilungssystem | |
DE60204031T2 (de) | Hierarchische cachespeicherung in telekommunikationsnetzen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |