DE69835674T2 - System und verfahren zur serverseitigen optimierung von datenübermittlung in einem verteilten rechnernetz - Google Patents

System und verfahren zur serverseitigen optimierung von datenübermittlung in einem verteilten rechnernetz Download PDF

Info

Publication number
DE69835674T2
DE69835674T2 DE69835674T DE69835674T DE69835674T2 DE 69835674 T2 DE69835674 T2 DE 69835674T2 DE 69835674 T DE69835674 T DE 69835674T DE 69835674 T DE69835674 T DE 69835674T DE 69835674 T2 DE69835674 T2 DE 69835674T2
Authority
DE
Germany
Prior art keywords
network
delivery
file
site
sites
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
DE69835674T
Other languages
English (en)
Other versions
DE69835674D1 (de
Inventor
Brian Encinitas KENNER
W. Kenneth San Diego COLBY
N. Robert Carlsbad MUDRY
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.)
Intervu Inc
Original Assignee
Intervu Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intervu Inc filed Critical Intervu Inc
Publication of DE69835674D1 publication Critical patent/DE69835674D1/de
Application granted granted Critical
Publication of DE69835674T2 publication Critical patent/DE69835674T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/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/1021Server selection for load balancing based on client or server locations
    • 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/1038Load balancing arrangements to avoid a single path through a load balancer
    • 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/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer

