DE69730056T2 - Routen von duplikaten - Google Patents

Routen von duplikaten Download PDF

Info

Publication number
DE69730056T2
DE69730056T2 DE69730056T DE69730056T DE69730056T2 DE 69730056 T2 DE69730056 T2 DE 69730056T2 DE 69730056 T DE69730056 T DE 69730056T DE 69730056 T DE69730056 T DE 69730056T DE 69730056 T2 DE69730056 T2 DE 69730056T2
Authority
DE
Germany
Prior art keywords
duplicate
router
server
client computer
replica
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69730056T
Other languages
English (en)
Other versions
DE69730056D1 (de
Inventor
David K. Gifford
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.)
Gifford David K Weston
Original Assignee
Gifford David K Weston
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 Gifford David K Weston filed Critical Gifford David K Weston
Publication of DE69730056D1 publication Critical patent/DE69730056D1/de
Application granted granted Critical
Publication of DE69730056T2 publication Critical patent/DE69730056T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2567NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources

Description

  • Stand der Technik
  • Die vorliegende Erfindung betrifft allgemein ein Internetzwerk-Duplikat-Routingsystem und insbesondere ein System zum Lenken eines Clientcomputers zu einem Serverduplikat, vom dem geschätzt wird, daß es eine vorteilhafte Leistung für den Clientcomputer bereitstellt.
  • Der jüngste schnelle Zuwachs von Benutzern von internationalen öffentlichen paketvermittelten Computer-Internetzwerken wie beispielsweise dem Internet hat eine große Nachfrage nach den darin enthaltenen Informationen und Diensten mit sich geführt. Durch die Vervielfältigung von Diensten in einem Internetzwerk wird ermöglicht, daß viele Benutzer mit diesen Diensten versorgt werden.
  • Gewisse bekannte Ansätze zum automatischen Lenken von Clientcomputern zu Servern umfassen beispielsweise Reihum-DNS und Belastungsausgleichs-DNS, die Benutzer zu einem von einer Anzahl von Serverduplikaten lenken, um zu versuchen, die Last unter vielen Servern zu verteilen. Bei einem weiteren, Mehrfach-Hostnamen genannten Ansatz wird der Inhalt über mehrere Server verteilt, jeweils mit einem getrennten Hostnamen. Zu Benutzern zurückgesendete Web-Seiten enthalten Verweise, die auf das Duplikat zeigen, das für den Benutzer aufgrund von Lastverteilungsangelegenheiten und Duplikatinhaltsüberlegungen ausgewählt worden ist. Bei einem weiteren Ansatz mit der Bezeichnung Internet-Lastverteilung verteilt eine Hardwarekomponente automatisch zu einer einzigen IP-Adresse gesendete Benutzeranfragen zu einem von einer Anzahl von Serverduplikaten um eine Lastverteilung zu erzielen. Ein weiterer Ansatz ist resonante Abfertigung (resonate dispatch), bei der Lastverteilung mit Duplikat-Fähigkeit zum automatischen Lenken von Benutzern zu einem Duplikat kombiniert wird, das betriebsfähig ist, nicht mit Anforderungen überlastet ist und die angeforderten Informationen enthält.
  • Kurze Beschreibung der Erfindung
  • Gemäß einem Aspekt der vorliegenden Erfindung wird ein Internetzwerk-Duplikat-Routingsystem bereitgestellt, umfassend:
    eine Vielzahl von Serverduplikaten, mindestens einen Duplikat-Router und mindestens einen Clientcomputer, die durch ein Kommunikationsinternetzwerk verbunden sind;
    wobei der Clientcomputer so programmiert ist, daß er bewirkt, daß eine Netzwerkanforderung eines Zugriffs auf ein Serverduplikat über das Kommunikationsinternetzwerk gesendet wird;
    wobei mindestens ein Duplikat-Router so programmiert ist, daß er die Netzwerkanforderung empfängt und auf der Basis des Standorts des Clientcomputers in dem Internetzwerk für jeden von mindestens einem Teil der Serverduplikate einen Leistungsmetrikwert berechnet, der eine geschätzte Kommunikationsleistung zwischen dem Clientcomputer und dem Serverduplikat spezifiziert, und so programmiert ist, daß er den Clientcomputer zu mindestens einem Serverduplikat lenkt, von dem auf der Basis des Standorts des Clientcomputers in dem Internetzwerk geschätzt wird, daß er eine vorteilhafte Leistung liefert, wobei der Duplikat-Router so programmiert ist, daß er das Serverduplikat, zu dem er den Clientcomputer lenkt, auf der Basis der durch den Duplikat-Router berechneten Leistungsmetrikwerte der Serverduplikate auswählt;
    wobei das Serverduplikat, zu dem der Clientcomputer durch den Duplikat-Router gelenkt wird, so programmiert ist, daß es auf die Netzwerkanforderung von dem Clientcomputer antwortet.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung ist ein Verfahren zum Duplikat-Routing in einem Kommunikationsinternetzwerk mit einer Vielzahl von Serverduplikaten, mindestens einem Duplikat-Router und mindestens einem Clientcomputer bereitgestellt, mit folgenden Schritten:
    Bewirken, daß eine Netzwerkanforderung eines Zugriffs auf ein Serverduplikat von dem Clientcomputer über das Kommunikationsinternetzwerk gesendet wird;
    Empfangen der Netzwerkanforderung in mindestens einem Duplikat-Router;
    Berechnen, für jeden von mindestens einem Teil der Serverduplikate, eines Leistungsmetrikwerts, der eine geschätzte Kommunikationsleistung zwischen dem Clientcomputer und dem Serverduplikat spezifiziert, auf der Basis des Standorts des Clientcomputers in dem Internetzwerk, an dem Duplikat-Router;
    Lenken des Clientcomputers zu mindestens einem Serverduplikat, von dem auf der Basis des Standorts des Clientcomputers in dem Internetzwerk geschätzt wird, daß er eine vorteilhafte Leistung liefert, wobei das Serverduplikat, zu dem der Clientcomputer gelenkt wird, auf der Basis der durch den Duplikat-Router berechneten Leistungsmetrikwerte der Serverduplikate ausgewählt wird;
    Antworten auf die Netzwerkanforderung von dem Clientcomputer in dem Serverduplikat, zu dem der Clientcomputer gelenkt wird.
  • Die Erfindung sieht ein Duplizierungssystem für Netzwerkserver vor, das eine neue Methode namens Duplikat- Routing benutzt, um einen Clientcomputer automatisch zu einem Serverduplikat zu leiten, das für den gegebenen Standort des Client im Internetzwerk gut für den Client funktionieren wird. Insbesondere treten Clientcomputer mit einem Duplikat-Router in Verbindung, der sie transparent zu einem Serverduplikat im Internetzwerk umlenkt, das für den gegebenen Netzwerkstandort des Client und die geschätzte Leistung des Internetzwerks gut funktionieren wird.
  • Durch das durch die Erfindung bereitgestellte Duplikat-Routing kann ein Clientcomputer auf entscheidende vervielfältigte Informationen in der Nähe des Orts ihrer Verwendung im Internetzwerk zugreifen. Insbesondere – werden, sobald ein entsprechendes Serverduplikat hergestellt ist, Clients, die sich „in der Nähe" im Internetzwerk befinden, durch das erfindungsgemäße Duplikat-Routing automatisch zu diesem bestimmten Duplikat gelenkt, wodurch ein Hochleistungszugang zum vervielfältigten Server bereitgestellt wird. Beispielsweise ermöglicht die Erfindung Hochleistungszugang zu Netzwerkanwendungen wie beispielsweise Video, die für die durch Netzwerkkomponenten wie beispielsweise Netzwerkverknüpfungen und Netzwerk-Router eingeführte Verzögerung und Bandbreite hochempfindlich sind. Dieser Hochleistungszugang ist besonders bedeutsam, da öffentliche Computer-Internetzwerke typischerweise Vermittlungs-, Übertragungs- und Hostcomputerkomponenten enthalten, die von vielen Einzelpersonen und Organisationen gesteuert werden.
  • Bei gewissen Ausführungsformen erstellt jedes Serverduplikat eine Duplikatanzeige, in der Informationen über dessen Standort im Internetzwerk und seiner Beobachtung der örtlichen Internetzwerktopologie und -leistung zusammengefaßt sind. Ein Serverduplikat gibt seine Duplikatanzeige automatisch an das Duplikat-Routingsystem weiter. Der Duplikat-Router verläßt sich auf die von jedem Serverduplikat zugeführten Duplikat anzeigen und andere wahlweise Messungen zum Leiten eines Clientcomputers zu einem oder mehreren Serverdupli- katen. Neue Duplikate können ohne unangemessenen Verwaltungsaufwand flexibel hinzugefügt werden.
  • Mit wachsender Anzahl von Serverduplikaten kann es unpraktisch oder unrationell werden, wenn jeder Duplikat-Router für einen Dienst die Duplikatanzeigen für alle Serverduplikate enthält. Bei einer bestimmten Ausführungsform für Duplikat-Routing gemäß der Erfindung können Duplikat-Router wahlweise in einer Hierarchie angeordnet sein und Duplikatanzeigen nur über einen Teil der Duplikat-Routerhierarchie nach oben ausgebreitet werden. Während des Duplikat-Routingverfahrens werden Clientanforderungen automatisch in der Hierarchie nach unten gesendet, bis sie einen Duplikat-Router erreichen, der sich genügend über einen Internetzwerkstandort eines Duplikats auskennt, um eine informierte Duplikat-Routingentscheidung zu treffen. So müssen nicht alle der Duplikatanzeigen für einen bestimmten Dienst in einem einzigen Duplikat-Routingserver enthalten sein.
  • Ein zweiter Grund für die Einführung einer Hierarchie von Duplikat-Routern sind Sicherheitsbelange. Da eine Duplikatanzeige schutzbedürftige Informationen über Internetzwerkeigenschaften und -topologie enthalten kann, kann sich eine Organisation dafür entscheiden, einen privaten Duplikat-Router innerhalb eines privaten Internetzwerks (eines Intranetzes) zu erstellen, der diese Informationen enthält. Bei einer bestimmten Ausführungsform der Erfindung werden Clientanforderungen von innerhalb des Intranetzes automatisch zu diesem privaten Duplikat-Router gelenkt, während Clientanforderungen von außerhalb des Intranetzes andere Duplikat-Router benutzen werden, die nicht die detaillierten Anzeigen für Duplikate kennen müssen, auf die sie nicht zugreifen können.
  • Bei einer weiteren Ausführungsform der Erfindung kann ein Client-Applet bei dem Duplikat-Routingprozeß behilflich sein. Das Client-Applet kann gewisse Eigenschaften der Internetzwerkumgebung des Client bestimmen und sie als Zusatzinformationen zum Duplikat-Router senden, um den Routingvorgang zu unterstützen. Der Duplikat-Router kann mehr als eine Duplikat-Adresse zum Client-Applet zurücksenden und das Client-Applet kann dann empirische Leistungsexperimente durchführen, um das beste Serverduplikat zur Verwendung durch den Client zu wählen.
  • Zahlreiche weitere Aufgaben, Merkmale und Vorteile der Erfindung werden aus der nachfolgenden Beschreibung im Zusammenhang mit den Zeichnungen offensichtlich werden.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Blockschaltbild eines erfindungsgemäßen Duplikat-Routingsystems.
  • 2 ist ein Diagramm einer Duplikat-Routinghierarchie.
  • 3a3c sind ein Flußdiagramm zur Erstellung einer Duplikatanzeige und der Verarbeitung einer Duplikatanzeige durch Duplikat-Router.
  • 4a4b sind ein Flußdiagramm zur Verarbeitung einer Clientanforderung an einen Duplikat-Router, die bewirkt, daß der Client zu einem anderen Duplikat-Router oder einem Duplikat umgelenkt wird.
  • 5a5b sind ein Flußdiagramm zur alternativen Verarbeitung einer Clientanforderung an einen Duplikat-Router mit Hilfe eines Client-Duplikat-Routingapplets.
  • 6 ist ein Flußdiagramm eines Verfahrens zur Bestimmung von Internetzwerkleistung in einer Umgebung mit einstellbarer Größe.
  • Ausführliche Beschreibung
  • Ein in 1 dargestelltes Duplikat-Routingsystem 100 benutzt ein öffentliches Internetzwerk 10 und die durch Firewalls 20 und 21 geschützten Intranetze 11 und 12 zum Zusammenschalten einer Vielzahl von Clientcomputern 31, 32, 33 und 34, Serverduplikaten 41, 42, 43 und 44, Duplikat-Routern 51 und 52 und Master-Servern 61 und 62. Jeder Duplikat-Router 51 und 52 weist eine entsprechende Duplikat-Routing-Datenbank 71 und 72 auf. Ein Benutzer des Systems benutzt einen Clientcomputer 31, 32, 33, 34 zum Zugreifen auf durch Master-Server 61, 62 und Serverduplikate 41, 42, 43, 44 bereitgestellte Dienste und wird von einem oder mehreren Duplikat-Routern 51, 52 zu einem geeigneten Serverduplikat gelenkt. Clientcomputer können Benutzerarbeitsplätze und Proxy-Server umfassen. Die Master-Server 61, 62 werden zum Bedienen gewisser Aktualisierungsanforderungen benutzt, die nicht an Serverduplikaten 41, 42, 43, 44 verarbeitet werden, wie beispielsweise das Kaufen von Gütern oder Benutzerregistrierung, die die synchronisierte Aktualisierung von verteilten Datenbanken erfordert. Duplikat-Router, Serverduplikate und Master-Server können wie gezeigt auf getrennten Computern implementiert sein oder Computer teilen. Beispielsweise können ein Duplikat-Router, ein Serverduplikat und ein Master-Server auf dem gleichen Computer existieren.
  • Der Inhalt der Serverduplikate 41, 42, 43, 44 kann dynamisch durch ein netzwerkbasiertes Vervielfältigungsverfahren unterhalten werden, wie beispielsweise ein Master-Slave-Verfahren oder gewichtete Abstimmung, oder Duplikate können durch digitale Rundsendung entweder über das Netz oder durch getrennte Multicast- oder Rundsendekanäle wie beispielsweise Satelliten- oder terrestrische Strecken aktualisiert werden. Als Alternative können Duplikate entweder teilweise oder vollständig durch Datenträger implementiert sein, die physikalisch verteilt werden können, wie beispielsweise optische Speicherplatten.
  • Die der speziellen bevorzugten Ausführungsform zugrundeliegende Softwarearchitektur beruht auf den Hypertextkonventionen des World Wide Webs. Zur Darstellung von Dokumenten und Formularen wird das HTML-Dokumentformat (Hypertext Markup Language) benutzt und zwischen Client, Duplikat-Router, Serverduplikat und Master-Server Computern wird das HTTP-Format (Hypertext Transfer Protocol) benutzt. Dokumente werden in dem Netz von Computern mit URLs (Uniform Resource Locator) benannt. Ein Dokument kann, weitläufig ausgelegt, eine beliebige Art von digitalen Daten wie beispielsweise Multimediadokumente sein, die Text, Ton und Video einschließen, und Dokumente, die Programme enthalten. Insbesondere können Dokumente Java-Applets und ActiveX-Steuerelemente enthalten oder darauf verweisen, die eine automatische Erweiterung der Fähigkeiten von Clientcomputern durch Herunterladen neuer Programme ermöglichen.
  • Zusätzlich zu Dokumenten können Serverduplikate zum Vervielfältigen beliebiger Datenarten einschließlich von relationalen Datenbanken, Multimediadaten, Videodateien und Groupware-Daten benutzt werden. Zum Unterstützen des Zugriffs auf diese Datenarten können Serverduplikate und Master-Server zusätzlich zu oder anstatt von HTTP verschiedene Standard-Protokolle wie beispielsweise standardmäßige Fern-Prozeduraufrufprotokolle, Datenbankschnittstellen wie beispielsweise ODBC und das DCOM von Microsoft (Distributed Common Object Model) und ihre Nachfolger unterstützen.
  • Serverduplikate können auch Programme vervielfältigen, die zum Erzeugen von dynamischem Inhalt benutzt werden.
  • Wenn ein Serverduplikat eine HTTP-Anforderung für die URL eines solchen Programms von einem Client empfängt und verarbeitet, wird das Programm ausgeführt und das Programm erzeugt dynamischen Inhalt, der zum Client zurückgesendet wird. Auch können HTTP-POST-Daten unter Verwendung desselben URL-basierten Mechanismus zu dynamisch ausgeführten Programmen gesendet werden. So können Serverduplikate zum Erzeugen dynamischen Inhalts und zur Verarbeitung von Clientdaten wie auch zum Bedienen statischen Inhalts benutzt werden. Diese Programmvervielfältigung und dieser dynamische Programmaufrufmechanismus kann auch mit anderen standardisierten Kommunikationsprotokollen eingesetzt werden.
  • Serverduplikate können wahlweise gewisse Aktualisierungs- und Transaktionsanforderungen verarbeiten und sie zu anderen Serverduplikaten oder Master-Servern weitergeben. Beispielsweise könnte eine gemeinsam genutzte Projektseite bei einem Serverduplikat aktualisiert werden und diese Aktualisierung könnte automatisch zu allen anderen Duplikaten weitergegeben werden. Als Alternative könnten Formulareinsendungen für Gebrauchsgüterbestellungen durch ein Serverduplikat in einer Datei gepuffert werden und dann in vorbestimmten Zeitabständen zu einem Master-Server zur Weiterverarbeitung gesendet werden.
  • Die einer bestimmten Ausführungsform zugrundeliegende Netzarchitektur ist TCP/IP und die Familie von IP-Routing Prozeduren. Hintergrund über diese Netztechnik ist aus TCP/IP Illustrated von Stevens (1994, Addison-Wesley, Reading, Massachusetts), Routing in the Internet von Huitema (1995, Prentice Hall, Englewood Cliffs, New Jersey) und „End-to-End Routing Behaviour in the Internet" (Ende-Ende-Routingverhalten im Internet) von Paxson (1996, SIGCOMM '96 8/96 CA, USA) ersichtlich. Der Begriff Netz wird hier als Bezeichnung sowohl für Netze als auch für Teilnetze benutzt. Der Begriff Netznummer oder Netzkennung wird für das Bezeichnen der IP- Adresse eines Netzes einschließlich seiner Netz- und Teilnetzkomponenten benutzt.
  • 2 zeigt eine beispielhafte Hierarchie 200 von Duplikat-Routern, wobei Router 201 ein Root-Duplikat-Router ist und Router 203 ein Leaf-Duplikat-Router ist, der Duplikat-Anzeigen für Serverduplikate in seiner Netznachbarschaft enthält. Auf jeder Ebene der Hierarchie kann mehr als ein Duplikat-Router existieren und es kann mehrere Root-Duplikat-Router geben. Die IP-Adressen der Root-Duplikat-Router sind an den DNS-Namen des Dienstes gebunden, wie beispielsweise „www.pathfinder.com."
  • Vor der Erörterung, wie Duplikat-Router zum Lenken von Clientcomputern zu Serverduplikaten arbeiten, die gute Leistung für die Clientcomputer bieten, wird in dieser Erörterung beschrieben, wie ein Clientcomputer oder Serverduplikat seine örtliche Internetzwerktopologie „entdecken" kann. Dann wird in dieser Erörterung beschrieben, wie dieses Verfahren in Verbindung mit dem Duplikat-Routingsystem der vorliegenden Erfindung benutzt wird.
  • 6 ist ein Flußdiagramm für die Entdeckung örtlicher Internetzwerktopologie und -leistung. Es werden alle auf dem Internetzwerk benutzten Routingprotokolle eingesetzt einschließlich des RIP (Routing Information Protocol), EGP (External Gateway Protocol), BGP (Boarder Gateway Protocol), OPSF (Open Shortest Path First), CDIR (Classless Interdomain Routing) und ihrer Abkömmlinge und Nachfolger. Im Schritt 905 sendet ein Clientcomputer (oder ein Serverduplikat) eine Netz-Routerwerbungsnachricht auf allen angeschlossenen Netzen durch Rundsenden oder Multicast, um in der Nähe liegende Netzrouter zu finden (Standard-Netzrouter sind nicht mit den erfindungsgemäßen Duplikat-Routern zu verwechseln).
  • Im Schritt 910 werden zu allen der im Schritt 905 entdeckten Netzroutern zusammen mit allen wohlbekannten oder vorkonfigurierten Netzroutern Netz-Routingtabellen Anforderungsnachrichten gesendet. Antworten (Routing-Tabellen) von den Netzroutern werden von dem Clientcomputer im Schritt 915 empfangen. Im Schritt 920 leitet der Clientcomputer aus den Routing-Tabellen die erwartete Leistung von dem Netz des Client für alle in den empfangenen Routing-Tabellen angegebenen Netze ab und zeichnet diese Informationen in einer Netzleistungstabelle auf. Die Netzleistungstabelle ist eine Liste von Zeilen, in der jede Zeile eine Netznummer, eine Netzmaske und eine Schätzung der Leistung vom Client zur Netznummer (z. B. eine Schätzung der Bandbreite) enthält. Eine (manchmal als Teilnetzmaske bezeichnete) Netzmaske gibt an, welche Teile einer IP-Adresse Netz- und Teilnetzkennungen enthalten und sollte daher mit einer zweiten IP-Adresse verglichen werden, um zu bestimmen, ob die zwei Adressen auf dem gleichen Netz sind. Jeder Netzleistungstabelleneintrag enthält auch die Netzmaske für das Zielnetz gemäß der Routing-Tabelle. Wenn keine Netzmaske von einem Netz-Router in einem Zielnetz gemeldet wird, dann wird eine auf der (aus den Anfangsstellen der Adresse abgeleiteten) Klasse der IP-Adresse des Zielnetzes basierende Vorgabe-Netzmaske benutzt, oder es wird eine andere vorgegebene Menge von Regeln benutzt. Wenn mehr als ein Netz-Router einen Weg zu einem fernen Netz anbietet, dann wird vom Clientcomputer nur der Weg mit der besten Leistung in der Leistungstabelle aufgezeichnet. Für Duplikat-Routing-"Leistung" wird eine einzige Metrik wie beispielsweise die geschätzte Bandbreite benutzt. Wenn beispielsweise ein bestimmter RIP-Netz-Router die von ihm zum Erreichen eines fernen Netzes erforderliche Anzahl von Netzsprüngen meldet anstatt der zum Erreichen des fernen Netzes erforderten geschätzten Bandbreite, kann die Anzahl von Sprüngen durch einfaches Verringern der Bandbreite von einem idealen festen Höchstwert um einen festen Betrag für jeden gemeldeten Sprung in die geschätzte Bandbreite umgewandelt werden. Wenn alternativ die Adresse eines Routers in einem fernen Netz in den in Schritt 915 empfangenen Informationen entdeckt wird, kann durch "Pingen" versucht werden, die Netzleistung vom Client zum fernen Netz zu schätzen. Wenn im Schritt 925 eine durch die Konfiguration gesetzte Höchstzahl von Iterationen nicht überschritten worden ist, dann werden im Schritt 935 alle in den im Schritt 915 empfangenen Routing-Tabellen erwähnten Netz-Router, die vorher nicht erforscht worden sind, zusammengelegt und diese Menge neuer Router wird im Schritt 910 dazu benutzt, mehr über die Netznachbarschaft zu erfahren. Ansonsten ist im Schritt 930 die Entdeckung der Internetzwerkleistung abgeschlossen und ergibt eine Netzleistungstabelle, die eine Liste mit Zeilen ist, wobei jede Zeile eine Netznummer, eine Netzmaske und eine Schätzung der Leistung zu dieser Netznummer enthält.
  • In einer alternativen Ausführungsform kann die für einen gegebenen Netz-Router erforschte maximale Tiefe (Höchstzahl von Iterationen) vom Netz-Router abhängig sein (z. B. können wohlbekannte Netz-Router eine größere maximale Tiefe aufweisen). In einer anderen alternativen Ausführungsform kann mehr als eine Netzleistungsmetrik (wie beispielsweise Bandbreite und Latenzzeit) benutzt werden.
  • In einer Netzleistungstabelle können mehrere Arten von Netznummern gleichzeitig benutzt werden, und daher können mehrere Arten von Netznummern einschließlich von IP-Netznummern, IPng-Nummern (IP next generation – IP der nächsten Generation) und ihren Nachfolgern in Duplikat-Routing-Datenbanken benutzt werden.
  • In einer alternativen Implementierung wird die Netzleistungsabbildung durch Verwendung eines Traceroute-Hilfsprogramms erweitert, um Traceroute-Testprogramme zu vorkonfigurierten IP-Adressen und zu den IP-Adressen von Serverduplikaten durchzuführen. Traceroute- Hilfsprogramme sind in TCP/IP Illustrated, Band 1, Kapitel 8: "Traceroute Program", Stevens (1994, Addison-Wesley, Reading, Massachusetts) beschrieben. Serverduplikatadressen können dadurch entdeckt werden, daß man mit Root-Duplikat-Routern und anderen Duplikat-Routern in Verbindung tritt und sie mit einer spezialisierten Anfrage bittet, ihre Liste von Serverduplikat- und Duplikat-Router-Adressen zu übertragen. Durch die Verwendung von Traceroute können Informationen aufgedeckt werden, die nicht aus Routing-Tabellen-Anfragen erhältlich sind.
  • 3a3c sind ein Flußdiagramm, das die Funktionsweise von Serverduplikaten und Duplikat-Routern einschließlich der Erstellung von Duplikatanzeigen beschreibt. Ein wesentliches Konzept bei der Funktionsweise des vorliegenden Systems besteht darin, daß sowohl Serverduplikate als auch Duplikat-Router die Funktionen des Auswählens von Mutter-Duplikat-Routern und des Sendens von "Anzeigen" (advertisements) zu den Mutter-Duplikat-Routern durchführen, die Informationen betreffs der Adresse des Serverduplikats oder Duplikat-Routers im Internetzwerk wie auch örtliche Internetzwerktopologie und von Serverduplikaten oder Duplikat-Routern abgeleitete Leistungsschätzungen enthalten.
  • Wenn im Schritt 301 ein bestimmter Computer ein Serverduplikat ist, wird die Kontrolle zum Schritt 302 überführt, und wenn er ein Duplikat-Router ist, wird die Kontrolle zum Schritt 306 überführt.
  • Im Schritt 302 erstellt ein Serverduplikat eine Netzleistungstabelle unter Verwendung des in 6 dargestellten Verfahrens. Im Schritt 305 erstellt das Serverduplikat ein Duplikat-Gesamtprotokoll, das einen Eintrag für jedes von ihm erreichbare Netz aufweist. Jeder Eintrag in dem Duplikat-Gesamtprotokoll enthält eine Netznummer, die Netzmaske des Netzes aus der Netzleistungstabelle (siehe 6), eine Schätzung der Leistung zu dem Netz aus der Netzleistungstabelle und die aktuelle Zeit als Zeitstempel. Das gesamte Duplikat-Gesamtprotokoll wird als durch ein Serverduplikat erstellt markiert.
  • Wenn alternativ ein bestimmter Rechner ein Duplikat-Router ist, dann durchsucht der Duplikat-Router im Schritt 306 seine Duplikat-Routing-Datenbank und löscht alle Duplikat-Gesamtprotokoll-Einträge mit einem Zeitstempel, der älter als eine durch die Konfiguration gesetzte Zeitgrenze ist. Im Schritt 307 wird geprüft, ob dieser Duplikat-Router als ein Root-Duplikat-Router konfiguriert ist. Wenn dies der Fall ist, dann wird die Kontrolle zum Schritt 370 überführt und der Root-Duplikat-Router erstellt keine Anzeige (da der Root-Duplikat-Router keine Mutter besitzt, zu der er eine Anzeige senden kann). Wenn dieser Duplikat-Router kein Root-Duplikat-Router ist, dann wird im Schritt 310 die Duplikat-Routing-Datenbank zur Erstellung eines neuen Duplikat-Gesamtprotokolls benutzt, das mehrere Einträge aufweist, einen für jede in einem Duplikat-Gesamtprotokoll in der Duplikat-Routing-Datenbank angezeigte Netznummer. Jeder Eintrag in dem neu erstellten Duplikat-Gesamtprotokoll enthält folgendes: eine Netznummer, die Netzmaske für diese Netznummer, den besten Leistungsmetrikwert für diese Netznummer, der in einem Duplikat-Gesamtprotokoll von einem beliebigen Serverduplikat oder Duplikat-Router angezeigt ist, und den Zeitstempel von diesem Eintrag mit der besten Leistung in der Routing-Datenbank. Das neu erstellte Duplikat-Gesamtprotokoll wird als durch einen Duplikat-Router erstellt markiert.
  • Im Schritt 315 beginnt den Duplikat-Routern und Serverduplikaten gemeinsame Logik und das neue Duplikat-Gesamtprotokoll kann entsprechend betreiberspezifischen Regeln modifiziert werden, die für den Duplikat-Router oder das Serverduplikat spezifisch sind. Es können willkürliche Änderungen des neuen Duplikat-Gesamt protokolls angegeben werden, einschließlich des Folgenden: das Entfernen gewisser Netze, das Zufügen von Netznummern mit angegebenen Netzmasken, Leistungsmetrikwerte, und Zeitstempel, die einen Wert "nicht ablaufen" enthalten können; Korrektur von Hand nach Netznummer von Netzmasken und Leistungsmetrikwerten oder Duplikat-Gesamtprotokolleinträgen; und Entfernen von Duplikat-Gesamtprotokolleinträgen, die einen angegebenen Leistungsmetrikwert nicht erreichen. Auf diese Weise kann der Betreiber eines Servers sicherstellen, daß der Server seinem Ziel-Benutzerkreis dient, beispielsweise durch Zufügen von Intranet-Netznummern, die außerhalb der Firewall des Intranets nicht sichtbar sind. Als nächstes wählt der Duplikat-Router oder das Serverduplikat eine Menge von Mutter-Duplikat-Routern aus. Die Adressen der Mutter-Duplikat-Router werden durch Aufsuchen der an den DNS-Namen des Dienstes (wie beispielsweise „www.pathfinder.com") gebundenen Duplikat-Router initialisiert. Als Alternative kann die Menge von Mutter-Duplikat-Routern von Hand für kompliziertere Hierarchien konfiguriert werden.
  • Bei einer alternativen Ausführungsform enthalten Serverduplikate die gleichen Grundinformationen, sind aber mit örtlichen Merkmalen wie beispielsweise mit ihrem Inhalt in einer Fremdsprache oder mit käuferstandortspezifischen Preisen spezialisiert. Bei dieser Ausführungsform wird in 315 wie oben beschrieben die Anzeige eines Serverduplikats geändert, um einem Dienst Netznummern anzubieten, die sich in einem geographischen Bereich befinden, z. B. einem Land, oder einem Verwaltungsbereich, z. B. einer Firma, ungeachtet dessen, ob diese Netznummern tatsächlich in der Nähe des Serverduplikats liegen, damit Client-Routing zu Serverduplikaten auf Inhaltsspezialisierung basiert. Insbesondere können die Netznummern, die das Serverduplikat zu bedienen wünscht, zu den Netznummern hinzugefügt werden, die normalerweise als in der Nähe des Standorts des Serverduplikats liegend angezeigt werden (wenn sich die Netznummern, die das Serverduplikat zu bedienen wünscht, von den Nummern unterscheiden, die als in der Nähe des Standorts des Serverduplikats liegend angezeigt werden), oder die normalerweise angezeigten Nummern werden gelöscht. Beispielsweise könnte ein Serverduplikat mit Inhalt in der französischen Sprache die Bedienung von Netznummern anbieten, die sich in Frankreich befinden. In diesem Beispiel werden, wenn mehrere Server die Bedienung von Netzen in Frankreich anbieten, Leistungsmetrikwerte benutzt, um das beste für eine Clientanforderung zu wählen.
  • Sobald die Menge von Mutter-Duplikat-Routern bestimmt worden ist, werden ihre Adressen stabil zur späteren Verwendung aufgezeichnet.
  • Im Schritt 325 wird eine Duplikatanzeige aufgebaut, die das Duplikat-Gesamtprotokoll, die IP-Adresse des örtlichen Computers und die aktuelle Zeit enthält. In 330 wird der Duplikatanzeige eine digitale Signatur hinzugefügt, die auf einem allen Duplikaten und Duplikat-Routern eines Dienstes bekannten dienstspezifischen privaten Schlüssel beruht, und die vollständige Duplikatanzeige wird den Mutter-Duplikat-Routern in HTTP-POST-Nachricht 335 zugesendet.
  • Nachdem ein Mutter-Duplikat-Router die Duplikatanzeigenachricht 335 empfangen hat, authentifiziert er die Duplikatanzeige im Schritt 340 unter Verwendung des öffentlichen Schlüssels des Dienstes. Sobald die Anzeige authentifiziert worden ist, findet im Schritt 341 eine Prüfung statt, um sicherzustellen, daß die IP-Adresse in der Anzeige die gleiche ist wie die Ursprungs-IP-Adresse im Kopfteil der Nachricht 335. Wenn die IP-Adressen übereinstimmen, läuft die Kontrolle weiter bei 345 und ansonsten läuft die Kontrolle weiter bei 342.
  • Wenn im Schritt 342 die IP-Adressen nicht übereinstimmen, bedeutet das, daß die Duplikatanzeige eine Fire wall durchlaufen hat (siehe 1). Dem Duplikat-Gesamtprotokoll mit mehreren Einträgen in der Duplikatanzeige wird ein einzelner Eintrag mit Folgendem zugefügt: der Ursprungs-IP-Adresse im Kopfteil der Nachricht 335, einer Netzmaske mit allen Bits auf "1", einem Vorgabe-Netzmetrikwert, und der aktuellen Zeit. Dieser Zusatzeintrag wird dem Gesamtprotokoll hinzugefügt, da die zugefügte IP-Adresse mit den IP-Adressen von Anforderungen von Clients von hinter der gleichen Firewall identisch sein und daher mit den IP-Adressen dieser Clientanforderungen übereinstimmen wird. Dieses neue Duplikat-Gesamtprotokoll wird als durch einen Duplikat-Router erstellt markiert.
  • Im Schritt 345 wird die Duplikatanzeige zu der örtlichen Routing-Datenbank am Mutter-Duplikat-Router hinzugefügt, wenn die Anzeige einen jüngeren Zeitstempel als eine vorherige Duplikatanzeige in der Routing-Datenbank von der gleichen, in der Duplikatanzeige angegebenen IP-Adresse aufweist. Durch neuere Anzeigen überholte Duplikatanzeigen werden gelöscht.
  • Im Schritt 355 wird eine Bestätigungsnachricht aufgebaut, die die in der Anzeige enthaltene IP-Adresse, den Zeitstempel und eine digitale Signatur unter Verwendung des privaten Schlüssels enthält. Die Bestätigungsnachricht 360 wird im Schritt 365 durch das sendende Serverduplikat oder den sendenden Duplikat-Router authentifiziert und im Schritt 370 wird ein Zeitgeber gesetzt, um die Registrierungsinformationen in einem durch die Konfiguration bestimmten Zeitabstand aufzufrischen. Wenn der Zeitgeber abläuft, kehrt die Kontrolle des Serverduplikats oder Duplikat-Routers zum Schritt 301 zurück.
  • Bei einer alternativen Ausführungsform "pingen" Duplikat-Router regelmäßig die Server, die durch Duplikatanzeigen in ihren Duplikat-Routing-Datenbänken beschrieben sind. Die Anzeigen von Servern, die nicht antwor ten, werden entfernt, es sei denn ihr Duplikat-Gesamtprotokoll enthält einen Eintrag mit einer völlig aus "1"en bestehenden Netzmaske, wodurch angezeigt wird, daß sich der Server hinter einer Firewall befindet.
  • 4a4b zeigen ein Flußdiagramm, das den Vorgang der Weitergabe eines Clientcomputers an ein Serverduplikat unter Verwendung von HTTP-Weiterleitungen (redirects) beschreibt. Im Schritt 505 wählt ein Benutzer einen Eintrag aus einer vorher empfangenen HTTP-Seite aus, die eine URL enthält, die sich auf einen vervielfältigten Dienst bezieht. Im Schritt 510 wird eine Netzanforderung 515 erstellt wie beispielsweise ein GET oder ein POST, und die Anforderung 515 wird zu einem Root-Duplikat-Router für den Dienst gesendet. Die IP-Adresse des Root-Duplikat-Routers wird aus dem DNS-Namen oder der Adresse in der in Schritt 505 ausgewählten URL abgeleitet.
  • Im Schritt 535 vergleicht der Duplikat-Router alle Duplikat-Gesamtprotokolleinträge in der Duplikat-Routing-Datenbank mit der Ursprungs-IP-Adresse in Nachricht 515. Der Adressenvergleich jedes Duplikat-Gesamtprotokolleintrags wird auf Grundlage des Teils jeder Adresse durchgeführt, der gemäß der im Eintrag enthaltenen Netzmaske die Netzkennung bildet. Wenn keine Entsprechungen festgestellt werden, wird die Kontrolle zum Schritt 562 überführt. Wenn Entsprechungen festgestellt werden, werden im Schritt 545 die N übereinstimmenden Duplikat-Gesamtprotokolleinträge, die die besten Netzleistungsmetrikwerte enthalten, ausgewählt und nach abnehmendem Netzleistungsmetrikwert sortiert, und die in den entsprechenden Duplikatanzeige-Einträgen enthaltenen IP-Adressen werden zu den in Frage kommenden Ziel-IP-Adressen gemacht. Jeder Eintrag in der Liste in Frage kommender Ziel-IP-Adressen enthält einen Deskriptor, der anzeigt, ob er ein Duplikat-Router oder ein Server-Duplikat ist (diese Information wird aus der Duplikatanzeige des Eintrags bestimmt). Die Zahl N ist ein Kon figurationsparameter. Kontrolle wird dann zu Schritt 590 überführt.
  • Im Schritt 562 bestimmt der Duplikat-Router den Netzweg und die abschnittsweise Laufzeit zur IP-Adresse des Client im Kopfteil der Nachricht 515 unter Verwendung eines Hilfsprogramms wie beispielsweise Traceroute. Wenn der Duplikat-Router auf Grund einer vorherigen Ausführung des Schritts 562 zur gleichen Clientadresse bereits im Besitz der Routing- und Leistungsinformationen ist, benutzt er diese Informationen, wenn sie nicht älter als eine durch die Konfiguration gegebene Höchstzeit sind.
  • Im Schritt 565 wird die IP-Adresse jedes Netz-Routers auf dem Netzweg zum Client in den Duplikat-Gesamtprotokollen in der Duplikat-Routing-Datenbank beginnend mit dem dem Client am nächsten liegenden Netz-Router nachgeschlagen. Die Gleichheitsprüfung wird unter Verwendung der Netzmaske in jedem Duplikat-Gesamtprotokolleintrag durchgeführt. Wenn es keine passenden Einträge in der Duplikat-Routing-Datenbank gibt, dann wird im Schritt 575 eine Vorgabemenge von vordefinierten Serverduplikaten zu der Menge von in Frage kommenden Ziel-IP-Adressen gemacht und alle Vorgabeduplikate werden als Serverduplikate markiert. Kontrolle wird dann zum Schritt 590 überführt.
  • Wenn es passende Einträge in den Duplikat-Gesamtprotokollen in der Routing-Datenbank gibt, dann wird im Schritt 570 die angezeigte Netzleistung jedes passenden Duplikat-Gesamtprotokolleintrags zu der geschätzten Netzleistung vom Client zu dem Netz-Router, zu dem er passt, hinzugefügt. Eine Möglichkeit zum Schätzen dieser Leistung besteht darin, die vom Duplikat-Router zum Client beobachtete Zweiwegleistung zu nehmen und die Zweiwegleistung vom Duplikat-Router zu dem passenden Netz-Router entsprechend zu ändern. Es werden die N passenden Duplikatanzeigeeinträge, die die besten Sum men-Netzleistungsmetrikwerte enthalten, ausgewählt und die in diesen Duplikatanzeigeeinträgen enthaltenen IP-Adressen werden zu den in Frage kommenden Ziel-IP-Adressen gemacht. Jeder Eintrag in der Liste von in Frage kommenden Ziel-IP-Adressen enthält einen Deskriptor, der anzeigt, ob er ein Duplikat-Router oder ein Serverduplikat ist; diese Information wird aus der Duplikatanzeige des Eintrags bestimmt. Die N IP-Adressen werden nach abnehmender Güte der Netzmetrik geordnet. Kontrolle wird dann zum Schritt 590 überführt.
  • Im Schritt 590 wird eine neue URL-Adresse berechnet, die aus der in Nachricht 515 gesendeten URL besteht, deren Netzadreßteil durch die IP-Adresse ersetzt worden ist, die die höchste auf der Liste in Frage kommender Ziel-IP-Adressen ist. Die neue URL-Adresse wird in Weiterleitungsnachricht 595 zum Client zurückgesendet.
  • Im Schritt 596 verarbeitet der Client die Weiterleitung (redirect). Wenn die neue URL auf einen Duplikat-Router zeigt, startet der Client automatisch wieder am Schritt 510 und verwendet einen anderen Duplikat-Router. Eine Anwendung einer solchen Weiterleitung besteht im Weiterleiten eines Client zu einem Duplikat-Router, der sich hinter einer Firewall befindet, die auf Serverduplikate im Intranet des Client spezialisiert ist. Wenn die neue URL auf ein Serverduplikat zeigt, sendet das Serverduplikat Seiten zurück, die relative Links für alle Anforderungen enthalten, die von dem Duplikat bedient werden können, und absolute Links zu einem Master-Server für alle Anforderungen, die von einem Master-Server bedient werden müssen. Relative Links erlauben dem Client, den Hostnamen des örtlichen Serverduplikats von Anforderung zu Anforderung zu führen, wie auch wahlweise Informationen wie beispielsweise eine Sitzungskennung oder digitale Empfangsbestätigung. Von einem Serverduplikat erstellte absolute Links können ähnliche Informationen einschließlich von Sitzungskennungen codieren und auch stets die IP-Adresse des ver weisenden Serverduplikats, so daß der Master-Server die IP-Adresse des verweisenden Duplikats erfahren kann, damit der Master-Server den Client wieder zum verweisenden Duplikat zurückleiten kann, wenn der Master-Server seine spezialisierte Verarbeitung beendet hat.
  • Bei einer alternativen Implementierung werden Netzleistungsschätzungen direkt durch den Netz-Routingdienst unterstützt und können zum Duplikat-Routing benutzt werden. Beispielsweise unterstützen gewisse vorgeschlagene Netz-Routing-Verfahren wie IDPR Netz-Routing-Server, die die erwartete Netzleistung eines Weges zwischen zwei angegebenen IP-Adressen in einem Internetzwerk bestimmen können. Dieser Netzdienst kann direkt in Schritten 535 bis 570 oder 575 benutzt werden, um das Serverduplikat in der Duplikat-Routing-Datenbank mit der besten erwarteten Leistung von der IP-Adresse des Serverduplikats bis zur IP-Adresse des Client herauszusuchen.
  • In einer alternativen Implementierung läuft jeder Root-Duplikat-Router auf dem gleichen Computer wie ein Serverduplikat ab. Bei dieser Implementierung sendet der Duplikat-Router die angeforderten Informationen direkt von seinem örtlichen Serverduplikat zurück, anstatt den Client weiterzuleiten, wenn kein Serverduplikat für die IP-Adresse und den Netzstandort eines bestimmten Client gefunden werden kann.
  • Das Flußdiagramm in 5a5b zeigt, wie Duplikat-Routing mit Client-Applets durchgeführt werden kann. Im Schritt 605 aktiviert ein Benutzer einen Link, der ein Client-Applet beschreibt, das Zugang zu dem Ziel hinter dem Link vermittelt. Im Schritt 610 führt das Applet Internetzwerk-Leistungsentdeckung wie in 6 beschrieben durch, und im Schritt 615 baut und sendet das Applet eine Duplikat-Routing-Anforderung 620 zu einem oder mehreren Root-Duplikat-Routern. Die in Schritt 615 gebaute Anforderung enthält die in Schritt 610 berech nete Netz-Leistungstabelle. Sobald ein Client den Schritt 610 durchführt, braucht dieser Schritt ein durch die Konfiguration gesetztes Intervall lang nicht wiederholt werden.
  • Im Schritt 630 benutzt ein Duplikat-Router die Ursprungs-IP-Adresse der Nachricht 620 und führt Schritte 535 bis 570 oder 575 aus 4a zum Berechnen einer Menge von in Frage kommenden Ziel-IP-Adressen durch. An Stelle des Schritts 562 wird die in Schritt 610 berechnete und in der Nachricht 620 übertragene Netzleistungstabelle zum Erstellen einer geordneten Liste von vom Client aus erreichbaren Netznummern in abnehmender Leistungs-Reihenfolge benutzt. Diese Netznummern werden in den Duplikat-Gesamtprotokollen in der Duplikat-Routing-Datenbank aufgesucht (Schritt 565) und passende Duplikat-Gesamtprotokolleinträge ergeben die Berechnung einer Summen-Leistungsnummer (Schritt 570) aus sowohl dem Eintrag als auch der durch die Clientnachricht 620 bereitgestellten Netzleistung. Die oberen N Einträge werden als in Frage kommende Ziel-IP-Adressen benutzt. Jeder Eintrag in der Liste in Frage kommender Ziel-IP-Adressen enthält einen Deskriptor, der anzeigt, ob er ein Duplikat-Router oder ein Serverduplikat ist (diese Information wird aus der Duplikatanzeige des Eintrags bestimmt). Wenn keines der Netze in der Netzabbildung in der Nachricht 620 mit den Duplikat-Gesamtprotokollen übereinstimmt, wird eine Vorgabemenge von Serverduplikaten für die in Frage kommenden Zieladressen benutzt (Schritt 575).
  • Sobald die Liste der in Frage kommenden Ziel-IP-Adressen im Schritt 630 berechnet ist, wird im Schritt 645 eine Antwortnachricht 650 aufgebaut, die die IP-Adreßliste, Leistungsmetrikwerte entsprechend jedem Element der Liste, eine Anzeige, ob jedes Element der Liste ein Duplikat-Router oder ein Serverduplikat ist, einen Zeitstempel und eine dienstspezifische Digitalsignatur enthält, und im Schritt 655 wird die Digital signatur authentifiziert. Wenn die zurückgesendeten in Frage kommenden IP-Adressen Duplikat-Router enthalten, dann kehrt im Schritt 660 die Kontrolle zum Schritt 615 zurück und die Liste von in Frage kommenden IP-Adressen wird erweitert und nach Leistungsmetrikwert sortiert. Ansonsten werden im Schritt 670 Dienstanforderungen entsprechend der ursprünglichen Benutzerhandlung im Schritt 605 in der Nachricht 675 zu einer festen Anzahl der Serverduplikate mit den besten Leistungsmetriken gesendet. Im Schritt 680 verarbeitet ein Serverduplikat die Anforderung und fügt in die zum Client zurückgesendete Seite codierte relative Links ein, die den Client für nachfolgende Anforderungen zu dem Duplikat zurückführen werden, das die zurückgesendete Seite bereitstellte. Antwortnachrichten 685 werden vom Applet in Schritt 690 empfangen und die früheste empfangene Antwort wird zur Verarbeitung gemäß der ursprünglichen Benutzerhandlung im Schritt 605 ausgewählt.
  • In einer alternativen Ausführungsform speichert das Client-Applet eine Liste aller in der Nachricht 650 angebotenen Server und Duplikat-Router und baut im Schritt 670 einfach eine einzige Dienstanforderung an das Serverduplikat oder den Duplikat-Router mit dem besten Summen-Netzleistungsmetrikwert in der Liste auf. Sollte ein Server oder Duplikat-Router nicht antworten, so kehrt das Applet zu der gespeicherten Liste zurück, um sich eine weitere Serveradresse oder Duplikat-Router-Adresse zum Versuchen auszusuchen.
  • In einer weiteren alternativen Ausführungsform baut der Client im Schritt 510 oder 615 eine Duplikat-Routing-Anforderung auf, die an eine vordefinierte Rundsende- oder Multicast-Adresse adressiert ist. Bei dieser Ausführungsform horchen Duplikat-Router nach einer Rundsende- oder Multicast-Anforderung an dieser Adresse bei 515 oder 620. Da mehrere Duplikat-Router auf eine Rundsende- oder Multicast-Anforderung antworten können, kann der Client sich die erste Antwort aussuchen, oder die Antwort, die das Serverduplikat mit der besten geschätzten Leistung vom Internetzwerkstandort des Client aus bietet.
  • Obwohl ein System beschrieben worden ist, bei dem Duplikat-Router und Serverduplikate alle einen einzigen Dienst implementieren (z. B. eine einzige Sammlung von Informationen), können von einem Fachmann Verallgemeinerungen gemacht werden, um Duplikat-Routern zu ermöglichen, für mehrere Dienste zu fungieren, indem geeignete einmalige Dienstkennungen in Nachrichten und Datenbankeinträge eingeführt werden und die obige Logik abgeändert wird, um Dienstkennungen einzuschließen.
  • Es sind hier neuartige und verbesserte Vorrichtungen und Verfahren für Duplikat-Routing beschrieben worden. Es versteht sich, daß ein Fachmann nunmehr zahlreiche Verwendungen für und Abänderungen und Abweichungen von der hier beschriebenen spezifischen Ausführungsform durchführen kann, ohne von der Erfindungsidee abzuweichen. Infolgedessen soll die Erfindung so gedeutet werden, daß sie jedes und alle neuartigen Merkmale und neuartige Kombination von Merkmalen umfaßt, die in der hier offenbarten Vorrichtung und dem hier offenbarten Verfahren vorhanden sind oder über die diese verfügen, und einzig durch den Umfang der beiliegenden Ansprüche begrenzt ist.

Claims (18)

  1. Internetzwerk-Duplikat-Routingsystem (100), umfassend: eine Vielzahl von Serverduplikaten (41, 42, 43), mindestens einen Duplikat-Router (51, 52) und mindestens einen Clientcomputer (31, 32, 33, 34), die durch ein Kommunikationsinternetzwerk (10) verbunden sind; wobei der Clientcomputer (31, 32, 33, 34) so programmiert ist, daß er bewirkt, daß eine Netzwerkanforderung eines Zugriffs auf ein Serverduplikat (41, 42, 43) über das Kommunikationsinternetzwerk (10) gesendet wird; wobei mindestens ein Duplikat-Router (51, 52) so programmiert ist, daß er die Netzwerkanforderung empfängt und auf der Basis des Standorts des Clientcomputers in dem Internetzwerk (10) für jeden von mindestens einem Teil der Serverduplikate (41, 42, 43) einen Leistungsmetrikwert berechnet, der eine geschätzte Kommunikationsleistung zwischen dem Clientcomputer (31, 32, 33, 34) und dem Serverduplikat (41, 42, 43) spezifiziert, und so programmiert ist, daß er den Clientcomputer (31, 32, 33, 34) zu mindestens einem Serverduplikat (41, 42, 43) lenkt, von dem auf der Basis des Standorts des Clientcomputers in dem Internetzwerk (10) geschätzt wird, daß es eine vorteilhafte Leistung liefert, wobei der Duplikat-Router (51, 52) so programmiert ist, daß er das Serverduplikat (41, 42, 43), zu dem er den Clientcomputer (31, 32, 33, 34) lenkt, auf der Basis der durch den Duplikat-Router (51, 52) berechneten Leistungsmetrikwerte der Serverduplikate (41, 42, 43) auswählt; wobei das Serverduplikat (41, 42, 43), zu dem der Clientcomputer (31, 32, 33, 34) durch den Duplikat-Router (51, 52) gelenkt wird, so programmiert ist, daß es auf die Netzwerkanforderung von dem Clientcomputer (31, 32, 33, 34) antwortet.
  2. System nach Anspruch 1, wobei die Serverduplikate (41, 42, 43) so programmiert sind, daß sie bewirken, daß Serverduplikatanzeigen zu dem Duplikat-Router (51, 52) gesendet werden, wobei die Serverduplikatanzeigen Informationen enthalten, aus denen der Duplikat-Router (51, 52) den Leistungsmetrikwert berechnen kann; und wobei der Duplikat-Router (51, 52) so programmiert ist, daß er eine Datenbank (71, 72) der Serverduplikatanzeigen führt.
  3. System nach Anspruch 2, wobei der Duplikat-Router (51, 52) so programmiert ist, daß er die Duplikatanzeigen mit ihren eigentlichen Quellen-IP-Adressen vergleicht, um zu bestimmen, ob sich etwaige der Serverduplikate (41, 42, 43) hinter Firewalls befinden.
  4. System nach Anspruch 1, wobei der Clientcomputer (31, 32, 33, 34) so programmiert ist, daß er eine Beschreibung seiner Netzwerkumgebung zu dem Duplikat-Router (51, 52) sendet; und der Duplikat-Router (51, 52) so programmiert ist, daß er den Leistungsmetrikwert für ein Serverduplikat (41, 42, 43) auf der Basis der Beschreibung der Netzwerkumgebung des Clientcomputers berechnet.
  5. System nach Anspruch 1, wobei der Duplikat-Router (51, 52) so programmiert ist, daß er den Leistungsmetrikwert eines Serverduplikats (41, 42, 43) auf der Basis des Leistungsmetrikwerts mindestens eines Netzwerkrouters, der sich in einem Weg von dem Clientcomputer (31, 32, 33, 34) zu dem Duplikat-Router (51, 52) befindet, berechnet.
  6. System nach Anspruch 1, wobei der Clientcomputer (31, 32, 33, 34) so programmiert ist, daß er bewirkt, daß die Netzwerkanforderung eines Zugriffs auf das Serverduplikat (41, 42, 43) durch Multicasting oder Rundsenden der Duplikat-Routing-Anforderung über das Kommunikationsinternetzwerk (10) zu dem Duplikat-Router (51, 52) gesendet wird.
  7. System nach Anspruch 1, wobei eine Vielzahl von Duplikat-Routern (51, 52) in einer Hierarchie angeordnet vorliegt, wobei mindestens einer der Duplikat-Router (51, 52) so programmiert ist, daß er den Clientcomputer (31, 32, 33, 34) zu einem Serverduplikat (41, 42, 43) lenkt, von dem auf der Basis des Standorts des Clientcomputers in dem Internetzwerk (10) geschätzt wird, daß es eine vorteilhafte Leistung liefert, indem er den Clientcomputer (31, 32, 33, 34) zu einem tiefer in der Hierarchie angeordneten Duplikat-Router (51, 52) lenkt.
  8. System nach Anspruch 7, wobei mindestens einer der Duplikat-Router (51, 52) so programmiert ist, daß er bewirkt, daß eine Duplikat-Routeranzeige zu einem höher in der Hierarchie angeordneten Duplikat-Router (51, 52) gesendet wird, wobei die Duplikat-Routeranzeige Informatio nen enthält, aus denen der höher in der Hierarchie angeordnete Duplikat-Router den Leistungsmetrikwert berechnen kann; und der höher in der Hierarchie angeordnete Duplikat-Router (51, 52) so programmiert ist, daß er die Duplikat-Routeranzeige in der Datenbank (71, 72) von Anzeigen speichert.
  9. System nach Anspruch 8, wobei der höher in der Hierarchie angeordnete Duplikat-Router (51, 52) so programmiert ist, daß er die Duplikat-Routeranzeige mit ihrer eigentlichen Quellen-IP-Adresse vergleicht, um zu bestimmen, ob sich der Duplikat-Router (51, 52), der das Senden der Duplikat-Routeranzeige bewirkt hat, hinter einer Firewall (20, 21) befindet.
  10. Verfahren zum Duplikat-Routing in einem Kommunikationsinternetzwerk (10) mit einer Vielzahl von Serverduplikaten (41, 42, 43), mindestens einem Duplikat-Router (51, 52) und mindestens einem Clientcomputer (31, 32, 33, 34), mit den folgenden Schritten: Bewirken, daß eine Netzwerkanforderung eines Zugriffs auf ein Serverduplikat (41, 42, 43) von dem Clientcomputer (31, 32, 33, 34) über das Kommunikationsinternetzwerk (10) gesendet wird; Empfangen der Netzwerkanforderung in mindestens einem Duplikat-Router (51, 52); Berechnen, für jeden von mindestens einem Teil der Serverduplikate (41, 42, 43), eines Leistungsmetrikwerts, der eine geschätzte Kommunikationsleistung zwischen dem Clientcomputer (31, 32, 33, 34) und dem Serverduplikat (41, 42, 43) spezifiziert, auf der Basis des Standorts des Clientcomputers in dem Internetzwerk (10), in dem Duplikat-Router (51, 52); Lenken des Clientcomputers (31, 32, 33, 34) zu mindestens einem Serverduplikat (41, 42, 43), von dem auf der Basis des Standorts des Clientcomputers in dem Internetzwerk (10) geschätzt wird, daß er eine vorteilhafte Leistung liefert, wobei das Serverduplikat (41, 42, 43), zu dem der Clientcomputer (31, 32, 33, 34) gelenkt wird, auf der Basis der durch den Duplikat-Router (51, 52) berechneten Leistungsmetrikwerte der Serverduplikate ausgewählt wird; Antworten auf die Netzwerkanforderung von dem Clientcomputer in dem Serverduplikat (41, 42, 43), zu dem der Clientcomputer (31, 32, 33, 34) gelenkt wird.
  11. Verfahren nach Anspruch 10, weiterhin mit den folgenden Schritten: Bewirken, daß Serverduplikatanzeigen von den Serverduplikaten (41, 42, 43) zu dem Duplikat-Router (51, 52) gesendet werden, wobei die Anzeigen Informationen enthalten, aus denen der Duplikat-Router die Leistungsmetrikwerte berechnen kann; und wobei der Duplikat-Router (51, 52) eine Datenbank (71, 72) der Serverduplikatanzeigen führt.
  12. Verfahren nach Anspruch 11, bei dem weiterhin in dem Duplikat-Router (51, 52) die Duplikat-Anzeigen mit ihren Quellen-IP-Adressen verglichen werden, um zu bestimmen, ob sich etwaige der Serverdupli kate (41, 42, 43) hinter Firewalls (20, 21) befinden.
  13. Verfahren nach Anspruch 10, weiterhin mit den folgenden Schritten: Senden einer Beschreibung der Netzwerkumgebung des Clientcomputers (31, 32, 33, 34) von dem Clientcomputer zu dem Duplikat-Router (51, 52); und Berechnen des Leistungsmetrikwerts für ein Serverduplikat (41, 42, 43) in dem Duplikat-Router (51, 52) auf der Basis der Beschreibung der Netzwerkumgebung des Clientcomputers.
  14. Verfahren nach Anspruch 10, bei dem weiterhin in dem Duplikat-Router (51, 52) der Leistungsmetrikwert eines Serverduplikats (41, 42, 43) auf der Basis des Leistungsmetrikwerts mindestens eines Netzwerkrouters, der sich in einem Weg von dem Clientcomputer (31, 32, 33, 34) zu dem Duplikat-Router (51, 52) befindet, berechnet wird.
  15. Verfahren nach Anspruch 10, bei dem weiterhin bewirkt wird, daß die Netzwerkanforderung eines Zugriffs auf das Serverduplikat (41, 42, 43) durch Multicasting oder Rundsenden der Duplikat-Routing-Anforderung über das Kommunikationsinternetzwerk (10) von dem Clientcomputer (31, 32, 33, 34) zu dem Duplikat-Router (51, 52) gesendet wird.
  16. Verfahren nach Anspruch 10, wobei eine Vielzahl von Duplikat-Routern (51, 52) in einer Hierarchie angeordnet vorliegt, wobei bei dem Verfahren mindestens einer der Duplikat-Router (51, 52) den Clientcomputer (31, 32, 33, 34) zu einem Serverduplikat (41, 42, 43) lenkt, von dem auf der Basis des Standorts des Clientcomputers in dem Inter netzwerk (10) geschätzt wird, daß es eine vorteilhafte Leistung liefert, indem es den Clientcomputer (31, 32, 33, 34) zu einem tiefer in der Hierarchie angeordneten Duplikat-Router (51, 52) lenkt.
  17. Verfahren nach Anspruch 16, weiterhin mit den folgenden Schritten: Bewirken, daß eine Duplikat-Routeranzeige von einem der Duplikat-Router (51, 52) zu einem höher in der Hierarchie angeordneten Duplikat-Router (51, 52) gesendet wird, wobei die Duplikat-Routeranzeige Informationen enthält, aus denen der höher in der Hierarchie angeordnete Duplikat-Router den Leistungsmetrikwert berechnen kann; und wobei der höher in der Hierarchie angeordnete Duplikat-Router (51, 52) die Duplikat-Routeranzeige in der Datenbank (71, 72) von Anzeigen speichert.
  18. Verfahren nach Anspruch 17, bei dem weiterhin in dem höher in der Hierarchie angeordneten Duplikat-Router (51, 52) die Duplikat-Routeranzeige mit ihrer tatsächlichen Quellen-IP-Adresse verglichen wird, um zu bestimmen, ob sich der Duplikat-Router (51, 52), der das Senden der Duplikat-Routeranzeige bewirkt hat, hinter einer Firewall (20, 21) befindet.
DE69730056T 1997-01-07 1997-12-30 Routen von duplikaten Expired - Lifetime DE69730056T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/779,770 US6052718A (en) 1997-01-07 1997-01-07 Replica routing
US779770 1997-01-07
PCT/US1997/023728 WO1998031107A2 (en) 1997-01-07 1997-12-30 Replica routing

Publications (2)

Publication Number Publication Date
DE69730056D1 DE69730056D1 (de) 2004-09-02
DE69730056T2 true DE69730056T2 (de) 2005-05-25

Family

ID=25117503

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69730056T Expired - Lifetime DE69730056T2 (de) 1997-01-07 1997-12-30 Routen von duplikaten

Country Status (5)

Country Link
US (2) US6052718A (de)
EP (1) EP1018132B9 (de)
JP (1) JP4068158B2 (de)
DE (1) DE69730056T2 (de)
WO (1) WO1998031107A2 (de)

Families Citing this family (345)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0765560A1 (de) 1994-06-08 1997-04-02 Hughes Aircraft Company Verfahren und vorrichtung zum hybridnetzwerkzugriff
US6701370B1 (en) * 1994-06-08 2004-03-02 Hughes Electronics Corporation Network system with TCP/IP protocol spoofing
US6460036B1 (en) * 1994-11-29 2002-10-01 Pinpoint Incorporated System and method for providing customized electronic newspapers and target advertisements
US6571279B1 (en) * 1997-12-05 2003-05-27 Pinpoint Incorporated Location enhanced information delivery system
US5758257A (en) * 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
CA2202572C (en) * 1997-04-14 2004-02-10 Ka Lun Eddie Law A scaleable web server and method of efficiently managing multiple servers
US6256675B1 (en) * 1997-05-06 2001-07-03 At&T Corp. System and method for allocating requests for objects and managing replicas of objects on a network
US6209036B1 (en) * 1997-06-06 2001-03-27 International Business Machines Corporation Management of and access to information and other material via the world wide web in an LDAP environment
US6189043B1 (en) * 1997-06-09 2001-02-13 At&T Corp Dynamic cache replication in a internet environment through routers and servers utilizing a reverse tree generation
SE9702239L (sv) * 1997-06-12 1998-07-06 Telia Ab Arrangemang för lastbalansering i datornät
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
US8060613B2 (en) * 1998-02-10 2011-11-15 Level 3 Communications, Llc Resource invalidation in a content delivery network
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6430618B1 (en) 1998-03-13 2002-08-06 Massachusetts Institute Of Technology Method and apparatus for distributing requests among a plurality of resources
US6359879B1 (en) * 1998-04-24 2002-03-19 Avici Systems Composite trunking
US6115752A (en) * 1998-05-21 2000-09-05 Sun Microsystems, Inc. System and method for server selection for mirrored sites
US7143193B1 (en) * 1998-05-29 2006-11-28 Yahoo! Inc. Content collection
US7581006B1 (en) 1998-05-29 2009-08-25 Yahoo! Inc. Web service
US6976093B2 (en) 1998-05-29 2005-12-13 Yahoo! Inc. Web server content replication
US6341311B1 (en) * 1998-05-29 2002-01-22 Microsoft Corporation Directing data object access requests in a distributed cache
US7035943B2 (en) 1998-05-29 2006-04-25 Yahoo! Inc. Web server content replication
US6314463B1 (en) 1998-05-29 2001-11-06 Webspective Software, Inc. Method and system for measuring queue length and delay
US6317786B1 (en) * 1998-05-29 2001-11-13 Webspective Software, Inc. Web service
US6279001B1 (en) 1998-05-29 2001-08-21 Webspective Software, Inc. Web service
US6144999A (en) * 1998-05-29 2000-11-07 Sun Microsystems, Incorporated Method and apparatus for file system disaster recovery
JP4080599B2 (ja) * 1998-06-17 2008-04-23 富士通株式会社 通信制御装置およびマルチキャスト対応lanに適用される通信制御方法
US6108703A (en) * 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
JP3786328B2 (ja) * 1998-07-27 2006-06-14 株式会社日立製作所 サーバおよび通信制御方法
US6963914B1 (en) * 1998-09-01 2005-11-08 Lucent Technologies Inc. Method and apparatus for retrieving a network file using a logical reference
US6324580B1 (en) * 1998-09-03 2001-11-27 Sun Microsystems, Inc. Load balancing for replicated services
US6327622B1 (en) * 1998-09-03 2001-12-04 Sun Microsystems, Inc. Load balancing in a network environment
JP3578385B2 (ja) * 1998-10-22 2004-10-20 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ、及びレプリカ同一性保持方法
US6226684B1 (en) * 1998-10-26 2001-05-01 Pointcast, Inc. Method and apparatus for reestablishing network connections in a multi-router network
AU765914B2 (en) * 1998-10-30 2003-10-02 Virnetx Inc. An agile network protocol for secure communications with assured system availability
US6304913B1 (en) * 1998-11-09 2001-10-16 Telefonaktiebolaget L M Ericsson (Publ) Internet system and method for selecting a closest server from a plurality of alternative servers
JP4406944B2 (ja) * 1998-11-11 2010-02-03 株式会社日立製作所 計算機システム及び問合せに対する処理分散システム
US6473424B1 (en) 1998-12-02 2002-10-29 Cisco Technology, Inc. Port aggregation load balancing
US6934293B1 (en) 1998-12-02 2005-08-23 Cisco Technology, Inc. Port aggregation load balancing
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
US6611872B1 (en) * 1999-01-11 2003-08-26 Fastforward Networks, Inc. Performing multicast communication in computer networks by using overlay routing
US6502140B1 (en) * 1999-01-29 2002-12-31 International Business Machines Corporation Multicast support for small groups
US6934255B1 (en) * 1999-02-02 2005-08-23 Packeteer, Inc. Internet over satellite apparatus
US6748381B1 (en) * 1999-03-31 2004-06-08 International Business Machines Corporation Apparatus and method for maintaining consistency of shared data resources in a cluster environment
US8375127B1 (en) * 1999-03-31 2013-02-12 International Business Machines Corporation Method and system for using virtual URLs for load balancing
US7756830B1 (en) 1999-03-31 2010-07-13 International Business Machines Corporation Error detection protocol
JP2000353143A (ja) * 1999-04-08 2000-12-19 Seiko Epson Corp ネットワークにおけるノード検索方法、装置、および、ノード検索のためのプログラムを記録した記録媒体
US6745177B2 (en) * 1999-04-09 2004-06-01 Metro One Telecommunications, Inc. Method and system for retrieving data from multiple data sources using a search routing database
US6505254B1 (en) * 1999-04-19 2003-01-07 Cisco Technology, Inc. Methods and apparatus for routing requests in a network
US8200837B1 (en) * 1999-04-26 2012-06-12 Hewlett-Packard Development Company, L.P. Method and system for maintaining a content server at safe load conditions
US6430576B1 (en) 1999-05-10 2002-08-06 Patrick Gates Distributing and synchronizing objects
US6553423B1 (en) * 1999-05-27 2003-04-22 Cisco Technology, Inc. Method and apparatus for dynamic exchange of capabilities between adjacent/neighboring networks nodes
US6850987B1 (en) * 1999-06-01 2005-02-01 Fastforward Networks, Inc. System for multipoint infrastructure transport in a computer network
US6735633B1 (en) * 1999-06-01 2004-05-11 Fast Forward Networks System for bandwidth allocation in a computer network
US6542964B1 (en) * 1999-06-02 2003-04-01 Blue Coat Systems Cost-based optimization for content distribution using dynamic protocol selection and query resolution for cache server
US6275470B1 (en) 1999-06-18 2001-08-14 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
US6751191B1 (en) 1999-06-29 2004-06-15 Cisco Technology, Inc. Load sharing and redundancy scheme
US6735741B1 (en) * 1999-07-30 2004-05-11 International Business Machines Corporation Method system, and program for dynamic resource linking when copies are maintained at different storage locations
AU6795100A (en) * 1999-08-21 2001-03-19 Webever, Inc. Method for content delivery over the internet
US6785704B1 (en) 1999-12-20 2004-08-31 Fastforward Networks Content distribution system for operation over an internetwork including content peering arrangements
US6415323B1 (en) * 1999-09-03 2002-07-02 Fastforward Networks Proximity-based redirection system for robust and scalable service-node location in an internetwork
US6772225B1 (en) * 1999-09-30 2004-08-03 International Business Machines Corporation Policy enabled web caching
US6694431B1 (en) * 1999-10-12 2004-02-17 International Business Machines Corporation Piggy-backed key exchange protocol for providing secure, low-overhead browser connections when a server will not use a message encoding scheme proposed by a client
US6751731B1 (en) * 1999-10-12 2004-06-15 International Business Machines Corporation Piggy-backed key exchange protocol for providing secure, low-overhead browser connections to a server with which a client shares a message encoding scheme
US7065779B1 (en) 1999-10-13 2006-06-20 Cisco Technology, Inc. Technique for synchronizing multiple access controllers at the head end of an access network
US7630986B1 (en) * 1999-10-27 2009-12-08 Pinpoint, Incorporated Secure data interchange
US6970903B1 (en) * 1999-10-29 2005-11-29 Intel Corporation Distributed component system management using machine-independent activation requests
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
US6578087B1 (en) * 1999-11-12 2003-06-10 Cisco Technology, Inc. Determining a path through a managed network
US7523181B2 (en) 1999-11-22 2009-04-21 Akamai Technologies, Inc. Method for determining metrics of a content delivery and global traffic management network
US7925713B1 (en) * 1999-11-22 2011-04-12 Akamai Technologies, Inc. Method for operating an integrated point of presence server network
US6405252B1 (en) * 1999-11-22 2002-06-11 Speedera Networks, Inc. Integrated point of presence server network
US6754706B1 (en) 1999-12-16 2004-06-22 Speedera Networks, Inc. Scalable domain name system with persistence and load balancing
AU2292001A (en) * 1999-12-22 2001-07-03 Setnet Corp. Industrial capacity clustered mail server system and method
US6839829B1 (en) 2000-01-18 2005-01-04 Cisco Technology, Inc. Routing protocol based redundancy design for shared-access networks
US7058007B1 (en) 2000-01-18 2006-06-06 Cisco Technology, Inc. Method for a cable modem to rapidly switch to a backup CMTS
US7886023B1 (en) 2000-01-21 2011-02-08 Cisco Technology, Inc. Method and apparatus for a minimalist approach to implementing server selection
US7349348B1 (en) 2000-01-24 2008-03-25 Cisco Technologies, Inc. Method and apparatus for determining a network topology in the presence of network address translation
US7117273B1 (en) * 2000-01-25 2006-10-03 Cisco Technology, Inc. Methods and apparatus for maintaining a map of node relationships for a network
US7552233B2 (en) * 2000-03-16 2009-06-23 Adara Networks, Inc. System and method for information object routing in computer networks
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
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
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
US20010042202A1 (en) * 2000-04-14 2001-11-15 Horvath Charles J. Dynamically extendible firewall
US6996616B1 (en) * 2000-04-17 2006-02-07 Akamai Technologies, Inc. HTML delivery from edge-of-network servers in a content delivery network (CDN)
US20030005074A1 (en) * 2000-04-25 2003-01-02 Herz Frederick S.M. Method of combining shared buffers of continuous digital media data with media delivery scheduling
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
US7577754B2 (en) * 2000-04-28 2009-08-18 Adara Networks, Inc. System and method for controlling access to content carried in a caching architecture
AU2001255744A1 (en) * 2000-04-28 2001-11-12 Cenus Technologies, Inc. System and method for using network layer uniform resource locator routing to locate the closest server carrying specific content
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
US6457047B1 (en) * 2000-05-08 2002-09-24 Verity, Inc. Application caching system and method
US6789125B1 (en) 2000-05-10 2004-09-07 Cisco Technology, Inc. Distributed network traffic load balancing technique implemented without gateway router
US6742044B1 (en) 2000-05-10 2004-05-25 Cisco Technology, Inc. Distributed network traffic load balancing technique implemented without gateway router
US7209941B2 (en) * 2000-05-11 2007-04-24 Fujitsu Limited System and method for distributing contents from a child server based on a client's current location
US7082476B1 (en) * 2000-05-24 2006-07-25 Cisco Technology, Inc. System and method of optimizing retrieval of network resources by identifying and substituting embedded symbolic host name references with network addresses in accordance with substitution policies
WO2001090851A2 (en) * 2000-05-25 2001-11-29 Bbnt Solutions Llc Systems and methods for voting on multiple messages
AU2001265051A1 (en) * 2000-05-26 2001-12-11 Akamai Technologies, Inc. Global load balancing across mirrored data centers
AU2007200941A1 (en) * 2000-05-26 2007-03-22 Akamai Technologies, Inc. Global load balancing across mirrored data centers
US7020698B2 (en) * 2000-05-31 2006-03-28 Lucent Technologies Inc. System and method for locating a closest server in response to a client domain name request
US7103664B1 (en) * 2000-05-31 2006-09-05 International Business Machines Corporation Method, system and program products for ordering lists of service addresses to provide load balancing of a clustered environment
US6836806B1 (en) 2000-06-01 2004-12-28 Aerocast, Inc. System for network addressing
US20010049732A1 (en) * 2000-06-01 2001-12-06 Raciborski Nathan F. Content exchange apparatus
US6904460B1 (en) 2000-06-01 2005-06-07 Aerocast.Com, Inc. Reverse content harvester
US7213062B1 (en) 2000-06-01 2007-05-01 General Instrument Corporation Self-publishing network directory
US6879998B1 (en) * 2000-06-01 2005-04-12 Aerocast.Com, Inc. Viewer object proxy
US7395348B1 (en) * 2000-06-05 2008-07-01 Cisco Technology, Inc. Network cache-based content routing
US6850980B1 (en) * 2000-06-16 2005-02-01 Cisco Technology, Inc. Content routing service protocol
US6829654B1 (en) * 2000-06-23 2004-12-07 Cloudshield Technologies, Inc. Apparatus and method for virtual edge placement of web sites
US6728785B1 (en) 2000-06-23 2004-04-27 Cloudshield Technologies, Inc. System and method for dynamic compression of data
US7003555B1 (en) * 2000-06-23 2006-02-21 Cloudshield Technologies, Inc. Apparatus and method for domain name resolution
US7114008B2 (en) 2000-06-23 2006-09-26 Cloudshield Technologies, Inc. Edge adapter architecture apparatus and method
US9444785B2 (en) * 2000-06-23 2016-09-13 Cloudshield Technologies, Inc. Transparent provisioning of network access to an application
US8204082B2 (en) 2000-06-23 2012-06-19 Cloudshield Technologies, Inc. Transparent provisioning of services over a network
US7032031B2 (en) * 2000-06-23 2006-04-18 Cloudshield Technologies, Inc. Edge adapter apparatus and method
US6981056B1 (en) 2000-06-28 2005-12-27 Cisco Technology, Inc. Wide area load balancing of web traffic
US7072979B1 (en) 2000-06-28 2006-07-04 Cisco Technology, Inc. Wide area load balancing of web traffic
US7281032B2 (en) * 2000-06-30 2007-10-09 Hitachi, Ltd. File sharing system with data mirroring by storage systems
US7188157B1 (en) 2000-06-30 2007-03-06 Hitachi, Ltd. Continuous update of data in a data server system
US7062571B1 (en) 2000-06-30 2006-06-13 Cisco Technology, Inc. Efficient IP load-balancing traffic distribution using ternary CAMs
US7069324B1 (en) 2000-06-30 2006-06-27 Cisco Technology, Inc. Methods and apparatus slow-starting a web cache system
US7165116B2 (en) 2000-07-10 2007-01-16 Netli, Inc. Method for network discovery using name servers
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
US7725602B2 (en) * 2000-07-19 2010-05-25 Akamai Technologies, Inc. Domain name resolution using a distributed DNS network
US7653706B2 (en) * 2000-07-19 2010-01-26 Akamai Technologies, Inc. Dynamic image delivery system
US6781959B1 (en) 2000-07-31 2004-08-24 Cisco Technology, Inc. Method and apparatus for determining troubleshooting information for completed calls in a telecommunications network
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
US8527639B1 (en) 2000-08-18 2013-09-03 Cisco Technology, Inc. Content server selection for accessing content in a content distribution network
US6728767B1 (en) 2000-08-18 2004-04-27 Cisco Technology, Inc. Remote identification of client and DNS proxy IP addresses
DE10040463C2 (de) * 2000-08-18 2003-10-23 Tenovis Gmbh & Co Kg Verfahren zum Aufbauen einer Datenverbindung zwischen einer ersten und einer zweiten Recheneinheit und Vorrichtung zum Austauschen von Daten
US7054931B1 (en) * 2000-08-31 2006-05-30 Nec Corporation System and method for intelligent load distribution to minimize response time for web content access
JP2002109366A (ja) * 2000-09-29 2002-04-12 Mori Seiki Co Ltd 製品情報提供システム
US20020073145A1 (en) * 2000-10-02 2002-06-13 Tadashi Shimoji System for dynamically generating and processing a program
US7007092B2 (en) * 2000-10-05 2006-02-28 Juniper Networks, Inc. Connection management system and method
US7263550B1 (en) 2000-10-10 2007-08-28 Juniper Networks, Inc. Agent-based event-driven web server architecture
US7406539B2 (en) * 2000-10-17 2008-07-29 Avaya Technology Corp. Method and apparatus for performance and cost optimization in an internetwork
US7756032B2 (en) * 2000-10-17 2010-07-13 Avaya Inc. Method and apparatus for communicating data within measurement traffic
US7080161B2 (en) * 2000-10-17 2006-07-18 Avaya Technology Corp. Routing information exchange
US7487237B2 (en) * 2000-10-17 2009-02-03 Avaya Technology Corp. Load optimization
US7363367B2 (en) * 2000-10-17 2008-04-22 Avaya Technology Corp. Systems and methods for robust, real-time measurement of network performance
US8023421B2 (en) * 2002-07-25 2011-09-20 Avaya Inc. Method and apparatus for the assessment and optimization of network traffic
WO2002033894A2 (en) 2000-10-17 2002-04-25 Routescience Technologies, Inc. Method and apparatus for performance and cost optimization in an internetwork
US7349994B2 (en) 2000-10-17 2008-03-25 Avaya Technology Corp. Method and apparatus for coordinating routing parameters via a back-channel communication medium
US7720959B2 (en) * 2000-10-17 2010-05-18 Avaya Inc. Method and apparatus for characterizing the quality of a network path
US20020129162A1 (en) * 2000-11-22 2002-09-12 Mcgregor Gregory M. Method, architecture, and apparatus for dynamic content translation and switching
US7216154B1 (en) * 2000-11-28 2007-05-08 Intel Corporation Apparatus and method for facilitating access to network resources
US20020065922A1 (en) * 2000-11-30 2002-05-30 Vijnan Shastri Method and apparatus for selection and redirection of an existing client-server connection to an alternate data server hosted on a data packet network (DPN) based on performance comparisons
US6795858B1 (en) 2000-12-29 2004-09-21 Cisco Technology, Inc. Method and apparatus for metric based server selection
US7096266B2 (en) * 2001-01-08 2006-08-22 Akamai Technologies, Inc. Extending an Internet content delivery network into an enterprise
US7587500B2 (en) * 2001-01-10 2009-09-08 Xcelera Distributed selection of a content server
US7054304B2 (en) * 2001-01-19 2006-05-30 Terited International , Inc. Method and protocol for managing broadband IP services in a layer two broadcast network
US7043644B2 (en) * 2001-01-31 2006-05-09 Qurio Holdings, Inc. Facilitating file access from firewall-protected nodes in a peer-to-peer network
NL1017388C2 (nl) * 2001-02-16 2002-08-19 Marc Van Oldenborgh Organisch datanetwerk met een dynamische topologie.
US7274658B2 (en) * 2001-03-01 2007-09-25 Akamai Technologies, Inc. Optimal route selection in a content delivery network
US7146429B2 (en) * 2001-03-16 2006-12-05 The Aerospace Corporation Cooperative adaptive web caching routing and forwarding web content data requesting method
US7555561B2 (en) * 2001-03-19 2009-06-30 The Aerospace Corporation Cooperative adaptive web caching routing and forwarding web content data broadcasting method
US7472178B2 (en) * 2001-04-02 2008-12-30 Akamai Technologies, Inc. Scalable, high performance and highly available distributed storage system for Internet content
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)
US7062562B1 (en) 2001-04-11 2006-06-13 Cisco Technology, Inc. Methods and apparatus for content server selection
US7080138B1 (en) 2001-04-11 2006-07-18 Cisco Technology, Inc. Methods and apparatus for content server selection
WO2002084527A1 (en) * 2001-04-12 2002-10-24 Fifth Web Limited System and method for facilitating information transformations
US8180904B1 (en) * 2001-04-26 2012-05-15 Nokia Corporation Data routing and management with routing path selectivity
US20060167985A1 (en) * 2001-04-26 2006-07-27 Albanese Michael J Network-distributed data routing
US9032097B2 (en) * 2001-04-26 2015-05-12 Nokia Corporation Data communication with remote network node
US9143545B1 (en) 2001-04-26 2015-09-22 Nokia Corporation Device classification for media delivery
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
US7124173B2 (en) * 2001-04-30 2006-10-17 Moriarty Kathleen M Method and apparatus for intercepting performance metric packets for improved security and intrusion detection
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
US8572278B2 (en) 2001-04-30 2013-10-29 Facebook, Inc. Generating multiple data streams from a single data source
US7082502B2 (en) * 2001-05-15 2006-07-25 Cloudshield Technologies, Inc. Apparatus and method for interfacing with a high speed bi-directional network using a shared memory to store packet data
US7210022B2 (en) * 2001-05-15 2007-04-24 Cloudshield Technologies, Inc. Apparatus and method for interconnecting a processor to co-processors using a shared memory as the communication interface
US8131870B1 (en) 2001-05-24 2012-03-06 Cisco Technology, Inc. Method and apparatus for registering a mobile object on a foreign network
US7415512B1 (en) 2001-05-24 2008-08-19 Cisco Technology, Inc. Method and apparatus for providing a general purpose computing platform at a router on a network
US6970902B1 (en) * 2001-05-24 2005-11-29 Cisco Technology, Inc. Method and apparatus for providing a distributed service in a network
US20030079005A1 (en) * 2001-05-29 2003-04-24 61C Networks, Inc. System and method for efficient wide area network routing
US7881208B1 (en) 2001-06-18 2011-02-01 Cisco Technology, Inc. Gateway load balancing protocol
US7349430B1 (en) 2001-06-27 2008-03-25 Cisco Technology, Inc. Addressing scheme implemented in access networks
US7085287B1 (en) 2001-06-27 2006-08-01 Cisco Technology, Inc. Map routing technique implemented in access networks
US8346848B2 (en) * 2001-08-16 2013-01-01 Juniper Networks, Inc. System and method for maintaining statefulness during client-server interactions
US6986160B1 (en) * 2001-08-31 2006-01-10 Mcafee, Inc. Security scanning system and method utilizing generic IP addresses
EP1433051B1 (de) * 2001-09-10 2016-01-20 Adara Networks, Inc. System und verfahren zum informationsobjekt-routing in computernetzwerken
US20030061304A1 (en) * 2001-09-10 2003-03-27 Tenereillo Peter A. Method and apparatus for discovering client proximity using in-line translations
US20030055971A1 (en) * 2001-09-19 2003-03-20 Menon Rama R. Providing load balancing in delivering rich media
US7673243B2 (en) * 2001-09-27 2010-03-02 International Business Machines Corporation Apparatus and method for a web browser to select a home page upon activation based on a scheduler or network connection
US7860964B2 (en) 2001-09-28 2010-12-28 Level 3 Communications, Llc Policy-based content delivery network selection
US7421509B2 (en) * 2001-09-28 2008-09-02 Emc Corporation Enforcing quality of service in a storage network
EP1436736B1 (de) * 2001-09-28 2017-06-28 Level 3 CDN International, Inc. Konfigurierbare adaptive globlale verkehrssteuerung und -verwaltung
US7373644B2 (en) 2001-10-02 2008-05-13 Level 3 Communications, Llc Automated server replication
US7389537B1 (en) 2001-10-09 2008-06-17 Juniper Networks, Inc. Rate limiting data traffic in a network
US20030079027A1 (en) * 2001-10-18 2003-04-24 Michael Slocombe Content request routing and load balancing for content distribution networks
US7227863B1 (en) 2001-11-09 2007-06-05 Cisco Technology, Inc. Methods and apparatus for implementing home agent redundancy
JP2003150594A (ja) * 2001-11-12 2003-05-23 Hitachi Ltd データウェアハウスシステム
CA2411806A1 (en) * 2001-11-16 2003-05-16 Telecommunications Research Laboratory Wide-area content-based routing architecture
US7227838B1 (en) 2001-12-14 2007-06-05 Cisco Technology, Inc. Enhanced internal router redundancy
US7720997B1 (en) 2001-12-19 2010-05-18 Cisco Technology, Inc. Path selection system
US8635305B1 (en) 2001-12-19 2014-01-21 Cisco Technology, Inc. Mechanisms for providing differentiated services within a web cache
US7069325B1 (en) * 2001-12-21 2006-06-27 Cisco Technology, Inc. Method and apparatus for handling requests in a network
US7231458B2 (en) * 2001-12-27 2007-06-12 Nortel Networks Limited Method and apparatus for discovering client proximity using race type translations
US9167036B2 (en) 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US7260598B1 (en) * 2002-05-03 2007-08-21 Cisco Technology, Inc. Methods and apparatus for processing client requests in a content distribution network using client lists
US8108554B1 (en) * 2002-05-16 2012-01-31 F5 Networks, Inc. Method and system for automatically mapping secure network address translations
US7334048B1 (en) * 2002-06-04 2008-02-19 Extreme Networks, Inc. Method and apparatus for fast route table update
US7580370B2 (en) * 2002-06-21 2009-08-25 International Business Machines Corporation Method and structure for autoconfiguration of network destinations
US7769839B2 (en) * 2002-06-21 2010-08-03 International Business Machines Corporation Method and structure for autoconfiguration of overlay networks by automatic selection of a network designated router
US20030235157A1 (en) * 2002-06-21 2003-12-25 International Business Machines Corporation Method and structure for an autoconfiguration topology calculation
US8028092B2 (en) 2002-06-28 2011-09-27 Aol Inc. Inserting advertising content
US7707594B1 (en) * 2002-08-20 2010-04-27 At&T Intellectual Property I, L.P. System and method for providing a routing service in distributed computing environment
US7673053B1 (en) * 2002-08-30 2010-03-02 At&T Intellectual Property I, L.P. System and method for providing a communications service in distributed computing environment
US7343398B1 (en) 2002-09-04 2008-03-11 Packeteer, Inc. Methods, apparatuses and systems for transparently intermediating network traffic over connection-based authentication protocols
US6850492B2 (en) * 2002-11-22 2005-02-01 Nokia Corporation Method and system for enabling a route and flow table update in a distributed routing platform
US7430170B2 (en) * 2002-12-26 2008-09-30 Nokia Siemens Networks Oy System and method for implementing protocol stack across multiple chassis
US8149707B2 (en) 2003-02-12 2012-04-03 Rockstar Bidco, LP Minimization of radio resource usage in multi-hop networks with multiple routings
US7814232B2 (en) 2003-03-28 2010-10-12 Cisco Technology, Inc. Network address translation with gateway load distribution
US7132953B2 (en) * 2003-06-26 2006-11-07 Lear Corporation Spring sensor assembly for a vehicle seat cushion
US7593346B2 (en) * 2003-07-31 2009-09-22 Cisco Technology, Inc. Distributing and balancing traffic flow in a virtual gateway
US7272746B2 (en) * 2003-08-29 2007-09-18 Audiocodes Texas, Inc. Redundancy scheme for network processing systems
US7610387B1 (en) * 2003-11-12 2009-10-27 Cisco Technology, Inc. Method and apparatus for providing sticky bindings using version vectors
KR100435985B1 (ko) * 2004-02-25 2004-06-12 엔에이치엔(주) 투표를 활용한 무정지 서비스 시스템 및 그 시스템에서의정보 갱신 및 제공 방법
US8089972B2 (en) 2004-05-03 2012-01-03 Level 3 Communications, Llc Registration redirect server
US20060064478A1 (en) * 2004-05-03 2006-03-23 Level 3 Communications, Inc. Geo-locating load balancing
US7840988B1 (en) 2004-05-07 2010-11-23 Cisco Technology, Inc. Front-end structure for access network line card
US8180883B1 (en) 2004-08-02 2012-05-15 Cisco Technology, Inc. Method and system for processing directives included in management events
US20060181026A1 (en) * 2005-02-14 2006-08-17 Wong Jacob Y Chinese poker deck
WO2006029399A2 (en) * 2004-09-09 2006-03-16 Avaya Technology Corp. Methods of and systems for network traffic security
US8346956B2 (en) 2004-10-29 2013-01-01 Akamai Technologies, Inc. Dynamic image delivery system
US7734019B1 (en) * 2004-12-09 2010-06-08 Level 3 Communications, Llc Systems and methods for third party emergency call termination
US9843557B2 (en) 2004-12-09 2017-12-12 Level 3 Communications, Llc Systems and methods for dynamically registering endpoints in a network
US8768350B2 (en) 2004-12-09 2014-07-01 Level 3 Communications, Llc Systems and methods for locating endpoints in a communication network
WO2006068869A2 (en) * 2004-12-20 2006-06-29 Corning Incorporated Method of making a glass envelope
US8059661B2 (en) * 2004-12-29 2011-11-15 Cisco Technology, Inc. Methods and apparatus for using DHCP for home address management of nodes attached to an edge device and for performing mobility and address management as a proxy home agent
FR2881902B1 (fr) * 2005-02-07 2007-04-27 Alcatel Sa Routeur a mise a jour synchronisee de tables de routage, pour un reseau de communication a routage distribue
US9400875B1 (en) 2005-02-11 2016-07-26 Nokia Corporation Content routing with rights management
DE102005010690B4 (de) * 2005-03-09 2007-04-12 Knorr-Bremse Systeme für Schienenfahrzeuge GmbH Öleingespritzter Verdichter mit Temperaturschalter
US7623455B2 (en) * 2005-04-02 2009-11-24 Cisco Technology, Inc. Method and apparatus for dynamic load balancing over a network link bundle
US20070053368A1 (en) * 2005-09-08 2007-03-08 Darda Chang Graphical representations of aggregation groups
US8447837B2 (en) * 2005-12-30 2013-05-21 Akamai Technologies, Inc. Site acceleration with content prefetching enabled through customer-specific configurations
US8151323B2 (en) 2006-04-12 2012-04-03 Citrix Systems, Inc. Systems and methods for providing levels of access and action control via an SSL VPN appliance
US8677007B2 (en) * 2006-08-03 2014-03-18 Citrix Systems, Inc. Systems and methods for bypassing an appliance
US20080052327A1 (en) * 2006-08-28 2008-02-28 International Business Machines Corporation Secondary Backup Replication Technique for Clusters
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
CA2697936A1 (en) 2007-09-12 2009-03-19 Citrix Systems, Inc. Methods and systems for generating desktop environments providing integrated access to remote and local resources
US7827270B2 (en) * 2007-10-31 2010-11-02 Cisco Technology, Inc. Mobility service clustering using network service segments
US8458158B2 (en) * 2008-02-28 2013-06-04 Disney Enterprises, Inc. Regionalizing print media management system and method
US8667175B2 (en) * 2008-03-13 2014-03-04 Cisco Technology, Inc. Server selection for routing content to a client using application layer redirection
US8601090B1 (en) * 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8156243B2 (en) * 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US10924573B2 (en) 2008-04-04 2021-02-16 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
WO2009123868A2 (en) 2008-04-04 2009-10-08 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)
US7925782B2 (en) 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US8397073B1 (en) * 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8433771B1 (en) 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
EP2514171A1 (de) * 2009-12-14 2012-10-24 Telefonaktiebolaget L M Ericsson (PUBL) Verfahren und system für dynamische zwischenspeicherauswahl
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US8756272B1 (en) 2010-08-26 2014-06-17 Amazon Technologies, Inc. Processing encoded content
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US8626950B1 (en) 2010-12-03 2014-01-07 Amazon Technologies, Inc. Request routing processing
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US8849976B2 (en) * 2011-09-26 2014-09-30 Limelight Networks, Inc. Dynamic route requests for multiple clouds
US8904009B1 (en) 2012-02-10 2014-12-02 Amazon Technologies, Inc. Dynamic content delivery
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US9172674B1 (en) 2012-03-21 2015-10-27 Amazon Technologies, Inc. Managing request routing information utilizing performance information
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9525659B1 (en) * 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US9135048B2 (en) 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US20140199044A1 (en) 2013-01-15 2014-07-17 Qualcomm Incorporated Supporting transport diversity and time-shifted buffers for media streaming over a network
US10212238B2 (en) * 2013-05-15 2019-02-19 Level 3 Communications, Llc Selecting a content providing server in a content delivery network
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US9332413B2 (en) 2013-10-23 2016-05-03 Motorola Solutions, Inc. Method and apparatus for providing services to a geographic area
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10291525B2 (en) * 2015-07-02 2019-05-14 Hewlett Packard Enterprise Development Lp Caching and forwarding router advertisements
US10291526B2 (en) * 2015-07-02 2019-05-14 Hewlett Packard Enterprise Development Lp Caching and forwarding router advertisements
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10616250B2 (en) 2016-10-05 2020-04-07 Amazon Technologies, Inc. Network addresses with encoded DNS-level information
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US11146626B2 (en) * 2018-11-01 2021-10-12 EMC IP Holding Company LLC Cloud computing environment with replication system configured to reduce latency of data read access
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
US11941155B2 (en) 2021-03-15 2024-03-26 EMC IP Holding Company LLC Secure data management in a network computing environment
US11457086B1 (en) * 2021-05-06 2022-09-27 Netflix, Inc. Systems and methods for implementing shared locks to stream telemetry data between server instances

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5088032A (en) * 1988-01-29 1992-02-11 Cisco Systems, Inc. Method and apparatus for routing communications among computer networks
US4987587A (en) * 1989-07-26 1991-01-22 International Business Machines Corporation Method and apparatus for providing 800 number service
EP0513206B1 (de) * 1990-01-30 1995-04-12 Johnson Service Company Vernetztes betriebsmittelverwaltungssystem
US5345586A (en) * 1992-08-25 1994-09-06 International Business Machines Corporation Method and system for manipulation of distributed heterogeneous data in a data processing system
US5664107A (en) * 1992-10-13 1997-09-02 Bay Networks, Inc. Method for providing for automatic topology discovery in an ATM network or the like
US5425090A (en) * 1993-12-07 1995-06-13 Bell Communications Research, Inc. System and method for providing advanced intelligent network services
US5430729A (en) * 1994-04-04 1995-07-04 Motorola, Inc. Method and apparatus for adaptive directed route randomization and distribution in a richly connected communication network
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
US6181867B1 (en) * 1995-06-07 2001-01-30 Intervu, Inc. Video storage and retrieval system
US5740549A (en) 1995-06-12 1998-04-14 Pointcast, Inc. Information and advertising distribution system and method
JP3613863B2 (ja) * 1995-07-19 2005-01-26 株式会社日立製作所 ネットワーク接続システム及び並列ネットワーク接続方法
US5600794A (en) * 1995-08-04 1997-02-04 Bay Networks, Inc. Method and apparatus for managing exchange of metrics in a computer network by exchanging only metrics used by a node in the network
GB2305270A (en) * 1995-09-15 1997-04-02 Ibm Bridge for a client-server environment
US5812769A (en) * 1995-09-20 1998-09-22 Infonautics Corporation Method and apparatus for redirecting a user to a new location on the world wide web using relative universal resource locators
CA2196622C (en) * 1996-02-06 2001-10-16 Hiroshi Jinzenji Network data distribution system
US5991809A (en) 1996-07-25 1999-11-23 Clearway Technologies, Llc Web serving system that coordinates multiple servers to optimize file transfers
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
WO1998018076A1 (en) * 1996-10-18 1998-04-30 Intervu, Inc. System and method for optimized storage and retrieval of data on a distributed computer network
AU6672298A (en) 1997-02-25 1998-09-09 Intervu, Inc. System and method for sending and receiving a video as a slide show over a computer network
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
US6382569B1 (en) * 2000-01-12 2002-05-07 Graydon Products, Inc. Line holder apparatus

