-
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.