Description

  • Die Erfindung bezieht sich auf ein System und auf ein Verfahren für die verteilte Datenspeicherung und -wiedergewinnung und insbesondere auf ein System und auf ein Verfahren, durch die ein Anwender für ein dynamisches und verteiltes Mehrzwecknetz Netzleistungsinformationen erlangen kann, wobei diese Informationen daraufhin verwendet werden, um optimale Liefer-Sites oder Server zu identifizieren und auszuwählen, von denen Computerdaten, genauer Multimediainhalt, herunterzuladen sind. Solche Liefer-Sites und Server werden so ausgewählt, dass die Netzkapazität erhöht wird, die Server-Last verteilt wird und Übertragungsverzögerungen zwischen dem Server und dem Anwender verringert werden.
  • HINTERGRUND DER ERFINDUNG
  • Das Internet ist ein loses Netz verbundener Computer, die über die ganze Welt verteilt sind. Von irgendeinem Computer im Internet kann eine Nachricht zu irgendeinem anderen gesendet werden, indem eine Zieladresse spezifiziert wird und die Nachricht über eine Reihe von "Sprüngen" von Computer zu Computer übergeben wird. Jeder Computer, Router oder "Knoten" im Internet besitzt eine einzigartige Internet-Adresse. Wenn ein Zwischencomputer oder Router eine Nachricht auf dem Transport empfängt, prüft der Computer das beabsichtigte Ziel der Nachricht und übergibt sie dementsprechend weiter.
  • Das Internet wächst sowohl hinsichtlich der Größe als auch der Komplexität mit hoher Geschwindigkeit. In der Vergangenheit waren die meisten Anwender des Internets akademische, Forschungs- oder Institutsanwender; zu dieser Zeit wurde das Internet hauptsächlich zum Senden und Empfangen elektronischer Mail und von Netznachrichten und um das Übertragen von Computerdateien zu ermöglichen verwendet. Allerdings hat das Internet seit der Einführung des World Wide Web (auch als das "Web" oder das "WWW" bekannt) vor mehreren Jahren begonnen, zunehmende Mengen anderer Datentypen, die von allgemeinem Interesse sind, d. h. Darstellungen von Bildern, Artikeln usw., zu hosten.
  • Das Web-Protokoll und die Web-Sprache setzen ein graphisches Mittel fest, um in den Weiten des Internets zu navigieren. Auf zahlreichen als "Web-Server" bekannten Computern im gesamten Internet werden "Web-Seiten" gespeichert, die häufig hauptsächlich aus Text- und Graphikmaterial bestehen. Um auf Web-Seiten im gesamten Internet zuzugreifen und sie zu betrachten, kann ein als ein "Browser" bekanntes Software-Programm verwendet werden, indem der Ort (d. h. die Internet-Adresse) der gewünschten Web-Seite spezifiziert wird. Wenn auf eine Web-Seite zugegriffen wird, werden ihre Informationen von dem fernen Computer (Server oder Liefer-Site), wo immer er sich in der Welt befindet, über das Internet zu dem Anwender übertragen.
  • In jüngster Zeit hat das Web begonnen, hochkomplexe Multimediainhaltstypen wie etwa Audio- und Videodaten und Computer-Software zu hosten. Im Vergleich zum Web-Inhalt der ersten Generation, d. h. zu Text und Standbildern, haben Audioclips, Videoclips und Software-Programme außerordentlich hohe Speicher- und Bandbreitenanforderungen.
  • Derzeit ist es schwierig, wenn nicht unmöglich, die andauernde schnelle Übertragung großer Audio/Video-Dateien über eine Mehrknotenverbindung im Internet sicherzustellen. Da die Daten häufig aus der Ferne übertragen werden, können viele Faktoren die Verzögerung oder sogar den Verlust von Teilen einer Übertragung oder einer gesamten Übertragung veranlassen. Im Allgemeinen ist es nicht kritisch, falls ein Anwender beim Empfangen kleiner Graphik- oder Textdateien geringe Verzögerungen erfährt. Allerdings wird erkannt, dass Echtzeitdaten wie etwa Video spezifische und strenge Zeitanforderungen für die Datenübertragung und -anzeige haben.
  • Leider beruht der derzeitige Entwurf herkömmlicher Internet-artiger Datennetze auf dem Prinzip, dass Verzögerungen und erhebliche Datenübertragungsratenschwankungen für normale Daten (z. B. Text und Standbilder) akzeptabel sind. Folglich werden diese Übertragungsmängel wegen des hohen Werts, den es hat, den Zugriff auf Text- und Graphikinformationen von Orten auf der ganzen Welt zuzulassen, als akzeptabel betrachtet, wobei die Grundkapazität des Internets etwas "überzeichnet" ist, um Datenübertragungskosten zu verringern. Mit anderen Worten, die Pünktlichkeit der Netzdatenübertragung wird erheblich gefährdet, um die Gesamtkosten von Fernkommunikationsverbindungen verhältnismäßig geringfügig zu machen.
  • Um Audio-Video-Daten für beliebig mehr als wenige Anwender erfolgreich über ein nachrichtenorientiertes Netz wie etwa das Internet zu übertragen, sollten die Netzbetriebsmittel in einer Weise festgelegt werden, die die Pünktlichkeit der Übertragung erleichtert. Ein System, das festgelegte Netzbetriebsmittel verwendet, kann im Allgemeinen nicht das vorhandene Preissystem gemeinsam genutzter Netze wie des Internets nutzen, da es sich nicht an der gemeinsamen Nutzung von Netzbetriebsmitteln an einem Datenpaket auf Datenpaketbasis beteiligen kann. Videodaten müssen zum Ausschluss von Daten niedrigerer Priorität übertragen werden. Somit werden die Übertragungskosten insbesondere dann, wenn die Verbindung eine "Fernverbindung" ist oder wenn die Verbindung über eine längere Zeitdauer fortgesetzt ist, erheblich.
  • Eine weitere Folge des oben diskutierten Pünktlichkeits-Kosten-Kompromisses ist der offensichtlich willkürliche topographische Entwurf des Netzes. Da Verzögerungen und Durchsatzschwankungen herkömmlich zu Gunsten niedriger Kosten entschuldigt werden, wird die Konfiguration der Internet-Infrastruktur auch durch Kostenbetrachtungen getrieben. Dementsprechend wird die Verbindungseffizienz des Netzes selten betrachtet. Das schnelle Wachstum der Echtzeitdaten ändert diese Anforderung.
  • Es wird erkannt, dass eine unangemessene Datenübertragungsleistung zeitsensibler Daten im Internet typisch durch vier Faktoren verursacht wird: Paketverlust, übermäßige Server-Nutzung, die verhältnismäßig niedrige Kapazität der Netzinfrastruktur und inhärente Verzögerungen in der Netz-Hardware. Der Paketverlust wird insbesondere durch unangemessene Infrastruktur und fehlende Robustheit beim Leiten verursacht. Es wird angenommen, dass die inhärenten Verzögerungen unter anderem durch fehlende Flusssteuerung zwischen angrenzenden Knoten in einem Mehrknotenpfad im Internet verursacht werden.
  • Anders als kleinere Text- und Graphikdateien kann das "Streaming" oder der konstante Datenfluss verhältnismäßig großer Videodateien mehrere Minuten (oder länger) dauern. Folglich werden die normalen Netzleistungsprobleme verschärft. Die Netzbandbreite oder die Datenübertragungsfähigkeit eines besonderen Netzes ist begrenzt. Somit nehmen Paketverlust und -verzögerungen zu. Lange Lieferzeiten benötigen lange Zeit eine große Menge an Server-Kapazität, was die für andere Anwender verfügbaren Ressourcen verringert. Da die Netzinfrastruktur zunehmend überfüllt wird, nehmen dementsprechend Paketverlust und -verzögerungen weiter zu, steigen die Übertragungszeiten und nimmt die Server-Last weiter zu.
  • Dieses Muster zeigt beispielhaft eine "Abwärtsspirale" der Netzleistung, die durch die versuchte Übertragung großer Datendateien wie etwa Videoclips ausgelöst wird. So lange der Netzverkehr innerhalb der durch die Netzbandbreite gesetzten Grenzen bleibt, bleibt die Netzleistung akzeptabel. Dagegen beginnt immer dann, wenn die Spitzennetzlasten die Kapazität übersteigen, die oben beschriebene Abwärtsspirale, die zunehmende Zeitspannen schlechter Netzleistung verursacht.
  • Wie oben diskutiert wurde, kann ein Browser-Programm verwendet werden, um auf Web-Seiten über das Internet zuzugreifen und sie zu betrachten, indem der Ort (d. h. die Internet-Adresse) der gewünschten Web-Seite spezifiziert wird, oder, häufiger, durch "automatische Verknüpfung" auf Web-Seiten. Übliche Browser sind Lynx, NCSA Mosaic, Netscape Navigator und Microsoft Internet Explorer. Die gewünschte Web-Seite wird durch einen Uniform Resource Locator ("URL") spezifiziert, der unter Verwendung des Syntax „http://internet.address/directory/filename.html" den genauen Ort der Datei angibt.
  • Web-Seiten werden allgemein hinsichtlich Layouts und Inhalts mittels einer Sprache beschrieben, die als "HTML" (HyperText Markup Language) bekannt ist. Irgendein besonderer Computer, der mit dem Internet verknüpft ist, kann eine oder mehrere Web-Seiten, d. h. Computerdateien im HTML-Format, für den Zugriff durch Anwender speichern.
  • Die automatische Verknüpfung von einer HTML-Web-Seite zu einer anderen wird wie folgt ausgeführt. Zunächst greift der Anwender auf eine Web-Seite mit einer bekannten Adresse, häufig auf dem Computer, der sich bei dem ISP (Internet Service Provider) des Anwenders befindet, zu. Der ISP ist die Organisation, die die Internet-Konnektivität für den Anwender bereitstellt. Außer Text- und visuellen Daten, die im HTML-Format spezifiziert sind, kann diese Web-Seite "Verknüpfungen" oder eingebettete Informationen (in Form von URLs) enthalten, die auf die Internet-Adressen anderer Web-Seiten, häufig auf anderen Computern im gesamten Internet, zeigen. Indem der Anwender (häufig durch Zeigen und Klicken mit einer Maus) eine Verknüpfung auswählt, kann er daraufhin auf weitere Web-Seiten zugreifen, die ihrerseits weitere Daten und/oder zusätzliche Verknüpfungen enthalten können.
  • Verschiedene Erweiterungen zu HTML wie etwa Netscapes EMBED-Tag ermöglichen Bezugnahmen auf andere, in Web-Seiten einzubettende Daten. Einige Browser können keine anderen Daten als Text und Bilder behandeln. Andere Browser können die Daten auf verschiedene Weise behandeln. Zum Beispiel behandelt NCSA Mosaic Bezugnahmen auf unbekannte Datentypen dadurch, dass er zulässt, dass die Daten auf den Computer des Anwenders heruntergeladen werden, woraufhin optional ein externes Programm zum Betrachten oder Manipulieren der Daten aufgerufen wird. Jüngste Versionen von Netscape Navigator und Microsoft Internet Explorer bringen das Konzept einen Schritt weiter: Es kann automatisch eine Browser-Erweiterung oder ein "Plugin" aufgerufen werden, um die Daten zu behandeln, während sie von der fernen Web-Seite empfangen werden. Um die Funktionalität der Browser-Umgebung oder des Netzes zu erweitern, können andere Mittel wie etwa Netzprogramm-"Applets" verwendet werden, die in der Sprache Java (oder in einer ähnlichen Sprache) geschrieben sind.
  • Digitale Multimedia-Daten können außerordentlich hohe Speicher- und Bandbreitenanforderungen haben. Insbesondere Videodateien können sehr groß, von etwa 10 Megabytes bis 10 Gigabytes, sein. Um Videodateien auf dem Endgerät eines Anwenders mit Geschwindigkeiten abzuspielen, die sich ihrer Aufzeichnungsrate annähern, müssen die Dateien mit einer hohen, konstanten Geschwindigkeit geliefert werden. Wenn sie zu langsam sind, wird das Bild langsamer als ursprünglich aufgezeichnet abgespielt. Falls die Geschwindigkeit ungleichmäßig ist, erscheint das Video ruckartig wie ein altertümlicher Film.
  • Die oben diskutierten Netzentwurfskompromisse wirken sich allgemein nachteilig auf die Übertragung von Audio- und Videodaten über das Internet aus. Während ein Anwender, der einen Browser verwendet, um im Web zu "surfen", geringe Verzögerungen und Übertragungsratenschwankungen nicht wahrnehmen könnte, während er Text und Standbilder wiedergewinnt, werden diese Mängel sichtbar und erheblich, wenn auf Echtzeit-Audioinformationen und -Videoinformationen zugegriffen wird.
  • In einem Versuch, diese Probleme zu lösen, verteilen Internet-Inhaltanbieter gelegentlich beliebten Inhalt auf verschiedene Server oder Liefer-Sites, die als "Spiegel-Sites" bekannt sind, über das Internet. Jede Spiegel-Site enthält Informationen, die im Wesentlichen gleich denen der Original-Site sind. Falls sich z. B. eine beliebte Web-Site in New York befindet, könnten sich Spiegel-Sites in Los Angeles, London und Tokio befinden. Falls ein europäischer Anwender Schwierigkeiten hat, auf die New Yorker Original-Site zuzugreifen, kann er dementsprechend eine automatische Verknüpfung auf die Spiegel-Site, die geographisch am nächsten ist, d. h. London, verwenden.
  • Allerdings haben Spiegel-Sites mehrere Nachteile. Zum Beispiel können Spiegel-Sites geographisch weit verteilt sein, während sie hinsichtlich tatsächlicher Nutzung, Netzverkehr usw. nicht effektiv in dem Netz verteilt sind. Somit könnten die Spiegel-Sites New York und Los Angeles beide mit demselben nationalen Netz eines Internet-Dienstanbieters verbunden sein, d. h., eine Schwierigkeit beim Zugreifen auf eine der Sites könnte auch die andere beeinflussen.
  • Darüber hinaus könnten die Spiegel-Sites nicht optimal angeordnet sein, um die Last auf jeden Server zu verringern. Obgleich eine "fundierte Vermutung" angestellt werden könnte, wo sich eine Spiegel-Site befinden sollte, könnten sich die tatsächlichen Nutzungsmuster unterscheiden. Darüber hinaus gibt es keine Garantie für verbesserte Leistung. Die Bandbreite der Spiegel-Site könnte niedriger als die der Original-Site sein oder sie könnte aus anderen Gründen überlastet sein.
  • Darüber hinaus werden Spiegel-Sites häufig auf freiwilliger Grundlage gehostet. Falls eine Web-Site außerordentlich beliebt ist und ein Dienstanbieter bestimmt, dass der Gegenstand für seine Abonnenten von Interesse sein könnte, könnte dieser Dienstanbieter zustimmen, eine Spiegel-Site der Original-Web-Site zu hosten. Eine solche Übereinkunft wäre für den Host der Spiegel-Site attraktiv, da die Menschen zu der Spiegel-Site gezogen würden und sich mit anderem dort gehosteten Inhalt automatisch verknüpfen könnten. Andererseits sind diese freiwilligen Bündnisse typisch unzuverlässig und können jederzeit aufgelöst werden.
  • Im Wesentlichen bietet eine Spiegel-Site eine sekundäre Datenquelle, die verfügbar sein kann oder nicht und die die Zweckmäßigkeit für den Anwender verbessern kann, die Netzbandbreite oder die Effizienz aber nicht behandelt. Eine Spiegel-Site berücksichtigt weder Leistungscharakteristiken des Netzes noch identifiziert sie die verfügbare Bandbreite, die verwendet werden könnte, um effizient Videodaten zu übertragen, während weiter die vorhandenen preiswerten Preissysteme wie etwa jene im Internet genutzt werden.
  • Momentan gibt es weder eine Anleitung bei der Auswahl optimaler Orte für Liefer-Sites noch ein bekanntes Verfahren, das es einem Anwender zu bestimmen ermöglicht, mit welcher Spiegel-Site er sich verbinden sollte, um die optimale Leistung sicherzustellen. Tatsächlich ist die Verwendung einer herkömmlichen Spiegel-Site freiwillig. Ein Anwender versucht üblicherweise, auf die Original-Site (oder auf eine bekannte Spiegel-Site) zuzugreifen, und wechselt nur dann zu einer anderen Spiegel-Site, wenn er nach einem oder mehreren Versuchen feststellt, dass die Leistung unzureichend ist. Dieser Zugang ist eine ineffiziente Nutzung von Netzressourcen. Spiegel-Sites sind eindeutig keine optimale Lösung für das Problem überlasteter Web-Sites. Ein Hauptgrund hierfür ist unter anderem die Nichtbetrachtung der Netzleistung.
  • Die Netzanalyse insbesondere der Leistung spezifischer Pfade und Verknüpfungen über das Internet ist gut bekannt und entwickelt. Zum Beispiel ermöglicht das "Ping"-Programm, dass ein mit dem Internet verbundener Computer bestimmt, ob ein ferner Host zugänglich ist. Allerdings verwendet das Ping-Programm ein Netzprotokoll niedriger Priorität, das als das ICMP-Protokoll bekannt ist, und stellt dementsprechend keine sinnvollen Leistungsanalyseinformationen bereit. Das "Traceroute"-Programm folgt der Übertragung einer Nachricht von einem Computer zu einem fernen Host, verfolgt Verzögerungen entlang jeder Übertragungsstrecke und bestimmt den von der Nachricht genommenen Pfad. Die Traceroute-Anwendung kann verwendet werden, um den Datenfluss abzubilden. Allerdings besitzt sie nicht die Fähigkeit, sinnvolle Leistungsanalyseinformationen bereitzustellen. Traceroute stellt lediglich Routeninformationen für eine Nachricht, die sich in einer Richtung ausbreitet, und nur für einen Zeitpunkt bereit.
  • Darüber hinaus werden üblicherweise nur die Konnektivitätscharakteristiken der Pfade bestimmt, die zu und von dem Einzelcomputer führen, der die Tests ausführt; Erweitern des Umfangs der Tests ist möglich, aber logistisch unausführbar, da das Internet so groß ist.
  • Herkömmliche Netzanalysetechniken wie etwa das "Ping"-Programm und das "Traceroute"-Programm bieten eine Ansicht der Netzkonnektivität, geben aber wenig Aufschluss darüber, welche Leistung von Anbietern und Spiegel-Sites über das Internet zu erwarten ist. Somit können nur „Vermutungen" angestellt werden, wo sich Liefer- oder Spiegel-Sites befinden sollten oder welche Spiegel-Sites verwendet werden sollten, um die Leistung zu optimieren.
  • Dementsprechend besteht ein Bedarf an einem Verfahren zur Bestimmung der gesamten Netzleistung. Weiter besteht ein Bedarf an einem System, das dieses Verfahren anwendet, um zu ermöglichen, dass Inhaltanbieter dynamisch die Datenlieferung oder Spiegel-Sites bei optimalen Netzorten lokalisieren, und um zu ermöglichen, dass Anwender optimale Spiegel-Sites auswählen, um von diesen Daten zu empfangen.
  • IBM Technical Disclosure Bulletin, Bd. 34, Nr. 9, Februar 1992, offenbart das Folgende. In einem System von Computerclustern werden innerhalb jedes Clusters getrennte Instanzen von Anwendungen gestartet, so dass dann, wenn ein Computer nicht verfügbar ist (die Leistung fehlt oder er mit anderen Anforderungen überlastet ist), die Anwendung über einen anderen Computer erreicht werden kann. Anforderungen für eine Sitzung mit der Anwendung werden abgefangen und zu dem Computer (Anwendungs-Server) geleitet oder umgeleitet, der am besten geeignet ist, die Anforderung zu bedienen. Um den am besten geeigneten Computer auszuwählen, betrachtet das Managerprogramm mehrere Faktoren: den kürzesten Netzpfad, die kleinste Gesamtsitzungszahl usw.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß der vorliegenden Erfindung wird von einem Aspekt ein System zum Auswählen einer Liefer-Site geschaffen, die sich in einem verteilten Computernetz befindet, von der eine Datei empfangen werden soll, wobei das System umfasst:
    ein Kommunikationsnetz;
    wenigstens einen Inhaltanbieter, der mit dem Netz verbunden ist, wobei der Inhaltanbieter wenigstens eine Datei speichert;
    wenigstens zwei Liefer-Sites, die mit dem Netz verbunden sind, wobei jede Liefer- Site die gleiche Datei wie der Inhaltanbieter speichert;
    einen Umleitungs-Server, der mit dem Netz verbunden ist;
    ein Anwenderendgerät, das mit dem Netz verbunden ist;
    eine Netztestvorrichtung zum Testen des Netzes und zum Auswählen einer bevorzugten Liefer-Site von allen Liefer-Sites, die mit dem Netz verbunden sind; und
    eine Herunterladevorrichtung zum Herunterladen der Datei von der durch den Umleitungs-Server spezifizierten bevorzugten Liefer-Site auf das Anwenderendgerät.
  • Gemäß der vorliegenden Erfindung wird von einem weiteren Aspekt ein Verfahren zum Herunterladen einer Datei von einer Liefer-Site auf ein Anwenderendgerät geschaffen, wobei das Verfahren die folgenden Schritte umfasst:
    Identifizieren einer gewünschten Datei;
    Bestimmen, ob die gewünschte Datei auf einer oder auf mehreren Liefer-Sites gespiegelt ist;
    Ermitteln einer bevorzugten Liefer-Site in einer Liste von Liefer-Sites, die auf IP-Adressen abgebildet sind, falls die gewünschte Datei gespiegelt ist; und
    Herunterladen der gewünschten Datei von der bevorzugten Liefer-Site.
  • Eine Ausführungsform der Erfindung ist auf ein System und auf ein Verfahren für die optimierte Verteilung von Web-Inhalt auf Sites gerichtet, die sich im Internet befinden. Um die Notwendigkeit von Spiegel-Sites und die Verteilung von Spiegel-Sites zu bestimmen und um Anwenderanforderungen für bestimmten Web-Inhalt zu einer optimalen Spiegel-Site zu richten, wird ein intelligentes Spiegelungsschema verwendet, das hier „clevere Spiegelung" genannt wird.
  • Es werden eine Anzahl „cleverer" Liefer- oder Spiegel-Sites verwendet, um beliebten Web-Inhalt auf verschiedene Teile des Internets zu verteilen. Um interaktiv die bevorzugten Orte für die Sites zu bestimmen und um die optimalen Sites zu bestimmen, die durch jeden einzelnen Anwender zu verwenden sind, wird ein umfassendes System der Netzanalyse verwendet, das auf Tests beruht, die durch eine große Anzahl von Anwendern ausgeführt werden.
  • Da jeder Einzelanwender zu einer cleveren Spiegel- oder Liefer-Site geleitet wird, die verbesserte Leistung liefert, wird dementsprechend die Gesamtnetzüberlastung verringert. Um die Anzahl der Netzverbindungen zu verringern, über die Daten laufen müssen, und dadurch den Paketverlust und die Paketverzögerung zu verringern, befindet sich der verbesserte Server in den meisten Fällen elektronisch nahe bei einem Anwender.
  • Darüber hinaus ermöglichen Netzanalyseergebnisse, dass Nachrichtenverkehr von jenen Liefer-Sites und Netzgebieten, die bereits überlastet sind, weg und zu nicht voll genutzten Servern und Netzen geleitet wird. Dies führt zu einer Verbesserung des Durchsatzes, den jeder Anwender sieht, und erhöht dadurch die Attraktivität des durch Inhaltanbieter unter Verwendung des Systems angebotenen Inhalts. Inhaltanbieter können eine größere Anzahl von Anwendern über das Internet erreichen, ohne erhebliche Verringerungen der Leistung zu erleiden.
  • Ein System gemäß der Erfindung beginnt mit einer Original-Web-Site und wenigstens einer zusätzlichen Liefer-Site (oder Spiegel-Site). In einer bevorzugten Ausführungsform wird an jeden Anwender, der das System verwenden möchte, Software geliefert, die ein Konfigurationsdienstprogramm und ein Client-Programm enthält. Zunächst wird das Konfigurationsdienstprogramm verwendet, um zu bestimmen, welche Liefer-Sites für diesen besonderen Anwender verbesserte Leistung liefern.
  • In einer Ausführungsform der Erfindung lädt das Konfigurationsdienstprogramm zunächst von einem Dienstanbieter eine „Liefer-Site-Datei" herunter. Diese Liefer-Site-Datei enthält eine Liste verfügbarer Liefer-Sites und eine Liste von Netztests, die auszuführen sind. Die Typen der Tests und die Häufigkeit der auszuführenden Tests können in der Liefer-Site-Datei in Abhängigkeit von der Anzahl der Anwender, die das Netz testen, und von der geschätzten Belastung an das Netz oder von der Liefersystemkapazität spezifiziert sein.
  • Das Konfigurationsdienstprogrammführt eine Teilmenge der in der Liefer-Site-Datei spezifizierten Tests aus. Die Testergebnisse zeigen, welche Liefer-Sites verbesserte Leistung für den Anwender ergeben, und enthalten außerdem Informationen über verschiedene verallgemeinerte Netzfähigkeiten vom Standpunkt des Anwenders aus, der die Tests ausführt. Die Netztestergebnisse und die Identität der gewählten Liefer-Site werden (in einer möglichen Konfiguration über E-Mail) zur Integration in die Datenbank des Dienstanbieters an den Lieferdienstanbieter zurückgesendet.
  • Daraufhin wird die durch das Konfigurationsdienstprogramm gewählte Liefer-Site durch diesen Anwender für die Wiedergewinnung des gesamten Inhalts verwendet, der durch den Liefersystem-Dienstanbieter gemanagt wird. Folglich gewinnt die Client-Software dann, wenn der Anwender Web-Inhalt durchsucht und einen besonderen Gegenstand, z. B. einen Videoclip, findet, der durch das Liefersystem des Dienstanbieters gemanagt wird, ihn automatisch von der spezifizierten „cleveren Spiegel"-Liefer-Site wieder. Die Site-Präferenzen und Standard-Sites können auf Anforderung zu vorgegebenen Zeiten oder in Reaktion auf Änderungen der Netzlast und des Netzverkehrs periodisch aktualisiert werden.
  • Da das Konfigurationsdienstprogramm der Erfindung verschiedene Netztests ausführt und die Testergebnisse für den Dienstanbieter bereitstellt, sind darüber hinaus wertvolle Daten über das System und die Netzleistung verfügbar. Diese Daten liefern Informationen darüber, welche „cleveren Spiegel"-Liefer-Sites effektiv arbeiten und welche nicht, welche cleveren Spiegel-Liefer-Sites überlastet sind und welche Abschnitte des Internets aus der Hinzufügung weiterer Liefer-Sites oder Kapazität Nutzen ziehen würden. Außerdem ermöglichen diese Daten, eine so komplexe Netzanalyse wie Ende-Ende-Leistungsmessungen, Arbeitslastcharakterisierung, Routenstabilität und Ausfallmetriken auszuführen.
  • In einer Ausführungsform der Erfindung verwendet der Spiegeldienstanbieter die durch die Endanwender gelieferten Netzleistungsdaten, um eine Nachschlagetabelle abzuleiten, die Internet-IP-Adressen mit "elektronisch nahen" Liefer-Sites korreliert. Wenn ein Anwender Web-Seiten durchsucht und eine Datei, z. B. ein Werbebanner oder einen Videoclip, anfordert, die durch das Liefersystem des Dienstanbieters gemanagt wird, kann der Dienstanbieter die IP-Adresse des Anwenders auf der Nachschlagetabelle abbilden und bestimmen, welche Liefer-Sites dem Anwender „elektronisch nahe" sind. Daraufhin kann der Dienstanbieter für das Konfigurationsdienstprogramm oder für das Client-Programm des Anwenders eine einzelne Liefer-Site-Adresse oder eine Liste von Liefer-Site-Adressen für diese Server bereitstellen. Im letzteren Fall wirkt das Anwenderendgerät als ein Router, der die abschließende Liefer-Site-Auswahl vornimmt.
  • Im Allgemeinen kann eine verbesserte Liefer-Site für einen bestimmten Anwender im Voraus vorhergesagt werden, indem die von zuvor durch eine Gruppe von Anwendern ausgeführten Netztests erhobenen Gesamtnetzleistungsdaten analysiert werden. Somit kann die Liefer-Site-Auswahl jedes Mal, wenn der Anwender eine durch das Liefersystem des Spiegeldienstanbieters gemanagte Datei anfordert, im Flug stattfinden. Aus Sicht des Anwenders geschieht die Auswahl der Liefer-Site automatisch und transparent, so dass es zwischen der Auswahl einer Datei von einer Web-Seite und der Lieferung der Datei an das Endgerät des Anwenders keine Verzögerung zu geben scheint. Die durch den Dienstanbieter unterhaltene Nachschlageliste wird ständig aktualisiert, um Änderungen der Netzleistung widerzuspiegeln, was es ermöglicht, dass der Dienstanbieter einen effektiven Lastausgleich des Netzverkehrs durchführt.
  • Somit kann der Spiegeldienstanbieter vom technischen Standpunkt aus weiter sicherstellen, dass eine verbesserte Leistung bereitgestellt wird. Aus Sicht der Vermarktung kann Dienstanbietern gesagt werden, wo clevere Spiegel-Sites oder Liefer-Sites für verbesserte Leistung zu finden sind und welcher ISP verbesserte Lieferung bereitstellt.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockschaltplan einer veranschaulichenden Netztopologie eines Systems gemäß der Erfindung, das mehrere Anwender und mehrere Inhaltanbieter enthält;
  • 2 ist ein Ablaufplan, der den Betrieb des in einem System gemäß der Erfindung verwendeten Konfigurationsdienstprogramms beschreibt;
  • 3 ist ein Ablaufplan, der den Betrieb eines in einem System gemäß der Erfindung verwendeten Client-Programms beschreibt; und
  • 4 ist ein Ablaufplan, der veranschaulicht, wie in einer Ausführungsform der Erfindung die Site-Auswahl ausgeführt wird.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Im Folgenden wird die Erfindung anhand ausführlicher veranschaulichender Ausführungsformen beschrieben. Es ist klar, dass die Erfindung in einer weiten Vielfalt von Formen verkörpert werden kann, von denen einige recht verschieden von den offenbarten Ausführungsformen sein können. Folglich sind die hier offenbarten spezifischen Struktur- und Funktionseinzelheiten lediglich repräsentativ und beschränken nicht den Umfang der Erfindung.
  • Anfangs anhand von 1 ist das Internet 10, das repräsentativ für Weitverkehrskommunikationsnetze allgemein sein soll, als eine „Wolke" gezeigt. Es ist bekannt, dass das Internet ein miteinander verbundenes Netz einer großen Anzahl von Computern ist. Obgleich mit dem Internet verbundene Computer, die „geographisch" nahe beieinander sind, im Internet „elektronisch" nahe beieinander sein können, ist dies üblicherweise nicht der Fall. Allerdings kann ein Computer, der mit dem Internet verbunden ist, mit irgendeinem anderen mit dem Internet verbundenen Computer kommunizieren; die Nachricht läuft am wahrscheinlichsten über einen Pfad, der eine Folge von Übertragungsstrecken oder „Sprüngen" zwischen Computern umfasst, die direkt miteinander verbunden sind.
  • Außerdem ist in 1 ein erstes Anwenderendgerät 12 gezeigt. Das erste Anwenderendgerät 12 ist mit einem Internetdienstanbieter (ISP) 14 verbunden, der typisch einfach ein Computer, ein Router oder ein Endgerät-Server ist, der mit dem Internet 10 verbunden ist. Ein ISP 14 kann zusätzliche Anwenderendgeräte wie etwa ein zweites Anwenderendgerät 16 hosten. Außerdem sind mit dem Internet 10 weitere ISPs wie etwa ein zweiter ISP 18 verbunden. Mit dem zweiten ISP 18 ist ein drittes Anwenderendgerät 20 verbunden gezeigt. Es sind nur drei Anwenderendgeräte gezeigt; allerdings sollte erkannt werden, dass die Anzahl gleichzeitiger Anwender der Erfindung in Abhängigkeit von den im Folgenden dargelegten Betriebseinzelheiten unbeschränkt ist.
  • Wie im Fachgebebiet bekannt ist, sind mit dem Internet 10 außerdem Inhaltanbieter verbunden. Ein erster Inhaltanbieter 22 könnte eine bestimmte Art Inhalt, z. B. Sportergebnisse und -höhepunkte, bereitstellen. Ein zweiter Inhaltanbieter 24 könnte eine andere Art Inhalt, z. B. Geschäftsnachrichten, bereitstellen.
  • Falls ein Anwender (wie etwa derjenige, der das erste Anwenderendgerät 12 verwendet) auf den durch den ersten Inhaltanbieter 22 bereitgestellten Inhalt zugreifen wollte, fragte das Endgerät 12 herkömmlich den ersten Inhaltanbieter 22 direkt ab. Von dem Endgerät 12 wurde eine Anforderungsnachricht über das Internet 10 zu dem Inhaltanbieter 22 verbreitet. Der Inhaltanbieter 22 sendete die gewünschten Daten über das Internet 10 zu dem Endgerät 12 zurück.
  • In 1 sind mehrere Liefer-Sites oder „Spiegel"-Sites mit dem Internet 10 verbunden gezeigt. Eine erste Liefer-Site 26 könnte sich eine kleine Anzahl von „Sprüngen" von dem ersten Anwenderendgerät 12 entfernt befinden. Eine zweite Liefer-Site 28 könnte sich weiter weg von dem ersten Anwenderendgerät 12, aber nahe dem dritten Anwenderendgerät 20, befinden. Eine dritte Liefer-Site 30 könnte so nahe bei dem dritten Anwenderendgerät 20 wie die zweite Liefer-Site 28 sein. Wie zuvor angemerkt wurde, könnten ein Anwender und ein Anbieter oder eine Liefer-Site, die „geographisch" nahe beieinander sind, „elektronisch" im Internet nicht nahe beieinander sein. Durch Verringern der „elektronischen" Entfernung zwischen dem Anwender und dem Anbieter oder der Liefer-Site kann die Anzahl der Netzverbindungen und der Router verringert werden, über die die Daten laufen müssen.
  • Wie oben diskutiert wurde, wirkt das clevere Spiegelungssystem so, dass es durch Verringern des Auftretens der vorstehenden Netzprobleme die Netzleistung verbessert. Im Allgemeinen werden Paketverlust- und Paketverzögerungsprobleme durch Verringern der Anzahl der Netzverbindungen, über die die Daten laufen müssen, verringert, obgleich die Netztestprozedur der Erfindung zeigt, dass in einigen Fällen einige längere Pfade einen besseren Durchsatz als einige kürzere Pfade bereitstellen. In einem Netzkabel tritt sehr wenig Paketverlust und im Wesentlichen keine Verzögerung auf; üblicherweise werden sie durch überlasteten Netzspeicher und durch überlastete Routing-Vorrichtungen verursacht. Da sich die cleveren Spiegel-Sites der Erfindung elektronisch nahe jedem Anwender befinden, werden Paketverluste und -verzögerungen verringert. Da sich mehrere Liefer-Sites die Last, die üblicherweise durch einen einzigen Server behandelt würde, teilen, wird das Problem übermäßiger Server-Nutzung verringert. Die verhältnismäßig niedrige Kapazität der Netzinfrastruktur wird weniger zu einem Problem, da Daten, die von parallelen Liefer-Sites an verschiedenen Orten wiedergewonnen werden, im Allgemeinen nicht über dieselben Netzverbindungen zu laufen brauchen.
  • Für die Beschreibung dieser Erfindung ist eine Liefer-Site „ein Knoten" in dem Netz, der Daten oder andere Dateien wie etwa Software-Code für die Lieferung speichern kann. Außerdem kann der Begriff eine Site, die verantwortlich für die Datenlieferung ist, einschließlich Spiegel-Sites, Inhaltanbieter und Server für Rundfunk-Videoströme oder Web-Sites enthalten.
  • In dem System ist mit dem Internet 10 ein Spiegeldienstanbieter (MSP) 32 verbunden. Der MSP 32, der eine Managementfunktion über die Verteilung der Liefer-Sites 26, 28 und 30 und über die Zuordnung von Anforderungen von den Anwenderendgeräten 12, 16 und 20 an die Original-Sites und an die Liefer-Sites ausübt, enthält eine Datenbank, die Daten über das Internet 10 senden und empfangen kann.
  • Die Managementfunktion wird durch die Verwendung eines Konfigurationsdienstprogramms 34 und eines Client-Programms 36 ermöglicht, die in einem Speichermedium (d. h. in einem Schreib-Lese-Arbeitsspeicher) in dem Anwenderendgerät 12 laufen. Obgleich das Konfigurationsdienstprogramm 34 und das Client-Programm 36 in 1 nur als ein Teil des ersten Anwenderendgeräts 12 gezeigt sind, sollte erkannt werden, dass irgendein Anwenderendgerät wie etwa die an dem System beteiligten Endgeräte 16 und 20 diese Software verwenden. Ein Anwender, der sich an dem System beteiligen möchte, kann die Software, die das Konfigurationsdienstprogramm 34 und das Client-Programm 36 umfasst, direkt von dem MSP 32 oder über herkömmliche Einzelhandelskanäle oder andere Kanäle (wie etwa als Teil des Browsers oder des Betriebssystems des Computers) erhalten. Es wird angemerkt, dass die in der beschriebenen Ausführungsform des Erfindung von dem Konfigurationsdienstprogramm 34 ausgeführten Funktionen in allgemeine Internet-Anwendungs-Software wie etwa in einen Browser oder in eine andere Netzanwendung integriert sein können; es ist kein selbstständiges Programm erforderlich.
  • In einer bevorzugten Ausführungsform muss durch den Anwender entweder auf Befehl oder automatisch das Konfigurationsdienstprogramm 34 ausgeführt werden, bevor das Anwenderendgerät 12 Zugang zu dem System hat. Der Betrieb des Konfigurationsdienstprogramms 34 ist ausführlich in 2 gezeigt.
  • Wenn das Konfigurationsdienstprogramm 34 das erste Mal in dem Anwenderendgerät 12 läuft, gewinnt es von dem MSP 32 (1) eine Liefer-Site-Datei wieder (Schritt 40). Falls der Anwender bereits eine Liefer-Site-Datei hat (falls sie z. B. mit dem Konfigurationsdienstprogramm 34 empfangen wurde) und falls diese Liefer-Site-Datei ausreichend neu ist, kann die Liefer-Site-Datei von der lokalen Festplatte des Anwenderendgeräts 12 wiedergewonnen werden. Diese Liefer-Site-Datei enthält eine Liste aller verfügbaren Liefer-Sites (wie etwa der Liefer-Sites 26, 28 und 30) und eine Liste von Netztests, die in dem Anwenderendgerät 12 auszuführen sind. im Kontext der Erfindung kann es lediglich zwei Liefer-Sites oder, falls es die Anzahl der Anwender rechtfertigt, die bemerkenswerte Anzahl von mehreren tausend Liefer-Sites geben. Die Anzahl der Sites ist prinzipiell unbegrenzt, wobei jede verfügbare Liefer-Site in der Liefer-Site-Datei repräsentiert ist.
  • Die Liefer-Site-Datei wird durch die Datenbank aus dem Computersystem des MSP erzeugt. Um dynamisch die optimalen Tests zu bestimmen, die auszuführen sind, verwendet die Datenbankanwendung Informationen über den Anwender. Folglich braucht die Liefer-Site-Datei nicht Einträge für jede vorhandene Liefer-Site zu enthalten; die Liste kann zugeschnitten sein, so dass sie nur jene Sites enthält, die geeignet oder möglich erscheinen.
  • Anfangs ist der Betrag der Laufzeitschwankung in den Testkonfigurationen für die Liefersystemanwender niedrig; d. h., die erste Gruppe von Anwendern führt im Wesentlichen dieselben Tests aus. Allerdings wird die Intensität der Tests jedes Anwenders verringert, während der Lieferdienst wächst, um den erhöhten Betrag der Tests netzweit zu kompensieren. Um die Gesamtlast der Netztests weiter zu verringern, können sowohl der Umfang der Tests als auch die Anzahl der getesteten Liefer-Sites beide begrenzt werden.
  • In einer Ausführungsform hat die Liefer-Site-Datei allgemein ein Format wie folgt:
    • 1. Dateiversionsnummer und Nachricht. Die Datei enthält dieses Feld, um zu bestimmen, ob eine neue Version des Konfigurationsdienstprogramms 34 verfügbar ist. Falls die Versionsnummer in der Liefer-Site-Datei höher als die Versionsnummer für das Konfigurationsdienstprogramm ist, ist die Konfiguration nicht zulässig. Stattdessen wird der Anwender aufgefordert, eine neuere Version des Konfigurationsdienstprogramms 34 zu erlangen. Die wie hier beschriebene Versionsüberprüfung stellt sicht, dass auf die durch das Konfigurationsdienstprogramm 34 erzeugten Testdaten die aktuellsten Liefer-Site-Auswahlalgorithmen angewendet werden.
    • 2. Eine Liste verfügbarer cleverer Spiegel-Liefer-Sites. Für jede verfügbare Liefer-Site werden die folgenden Informationen bereitgestellt: a. Host-Name. In dem bekannten Internet-Format "www.server.com". b. IP-Adresse. Eine zahlenmäßige Internet-Adresse in dem bekannten Format. Die Adresse ist derzeit eine 32-Bit-Zahl in der Form w.x.y.z., wobei w, x, y und z jeweils im Bereich von 0 bis 255 liegen. c. Alternativer Name. Ein formloser Name wie etwa "Die erste Spiegel-Site". d. Eine Liste auszuführender Tests. Für jeden Test werden die folgenden Informationen bereitgestellt: i. Test-ID. Jeder Testtyp hat eine eindeutige Kennung, die dem Konfigurationsdienstprogramm 34 bekannt ist. ii. Gewichtungsfaktor. Jeder Test wird durch einen spezifizierten Prozentsatz gewichtet. iii. Häufigkeit. Jeder Test wird nicht unbedingt jedes Mal ausgeführt. Dieses Feld spezifiziert eine Wahrscheinlichkeit, die bestimmt, wie häufig ein besonderer Test ausgeführt wird. iv. Zusätzliche Informationen (optional). Für bestimmte Tests können zusätzliche Informationen benötigt werden. e. Site-Präferenzniveau. Jeder Site kann eine Gewichtung oder ein Präferenzniveau, z. B. zwischen 1 und 100, gegeben werden. Wie unten diskutiert wird, werden in der Datenbank des MSP vereinigte Daten verwendet, um eine Netznutzungsanalyse auszuführen, die allein mit den momentanen Ende-Ende-Tests des Einzelanwenders nicht möglich ist. Der hier bereitgestellte Gewichtungsfaktor wird verwendet, um die von der Datenbank des Dienstanbieters empfangenen Testergebnisse zu integrieren. Außerdem wird dieser Gewichtungsfaktor verwendet, um die Zuweisung neuer Anwender zu einer Liefer-Site zu begrenzen, sobald ein vorgegebener maximaler Nutzungspegel erreicht worden ist. f. Test-Site-Merker. Falls dieser Merker freigegeben ist, werden die vorstehenden Tests ausgeführt, wobei die Site aber auch dann nicht als eine Liefer-Site zugewiesen wird, wenn sie die beste Leistung ergibt. g. Inhaltsanbietergruppen. Jede Site kann zu einer oder zu mehreren Inhaltsanbietergruppen gehören, wodurch nur bestimmter Inhalt gespiegelt wird. Falls ein Anwender nicht an den durch eine besondere Liefer-Site gehosteten Datentypen interessiert ist, braucht sie nicht getestet zu werden.
  • Daraufhin fragt das Konfigurationsdienstprogramm 34 bestimmte in dem Konfigurationsprozess benötigte Informationselemente, z. B. den Namen, die E-Mail-Adresse, das Kennwort, die Modemgeschwindigkeit und Informationen in Bezug auf die Zugangssteuerung (z. B. welche Ebenen verschiedener Attribute für den Anwender sichtbar sind) des Anwenders, ab. (Schritt 42). Der Zugangssteuerungsmechanismus wird unten ausführlicher diskutiert. In einer Ausführungsform der Erfindung werden die von dem Anwender empfangenen Informationen verschlüsselt und in einer Konfigurationsdatei in dem Anwenderendgerät 12 gespeichert.
  • Daraufhin bestimmt das Konfigurationsdienstprogramm 34, ob das Anwenderendgerät 12 mit dem Internet verbunden ist (Schritt 42). Wenn nicht, beginnt es eine Verbindung aufzunehmen (Schritt 44) oder fordert den Anwender auf, dies zu tun.
  • Daraufhin werden eine Reihe von Netztests ausgeführt (Schritt 46). Für jede verfügbare Site, die in der Liefer-Site-Datei aufgeführt ist, können ein Test oder mehrere Tests ausgeführt werden; es brauchen nicht alle Sites in der Datei getestet zu werden.
  • Derzeit wird betrachtet, dass die folgenden Testtypen nützliche Daten liefern:
    • 1. Ping. Liefert Informationen darüber, ob ein ferner Server erreichbar ist, und dann, wenn das der Fall ist, wie lange es für eine Nachricht mit niedriger Priorität dauert, von dem Anwenderendgerät 12 zu dem fernen Server und zurück im Kreis zu laufen. Ping ist ein einfacher Test, der nützlich bei der Entscheidung ist, ob eine Site für die weitere Einstufung verfügbar ist. Übermäßige Zeiten, die durch die Ping-Anwendungen zurückgegeben werden, können dazu verwendet werden, Liefersysteme zu beseitigen, die für eine effektive Informationslieferung viel zu „langsam" sind. Dieser Test wird von dem Endgerät verwendet, um die Anzahl der getesteten Liefer-Sites zu verringern.
    • 2. Traceroute. Stellt Informationen darüber bereit, welche Route von der Nachricht von dem Anwenderendgerät 12 zu einem fernen Server genommen wird, einschließlich der Informationen, welche Systeme entlang des Wegs verwendet werden und wie lange jeder Sprung dauert. Traceroute wird von dem Konfigurationsprogramm 34 verwendet, um den Pfad der Informationsübertragung zu dokumentieren. Mehrere Spuren mit verschiedenen Ergebnissen könnten angeben, dass die Stabilität der Route von einem bestimmten Anwender zu einem spezifischen Server nicht akzeptabel ist. Zuvor vereinigte Daten über besondere Routen aus der Systemdatenbank des Dienstanbieters könnten ebenfalls die Entscheidung beeinflussen, für einen spezifischen Anwender eine bestimmte Liefer-Site zu wählen. Die Routenstabilität ist die Hauptbetrachtung.
    • 3. Umgekehrtes Traceroute. Liefert Informationen darüber, welche Route von einer Nachricht von einem fernen Server zu dem Anwenderendgerät genommen wird, einschließlich darüber, welche Systeme entlang des Wegs verwendet werden und wie lange jeder Sprung dauert. Das umgekehrte Traceroute wird von dem Konfigurationsprogramm verwendet, um den Pfad des Informationsempfangs zu dokumentieren. Mehrere Spuren mit verschiedenen Ergebnissen könnten angeben, dass die Stabilität der Route von einem bestimmten Server zu einem spezifischen Anwender nicht akzeptabel ist. Zuvor vereinigte Daten über besondere Routen aus der Systemdatenbank des Dienstanbieters könnten ebenfalls die Entscheidung beeinflussen, für einen spezifischen Anwender eine bestimmte Liefer-Site zu wählen. Die Routenstabilität ist wiederum die Hauptbetrachtung.
    • 4. Dynamisches Traceroute. Ähnlich dem Traceroute oder dem umgekehrten Traceroute, aber zwischen irgendeinem spezifizierten Paar von Computern im Internet. Das dynamische Traceroute wird von dem Konfigurationsprogramm verwendet, um einen Informationsübertragungspfad zu dokumentieren. Mehrere Spuren mit verschiedenen Ergebnissen könnten angeben, dass die Stabilität der Route zwischen zwei Netzorten nicht akzeptabel ist. Zuvor vereinigte Daten über besondere Routen aus der Systemdatenbank des Dienstanbieters können ebenfalls die Entscheidung beeinflussen, für einen spezifischen Anwender eine bestimmte Liefer-Site zu wählen. Wie oben ist die Routenstabilität die Hauptbetrachtung.
    • 5. Namen-Server-Auflösungsverzögerung. Falls die numerische In ternetadresse unspezifiziert ist, wird ein Namen-Server-Nachschlagen ausgeführt, um zu bestimmen, welche numerische Adresse dem gewünschten Host-Namen entspricht. Dieser Prozess kann eine wesentliche Zeitdauer erfordern.
    • 6. Durchsatz. Von dem fernen Server wird eine Beispieldatei heruntergeladen oder teilweise heruntergeladen, um den tatsächlichen Durchsatz in Bytes pro Sekunde zu bestimmen.
    • 7. Durchsatzschwankung. Von dem fernen Server wird eine Beispieldatei heruntergeladen oder teilweise heruntergeladen, um zu bestimmen, ob der Durchsatz verhältnismäßig konstant ist oder fluktuiert.
    • 8. Fehlerrate. Von dem fernen Server wird eine Beispieldatei heruntergeladen oder teilweise heruntergeladen, um zu bestimmen, ob die Übertragung Übertragungsfehlern unterliegt. Diese Informationen werden dadurch erhalten, dass die Anzahl der an den Anwender zurückgegebenen Fehlermeldungspakete gezählt wird, wodurch die Fehlerrate von dem Anwender zu dem Server erfahren wird, und indem die Anzahl der empfangenen Bytes als ein Bruchteil der Anzahl der übertragenen Bytes verfolgt wird, wodurch die Fehlerrate von dem Server zu dem Anwender erfahren wird.
    • 9. Paketfragmentierung. Von dem fernen Server wird eine Beispieldatei heruntergeladen oder teilweise heruntergeladen, um zu bestimmen, ob die Übertragung einer Fragmentierung oder einem Empfang von Paketen außer der Reihe unterliegt.
    • 10. Kapazitätsabfrage. Falls der ferne Server dazu fähig ist, fragt das Konfigurationsdienstprogramm 34 den Server ab, um seine Übertragungskapazität und seine durchschnittliche Last zu bestimmen. Diese Informationen werden über das Simple Network Management Protocol („SNMP") erhoben, das von nahezu allen Internet-Servern unterstützt wird.
    • 11. Makroskopische Netzanalyse. Die durch die MSP-Datenbank akkumulierten Daten bieten eine globale Ansicht des Netzverhaltens. Diese Informationen ermöglichen, dass der Anwender des cleveren Spiegelsystems eine Historienansicht der Leistung der verfügbaren Liefer-Sites hat. Die akkumulierten Daten werden durch die Liefersystemdatenbank manipuliert, um die Netzleistung zu analysieren, um die Nutzung in Bereichen hoher Kapazität des Netzes hervorzuheben, während die Nutzung in Bereichen, die bereits verringerte Leistung erfahren, verringert wird.
  • Informationen darüber, wie jeder der vorstehenden Tests ausgeführt wird, sind auf dem Gebiet der Netzanalyse gut bekannt. Siehe z. B. Bob Quinn und Dave Shute, Windows Sockets Network Programming, (Addison-Wesley 1996). In einer Ausführungsform der Erfindung werden die Tests mittels der Durchführung eines „Ping"-Tests erreicht, um zu überprüfen, ob ein Server erreichbar ist, eine Reihe kleiner Downloads (z. B. 20-k-Downloads), eine Reihe großer Downloads (z. B. 200-k-Downloads) und ein „Traceroute"- und „Umgekehrter-Traceroute"-Test, um die Lieferpfade zu dokumentieren,
  • Die Traceroute-Informationen werden von dem MSP 32 verwendet, um Testdaten mit Informationen in seiner Datenbank zu korrelieren; auf diese Weise können besonders schlechte Netzübertragungsverbindungen und Server identifiziert werden. Solche Informationen werden in der oben diskutierten Liefer-Site-Datei bereitgestellt; falls anhand der von anderen Anwendern erhaltenen Informationen bekannt ist, dass eine bestimmte Verbindung oder ein bestimmter Server unzuverlässig ist, kann ein einzelner Anwender von ihr/ihm weggeleitet werden, selbst wenn ein einzelner Test gute Ergebnisse ergibt.
  • Die kurzen Downloads werden verwendet, um die Server-Kapazität zu bestimmen. Durch einen solchen Test können die Namen-Server-Auflösungsverzögerung sowie die Zeit, die es dauert, bis ein Server Daten zu senden beginnt, bestimmt werden. Das spätere Ergebnis ist stark mit der Server-Last, -Kapazität und -Leistung verknüpft.
  • Die langen Downloads ermöglichen, dass das Konfigurationsdienstprogramm 34 bestimmt, wie der Paketverlust, die Netzüberlastung und die Server-Nutzung die Dateilieferung beeinflussen. Es ist nicht ideal, anhand der Testergebnisse von einem einzigen Anwender zu bestimmen, welche der vorstehenden Faktoren verringerte Leistung verursachen. Allerdings geben diese Ergebnisse vereinigt, wie sie in der durch den MSP 32 unterhaltenen Datenbank gespeichert sind, die Grundursachen an.
  • Es wird angemerkt, dass einige der Testergebnisse in Verbindung mit anderen Testergebnissen verwendet werden können. Zum Beispiel kann die Last an einer Liefer-Site, wie sie durch eine Kapazitätsabfrage bestimmt wird, durch die Ergebnisse eines Durchsatztests dividiert werden, um bei gegebenen Lastcharakteristiken des Servers eine durchschnittliche erwartete Herunterladezeit abzuleiten.
  • Nachdem alle spezifizierten Tests gelaufen sind, werden die Ergebnisse gesammelt und verarbeitet (Schritt 48). Es ist möglich, dass bestimmte Tests nicht erfolgreich ausgeführt werden konnten; in solchen Fällen sollten die Ergebnisse einen geeigneten Wert des ungünstigsten Falls (z. B. Durchsatz null oder außerordentlich hohe Verzögerung) angeben.
  • Es ist wichtig anzumerken, dass nicht alle möglichen Tests jedes Mal ausgeführt werden, wenn das Konfigurationsdienstprogramm 34 läuft. Wenn eine große Anzahl von Anwendern das System verwendet, würde allein durch die Testprozedur eine wesentliche Belastung der Server- und Netzkapazität verursacht, was die zuvor diskutierte Abwärtsspirale der Netzleistung beschleunigt.
  • Wie oben angemerkt wurde, wird in der Liefer-Site-Datei zur dynamischen Steuerung der Anzahl, in der die Anwender einen Test ausführen, eine Testhäufigkeitsanzahl gespeichert. Die durch das Konfigurationsdienstprogramm 34 ausgeführten Tests werden ausgeführt, um statistisches Vertrauen in die Entscheidung zu gewinnen, welche Liefer-Site für die Datenlieferung an einen bestimmten Anwender am besten geeignet ist. Statistisches Vertrauen wird entweder dadurch erhalten, dass eine kleine Anzahl von Anwendern ausreichend gut getestet werden und diese Daten verwendet werden, um die Wahl einer Liefer-Site zu beeinflussen, oder dadurch, dass veranlasst wird, dass eine große Anzahl von Anwendern jeweils mehrere verfügbare Sites leicht" testen und diese Daten vereinigt verwendet werden.
  • Dementsprechend werden eine verhältnismäßig kleine Anzahl von Anwendern in das System „aufgenommen", wenn das System anfangs verwendet wird. Die durch den MSP 32 unterhaltene Liefer-Site-Datei spiegelt diese Bedingungen wider und erfordert, dass jeder Anwender das Netz (durch das Konfigurationsdienstprogramm 34) verhältnismäßig stark testet. Während die Anzahl der Anwender zunimmt, wird die Liefer-Site-Datei geändert, um die durch jeden Anwender ausgeführten Tests zu verringern. Bis zu dem Zeitpunkt, zu dem eine sehr große Anzahl von Anwendern das System verwenden, kann das Konfigurationsdienstprogramm 34 hauptsächlich (über einen wie oben diskutierten "Ping"-Test) die Liefer-Site-Erreichbarkeit testen und sich hauptsächlich auf Testdaten stützen, die von anderen Anwendern bereitgestellt werden und in der durch den MSP 32 unterhaltenen Datenbank gespeichert sind. Allerdings kann selbst dann, wenn viele Anwender das System testen, eine kleine Anzahl von Anwendern (z. B. einer von 5.000) ausgewählt werden, um eine umfangreiche Reihe von Tests auszuführen.
  • Vorzugsweise sollten die Tests nicht mehr als etwa 5 % der Gesamt-Server-Last beitragen. Eine Möglichkeit, dieses Ziel zu erreichen, ist, eine große Anzahl von Servern leicht zu testen, was eine Gruppe von Liefer-Sites mit angemessener Leistung ergibt. Diese Gruppe von Liefer-Sites kann daraufhin der Reihe nach verwendet werden, um Daten wiederzugewinnen. Die Informationen über die tatsächlichen Herunterladezeiten von Multimediaclips für jede der Liefer-Sites in der Gruppe wird wie unten diskutiert akkumuliert, und ferner können Informationen über die Liefer-Site-Leistung transparent an den MSP 32 geliefert werden, ohne dass weitere vollständige Tests notwendig sind.
  • Dementsprechend bestimmt das Konfigurationsdienstprogramm 34 anhand der erhobenen Testergebnisse und anhand von Informationen, die durch den MSP 32 in der Liefer-Site-Datei bereitgestellt werden, welche Liefer-Site oder Gruppe von Liefer-Sites für das Anwenderendgerät 12 am besten ist (Schritt 50). Diese Bestimmung kann zahlenmäßig durch Gewichten der verschiedenen ausgeführten Tests und Vergleichen des Ergebnisses für jede Site vorgenommen werden.
  • In einer derzeit bevorzugten Ausführungsform zur Verwendung in einer Umgebung mit wenig Verkehr mit einer verhältnismäßig kleinen Anzahl von Liefer-Sites und Anwendern stützt sich das Konfigurationsdienstprogramm 34 hauptsächlich auf Ping- und Durchsatztests für jede verfügbare Liefer-Site. Es wird ein Anfangs-Ping-Test ausgeführt, um zu bestimmen, ob eine Liefer-Site erreichbar ist. In den Durchsatztests werden kurze und lange Downloads ausgeführt, um den maximalen und den minimalen Durchsatz von der Liefer-Site zu bestimmen und um zu bestimmen, ob die Durchsatzschwankung klein genug ist, um die Übertragung von Videodaten zu ermöglichen. Dementsprechend erhalten alle diese Tests hohe Gewichtungen. Es können weitere Tests wie etwa Traceroute ausgeführt werden und die Ergebnisse an den MSP 32 berichtet werden, ohne dass sie in der Wahl der Liefer-Sites eine Rolle spielen (wobei diese weiteren Tests z. B. die Gewichtungen null oder nahezu null erhalten können). Während die Größe des Systems zunimmt und zusätzliche Liefer-Sites und Anwender aufgenommen werden, kann die Site-Auswahlformel geändert werden, indem der Liefer-Site-Datei-Inhalt so geändert wird, dass er sich ändernde Netzbedingungen widerspiegelt.
  • In einer Ausführungsform der Erfindung wird eine herstellerspezifische graphische Schnittstelle bereitgestellt, so dass der Ort des Anwenders und die Orte (sowohl geographisch als auch elektronisch) jeder getesteten Site auf einem mit dem Anwenderendgerät 12 verbundenen Monitor angezeigt werden können, was eine visuelle Angabe der relativen Entfernungen zwischen Sites zulässt. In einer Ausführungsform wird die Anzeige in Form eines „Radarschirms" gezeigt, auf dem das Anwenderendgerät 12 und die Liefer-Sites als „leuchtende Punkte" angezeigt werden, die einer Karte des relevanten geographischen Gebiets überlagert werden. Um den Anwender zu ermutigen, die Anwendung zu verwenden, und um weitere netzweite Daten anzubieten, kann die Anwenderschnittstelle zulassen, dass der Anwender eine "Ad-hoc"-Test-Site für zusätzli che Leistungstests eingibt. In diesem Fall testet das Konfigurationsdienstprogramm entweder die Standard-Web-Seiten-Datei (z. B. "index.html") oder eine spezifische durch den Anwender angeforderte Datei. Die Analyseergebnisse von der durch den Anwender ausgewählten Site werden so eingestellt, dass sinnvolle Vergleiche mit Ergebnissen von anderen Sites angestellt werden können.
  • Es wird angemerkt, dass durch die Erfindung zur Anpassung an mehrere Gruppen von Inhaltanbietern mehrere Mengen von Liefer-Sites unterhalten werden können. Jeder Inhaltanbieter könnte nur bei bestimmten Sites gespiegelt werden. Dementsprechend wird durch das Konfigurationsdienstprogramm 34 für jeden Inhaltanbieter mit einer einzigartigen Menge von Liefer-Sites eine primäre Liefer-Site ausgewählt. Um dies zu erreichen, können die vorstehenden Tests einmal ausgeführt werden, woraufhin in einer Ausführungsform auf jede geeignete Menge von Liefer-Sites eine zahlenmäßige Gewichtung angewendet werden kann. Es werden eine Mehrzahl cleverer Spiegel-Sites, eine für jede Inhaltanbietergruppe, ausgewählt. Die Inhaltanbietergruppen werden in der Liefer-Site-Datei spezifiziert; jede mögliche Liefer-Site wird als zu einer oder mehreren Inhaltanbietergruppen gehörend identifiziert. Wenn Inhaltanbietergruppen verwendet werden, kann es lediglich zwei Gruppen geben; die Maximalzahl ist im Wesentlichen unbegrenzt.
  • Außerdem wird angemerkt, dass auch eine priorisierte Rangordnung von Liefer-Sites erzeugt und unterhalten werden kann. Wenn dies erfolgt, ermöglicht das Nicht-Antworten der primären cleveren Spiegel-Site, dass das System auf die clevere Spiegel-Site mit dem nächsthöheren Rang zurückfällt.
  • Nachdem eine clevere Spiegel-Site ausgewählt worden ist, werden über E-Mail oder über ein anderes elektronisches Internetprotokoll bestimmte Daten an den MSP 32 gesendet (Schritt 52). Die durch Abfragen des Anwenders empfangenen Informationen, die Identität der ausgewählten cleveren Spiegel-Site und alle Ursprungstestdaten und Ergebnisse einschließlich der Zeit und des Datums, zu denen der Test ausgeführt wurde, werden in einer Textdatei zusammengestellt (die in einer Ausführungsform verschlüsselt ist). Beim Empfang durch den MSP 32 werden die Daten zur Verwendung beim Management und bei der Analyse des Systems in einer Datenbank gespeichert.
  • Schließlich sichert das Konfigurationsdienstprogramm 34 die Identität der ausgewählten cleveren Spiegel-Site für jede Menge von Liefer-Sites oder die priorisierte Liste in der (verschlüsselten) Konfigurationsdatei (Schritt 54). Außerdem kann das Konfigurationsdienstprogramm für jede getestete Liefer-Site Informationen über die relative Leistung sichern. Das Client-Programm 36 verwendet die verschlüsselte Konfigurationsdatei, um von der geeigneten cleveren Spiegel-Site Datendateien (Videoclips oder anderen Inhalt) herunterzuladen.
  • Es wird angemerkt, dass der MSP 32 im Betrieb des Systems bestimmte Funktionen ausführt. Der MSP 32 unterhält die Liefer-Site-Liste, wobei er nach Bedarf Sites hinzufügt und löscht. Außerdem unterhält der MSP 32 die Datenbank der Netzleistung, die über E-Mail oder mit anderen Mitteln von Anwendern, die das Konfigurationsdienstprogramm 34 ausführen, empfangene Informationen enthält. Da von zahlreichen Anwendern große Datenmengen empfangen werden, kann die Datenbank wertvolle Informationen über die Leistung und andere Charakteristiken des Internets und von Abschnitten davon bereitstellen. Zum Ableiten dieser Informationen sind verschiedene Datenverarbeitungstechniken bekannt.
  • Die Orte der mit der Erfindung verwendeten Liefer-Sites werden schließlich durch eine Anzahl von Faktoren einschließlich Vermarktungsbetrachtungen und Kosten/Nutzen-Analysen bestimmt. Allerdings können die in der Datenbank des MSP gespeicherten Daten das Dienstprogramm darin bestätigen, eine Liefer-Site an einem gegebenen Ort im Internet oder in einem anderen Netz zu platzieren. In einer Ausführungsform befinden sich in jedem großen Backbone (einem Abschnitt des Internets, der durch ein einziges Unternehmen unterhalten wird) und in anderen Internet-Leitungen, die einer großen Anzahl von Nutzern dienen, wie etwa in den durch die Regional Bell Operating Companies („RBOCs") betriebenen Hauptleitungen, Server. In bestimmten Netzen, die einer großen Anzahl von Nutzern dienen oder einen starken Videolieferverkehr haben, können an Hauptübergabepunkten (Haupt-„POPs") Server platziert sein, die für das Netz sicherstellen, dass jeder Anwender Zugriff auf einen schnellen Server hat.
  • Wenn das Konfigurationsdienstprogramm 34 ausgeführt wurde, kann der Anwender das System verwenden, um den Empfang von Datendateien, speziell Videoclips, Audioclips, Software-Programmen und anderem Inhalt, zu ermöglichen und zu erleichtern.
  • Während sich im Laufe der Zeit die Nutzungsmuster des Gebiets des Internets eines Anwenders ändern, könnte der Anwender mit der Leistung der seinem Anwenderendgerät 12 zugeordneten cleveren Spiegel-Site unzufrieden werden. Wenn dies geschieht, steht es dem Anwender frei, das Konfigurationsdienstprogramm 34 erneut auszuführen. Bis zu diesem Zeitpunkt könnten zusätzliche Liefer-Sites in Dienst gestellt worden sein oder könnte eine andere vorher vorhandene Site eine bessere Leistung aufweisen als die zuvor zugewiesene. Darüber hinaus kann das Abspielprogramm 36 den Anwender auffor dern, das Konfigurationsdienstprogramm 34 erneut auszuführen, falls das Abspielprogramm 36 bestimmt, dass die ausgewählte clevere Spiegel-Site keine angemessene Leistung aufweist (z. B. drei Mal von zehn Versuchen versagt hat). In einer weiteren Ausführungsform der Erfindung laufen die Tests und die Spiegelzuweisung bei jeder Anforderung für eine Datei in dem cleveren Spiegel-Dienst oder zu einigen Zwischenzeiten wie etwa nach jeder zweiten, jeder dritten, jeder zehnten oder jeder einhundertsten Anforderung automatisch.
  • In einer Ausführungsform der Erfindung wird das clevere Spiegelsystem verwendet, um eine Liefer-Site aufzufinden, von der ein Video- oder Audioclip ("Clip") auf den auf einer Web-Seite Bezug genommen wird, heruntergeladen werden soll. In dieser Ausführungsform kann auf das Client-Programm als ein "Abspielprogramm" Bezug genommen werden oder kann es als ein solches betrachtet werden. Zusätzlich dazu, dass das Abspielprogramm die Funktionen des Client-Programms 36 ausführt, ermöglicht es die Wiedergewinnung und die Wiedergabe von Videodaten. Normalerweise läuft auf dem Anwenderendgerät 12 ein Browser-Programm 38, um Web-Inhalt zu betrachten. Die verwendeten Browser-Programme enthalten typisch NCSA Mosaic, Netscape Navigator und Microsoft Internet Explorer. Das Browser-Programm 38 ermöglicht, dass sich der Anwender zwischen verschiedenen Web-Sites im Internet automatisch verknüpft.
  • Innerhalb von HTML-Dokumenten wird das EMBED-Tag verwendet, um anzugeben, welche Web-Seiten durch das System gemanagten Inhalt enthalten. Wenn das Browser-Programm 38 eine Web-Seite empfängt, die ein EMBED-Tag enthält, wird ein Download der Datei begonnen, auf die das Tag Bezug nimmt, und der Dateityp analysiert. Falls die Datei von einem durch das Abspielprogramm 36 behandelten Typ, z. B. MPEG, ist, startet das Browser-Programm 38 das Abspielprogramm 36. Daraufhin wird der Inhalt des Tags durch das Browser-Programm 38 an das Abspielprogramm 36 übergeben.
  • Das Abspielprogramm 36 (1) stellt die durch den MSP 32 ermöglichten cleveren Spiegelungsdienste bereit. Der Betrieb des Abspielprogramms 36 ist ausführlich in 3 gezeigt.
  • Zunächst analysiert das Abspielprogramm das EMBED-Tag, um zu bestimmen, ob es einen „SM"-Parameter (Cleverer-Spiegel-Parameter) gibt (Schritt 60); die Anwesenheit eines solchen Parameters gibt an, dass der eingebettete Clip für die clevere Spiegelung freigegeben ist. Die dem „SM"-Parameter zugeordneten Daten spezifizieren den besonderen Inhaltanbieter, von dem der gewünschte Clip ausgeht, sowie die Gruppe von Spiegel-Servern, die dieser besondere Inhaltanbieter verwendet, an.
  • Falls das Abspielprogramm 36 bestimmt, dass das EMBED-Tag auf einen Videoclip oder auf einen anderen durch das System behandelten Inhalt Bezug nimmt (Schritt 62), wird die Übertragung des eingebetteten Clips von dem Inhaltanbieter 22 angehalten. Daraufhin entnimmt das Abspielprogramm 36 aus der EMBED-Anweisung Zugangssteuerungs- oder Einstufungsinformationen (Schritt 64), falls irgendwelche vorhanden sind. Diese Einstufungsinformationen werden mit den Referenzstufen verglichen, die in der bei dem Anwenderendgerät 12 gespeicherten Konfigurationsdatei gespeichert sind (Schritt 66). Falls keine Einstufungsinformationen für den Clip vorhanden sind, wird die Konfigurationsdatei abgefragt, um zu bestimmen, ob wie unten definierte nicht eingestufte Clips abgespielt werden können (Schritt 68). Anhand der vorstehenden Informationen lässt das Abspielprogramm 36 das Betrachten des gewünschten Clips zu oder lehnt es ab.
  • Falls die Wiedergabe zugelassen wird, versucht das Abspielprogramm 36, den Clip, auf den Bezug genommen wird, auf dem lokalen Computer zu ermitteln, der zu dem Anwenderendgerät 12 gehört (Schritt 70). Falls er dort vorhanden ist, wird er nicht erneut heruntergeladen und kann direkt auf dem Computer (von der Platte oder vom RAM) abgespielt werden (Schritt 72). Allerdings werden zunächst die Zeit und das Datum der Erstellung des Clips auf dem lokalen Computer gegenüber der Zeit und dem Datum für den Clip, der im Netz verfügbar ist, überprüft, um zu bestimmen, ob der gespeicherte Clip die aktuelle Version ist (Schritt 74). Wenn das nicht der Fall ist, wird der gespeicherte Clip verworfen (Schritt 76), wobei der Download wie folgt fortfährt.
  • Falls der Clip auf dem lokalen Computer nicht vorhanden ist, erzeugt der Abspieler eine neue URL (Schritt 78) in der folgenden Form: http:// plus die IP-Adresse der ausgewählten cleveren Spiegel-Site, die in der Konfigurationsdatei gespeichert ist, plus den Pfadnamen zu den Spiegeldateien (z. B. „/pub/mirror/") plus den Namen des Inhaltanbieters, der aus dem „SM"-Parameter in der EMBED-Anweisung entnommen wird, plus den Dateinamen, der aus der EMBED-Anweisung entnommen wird. Die konstruierte URL wird verwendet, um den ausgewählten Clip von der durch das Konfigurationsdienstprogramm 34 ausgewählten geeigneten cleveren Spiegel-Site wiederzugewinnen (Schritt 80). Falls für verschiedene Inhaltanbieter mehr als eine Menge von Liefer-Sites vorhanden ist, wird der „SM"-Parameter ferner durch das Abspielprogramm 36 verwendet, um zu bestimmen, welche clevere Spiegel-Site in der Konfigurationsdatei in der konstruierten URL zu verwenden ist (Schritt 82). In einer Ausführungsform der Erfindung wird die Site-Auswahl wenigstens teilweise durch einen Umleitungs-Server ausgeführt. Diese Ausführungsform wird unten anhand von 4 ausführlich beschrieben.
  • Falls der der konstruierten URL entsprechende Clip in der cleveren Spiegel-Site nicht ermittelt wird oder nicht auf ihn zugegriffen werden kann, fährt der Download von der cleveren Spiegel-Site mit dem nächst höheren Rang in der Konfigurationsdatei (Schritt 84) oder von der durch den Umleitungs-Server ausgewählten Liefer-Site mit dem nächst höheren Rang (siehe 4) fort. Falls alle Liefer-Sites versagen, fährt der Download von der Original-Inhaltanbieter-Site, wie sie direkt durch die EMBED-Anweisung spezifiziert ist, fort.
  • Falls die Wiedergabe unzulässig ist, verhindert der Abspieler, dass der Clip übertragen wird (Schritt 88) und zeigt eine Bitmap an (Schritt 90), die den Anwender darauf hinweist, dass der Download nicht zugelassen ist.
  • Falls das Abspielprogramm 36 bestimmt, dass das EMBED-Tag auf einen Videoclip oder auf einen anderen Inhalt Bezug nimmt, der durch das System nicht behandelt wird, prüft der Abspieler, ob das in der Konfigurationsdatei eingestellte Zugangssteuerniveau zulässt, dass der Anwender diese als "nicht eingestuft" betrachteten Clips oder andere Dateien abspielt (Schritt 92). Wenn das der Fall ist, wird der Clip von seinem Original-Inhaltanbieter 22 durch herkömmliche Mittel übertragen (Schritt 94), wobei das Abspielprogramm 36 die heruntergeladene Datei anzeigt (Schritt 96). Wenn das nicht der Fall ist, verhindert der Abspieler, dass der Clip übertragen wird (Schritt 98) und zeigt eine Nachricht an (Schritt 100), die den Anwender darauf hinweist, dass der Download unzulässig ist.
  • Beim Download wird die Datendatei, die den gewünschten Clip repräsentiert, in einem spezifizierten Datenbereich auf dem lokalen Computer, üblicherweise auf der zu dem Anwenderendgerät 12 gehörenden Festplatte, gespeichert (Schritt 102). In einer Ausführungsform kann dieser Datenbereich durch das Abspielprogramm 36 auf einer Zuletzt-am-wenigsten-verwendet-Grundlage gemanagt werden. Das heißt, falls in dem Datenbereich kein Platz für einen neuen Clip bleibt, können der zuletzt am wenigsten verwendete (oder betrachtete) Clip oder die zuletzt am wenigsten verwendeten (oder betrachteten) Clips verworfen werden, um Platz zu machen (Schritt 104).
  • In einer Ausführungsform der Erfindung kann das Client-Programm 36 Nachrichten an den MSP 32 senden (Schritt 106), die widerspiegeln, ob die Downloads erfolgreich waren. Diese Nachricht enthält die Internet-Adresse des Anwenderendgeräts 12, die Identität der ausgewählten Server-Menge, die Internet-Adresse der zum Erreichen des Downloads verwendeten Site, die Internet-Adressen aller Sites, die versagt haben, den Namen der heruntergeladenen Datei und die Zeit zum Herunterladen der Datei erforderlich war. Diese Informationen können auch durch den MSP 32 verwendet werden, um Datei-Downloads zu verfolgen und um in Echtzeit zu bestimmen, ob es mit irgendwelchen cleveren Spiegel-Sites irgendwelche Probleme gibt.
  • Alternativ kann das Client-Programm 36 eine kleine lokale Datenbank der Dateiübertragungsleistung unterhalten. Jeder Download würde dann zeitlich bestimmt werden. Genauer können Informationen über die Zeit, die es dauert, bis ein Server die angeforderte Datei zu senden beginnt, über die Stabilität der Datenübertragungsrate und über die Fehlerrate der Übertragung gesammelt werden. In einem gewissen Intervall (z. B. wöchentlich oder einmal alle 100 Downloads) würde eine Nachricht, die die akkumulierten Dateiübertragungsleistungsinformationen sowie die oben diskutierten Anwender- und Server-Informationen enthält, (automatisch oder auf Anforderung) an den MSP 32 gesendet (Schritt 106), um die Datenbank des MSP zu aktualisieren. Diese zusätzlichen Informationen erhöhen die „Kenntnis" des MSP über die Netzleistung, ohne dass irgendein zusätzlicher Testorganisationsaufwand erlitten wird.
  • Diese Daten sind besonders wertvoll, um die Leistung der Liefer-Sites sicherzustellen, um die Qualität des von dem Liefer-Site-Anbieters gekauften Dienstes zu beurteilen und um den Inhaltanbietern die Qualität des Dienstes zu dokumentieren, um die Kosten des Systems zu unterstützen. Allerdings wird erkannt, dass viele derselben Informationen durch neue Anwender, die das Konfigurationsdienstprogramm 34 ausführen, erlangt werden können.
  • In einer Ausführungsform der Erfindung können von der Datenbank des MSP 32 abgeleitete Informationen verwendet werden, um für einen gegebenen Anwender eine verbesserte Liefer-Site vorherzusagen, ohne dass tatsächlich das Konfigurationsdienstprogramm ausgeführt werden muss, um das Netz zwischen diesem Anwender und einer Liste potenzieller Liefer-Sites zu testen. Genauer werden die in der Datenbank des MSP 32 enthaltenen vereinigten Netzleistungsdaten hinsichtlich der Leistungsdifferenzen zwischen einer gegebenen Internet-IP-Adresse und einer Anzahl verschiedener Liefer-Sites analysiert. Anhand dieser Analyse kann eine Korrelation zwischen der IP-Adresse eines Anwenders und eine Liefer-Site, die eine bessere Datenlieferleistung bietet, gezogen werden. Diese korrelierten Daten werden verwendet, um eine Nachschlagetabelle zu erzeugen, die durch den MSP 32 in dem Prozess der Liefer-Site-Auswahl genutzt werden kann.
  • In der Praxis ist innerhalb des MSP-Netzes ein Umleitungs-Server enthalten. In einer Ausführungsform werden die Funktionen des Umleitungs-Servers innerhalb des Servers des MSP 32 realisiert und durch ihn ausgeführt. In alternativen Ausführungsformen können mehrere Umleitungs-Server an verschiedenen Orten im gesamten Netz genutzt werden.
  • Im Betrieb erlangt der Umleitungs-Server die IP-Adresse des Anwenders, wenn der Anwender eine Datei anfordert, die durch das MSP-Liefersystem gemanagt wird. Wie oben diskutiert wird über eine EMBED-Anweisung eine Anforderung des Umleitungs-Servers gestellt. Die EMBED-Anweisung kann explizit auf die IP-Adresse eines spezifischen Servers Bezug nehmen, einen einzelnen Umleitungs-Server (z. B. den MSP 32) identifizieren oder ein Script oder ausführbaren Programmcode (z. B. in JavaScript oder in der Programmiersprache Java) enthalten, das/der eine Mehrzahl von Umleitungs-Servern spezifiziert, auf die der Zugriff nacheinander oder in zufälliger Reihenfolge versucht werden kann. Daraufhin wird durch den Server über herkömmliche Mittel die IP-Adresse des Anwenders bestimmt, da HTTP-Anforderungen (HyperText Transport Protocol-Anforderungen) üblicherweise Informationen über die Adresse des Anfordernden enthalten. Daraufhin bildet der Umleitungs-Server die IP-Adresse des Anwenders auf eine optimale Liefer-Site, die sich in der Nachschlagetabelle befindet, ab und leitet die Liefer-Site-Adresse dem Anwender weiter. Daraufhin leitet das Client-Programm 36 des Anwenders oder der Umleitungs-Server die Dateianforderung so weiter, dass die Datei von der optimalen Liefer-Site geliefert wird.
  • Ein wichtiger Faktor beim Entwurf der Nachschlagetabelle leitet sich von der großen Anzahl von Adressen im Internet ab. Jedem mit dem Internet verbundenen Computer ist eine Adresse zugewiesen. In dem herkömmlichen Internet-Adressierungssystem umfasst eine Adresse einen 4-Byte-Wert, der durch Umwandlung so ausgedrückt wird, dass jedes Byte in eine Dezimalzahl (0-255) umgewandelt wird, wobei die Bytes durch einem Punkt getrennt werden. Zum Beispiel ist die Adresse für den Server www.intervu.net 192.215.147.185. Bei diesem Adressierungssystem gibt es über vier Milliarden möglicher Adressen im Internet. Ausgehend von dem momentanen Stand der Technik ist eine Nachschlagetabelle, die vier Milliarden Adressen enthält, zu groß, um in der hier beschriebenen Ausführungsform nutzbar zu sein, so dass ein Weg gesucht wurde, um die Tabelle zu komprimieren.
  • Es ist festgestellt worden, dass die Auswahl einer optimalen Liefer-Site häufig mit dem ersten Byte der IP-Adresse eines Anwenders korreliert werden kann. Diese Korrelation ist derart, dass, nachdem das Konfigurationsdienstprogramm 34 gelaufen ist, eine statistisch signifikante Anzahl von Anwendern mit einer Adresse mit demselben ersten Byte dieselbe Liefer-Site oder eine andere Site aus einer kleinen Gruppe von Liefer-Sites auswählen würden. Es ist beobachtet worden, dass diese Liefer-Sites im Vergleich zu unkorrelierten Liefer-Sites für die meisten Anwender mit einer Adresse mit demselben ersten Byte eine verbesserte Leistung bereitstellen. Die Korrelation ist signifikant genug, damit in einer Ausführungsform der Erfindung eine komprimierte Nachschlagetabelle gebildet wird, die eine Liste von IP-Adressennummern mit einem ersten Byte von 0-255 und für jede Adresse eine Liste der Liefer-Sites, die für Anwender mit den entsprechenden IP-Adressen eine verbesserte Leistung bereitstellen, gebildet wird. Auf diese Weise werden auf jeden Eintrag in der Adressenliste eine oder mehrere Liefer-Sites abgebildet.
  • Es wird angemerkt, dass unter bestimmten Umständen einige der IP-Adressen mit einem ersten Byte in der Nachschlagetabelle nicht auf einen entsprechenden Server abgebildet werden könnten. Dies wäre der Fall, wenn z. B. wenige Anwender IP-Adressen haben, die einem besonderen Eintrag in der Tabelle entsprechen, und wenn nicht genug von ihnen das Konfigurationsdienstprogramm 34 ausgeführt haben, um statistisch signifikante oder zuverlässige Ergebnisse zu erzeugen. In diesem Fall können in der Datenbank einer oder mehrere Standard-Server spezifiziert werden, um sie zu verwenden, wenn in der Nachschlagetabelle kein spezifischer Server identifiziert ist.
  • In einer bevorzugten Ausführungsform ist die Nachschlagetabelle in einem einzigen Umleitungs-Server, z. B. in dem MSP 32, gespeichert. Allerdings könnten die Nachschlageliste und die verwandte Programmierung auch bei einem Web-Seiten-Server, beim Server eines Inhaltanbieters 22 oder bei einer Kombination der beiden gespeichert sein.
  • Auf den Umleitungs-Server wird wie folgt und wie in 4 beschrieben zugegriffen, um eine Liefer-Site auszuwählen (Schritt 82 3). Der Anwender fordert über den Anwenderendgerät-Browser eine Datei an, auf die auf einer Web-Seite Bezug genommen wird, indem er auf eine Verknüpfung mit einer EMBED-Anweisung für diese Datei klickt. Falls die Dateianforderung für eine Datei ist, die durch das Liefersystem des MSP gemanagt wird, wird die Dateianforderung unter Verwendung der herkömmlichen HTML-Dateianforderungs-Semantik, d. h. eines Server-„GET", zu dem Umleitungs-Server (z. B. zu dem MSP 32) weitergeleitet (Schritt 120).
  • Der Umleitungs-Server untersucht die ankommende Anforderung und bestimmt unter Verwendung der durch den Web-Server gelieferten Variablen „REMOTE_HOST" die Netzadresse (IP-Adresse) des Anwenders (Schritt 122). Es wird angemerkt, dass die in 4 beschriebene Ausführungsform der Erfindung ohne ein in dem Anwenderendgerät 12 installiertes Spezial-Client-Programm (wie etwa das Client-Programm 36) erreicht werden kann. Falls kein Client-Programm 36 installiert ist (Schritt 124) und der Anwender, wenn er durch ein Skript oder durch ein heruntergeladenes Programm abgefragt wird, kein Client-Programm installieren möchte (Schritt 126), wird die Site-Auswahl vollständig durch den Umleitungs-Server ausgeführt.
  • Daraufhin analysiert der Umleitungs-Server die IP-Adresse des Anwenders, wobei er die Liste potenzieller Liefer-Sites in der Nachschlagetabelle untersucht, um zu bestimmen, welche Liefer-Site oder Liefer-Sites mit der IP-Adresse des Anwenders korreliert ist/sind (Schritt 128). Daraufhin wählt der Umleitungs-Server eine Liefer-Site-Adresse, falls dem Nachschlagetabelleneintrag des Anwenders mehr als eine Adresse entspricht (Schritt 130). Falls eine einzige Liefer-Site-Adresse ermittelt wird, wird eine HTTP-Umleitungsantwort verwendet, um die Datei von der ausgewählten Liefer-Site zu liefern (Schritt 132). Gemäß der HTTP-Spezifikation kann eine von einem bestimmten Server angeforderte Datei durch diesen Server ohne Eingriff irgendeines Anwenders oder Client-Programms zu einem anderen Ort umgeleitet werden. Daraufhin ist die Site-Auswahl abgeschlossen (Schritt 134). Um die Transaktion abzuschließen, fordert das Client-Programm von der ausgewählten Liefer-Site eine Kopie der Datei an, wobei der Liefer-Site-Server die Datei wiedergewinnt und sie an den Anwender liefert.
  • Falls der Anwender das Client-Programm 36 installieren möchte (Schritt 126), wird das Programm mit herkömmlichen Mitteln heruntergeladen und installiert (Schritt 136). Falls das Client-Programm 36 bereits installiert wurde (Schritt 124) oder falls die Installation gerade abgeschlossen worden ist, fährt die Dateianforderung anders fort und kann sowohl Server-seitige als auch Client-seitige Verarbeitung nutzen, um eine Datei auf die effizienteste Weise wiederzugewinnen.
  • Zunächst analysiert der Umleitungs-Server die IP-Adresse des Anwenders und untersucht die Liste potenzieller Liefer-Sites in der Nachschlagetabelle, um zu bestimmen, welche Liefer-Site oder -Sites mit der IP-Adresse des Anwenders korreliert ist/sind (Schritt 138). In einigen Fällen ist es möglich, dass der Umleitungs-Server, der die Nachschlagetabelle speichert, eine kleine Datei, die eine Teilliste von Liefer-Sites enthält und sich auf das Client-Programm 36 stützt, um die Auswahl der endgültigen Liefer-Site vorzunehmen (Schritt 144), erzeugt (Schritt 140) und an das Anwenderendgerät 12 sendet (Schritt 142). Es gibt eine Anzahl von Gründen, dass dies geschehen kann.
  • Wie zuvor erwähnt wurde, kann zunächst eine Analyse der vereinigten Netzleistungsdaten angeben, dass für bestimmte Anwender mit einem Adressenbereich mit demselben ersten Byte eine Anzahl von Liefer-Sites (im Gegensatz zu einer einzelnen Liefer-Site) eine verbesserte Leistung bietet. Dies geschieht z. B., wenn eine Anzahl von Anwendern, die alle eine Adresse mit demselben ersten Byte oder einen Bereich von Adressen innerhalb einer Adresse mit einem einzelnen ersten Byte haben, verschiedene Liefer-Sites ausgewählt haben, nachdem sie das Konfigurationsdienstprogramm ausgeführt haben. In diesem Fall kann das Client-Programm 36 die durch den Umleitungs-Server heruntergeladene Teilliste nehmen und sie mit einer gesicherten Liste von Spiegel-Sites vergleichen, die zuvor durch Ausführen des Konfigurationsdienstprogramms ausgewählt worden waren (siehe 3, Schritt 54). Falls eine Übereinstimmung gefunden wird, leitet das Client-Programm die Dateianforderung zu der übereinstimmenden Liefer-Site um (Schritt 146). Außerdem hätte der Client die Option, die durch das Client-Programm getroffene Auswahl zu ignorieren und unter den in der Nachschlageliste enthaltenen Liefer-Sites eine Auswahl der besten Vermutung zu treffen, da eine oder mehrere dieser Liefer-Sites gegenüber irgendeiner durch das Konfigurationsdienstprogramm zuvor ausgewählten Liefer-Site insbesondere dann, wenn das Konfigurationsdienstprogrammnicht vor kurzem ausgeführt wurde, eine verbesserte Leistung bieten können.
  • Zweitens kann außerdem eine Situation entstehen, in der die Anzahl der Liefer-Sites und der durch den MSP gemanagten IP-Adressen bis zu einem Punkt zugenommen hat, an dem die Nachschlagetabelle zu groß wird, um praktisch zu sein, d. h., an dem der Umleitungs-Server beim Antworten auf eine neue Dateianforderung verzögert wird, da er damit beschäftigt ist, im Interesse einer früheren Dateianforderung die Nachschlagetabellen zu durchsuchen. Wenn das der Fall ist, wird die Aufgabe des Durchsuchens der Nachschlagetabelle zwischen dem Umleitungs-Server und dem Client-Programm 36 aufgeteilt. Somit wird gefordert, dass das Anwenderendgerät 12 einen Teil der Verarbeitung ausführt und außerdem als ein Router wirkt, indem es die Auswahl der endgültigen Liefer-Site trifft.
  • Um dies zu erreichen, unterteilt der Umleitungs-Server die Nachschlagetabelle in kleinere Teillisten mit einem gegebenen Bereich von Adressen. Wenn der Umleitungs-Server eine Anforderung für eine Datei empfängt, bildet der Server somit die IP-Adresse des Anwenders (Schritt 138) auf die Teilliste mit dem entsprechenden Adressenbereich ab und erzeugt daraufhin (Schritt 140) eine kleine Datei, die die Teilliste enthält, und lädt sie für den Anwender herunter (Schritt 142). Daraufhin wirkt das Client-Programm 36 als ein Router, wobei es unter den Liefer-Sites in der Teillisten-Nachschlagetabelle eine Liefer-Site auswählt (Schritt 144), indem es entweder die IP-Adresse des Anwenders auf die richtig korrelierte Liefer-Site-Adresse in der Teilliste abbildet oder indem es nach einer Übereinstimmung zwischen einer Liefer-Site in der Teilliste und einer Liefer-Site in der priorisierten Liste von Sites sucht, die durch das Konfigurationsdienstprogramm 34 gesichert worden ist, nachdem wie oben beschrieben zuvor die Netzleistungstests ausgeführt wurden. Wenn das Client-Programm eine Liefer-Site ausgewählt hat, leitet das Client-Programm die Dateianforderung zu der ausgewählten Liefer-Site weiter (Schritt 146). Dadurch, dass die Arbeit zwischen dem Umleitungs-Server und dem Anwenderendgerät 12 aufgeteilt wird, kann die Dateianforderung schneller verarbeitet werden, wodurch die Verzögerung zwischen dem Zeitpunkt, zu dem der Anwender die Datei anfordert, und dem Zeitpunkt, zu dem die Datei durch das Anwenderendgerät 12 empfangen wird, verringert wird.
  • Obgleich die Umleitungs-Nachschlagetabelle des MSP 32 in Reaktion auf Änderungen der Netzleistung häufig aktualisiert wird, ist zu erwarten, dass die an den Anwender weitergegebenen Teillisten wenigstens für einige Tage zufrieden stellend sind. Somit kann das Client-Programm 36 die Liste für einige Tage wieder verwenden, bevor es eine neue Teilliste erlangt. Diese Funktion kann z. B. durch ein Skript implementiert werden, das in die Web-Seite, die die Dateianforderungsanweisung hostet, eingebettet ist. Das Skript kann das Client-Programm 36 nach einem Ablaufdatum abfragen, das in der bei dem Anwenderendgerät 12 gespeicherten Teilliste codiert ist. Das Ablaufdatum und der Teillistentyp können zurück an den Umleitungs-Server gegeben werden, wobei der Server bei Bedarf eine neue Teilliste weitergibt.
  • Es ist möglich, dass ein besonderer Anwender eine durch das MSP-Liefersystem gemanagte Datei anfordern kann, ohne dass das System Kenntnis dieses Anwenders hat (d. h., er werden keine Übereinstimmungen zwischen der IP-Adresse des Anwenders und Liefer-Sites in der Nachschlagetabelle gefunden). In diesem Fall wählt der Umleitungs-Server aus einer bei dem Umleitungs-Server gespeicherten Standardliste eine Liefer-Site für den Anwender aus (Schritte 130 und 144). Wenn der Anwender die angeforderte Datei von dieser Liefer-Site herunterlädt, kann er über ein eingebettetes Skript oder Programm aufgefordert werden, zur Verbesserung der Inhaltslieferung die Konfigurationsdienstprogrammdatei von dem MSP 32 zu erlangen, oder wird vorübergehend ein Server zugewiesen, der eine Näherung für verbesserte Inhaltslieferung ist (der z. B. eine IP-Adresse mit ähnlichem, aber nicht gleichem ersten Byte besitzt). Falls der Anwender das Konfigurationsdienstprogramm erlangt und ausführt, beginnt das Anwenderendgerät 12, MSP 32 wie oben beschrieben die Ergebnisse verschiedener Netztests bereitzustellen, wobei diese Informationen schließlich zu einem Teil der MSP-Datenbank der Netzleistungsdaten werden. Somit kann der Umleitungs-Server in der nächsten Dateianforderung von diesem neuen Anwender die IP-Adresse des Anwenders anhand einer Analyse zusätzlicher Netzleistungsdaten auf einen besser geeigneten Server abbilden.
  • Außerdem kann der Umleitungs-Server durch Ändern der Nachschlagetabelle einen Lastausgleich und ein Management in Bezug auf Dateianforderungen ausführen. Falls der MSP 32 (oder eine Person, die den MSP 32 steuert) im voraus bestimmt, dass Abschnitte des Netzes für eine Zeitdauer betriebsunfähig sind, oder falls bestimmte Liefer-Sites für eine Zeitdauer abgeschaltet werden müssen, kann die Nachschlagetabelle so geändert werden, dass der Umleitungs-Server Anwender zu alternativen Liefer-Sites weist. Somit ist es möglich, dass ein Anwender bei zwei aufeinander folgenden Anforderungen für dieselbe Datei zu zwei verschiedenen Liefer-Sites gelenkt wird.
  • Es ist klar, dass die Datei, die eine Teilliste der Nachschlagetabelle umfasst, als die Liefer-Site-Datei fungieren kann, die von dem Konfigurationsdienstprogramm 34 verwendet wird, um Netztests auszuführen. Die Teilliste repräsentiert Liefer-Sites, die bereits über vereinigte Netzleistungsdaten, die von einer Gruppe anderer Anwender abgeleitet wurden, die zuvor Netztests durchgeführt haben, hinsichtlich verbesserter Leistung untersucht worden sind. Diese Teilliste der Liefer-Sites kann durch Ausführen des Konfigurationsdienstprogramms 34 gegen die Liste und Ausführen der Folge von Netztests, die von einer früheren Liefer-Site erhalten werden, eingeschränkt oder priorisiert werden. Wenn die Teilliste priorisiert worden ist, sichert das Konfigurationsdienstprogramm 34 die Liste wie oben beschrieben in der (verschlüsselten) Konfigurationsdatei.
  • In der folgenden beispielhaften Beschreibung nutzt das clevere Spiegel-System die Nachschlagetabelle, um eine verbesserte Liefer-Site aufzufinden, von der ein Videoclip, auf den in einem Web-Seiten-Werbebanner Bezug genommen wird, herunterzuladen ist. Bei der Behandlung von verhältnismäßig unbeliebtem Inhalt wie etwa Werbung ist es wichtig, dass der Werbeinhalt so schnell wie möglich an den beabsichtigten Kunden geliefert wird, so dass der potenzielle Kunde nicht das Interesse verliert. In Bezug auf den Inhalt in einem Web-Seiten-Werbebanner ist dasselbe wahr: Es ist erwünscht, das Video so schnell wie möglich an den Kunden liefern zu können, ohne dass im Voraus eine wesentliche Menge Software heruntergeladen werden muss. Somit kann als eine Alternative zur Nutzung der Erfindung als ein Vorzugsdienst ein Dienstanbieter Werbebanner auf Web-Seiten über das Internet verteilen. Jedes Banner nimmt Bezug auf einen Videoclip und alle Clips sind im Server eines Inhaltanbieters gespeichert, der für diesen Zweck eingerichtet worden ist.
  • In diesem Beispiel wird auf das Client-Programm 36 als ein „Abspielprogramm" Bezug genommen, das wie zuvor beschrieben die zusätzliche Funktionalität des Wiedergewinnens und Wiedergebens von Videodaten besitzt. Zum Betrachten von Web-Inhalt bei dem Anwenderendgerät 12 und zum Kommunizieren zwischen dem Anwenderendgerät 12 und anderen Computern im Internet 10 wird ein Browser 38 (wie etwa Netscape Navigator oder Microsoft Internet Explorer) verwendet.
  • Wenn der Client ein auf einer Web-Seite angezeigtes Werbebanner auswählt, wird durch den Browser ein in dem Banner codiertes EMBED-Tag untersucht. Der Browser beginnt einen Download der Datei, auf die das EMBED-Tag Bezug nimmt, und es wird der Dateityp analysiert. Falls die Datei von einem durch das Abspielprogramm behandelten Typ, z. B. MPEG, ist, startet der Browser das Abspielprogramm, indem er das Tag an das Abspielprogramm übergibt. Das Abspielprogramm untersucht das EMBED-Tag nach dem Dateinamen des Videoclips und versucht, den Clip auf dem lokalen Computer zu ermitteln, der zu dem Anwenderendgerät gehört. Falls er dort vorhanden ist, wird er nicht erneut heruntergeladen und kann direkt auf dem Computer (von der Platte oder aus dem RAM) abgespielt werden. Falls der Videoclip nicht in dem lokalen Computer ist, analysiert das Abspielprogramm das EMBED-Tag, um zu bestimmen, ob es dort einen „SM"-Parameter (Cleverer-Spiegel-Parameter) gibt; die Anwesenheit eines solchen Parameters gibt an, dass der eingebettete Clip für die clevere Spiegelung freigegeben ist. Ferner spezifiziert der SM-Parameter die Adresse des Umleitungs-Servers und wie oben diskutiert den besonderen Inhaltanbieter, von dem der gewünschte Clip ausgegangen ist, sowie die Gruppe der Spiegel-Server, die der besondere Inhaltanbieter verwendet.
  • Falls das Abspielprogramm einen Parameter erkennt, der einen Umleitungs-Server spezifiziert, ruft das Abspielprogramm den Browser auf, um die Werbebanner-Datei, auf die Bezug genommen wird, über herkömmliche HTML-Dateianforderungstechniken von dem Umleitungs-Server anzufordern. Der Umleitungs-Server untersucht die ankommende Anforderung und bestimmt die IP-Adresse des Clients. Der Umleitungs-Server bildet die IP-Adresse des Clients auf der Nachschlagetabelle ab und gewinnt eine Liefer-Site-Adresse oder eine Teilliste wieder. Die Liefer-Site-Adresse (oder eine Teilliste von Liefer-Sites und IP-Adressen) wird durch den Umleitungs-Server an das Abspielprogramm zurückgegeben. Falls eine Teilliste zurückgegeben wird, wählt das Abspielprogramm wie zuvor beschrieben unter den aufgeführten eine einzelne Liefer-Site aus. Sobald die einzelne Liefer-Site bestimmt worden ist, erzeugt das Abspielprogramm eine neue URL in der folgenden Form: „http://" plus die IP-Adresse der ausgewählten Liefer-Site plus den Pfadnamen zu Spiegeldateien (z. B. "/pub/mirror/") plus den Namen des Inhaltanbieters, der dem „SM"-Parameter in der EMBED-Anweisung entnommen wird, plus den aus der EMBED-Anweisung entnommene Dateiname. Die konstruierte URL wird verwendet, um den ausgewählten Clip von der aus der Nachschlagetabelle ausgewählten Liefer-Site wiederzugewinnen.
  • Falls die SM-Parameter in dem EMBED-Tag keinen Umleitungs-Server spezifizieren oder falls der Umleitungs-Server nicht verfügbar ist und keine Antwort zurückgibt, wählt das Abspielprogramm aus der in der Konfigurationsdienstprogrammdatei gespeicherten priorisierten Liste cleverer Spiegel-Sites eine IP-Adresse aus und ersetzt diese Adresse in der URL. Falls das Abspielprogramm die Anwesenheit der priorisierten Liste cleverer Spiegel-Sites nicht erfasst (falls der Anwender z. B. das Konfigurationsdienstprogramm 34 nie heruntergeladen hat), fordert das Abspielprogramm das Video unter Verwendung der Adresse des Servers des Original-Inhaltanbieters, wie sie direkt durch die EMBED-Anweisung spezifiziert ist, an.
  • In Anwendungen, die nicht speziell auf die Lieferung von Werbeinhalt gerichtet sind, erleichtert die Bereitstellung von Download-Informationen für den MSP die Verwendung der Erfindung als einen Abonnement-basierten Vorzugsdienst. Da erfolgreiche Downloads in einer Datenbank verfolgt werden, kann jeder Anwender ein zugeordnetes „Konto" haben, um die Gebühren zu verfolgen. Dem Anwender kann die Verwendung des cleveren Spiegelsystems nach der Datei, nach dem Megabyte, nach dem Monat oder nach anderen bekannten Mitteln in Rechnung gestellt werden. In einer Ausführungsform enthält das einer Datei zugeordnete EMBED-Tag Abrechnungsinformationen oder einen „Preis" für die Datei. Das Verfolgen der Herunterladeleistung der Erfindung ermöglicht, dass Rabatte oder Guthaben gewährt werden können, falls festgestellt wird, dass Downloads übermäßig schwierig oder langsam sind.
  • Um sicherzustellen, dass in cleveren Spiegel-Liefer-Sites gespeicherte Dateien nur durch berechtigte Anwender der Erfindung (z. B. jene Anwender, die ausgeglichene Konten besitzen) verwendet werden, können die bei den Liefer-Sites gespeicherten Dateien optional in verschlüsselter Form sein, wobei der oben beschriebene Herunterladeschritt einen Entschlüsselungsschritt enthalten kann. Diese Verschlüsselung und Entschlüsselung kann mit gut bekannten Mitteln ausgeführt werden.
  • Wie oben diskutiert wurde, können den durch die Erfindung gemanagten Clips Inhaltseinstufungsinformationen zugeordnet werden. Dies wird dadurch erreicht, dass in der dem Clip entsprechenden EMBED-Anweisung ein „PG"-Parameter bereitgestellt wird. In einer Ausführungsform werden vier Charakteristiken eingestuft: Nacktheit, Sexualität, Obszönität und Gewalt. Dementsprechend kann der PG-Parameter durch ein Vier-Ziffern-Argument spezifiziert werden. Jede Charakteristik wird auf einer Skala von eins bis drei eingestuft. Eins entspricht keiner Filterung (d. h. der gesamte Inhalt ist zulässig), zwei entspricht einer gewissen Filterung (z. B. gleich Stufen, die typisch im Fernsehrundfunk zulässig sind) und drei entspricht der umfangreichsten Filterung (z. B. für Kinder). Die in der EMBED-Anweisung für eine Datei enthaltenen Einstufungsstufen werden mit den Einstufungsfilterstufen verglichen, die in der Konfigurationsdatei enthalten sind, die in dem vorstehenden Autorisierungsprozess in dem Anwenderendgerät 12 gespeichert worden ist, wobei nur zugelassene Dateien übertragen werden.
  • Angesichts des Obigen ist klar, dass Ausführungsformen der Erfindung in vielen verschiedenen Anwendungen genutzt werden können, um die Erlangung und Analyse von Leistungsdaten für Netze zwischen einem gegebenen Anwender und einem Inhaltanbieter oder einer Liefer-Site zu ermöglichen. Obgleich die beschriebene Ausführungsform das System in der Weise veranschaulicht, dass es im Kontext des Internets und mit einem Internet-Adressierungsschema arbeitet, wird somit erkannt, dass sich ein solches System in anderen Netzumgebungen einschließlich, aber nicht beschränkt auf, Unternehmens-„Intranets" als nützlich erweisen könnte.
  • Obgleich die veranschaulichenden Ausführungsformen primär zur Verwendung in einem Videoliefersystem beschrieben worden sind, wird darüber hinaus erkannt, dass ein System gemäß der Erfindung ebenfalls verwendet werden kann, um verschiedene andere Arten von Computerdaten (z. B. Anwendungsprogramme, Datenbankdateien und andere Geschäftsinformationen, Virtual-Reality-Dateien, Multimediadateien wie etwa Macromedia-Shockwave-Dateien und große Textdateien wie etwa Bücher) zu verteilen. Solche anderen Datentypen können durch die Erfindung wie oben ausführlich diskutiert in verschiedenen Inhaltanbietergruppen gemanagt werden; wobei zum Betrachten oder Verwenden anderer Datentypen bei dem Anwenderendgerät 12 üblicherweise ein anderer Programmtyp (eher als das Abspielprogramm 36) aufgerufen würde.
  • Außerdem wird angemerkt, dass bestimmte Funktionalität, die in der Weise beschrieben ist, dass sie bei dem Anwenderendgerät 12 ausgeführt wird (speziell bestimmte Funktionen, die durch das Konfigurationsdienstprogramm 34 oder durch das Client/Abspiel-Programm 36 ausgeführt werden), als ein selbständiges Programm, als ein "Plugin" oder als eine "Helferanwendung", die innerhalb eines Browser-Programms läuft, oder als ein Java-Applet, das von einer Liefer-Site heruntergeladen wird, um innerhalb einer Browser-Umgebung zu laufen, implementiert sein kann. Für Anwenderendgeräte, die das Betriebssystem Microsoft Windows laufen lassen können, ist außerdem eine als Microsoft ActiveX bekannte Umgebung nutzbar.
  • Obgleich bestimmte beispielhafte Strukturen und Operationen beschrieben worden sind, ist die Erfindung darauf nicht beschränkt, wobei ihr Umfang gemäß den im Folgenden dargelegten Ansprüchen bestimmt ist.

Claims (50)

  1. System zum Auswählen einer Liefer-Site, die sich in einem verteilten Computernetz befindet, von der eine Datei empfangen werden soll, wobei das System umfasst: ein Kommunikationsnetz (10); wenigstens einen Inhaltanbieter (22), der mit dem Netz (10) verbunden ist, wobei der Inhaltanbieter wenigstens eine Datei speichert; wenigstens zwei Liefer-Sites (26, 28), die mit dem Netz (10) verbunden sind, wobei jede Liefer-Site die gleiche Datei wie der Inhaltanbieter (22) speichert; einen Umleitungs-Server (32), der mit dem Netz (10) verbunden ist; ein Anwenderendgerät (12), das mit dem Netz (10) verbunden ist; eine Netztestvorrichtung (34) zum Testen des Netzes (10) und zum Auswählen einer bevorzugten Liefer-Site von allen Liefer-Sites (26, 28), die mit dem Netz verbunden sind; und eine Herunterladevorrichtung (36, 38) zum Herunterladen der Datei von der durch den Umleitungs-Server (32) spezifizierten bevorzugten Liefer-Site auf das Anwenderendgerät (12).
  2. System nach Anspruch 1, bei dem die Netztestvorrichtung (34) ein erstes Speichermedium umfasst, das mit dem Anwenderendgerät (12) verbunden ist, wobei das erste Speichermedium ein erstes Software-Programm zum Testen des Netzes und zum Auswählen einer bevorzugten Liefer-Site von allen mit dem Netz (10) verbundenen Liefer-Sites (26, 28) enthält.
  3. System nach Anspruch 2, bei dem die Herunterladevorrichtung (36, 38) ein zweites Speichermedium umfasst, das mit dem Anwenderendgerät (12) verbunden ist, wobei das zweite Speichermedium ein zweites Software-Programm (36) enthält, das die Datei von der bevorzugten Liefer-Site auf das Anwenderendgerät (12) herunterladen kann.
  4. System nach Anspruch 3, bei dem der Umleitungs-Server (32) eine Datenbank umfasst.
  5. System nach Anspruch 4, bei dem das erste Software-Programm eine von der Datenbank erzeugte Liste von Liefer-Sites verwendet.
  6. System nach Anspruch 5, bei dem das erste Software-Programm Ergebnisse von einer Netzanalyseprozedur verwendet, um die bevorzugte Liefer-Site aus der Liste der Liefer-Sites zu wählen.
  7. System nach Anspruch 5, bei dem das erste Software-Programm Ergebnisse von einer Netzanalyseprozedur verwendet, um eine priorisierte Liste bevorzugter Liefer-Sites zu erstellen.
  8. System nach Anspruch 6, bei dem die Netzanalyseprozedur wenigstens teilweise bei dem Anwenderendgerät (12) ausgeführt wird.
  9. System nach Anspruch 8, bei dem die Netzanalyseprozedur eine Mehrzahl von Netztests umfasst.
  10. System nach Anspruch 9, bei der die Netztests aus einer in der Datenbank unterhaltenen Liste von Tests ausgewählt werden.
  11. System nach Anspruch 9, bei dem die Ergebnisse von den Netztests für die Datenbank bereitgestellt werden.
  12. System nach Anspruch 9, bei dem das erste Software-Programm die Netztests in Verbindung mit dem Anwenderendgerät (12) ausführt.
  13. System nach Anspruch 11, bei dem die Ergebnisse in der Datenbank gespeichert werden.
  14. System nach Anspruch 13, bei dem die Datenbank eine Adresse für das Anwenderendgerät (12) auf wenigstens eine Liefer-Site abbildet.
  15. System nach Anspruch 14, bei dem das zweite Software-Programm (36) das Herunterladen in Verbindung mit dem Anwenderendgerät (12) ausführt.
  16. System nach Anspruch 15, bei dem das zweite Software-Programm (36) das Herunterladen von einem durch die Datenbank spezifizierten Server ausführt.
  17. System nach Anspruch 12, bei dem das erste Software-Programm jederzeit ausgeführt werden kann.
  18. System nach Anspruch 17, bei dem das erste Software-Programm automatisch ausgeführt wird, bevor irgendeine Datei heruntergeladen wird.
  19. System nach Anspruch 1, bei dem die Datei einen Videoclip umfasst.
  20. System nach Anspruch 7, bei dem das zweite Software-Programm (36) die priorisierte Liste verwendet.
  21. System nach Anspruch 20, bei dem das zweite Software-Programm (36) auf die Datenbank zugreift.
  22. System nach Anspruch 21, bei dem das zweite Software-Programm (36) zunächst versucht, eine in der priorisierten Liste spezifizierte erste Liefer-Site zu verwenden.
  23. System nach Anspruch 22, bei dem das zweite Software-Programm (36) in der priorisierten Liste spezifizierte nachfolgende Liefer-Sites zu verwenden versucht, falls die erste Liefer-Site versagt.
  24. System nach Anspruch 23, bei dem das zweite Software-Programm (36) direkt von dem Inhaltanbieter (22) herunterzuladen versucht, falls alle Liefer-Sites in der priorisierten Liste versagen.
  25. System nach Anspruch 1, bei dem der Datei charakteristische Informationen zugeordnet sind.
  26. System nach Anspruch 25, bei dem die charakteristischen Informationen innerhalb einer der Datei entsprechenden "EMBED"-Anweisung gespeichert sind.
  27. Verfahren zum Herunterladen einer Datei von einer Liefer-Site auf ein Anwenderendgerät (12), wobei das Verfahren die folgenden Schritte umfasst: Identifizieren einer gewünschten Datei; Bestimmen, ob die gewünschte Datei auf einer oder auf mehreren Liefer-Sites (26, 28) gespiegelt ist, anhand einer Antwort von einem Umleitungs-Server (32); Ermitteln einer bevorzugten Liefer-Site in einer Liste von Liefer-Sites, die auf IP-Adressen abgebildet sind, falls die gewünschte Datei gespiegelt ist; und Herunterladen der gewünschten Datei von der bevorzugten Liefer-Site.
  28. Verfahren nach Anspruch 27, bei dem der Schritt des Ermittelns einer bevorzugten Liefer-Site in einer Liste von Liefer-Sites (26, 28), die auf IP-Adressen abgebildet sind, ferner die folgenden Schritte umfasst: Erhalten einer Liste von Liefer-Sites; Ausführen wenigstens eines Netztests; Verarbeiten von Ergebnissen von dem Netztest; und Abbilden der Liefer-Sites auf IP-Adressen gemäß den Testergebnissen.
  29. Verfahren nach Anspruch 28, bei dem der Schritt des Ausführens das Testen einiger der Liefer-Sites (26, 28) in der Liste umfasst.
  30. Verfahren nach Anspruch 29, bei dem der Schritt des Ausführens Folgendes umfasst: Auswählen einer Teilmenge von Liefer-Sites aus der Liste; und Ablaufenlassen wenigstens eines Tests für jede der Liefer-Sites in der Teilmenge.
  31. Verfahren nach Anspruch 30, bei dem der Test aus einer Mehrzahl von Tests ausgewählt wird.
  32. Verfahren nach Anspruch 31, bei dem die Mehrzahl von Tests in einer mit einem Netz (10) verbundenen Datenbank spezifiziert sind.
  33. Verfahren nach Anspruch 32, bei dem der Test aus der Mehrzahl mittels einer Zufallsauswahl ausgewählt wird, die auf einer in der Datenbank spezifizierten Häufigkeit beruht.
  34. Verfahren nach Anspruch 28, das ferner den Schritt des Sendens der Ergebnisse an eine mit einem Netz (10) verbundene Datenbank umfasst.
  35. Verfahren nach Anspruch 28, bei dem der Schritt des Verarbeitens das Gewichten der Ergebnisse umfasst.
  36. Verfahren nach Anspruch 28, bei dem der Schritt des Abbildens das Speichern der Menge von Liefer-Sites in einer bevorzugten Reihenfolge für jeden Adressenbereich einer Mehrzahl von Adressenbereichen umfasst.
  37. Verfahren nach Anspruch 36, bei dem jeder Adressenbereich allen IP-Adressen mit dem gleichen ersten Byte entspricht.
  38. Verfahren nach Anspruch 37, bei dem die bevorzugte Reihenfolge durch die Testergebnisse bestimmt wird.
  39. Verfahren nach Anspruch 28, bei dem die Liste von Liefer-Sites aus einer Datenbank erhalten wird.
  40. Verfahren nach Anspruch 27, bei dem der Schritt des Bestimmens die Teilschritte des Abfragens eines Umleitungs-Servers (32) und des Empfangens einer Antwort umfasst.
  41. Verfahren nach Anspruch 40, bei dem der Schritt des Abfragens durch ein Skript ausgeführt wird.
  42. Verfahren nach Anspruch 41, bei dem das Skript innerhalb einer Web-Seite eingebettet ist.
  43. Verfahren nach Anspruch 40, bei dem der Schritt des Abfragens durch ein auf das Anwenderendgerät (12) heruntergeladenes Programm ausgeführt wird.
  44. Verfahren nach Anspruch 40, bei dem die Schritte des Wiedergewinnens und des Herunterladens wiederholt werden, bis der Schritt des Herunterladens erfolgreich ist.
  45. Verfahren nach Anspruch 44, das ferner den Schritt des Herunterladens der gewünschten Datei von einer Inhaltanbieter-Site (32) umfasst, falls die wiederholten Schritte des Wiedergewinnens und des Herunterladens erfolglos sind.
  46. Verfahren nach Anspruch 40, bei dem der Schritt des Ermittelns die folgenden Teilschritte umfasst: Bestimmen einer Adresse für das Anwenderendgerät (12); Vergleichen der Adresse mit einer Liste von Adressen in einer Datenbank; Auffinden der bevorzugten Liefer-Site, die der Adresse entspricht, falls die Datenbank ausreichende Daten enthält; und Auffinden einer Standard-Liefer-Site, falls die Datenbank keine ausreichenden Daten enthält.
  47. Verfahren nach Anspruch 46, bei dem der Schritt des Vergleichens bei einem Computer ausgeführt wird, der die Datenbank hostet.
  48. Verfahren nach Anspruch 47, bei dem die Schritte des Auffindens bei einem Computer ausgeführt werden, der die Datenbank hostet.
  49. Verfahren nach Anspruch 46, bei dem der erste Schritt des Auffindens die folgenden Teilschritte umfasst: Isolieren einer Teilliste von Adressen; und Auswählen der bevorzugten Liefer-Site innerhalb der Teilliste.
  50. Verfahren nach Anspruch 49, bei dem der Schritt des Auswählens bei dem Anwenderendgerät (12) ausgeführt wird.
DE69835674T 1997-06-18 1998-06-16 System und verfahren zur serverseitigen optimierung von datenübermittlung in einem verteilten rechnernetz Expired - Lifetime DE69835674T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/878,385 US6112239A (en) 1997-06-18 1997-06-18 System and method for server-side optimization of data delivery on a distributed computer network
US878385 1997-06-18
PCT/US1998/012784 WO1998058315A1 (en) 1997-06-18 1998-06-16 System and method for server-side optimization of data delivery on a distributed computer network

Publications (2)

Publication Number Publication Date
DE69835674D1 DE69835674D1 (de) 2006-10-05
DE69835674T2 true DE69835674T2 (de) 2006-12-28

Family

ID=25371929

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69835674T Expired - Lifetime DE69835674T2 (de) 1997-06-18 1998-06-16 System und verfahren zur serverseitigen optimierung von datenübermittlung in einem verteilten rechnernetz

Country Status (8)

Country Link
US (4) US6112239A (de)
EP (1) EP0990205B1 (de)
JP (1) JP4968975B2 (de)
CN (1) CN1109298C (de)
AU (1) AU8153998A (de)
CA (1) CA2294149A1 (de)
DE (1) DE69835674T2 (de)
WO (1) WO1998058315A1 (de)

Families Citing this family (469)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US6963859B2 (en) 1994-11-23 2005-11-08 Contentguard Holdings, Inc. Content rendering repository
JPH08263438A (ja) * 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
US6006252A (en) * 1996-10-08 1999-12-21 Wolfe; Mark A. System and method for communicating information relating to a network resource
US6233684B1 (en) 1997-02-28 2001-05-15 Contenaguard Holdings, Inc. System for controlling the distribution and use of rendered digital works through watermaking
US7447738B1 (en) * 1997-03-14 2008-11-04 International Business Machines Corporation Component download selection mechanism for web browsers
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
US7058720B1 (en) * 1997-06-30 2006-06-06 Microsoft Corporation Geographical client distribution methods, systems and computer program products
US6223209B1 (en) * 1997-09-30 2001-04-24 Ncr Corporation Distributed world wide web servers
US6418478B1 (en) * 1997-10-30 2002-07-09 Commvault Systems, Inc. Pipelined high speed data transfer mechanism
US7581077B2 (en) 1997-10-30 2009-08-25 Commvault Systems, Inc. Method and system for transferring data in a storage operation
US7257604B1 (en) 1997-11-17 2007-08-14 Wolfe Mark A System and method for communicating information relating to a network resource
US6385596B1 (en) * 1998-02-06 2002-05-07 Liquid Audio, Inc. Secure online music distribution system
US6185598B1 (en) 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US7047300B1 (en) * 1998-02-10 2006-05-16 Sprint Communications Company L.P. Survivable and scalable data system and method for computer networks
US8060613B2 (en) 1998-02-10 2011-11-15 Level 3 Communications, Llc Resource invalidation in a content delivery network
US6779118B1 (en) * 1998-05-04 2004-08-17 Auriq Systems, Inc. User specific automatic data redirection system
WO1999063458A1 (fr) * 1998-05-29 1999-12-09 Sony Corporation Systeme generant des informations de preference constatees
US7581006B1 (en) * 1998-05-29 2009-08-25 Yahoo! Inc. Web service
US7143193B1 (en) 1998-05-29 2006-11-28 Yahoo! Inc. Content collection
US6976093B2 (en) * 1998-05-29 2005-12-13 Yahoo! Inc. Web server content replication
US6108703A (en) * 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
US6665702B1 (en) 1998-07-15 2003-12-16 Radware Ltd. Load balancing
US6249801B1 (en) * 1998-07-15 2001-06-19 Radware Ltd. Load balancing
JP3786328B2 (ja) * 1998-07-27 2006-06-14 株式会社日立製作所 サーバおよび通信制御方法
US7047483B1 (en) * 1998-09-01 2006-05-16 Lucent Technologies Inc. Computer implemented method and apparatus for providing a logical point of access to one or more files
WO2000016210A1 (en) 1998-09-17 2000-03-23 Nexchange Corporation Affiliate commerce system and method
US8010627B1 (en) 1998-09-25 2011-08-30 Sprint Communications Company L.P. Virtual content publishing system
US6751777B2 (en) * 1998-10-19 2004-06-15 International Business Machines Corporation Multi-target links for navigating between hypertext documents and the like
JP3935276B2 (ja) * 1998-10-21 2007-06-20 キヤノン株式会社 ネットワークデバイス管理方法、装置、記憶媒体、及び送出装置
US6691165B1 (en) * 1998-11-10 2004-02-10 Rainfinity, Inc. Distributed server cluster for controlling network traffic
US7664864B2 (en) * 1998-11-13 2010-02-16 Verisign, Inc. Meta content distribution network
US7017188B1 (en) 1998-11-16 2006-03-21 Softricity, Inc. Method and apparatus for secure content delivery over broadband access networks
US7225264B2 (en) 1998-11-16 2007-05-29 Softricity, Inc. Systems and methods for delivering content over a computer network
US6763370B1 (en) 1998-11-16 2004-07-13 Softricity, Inc. Method and apparatus for content protection in a secure content delivery system
US8266266B2 (en) 1998-12-08 2012-09-11 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
US8713641B1 (en) 1998-12-08 2014-04-29 Nomadix, Inc. Systems and methods for authorizing, authenticating and accounting users having transparent computer access to a network using a gateway device
US7194554B1 (en) 1998-12-08 2007-03-20 Nomadix, Inc. Systems and methods for providing dynamic network authorization authentication and accounting
US6611872B1 (en) 1999-01-11 2003-08-26 Fastforward Networks, Inc. Performing multicast communication in computer networks by using overlay routing
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
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US7099848B1 (en) 1999-02-16 2006-08-29 Listen.Com, Inc. Audio delivery and rendering method and apparatus
US6901604B1 (en) * 1999-02-19 2005-05-31 Chaincast, Inc. Method and system for ensuring continuous data flow between re-transmitters within a chaincast communication system
US7185097B1 (en) * 1999-02-25 2007-02-27 Nortel Networks Limited Encoding addresses in a communication system
GB9906628D0 (en) * 1999-03-23 1999-05-19 Koninkl Philips Electronics Nv Data network load management
JP3808660B2 (ja) * 1999-03-31 2006-08-16 株式会社東芝 通信システム及び端末装置
US6721794B2 (en) * 1999-04-01 2004-04-13 Diva Systems Corp. Method of data management for efficiently storing and retrieving data to respond to user access requests
US6233607B1 (en) * 1999-04-01 2001-05-15 Diva Systems Corp. Modular storage server architecture with dynamic data management
US6578078B1 (en) * 1999-04-02 2003-06-10 Microsoft Corporation Method for preserving referential integrity within web sites
GB2348718A (en) * 1999-04-07 2000-10-11 Ibm Data processing system having a centralised trace facility with dynamic tracing
US7730169B1 (en) 1999-04-12 2010-06-01 Softricity, Inc. Business method and system for serving third party software applications
US6801949B1 (en) 1999-04-12 2004-10-05 Rainfinity, Inc. Distributed server cluster with graphical user interface
US7370071B2 (en) 2000-03-17 2008-05-06 Microsoft Corporation Method for serving third party software applications from servers to client computers
US6757698B2 (en) * 1999-04-14 2004-06-29 Iomega Corporation Method and apparatus for automatically synchronizing data from a host computer to two or more backup data storage locations
US6571288B1 (en) * 1999-04-26 2003-05-27 Hewlett-Packard Company Apparatus and method that empirically measures capacity of multiple servers and forwards relative weights to load balancer
US8099758B2 (en) 1999-05-12 2012-01-17 Microsoft Corporation Policy based composite file system and method
US6735633B1 (en) * 1999-06-01 2004-05-11 Fast Forward Networks System for bandwidth allocation in a computer network
US6850987B1 (en) 1999-06-01 2005-02-01 Fastforward Networks, Inc. System for multipoint infrastructure transport in a computer network
US6275470B1 (en) 1999-06-18 2001-08-14 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
US7035880B1 (en) 1999-07-14 2006-04-25 Commvault Systems, Inc. Modular backup and retrieval system used in conjunction with a storage area network
US7389311B1 (en) * 1999-07-15 2008-06-17 Commvault Systems, Inc. Modular backup and retrieval system
US7395282B1 (en) 1999-07-15 2008-07-01 Commvault Systems, Inc. Hierarchical backup and retrieval system
US6415323B1 (en) * 1999-09-03 2002-07-02 Fastforward Networks Proximity-based redirection system for robust and scalable service-node location in an internetwork
US6785704B1 (en) 1999-12-20 2004-08-31 Fastforward Networks Content distribution system for operation over an internetwork including content peering arrangements
US6857106B1 (en) 1999-09-15 2005-02-15 Listen.Com, Inc. Graphical user interface with moveable, mergeable elements
US6721789B1 (en) * 1999-10-06 2004-04-13 Sun Microsystems, Inc. Scheduling storage accesses for rate-guaranteed and non-rate-guaranteed requests
AU1224101A (en) 1999-10-22 2001-05-08 Nomadix, Inc. Gateway device having an xml interface and associated method
US8543901B1 (en) 1999-11-01 2013-09-24 Level 3 Communications, Llc Verification of content stored in a network
US7127500B1 (en) * 1999-11-10 2006-10-24 Oclc Online Computer Library Center, Inc. Retrieval of digital objects by redirection of controlled vocabulary searches
US6405252B1 (en) * 1999-11-22 2002-06-11 Speedera Networks, Inc. Integrated point of presence server network
US6754699B2 (en) * 2000-07-19 2004-06-22 Speedera Networks, Inc. Content delivery and global traffic management network system
US7363361B2 (en) * 2000-08-18 2008-04-22 Akamai Technologies, Inc. Secure content delivery system
US7925713B1 (en) * 1999-11-22 2011-04-12 Akamai Technologies, Inc. Method for operating an integrated point of presence server 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
US9538386B2 (en) 1999-11-24 2017-01-03 Robert C. Yen Wireless internet access with enhanced bandwidth capabilities
US7222161B2 (en) * 1999-11-24 2007-05-22 Yen Robert C Method and system for facilitating usage of local content at client machine
US8516146B1 (en) 1999-11-24 2013-08-20 Robert C. Yen Method and system for reduction of delay and bandwidth requirements in internet data transfer
US7245634B2 (en) * 2000-09-27 2007-07-17 Yen Robert C Wireless internet access with enhanced bandwidth capabilities
US6904455B1 (en) 1999-11-24 2005-06-07 Robert C. Yen Method and system for providing local content for use in partially satisfying internet data requests from remote servers
JP4574097B2 (ja) * 1999-12-03 2010-11-04 パナソニック株式会社 コンテンツ配信システム、レファレンスサーバ
KR100782255B1 (ko) 1999-12-08 2007-12-04 리슨.컴 .인크. 미디어 데이터의 스케줄링된 검색, 저장, 및 액세스
US6442708B1 (en) * 1999-12-14 2002-08-27 Honeywell International Inc. Fault localization and health indication for a controller area network
US6754706B1 (en) 1999-12-16 2004-06-22 Speedera Networks, Inc. Scalable domain name system with persistence and load balancing
EP1113646A1 (de) * 1999-12-31 2001-07-04 Advanced Communication Research Servermodul und Internetzugangssystem basiert auf verteilten Server und Verwaltungsverfahren
US20030108018A1 (en) * 1999-12-31 2003-06-12 Serge Dujardin Server module and a distributed server-based internet access scheme and method of operating the same
US6606643B1 (en) * 2000-01-04 2003-08-12 International Business Machines Corporation Method of automatically selecting a mirror server for web-based client-host interaction
US6763380B1 (en) * 2000-01-07 2004-07-13 Netiq Corporation Methods, systems and computer program products for tracking network device performance
US7281034B1 (en) 2000-01-24 2007-10-09 Friskit, Inc. System and method for media playback over a network using links that contain control signals and commands
US7228305B1 (en) * 2000-01-24 2007-06-05 Friskit, Inc. Rating system for streaming media playback system
US6519648B1 (en) * 2000-01-24 2003-02-11 Friskit, Inc. Streaming media search and continuous playback of multiple media resources located on a network
US6389467B1 (en) 2000-01-24 2002-05-14 Friskit, Inc. Streaming media search and continuous playback system of media resources located by multiple network addresses
CN1115839C (zh) * 2000-01-28 2003-07-23 国际商业机器公司 均衡镜象服务器负载的方法及装置
US6658436B2 (en) 2000-01-31 2003-12-02 Commvault Systems, Inc. Logical view and access to data managed by a modular data and storage management system
US7003641B2 (en) 2000-01-31 2006-02-21 Commvault Systems, Inc. Logical view with granular access to exchange data managed by a modular data and storage management system
US7155481B2 (en) 2000-01-31 2006-12-26 Commvault Systems, Inc. Email attachment management in a computer system
US8418195B1 (en) * 2000-02-04 2013-04-09 Sprint Communications Company L.P. Advertising insertion for a video-on-demand system
EP1256225B1 (de) * 2000-02-04 2010-08-18 Listen.Com, Inc. System mit einem verteilten Multimedianetzwerk und einem Meta-Daten-Server
US20010034693A1 (en) * 2000-02-25 2001-10-25 Jay Farhat Method and system to broker a service access transaction
US7792745B2 (en) * 2000-02-25 2010-09-07 Ipass Inc. Method and system to facilitate financial settlement of service access transactions between multiple parties
US20020116444A1 (en) * 2000-02-29 2002-08-22 Imran Chaudhri Method and system for providing intelligent network content delivery
US6799214B1 (en) * 2000-03-03 2004-09-28 Nec Corporation System and method for efficient content delivery using redirection pages received from the content provider original site and the mirror sites
US20030088878A1 (en) * 2000-03-25 2003-05-08 Karl Rogers System and method for integration of high quality video multi-casting service with an interactive communication and information environment using internet protocols
US6687846B1 (en) 2000-03-30 2004-02-03 Intel Corporation System and method for error handling and recovery
US20050021862A1 (en) * 2000-03-31 2005-01-27 Dickens Coal Llc Automatic selection of content-delivery provider using link mapping database
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
US6996616B1 (en) * 2000-04-17 2006-02-07 Akamai Technologies, Inc. HTML delivery from edge-of-network servers in a content delivery network (CDN)
US7010537B2 (en) * 2000-04-27 2006-03-07 Friskit, Inc. Method and system for visual network searching
US6928481B1 (en) * 2000-05-05 2005-08-09 International Business Machines Corporation Method, apparatus and program to optimize the network distribution of digital information based on hierarchical grouping of server topology and code distribution
US7299291B1 (en) 2000-05-18 2007-11-20 Akamai Technologies, Inc. Client-side method for identifying an optimum server
US7082427B1 (en) * 2000-05-24 2006-07-25 Reachforce, Inc. Text indexing system to index, query the archive database document by keyword data representing the content of the documents and by contact data associated with the participant who generated the document
US7120629B1 (en) 2000-05-24 2006-10-10 Reachforce, Inc. Prospects harvester system for providing contact data about customers of product or service offered by business enterprise extracting text documents selected from newsgroups, discussion forums, mailing lists, querying such data to provide customers who confirm to business profile data
US6510463B1 (en) * 2000-05-26 2003-01-21 Ipass, Inc. Service quality monitoring process
US7096263B2 (en) * 2000-05-26 2006-08-22 Akamai Technologies, Inc. Method for predicting file download time from mirrored data centers in a global computer network
US7519695B2 (en) * 2000-05-26 2009-04-14 Ipass Inc. Service quality monitoring process
US7240112B2 (en) * 2000-05-26 2007-07-03 Ipass Inc. Service quality monitoring process
US6985945B2 (en) * 2000-12-07 2006-01-10 Ipass, Inc. Service quality monitoring process
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
AR028661A1 (es) * 2000-06-01 2003-05-21 Aerocast Com Inc Metodo para seleccionar un nodo de direccion del lado del cliente
US20010051980A1 (en) * 2000-06-01 2001-12-13 Raciborski Nathan F. Preloading content objects on content exchanges
US6904460B1 (en) 2000-06-01 2005-06-07 Aerocast.Com, Inc. Reverse content harvester
US20010049732A1 (en) * 2000-06-01 2001-12-06 Raciborski Nathan F. Content exchange apparatus
US6658000B1 (en) 2000-06-01 2003-12-02 Aerocast.Com, Inc. Selective routing
US7213062B1 (en) 2000-06-01 2007-05-01 General Instrument Corporation Self-publishing network directory
US6836806B1 (en) 2000-06-01 2004-12-28 Aerocast, Inc. System for network addressing
US6879998B1 (en) 2000-06-01 2005-04-12 Aerocast.Com, Inc. Viewer object proxy
US7318107B1 (en) 2000-06-30 2008-01-08 Intel Corporation System and method for automatic stream fail-over
US7020709B1 (en) * 2000-06-30 2006-03-28 Intel Corporation System and method for fault tolerant stream splitting
US7111163B1 (en) 2000-07-10 2006-09-19 Alterwan, Inc. Wide area network using internet with quality of 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
US8060581B2 (en) * 2000-07-19 2011-11-15 Akamai Technologies, Inc. Dynamic image delivery system
US7346676B1 (en) 2000-07-19 2008-03-18 Akamai Technologies, Inc. Load balancing service
US7912978B2 (en) * 2000-07-19 2011-03-22 Akamai Technologies, Inc. Method for determining metrics of a content delivery and global traffic management network
US8341297B2 (en) 2000-07-19 2012-12-25 Akamai Technologies, Inc. Latencies and weightings in a domain name service (DNS) system
FI112148B (fi) * 2000-07-24 2003-10-31 Stonesoft Oyj Tietoliikenteen ohjausmenetelmä
EP1176760A1 (de) * 2000-07-27 2002-01-30 Telefonaktiebolaget Lm Ericsson Verfahren zum Verbinden eines Endgerätes mit einem Server
AU2001279312A1 (en) * 2000-08-02 2002-02-13 Ipass, Inc. A method and system to customize and update a network connection application fordistribution to mulitple end users
US7801158B2 (en) * 2000-10-16 2010-09-21 Verizon Communications Inc. Congestion and thru-put visibility and isolation
US7743259B2 (en) * 2000-08-28 2010-06-22 Contentguard Holdings, Inc. System and method for digital rights management using a standard rendering engine
US7603319B2 (en) 2000-08-28 2009-10-13 Contentguard Holdings, Inc. Method and apparatus for preserving customer identity in on-line transactions
WO2002019716A1 (en) * 2000-08-31 2002-03-07 Mixed Signals Technologies, Inc. Systems and method for interacting with users over a communications network
US7657629B1 (en) * 2000-09-26 2010-02-02 Foundry Networks, Inc. Global server load balancing
US7454500B1 (en) 2000-09-26 2008-11-18 Foundry Networks, Inc. Global server load balancing
US9130954B2 (en) * 2000-09-26 2015-09-08 Brocade Communications Systems, Inc. Distributed health check for global server load balancing
JP2002108350A (ja) * 2000-09-28 2002-04-10 Internatl Business Mach Corp <Ibm> 音楽配信のための方法及びシステム
US7043531B1 (en) 2000-10-04 2006-05-09 Inetprofit, Inc. Web-based customer lead generator system with pre-emptive profiling
US7330850B1 (en) 2000-10-04 2008-02-12 Reachforce, Inc. Text mining system for web-based business intelligence applied to web site server logs
US7401125B1 (en) * 2000-10-10 2008-07-15 Ricoh Corporation System, computer program product and method for managing documents
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
US6714970B1 (en) * 2000-10-26 2004-03-30 International Business Machines Corporation Protecting open world wide web sites from known malicious users by diverting requests from malicious users to alias addresses for the protected sites
US7111057B1 (en) * 2000-10-31 2006-09-19 Akamai Technologies, Inc. Method and system for purging content from a content delivery network
US7343324B2 (en) 2000-11-03 2008-03-11 Contentguard Holdings Inc. Method, system, and computer readable medium for automatically publishing content
US7353277B1 (en) * 2000-11-14 2008-04-01 Hewlett-Packard Development Company, L.P. Dynamic load balancing of video requests
US7158534B2 (en) * 2000-11-30 2007-01-02 Imajet Communications, Inc. Unified distributed architecture for a multi-point video conference and interactive broadcast systems
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
US6928474B2 (en) * 2000-12-14 2005-08-09 Honeywell International, Inc. Using a probability associative matrix algorithm to modify web pages
US7502857B2 (en) * 2000-12-15 2009-03-10 International Business Machines Corporation Method and system for optimally allocating a network service
US6795941B2 (en) 2000-12-21 2004-09-21 Honeywell International Inc. Method for diagnosing a network
US6651141B2 (en) 2000-12-29 2003-11-18 Intel Corporation System and method for populating cache servers with popular media contents
US6912294B2 (en) * 2000-12-29 2005-06-28 Contentguard Holdings, Inc. Multi-stage watermarking process and system
US6993508B1 (en) 2000-12-29 2006-01-31 Novell, Inc. Method and mechanism for vending digital content
US20020094868A1 (en) * 2001-01-16 2002-07-18 Alma Tuck Methods for interactive internet advertising, apparatuses and systems including same
US20040039704A1 (en) * 2001-01-17 2004-02-26 Contentguard Holdings, Inc. System and method for supplying and managing usage rights of users and suppliers of items
US6754642B2 (en) * 2001-05-31 2004-06-22 Contentguard Holdings, Inc. Method and apparatus for dynamically assigning usage rights to digital works
US7028009B2 (en) * 2001-01-17 2006-04-11 Contentguardiholdings, Inc. Method and apparatus for distributing enforceable property rights
US7774279B2 (en) 2001-05-31 2010-08-10 Contentguard Holdings, Inc. Rights offering and granting
US8069116B2 (en) 2001-01-17 2011-11-29 Contentguard Holdings, Inc. System and method for supplying and managing usage rights associated with an item repository
US20040025186A1 (en) * 2001-01-19 2004-02-05 Jennings Charles A. System and method for managing media
US7054949B2 (en) 2001-01-19 2006-05-30 World Streaming Network, Inc. System and method for streaming media
US7191244B2 (en) * 2001-01-19 2007-03-13 Streamworks Technologies, Inc. System and method for routing media
US20070198739A1 (en) * 2001-01-19 2007-08-23 Streamworks Technologies, Inc. System and method for routing media
US20020123330A1 (en) * 2001-02-06 2002-09-05 Yen Robert C. Wireless internet access with enhanced bandwidth capabilities
WO2002071242A1 (en) * 2001-03-01 2002-09-12 Akamai Technologies, Inc. Optimal route selection in a content delivery network
US20020133597A1 (en) * 2001-03-14 2002-09-19 Nikhil Jhingan Global storage system
JP4254071B2 (ja) * 2001-03-22 2009-04-15 コニカミノルタビジネステクノロジーズ株式会社 プリンタ,サーバ,監視装置,プリントシステムおよび監視プログラム
US6766407B1 (en) * 2001-03-27 2004-07-20 Microsoft Corporation Intelligent streaming framework
WO2002079905A2 (en) * 2001-04-02 2002-10-10 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)
US20030065919A1 (en) * 2001-04-18 2003-04-03 Albert Roy David Method and system for identifying a replay attack by an access device to a computer system
US7921290B2 (en) * 2001-04-18 2011-04-05 Ipass Inc. Method and system for securely authenticating network access credentials for users
US7469341B2 (en) * 2001-04-18 2008-12-23 Ipass Inc. Method and system for associating a plurality of transaction data records generated in a service access system
JP2002328855A (ja) * 2001-05-02 2002-11-15 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
US6959333B2 (en) * 2001-05-08 2005-10-25 Lucent Technologies Inc. Technique for content delivery over the internet
US8001053B2 (en) 2001-05-31 2011-08-16 Contentguard Holdings, Inc. System and method for rights offering and granting using shared state variables
US7725401B2 (en) 2001-05-31 2010-05-25 Contentguard Holdings, Inc. Method and apparatus for establishing usage rights for digital content to be created in the future
US6876984B2 (en) 2001-05-31 2005-04-05 Contentguard Holdings, Inc. Method and apparatus for establishing usage rights for digital content to be created in the future
US7152046B2 (en) * 2001-05-31 2006-12-19 Contentguard Holdings, Inc. Method and apparatus for tracking status of resource in a system for managing use of the resources
US8275716B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Method and system for subscription digital rights management
US8099364B2 (en) 2001-05-31 2012-01-17 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US8275709B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US6895503B2 (en) 2001-05-31 2005-05-17 Contentguard Holdings, Inc. Method and apparatus for hierarchical assignment of rights to documents and documents having such rights
US7007089B2 (en) * 2001-06-06 2006-02-28 Akarnai Technologies, Inc. Content delivery network map generation using passive measurement data
JP2004530222A (ja) 2001-06-07 2004-09-30 コンテントガード ホールディングズ インコーポレイテッド ディジタルライツ・マネジメント・システムで多数の信頼ゾーンをサポートする方法および装置
US7774280B2 (en) 2001-06-07 2010-08-10 Contentguard Holdings, Inc. System and method for managing transfer of rights using shared state variables
US7454485B2 (en) * 2001-06-29 2008-11-18 Intel Corporation Providing uninterrupted media streaming using multiple network sites
US20030009657A1 (en) * 2001-06-29 2003-01-09 Ibm Corporation Method and system for booting of a target device in a network management system
WO2003009539A1 (fr) * 2001-07-10 2003-01-30 Fujitsu Limited Systeme de communication a terminal mobile et procede de communication
US7379977B2 (en) * 2001-07-24 2008-05-27 Steve Walrath System and method for display of multiple electronic pages
US20030188160A1 (en) * 2001-08-02 2003-10-02 Singam Sunder Method and system to securely update files via a network
US7761606B2 (en) * 2001-08-02 2010-07-20 Ipass Inc. Method and system to secure a connection application for distribution to multiple end-users
ES2214390T3 (es) * 2001-08-31 2004-09-16 Stonesoft Corporation Metodo de control de transmision de datos.
US20030051015A1 (en) * 2001-09-10 2003-03-13 Brown Brian J. System and method for distributing software
US20030055971A1 (en) * 2001-09-19 2003-03-20 Menon Rama R. Providing load balancing in delivering rich media
US20030061006A1 (en) * 2001-09-24 2003-03-27 Richards Kevin T. Evaluating performance data describing a relationship between a provider and a client
US6850866B2 (en) * 2001-09-24 2005-02-01 Electronic Data Systems Corporation Managing performance metrics describing a relationship between a provider and a client
WO2003029980A1 (en) * 2001-09-24 2003-04-10 Electronic Data Systems Corporation Evaluating performance data describing a relationship between a provider and a client
US6915234B2 (en) 2001-09-24 2005-07-05 Electronic Data Systems Corporation Monitoring submission of performance data describing a relationship between a provider and a client
US6687560B2 (en) * 2001-09-24 2004-02-03 Electronic Data Systems Corporation Processing performance data describing a relationship between a provider and a client
US20030065553A1 (en) * 2001-09-24 2003-04-03 Electronic Data Systems Corporation Reporting performance data describing a relationship between a provider and a client
US7860964B2 (en) 2001-09-28 2010-12-28 Level 3 Communications, Llc Policy-based content delivery network selection
WO2003027906A2 (en) 2001-09-28 2003-04-03 Savvis Communications Corporation System and method for policy dependent name to address resolutioin.
US7373644B2 (en) 2001-10-02 2008-05-13 Level 3 Communications, Llc Automated server replication
US20030074670A1 (en) * 2001-10-12 2003-04-17 Penk Mark D. Propagation of dynamic network information
US20030079027A1 (en) * 2001-10-18 2003-04-24 Michael Slocombe Content request routing and load balancing for content distribution networks
US20030084104A1 (en) * 2001-10-31 2003-05-01 Krimo Salem System and method for remote storage and retrieval of data
WO2003042832A1 (en) * 2001-11-13 2003-05-22 Electronic Data Systems Corporation Managing performance metrics describing a relationship between a provider and a client
US20030093515A1 (en) * 2001-11-14 2003-05-15 Kauffman Marc W. Quality of service control of streamed content delivery
US6978270B1 (en) 2001-11-16 2005-12-20 Ncr Corporation System and method for capturing and storing operational data concerning an internet service provider's (ISP) operational environment and customer web browsing habits
US7840488B2 (en) * 2001-11-20 2010-11-23 Contentguard Holdings, Inc. System and method for granting access to an item or permission to use an item based on configurable conditions
US7974923B2 (en) * 2001-11-20 2011-07-05 Contentguard Holdings, Inc. Extensible rights expression processing system
EP1485833A4 (de) * 2001-11-20 2005-10-12 Contentguard Holdings Inc Erweiterbares rechtsausdruck-verarbeitungssystem
US20030099364A1 (en) * 2001-11-28 2003-05-29 Thompson Mark R. Playback manipulation of HTTP streamed content objects
JP2003223378A (ja) * 2002-01-29 2003-08-08 Fujitsu Ltd コンテンツデリバリネットワークサービス方法及びシステム
US9167036B2 (en) 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
US20030229593A1 (en) * 2002-03-14 2003-12-11 Michael Raley Rights expression profile system and method
US7805371B2 (en) * 2002-03-14 2010-09-28 Contentguard Holdings, Inc. Rights expression profile system and method
AU2003220269A1 (en) * 2002-03-14 2003-09-29 Contentguard Holdings, Inc. Method and apparatus for processing usage rights expressions
US7194433B1 (en) * 2002-04-05 2007-03-20 Ricoh Company, Ltd. System, computer program product and method for managing documents
US7961884B2 (en) * 2002-08-13 2011-06-14 Ipass Inc. Method and system for changing security information in a computer network
US9137324B2 (en) * 2002-04-10 2015-09-15 International Business Machines Corporation Capacity on-demand in distributed computing environments
JP4000895B2 (ja) * 2002-04-23 2007-10-31 日本電気株式会社 リアルタイム通信のためのビットレート制御方法および装置
US8543511B2 (en) * 2002-04-29 2013-09-24 Contentguard Holdings, Inc. System and method for specifying and processing legality expressions
US20040059777A1 (en) * 2002-05-31 2004-03-25 Palazzo Craig M. System and method for distributed component object model load balancing
US7836295B2 (en) * 2002-07-29 2010-11-16 International Business Machines Corporation Method and apparatus for improving the resilience of content distribution networks to distributed denial of service attacks
US20040024900A1 (en) * 2002-07-30 2004-02-05 International Business Machines Corporation Method and system for enhancing streaming operation in a distributed communication system
EP1387300A3 (de) * 2002-07-31 2006-05-24 Hewlett-Packard Development Company, L.P. Einrichtung von Netzwerkverbindungen
GB0217795D0 (en) * 2002-07-31 2002-09-11 Hewlett Packard Co Establishment of network connections
US7676576B1 (en) 2002-08-01 2010-03-09 Foundry Networks, Inc. Method and system to clear counters used for statistical tracking for global server load balancing
US7086061B1 (en) * 2002-08-01 2006-08-01 Foundry Networks, Inc. Statistical tracking of global server load balancing for selecting the best network address from ordered list of network addresses based on a set of performance metrics
US7574508B1 (en) 2002-08-07 2009-08-11 Foundry Networks, Inc. Canonical name (CNAME) handling for global server load balancing
US7305464B2 (en) * 2002-09-03 2007-12-04 End Ii End Communications, Inc. Systems and methods for broadband network optimization
CA2499073C (en) 2002-09-16 2013-07-23 Commvault Systems, Inc. Combined stream auxiliary copy system and method
US7542471B2 (en) 2002-10-30 2009-06-02 Citrix Systems, Inc. Method of determining path maximum transmission unit
US8233392B2 (en) 2003-07-29 2012-07-31 Citrix Systems, Inc. Transaction boundary detection for reduction in timeout penalties
US7616638B2 (en) 2003-07-29 2009-11-10 Orbital Data Corporation Wavefront detection and disambiguation of acknowledgments
US8270423B2 (en) 2003-07-29 2012-09-18 Citrix Systems, Inc. Systems and methods of using packet boundaries for reduction in timeout prevention
US7630305B2 (en) 2003-07-29 2009-12-08 Orbital Data Corporation TCP selective acknowledgements for communicating delivered and missed data packets
CN1317662C (zh) * 2002-10-31 2007-05-23 中兴通讯股份有限公司 一种分布式文件存取方法
DE60313572T2 (de) * 2003-02-03 2007-12-27 Alcatel Lucent Aufbau von Diversitäts-Verbindungen über unterschiedliche Zugangsknoten
US20040260710A1 (en) * 2003-02-28 2004-12-23 Marston Justin P. Messaging system
US7490348B1 (en) 2003-03-17 2009-02-10 Harris Technology, Llc Wireless network having multiple communication allowances
JP4271483B2 (ja) * 2003-04-24 2009-06-03 ソニー株式会社 コンテンツ処理装置およびコンテンツ処理方法
US20050010961A1 (en) * 2003-06-02 2005-01-13 Hagen David A. System for providing live and pre-recorded audio-video content to a plurality of portals over the Internet
US20050055371A1 (en) * 2003-06-05 2005-03-10 Singam Sunder Method and system to manage a network connection application
US8606885B2 (en) * 2003-06-05 2013-12-10 Ipass Inc. Method and system of providing access point data associated with a network access point
US20040254999A1 (en) * 2003-06-13 2004-12-16 Bellsouth Intellectual Property Corporation System for providing content to multiple users
JP4278445B2 (ja) * 2003-06-18 2009-06-17 株式会社日立製作所 ネットワークシステム及びスイッチ
US7454569B2 (en) 2003-06-25 2008-11-18 Commvault Systems, Inc. Hierarchical system and method for performing storage operations in a computer network
US7475108B2 (en) * 2003-06-26 2009-01-06 International Business Machines Corporation Slow-dynamic load balancing method
US7685642B2 (en) * 2003-06-26 2010-03-23 Contentguard Holdings, Inc. System and method for controlling rights expressions by stakeholders of an item
US8437284B2 (en) 2003-07-29 2013-05-07 Citrix Systems, Inc. Systems and methods for additional retransmissions of dropped packets
US7698453B2 (en) * 2003-07-29 2010-04-13 Oribital Data Corporation Early generation of acknowledgements for flow control
US8238241B2 (en) 2003-07-29 2012-08-07 Citrix Systems, Inc. Automatic detection and window virtualization for flow control
US7656799B2 (en) 2003-07-29 2010-02-02 Citrix Systems, Inc. Flow control system architecture
US8432800B2 (en) 2003-07-29 2013-04-30 Citrix Systems, Inc. Systems and methods for stochastic-based quality of service
US9525566B2 (en) * 2003-07-31 2016-12-20 Cloudsoft Corporation Limited Self-managed mediated information flow
US7512679B2 (en) * 2003-08-29 2009-03-31 International Business Machines Corporation Apparatus and method to select a captain from a plurality of control nodes
US20080089347A1 (en) * 2003-08-29 2008-04-17 End Ii End Communications Inc. Systems and methods for broadband network optimization
US7715934B2 (en) 2003-09-19 2010-05-11 Macrovision Corporation Identification of input files using reference files associated with nodes of a sparse binary tree
US9584360B2 (en) * 2003-09-29 2017-02-28 Foundry Networks, Llc Global server load balancing support for private VIP addresses
US20050097185A1 (en) * 2003-10-07 2005-05-05 Simon Gibson Localization link system
US7356566B2 (en) * 2003-10-09 2008-04-08 International Business Machines Corporation Selective mirrored site accesses from a communication
US20050089014A1 (en) * 2003-10-27 2005-04-28 Macrovision Corporation System and methods for communicating over the internet with geographically distributed devices of a decentralized network using transparent asymetric return paths
US20050144242A1 (en) * 2003-10-31 2005-06-30 Justin Marston Caching in an electronic messaging system
US20050097593A1 (en) * 2003-11-05 2005-05-05 Michael Raley System, method and device for selected content distribution
CA2544063C (en) 2003-11-13 2013-09-10 Commvault Systems, Inc. System and method for combining data streams in pilelined storage operations in a storage network
WO2005050386A2 (en) 2003-11-13 2005-06-02 Commvault Systems, Inc. System and method for performing a snapshot and for restoring data
US7546324B2 (en) 2003-11-13 2009-06-09 Commvault Systems, Inc. Systems and methods for performing storage operations using network attached storage
US20050198168A1 (en) * 2003-12-04 2005-09-08 Justin Marston Messaging protocol discovery
US7895625B1 (en) * 2003-12-24 2011-02-22 Time Warner, Inc. System and method for recommending programming to television viewing communities
EP1787199A2 (de) * 2004-02-18 2007-05-23 Ipass, Inc. Verfahren und system zur verwaltung von trasaktionen in einem fernnetzzugangssystem
US7877810B2 (en) * 2004-03-02 2011-01-25 Rovi Solutions Corporation System, method and client user interface for a copy protection service
US7539862B2 (en) * 2004-04-08 2009-05-26 Ipass Inc. Method and system for verifying and updating the configuration of an access device during authentication
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
US20060064478A1 (en) * 2004-05-03 2006-03-23 Level 3 Communications, Inc. Geo-locating load balancing
US8089972B2 (en) 2004-05-03 2012-01-03 Level 3 Communications, Llc Registration redirect server
US7496651B1 (en) 2004-05-06 2009-02-24 Foundry Networks, Inc. Configurable geographic prefixes for global server load balancing
US7584301B1 (en) * 2004-05-06 2009-09-01 Foundry Networks, Inc. Host-level policies for global server load balancing
WO2005109794A1 (en) * 2004-05-12 2005-11-17 Bluespace Group Ltd Enforcing compliance policies in a messaging system
US20060031352A1 (en) * 2004-05-12 2006-02-09 Justin Marston Tamper-proof electronic messaging
US20060190549A1 (en) * 2004-07-23 2006-08-24 Kouichi Teramae Multi-media information device network system
EP1776638B1 (de) * 2004-08-12 2008-11-19 Telecom Italia S.p.A. System, verfahren und einrichtung zum aktualisieren eines datensatzes durch ein kommunikationsnetz
US7423977B1 (en) 2004-08-23 2008-09-09 Foundry Networks Inc. Smoothing algorithm for round trip time (RTT) measurements
US20060069700A1 (en) * 2004-09-22 2006-03-30 Justin Marston Generating relational structure for non-relational messages
US8613048B2 (en) 2004-09-30 2013-12-17 Citrix Systems, Inc. Method and apparatus for providing authorized remote access to application sessions
US7711835B2 (en) 2004-09-30 2010-05-04 Citrix Systems, Inc. Method and apparatus for reducing disclosure of proprietary data in a networked environment
US7748032B2 (en) 2004-09-30 2010-06-29 Citrix Systems, Inc. Method and apparatus for associating tickets in a ticket hierarchy
US7665116B2 (en) * 2004-10-27 2010-02-16 Arris Group, Inc. Network architecture for real time delivery of video over lossy networks from remote locations
US8346956B2 (en) 2004-10-29 2013-01-01 Akamai Technologies, Inc. Dynamic image delivery system
US20060107326A1 (en) * 2004-11-12 2006-05-18 Demartini Thomas Method, system, and device for verifying authorized issuance of a rights expression
US20060106726A1 (en) * 2004-11-18 2006-05-18 Contentguard Holdings, Inc. Method, system, and device for license-centric content consumption
US8660961B2 (en) 2004-11-18 2014-02-25 Contentguard Holdings, Inc. Method, system, and device for license-centric content consumption
US20060112015A1 (en) * 2004-11-24 2006-05-25 Contentguard Holdings, Inc. Method, system, and device for handling creation of derivative works and for adapting rights to derivative works
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
US8296441B2 (en) 2005-01-14 2012-10-23 Citrix Systems, Inc. Methods and systems for joining a real-time session of presentation layer protocol data
US8200828B2 (en) 2005-01-14 2012-06-12 Citrix Systems, Inc. Systems and methods for single stack shadowing
US8145777B2 (en) 2005-01-14 2012-03-27 Citrix Systems, Inc. Method and system for real-time seeking during playback of remote presentation protocols
US8935316B2 (en) 2005-01-14 2015-01-13 Citrix Systems, Inc. Methods and systems for in-session playback on a local machine of remotely-stored and real time presentation layer protocol data
US7831728B2 (en) 2005-01-14 2010-11-09 Citrix Systems, Inc. Methods and systems for real-time seeking during real-time playback of a presentation layer protocol data stream
US8340130B2 (en) 2005-01-14 2012-12-25 Citrix Systems, Inc. Methods and systems for generating playback instructions for rendering of a recorded computer session
US8230096B2 (en) 2005-01-14 2012-07-24 Citrix Systems, Inc. Methods and systems for generating playback instructions for playback of a recorded computer session
US20060159432A1 (en) 2005-01-14 2006-07-20 Citrix Systems, Inc. System and methods for automatic time-warped playback in rendering a recorded computer session
US8024568B2 (en) 2005-01-28 2011-09-20 Citrix Systems, Inc. Method and system for verification of an endpoint security scan
US7711794B2 (en) * 2005-02-01 2010-05-04 International Business Machines Corporation Adjusting timing between automatic, non-user-initiated pollings of server to download data therefrom
US8918515B1 (en) * 2005-02-10 2014-12-23 Symantec Corporation Interstitial redirection management
US7519074B2 (en) * 2005-02-22 2009-04-14 Level 3 Communications, Llc Voice call coordinator
US7436936B2 (en) * 2005-02-22 2008-10-14 Level 3 Communications, Llc VoIP call through tester
US20060282386A1 (en) * 2005-03-14 2006-12-14 Szeto Christopher T Method and system for premium access
US20080307339A1 (en) 2006-03-20 2008-12-11 Kidzui, Inc. Child-oriented computing system
US20060248573A1 (en) * 2005-04-28 2006-11-02 Content Guard Holdings, Inc. System and method for developing and using trusted policy based on a social model
GB0508946D0 (en) * 2005-04-30 2005-06-08 Ibm Method and apparatus for streaming data
US7647424B2 (en) * 2005-06-15 2010-01-12 Hostway Corporation Multi-level redirection system
US9450908B2 (en) * 2005-06-23 2016-09-20 Go Daddy Operating Company, LLC Routing DNS system and method for shared domain name
US20050289242A1 (en) * 2005-06-24 2005-12-29 The Go Daddy Group, Inc. Resolving access to content associated with shared domain name using routing website
US8706816B2 (en) * 2005-06-24 2014-04-22 Go Daddy Operating Company, LLC System and method for email delivery for shared domain name
US8601475B2 (en) 2005-08-02 2013-12-03 Aol Inc. Download and upload of email messages using control commands in a client/server web application
US7809943B2 (en) * 2005-09-27 2010-10-05 Rovi Solutions Corporation Method and system for establishing trust in a peer-to-peer network
WO2007041170A2 (en) * 2005-09-29 2007-04-12 Contentguard Holdings, Inc. System for digital rights management using advanced copy with issue rights and managed copy tokens
US8191008B2 (en) 2005-10-03 2012-05-29 Citrix Systems, Inc. Simulating multi-monitor functionality in a single monitor environment
US7720767B2 (en) * 2005-10-24 2010-05-18 Contentguard Holdings, Inc. Method and system to support dynamic rights and resources sharing
KR100772385B1 (ko) 2005-12-07 2007-11-01 삼성전자주식회사 분산 스토리지 시스템 상에서 컨텐트를 송수신하는 방법 및장치
US8661216B2 (en) 2005-12-19 2014-02-25 Commvault Systems, Inc. Systems and methods for migrating components in a hierarchical storage network
US7617262B2 (en) 2005-12-19 2009-11-10 Commvault Systems, Inc. Systems and methods for monitoring application data in a data replication system
EP1974296B8 (de) 2005-12-19 2016-09-21 Commvault Systems, Inc. System und verfahren zur durchführung einer datenreplikation
US7636743B2 (en) 2005-12-19 2009-12-22 Commvault Systems, Inc. Pathname translation in a data replication system
US7606844B2 (en) 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US7651593B2 (en) 2005-12-19 2010-01-26 Commvault Systems, Inc. Systems and methods for performing data replication
US7962709B2 (en) 2005-12-19 2011-06-14 Commvault Systems, Inc. Network redirector systems and methods for performing data replication
US8086722B2 (en) * 2005-12-21 2011-12-27 Rovi Solutions Corporation Techniques for measuring peer-to-peer (P2P) networks
US20070150600A1 (en) * 2005-12-22 2007-06-28 International Business Machines Corporation Method and apparatus for collecting data for characterizing HTTP session workloads
US8447837B2 (en) * 2005-12-30 2013-05-21 Akamai Technologies, Inc. Site acceleration with content prefetching enabled through customer-specific configurations
CN1997005B (zh) * 2006-01-06 2010-11-10 鸿富锦精密工业(深圳)有限公司 网络通信数据管控系统及方法
CN100377522C (zh) * 2006-01-11 2008-03-26 北京北方烽火科技有限公司 一种内容分发网络中oma下载的实现方法
US7716217B2 (en) * 2006-01-13 2010-05-11 Bluespace Software Corporation Determining relevance of electronic content
CN100458721C (zh) * 2006-02-17 2009-02-04 深圳奇峰创智科技有限公司 利用计算机网络自动备份的方法
WO2007118052A2 (en) * 2006-04-03 2007-10-18 Ebiz.Mobility Ltd Method for universal electronic payment processing
US8321523B1 (en) * 2006-04-24 2012-11-27 Centrify Corporation Method and apparatus for dynamically and incrementally modifying NIS maps
US8726242B2 (en) 2006-07-27 2014-05-13 Commvault Systems, Inc. Systems and methods for continuous data replication
US7610383B2 (en) * 2006-08-11 2009-10-27 Hewlett-Packard Development Company, L.P. Data-object-related-request routing in a dynamic, distributed data-storage system
US20080077524A1 (en) * 2006-09-25 2008-03-27 Greene Jeffrey Marc Global communication and transaction system and method
US8159457B2 (en) * 2006-09-27 2012-04-17 Yahoo! Inc. Zero-click activation of an application
US8533846B2 (en) 2006-11-08 2013-09-10 Citrix Systems, Inc. Method and system for dynamically associating access rights with a resource
JP4973145B2 (ja) * 2006-11-20 2012-07-11 船井電機株式会社 管理サーバ及びコンテンツ移動システム
ES2402829T3 (es) * 2006-12-20 2013-05-09 United Video Properties, Inc. Sistemas y métodos para proveer acceso remoto a aplicaciones de guía de medios interactiva
US8719809B2 (en) 2006-12-22 2014-05-06 Commvault Systems, Inc. Point in time rollback and un-installation of software
US8312323B2 (en) 2006-12-22 2012-11-13 Commvault Systems, Inc. Systems and methods for remote monitoring in a computer network and reporting a failed migration operation without accessing the data being moved
US8854652B2 (en) * 2007-01-26 2014-10-07 Samsung Electronics Co., Ltd. Host device and printing control method thereof
US20080208961A1 (en) * 2007-02-23 2008-08-28 Hostway Corporation Parallel retrieval system
US8290808B2 (en) 2007-03-09 2012-10-16 Commvault Systems, Inc. System and method for automating customer-validated statement of work for a data storage environment
US7760642B2 (en) 2007-03-12 2010-07-20 Citrix Systems, Inc. Systems and methods for providing quality of service precedence in TCP congestion control
US7796510B2 (en) 2007-03-12 2010-09-14 Citrix Systems, Inc. Systems and methods for providing virtual fair queueing of network traffic
US8028106B2 (en) 2007-07-06 2011-09-27 Proster Systems, Inc. Hardware acceleration of commonality factoring with removable media
US8615008B2 (en) 2007-07-11 2013-12-24 Foundry Networks Llc Duplicating network traffic through transparent VLAN flooding
US20090037963A1 (en) * 2007-08-02 2009-02-05 Youbiquity, Llc System for electronic retail sales of multi-media assets
WO2009045298A1 (en) * 2007-10-03 2009-04-09 Virtela Communications, Inc. Pandemic remote access design
US8248928B1 (en) 2007-10-09 2012-08-21 Foundry Networks, Llc Monitoring server load balancing
US20090106387A1 (en) * 2007-10-18 2009-04-23 Dorai Ashok Shanmugavel Anbalagan Cidr based caching at application layer
US8489731B2 (en) 2007-12-13 2013-07-16 Highwinds Holdings, Inc. Content delivery network with customized tracking of delivery data
EP2235642A4 (de) * 2007-12-13 2016-08-03 Highwinds Holdings Inc Inhaltsablieferungsnetzwerk
US20090189893A1 (en) 2008-01-27 2009-07-30 Petrov Julian Methods and systems for computing a hash from a three dimensional data set loaded into a resource
US8868741B2 (en) 2008-03-03 2014-10-21 Leapfrog Enterprises, Inc. Method and apparatus for custodial monitoring, filtering, and approving of content
US8521879B1 (en) 2008-03-11 2013-08-27 United Services Automobile Assocation (USAA) Systems and methods for a load balanced interior gateway protocol intranet
US8930538B2 (en) 2008-04-04 2015-01-06 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US10924573B2 (en) 2008-04-04 2021-02-16 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US9762692B2 (en) 2008-04-04 2017-09-12 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US8074049B2 (en) * 2008-08-26 2011-12-06 Nine Technology, Llc Online backup system with global two staged deduplication without using an indexing database
EP2329395A2 (de) * 2008-09-19 2011-06-08 Limelight Networks, Inc. Vignettenverteilung für einen inhaltsausgabe-netzwerkstreamserver
AU2010276462B1 (en) 2010-12-27 2012-01-12 Limelight Networks, Inc. Partial object caching
AU2010202034B1 (en) 2010-04-07 2010-12-23 Limelight Networks, Inc. Partial object distribution in content delivery network
JP5337879B2 (ja) * 2008-09-29 2013-11-06 株式会社東芝 複数のネットワークアクセスポイントの事前評価
US8316106B2 (en) * 2008-12-05 2012-11-20 At&T Intellectual Property Ii, Lp System and method for assigning requests in a content distribution network
US8204859B2 (en) 2008-12-10 2012-06-19 Commvault Systems, Inc. Systems and methods for managing replicated database data
US9495382B2 (en) 2008-12-10 2016-11-15 Commvault Systems, Inc. Systems and methods for performing discrete data replication
WO2010136699A2 (fr) * 2009-05-29 2010-12-02 France Telecom Technique de distribution d'un contenu vers un utilisateur
US9071526B2 (en) * 2009-06-22 2015-06-30 Citrix Systems, Inc. Systems and methods for platform rate limiting
KR101135087B1 (ko) * 2009-08-12 2012-04-16 삼성에스디에스 주식회사 콘텐츠 제공 시스템 및 방법
WO2011034956A2 (en) 2009-09-15 2011-03-24 Comcast Cable Communications, Llc Dynamic content packaging
WO2011071850A2 (en) * 2009-12-07 2011-06-16 Coach Wei System and method for website performance optimization and internet traffic processing
US8504517B2 (en) 2010-03-29 2013-08-06 Commvault Systems, Inc. Systems and methods for selective data replication
US8352422B2 (en) 2010-03-30 2013-01-08 Commvault Systems, Inc. Data restore systems and methods in a replication environment
US8725698B2 (en) 2010-03-30 2014-05-13 Commvault Systems, Inc. Stub file prioritization in a data replication system
US8504515B2 (en) 2010-03-30 2013-08-06 Commvault Systems, Inc. Stubbing systems and methods in a data replication environment
US9049247B2 (en) 2010-04-01 2015-06-02 Cloudfare, Inc. Internet-based proxy service for responding to server offline errors
US8370940B2 (en) 2010-04-01 2013-02-05 Cloudflare, Inc. Methods and apparatuses for providing internet-based proxy services
US8572038B2 (en) 2010-05-28 2013-10-29 Commvault Systems, Inc. Systems and methods for performing data replication
EP2583211B1 (de) 2010-06-15 2020-04-15 Oracle International Corporation Virtuelle berechnungsinfrastruktur
US10715457B2 (en) 2010-06-15 2020-07-14 Oracle International Corporation Coordination of processes in cloud computing environments
KR101753195B1 (ko) * 2010-07-27 2017-07-19 아주대학교산학협력단 통신 시스템에서 세션 연결 제어 장치 및 방법
US8639748B2 (en) 2010-09-01 2014-01-28 Edgecast Networks, Inc. Optimized content distribution based on metrics derived from the end user
US8549148B2 (en) 2010-10-15 2013-10-01 Brocade Communications Systems, Inc. Domain name system security extensions (DNSSEC) for global server load balancing
US9021198B1 (en) 2011-01-20 2015-04-28 Commvault Systems, Inc. System and method for sharing SAN storage
EP2506618B1 (de) * 2011-03-28 2019-08-28 BlackBerry Limited Kommunikationssystem mit zuverlässigem Server zur Prüfung eines Umlenkungsverfahrens und zugehörige Verfahren
US8949349B2 (en) 2011-03-28 2015-02-03 Blackberry Limited Communications system including trusted server to verify a redirection request and associated methods
US8584211B1 (en) 2011-05-18 2013-11-12 Bluespace Software Corporation Server-based architecture for securely providing multi-domain applications
US8285808B1 (en) 2011-05-20 2012-10-09 Cloudflare, Inc. Loading of web resources
US9201895B2 (en) 2011-06-03 2015-12-01 Apple Inc. Management of downloads from a network-based digital data repository based on network performance
US8510807B1 (en) 2011-08-16 2013-08-13 Edgecast Networks, Inc. Real-time granular statistical reporting for distributed platforms
EP2560344B8 (de) * 2011-08-18 2018-06-27 Apple Inc. Verwaltung von Downloads über einen netzwerkbasierten digitalen Datenspeicher basierend auf Netzwerkleistung
US8615159B2 (en) 2011-09-20 2013-12-24 Citrix Systems, Inc. Methods and systems for cataloging text in a recorded session
US8738766B1 (en) 2011-11-01 2014-05-27 Edgecast Networks, Inc. End-to-end monitoring and optimization of a content delivery network using anycast routing
US8745177B1 (en) 2011-11-01 2014-06-03 Edgecast Networks, Inc. End-to-end monitoring and optimization of a content delivery network using anycast routing
KR20130051811A (ko) * 2011-11-10 2013-05-21 삼성전자주식회사 엑세스 포인트 선택 장치 및 방법
JP6460798B2 (ja) 2012-02-10 2019-01-30 オラクル・インターナショナル・コーポレイション クラウドコンピューティングサービスフレームワーク
US9298715B2 (en) 2012-03-07 2016-03-29 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9471578B2 (en) 2012-03-07 2016-10-18 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9342537B2 (en) 2012-04-23 2016-05-17 Commvault Systems, Inc. Integrated snapshot interface for a data storage system
CN103384214A (zh) * 2012-05-04 2013-11-06 深圳富泰宏精密工业有限公司 网络侦测系统及方法
US20130346624A1 (en) * 2012-06-20 2013-12-26 Steven Chervets Dynamic media throttling based on data quotas
US9336226B2 (en) 2013-01-11 2016-05-10 Commvault Systems, Inc. Criteria-based data synchronization management
US9886346B2 (en) 2013-01-11 2018-02-06 Commvault Systems, Inc. Single snapshot for multiple agents
US10225135B2 (en) * 2013-01-30 2019-03-05 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Provision of management information and requests among management servers within a computing network
US10027586B2 (en) * 2013-03-15 2018-07-17 Star2Star Communications, LLC Network address family translation method and system
CN104079614B (zh) * 2013-03-29 2017-09-12 国际商业机器公司 用于分布式发布订阅系统消息有序获取的方法和系统
EP3032807B1 (de) * 2013-08-08 2019-12-18 Ricoh Company, Ltd. Programm, verfahren zur beurteilung der kommunikationsqualität, informationsverarbeitungsvorrichtung, system zur beurteilung der kommunikationsqualität und speichermedium
US9565138B2 (en) 2013-12-20 2017-02-07 Brocade Communications Systems, Inc. Rule-based network traffic interception and distribution scheme
US9495251B2 (en) 2014-01-24 2016-11-15 Commvault Systems, Inc. Snapshot readiness checking and reporting
US9632874B2 (en) 2014-01-24 2017-04-25 Commvault Systems, Inc. Database application backup in single snapshot for multiple applications
US9639426B2 (en) 2014-01-24 2017-05-02 Commvault Systems, Inc. Single snapshot for multiple applications
US9753812B2 (en) 2014-01-24 2017-09-05 Commvault Systems, Inc. Generating mapping information for single snapshot for multiple applications
US9648542B2 (en) 2014-01-28 2017-05-09 Brocade Communications Systems, Inc. Session-based packet routing for facilitating analytics
US9633128B2 (en) 2014-03-13 2017-04-25 Go Daddy Operating Company, LLC Lightweight web page generation
US11553018B2 (en) 2014-04-08 2023-01-10 Comcast Cable Communications, Llc Dynamically switched multicast delivery
US9660933B2 (en) 2014-04-17 2017-05-23 Go Daddy Operating Company, LLC Allocating and accessing hosting server resources via continuous resource availability updates
US9501211B2 (en) 2014-04-17 2016-11-22 GoDaddy Operating Company, LLC User input processing for allocation of hosting server resources
US10042716B2 (en) 2014-09-03 2018-08-07 Commvault Systems, Inc. Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent
US9774672B2 (en) 2014-09-03 2017-09-26 Commvault Systems, Inc. Consolidated processing of storage-array commands by a snapshot-control media agent
US9648105B2 (en) 2014-11-14 2017-05-09 Commvault Systems, Inc. Unified snapshot storage management, using an enhanced storage manager and enhanced media agents
US9448731B2 (en) 2014-11-14 2016-09-20 Commvault Systems, Inc. Unified snapshot storage management
US10659423B2 (en) 2014-12-19 2020-05-19 Go Daddy Operating Company, LLC System and method for modifying a domain name system template
US10164933B2 (en) 2014-12-19 2018-12-25 Go Daddy Operating Company, LLC System and method for domain name system restore points
US9898213B2 (en) 2015-01-23 2018-02-20 Commvault Systems, Inc. Scalable auxiliary copy processing using media agent resources
US9904481B2 (en) 2015-01-23 2018-02-27 Commvault Systems, Inc. Scalable auxiliary copy processing in a storage management system using media agent resources
US10009406B2 (en) * 2015-02-09 2018-06-26 Verizon Patent And Licensing Inc. Incentivized sharing for toll-free data
US9866478B2 (en) 2015-03-23 2018-01-09 Extreme Networks, Inc. Techniques for user-defined tagging of traffic in a network visibility system
US10771475B2 (en) 2015-03-23 2020-09-08 Extreme Networks, Inc. Techniques for exchanging control and configuration information in a network visibility system
US10911353B2 (en) 2015-06-17 2021-02-02 Extreme Networks, Inc. Architecture for a network visibility system
US10129088B2 (en) 2015-06-17 2018-11-13 Extreme Networks, Inc. Configuration of rules in a network visibility system
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US10530688B2 (en) 2015-06-17 2020-01-07 Extreme Networks, Inc. Configuration of load-sharing components of a network visibility router in a network visibility system
US10057126B2 (en) 2015-06-17 2018-08-21 Extreme Networks, Inc. Configuration of a network visibility system
US10454796B2 (en) * 2015-10-08 2019-10-22 Fluke Corporation Cloud based system and method for managing messages regarding cable test device operation
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
CN105577830A (zh) * 2016-02-02 2016-05-11 明博教育科技股份有限公司 一种基于统计的下载列表优选方法和系统
US10091075B2 (en) 2016-02-12 2018-10-02 Extreme Networks, Inc. Traffic deduplication in a visibility network
US10503753B2 (en) 2016-03-10 2019-12-10 Commvault Systems, Inc. Snapshot replication operations based on incremental block change tracking
US10999200B2 (en) 2016-03-24 2021-05-04 Extreme Networks, Inc. Offline, intelligent load balancing of SCTP traffic
US10567259B2 (en) 2016-10-19 2020-02-18 Extreme Networks, Inc. Smart filter generator
US10263951B2 (en) * 2017-01-09 2019-04-16 Star2Star Communications, LLC Network address family translation method and system
US10200745B2 (en) 2017-03-06 2019-02-05 Cisco Technology, Inc. System and method for cloud digital video recorders
US11010261B2 (en) 2017-03-31 2021-05-18 Commvault Systems, Inc. Dynamically allocating streams during restoration of data
US10476837B2 (en) * 2017-06-19 2019-11-12 Saudi Arabian Oil Company IPV4 addressing schema design methodology using a visual interactive tool
US10740022B2 (en) 2018-02-14 2020-08-11 Commvault Systems, Inc. Block-level live browsing and private writable backup copies using an ISCSI server
US11042318B2 (en) 2019-07-29 2021-06-22 Commvault Systems, Inc. Block-level data replication
CN111273935A (zh) * 2020-03-16 2020-06-12 上海商魁信息科技有限公司 一种终端查询所属云端管理后台的方法及终端
US11025710B1 (en) * 2020-10-26 2021-06-01 Verizon Digital Media Services Inc. Systems and methods for dynamic load balancing based on server utilization and content popularity
US11809285B2 (en) 2022-02-09 2023-11-07 Commvault Systems, Inc. Protecting a management database of a data storage management system to meet a recovery point objective (RPO)

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN86107645A (zh) * 1986-11-11 1988-05-25 美国电话电报公司 计算机网络中传送资源信息的方法
CA1341310C (en) * 1988-07-15 2001-10-23 Robert Filepp Interactive computer network and method of operation
US5341477A (en) * 1989-02-24 1994-08-23 Digital Equipment Corporation Broker for computer network server selection
ATE151183T1 (de) * 1989-02-24 1997-04-15 Digital Equipment Corp Makler für die auswahl von rechnernetzwerkservern
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5511177A (en) * 1991-11-21 1996-04-23 Hitachi, Ltd. File data multiplexing method and data processing system
JPH0766829A (ja) * 1993-06-30 1995-03-10 Kawasaki Steel Corp 電子メール多重化システムおよび該システムにおける通信制御方法
US6185619B1 (en) 1996-12-09 2001-02-06 Genuity Inc. Method and apparatus for balancing the process load on network servers according to network and serve based policies
JPH0844638A (ja) * 1994-08-01 1996-02-16 Nippon Telegr & Teleph Corp <Ntt> マルチメディアサービス提供方式及びマルチメディアサービス提供方法
JP3452410B2 (ja) * 1994-12-06 2003-09-29 日本電信電話株式会社 仮想空間データ転送方法
US5920701A (en) * 1995-01-19 1999-07-06 Starburst Communications Corporation Scheduling data transmission
US6181867B1 (en) 1995-06-07 2001-01-30 Intervu, Inc. Video storage and retrieval system
US5734865A (en) * 1995-06-07 1998-03-31 Bull Hn Information Systems Inc. Virtual local area network well-known port routing mechanism for mult--emulators in an open system environment
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
US5764899A (en) * 1995-11-13 1998-06-09 Motorola, Inc. Method and apparatus for communicating an optimized reply
US6473609B1 (en) * 1995-12-11 2002-10-29 Openwave Systems Inc. Method and architecture for interactive two-way communication devices to interact with a network
US5751961A (en) * 1996-01-31 1998-05-12 Bell Communications Research, Inc. Integrated internet system for translating logical addresses of internet documents to physical addresses using integrated service control point
US5894554A (en) 1996-04-23 1999-04-13 Infospinner, Inc. System for managing dynamic web page generation requests by intercepting request at web server and routing to page server thereby releasing web server to process other requests
US5901214A (en) * 1996-06-10 1999-05-04 Murex Securities, Ltd. One number intelligent call processing system
US6134583A (en) 1996-07-01 2000-10-17 Sun Microsystems, Inc. Method, system, apparatus and article of manufacture for providing identity-based caching services to a plurality of computer systems (#16)
US5793970A (en) * 1996-07-11 1998-08-11 Microsoft Corporation Method and computer program product for converting message identification codes using a conversion map accesible via a data link
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US6272523B1 (en) * 1996-12-20 2001-08-07 International Business Machines Corporation Distributed networking using logical processes
US6424992B2 (en) * 1996-12-23 2002-07-23 International Business Machines Corporation Affinity-based router and routing method
US5889470A (en) * 1996-12-24 1999-03-30 Paradyne Corporation Digital subscriber line access device management information base
US6052718A (en) 1997-01-07 2000-04-18 Sightpath, Inc Replica routing
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
US5898850A (en) * 1997-03-31 1999-04-27 International Business Machines Corporation Method and system for executing a non-native mode-sensitive instruction within a computer system
WO1998044733A1 (en) * 1997-03-31 1998-10-08 Broadband Associates Method and system for providing a presentation on a network
US5893091A (en) * 1997-04-11 1999-04-06 Immediata Corporation Multicasting with key words
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
US6119143A (en) * 1997-05-22 2000-09-12 International Business Machines Corporation Computer system and method for load balancing with selective control
US6173399B1 (en) * 1997-06-12 2001-01-09 Vpnet Technologies, Inc. Apparatus for implementing virtual private networks
US5983227A (en) * 1997-06-12 1999-11-09 Yahoo, Inc. Dynamic page generator
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
US6230196B1 (en) 1997-11-12 2001-05-08 International Business Machines Corporation Generation of smart HTML anchors in dynamic web page creation
US6178160B1 (en) 1997-12-23 2001-01-23 Cisco Technology, Inc. Load balancing of client connections across a network using server based algorithms
US6185598B1 (en) 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6175917B1 (en) * 1998-04-23 2001-01-16 Vpnet Technologies, Inc. Method and apparatus for swapping a computer operating system
US6144996A (en) 1998-05-13 2000-11-07 Compaq Computer Corporation Method and apparatus for providing a guaranteed minimum level of performance for content delivery over a network
US6115752A (en) 1998-05-21 2000-09-05 Sun Microsystems, Inc. System and method for server selection for mirrored sites
US6108703A (en) * 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
US6799248B2 (en) * 2000-09-11 2004-09-28 Emc Corporation Cache management system for a network data node having a cache memory manager for selectively using different cache management methods
US7039627B1 (en) * 2000-12-22 2006-05-02 Nortel Networks Limited Method and apparatus for performing a radix search by selecting one of a valid table and a transition table

Also Published As

Publication number Publication date
EP0990205A1 (de) 2000-04-05
US20050063401A1 (en) 2005-03-24
US20080201488A1 (en) 2008-08-21
AU8153998A (en) 1999-01-04
CN1264476A (zh) 2000-08-23
US7366793B2 (en) 2008-04-29
DE69835674D1 (de) 2006-10-05
US6112239A (en) 2000-08-29
US6799221B1 (en) 2004-09-28
EP0990205B1 (de) 2006-08-23
CA2294149A1 (en) 1998-12-23
JP2002506543A (ja) 2002-02-26
CN1109298C (zh) 2003-05-21
JP4968975B2 (ja) 2012-07-04
WO1998058315A9 (en) 1999-04-08
WO1998058315A1 (en) 1998-12-23

Similar Documents

Publication Publication Date Title
DE69835674T2 (de) System und verfahren zur serverseitigen optimierung von datenübermittlung in einem verteilten rechnernetz
DE69834807T2 (de) System und verfahren zum auswählen und laden verschiedener typen von videodaten in einem computernetzwerk
US9807160B2 (en) Autonomic content load balancing
DE69909839T2 (de) Optimierte Lokalisierung von Netzwerkbetriebsmittel
US20030145007A1 (en) System and method for optimized storage and retrieval of data on a distributed computer network
DE60108861T2 (de) Gerät und verfahren zur überwachung der netzwerkauslastung
CA2413943C (en) Viewer object proxy
DE602005003449T2 (de) Verbesserte benutzerschnittstelle
JP2001502830A (ja) 分散型コンピュータネットワーク上における、最適化されたデータ記憶および検索のためのシステムおよび方法
EP1287650A2 (de) Selektive weglenkung
JP2004509485A (ja) リバースコンテンツハーベスタ
JP2004509381A (ja) 自己発行ネットワークディレクトリ
DE60109947T2 (de) Verfahren zur Server-Auswahl in einem Inhaltsauslieferungsnetzwerk
US20020091792A1 (en) Method and apparatus for client sharing of cached content
CA2410863A1 (en) Client side address routing analysis

Legal Events

Date Code Title Description
8364 No opposition during term of opposition