Also Published As

Publication number Publication date
WO1998031107A3 (en) 1998-10-08
EP1018132A2 (de) 2000-07-12
WO1998031107A2 (en) 1998-07-16
US6052718A (en) 2000-04-18
US7149771B1 (en) 2006-12-12
EP1018132A4 (de) 2000-10-18
JP4068158B2 (ja) 2008-03-26
DE69730056D1 (de) 2004-09-02
JP2001508258A (ja) 2001-06-19
EP1018132B1 (de) 2004-07-28
EP1018132B9 (de) 2005-01-05

Similar Documents

Publication Publication Date Title
DE69730056T2 (de) Routen von duplikaten
DE69909839T3 (de) Optimierte Lokalisierung von Netzwerkbetriebsmittel
DE60036021T2 (de) System zur Verteilung von Daten innerhalb eines Internetzwerkes mit zweitseitiger Vereinbarung über Inhalt
DE60038705T2 (de) Verfahren und vorrichtung für die aktivitäts-basierte zusammenarbeit eines rechnersystems, ausgestattet mit einem kommunikations-manager
DE60132718T2 (de) System und methode zum auffinden von informationsobjekten und informationsobjektspeichern in rechnernetzen
DE69834807T2 (de) System und verfahren zum auswählen und laden verschiedener typen von videodaten in einem computernetzwerk
DE19882235B4 (de) Verwendung von Web-Technologie für Teilnehmerverwaltungsaktivitäten
DE69834640T2 (de) System und Verfahren zur Synchronisierung elektronischer Nachrichten über ein Netzwerk
DE69831904T2 (de) Dynamische Erstellung von Internetseiten
DE60217666T2 (de) System und verfahren zum beantworten von ressourcenanforderungen in verteilten rechnernetzen
DE69733498T2 (de) Verteiltes rechnersystem und verfahren zur aufteilung von benutzeranfragen auf duplizierte netzwerkserver
DE69913176T2 (de) Verfahren und system zum eingeben von äusserem inhalt in interaktiven netzsitzungen
DE60033615T2 (de) Verfahren und System, um das Verteilen von IP-Datagrammen auf mehrere Server gemäß einer definierten Strategie zu erzwingen
DE69934871T2 (de) Verfahren und System zur optimalen Auswahl eines Webfirewalls in einem TCP/IP Netzwerk
DE60317925T2 (de) Steuerung von netzwerkverkehr in einer peer-to-peer umgebung
DE202016009028U1 (de) Regelbasierte Netzwerkbedrohungsdetektion
DE60305672T2 (de) Geo-intelligenter verkehrsmelder
DE60014645T2 (de) Datensicherungsvorrichtung für eine internet-server-sitzung
DE69835674T2 (de) System und verfahren zur serverseitigen optimierung von datenübermittlung in einem verteilten rechnernetz
DE60208659T2 (de) Skalierbare ressourcenermittlung und rekonfiguration für verteilte rechnernetze
DE69731318T2 (de) Herstellen von kommunikationsverbindungen in einem computernetzwerk
DE602005003449T2 (de) Verbesserte benutzerschnittstelle
DE69935920T2 (de) Lastausgleich in einer netzwerkumgebung
DE60015423T2 (de) Verfahren und Vorrichtung zur Objektwiedergabe in einem Netzwerk
DE69929268T2 (de) Verfahren und System zur Überwachung und Steuerung der Netzzugriffe

Legal Events

Date Code Title Description
8364 No opposition during term of opposition