DE69835400T2 - Netzbelastungsausgleich für Mehrrechner Anbieter - Google Patents

Netzbelastungsausgleich für Mehrrechner Anbieter Download PDF

Info

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
Application number
DE69835400T
Other languages
English (en)
Other versions
DE69835400D1 (de
Inventor
Jean-Christophe Georges Daniel Martin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Application granted granted Critical
Publication of DE69835400D1 publication Critical patent/DE69835400D1/de
Publication of DE69835400T2 publication Critical patent/DE69835400T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • 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-Station 14, die über das Internet oder ein Intranet Zugriff auf eine Server-Station 10 anfordert. 2 veranschaulicht in größerem Detail eine mögliche Ausgestaltung bzw. Konfiguration eines Mehrrechner-Servers 10. Der Mehrrechner-Server 10 beinhaltet eine Mehrzahl von (im vorliegenden Fall vier) einzelnen Servercomputern 16.116.4. Jeder dieser Computer beinhaltet jeweils einen Netzwerkagenten 18.118.4. Die einzelnen Servercomputer 16.116.4 sind über Servernetzwerkverbindungen 20.120.4 mit einem Schalter 22 verbunden, der wiederum über eine Verbindung 25 mit dem Internet oder Intranet 12 aus 1 verbunden ist. Des weiteren ist in 1 ein Domainnamensystem-(Domain Name System, DNS-)Server 24 gezeigt, dessen Funktion später beschrieben wird.
  • Die Servercomputer 16.116.4 arbeiten als identische Kopien der jeweils anderen und sind in der Lage, alle möglichen von dem Internet oder Intranet 12 empfangenen Anforderungen zu bearbeiten. Der Schalter 22 verbindet die einzelnen Servercomputer 16.116.4 mit dem Internet oder Intranet 12. In idealer Weise sollten die Aufgaben gleichmäßig auf die einzelnen Servercomputer 16.116.4 verteilt sein, um die Gesamtbelastung der Serverseite 10 auszugleichen und so eine optimale Leistung zu erzielen. Um dies zu erreichen, ist es erforderlich, die einzelnen von dem Internet oder Intranet 12 empfangenen Anforderungen an die einzelnen Servercomputer 16.116.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.116.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 Servercomputer 16.116.4 in transparenter Weise erfolgt, so daß der Benutzer nur den Server 10 adressieren muß und dann die Aufgabe der Verteilung vom Server 10 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.116.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 Servercomputer 16.116.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.118.4 auf jedem Servercomputer 16.116.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-Server 24 kann dann so aufgebaut sein, daß er die einzelnen Agenten 18.118.4 überwacht, um die Belastung der Servercomputer zu bestimmen, und diese bei der Verteilung von Aufgaben berücksichtigt. Der DNS-Server 24 verwendet typischerweise dennoch einen Umlauf-Ansatz, jedoch prüft er vor der Zuweisung einer neuen Aufgabe an einen einzelnen Servercomputer 16.116.4 die derzeitige Belastung dieses Computers, wie sie durch den jeweiligen Agenten 18.118.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 von 4 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 von 10 veranschaulicht.
  • 3 ist eine schematische Übersicht über einen Mehrrechner-Server 33 zur Veranschaulichung einer ersten Ausführungsform der Erfindung. Es sei angemerkt, daß der Mehrrechner-Server 33 aus 3 im allgemeinen eine ähnliche Struktur hat wie der Aufbau des Standes der Technik aus 2. Insbesondere sind, wie es in 3 gezeigt ist, vier Servercomputer 16.116.4 über jeweilige Servernetzwerkverbindungen 20.120.4 mit einem Schalter 22 verbunden. Jeder der Servercomputer 16.116.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 Nachrichtenabfertiger 30 ausgestattet. Der Abfertiger 30 kann auf herkömmlicher Rechnerhardware, beispielsweise einer Workstation oder einem Klein- oder Großrechner mit entsprechender Leistungsfähigkeit, implementiert sein. Der Abfertiger 30 ist über eine Verbindung 26 mit dem externen Netz (Internet oder Intranet) verbunden. Der Abfertiger 30 ist so konfiguriert, daß er durch eine Adresse für den Mehrrechner-Server adressiert werden kann und die Auslieferung von Nachrichten an die einzelnen Servercomputer 16.116.4 auf Basis der Verkehrsbelastung des Netzwerks auf den Servernetzwerkerbindungen 20.120.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.116.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 Servercomputern 16.116.4 über die jeweiligen Servernetzwerkverbindungen 20.120.4 ausgehenden Verkehrs. Außerdem sei angemerkt, daß die Verkehrsbelastung auf den Netzwerkverbindungen 20.120.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 Abfertigers 30 von 3. 4 veranschaulicht die externe Internet- oder Intranetverbindung 26, die an einer Schnittstelle 38 empfangen wird. Für eingehende Nachrichten packt die Schnittstelle 38 das empfangene Internetnachrichtenprotokoll aus und kann unter der Steuerung einer Abfertigungssteuerung 36 eine Modifikation der Nachrichten vornehmen. Die Abfertigungssteuerung 36 steuert Adreßmodifikationen in der Schnittstelle 38 über eine Steuerungsverbindung 48. Die Abfertigungssteuerung 36 reagiert in der in 30 gezeigten Ausführungsform über eine Verbindung 46 auf einen Nachrichtenverkehrsüberwacher 34. Eine Schnittstelle 40 verbindet den Abfertiger 32 mit dem Schalter 22. Der Verkehrsüberwacher 34 ist in der in 4 gezeigten Ausführungsform so angeschlossen, daß er den Nachrichtenverkehr, der sowohl an der Schnittstelle 38 als auch an der Schnittstelle 40 empfangen wird, überwacht. Der Überwacher 34 pflegt eine Tabelle 50, wie es in 5 gezeigt ist. Diese beinhaltet eine Anzeige des Verkehrsvolumens bzw. -aufkommens für Verkehr von den Servercomputern 16.116.4 über die jeweiligen Verbindungen 20.120.4 (im vorliegenden Fall beispielsweise durch Pflegen einer Verkehrszählung TC1–TC4 für die jeweiligen Verbindungen 20.120.4). Die Zahlen 20.1, 20.1, 20.3 und 20.4 bei 52 repräsentieren die Verbindungen 20.1, 20.2, 20.3 bzw. 20.4. Die Verkehrszähler FC1–FC4 sind in der Tabelle 50 bei 54 gezeigt. Der Überwacher 34 pflegt auch eine Tabelle, die den Verkehr zu den Servercomputern 16.116.4 auf den jeweiligen Verbindungen 20.120.4 (TC1–TC3) zeigt, wie es in 5 bei 56 und 58 gezeigt ist.
  • Die Zählungen FC1–FC4 können beispielsweise die Form der Anzahl von Nachrichtenpaketen haben, die über die jeweiligen Verbindungen 20.120.4 empfangen werden. Desgleichen können die Verkehrszählungen TC1–TC4 in der Form einer Zählung der über die jeweiligen Verbindungen 20.120.4 an die einzelnen Servercomputer 16.116.4 übertragenen Nachrichtenpakete vorliegen. Um die Tabelle 50 zu pflegen, reagiert der Verkehrsüberwacher auf Adreßdaten in den an den Schnittstellen 38 und 40 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 Verbindung 26 oder der Verbindung 32 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 in 6 gezeigt ist, beinhaltet ein Paket 60 eine Kopfzeile 62, die eine Ziel adresse 64 und eine Quelladresse 66 sowie einen Datenanteil 68 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 Servercomputer 16.116.4 (beispielsweise 161–164). Die IP-Adresse enthält die Gesamtadresse des Mehrrechner-Servers 33. 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 Computern 16.116.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-Server 33 sowie die geeignete Servernetzwerkadresse für den Servercomputer 16.116.4, der die Antwort erzeugt hat. Aus der Netzwerkadresse dieses Teils kann daher die Servernetzwerkverbindung 20.120.4 identifiziert werden, über welche die Antwortnachricht übertragen wurde.
  • Die Schnittstelle 38 liefert eine eingehende Nachricht von der Verbindung 26 unter der Steuerung der Abfertigungssteuerung 36 aus, indem sie die Adresse so modifiziert, daß diese die Adresse desjenigen Servercomputers 16.116.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 Servercomputer 16.116.4 über die interne Verbindung 42 an die Schnittstelle 40 übertragen wurde, in der Kopfzeilenadresse enthalten, ehe diese Nachricht die Schnittstelle 38 verläßt.
  • Dementsprechend ist ein Verkehrsüberwacher 34 so aufgebaut, daß er auf Zieladressen für Nachrichten zugreift, die von der Schnittstelle 38 zu der Schnittstelle 40 übertragen werden sollen, um sie über den Schalter 22 und die Netzwerkverbindungen 20.1-20.4 an die einzelnen Servercomputer 16.116.4 weiterzuleiten. Er verwendet diese Informationen auch, um den geeigneten Eintrag 161–164 (bei 56) zu identifizieren, für den die Paketzählung TC1–TC4 inkrementiert bzw. heraufgesetzt werden soll, um ein neues Nachrichtenpaket, welches über die betreffende Netzwerkverbindung 20.120.4 versendet werden soll, zu berücksichtigen. In ähnlicher Weise ist der Verkehrsüberwacher 34 so angeordnet, daß er die Quelladresse von Nachrichten, die von den einzelnen Computern 16.116.4 empfangen werden, überwacht, um den geeigneten Eintrag 161–164 (bei 52) in der Tabelle 50 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.120.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 Verbindungen 20.120.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ößeninformationen 61 aus der Paketkopfzeile herausziehen bzw. extrahieren und die Informationen in der Tabelle 50 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 Schnittstellen 38 und 40 identifizierten Verkehrsinformationen reagiert, um Daten zur Speicherung in der Tabelle 50 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 Verbindung 26 eingehenden Anforderungen in den meisten Fällen bedeutend kleiner als die von den einzelnen Servercomputern 16.116.4 ausgehenden Antworten. In diesem Fall könnte, da der Verkehrsfluß zu den Servercomputern 16.116.4 über die jeweiligen Verbindungen 20.120.4 deutlich geringer ist als der Verkehrsfluß in der entgegengesetzten Richtung, eine Ausführungsform der Erfindung beispielsweise die Tabelle 52/54 nur für die von den Servercomputern 16.116.4 über die Verbindungen 20.120.4 ausgehenden Antwortpakete pflegen.
  • Die Abfertigungssteuerung 36 reagiert auf die in der Tabelle 50 aus 5 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 Verbindung 26 zu den einzelnen Servercomputern 16.116.4 zu bestimmen. Die Zuweisung wird durch eine Veränderung der Adresse, so daß sie der Adresse eines der Servercomputer 16.116.4 entspricht, und anschließendes Weiterleiten der Nachricht von der Schnittstelle 38 zu der Schnittstelle 40 für die Übertragung an den Schalter 22 beeinflußt. Der Schalter 22 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 ter 16.116.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 Nachrichtenabfertigers 30 aus 4.
  • 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 Schnittstelle 40 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überwacher 34 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überwacher 72 getrennt von dem Abfertiger 30 vorgesehen ist. In diesem Fall überwacht der Verkehrsüberwacher 72 den gesamten Nachrichtenverkehr über die Verbindung 32 und verwendet die Quell- und Zielinformationen zusammen mit einer Anzahl von Paketen und/oder der Paketgrößeninformationen (616) oder andere Parameter, um eine oder mehrere Tabellen für den Verkehrsfluß zu und/oder von den Servercomputern 16.116.4 über die jeweiligen Verbindungen 20.120.4 zu pflegen. In diesem Fall reagiert die Abfertigungssteuerung 36 entsprechend einem geeigneten Algorithmus auf die in dem Verkehrsüberwacher 72 gespeicherte Tabelle, um die Auslieferung der eingehenden Client-Anforderung an die einzelnen Servercomputer 16.116.4 über die jeweiligen Verbindungen 20.120.4 zu bestimmen.
  • 9 ist eine schematische Darstellung einer weiteren Ausführungsform der Erfindung, bei der die Verkehrsüberwachung in dem Schalter 22 stattfindet. In dieser Ausführungsform wird ein Abfertigungs- bzw. Auslieferungspufferüberwacher 82 bereitgestellt, um die einzelnen Auslieferungspuffer für die Verbindungen 20.120.4 zu überwachen, um fallengelassene Pakete (d.h. diejenigen Pakete, die nicht erfolgreich über die jeweiligen Verbindungen 20.120.4 an die einzelnen Servercomputer 16.116.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überwacher 82 die Fehlerrate der Auslieferungspuffer 84 durch die logischen Verbindungen 86 und liefert über eine Verbindung 88 Informationen an die Abfertigungssteuerung 36, die die Übertragungsfehlerrate für jede der Verbindungen 20.120.4 anzeigen. In dem Beispiel von 9 reagiert die Abfertigungssteuerung 36 dann auf die jeweiligen von dem Auslieferungspufferüberwacher 82 angezeigten Fehlerraten, um die Zuweisung von Anforderungen, die von der externen Verbindung 26 an der Schnittstelle 38 empfangen werden, zu bestimmen.
  • 10 ist eine weitere Ausführungsform der Erfindung, bei der zwei Abfertiger parallel vorgesehen sind. Ein Aufbau, wie er in 10 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 Abfertiger 30.1 und 30.2 kann mit jeweiligen Internetadressen versehen sein, und sie sind über die Verbindungen 32.1 und 32.2, den Schalter 22 und die Verbindungen 20.120.4 mit den einzelnen Servercomputern 16.116.4 verbunden. In diesem Beispiel wird ein Verkehrsüberwacher 92 bereitgestellt, der den gesamten Verkehr über die Verbindungen 32.1 und 32.2 auf Basis der Ziel-/Quelladressen, wenn sie die Servercomputer 16.116.4 betreffen, überwacht. Auf diese Weise pflegt der gemeinsame Überwacher 92 eine Anzeige des Verkehrs über die jeweiligen einzelnen Verbindungen 20.120.4. Die Abfertigungssteuerungen 36.1 und 36.2 reagieren auf die Verkehrsinformationen, die von dem Verkehrsüberwacher 92 über die jeweiligen Verbindungen 96.1 und 96.2 gepflegt werden. Entsprechend können die Abfertigungssteuerungen 36.1 und 36.2 die Zuweisung eingehender Anforderungen über die Verbindungen 26.1 bzw. 26.2 auf Basis des Verkehrs auf den einzelnen Servernetzwerkverbindungen 20.120.4 in koordinierter Weise bereitstellen.
  • 11 ist eine Variante der Ausführungsform von 10, bei der in jedem der Abfertiger 30.1 bzw. 30.2 ein separater Verkehrsüberwacher 34.1 bzw. 34.2 vorgesehen ist. Jeder der Verkehrsvolumenüberwacher 34.1 und 34.2 kann im wesentlichen in der gleichen Weise betrieben werden wie der Verkehrsüberwacher 34 von 4. In diesem Fall ist es jedoch notwendig, daß die Verkehrsüberwacher 34.1 und 34.2 miteinander kommunizieren, wie es durch den Doppelpfeil 90 dargestellt ist, um sicherzustellen, daß die Abfertigungssteuerungen 36.1 und 36.2 in koordinierter Weise funktionieren. Anders ausgedrückt vereinigen die Verkehrsvolumenüberwacher 34.1 und 34.2 vorzugsweise die einzelnen gesammelten Verkehrsvolumendaten, um die Verkehrsvolumendaten in den Abfertigern 30.1 und 30.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)

  1. Nachrichtenabfertigungssystem für einen Mehrrechner-Server (33), der eine Mehrzahl von Servercomputern (16.116.4) mit jeweiligen Servernetzwerkverbindungen (20.120.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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. System nach einem der vorangegangenen Ansprüche, wobei der erste Nachrichtenabfertiger direkt mit den Servernetzwerkverbindungen verbunden ist.
  12. 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.
  13. 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.
  14. 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.
  15. 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.
  16. System nach Anspruch 13, wobei der Eintrag einen Eintrag verlorener Nachrichtenpakete für die Servernetzwerkverbindungen beinhaltet.
  17. 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.
  18. 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.
  19. 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.
  20. 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.
  21. 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.
  22. System nach einem der vorangegangenen Ansprüche, wobei das Telekommunikationsnetz das Internet ist, der Mehrrechner-Server ein Internetserver ist und die Nachrichten Internetnachrichten sind.
  23. 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.
  24. System nach Anspruch 23, wobei jeder Nachrichtenabfertiger auf einen gemeinsamen Satz von Parametern, die die Netzwerkbelastung auf den Servernetzwerkverbindungen repräsentieren, reagiert.
  25. 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.
  26. Computersoftware, die auf einem Computer ausführbar ist, um das Nachrichtenabfertigungssystem gemäß einem der vorangegangenen Ansprüche zu implementieren.
  27. Computersoftware nach Anspruch 26 auf einem Datenträger.
  28. Verfahren zum Abfertigen empfangener externer Client-Anforderungen an Servercomputer (16.116.4) eines Mehrrechner-Servers (33), der eine Mehrzahl von Servercomputern, die über jeweilige Servernetzwerkverbindungen (20.120.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.
  29. 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.
  30. 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.
  31. 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.
  32. 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.
  33. 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.
  34. 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.
  35. Verfahren nach Anspruch 34, wobei der Eintrag einen Eintrag verlorener Nachrichtenpakete beinhaltet.
  36. 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.
  37. 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.
  38. 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.
  39. Verfahren nach Anspruch 38, wobei das Telekommunikationsnetz das Internet ist, der Mehrrechner-Server ein Internetserver ist und die Nachrichten Internetnachrichten sind.
  40. Computersoftware, die auf einem Computer ausführbar ist, um das Verfahren gemäß einem der Ansprüche 28 bis 39 zu implementieren.
  41. Computersoftware nach Anspruch 40 auf einem Datenträger.
DE69835400T 1997-06-19 1998-06-12 Netzbelastungsausgleich für Mehrrechner Anbieter Expired - Fee Related DE69835400T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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