DE69928860T2 - System und Verfahren zur Auswahl von Servern für gespiegelte Sites - Google Patents

System und Verfahren zur Auswahl von Servern für gespiegelte Sites Download PDF

Info

Publication number
DE69928860T2
DE69928860T2 DE69928860T DE69928860T DE69928860T2 DE 69928860 T2 DE69928860 T2 DE 69928860T2 DE 69928860 T DE69928860 T DE 69928860T DE 69928860 T DE69928860 T DE 69928860T DE 69928860 T2 DE69928860 T2 DE 69928860T2
Authority
DE
Germany
Prior art keywords
server
user
servers
best route
computer
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
DE69928860T
Other languages
English (en)
Other versions
DE69928860D1 (de
Inventor
Abhishek Palo Alto Chauhan
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 DE69928860D1 publication Critical patent/DE69928860D1/de
Publication of DE69928860T2 publication Critical patent/DE69928860T2/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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet
    • 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/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/1017Server selection for load balancing based on a round robin mechanism

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft das Zugreifen auf Daten im Internet über ein Computersystem. Insbesondere betrifft die vorliegende Erfindung ein System und ein Verfahren zum Auswählen eines Servers für angeforderte Daten.
  • 2. Beschreibung des Standes der Technik
  • Mit der zunehmenden Beliebtheit des Internets wird das Bereitstellen eines schnellen Zugriffs auf eine angeforderte Speicherstelle schnell zu einer Angelegenheit von großer Bedeutung. Wenn eine beliebte Webseite von einem einzelnen Computer gehostet wird, kann der Internetverkehr zu dem Computer einen gewaltigen Umfang haben. Um dieses Problem zu lösen, können mehrere Computer verwendet werden, um die Webseite zu hosten, derart, dass jeder Hostcomputer, der normalerweise als ein Server bezeichnet wird, eine Kopie der Webseite enthält. Falls viele Server an demselben Ort vorhanden sind, kann die Netzverbindung zu diesem Ort während einer Zeit mit starkem Internetverkehr überlastet werden. Um eine Überlastung der Netzverbindung zu vermeiden, können gespiegelte Server (Mirrored Servers) an anderen Sites angeordnet werden. Diese Sites werden hier als gespiegelte Sites bezeichnet. Die Verwendung von mehreren Computern, um eine Webseite zu hosten, wird gewöhnlich als Spiegeln von Servern bezeichnet.
  • Die 1 und 2 zeigen grundlegende Kommunikationswege im Internet. 1 ist ein Schema, das die grundlegende Organisation des Internets zeigt. Es sind Gruppen von Netzwerken 100A100C, 100D100F und 100G100I dargestellt, die über Router 102A102F verbunden sind. Durch Kombination einer Anzahl von Netzwerken und Routern wird ein autonomes System (AS) geschaffen. Eine Reihe von Netzwerken innerhalb eines AS kann auf konsistente Weise verschiedene Aufgaben mit Standards und Protokollen innerhalb der AS 104A104C ausführen. Jedes AS 104A104C ist als mit einem anderen AS über ein Gateway 106A106B gekoppelt dargestellt. Die Gateways 106A106B enthalten normalerweise genügend Informationen über das Internet, so dass jedes Gateway über Daten bezüglich jedes anderen Gateways verfügt. Jedes Gateway verfügt normalerweise über Routingtabellen, welche Informationen betreffs einer Strecke (Route) von Punkt A zu Punkt B für das gesamte Internet enthalten.
  • 2 ist ein Blockschaltbild, das einen Weg, der von einer Anforderung eines Benutzers für eine bestimmte Adresse genommen wird, und den Weg, der beim Empfangen dieser Adresse genommen wird, zeigt. 2 zeigt einen Benutzer 200, der eine Adresse wie etwa www.sun.com von einem lokalen Namensdienst 201 anfordert. Der lokale Namensdienst 201 des Benutzers kann ein Dienst wie etwa Netcom oder AT&T sein. Der lokale Namensdienst 201 fordert dann die Adresse für sun.com von einem Domain Name Service (Domainnamendienst-, DNS) Server 202a an. Normalerweise fordert der DNS Server 202a die Adresse für sun.com von einem anderen DNS Server 202b an, welcher wiederum normalerweise eine Anforderung an einen anderen DNS Server 202c richtet. Diese Reihe von Anforderungen setzt sich fort, bis die Anforderung für die Adresse von sun.com bei einem autoritativen Namensdienst (Autoritativer ND) 204 ankommt. Der autoritative ND 204 kann die Adresse von sun.com bestimmen. In dem Beispiel in 2 ist dargestellt, dass gespiegelte Server IP1 206a, IP2 206b, IP3 206c verwendet werden. Der autoritative ND 204 bestimmt, mit der Adresse welches Servers 206a206c auf die Anforderung für eine Adresse wie sun.com geantwortet werden soll. Die gespiegelten Server 206a206c können sich an verschiedenen geographisch unterschiedlichen Orten befinden, wie etwa an einem Ort im Osten der USA, einem Ort im Westen der USA und einem Ort in Europa. Ein Vorteil des Vorhandenseins gespiegelter Server, die sich an verschiedenen Orten befinden, besteht darin, dass mehrere Orte mehr Internetverkehr aufnehmen können als ein einziger Ort. Ein weiterer Vorteil des Vorhandenseins gespiegelter Server an verschiedenen Orten ist, dass, wenn sich der Benutzer in Europa befindet, ein Zugreifen auf den europäischen Server 206c höchstwahrscheinlich schneller erfolgen kann, als wenn der europäische Benutzer auf den Server 206b an der Westküste der USA zugreift.
  • Der autoritative ND 204 kann einen gespiegelten Server auf der Grundlage verschiedener Faktoren auswählen. Zu diesen Faktoren gehören die Last der einzelnen Server und der Standort des Benutzers. Im Idealfall sollte die angeforderte Adresse sehr schnell an den Benutzer zurückgesendet und so schnell wie möglich auf das Computersystem des Benutzers heruntergeladen werden. Die Zeit zwischen dem Absenden der Anforderung und dem Empfangen der Adresse wird als Latenzzeit bezeichnet. Die Zeit, die benötigt wird, um die angeforderten Daten herunterzuladen, wird normalerweise durch die Bandbreite bestimmt.
  • Sobald der autoritative ND 204 bestimmt hat, auf welchen gespiegelten Server der Benutzer zugreifen sollte, sendet der autoritative ND 204 die Adresse des ausgewählten gespiegelten Servers über die Strecke, die von der Anforderung des Benutzers genommen wurde, zurück zum Benutzer.
  • Ein Problem tritt auf, wenn ein Benutzer eine bestimmte Webseite mit einem Lesezeichen versieht. Wenn ein Benutzer eine bestimmte Webseite mit einem Lesezeichen versieht, versieht der Benutzer normalerweise einen bestimmten Server mit dem Lesezeichen. Wenn zum Beispiel ein Benutzer in Kalifornien zu dem europäischen Server 206c geschickt wird und der Benutzer die Seite mit einem Lesezeichen versieht, so kehrt der Benutzer, wenn er die Seite von einem Lesezeichen aus erneut aufruft, zu dem europäischen Server 206c zurück. Jedoch kann, wenn der Benutzer zum zweiten Mal auf den europäischen Server 206c zugreift, der europäische Server stark belastet sein, während der Server im Osten der USA 206a eine geringe Last aufweisen kann. In dieser Situation kann es für den Benutzer besser sein, wenn er auf den Server 206a im Osten der USA anstatt auf den europäischen Server 206c zugreift. Da der Benutzer einen bestimmten Server mit einem Lesezeichen versehen hat, wird das in dem autoritativen ND 204 eingerichtete Schema, gleichgültig, welcher Art dieses ist, normalerweise vereitelt. Wenn der Benutzer einen bestimmten Server mit einem Lesezeichen versehen hat, ist es außerdem für den Benutzer besser, wenn auf den mit dem Lesezeichen versehenen Server schnell zugegriffen werden kann. Zum Beispiel kann sich der Benutzer in Kalifornien in einer günstigeren Situation befinden, wenn sich der mit dem Lesezeichen versehene Server näher am Benutzer befindet als der europäische Server 206c. Diese mit dem Bookmarking (Anbringen von Lesezeichen) zusammenhängenden potentiellen Probleme treten normalerweise in http Umleitungsmechanismen auf, welche für den Benutzer nicht transparent sind.
  • Die von dem autoritativen ND 204 angegebene Adresse ist normalerweise für ein vorgegebenes begrenztes Zeitintervall gültig. Wenn der Benutzer einen Zugriff auf dieselbe Webseite anfordert, welche der Benutzer zuvor angefordert hatte, sollte der Benutzer den autoritativen ND 204 erneut nach der Adresse der Webseite fragen, wenn das vorhergehende Zeitintervall seit der letzten Anforderung verstrichen ist. Auf diese Weise kann der autoritative ND 204 die Situation neu bewerten und neu bestimmen, zu welchem Server der Benutzer geroutet werden soll.
  • Von verschiedenen autoritativen NDs 204 wurden mehrere Schemata zum Bestimmen, welcher der gespiegelten Server zu verwenden ist, benutzt. Ein solches Schema ist ein Systemschema mit Lastverteilung (Load Balancing Named, LB-named). Bei diesem Schema ermittelt der autoritative ND 204, wie viele Benutzer von jedem gespiegelten Server bedient werden, und routet einen neuen Benutzer zu dem gespiegelten Server mit der geringsten Last. Die Last wird durch die Anzahl von Personen, die zu einem gegebenen Zeitpunkt auf den Server zugreifen, und die Leistung des Servers bestimmt. Das Problem bei dem Lb-names Schema besteht darin, dass das Schema, obwohl es einen Lastausgleich berücksichtigt, indifferent gegenüber dem Standort des Benutzers ist. Der Standort des Benutzers ist normalerweise ein Faktor, der bei der Bestimmung der Latenzzeit eine Rolle spielt. Wenn der Benutzer sehr weit von dem zugewiesenen Server entfernt ist, dauert es normalerweise länger, um auf den fernen Server zuzugreifen, als wenn sich der Benutzer sehr nahe bei dem Server befinden würde, selbst wenn die Last des näheren Servers größer als die Last des ferneren Servers ist.
  • Ein anderes Schema, welches traditionell von dem autoritativen ND 204 angewendet wird, ist der Round-Robin-DNS. Beim Round-Robin-DNS werden die Server einfach abwechselnd reihum verwendet. Das Problem beim Schema des Round-Robin-DNS besteht darin, dass es nicht die verschiedenen Lasten der gespiegelten Server zu irgendeinem gegebenen Zeitpunkt berücksichtigt. Außerdem berücksichtigt das Schema des Round-Robin-DNS auch nicht den Standort des Benutzers. Dementsprechend werden die zwei Faktoren der Latenzzeit und der Bandbreite normalerweise bei dem Round-Robin-Schema (Ringschema) nicht berücksichtigt.
  • Noch ein weiteres Schema kann als ein AS Hop Count Schema (Schema der Anzahl der AS-Hops) bezeichnet werden. Bei dem AS Hop Count Schema werden die zwischen dem Benutzer und einem gespiegelten Server befindlichen autonomen Systeme gezählt, und der Server mit der kleinsten Anzahl autonomer Systeme, die sich zwischen dem Benutzer und dem Server befinden, wird für die Verwendung durch diesen Benutzer ausgewählt. Das AS Hop Count Schema beruht auf der Annahme, dass die Faktoren der Bandbreite und der Latenzzeit sich ungefähr in der Anzahl autonomer Systeme widerspiegeln, die sich zwischen dem Benutzer und einem Server befinden. In der Praxis können autonome Systeme jedoch von unterschiedlicher Größe sein, und ein kleines autonomes System kann normalerweise nicht so viel Verkehr aufnehmen wie ein großes autonomes System. Dementsprechend kann eine Strecke, die eine größere Anzahl autonomer Systeme enthält. in Wirklichkeit schneller sein als eine Strecke mit einer kleineren Anzahl autonomer Systeme, wenn in der Strecke mit der kleineren Anzahl autonomer Systeme ein sehr kleines AS enthalten ist.
  • In BHATTACHARJEE S. ET AL: "Application-layer anycasting", Proceedings of the IEEE Infocom '97. The conference on Computer Communications. 16th Annual Joint Conference of the IEEE Computer and Communications Societies. Driving the Information Revolution, Kobe, 7.–12. April 1997, Bd. 3, 7. April 1997 (1997-04-07), Seiten 1388–1396 1396 Bd. 3, XP002109465 Institute of Electrical and Electronics Engineers ISBN: 0-8186-7782-1, wird ein Verfahren zum Auswählen eines Servers für einen Benutzer aus einer Anzahl von Servern offenbart, indem der Server bestimmt wird, welcher vom Benutzer gelieferten Kriterien genügt, wobei, falls kein Server den vom Benutzer gelieferten Kriterien genügt, ein zufälliger Server ausgewählt werden kann.
  • In COLAJANNI M. ET AL: "Adaptive TTL Schemes for Load Balancing of Distributed Web Servers", Performance Evaluation Review, Bd. 25, Nr. 2, 1. September 1997 (1997-09-01), Seiten 36–42, XP000199853 ISSN: 0163–5999 wird eine lokale Namensserverstation offenbart, welche eine "Name-auf-Adresse-Abbildung" enthält, die von einem Domainnamenserver (DNS) zur Verfügung gestellt wird. Diese Name-auf-Adresse-Abbildung kann ein zugehöriges Gültigkeitsdauer- (Time-to-live-, TTL) Attribut aufweisen, das mit ihr verknüpft ist, so dass die Name-auf-Adresse-Abbildung nur für einen Zeitraum gültig ist, der durch das TTL-Attribut spezifiziert wird. Dies soll dazu dienen, Probleme zu vermeiden, die damit zusammenhängen, dass "Name-auf-Adresse-Abbildungen" veralten.
  • In COLAJANNI M. ET AL: "Scheduling Algorithms for Distributed Web Servers" wird die Verwendung des Round-Robin-Schema (Ringschemas) zum Abbilden verschiedener Clients auf verschiedene Webserver in einem logischen Cluster offenbart. Dies ist ein Weg, wie versucht werden kann, die Last gleichmäßig zwischen Servern zu verteilen.
  • In WO-A-98/18076 werden die Arten von Prüfungen offenbart, welche in einem Netz verwendet werden können, um Informationen darüber zur Verfügung zu stellen, ob ein entfernter Server erreichbar ist, oder um Informationen über den Weg zur Verfügung zu stellen, den eine Nachricht von einem Benutzerendgerät zu einem entfernten Server nimmt. Das in diesem Dokument offenbarte Verfahren verwendet diese Tests, um Informationen über die Leistungsfähigkeit des Netzes zu erfassen. Das offenbarte Verfahren führt die Prüfung des Netzes durch und bestimmt den besten Zustellungsort, bevor der Server einer besten Strecke ausgewählt wird, selbst wenn die beste Strecke für den betreffenden Benutzer zuvor ermittelt worden ist.
  • Benötigt werden ein System und ein Verfahren zur Auswahl von Servern für gespiegelte Sites, welche den Zugriff optimieren und für den Benutzer transparent sind. Die vorliegende Erfindung soll diesem Bedarf gerecht werden.
  • Die vorliegende Erfindung besteht in einem System und einem Verfahren zum Durchführen der Auswahl von Servern für gespiegelte Sites. Gemäß einem Aspekt stellt die Erfindung ein Verfahren zur Auswahl von Computerservern für einen Benutzer in einem Computernetzwerk bereit, das eine Vielzahl von Servern enthält, wobei das Verfahren umfasst: Entscheiden, ob für den Benutzer bereits eine beste Strecke ermittelt worden ist; Auswählen eines Servers aus der Vielzahl von Servern als einen Server einer besten Strecke, wenn die beste Strecke für den Benutzer bereits ermittelt worden ist; Auswählen eines Servers aus der Vielzahl von Servern als einen Server eines Auswahlschemas, wenn für den Benutzer die beste Strecke nicht bereits ermittelt worden ist, wobei die Auswahl des Servers des Auswahlschemas über ein Auswahlschema getroffen wird, wobei das Auswahlschema das Ermitteln der besten Strecke für den Benutzer nicht einschließt; und anschließend Ermitteln der besten Strecke für den Benutzer, wenn die beste Strecke für den Benutzer nicht bereits ermittelt worden ist.
  • Gemäß einem anderen Aspekt stellt die Erfindung ein System zur Auswahl von Computerservern für einen Benutzer in einem Computernetzwerk bereit, das eine Vielzahl von Servern enthält, wobei das System umfasst: Mittel zum Entscheiden, ob für den Benutzer bereits eine beste Strecke ermittelt worden ist; Mittel zum Auswählen eines Servers aus der Vielzahl von Servern als einen Server einer besten Strecke, wenn die beste Strecke für den Benutzer bereits ermittelt worden ist; und Mittel zum Auswählen eines Servers aus der Vielzahl von Servern als einen Auswahlserver, wenn die beste Strecke für den Benutzer nicht bereits ermittelt worden ist, wobei die Auswahl des Servers des Auswahlschemas über ein Auswahlschema getroffen wird, wobei das Auswahlschema das Ermitteln der besten Strecke für den Benutzer nicht einschließt; und anschließend Ermitteln der besten Strecke für den Benutzer, wenn die beste Strecke nicht bereits ermittelt worden ist.
  • Gemäß einem weiteren Aspekt stellt die Erfindung Computerprogrammcode bereit, der einen Satz von Befehlen umfasst, die, wenn sie von einem Computer ausgeführt werden, bewirken, dass der Computer das verfahren gemäß der Erfindung ausführt.
  • Gemäß noch einem weiteren Aspekt stellt die Erfindung ein Computerprogrammprodukt bereit, das ein per Computer lesbares Medium umfasst, welches Computerprogrammcode gemäß der Erfindung trägt.
  • Bei einer bevorzugten Ausführungsform fordert ein Benutzer eine Adresse über einen lokalen Namensdienst an, und der lokale Namensdienst fordert die Adresse von einem Server an, wobei zu Beispielen für diesen ein autoritativer Namensserver und ein Optimizer Name Server (Optimierer-Namensserver) (ONS) gehören. Falls der ONS bereits eine beste Strecke berechnet hat, welche für diesen Benutzer zutrifft, und eine vorgegebene Zeit, die für die beste Strecke zutrifft, noch nicht verstrichen ist, dann antwortet der ONS dem Benutzer mit dem Server der besten Strecke. Falls jedoch die beste Strecke nicht ermittelt worden ist oder die vorgegebene Zeit für die beste Strecke verstrichen ist, dann antwortet der ONS dem Benutzer über ein Auswahlschema, wie etwa einem Round-Robin-Schema (Ringschema), und leitet außerdem eine Ermittlung der besten Strecke ein, um zu ermitteln, welches die beste Strecke für diesen Benutzer ist.
  • Bei der bevorzugten Ausführungsform beginnt die Ermittlung der besten Strecke mit der Anforderung an sämtliche gespiegelten Server, eine Umlaufzeit an die anfordernde lokale Namensserverstation zu übermitteln, die von dem Benutzer verwendet wird. Jeder gespiegelte Server sendet dann eine Namensanfrage an die lokale Namensserverstation (Local Name Server, LNS). Die LNS würde dann mit einer Fehlernachricht antworten, welche angibt, dass kein solcher Name existiert. Jeder gespiegelte Server bestimmt dann seine eigene Umlaufzeit für die Namensanfrage und die Fehlernachricht und sendet die Umlaufzeit an den ONS. Der ONS empfängt die Umlaufzeiten aller gespiegelten Server und ermittelt, welcher gespiegelte Server die kürzeste Umlaufzeit (beste Strecke) aufweist. Die ermittelte beste Strecke wird dann für eine vorgegebene Zeit gespeichert. Falls dieselbe LNS innerhalb dieser vorgegebenen Zeit von dem ONS eine Adresse anfordert, so wird der gespiegelte Server mit der besten Strecke für diese spezielle LNS verwendet.
  • Anstatt dass jeder gespiegelte Server eine Namensanfrage an die LNS sendet, kann auch jeder gespiegelte Server ein Echopaket des Internet Control Message Protokolls (ICPM) an die LNS senden. Wenn das Echopaket von der LNS zurückgesendet wird, kann durch jeden gespiegelten Server eine Umlaufzeit bestimmt werden.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Schema, das die grundlegende Organisation des Internets veranschaulicht.
  • 2 ist ein Blockschaltbild, das einen Weg zeigt, der von einer Anforderung eines Benutzers für eine bestimmte Adresse genommen wird, sowie den Weg, der beim Empfangen dieser Adresse genommen wird.
  • 3 ist ein Blockschaltbild eines Computersystems, in welchem eine Ausführungsform der vorliegenden Erfindung resident sein kann.
  • 4 ist ein Systemschema, welches den Datenfluss des Systems zum Durchführen einer Auswahl von Servern für gespiegelte Sites gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
  • 5 ist ein Flussdiagramm eines Verfahrens gemäß einer Ausführungsform der vorliegenden Erfindung zum Durchführen einer Auswahl von Servern für gespiegelte Sites.
  • 6 ist ein Flussdiagramm eines Verfahrens gemäß einer Ausführungsform der vorliegenden Erfindung zur Ermittlung einer besten Strecke, die in Schritt 508 von 5 genannt ist.
  • 7 ist ein anderes Verfahren gemäß einer Ausführungsform der vorliegenden Erfindung zur Ermittlung einer besten Strecke, die in Schritt 508 von 5 genannt ist.
  • AUSFÜHRLICHE BESCHREIBUNG DE BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Die folgende Beschreibung wird dargelegt, um einen Durchschnittsfachmann in die Lage zu versetzen, die Erfindung zu realisieren und zu verwenden, und wird im Zusammenhang mit einer Patentanmeldung und ihren Anforderungen gegeben. Verschiedene Modifikationen der bevorzugten Ausführungsformen werden für Fachleute leicht ersichtlich sein, und die hier angewendeten allgemeinen Prinzipien können auf andere Ausführungsformen angewendet werden. Somit soll die vorliegende Erfindung nicht auf die dargestellte Ausführungsform beschränkt sein, sondern ist in dem weitesten Umfang zu betrachten, der mit den hier beschriebenen Prinzipien und Merkmalen im Einklang steht.
  • 3 ist ein Blockschaltbild eines Universal-Computersystems, das für das Ausführen der Verarbeitung gemäß einer Ausführungsform der vorliegenden Erfindung geeignet ist. 3 zeigt eine Ausführungsform eines Universal-Computersystems. Zum Ausführen der Verarbeitungsaufgaben der vorliegenden Erfindung können auch andere Architekturen und Konfigurationen von Computersystemen verwendet werden. Das Computersystem, das aus verschiedenen Untersystemen besteht, die weiter unten beschrieben sind, enthält mindestens ein Mikroprozessor-Untersystem (auch als Zentraleinheit oder ZE bezeichnet) 302. Das heißt, die Zentraleinheit 302 kann durch einen Ein-Chip-Prozessor oder durch mehrere Prozessoren implementiert sein. Die Zentraleinheit 302 ist ein Universal-Digitalprozessor, welcher den Betrieb des Computersystems steuert. Unter Verwendung von Befehlen, die aus einem Speicher 310 abgerufen wurden, steuert die Zentraleinheit 302 den Empfang und die Verarbeitung von Eingabedaten sowie die Ausgabe und Anzeige von Daten auf Ausgabegeräten.
  • Die Zentraleinheit 302 ist bidirektional mit dem Speicher 310 gekoppelt, welcher einen ersten Hauptspeicher enthalten kann, normalerweise einen Direktzugriffsspeicher (RAM), und einen zweiten Hauptspeicherbereich, normalerweise einen Nur-Lese-Speicher (ROM). Wie in der Technik wohlbekannt ist, kann ein Hauptspeicher als ein allgemeiner Speicherbereich und als Notizblockspeicher verwendet werden, und er kann auch verwendet werden, um Eingabedaten und verarbeitete Daten zu speichern. Er kann auch Programmieranweisungen und Daten in der Form von Datenobjekten und Textobjekten speichern, zusätzlich zu anderen Daten und Befehlen für Prozesse, die auf der Zentraleinheit 302 ablaufen. Wie in der Technik ebenfalls wohlbekannt ist, enthält der Hauptspeicher normalerweise grundlegende Betriebsanweisungen, Programmkode, Daten und Objekte, die von der Zentraleinheit 302 verwendet werden, um ihre Funktionen auszuführen. Die Hauptspeichervorrichtungen 310 können beliebige geeignete computerlesbare Speichermedien enthalten, die weiter unten beschrieben sind, in Abhängigkeit davon, ob zum Beispiel der Datenzugriff bidirektional oder unidirektional sein muss. Die Zentraleinheit 302 kann auch direkt und sehr schnell häufig benötigte Daten abrufen und in einem Cache-Speicher (nicht dargestellt) speichern.
  • Ein austauschbares Massenspeichergerät 312 stellt zusätzliche Datenspeicherkapazität für das Computersystem zur Verfügung und ist entweder bidirektional oder unidirektional mit der Zentraleinheit 302 gekoppelt. Zum Beispiel übermittelt ein spezielles austauschbares Massenspeichergerät, das allgemein als eine CD-ROM bekannt ist, normalerweise Daten unidirektional zu der Zentraleinheit 302, während eine Diskette Daten bidirektional zu der Zentraleinheit 302 übermitteln kann. Der Speicher 312 kann auch computerlesbare Medien wie etwa Magnetband, Flash-Speicher, auf einer Trägerwelle transportierte Signale, PC-Cards, tragbare Massenspeichergeräte, holographische Speichervorrichtungen und andere Speichervorrichtungen enthalten. Ein fester Massenspeicher 320 kann ebenfalls zusätzliche Datenspeicherkapazität zur Verfügung stellen. Das bekannteste Beispiel eines Massenspeichers 320 ist ein Festplattenlaufwerk. Die Massenspeicher 312, 320 speichern gewöhnlich zusätzliche Programmieranweisungen, Daten und ähnliches, welche normalerweise von der Zentraleinheit 302 nicht aktiv verwendet werden. Es ist leicht einzusehen, dass die Informationen, die in den Massenspeichern 312, 320 aufbewahrt werden, bei Bedarf auf eine standardmäßige Weise als Teil des Hauptspeichers 310 (z.B. RAM) als virtueller Speicher eingegliedert werden können.
  • Außer um der Zentraleinheit 302 den Zugriff auf Speicheruntersysteme zu ermöglichen, kann der Bus 314 verwendet werden, um auch anderen Untersystemen und Geräten einen Zugriff zu ermöglichen. Bei der beschriebenen Ausführungsform können diese einen Anzeigemonitor 318, eine Netzwerkschnittstelle 316, einen Tastatur 304 und ein Zeigegerät 306 umfassen, sowie je nach Erfordernis eine Schnittstelle für Hilfs-Ein-/Ausgabegeräte, eine Soundkarte, Lautsprecher und andere Untersysteme. Das Zeigegerät 306 kann eine Maus, ein elektronischer Stift, ein Trackball oder ein Tablett sein und ist zum Interagieren mit einer graphischen Benutzeroberfläche von Nutzen.
  • Die Netzwerkschnittstelle 316 gestattet es, die Zentraleinheit 302 mit einem anderen Computer, Computernetzwerk oder Telekommunikationsnetz unter Verwendung eines Netzanschlusses wie dargestellt zu koppeln. Es ist denkbar, dass die Zentraleinheit 302 über die Netzwerkschnittstelle 316 im Verlaufe der Durchführung der oben beschriebenen Verfahrensschritte Informationen, z.B. Datenobjekte oder Programmbefehle, von einem anderen Netzwerk empfangen könnte oder Informationen zu einem anderen Netzwerk ausgeben könnte. Informationen, die oft als eine Folge von Anweisungen dargestellt werden, die auf einer Zentraleinheit auszuführen sind, können zum Beispiel in der Form eines Computerdatensignals, das auf einer Trägerwelle transportiert wird, von einem anderen Netzwerk empfangen und zu einem anderen Netzwerk ausgegeben werden. Eine Schnittstellenkarte oder eine ähnliche Vorrichtung und geeignete Software, die durch die Zentraleinheit 302 implementiert ist, können verwendet werden, um das Computersystem an ein externes Netzwerk anzuschließen und Daten gemäß Standardprotokollen zu übertragen. Das heißt, Ausführungsformen des Verfahrens der vorliegenden Erfindung können entweder nur auf der Zentraleinheit 302 ausgeführt werden, oder sie können in einem ganzen Netzwerk wie etwa dem Internet, Intranetzen oder lokalen Netzen ausgeführt werden, in Verbindung mit einer entfernten Zentraleinheit, welche einen Teil der Verarbeitung übernimmt. Zusätzliche Massenspeichergeräte (nicht dargestellt) können ebenfalls über die Netzwerkschnittstelle 316 mit der Zentraleinheit 302 verbunden sein.
  • In Verbindung mit dem Computersystem kann eine Schnittstelle für Hilfs-Ein-/Ausgabegeräte (nicht dargestellt) verwendet werden. Die Schnittstelle für Hilfs-Ein-/Ausgabegeräte kann allgemeine und kundenspezifische Schnittstellen umfassen, welche es der Zentraleinheit 302 ermöglichen, Daten zu senden und, was typischer ist, von anderen Geräten zu empfangen, wie etwa von Mikrofonen, Berührungsbildschirmen, Wandlerkartenlesern, Bandlesern, Sprach- oder Schrifterkennern, biometrischen Lesegeräten, Kameras, tragbaren Massenspeichergeräten und anderen Computern.
  • Außerdem betreffen Ausführungsformen der vorliegenden Erfindung ferner Computerspeicherprodukte mit einem computerlesbaren Medium, welche Programmkode zum Ausführen verschiedener computerimplementierter Vorgänge enthalten. Das computerlesbare Medium ist ein beliebiges Datenspeichergerät, das Daten speichern kann, welche danach von einem Computersystem gelesen werden können. Das Medium und der Programmkode können jene sein, die für die Zwecke der vorliegenden Erfindung speziell entwickelt und hergestellt wurden, oder sie können von der Art sein, die den Durchschnittsfachleuten auf dem Gebiet der Computersoftware wohlbekannt ist. Beispiele computerlesbarer Medien sind unter anderem sämtliche Medien, die oben erwähnt wurden: magnetische Medien wie Festplatten, Disketten und Magnetband; optische Medien wie CD-ROMs; magnetooptische Medien wie etwa Floptical Disks; und speziell konfigurierte Hardwaregeräte wie anwendungsspezifische integrierte Schaltungen (Application Specific Integrated Circuits, ASICs), programmierbare logische Schaltungen (Programmable Logic Devices, PLDs) sowie ROM- und RAM-Geräte. Das computerlesbare Medium kann auch als ein Datensignal verteilt sein, das auf einer Trägerwelle über einem Netzwerk von gekoppelten Computersystemen transportiert wird, so dass der computerlesbare Code auf eine verteilte Weise gespeichert und ausgeführt wird. Zu den Beispielen von Programmkode gehören sowohl Maschinenkode, so wie er zum Beispiel von einem Compiler erzeugt wird, als auch Dateien, die Kode einer höheren Ebene enthalten, welcher mit Hilfe eines Interpretierers ausgeführt werden kann.
  • Für Fachleute ist klar, dass die oben beschriebenen Hardware- und Softwareelemente standardmäßig aufgebaut und konstruiert sind. Andere Computersysteme, die zur Verwendung mit der Erfindung geeignet sind, können zusätzliche oder weniger Untersysteme enthalten. Außerdem ist der Bus 314 beispielhaft für ein beliebiges Verbindungsschema, das dazu dient, die Untersysteme zu verknüpfen. Das in 3 dargestellte Computersystem ist lediglich ein Beispiel eines Computersystems, das für die Verwendung in Verbindung mit der Erfindung geeignet ist. Es können auch andere Computerarchitekturen, die andere Konfigurationen von Teilsystemen aufweisen, verwendet werden.
  • 4 ist ein Blockschaltbild eines Systems gemäß einer Ausführungsform der vorliegenden Erfindung zum Durchführen einer Auswahl von Servern für gespiegelte Sites. 4 zeigt außerdem den Datenfluss zwischen Komponenten. Ein Benutzer 400 sendet eine Anforderung für eine Adresse an den lokalen Namensdienst 402 des Benutzers. Der lokale Namensdienst 402 fordert dann die Adresse von einem Optimizer Name Server (Optimierer-Namensserver) (ONS) 404 an. Die Anforderung von der lokalen Namensserverstation (lokale NS) 402 kann einen Weg über mehrere Server nehmen, bevor sie den ONS 404 erreicht.
  • Der ONS 404 ist vorzugsweise ein Namensserver, welcher speziell Anfragen wie etwa Namensanfragen beantworten kann. Obwohl der ONS mit mehr als einem Namen arbeiten kann, ist er auf ungefähr zwei oder drei Namen begrenzt. Stattdessen kann der Namensserver 404 auch ein herkömmlicher ANS sein. Dementsprechend kann ein herkömmlicher ANS entweder zusätzlich zu einem ONS oder anstelle eines ONS verwendet werden, um eine größere Anzahl von Namen zu handhaben. Der ONS und die gespiegelten Server sind vorzugsweise in JAVATM implementiert. Weitere Einzelheiten der Funktionen des ONS werden in Verbindung mit den 5, 6 und 7 beschrieben.
  • Der in 4 dargestellte Datenfluss wird am besten verständlich, wenn er in Verbindung mit den 5, 6 und 7 betrachtet wird. 5 ist ein Flussdiagramm eines Verfahrens gemäß einer Ausführungsform der vorliegenden Erfindung zur Auswahl von Servern für gespiegelte Sites. 6 ist ein Flussdiagramm eines Verfahrens zur Ermittlung einer besten Strecke von Schritt 508 in 5. 7 zeigt ein anderes Verfahren zur Ermittlung einer besten Strecke von Schritt 508 in 5.
  • Das Verfahren gemäß der vorliegenden Erfindung zum Durchführen der Auswahl von Servern für gespiegelte Sites ist aus den Beispielen ersichtlich, die in 4 und 5 dargestellt sind. Der Benutzer 400 fordert von der lokalen NS (LNS) 402 in Schritt 500 eine Adresse mit einem Namen an. Die LNS nimmt schließlich in Schritt 502 mit dem ONS 404 Kontakt auf und fordert von ihr die Adresse an. Danach wird in Schritt 504 von dem ONS ermittelt, ob für diese LNS bereits eine beste Strecke ermittelt worden ist, welche noch gültig ist. Eine Ermittlung einer besten Strecke ist vorzugsweise nur für eine vorgegebene Zeit wie etwa dreißig Minuten gültig. Falls für diese LNS eine beste Strecke ermittelt worden ist, welche noch innerhalb der vorgegebenen Zeit liegt, so antwortet in Schritt 506 der ONS 404 an die LNS 402 mit dem gespiegelten Server der besten Strecke.
  • Falls jedoch die beste Strecke für diese LNS nicht ermittelt worden ist oder die vorgegebene Zeit verstrichen ist, so antwortet in Schritt 508 der ONS 404 der LNS 402 über ein Auswahlschema wie etwa ein Ringschema. Außerdem wird, falls eine beste Strecke für diese LNS nicht ermittelt worden ist, in Schritt 508 eine Ermittlung der besten Strecke für die LNS eingeleitet.
  • Ein bevorzugtes Verfahren der Ermittlung der besten Strecke (Schritt 508 von 5) gemäß einer Ausführungsform der vorliegenden Erfindung kann unter Bezugnahme auf die 4 und 6 beschrieben werden. Beim Einleiten der Ermittlung der besten Strecke fordert in Schritt 600 der ONS 404 von sämtlichen gespiegelten Servern 406a406b die Umlaufzeit zu der LNS 402 an. Jeder der gespiegelten Server 406a406b sendet dann in Schritt 602 eine Namensanfrage an die LNS 402. Die LNS 402 antwortet dann in Schritt 604 mit einer Fehlernachricht, welche angibt, dass der angeforderte Name nicht existiert. Jeder gespiegelte Server 406a406b bestimmt dann in Schritt 606 die Umlaufzeit von dem Zeitpunkt, zu dem die Namensanfrage gesendet wurde, bis zu dem Zeitpunkt, zu dem die Fehlernachricht empfangen wurde. Jeder gespiegelte Server 406a und 406b sendet dann in Schritt 608 seine Umlaufzeit an den ONS 404. Der ONS 404 kann dann in Schritt 610 ermitteln, welcher gespiegelte Server die beste Strecke für diese spezielle LNS 402 aufweist. Die beste Strecke ist zur schnellsten Strecke äquivalent. Die beste Strecke wird dann in Schritt 612 für eine vorgegebene Zeit gespeichert.
  • Wenn die LNS 402 in Schritt 614 eine Adresse anfordert, wird in Schritt 616 ermittelt, ob die vorgegebene Zeit verstrichen ist. Wenn dies der Fall ist, antwortet in Schritt 620 der ONS 404 der LNS 402 über ein Auswahlschema wie etwa ein Ringschema, und in Schritt 600 wird die Ermittlung einer besten Strecke eingeleitet. Falls dagegen in Schritt 616 ermittelt wird, dass die vorgegebene Zeit nicht verstrichen ist, wird in Schritt 618 die LNS 402 dem gespiegelten Server 406 mit der besten Strecke zugewiesen.
  • Ein anderes Verfahren zur Ermittlung der besten Strecke (Schritt 508 von 5) gemäß einer Ausführungsform der vorliegenden Erfindung kann in Verbindung mit den 4 und 7 beschrieben werden. Der ONS 404 fordert in Schritt 700 von sämtlichen gespiegelten Servern 406a406b die Umlaufzeit zu der LNS 402 an. Jeder gespiegelte Servern 406a406b sendet dann in Schritt 702 ein Echopaket zu der LNS 402. Ein Echopaket ist ein Internet Control Method Protocol (ICMP) Paket, welches von dem Empfänger zurückgesendet wird, wenn der Empfänger das Echopaket empfängt. Echopakete sind in der Branche allgemein bekannt. Jeder gespiegelte Server 406a406b empfängt dann in Schritt 704 ein zurückgesendetes Echopaket von der LNS 402. Jeder gespiegelte Server 606a406b ermittelt dann eine Umlaufzeit und sendet in Schritt 706 die Umlaufzeit an den ONS 404. Die übrigen Schritte 708718 sind dieselben wie die Schritte 610620 von 6.
  • Es wurden ein Verfahren und ein System zum Treffen der Auswahl von Servern für gespiegelte Sites offenbart. Software, die entsprechend der vorliegenden Erfindung entwickelt wurde, kann in irgendeiner Form eines computerlesbaren Mediums wie etwa einem Speicher oder auf einer CD-ROM gespeichert werden oder über ein Netz übertragen werden und von einem Prozessor ausgeführt werden.
  • Obwohl die vorliegende Erfindung anhand der dargestellten Ausführungsformen beschrieben wurde, ist für einen Durchschnittsfachmann leicht einzusehen, dass Änderungen an der Ausführungsform möglich sind und diese Änderungen dem Geist der vorliegenden Erfindung entsprechen und in ihrem Schutzbereich enthalten sein würden. Dementsprechend können von einem Durchschnittsfachmann zahlreiche Änderungen vorgenommen werden, ohne den Schutzbereich der beigefügten Ansprüche zu verlassen.

Claims (12)

  1. Verfahren zur Auswahl von Computerservern für einen Benutzer in einem Computernetzwerk, das eine Vielzahl von Servern einschließt, wobei das Verfahren umfasst: Entscheiden (504), ob für den Benutzer bereits eine beste Strecke ermittelt worden ist; Auswählen (506) eines Servers aus der Vielzahl von Servern als einen Server einer besten Strecke, wenn die beste Strecke für den Benutzer bereits ermittelt worden ist; und Auswählen (508) eines Servers aus der Vielzahl von Servern als einen Server eines Auswahlschemas, wenn für den Benutzer die beste Strecke nicht bereits ermittelt worden ist, wobei die Auswahl des Servers des Auswahlschemas über ein Auswahlschema getroffen wird, wobei das Auswahlschema das Ermitteln der besten Strecke für den Benutzer nicht einschließt; und anschließend Ermitteln (508) der besten Strecke für den Benutzer, wenn die beste Strecke für den Benutzer nicht bereits ermittelt worden ist.
  2. Verfahren nach Anspruch 1, des Weiteren einschließend: Entscheiden (504), ob eine vorbestimmte Zeit verstrichen ist, wenn die beste Strecke für den Benutzer ermittelt worden ist; und Auswählen (508) eines Servers eine Auswahlschemas, indem ein Auswahlschema verwendet wird, wenn die vorbestimmte Zeit verstrichen ist.
  3. Verfahren nach Anspruch 1 oder 2, wobei das Auswahlschema aus einem Ringschema (508) besteht.
  4. Verfahren nach irgendeinem der vorhergehenden Ansprüche, wobei die Ermittlung der besten Strecke einschließt, eine Umlaufzeit ausgehend von einem Server der Vielzahl von Servern zu einer lokalen Namensserverstation des Benutzers zu ermitteln.
  5. Verfahren nach Anspruch 4, wobei die Ermittlung der Umlaufzeit einschließt, eine Namensanfrage an die lokale Namensserverstation zu senden (602) und eine Mitteilung von der lokalen Namensserverstation zu empfangen (604).
  6. Verfahren nach Anspruch 4, wobei die Ermittlung der Umlaufzeit einschließt, ein Echopaket an die lokale Namensserverstation zu senden (702) und ein Echopaket zu empfangen (704), das von der lokalen Namensserverstation zurückkommt.
  7. Verfahren nach irgendeinem der vorhergehenden Ansprüche, wobei die Ermittlung einer besten Strecke einschließt, eine erste Umlaufzeit ausgehend von einem ersten Server der Vielzahl von Servern zu einer lokalen Namensserverstation des Benutzers und eine zweite Umlaufzeit ausgehend von einem zweiten Server der Vielzahl von Servern zu der lokalen Namensserverstation zu ermitteln.
  8. Verfahren nach Anspruch 7, wobei die erste Umlaufzeit und die zweite Umlaufzeit verglichen (708) werden, um zu entscheiden, ob der erste oder der zweite Server die beste Strecke aufweist.
  9. Verfahren nach irgendeinem der vorhergehenden Ansprüche, wobei die beste Strecke eine kürzeste Umlaufzeit zwischen einem Server der Vielzahl von Servern zu einer lokalen Namensserverstation des Benutzers einschließt.
  10. System zur Auswahl von Computerservern für einen Benutzer in einem Computernetzwerk, das eine Vielzahl von Servern einschließt, wobei das System umfasst: Mittel zum Entscheiden (504), ob für den Benutzer bereits eine beste Strecke ermittelt worden ist; Mittel zum Auswählen (506) eines Servers aus der Vielzahl von Servern als einen Server einer besten Strecke, wenn die beste Strecke für den Benutzer bereits ermittelt worden ist; und Mittel zum Auswählen (508) eines Servers aus der Vielzahl von Servern als einen Auswahlserver, wenn die beste Strecke für den Benutzer nicht bereits ermittelt worden ist, wobei die Auswahl des Servers des Auswahlschemas über ein Auswahlschema getroffen wird, wobei das Auswahlschema das Ermitteln der besten Strecke für den Benutzer nicht einschließt; und anschließend Ermitteln der besten Strecke für den Benutzer, wenn die beste Strecke nicht bereits ermittelt worden ist.
  11. Computerprogrammkode, der einen Satz von Befehlen umfasst, die, wenn sie von einem Computer ausgeführt werden, verursachen, dass der Computer das Verfahren nach irgendeinem der Ansprüche 1 bis 9 ausführt.
  12. Produkt eines Computerprogrammkodes, das ein per Computer lesbares Medium umfasst, welches einen Computerprogrammkode wie in Anspruch 11 beansprucht trägt.
DE69928860T 1998-05-21 1999-05-12 System und Verfahren zur Auswahl von Servern für gespiegelte Sites Expired - Fee Related DE69928860T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US83864 1998-05-21
US09/083,864 US6115752A (en) 1998-05-21 1998-05-21 System and method for server selection for mirrored sites

Publications (2)

Publication Number Publication Date
DE69928860D1 DE69928860D1 (de) 2006-01-19
DE69928860T2 true DE69928860T2 (de) 2006-08-17

Family

ID=22181171

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69928860T Expired - Fee Related DE69928860T2 (de) 1998-05-21 1999-05-12 System und Verfahren zur Auswahl von Servern für gespiegelte Sites

Country Status (5)

Country Link
US (1) US6115752A (de)
EP (1) EP0959601B1 (de)
JP (1) JP2000172618A (de)
CN (1) CN1280752C (de)
DE (1) DE69928860T2 (de)

Families Citing this family (184)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421726B1 (en) * 1997-03-14 2002-07-16 Akamai Technologies, Inc. System and method for selection and retrieval of diverse types of video data on a computer network
US7389312B2 (en) * 1997-04-28 2008-06-17 Emc Corporation Mirroring network data to establish virtual storage area network
US6112239A (en) 1997-06-18 2000-08-29 Intervu, Inc System and method for server-side optimization of data delivery on a distributed computer network
JP3654554B2 (ja) * 1997-11-21 2005-06-02 株式会社小松製作所 ネットワークシステム及びdhcpサーバ選択方法
US6185598B1 (en) 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US8296396B2 (en) * 1998-02-10 2012-10-23 Level 3 Communications, Llc Delivering resources to clients in a distributed computing environment with rendezvous based on load balancing and network conditions
US6208623B1 (en) * 1998-04-13 2001-03-27 3Com Corporation Method of combining PNNI and E-IISP in an asynchronous transfer mode network
US6260070B1 (en) 1998-06-30 2001-07-10 Dhaval N. Shah System and method for determining a preferred mirrored service in a network by evaluating a border gateway protocol
US6446121B1 (en) * 1998-05-26 2002-09-03 Cisco Technology, Inc. System and method for measuring round trip times in a network using a TCP packet
US6108703A (en) * 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
US6665702B1 (en) 1998-07-15 2003-12-16 Radware Ltd. Load balancing
US6249801B1 (en) * 1998-07-15 2001-06-19 Radware Ltd. Load balancing
US6993591B1 (en) * 1998-09-30 2006-01-31 Lucent Technologies Inc. Method and apparatus for prefetching internet resources based on estimated round trip time
US6751777B2 (en) * 1998-10-19 2004-06-15 International Business Machines Corporation Multi-target links for navigating between hypertext documents and the like
US6298381B1 (en) 1998-10-20 2001-10-02 Cisco Technology, Inc. System and method for information retrieval regarding services
DE19900636B8 (de) 1999-01-11 2005-04-07 Gailer, Peter Datenzugriffs- und -verwaltungssystem sowie Verfahren zum Datenzugriff und zur Datenverwaltung für ein Rechnersystem sowie deren Verwendung
US6724724B1 (en) 1999-01-21 2004-04-20 Cisco Technology, Inc. System and method for resolving an electronic address
US6832253B1 (en) * 1999-04-01 2004-12-14 Cisco Technologies, Inc. Proximity as an aid to caching and secondary serving of data
US6795860B1 (en) * 1999-04-05 2004-09-21 Cisco Technology, Inc. System and method for selecting a service with dynamically changing information
US6487555B1 (en) * 1999-05-07 2002-11-26 Alta Vista Company Method and apparatus for finding mirrored hosts by analyzing connectivity and IP addresses
US6735633B1 (en) * 1999-06-01 2004-05-11 Fast Forward Networks System for bandwidth allocation in a computer network
US20030177182A1 (en) * 1999-06-14 2003-09-18 International Business Machines Corporation Ensuring a given transactional unit of work arrives at an appropriate server instance
US6275470B1 (en) 1999-06-18 2001-08-14 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
JP2001007844A (ja) * 1999-06-24 2001-01-12 Canon Inc ネットワークステータスサーバ及び情報配信システム、及びその制御方法、及びその制御プログラムを格納した記憶媒体
US6549949B1 (en) 1999-08-31 2003-04-15 Accenture Llp Fixed format stream in a communication services patterns environment
US6571282B1 (en) 1999-08-31 2003-05-27 Accenture Llp Block-based communication in a communication services patterns environment
US6715145B1 (en) 1999-08-31 2004-03-30 Accenture Llp Processing pipeline in a base services pattern environment
US6601234B1 (en) 1999-08-31 2003-07-29 Accenture Llp Attribute dictionary in a business logic services environment
US6640249B1 (en) 1999-08-31 2003-10-28 Accenture Llp Presentation services patterns in a netcentric environment
US6615253B1 (en) 1999-08-31 2003-09-02 Accenture Llp Efficient server side data retrieval for execution of client side applications
US6640238B1 (en) 1999-08-31 2003-10-28 Accenture Llp Activity component in a presentation services patterns environment
US6601192B1 (en) 1999-08-31 2003-07-29 Accenture Llp Assertion component in environment services patterns
US6578068B1 (en) * 1999-08-31 2003-06-10 Accenture Llp Load balancer in environment services patterns
US6640244B1 (en) 1999-08-31 2003-10-28 Accenture Llp Request batcher in a transaction services patterns environment
US6636242B2 (en) 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
US6742015B1 (en) 1999-08-31 2004-05-25 Accenture Llp Base services patterns in a netcentric environment
US6842906B1 (en) 1999-08-31 2005-01-11 Accenture Llp System and method for a refreshable proxy pool in a communication services patterns environment
US6954220B1 (en) 1999-08-31 2005-10-11 Accenture Llp User context component in environment services patterns
US6415323B1 (en) * 1999-09-03 2002-07-02 Fastforward Networks Proximity-based redirection system for robust and scalable service-node location in an internetwork
US6785704B1 (en) * 1999-12-20 2004-08-31 Fastforward Networks Content distribution system for operation over an internetwork including content peering arrangements
US8543901B1 (en) 1999-11-01 2013-09-24 Level 3 Communications, Llc Verification of content stored in a network
US6724733B1 (en) * 1999-11-02 2004-04-20 Sun Microsystems, Inc. Method and apparatus for determining approximate network distances using reference locations
US7523181B2 (en) 1999-11-22 2009-04-21 Akamai Technologies, Inc. Method for determining metrics of a content delivery and global traffic management network
US7363361B2 (en) * 2000-08-18 2008-04-22 Akamai Technologies, Inc. Secure content delivery system
US6405252B1 (en) * 1999-11-22 2002-06-11 Speedera Networks, Inc. Integrated point of presence server network
US7925713B1 (en) * 1999-11-22 2011-04-12 Akamai Technologies, Inc. Method for operating an integrated point of presence server network
US7590739B2 (en) * 1999-11-22 2009-09-15 Akamai Technologies, Inc. Distributed on-demand computing system
US6694358B1 (en) 1999-11-22 2004-02-17 Speedera Networks, Inc. Performance computer network method
US6754699B2 (en) 2000-07-19 2004-06-22 Speedera Networks, Inc. Content delivery and global traffic management network system
US6754706B1 (en) 1999-12-16 2004-06-22 Speedera Networks, Inc. Scalable domain name system with persistence and load balancing
CN1115839C (zh) * 2000-01-28 2003-07-23 国际商业机器公司 均衡镜象服务器负载的方法及装置
US7565450B2 (en) * 2000-03-16 2009-07-21 Adara Networks Inc. System and method for using a mapping between client addresses and addresses of caches to support content delivery
US7162539B2 (en) * 2000-03-16 2007-01-09 Adara Networks, Inc. System and method for discovering information objects and information object repositories in computer networks
US7552233B2 (en) * 2000-03-16 2009-06-23 Adara Networks, Inc. System and method for information object routing in computer networks
US7650376B1 (en) 2000-03-27 2010-01-19 Blumenau Trevor I Content distribution system for distributing content over a network, with particular applicability to distributing high-bandwidth content
US7058706B1 (en) 2000-03-31 2006-06-06 Akamai Technologies, Inc. Method and apparatus for determining latency between multiple servers and a client
US7240100B1 (en) 2000-04-14 2007-07-03 Akamai Technologies, Inc. Content delivery network (CDN) content server request handling mechanism with metadata framework support
US7908337B2 (en) * 2000-04-28 2011-03-15 Adara Networks, Inc. System and method for using network layer uniform resource locator routing to locate the closest server carrying specific content
US7725596B2 (en) * 2000-04-28 2010-05-25 Adara Networks, Inc. System and method for resolving network layer anycast addresses to network layer unicast addresses
US7577754B2 (en) * 2000-04-28 2009-08-18 Adara Networks, Inc. System and method for controlling access to content carried in a caching architecture
US7343422B2 (en) 2000-04-28 2008-03-11 Adara Networks, Inc. System and method for using uniform resource locators to map application layer content names to network layer anycast addresses
AU2001264629A1 (en) * 2000-05-16 2001-11-26 Speedera Networks, Inc. Meta content delivery network system
JP4690628B2 (ja) * 2000-05-26 2011-06-01 アカマイ テクノロジーズ インコーポレイテッド エンドユーザのコンテント要求を何れのミラーサイトが受信すべきかを決定する方法
AU2007200941A1 (en) * 2000-05-26 2007-03-22 Akamai Technologies, Inc. Global load balancing across mirrored data centers
US6947977B1 (en) 2000-06-09 2005-09-20 Metadigm Llc Scalable transaction system for a network environment
JP3401478B2 (ja) * 2000-06-20 2003-04-28 日本電信電話株式会社 拠点選択装置、拠点選択システムおよび記録媒体
US7318107B1 (en) 2000-06-30 2008-01-08 Intel Corporation System and method for automatic stream fail-over
US7020709B1 (en) 2000-06-30 2006-03-28 Intel Corporation System and method for fault tolerant stream splitting
US7653706B2 (en) 2000-07-19 2010-01-26 Akamai Technologies, Inc. Dynamic image delivery system
US8060581B2 (en) 2000-07-19 2011-11-15 Akamai Technologies, Inc. Dynamic image delivery system
US7346676B1 (en) 2000-07-19 2008-03-18 Akamai Technologies, Inc. Load balancing service
US7912978B2 (en) 2000-07-19 2011-03-22 Akamai Technologies, Inc. Method for determining metrics of a content delivery and global traffic management network
US8341297B2 (en) 2000-07-19 2012-12-25 Akamai Technologies, Inc. Latencies and weightings in a domain name service (DNS) system
US7725602B2 (en) 2000-07-19 2010-05-25 Akamai Technologies, Inc. Domain name resolution using a distributed DNS network
WO2002006961A2 (en) * 2000-07-19 2002-01-24 Speedera Networks, Inc. Method for determining metrics of a content delivery
US7657629B1 (en) 2000-09-26 2010-02-02 Foundry Networks, Inc. Global server load balancing
US7454500B1 (en) 2000-09-26 2008-11-18 Foundry Networks, Inc. Global server load balancing
US9130954B2 (en) * 2000-09-26 2015-09-08 Brocade Communications Systems, Inc. Distributed health check for global server load balancing
US7035921B1 (en) * 2000-11-14 2006-04-25 Hewlett-Packard Development Company, L.P. Method of and apparatus for providing web service using a network of servers
US7216154B1 (en) * 2000-11-28 2007-05-08 Intel Corporation Apparatus and method for facilitating access to network resources
US6651141B2 (en) 2000-12-29 2003-11-18 Intel Corporation System and method for populating cache servers with popular media contents
US7024382B2 (en) * 2001-02-13 2006-04-04 Jack Nelson System and method for managing retail and wholesale operations
WO2002071242A1 (en) * 2001-03-01 2002-09-12 Akamai Technologies, Inc. Optimal route selection in a content delivery network
US20020143946A1 (en) * 2001-03-28 2002-10-03 Daniel Crosson Software based internet protocol address selection method and system
EP1410217A4 (de) * 2001-04-02 2006-09-20 Akamai Tech Inc Skalierbare, sehr leistungsfähiges und sehr verfügbares verteiltes speichersystem für internetinhalt
US7149797B1 (en) * 2001-04-02 2006-12-12 Akamai Technologies, Inc. Content delivery network service provider (CDNSP)-managed content delivery network (CDN) for network service provider (NSP)
US7076085B1 (en) 2001-04-12 2006-07-11 Ipix Corp. Method and apparatus for hosting a network camera including a heartbeat mechanism
US7024488B1 (en) 2001-04-12 2006-04-04 Ipix Corporation Method and apparatus for hosting a network camera
US7015949B1 (en) 2001-04-12 2006-03-21 Ipix Corporation Method and apparatus for hosting a network camera with refresh degradation
US7177448B1 (en) 2001-04-12 2007-02-13 Ipix Corporation System and method for selecting and transmitting images of interest to a user
US8026944B1 (en) 2001-04-12 2011-09-27 Sony Corporation Method and apparatus for hosting a network camera with image degradation
US7237033B2 (en) 2001-04-30 2007-06-26 Aol Llc Duplicating switch for streaming data units to a terminal
US7124166B2 (en) 2001-04-30 2006-10-17 Aol Llc Duplicating digital streams for digital conferencing using switching technologies
US7266609B2 (en) * 2001-04-30 2007-09-04 Aol Llc Generating multiple data streams from a single data source
US7430609B2 (en) 2001-04-30 2008-09-30 Aol Llc, A Delaware Limited Liability Company Managing access to streams hosted on duplicating switches
US8572278B2 (en) 2001-04-30 2013-10-29 Facebook, Inc. Generating multiple data streams from a single data source
US7185052B2 (en) 2001-05-16 2007-02-27 Akamai Technologies, Inc. Meta content delivery network system
US7657643B2 (en) * 2001-06-15 2010-02-02 Cisco Technology, Inc. System and method for determining a preferred mirrored service in a network by evaluating a border gateway protocol
US7440994B2 (en) * 2001-07-06 2008-10-21 Intel Corporation Method and apparatus for peer-to-peer services to shift network traffic to allow for an efficient transfer of information between devices via prioritized list
EP1440529B1 (de) * 2001-09-10 2016-08-24 Adara Networks, Inc. System und verfahren zum informationsobjekt-routing in computernetzwerken
US20030055971A1 (en) * 2001-09-19 2003-03-20 Menon Rama R. Providing load balancing in delivering rich media
US6976134B1 (en) 2001-09-28 2005-12-13 Emc Corporation Pooling and provisioning storage resources in a storage network
US7558264B1 (en) 2001-09-28 2009-07-07 Emc Corporation Packet classification in a storage system
US20030079018A1 (en) * 2001-09-28 2003-04-24 Lolayekar Santosh C. Load balancing in a storage network
US7185062B2 (en) * 2001-09-28 2007-02-27 Emc Corporation Switch-based storage services
US7404000B2 (en) * 2001-09-28 2008-07-22 Emc Corporation Protocol translation in a storage system
US7707304B1 (en) 2001-09-28 2010-04-27 Emc Corporation Storage switch for storage area network
US7864758B1 (en) 2001-09-28 2011-01-04 Emc Corporation Virtualization in a storage system
US7860964B2 (en) 2001-09-28 2010-12-28 Level 3 Communications, Llc Policy-based content delivery network selection
JP4160506B2 (ja) 2001-09-28 2008-10-01 レヴェル 3 シーディーエヌ インターナショナル インコーポレーテッド. 構成可能な適応型広域トラフィック制御および管理
US7421509B2 (en) * 2001-09-28 2008-09-02 Emc Corporation Enforcing quality of service in a storage network
US7373644B2 (en) 2001-10-02 2008-05-13 Level 3 Communications, Llc Automated server replication
US20030079027A1 (en) 2001-10-18 2003-04-24 Michael Slocombe Content request routing and load balancing for content distribution networks
JP3857105B2 (ja) * 2001-10-30 2006-12-13 富士通株式会社 データ転送装置
US20040258056A1 (en) * 2001-11-13 2004-12-23 Tomohiro Ishihara Provider connection system, packet exchange apparatus thereof, dns server, packet exchange method, and computer program thereof
WO2003043276A1 (fr) * 2001-11-13 2003-05-22 Matsushita Electric Industrial Co., Ltd. Systeme de connexion d'un fournisseur, systeme d'echange de donnees par paquets, serveur de dns, procede d'echange de donnees par paquets, et programme d'ordinateur associe
JP2003228534A (ja) * 2001-11-30 2003-08-15 Ntt Docomo Inc 情報配信システム、記述データ配信装置、コンテンツ位置管理装置、データ変換装置、受信端末装置、情報配信方法
US7730154B2 (en) 2001-12-19 2010-06-01 International Business Machines Corporation Method and system for fragment linking and fragment caching
US7412535B2 (en) * 2001-12-19 2008-08-12 International Business Machines Corporation Method and system for caching fragments while avoiding parsing of pages that do not contain fragments
US20030188021A1 (en) * 2001-12-19 2003-10-02 International Business Machines Corporation Method and system for processing multiple fragment requests in a single message
US7587515B2 (en) * 2001-12-19 2009-09-08 International Business Machines Corporation Method and system for restrictive caching of user-specific fragments limited to a fragment cache closest to a user
US7509393B2 (en) * 2001-12-19 2009-03-24 International Business Machines Corporation Method and system for caching role-specific fragments
US7426534B2 (en) * 2001-12-19 2008-09-16 International Business Machines Corporation Method and system for caching message fragments using an expansion attribute in a fragment link tag
JP2003209570A (ja) * 2002-01-11 2003-07-25 Fujitsu Ltd 中継方法そのクライアント、サーバ、中継装置
US7228359B1 (en) * 2002-02-12 2007-06-05 Cisco Technology, Inc. Methods and apparatus for providing domain name service based on a client identifier
US9167036B2 (en) 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
US8224986B1 (en) * 2002-03-07 2012-07-17 Cisco Technology, Inc. Methods and apparatus for redirecting requests for content
US8028092B2 (en) 2002-06-28 2011-09-27 Aol Inc. Inserting advertising content
US7970876B2 (en) 2002-07-23 2011-06-28 Avaya Communication Israel Ltd. Global server load balancer
US7676576B1 (en) 2002-08-01 2010-03-09 Foundry Networks, Inc. Method and system to clear counters used for statistical tracking for global server load balancing
US7086061B1 (en) * 2002-08-01 2006-08-01 Foundry Networks, Inc. Statistical tracking of global server load balancing for selecting the best network address from ordered list of network addresses based on a set of performance metrics
US7574508B1 (en) 2002-08-07 2009-08-11 Foundry Networks, Inc. Canonical name (CNAME) handling for global server load balancing
JP3811436B2 (ja) * 2002-08-09 2006-08-23 日本電信電話株式会社 最寄り拠点推定装置および方法
JPWO2004073269A1 (ja) * 2003-02-13 2006-06-01 富士通株式会社 伝送システム,配信経路制御装置,負荷情報収集装置および配信経路制御方法
US7379988B2 (en) * 2003-04-23 2008-05-27 International Business Machines Corporation Autonomic performance tuning of a distributed virtual storage server
US7512679B2 (en) * 2003-08-29 2009-03-31 International Business Machines Corporation Apparatus and method to select a captain from a plurality of control nodes
US9584360B2 (en) * 2003-09-29 2017-02-28 Foundry Networks, Llc Global server load balancing support for private VIP addresses
US7356566B2 (en) * 2003-10-09 2008-04-08 International Business Machines Corporation Selective mirrored site accesses from a communication
US7584301B1 (en) 2004-05-06 2009-09-01 Foundry Networks, Inc. Host-level policies for global server load balancing
US7496651B1 (en) 2004-05-06 2009-02-24 Foundry Networks, Inc. Configurable geographic prefixes for global server load balancing
US7423977B1 (en) 2004-08-23 2008-09-09 Foundry Networks Inc. Smoothing algorithm for round trip time (RTT) measurements
US8346956B2 (en) 2004-10-29 2013-01-01 Akamai Technologies, Inc. Dynamic image delivery system
US7818401B2 (en) * 2004-12-23 2010-10-19 General Instrument Corporation Method and apparatus for providing decentralized load distribution
US7748035B2 (en) * 2005-04-22 2010-06-29 Cisco Technology, Inc. Approach for securely deploying network devices
US8447837B2 (en) * 2005-12-30 2013-05-21 Akamai Technologies, Inc. Site acceleration with content prefetching enabled through customer-specific configurations
US7877628B2 (en) * 2006-06-08 2011-01-25 International Business Machines Corporation Mirroring data between primary and secondary sites
US20080270163A1 (en) * 2006-12-26 2008-10-30 Green Jermon D System, program and method for experientially inducing user activity
US8160909B2 (en) * 2007-02-06 2012-04-17 Digital River, Inc. Site optimizer
US8615008B2 (en) 2007-07-11 2013-12-24 Foundry Networks Llc Duplicating network traffic through transparent VLAN flooding
US8248928B1 (en) 2007-10-09 2012-08-21 Foundry Networks, Llc Monitoring server load balancing
CN102047244B (zh) 2008-04-04 2013-02-27 第三雷沃通讯有限责任公司 在内容分发网络(cdn)中处理长尾内容
US10924573B2 (en) 2008-04-04 2021-02-16 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US9762692B2 (en) 2008-04-04 2017-09-12 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US8489724B2 (en) 2010-09-14 2013-07-16 Cdnetworks Co., Ltd. CNAME-based round-trip time measurement in a content delivery network
US8549148B2 (en) 2010-10-15 2013-10-01 Brocade Communications Systems, Inc. Domain name system security extensions (DNSSEC) for global server load balancing
US8774010B2 (en) 2010-11-02 2014-07-08 Cisco Technology, Inc. System and method for providing proactive fault monitoring in a network environment
US8559341B2 (en) 2010-11-08 2013-10-15 Cisco Technology, Inc. System and method for providing a loop free topology in a network environment
US8982733B2 (en) 2011-03-04 2015-03-17 Cisco Technology, Inc. System and method for managing topology changes in a network environment
US8670326B1 (en) 2011-03-31 2014-03-11 Cisco Technology, Inc. System and method for probing multiple paths in a network environment
US8724517B1 (en) 2011-06-02 2014-05-13 Cisco Technology, Inc. System and method for managing network traffic disruption
US8830875B1 (en) 2011-06-15 2014-09-09 Cisco Technology, Inc. System and method for providing a loop free topology in a network environment
US20150003291A1 (en) * 2012-03-19 2015-01-01 Nec Corporation Control apparatus, communication system, communication method, and program
US8799518B2 (en) 2012-04-04 2014-08-05 Verisign, Inc. Process for selecting an authoritative name server
WO2013166707A1 (en) * 2012-05-11 2013-11-14 Hewlett-Packard Development Company,L.P. Server selection
WO2014011642A1 (en) * 2012-07-10 2014-01-16 Avocent Huntsville Corp. SYSTEM AND METHOD FOR ACCESSING REMOTE DISK IMAGES USING A vMEDIA CLIENT AND THROUGH A REMOTE ACCESS APPLIANCE
CN102780634A (zh) * 2012-08-09 2012-11-14 浪潮电子信息产业股份有限公司 一种基于链接数的资源动态优化方法
US9450846B1 (en) 2012-10-17 2016-09-20 Cisco Technology, Inc. System and method for tracking packets in a network environment
JP6167587B2 (ja) 2013-03-21 2017-07-26 富士通株式会社 通信装置、通信ネットワークシステム、通信装置におけるコンテンツサーバ選択方法
WO2015016919A1 (en) * 2013-07-31 2015-02-05 Adaptive Spectrum And Signal Alignment, Inc. Method and apparatus for continuous access network monitoring and packet loss estimation
US9191330B2 (en) 2013-11-14 2015-11-17 International Business Machines Corporation Path selection for network service requests
US9565138B2 (en) 2013-12-20 2017-02-07 Brocade Communications Systems, Inc. Rule-based network traffic interception and distribution scheme
US9648542B2 (en) 2014-01-28 2017-05-09 Brocade Communications Systems, Inc. Session-based packet routing for facilitating analytics
US10771475B2 (en) 2015-03-23 2020-09-08 Extreme Networks, Inc. Techniques for exchanging control and configuration information in a network visibility system
US9866478B2 (en) 2015-03-23 2018-01-09 Extreme Networks, Inc. Techniques for user-defined tagging of traffic in a network visibility system
US10129088B2 (en) 2015-06-17 2018-11-13 Extreme Networks, Inc. Configuration of rules in a network visibility system
US10911353B2 (en) 2015-06-17 2021-02-02 Extreme Networks, Inc. Architecture for a network visibility system
US10057126B2 (en) 2015-06-17 2018-08-21 Extreme Networks, Inc. Configuration of a network visibility system
US10530688B2 (en) 2015-06-17 2020-01-07 Extreme Networks, Inc. Configuration of load-sharing components of a network visibility router in a network visibility system
CN105515896B (zh) * 2015-11-30 2019-02-15 青岛海信移动通信技术股份有限公司 一种移动终端网络阻塞的判断方法和装置
US10091075B2 (en) 2016-02-12 2018-10-02 Extreme Networks, Inc. Traffic deduplication in a visibility network
US10999200B2 (en) 2016-03-24 2021-05-04 Extreme Networks, Inc. Offline, intelligent load balancing of SCTP traffic
US10567259B2 (en) 2016-10-19 2020-02-18 Extreme Networks, Inc. Smart filter generator
US10432733B2 (en) 2017-03-03 2019-10-01 Blackberry Limited Devices and methods for managing a network communication channel between an electronic device and an enterprise entity
WO2022272206A1 (en) * 2021-06-22 2022-12-29 Level 3 Communications, Llc Network optimization system using latency measurements

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5341477A (en) * 1989-02-24 1994-08-23 Digital Equipment Corporation Broker for computer network server selection
GB2281793A (en) * 1993-09-11 1995-03-15 Ibm A data processing system for providing user load levelling in a network
US5721904A (en) * 1993-12-20 1998-02-24 Hitachi, Ltd. Database access system and method of controlling access management to a database access system for a plurality of heterogeneous database servers using SQL
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
US6003030A (en) * 1995-06-07 1999-12-14 Intervu, Inc. System and method for optimized storage and retrieval of data on a distributed computer network
GB2305747A (en) * 1995-09-30 1997-04-16 Ibm Load balancing of connections to parallel servers
GB2309558A (en) * 1996-01-26 1997-07-30 Ibm Load balancing across the processors of a server computer
US5751961A (en) * 1996-01-31 1998-05-12 Bell Communications Research, Inc. Integrated internet system for translating logical addresses of internet documents to physical addresses using integrated service control point
US5862348A (en) * 1996-02-09 1999-01-19 Citrix Systems, Inc. Method and apparatus for connecting a client node to a server node based on load levels
US5894554A (en) * 1996-04-23 1999-04-13 Infospinner, Inc. System for managing dynamic web page generation requests by intercepting request at web server and routing to page server thereby releasing web server to process other requests
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
AU714865B2 (en) * 1996-10-18 2000-01-13 Intervu, Inc. System and method for optimized storage and retrieval of data on a distributed computer network
US5999525A (en) * 1996-11-18 1999-12-07 Mci Communications Corporation Method for video telephony over a hybrid network
US5944793A (en) * 1996-11-21 1999-08-31 International Business Machines Corporation Computerized resource name resolution mechanism
US5938732A (en) * 1996-12-09 1999-08-17 Sun Microsystems, Inc. Load balancing and failover of network services
US6052718A (en) * 1997-01-07 2000-04-18 Sightpath, Inc Replica routing
US5933606A (en) * 1997-02-19 1999-08-03 International Business Machines Corporation Dynamic link page retargeting using page headers
US5933596A (en) * 1997-02-19 1999-08-03 International Business Machines Corporation Multiple server dynamic page link retargeting
US6014698A (en) * 1997-05-19 2000-01-11 Matchlogic, Inc. System using first banner request that can not be blocked from reaching a server for accurately counting displays of banners on network terminals

Also Published As

Publication number Publication date
US6115752A (en) 2000-09-05
CN1245933A (zh) 2000-03-01
JP2000172618A (ja) 2000-06-23
CN1280752C (zh) 2006-10-18
DE69928860D1 (de) 2006-01-19
EP0959601B1 (de) 2005-12-14
EP0959601A1 (de) 1999-11-24

Similar Documents

Publication Publication Date Title
DE69928860T2 (de) System und Verfahren zur Auswahl von Servern für gespiegelte Sites
DE69909839T3 (de) Optimierte Lokalisierung von Netzwerkbetriebsmittel
DE69934871T2 (de) Verfahren und System zur optimalen Auswahl eines Webfirewalls in einem TCP/IP Netzwerk
DE112018003482B4 (de) Serveranfrageverwaltung
DE60317403T2 (de) Mehrstufige Cache-Speicherarchitektur und Cache-Speicherverwaltungsverfahren für gleichrangiges Namensauflösungs-Protokoll
DE60313567T2 (de) Zugriffsrelayvorrichtung
DE60211524T2 (de) Verfahren und vorrichtung zur verteilten lieferung von inhalten innerhalb eines computernetzwerkes
DE69913176T2 (de) Verfahren und system zum eingeben von äusserem inhalt in interaktiven netzsitzungen
DE69723432T2 (de) Informationsauffindungssystem mit einer cachedatenbank
DE60038705T2 (de) Verfahren und vorrichtung für die aktivitäts-basierte zusammenarbeit eines rechnersystems, ausgestattet mit einem kommunikations-manager
EP1930818B1 (de) Verfahren zum Vorabübertragen strukturierter Datenmengen zwischen einer Clienteinrichtung und einer Servereinrichtung
DE69929268T2 (de) Verfahren und System zur Überwachung und Steuerung der Netzzugriffe
DE60029879T2 (de) System zur mehrschichtigen Bereitstellung in Computernetzwerken
DE69834807T2 (de) System und verfahren zum auswählen und laden verschiedener typen von videodaten in einem computernetzwerk
DE69834129T2 (de) Verfahren und system zum vorausladen von informationen
DE60308700T2 (de) Dynamische fernkonfiguration eines webservers zur bereitstellung von kapazität auf anfrage
DE602005003142T2 (de) Vorrichtung und verfahren zur unterstützung von verbindungsherstellung in einem offload der netzwerkprotokollverarbeitung
DE69937831T2 (de) System und Verfahren zum Verwalten von Client-Anforderungen in Client-Server-Netzen
DE60033615T2 (de) Verfahren und System, um das Verteilen von IP-Datagrammen auf mehrere Server gemäß einer definierten Strategie zu erzwingen
DE10116640B4 (de) Auf URL beruhende Token für schwierige Verteilungen, die einen serverseitigen Cookiebehälter benutzen
DE60204528T2 (de) Auflösen von virtuellen Netzwerknamen
DE69835400T2 (de) Netzbelastungsausgleich für Mehrrechner Anbieter
DE69831904T2 (de) Dynamische Erstellung von Internetseiten
DE602005001063T2 (de) Verfahren und Anordnung zur Beschränkung der Wiederbenutzung von DNS Antworten
DE60130011T2 (de) Http-multiplexer/demultiplexer

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee