-
Die
Erfindung betrifft ein System und ein Verfahren für die Speicherung
und den Abruf verteilter Daten und insbesondere ein System und ein
Verfahren, bei dem ein Benutzer Netzwerkleistungsinformationen für ein dynamisches
und verteiltes Mehrzweck-Netzwerk
erlangen kann und diese Informationen nutzen kann, um optimale Abgabe-Sites oder Server,
von denen Computerdaten empfangen werden sollen, insbesondere Multimedia-Content,
zu identifizieren und auszuwählen
und um die besondere Art von Multimedia-Content auszuwählen, die
der Benutzer betrachten kann. Solche Abgabe-Sites, Server und Content-Arten werden
ausgewählt,
um die Netzwerkkapazität
zu erhöhen,
um die Serverlast zu verteilen, um Übertragungsverzögerung zwischen dem
Server und dem Benutzer zu reduzieren und um Hindernisse beim Betrachten
des Multimedia-Content zu reduzieren.
-
HINTERGRUND
DER ERFINDUNG
-
Das
Internet ist ein loses Netzwerk von verbundenen Computern, das über die
gesamte Welt ausgebreitet ist. Eine Nachricht kann von einem beliebigen
Computer an dem Internet zu einem beliebigen anderen Computer gesendet
werden, indem eine Zieladresse eingegeben und die Nachricht über eine
Reihe von „Sprüngen" von Computer zu
Computer übergeben
wird. Jeder Computer, Router oder „Knoten" an dem Internet hat eine eindeutige
Internetadresse. Wenn ein Zwischencomputer oder ein Zwischenrouter
eine Nachricht im Durchgang empfängt,
prüft der
Computer die vorgesehene Zieladresse der Nachricht und leitet sie
dementsprechend weiter.
-
Das
Internet weitet sich mit großer
Geschwindigkeit aus, sowohl in Bezug auf seine Größe als auch
auf seine technische Ausgereiftheit und Leistungsstärke. In
der Vergangenheit waren die Mehrzahl der Benutzer des Internet Akademiker,
Forscher oder institutionelle Benutzer; das Internet wurde damals
vorrangig verwendet, um elektronische Post und Netzwerknachrichten
zu versenden und zu empfangen und um die Übertragung von Computerdateien
zu ermöglichen.
Seit der Einführung
des World Wide Web (auch als das „Web" oder als „WWW" bekannt) vor einigen Jahren hat das
Internet jedoch begonnen, zunehmende Mengen von anderen Arten von
Daten von allgemeinem Interesse aufzunehmen, nämlich Darstellungen von Bildern,
Artikeln u.s.w.
-
Das
Webprotokoll und die Websprache bilden grafische Mittel zum Navigieren
der weiten Räume
des Internet. „Webseiten", die häufig aus
Textmaterial und grafischem Material bestehen, werden auf zahlreichen
Computern in dem gesamten Internet gespeichert, die als „Webserver" bekannt sind. Ein als „Browser" bekanntes Softwareprogramm
kann verwendet werden, um über
das Internet auf Webseiten zuzugreifen und diese zu betrachten,
indem die Zieladresse (das heißt
die Internetadresse) der gewünschten
Webseite eingegeben wird. Wenn auf eine Webseite zugegriffen wird,
werden deren Informationen von dem Ferncomputer (Server oder Abgabe-Site),
der an einem beliebigen Ort in der Welt belegen sein kann, über das
Internet zu dem Benutzer übertragen.
-
In
jüngster
Vergangenheit hat das Web begonnen, technisch sehr ausgereifte Arten
von Multimedia-Content aufzunehmen, wie zum Beispiel Audio- und
Videodaten, Videoclips und Computersoftware. Im Vergleich zu der
ersten Generation von Web-Content,
nämlich
Text und Standbildern, weisen Audioclips, Videoclips und Softwareprogramme äußerst hohe
Speicheranforderungen und Bandbreitenanforderungen auf.
-
Bevor
ein Videoclip über
ein Computernetzwerk übertragen
werden kann, muss der Clip digitalisiert werden, indem das Analogsignal
des Videos zu „1" und „0" verschlüsselt wird.
Um die Bandbreite, die für
die Übertragung
des digitalisierten Videos erforderlich ist, zu reduzieren, wird
der Videodatenstrom häufig
komprimiert. Videokomprimierung ist ein Verfahren, durch das redundante
Daten aus dem Videodatenstrom eliminiert werden, so dass die Gesamtgröße des Datenstroms
reduziert wird. Es gibt zahlreiche verschiedene Komprimierungsformate,
die zur Reduzierung der Videodatenströme verwendet werden, wie zum
Beispiel MPEG, JPEG, H261, Indeo, Cinepak, AVI, Quicktime, TrueMotion
und Wavelet.
-
Videoclips,
die in einem komprimierten Format empfangen werden, müssen dekomprimiert
werden, bevor sie betrachtet werden können. Dekomprimierung eines
Videos wird häufig
durch ein Videoplayer-Programm „CODEC" oder einen Komprimie rer/Dekomprimierer
durchgeführt,
die sich häufig
an dem Multimedia-Endgerät
des Benutzers befinden. Im Allgemeinen kann ein einzelnes CODEC-Programm
nur ein einzelnes Komprimierungsformat erkennen und dekomprimieren.
-
Wenn
ein Videoclip zur Übertragung
in einem Format gespeichert ist, das durch das CODEC an einem Benutzer-Endgerät dekomprimiert
werden kann, kann die Abgabe des Videoclips an den Benutzer reibungslos
ablaufen. Dies ist üblicherweise
der Fall, bei dem ein Abonnementdienst die Video-Abgabe über ein
begrenztes Netzwerk bereitstellt. Der Dienst stellt einem teilnehmenden
Benutzer einen bevorzugten CODEC zur Verfügung und speichert Videoclips
in dem komprimierten Format, das den zur Verfügung gestellten CODEC erkennt.
-
Wenn
ein Dienst jedoch beginnt, Videoclips über das Internet zur Verfügung zu
stellen, ist es jedoch wahrscheinlicher, dass Videoclips von einem nicht
teilnehmenden Benutzer, dessen Multimedia-Endgerät nicht den bevorzugten CODEC
des Anbieters aufweist, angefordert werden. Wenn der Benutzer in
diesem Fall die Videoclips betrachten möchte, muss er ein CODEC-Programm,
das den gewünschten
Videoclip dekomprimieren kann, erwerben oder herunterladen. Wie
Videoclip-Dateien auch, können
CODEC-Programmdateien große
Dateien sein, die lange Zeit für
das Herunterladen benötigen. Darüber hinaus
kann es schwierig, zeitaufwändig oder
unbequem sein, ein CODEC-Programm auf dem Multimedia-Endgerät zu installieren.
Wenn der Benutzer gezwungen ist, ein CODEC-Programm herunterzuladen,
bevor er eine Videodatei wiedergeben kann, wird er gegebenenfalls
davon absehen, den Abruf dieses besonderen Videos weiter zu betreiben.
-
Gegenwärtig ist
es schwierig, wenn nicht sogar unmöglich, nachhaltig schnelle Übertragung
von großen
Audio-/Video-Dateien über
eine Verbindung mit mehreren Knoten am Internet bereitzustellen.
Da die Daten oft über
große
Entfernungen übertragen werden,
können
zahlreiche Faktoren Verzögerung oder
sogar Verlust der gesamten oder von Teilen der Übertragung verursachen. Es
ist im Allgemeinen nicht kritisch, wenn ein Benutzer geringfügigere Verzögerungen
bei dem Empfang kleiner grafischer Dateien oder Textdateien erlebt.
Anerkanntermaßen
bestehen bei Echtzeitdaten, wie zum Beispiel Videodaten, sehr konkrete
und strenge Zeitanforderungen für die
Datenübertragung
und Datenanzeige.
-
Leider
beruht die gegenwärtige
Auslegung von herkömmlichen
Internet-artigen Datennetzwerken auf dem Prinzip, dass Verzögerungen
und signifikante Schwankungen der Datenübertragungsgeschwindigkeit
für normale
Daten (wie zum Beispiel Textdaten oder Standbilddaten) annehmbar
sind. Demzufolge und wegen des hohen Wertes des Ermöglichens
von Zugang zu Textinformationen und grafischen Informationen von
Orten in der ganzen Welt gelten die genannten Übertragungsfehler als annehmbar,
und die Grundkapazität
des Internet ist etwas „überzeichnet", um die Datenübertragungskosten
zu senken. Mit anderen Worten ist die Aktualität der Netzwerk-Datenübertragung
wesentlich kompromittiert worden, um die Gesamtkosten von Fernkommunikationsverbindungen
relativ gering zu halten.
-
Um
Audio-/Video-Daten erfolgreich über nachrichtenorientierte
Netzwerke, wie zum Beispiel das Internet, zu übertragen, müssen für mehr als
nur einige Benutzer Netzwerkressourcen bereitgestellt werden, um
die Aktualität
der Übertragung
zu unterstützen.
Ein System, das bereitgestellte Netzwerkressourcen nutzt, kann im
Allgemeinen den Vorteil vorhandener Preisbildungssysteme von gemeinsamen
Netzwerken, wie zum Beispiel dem Internet, nicht nutzen, da es sich
nicht an der gemeinsamen Nutzung von Netzwerkressourcen auf der
Basis von einzelnen Datenpaketen beteiligen kann. Videodaten müssen unter
Ausschluss von Daten niedriger Priorität übertragen werden. Die Übertragungskosten
werden somit signifikant, insbesondere wenn es sich um eine „Fernverbindung" handelt oder wenn
die Verbindung über
einen längeren
Zeitraum vorgehalten wird.
-
Eine
weitere Konsequenz der Berücksichtung
von Aktualität
auf Kosten höherer
Kosten wie oben diskutiert ist die scheinbar ungeordnete topografische
Auslegung des Netzwerkes gewesen. Da Verzögerungen und Durchsatzschwankungen
traditionell mit der Begründung
niedriger Kosten entschuldigt worden sind, ist auch die Konfiguration
der Internet-Infrastruktur durch Kostenüberlegungen angetrieben worden.
Dementsprechend ist die Verbindungsleistung des Netzwerkes selten
eine Überlegung
gewesen. Das schnelle Wachstum von Echtzeitdaten ändert diese
Anforderung nun.
-
Anerkanntermaßen wird
ungenügende
Datenübertragungsleistung
von zeitempfindlichen Daten am Internet typischerweise durch vier
Faktoren verursacht: Paketver lust, übermäßige Servernutzung, die relativ
geringe Kapazität
der Netzwerk-Infrastruktur und inhärente Verzögerungen in der Netzwerk-Hardware.
Paketverlust wird insbesondere durch ungenügende Infrastruktur und ungenügende Robustheit
des Routings verursacht. Die inhärenten Verzögerungen
werden wahrscheinlich unter anderem durch ungenügende Flusssteuerung zwischen benachbarten
Knoten in einem Pfad mit mehreren Knoten am Internet verursacht.
-
Im
Gegensatz zu kleineren Textdateien und grafischen Dateien können relativ
große
Videodateien mehrere Minuten (oder mehr) von „Strömen" oder konstantem Datenfluss benötigen. Demzufolge
werden die üblichen
Probleme mit der Netzwerkleistung verschärft. Die Netzwerk-Bandbreite
oder Datenträgerleistung
eines jeweiligen Netzwerkes wird begrenzt. Somit erhöhen sich
Paketverlust und Verzögerungen.
Lange Abgabezeiten verbrauchen über lange
Zeit eine große
Serverkapazität,
wodurch die den Benutzern zur Verfügung stehenden Ressourcen reduziert
werden. Da die Netzwerk-Infrastruktur
dementsprechend in zunehmendem Maße überlastet wird, erhöhen sich
Paketverlust und Verzögerungen weiter,
steigen die Übertragungszeiten
und die Serverlasten weiter an.
-
Dieses
Muster zeigt beispielhaft eine „Abwärtsspirale" von Netzwerkleistung, die durch die versuchte Übertragung
von großen
Datendateien, wie zum Beispiel Videoclips, angetrieben werden kann.
Solange der Netzwerkverkehr innerhalb der durch die Netzwerk-Bandbreite
gesetzten Grenzen bleibt, wird die Netzwerkleistung annehmbar bleiben. Jedes
Mal, wenn Spitzen-Netzwerklasten jedoch die Kapazität übersteigen,
wird die beschriebene Abwärtsspirale
erneut beginnen, wodurch zunehmende Perioden schlechter Netzwerkleistung
verursacht werden.
-
Wie
weiter oben diskutiert wurde, kann ein Browser-Programm genutzt
werden, um über
das Internet auf Webseiten zuzugreifen und diese zu betrachten,
indem die Zieladresse (das heißt
die Internetadresse) der gewünschten
Webseite eingegeben wird oder, was verbreiteter ist, indem über automatische
Verknüpfungen
auf Webseiten zugegriffen wird. Häufig genutzte Browser sind
Lynx, NCSA Mosaic, Netscape Navigator und der Microsoft Internet
Explorer. Die gewünschte
Webseite wird durch einen Uniform Resource Locator („URL", ein Adressierungssystem)
angegeben, der die genaue Zielad resse der Datei unter Verwendung
der Syntax http://internet.address/directory/filename.html angibt.
-
Webseiten
werden normalerweise in Bezug auf Layout und Content mittels einer
als „HTML" (Hyper Text Markup
Language) bekannten Sprache beschrieben. Ein konkreter mit dem Internet
verbundener Computer kann eine Webseite oder mehrere Webseiten,
das heißt
Computerdateien im HTML-Format, zwecks Zugriff durch Benutzer speichern.
-
Automatische
Verknüpfung
von einer HTML-Webseite zu einer anderen wird wie folgt erzielt.
Der Benutzer greift zuerst auf eine Webseite mit einer bekannten
Adresse, die oft auf dem Computer an dem ISP (Internet Service Provider,
Internetdienstleister) des Benutzer belegen ist, zu. Der ISP ist
die Organisation, die Internetkonnektivität für den Benutzer bereitstellt.
Diese Webseite kann zusätzlich zu
Textdaten und Bilddaten, die in dem HTML-Format spezifiziert sind, „Links" oder eingebettete
Informationen (in Form von URLs) enthalten, die auf die Internetadresse
anderer Webseiten hinweisen, die sich häufig auf anderen Computern
in dem gesamten Internet befinden. Der Benutzer kann danach auf
andere Webseiten zugreifen, die wiederum weitere Daten und/oder
zusätzliche
Links enthalten können,
indem ein Link ausgewählt
wird (häufig
durch Zeigen und Klicken mit einer Maus).
-
Verschiedene
Erweiterungen zu HTML, wie zum Beispiel die Markierung EMBED von
Netscape, ermöglichen
Verweise auf andere Daten, die in Webseiten eingebettet sind. Einige
Browser sind nicht in der Lage, andere Daten als Textdaten und Bilddaten
zu handhaben. Andere Browser können die
Daten auf verschiedene Arten handhaben. NCSA Mosaic zum Beispiel
handhabt Verweise auf unbekannte Arten von Daten, indem zugelassen
wird, dass die Daten auf den Computer des Benutzers heruntergeladen
werden und indem danach wahlweise ein externes Programm aufgerufen
wird, um die Daten anzusehen oder zu bearbeiten. Jüngste Versionen
des Netscape Navigator und des Microsoft Internet Explorer führen dieses
Konzept noch einen Schritt weiter: eine Browser-Erweiterung oder
ein „Plug-in" kann automatisch
aufgerufen werden, um die Daten zu handhaben, wenn diese von einer Fern-Webseite
empfangen werden. Andere Mittel, wie zum Beispiel in der Sprache
Java (oder in einer ähnlichen
Sprache) ge schriebene Netzwerkprogramm-„Applets", können
genutzt werden, um die Funktionalität der Browser-Umgebung oder
eines Netzwerkes zu erweitern.
-
Digitale
Multimediadaten können äußerst hohe
Speicher- und Bandbreiten-Anforderungen
aufweisen. Insbesondere können
Videodateien sehr groß sein,
von etwa zehn Megabyte bis zehn Gigabyte. Um Videodateien mit Geschwindigkeiten,
die sich an ihre Aufzeichnungsgeschwindigkeiten annähern, an
dem Endgerät
des Benutzers wiedergeben zu können,
müssen
die Dateien mit einer hohen konstanten Geschwindigkeit abgegeben
werden. Ist die Wiedergabe zu langsam, wird das Bild langsamer wiedergegeben,
als es ursprünglich
aufgezeichnet wurde. Wenn die Geschwindigkeit ungleichmäßig ist, erscheint
das Video ruckartig, wie ein alter Spielfilm.
-
Die
oben diskutierten Zugeständnisse
in der Netzwerk-Auslegung haben im Allgemeinen eine nachteilige
Auswirkung auf die Übertragung
von Audio- und Videodaten über
das Internet. Während
ein Benutzer, der einen Browser nutzt, um in dem Web zu „surfen", geringfügigere Verzögerungen
und Schwankungen der Übertragungsgeschwindigkeit während des
Abrufens von Text und Standbildern gegebenenfalls überhaupt
nicht wahrnimmt, werden solche Fehler offensichtlich und signifikant,
wenn auf Echtzeit-Audio- und Echtzeit-Video-Informationen zugegriffen
wird.
-
In
einem Versuch, diese Probleme zu lösen, verbreiten Internet-Content-Anbieter
mitunter beliebten Content um das Internet auf verschiedenen Servern
oder Abgabe-Sites,
die als „Spiegel-Sites" bekannt sind. Jede
Spiegel-Site enthält
Informationen, die im Wesentlichen identisch mit denen der Original-Site
sind. Wenn zum Beispiel eine beliebte Website in New York belegen
ist, können
sich Spiegel-Sites in Los Angeles, in London und in Tokio befinden. Wenn
dementsprechend ein europäischer
Benutzer Schwierigkeiten hat, auf die originale New Yorker Site zuzugreifen,
kann er eine automatische Verknüpfung mit
der Spiegel-Site herstellen, die für ihn geographisch am nahesten
gelegen ist, das heißt
London.
-
Spiegel-Sites
weisen jedoch mehrere Nachteile auf. Spiegel-Sites können zum
Beispiel geographisch weit verbreitet sein, sind jedoch gegebenenfalls
in Bezug auf tatsächliche
Nutzung, Netzwerkverkehr u.s.w. nicht wirksam verteilt. So können die Spiegel-Sites
von New York und von Los Angeles mit dem Netzwerk des gleichen nationalen Internet-Dienstanbieters
verbunden sein, was bedeutet, dass Schwierigkeiten beim Zugriff
auf eine Site auch die andere beeinträchtigen können.
-
Weiterhin
sind Spiegel-Sites gegebenenfalls nicht optimal platziert, um die
Last auf den einzelnen Servern zu reduzieren. Obwohl man eine „durchdachte
Annahme" vornehmen
kann, wo eine Spiegel-Site platziert werden sollte, können die
tatsächlichen
Nutzungsmuster unterscheiden. Weiterhin gibt es keine Garantie für verbesserte
Leistung. Die Bandbreite der Spiegel-Site kann kleiner sein als
die der Original-Site, oder sie kann aus anderen Gründen überlastet
sein.
-
Darüber hinaus
werden Spiegel-Sites häufig auf
freiwilliger Basis gehostet. Wenn eine Website äußerst beliebt ist und wenn
ein Dienstanbieter entscheidet, dass der Inhalt für seine
Teilnehmer von Interesse sein kann, kann sich dieser Anbieter bereit erklären, eine
Spiegel-Site der originalen Website zu hosten. Eine solche Vereinbarung
wäre für den Host der
Spiegel-Site attraktiv, da Menschen von der Spiegel-Site angezogen
werden und gegebenenfalls automatische Verknüpfungen zu anderem dort gehosteten
Content herstellen können.
Andererseits sind solche freiwilligen Bündnisse nicht zuverlässig und
können
zu jeder Zeit wieder gelöst
werden.
-
Kurz
gesagt, bietet eine Spiegel-Site eine zweite Quelle für Daten,
die verfügbar
sein kann oder nicht und die den Benutzerkomfort verbessert, die
jedoch das Problem der Netzwerk-Bandbreite oder der Leistungsfähigkeit
nicht löst.
Eine Spiegel-Site bestimmt nicht die Leistungsmerkmale des Netzwerkes und
identifiziert keine verfügbare
Bandbreite, die verwendet werden kann, um Videodaten wirksam zu übertragen,
und die gleichzeitig die Vorteile der vorhandenen günstigen
Preisbildungssysteme, wie zum Beispiel die an dem Internet, nutzt.
-
Gegenwärtig gibt
es keine Richtlinie für
die Auswahl optimaler Orte für
Abgabe-Sites, und
es gibt kein bekanntes Verfahren, das es dem Benutzer ermöglicht,
zu entscheiden, mit welcher Spiegel-Site er sich verbinden soll,
die optimale Leistung gewährleisten
wird. In der Tat ist die Nutzung einer herkömmlichen Spiegel-Site freiwillig.
Typischerweise wird der Benutzer versuchen, auf die Original-Site
(oder auf eine bekannte Spiegel-Site) zuzugreifen, und nur dann
auf eine andere Spiegel-Site wechseln, wenn die Leistung nach einem
Versuch oder nach mehreren Versuchen für ungenügend be funden wird. Dieses
Herangehen ist eine ineffiziente Nutzung von Netzwerkressourcen.
Spiegel-Sites sind eindeutig keine optimale Lösung für das Problem der überlasteten
Websites. Ein wesentlicher Grund dafür ist die Nichtberücksichtigung
der Netzwerkleistung.
-
Netzwerkanalyse,
insbesondere der Leistung bestimmter Pfade und Verbindungen über das Internet,
ist hinlänglich
bekannt und entwickelt. Zum Beispiel ermöglicht das Ping-Programm, dass
ein mit dem Internet verbundener Computer entscheiden kann, ob auf
einen Fernhost zugegriffen werden kann. Jedoch verwendet das Ping-Programm ein Netzwerkprotokoll
niedriger Priorität,
das als das ICMP-Protokoll bekannt ist, und demzufolge stellt es keine
aussagefähigen
Leistungsanalyse-Informationen bereit. Das Traceroute-Programm verfolgt
die Übertragung
einer Nachricht von einem Computer zu einem Fernhost und verfolgt
dabei Verzögerungen entlang
der einzelnen Verbindungen und bestimmt den von der Nachricht genommenen
Pfad. Die Traceroute-Anwendung
kann verwendet werden, um den Fluss von Daten abzubilden. Sie ist
jedoch nicht in der Lage, aussagefähige Leistungsanalyse-Informationen
bereitzustellen. Sie stellt nur Informationen für eine Nachricht bereit, die
sich in einer Richtung ausbreitet, und nur für einen Zeitpunkt.
-
Darüber hinaus
werden nur die Konnektivitätsmerkmale
des Pfades, der zu und von dem Einzelcomputer führt, der die Versuche durchführt, typisch
ermittelt. Eine Ausweitung der Versuche ist möglich, jedoch logistisch unausführbar, da
das Internet so groß ist.
-
Herkömmliche
Netzwerk-Analyseverfahren, wie zum Beispiel „Ping"-Programme oder „Traceroute"-Programme, bieten
eine Ansicht der Netzwerkkonnektivität, geben jedoch wenig Aufschluss
darüber,
welche Leistung von den Anbietern und den Spiegel-Sites über das
Internet erwartet werden kann. Daher können lediglich „Annahmen" dazu gemacht werden,
wo Spiegel-Sites platziert werden sollten oder welche Spiegel-Sites
genutzt werden sollten, um die Leistung zu optimieren.
-
Da
die Videoabgabe über
das Internet rasch an Beliebtheit gewonnen hat, besteht ein Bedarf
nach einem System, das sicherstellen kann, dass der Videoabruf des
Benutzers in den meisten Fällen
durch einen Videoclip erfüllt
werden kann, der in einem komprimierten Format gespeichert ist,
das von einem CODEC auf dem Endgerät des Benutzers erkannt werden
kann, so dass für
den Benutzer die Notwendigkeit, ein neues CODEC-Programm herunterzuladen,
eliminiert oder wenigstens reduziert wird.
-
Ein
weiterer Bedarf besteht an einem Verfahren der Ermittlung der Gesamtnetzwerkleistung.
Ein weiterer Bedarf besteht an einem System zur Anwendung dieses
Verfahrens, um Content Provider in die Lage zu versetzen, Daten-Abgabe
oder Spiegel-Sites
dynamisch an optimalen Netzwerkstandorten zu platzieren und um es
den Benutzern zu ermöglichen, optimale
Spiegel-Sites auszuwählen,
von denen sie Daten empfangen können.
-
KURZFASSUNG
DER ERFINDUNG
-
Die
Erfindung betrifft ein System und ein Verfahren für die optimierte
Verteilung von Web Content zu und von Sites, die um das Internet
platziert sind. Ein intelligentes Spiegelungssystem, das auch als „Smart
Mirroring" bezeichnet
wird, wird verwendet, um den Bedarf an und die Verteilung von Spiegel-Sites
zu ermitteln und um Benutzer-Abrufe
nach bestimmtem Web Content an eine optimale Spiegel-Site weiterzuleiten.
Ein Formatauswahlsystem wird verwendet, um automatisch eine Videoclipdatei
auszuwählen,
die in einem Format komprimiert ist und auf einem Benutzer-Endgerät läuft.
-
Eine
Reihe von „intelligenten" Abgabe- oder Spiegel-Sites
werden verwendet, um beliebten Web Content auf verschiedene Teile
des Internets zu verteilen. Ein umfassendes System der Netzwerkanalyse
auf der Grundlage von Versuchen, die von einer großen Anzahl
von Benutzern durchgeführt
werden, wird verwendet, um die bevorzugten Standorte für die Sites
interaktiv zu ermitteln und um die optimalen Standorte zu bestimmen,
die durch jeden einzelnen Benutzer verwendet werden sollen.
-
Dementsprechend
und da jeder einzelne Benutzer zu einem Smart Mirror oder zu einer
Abgabe-Site geleitet wird, der oder die verbesserte Leistung bereitstellt,
wird die Gesamt-Netzwerküberlastung
reduziert. In den meisten Fällen
ist der verbesserte Server elektronisch nahe an einem Benutzer angeordnet,
um die Anzahl von Netzwerkverbindungen zu verringern, über die
die Daten gehen müssen, wodurch
Paketverlust und Verzögerung
reduziert werden.
-
Weiterhin
ermöglichen
die Ergebnisse der Netzwerkanalyse, dass Nachrichtenverkehr von
Abgabe-Sites und Netzwerkbereichen, die bereits überlastet sind, weg geleitet
und zu untergenutzten Servern und Netzwerken hin geleitet werden
kann. Dies führt
zu einer Verbesserung des Durchsatzes aus der Sicht des einzelnen
Benutzers und wird dadurch den Anreiz des von den Content Providern
unter Verwendung des Systems angebotenen Content erhöhen. Content
Provider sind in der Lage, eine größere Anzahl von Benutzern über das
Internet zu erreichen, ohne wesentliche Verringerungen der Leistung
hinnehmen zu müssen.
-
Ein
System gemäß der Erfindung
beginnt mit einer Original-Website und wenigstens einer zusätzlichen
Abgabe-Site (oder Spiegel-Site). Jedem Benutzer, der das System
benutzen möchte,
wird in einem bevorzugten Ausführungsbeispiel
Software bereitgestellt, die ein Konfigurationshilfsprogramm und ein
Clientprogramm umfasst. Das Konfigurationshilfsprogramm wird zuerst
genutzt, um zu bestimmen, welche Abgabe-Sites verbesserte Leistung
für den
jeweiligen Benutzer bereitstellen.
-
In
einem Ausführungsbeispiel
der Erfindung lädt
das Konfigurationshilfsprogramm zuerst eine „Abgabe-Site-Datei" von einem Dienstanbieter
herunter. Diese Abgabe-Site-Datei enthält eine Liste verfügbarer Abgabe-Sites
und eine Liste von Netzwerkversuchen, die durchzuführen sind.
Die Arten von Versuchen und die Häufigkeit der Durchführung können in
der Abgabe-Site-Datei in Abhängigkeit
von der Anzahl der Benutzer, die das Netzwerk erproben, und dem
geschätzten
Abfluss am Netzwerk oder der Abgabesystem-Kapazität vorgegeben
werden.
-
Das
Konfigurationshilfsprogramm wird eine Teilmenge der in der Abgabe-Site-Datei vorgegebenen
Versuche laufen lassen. Die Versuchsergebnisse zeigen, welche Abgabe-Sites
verbesserte Leistung für
den Benutzer ergeben, und enthalten weiterhin Informationen zu verschiedenen
verallgemeinerten Netzwerkfähigkeiten
von dem Standpunkt des Benutzers, der die Versuche durchführt. Die
Netzwerk-Versuchsergebnisse
und die Identität
der ausgewählten
Abgabe-Site werden zwecks Einarbeitung in die Datenbank des Dienstanbieters
(per E-Mail in einer möglichen
Konfiguration) zu dem Abgabedienstanbieter zurückgesendet.
-
Die
von dem Konfigurationshilfsprogramm ausgewählte Abgabe-Site wird danach
von dem betreffenden Benutzer zum Abrufen des gesamten von dem Abgabesystemprovider
verwalteten Contents genutzt. Wenn demzufolge ein Benutzer im Webcontent
browst und eine besondere Position findet, wie zum Beispiel einen
Videoclip, der von dem Abgabesystem des Dienstanbieters verwaltet
wird, wird die Client-Software diese automatisch von der vorgegebenen „Smart
Mirror" Abgabe-Site
abrufen. Site-Präferenzen
und Standard-Sites können
regelmäßig auf Anfrage
zu vorgegebenen Zeiten oder als Reaktion auf Veränderungen in der Netzwerklast
und dem Netzwerkverkehr aktualisiert werden.
-
Da
darüber
hinaus das Konfigurationshilfsprogramm der Erfindung verschiedene
Netzwerkprüfungen
durchführt
und die Prüfergebnisse dem
Dienstanbieter zur Verfügung
stellt, stehen wertvolle Daten zur System- und Netzwerkleistung
zur Verfügung.
Die genannten Daten liefern Informationen darüber, welche „Smart
Mirror" Abgabe-Sites
effektiv arbeiten und welche dies nicht tun, welche Smart-Mirror-Abgabe-Sites überlastet
sind und welche Abschnitte des Internet von der Zugabe weiterer Abgabe-Sites
oder Kapazität
profitieren könnten.
-
Diese
Daten ermöglichen
auch die Durchführung
solcher ausgereifter Netzwerkanalysen, wie zum Beispiel End-zu-End-Leistungsmessungen, Lastprofilbewertungen,
Leitwegstabilität
und Ausfallmessungen. Vom technischen Standpunkt aus kann der Spiegel-Dienstanbieter
somit gewährleisten, dass
verbesserte Leistung bereitgestellt wird. Aus der Sicht des Marketing
kann den Content Povidern mitgeteilt werden, wo Smart Mirrors oder
Abgabe-Sites für
verbesserte Leistung platziert werden müssen und welcher Internet-Service-Provider
verbesserte Abgabe anbietet.
-
Eine
Webseite, die einen eingebetteten Videoclip hostet, enthält auch
einen Schlüssel
zum Aktivieren des Smart Mirroring und der Formatauswahl. Dementsprechend
speichert ein erfindungsgemäßes Videoclip-Auswahl-
und Abrufsystem jeden Videoclip an verschiedenen Stellen in einer
Reihe von verschiedenen Komprimierungsformaten. Ein Formatauswahlmodul
umfast Softwareprogramme, die das Benutzer-Endgerät anweisen, zu ermitteln, welche CODEC-Programme
in einem Benutzerendgerät
gespeichert sind, einen bevorzugten CODEC zum Gebrauch auszuwählen, einen
in einem Komprimierungsformat, das von dem bevorzugten CODEC erkannt
wird, gespei cherten Videoclip zu lokalisieren und eine Videoabfrage
so umzuleiten oder zu ändern,
dass das Video-Abgabesystem den gewünschten Clip lokalisieren und
abrufen kann. Wenn kein geeigneter CODEC erkannt wird, fordert das
Formatauswahlmodul den Benutzer auf, einen bevorzugten CODEC herunterzuladen
und zu installieren.
-
In
einem ersten Ausführungsbeispiel
des Formatauswahlmoduls wird ein Videoclip in einer Reihe verschiedener
Komprimierungsformate an einzelnen Abgabe-Sites, die mit dem Internet
verbunden sind, gespeichert. Der Videoclip und seine Adresse werden
auf der Webseite, die Zugang zu dem Server bietet, angegeben. Die
Webseite enthält
weiterhin ein eingebettetes Softwareprogramm, um das Benutzer-Endgerät aufzufordern,
zu ermitteln, welche CODECs in dem Endgerät installiert sind. Das eingebettete
Programm wird automatisch ausgeführt,
wenn der Benutzer einen Videoclip anfordert, der auf der Webseite
angegeben wird. Wenn die Abfrage das Vorliegen eines CODEC, der
einen auf einem der Server gespeicherten Videoclip dekomprimieren kann,
erkennt, wird das eingebettete Programm diesen CODEC auswählen und
den entsprechenden Videoclip anfordern.
-
In
einem zweiten Ausführungsbeispiel
des Formatauswahlmoduls wird ein relativ kleines Programm auf dem
Browser als „Plug-in" oder ähnliches installiert.
Das „Plug-in"-Ausführungsbeispiel
führt die
gleichen Funktionen aus wie das in dem vorhergehenden Ausführungsbeispiel
beschriebene eingebettete Softwareprogramm und weist die hinzugefügte Funktionalität des Zusammenwirkens
mit den oben beschriebenen Smart-Mirror-Einrichtungen
auf.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Blockschaltbild einer veranschaulichenden Netzwerktopologie
eines erfindungsgemäßen Systems,
einschließlich
mehrerer Benutzer und mehrerer Content Provider.
-
2 ist
ein Fließbild
und beschreibt den Betrieb des Konfigurationshilfsprogramms, das
in dem erfindungsgemäßen System
verwendet wird.
-
3 ist
ein Fließbild
und beschreibt den Betrieb eines Clientprogramms, das in einem erfindungsgemäßen System
verwendet wird.
-
4 ist
ein Fließbild
und beschreibt den Betrieb eines Ausführungsbeispiels eines eingebetteten
Programms des erfindungsgemäßen Formatauswahlmoduls.
-
5 ist
ein Fließbild
und beschreibt den Betrieb eines „Plug-in"-Ausführungsbeispiels
des erfindungsgemäßen Formatauswahlmoduls.
-
AUSFÜHRLICHE
BESCHREIBUNG DER ERFINDUNG
-
Die
Erfindung wird unten unter Bezugnahme auf ausführliche veranschaulichende
Ausführungsbeispiele
beschrieben werden. Es wird offensichtlich werden, dass die Erfindung
in einer breiten Vielzahl von Formen ausgeführt werden kann, wobei einige derselben
stark von den offengelegten Ausführungsbeispielen
abweichen können.
Demzufolge sind die konkreten in dieser Schrift offengelegten strukturellen und
funktionalen Details lediglich repräsentativ und begrenzen den
Erfindungsbereich nicht.
-
Unter
Bezugnahme auf 1 wird das Internet 10,
das allgemein repräsentativ
für Weitverkehrskommunikationsnetze
genannt wird, als „Wolke" dargestellt. Das
Internet ist bekanntermaßen
ein Verbundnetz einer großen
Anzahl von Computern. Wenngleich mit dem Internet verbundene Computer, die „geografisch" nahe beieinander
liegen, in dem Internet „elektronisch" nahe beieinander
liegen können,
ist dies üblicherweise
nicht der Fall. Jedoch kann ein mit dem Internet verbundener Computer
mit einem beliebigen anderen mit dem Internet verbundenen Computer
kommunizieren; die Nachricht wird höchstwahrscheinlich über einen
Weg wandern, der eine Folge von Links oder „Sprüngen" zwischen Computern umfasst, die direkt
miteinander verbunden sind.
-
Ein
erstes Benutzer-Endgerät 12 wird
ebenfalls in 1 dargestellt. Das erste Benutzer-Endgerät 12 ist
mit einem Internet-Service-Provider (ISP) 14 verbunden,
der typischerweise nichts anderes als ein Computer, ein Router oder
ein Endgerät-Server ist,
die mit dem Internet 10 verbunden sind. Ein ISP 14 kann
zusätzliche
Benutzer-Endgeräte hosten,
wie zum Beispiel ein zweites Benutzer-Endgerät 16. Andere ISPs,
wie zum Beispiel der zweite ISP 18, sind ebenfalls mit
dem Internet 10 verbunden. Ein drittes Benutzer-Endgerät 20 wird
als mit dem zweiten ISP 18 verbunden gezeigt. Es werden
nur drei Benutzer-Endgeräte
gezeigt; es ist jedoch zu berücksichtigen,
dass die Anzahl der überlappenden
Benutzer der Erfindung unbegrenzt ist, vorbehaltlich der unten genannten
betriebstechnischen Details.
-
Wie
dem Durchschnittsfachmann hinlänglich bekannt
ist, sind auch Content Provider mit dem Internet 10 verbunden.
Ein erster Content Provider 22 kann eine bestimmte Art
von Content bereitstellen, wie zum Beispiel Sportergebnisse und
sportliche Höhepunkte.
Ein zweiter Content Provider 24 kann eine andere Art von
Content bereitstellen, wie zum Beispiel Geschäftsnachrichten.
-
Wenn
ein Benutzer (wie zum Beispiel derjenige, der das erste Benutzer-Endgerät 12 nutzt)
bislang wünschte,
auf den Content zuzugreifen, den der erste Content Provider 22 bereitstellte,
führte
das Endgerät 12 eine
Anfrage direkt bei dem ersten Content Provider 22 durch.
Eine Anfragenachricht wurde von dem Endgerät 12 über das
Internet 10 an den Content Provider 22 übergeben.
Der Content Provider 22 sendete die gewünschten Daten über das
Internet 10 zu dem Endgerät 12 zurück.
-
In 1 werden
mehrere Abgabe-Sites oder „Spiegel"-Sites als mit dem
Internet 10 verbunden gezeigt. Eine erste Abgabe-Site 26 kann
eine kleine Anzahl von „Sprüngen" von dem ersten Benutzer-Endgerät 12 entfernt
angeordnet sein. Die erste Abgabe-Site 26 umfasst ein Speichermodul 27 zum Speichern
von Content, wie zum Beispiel von Audio-/Videoclips. Eine zweite
Abgabe-Site 28 kann weiter von dem ersten Benutzer-Endgerät 12 entfernt sein,
jedoch nahe an dem dritten Benutzer-Endgerät 20. Eine dritte
Abgabe-Site 30 kann ebenso nahe an dem dritten Benutzer-Endgerät 20 sein
wie die zweite Abgabe-Site 28. Wie bereits angemerkt wurde,
sind ein Benutzer und ein Provider oder eine Abgabe-Site, die „geographisch" nahe beieinander
liegen, „elektronisch" in dem Internet
gegebenenfalls nicht nahe beieinander. Indem der „elektronische" Abstand zwischen
dem Benutzer und dem Provider oder der Abgabe-Site verringert wird,
wird die Anzahl der Netzwerkverbindungen und der Router, über die
die Daten wandern müssen,
reduziert.
-
Wie
weiter oben bereits diskutiert wurde, wirkt das Smart-Mirroring-System,
um die Netzwerkleistung zu verbessern, indem das Auftreten der oben
genannten Netz werkprobleme verringert wird. Die Probleme von Paketverlust
und Übertragungsverzögerung werden
im Allgemeinen geringer, wenn die Anzahl der Netzwerkverbindungen, über die
die Daten wandern müssen,
reduziert wird, wenngleich das erfindungsgemäße Netzwerkprüfverfahren
in einigen Fällen
zeigt, dass der Durchsatz über
einige längere
Wege besser ist als der über
einige kürzere Wege.
Sehr geringer Paketverlust und im Wesentlichen keine Verzögerung tritt
in dem Netzwerkkabel auf; sie werden typischerweise durch überlastete Netzwerkspeicher
und Routinggeräte
verursacht. Da die erfindungsgemäßen Smart-Mirror-Sites
elektronisch nahe einem jeden Benutzer platziert sind, werden Paketverluste
und Verzögerung
reduziert. Das Problem übermäßiger Servernutzung
wird reduziert, da mehrere Abgabe-Sites die Last teilen, die typischerweise
von einem einzigen Server zu bewältigen wäre. Die
relativ geringe Kapazität
der Netzwerk-Infrastruktur wird in geringerem Maße zu einem Problem, da Daten,
die von parallelen Abgabe-Sites an verschiedenen Orten im Allgemeinen
nicht über
die gleichen Netzwerkverbindungen wandern müssen.
-
Für den Zweck
der Beschreibung der hier vorliegenden Erfindung ist eine Abgabe-Site
ein Knoten" an dem
Netzwerk, der Datendateien oder andere Dateien, wie zum Beispiel
Softwarecode, zur Abgabe speichern kann. Der Ausdruck kann auch
eine Site umfassen, die für
Datenabgabe verantwortlich ist, einschließlich von Spiegel-Sites, Content
Provider und Server für
die Übertragung
von Videoströmen oder
Websites.
-
In
dem System ist ein Mirror-Service-Provider (MSP) 32 mit
dem Internet 10 verbunden. Der MSP 32, der eine
Verwaltungsfunktion über
die Verteilung von Abgabe-Sites 26, 28 und 30 sowie über die
Zuordnung von Anfragen an die originalen und Abgabe-Sites von den
Benutzer-Endgeräten 12, 16 und 20 ausübt, umfasst
eine Datenbank, die in der Lage ist, Daten über das Internet 10 zu
senden und zu empfangen.
-
Diese
Verwaltungsfunktion wird durch die Nutzung eines Konfigurationshilfsprogramms 34 und eines
Clientprogramms 36, die in einem Speichermedium (das heißt in einem
Direktzugriffsspeicher oder RAM) auf dem Benutzer-Endgerät 12 laufen,
ermöglicht.
Wenngleich das Konfigurationshilfsprogramm 34 und das Clientprogramm 36 in 1 nur
als Teil des ersten Benutzer-Endgerätes 12 gezeigt werden, ist
zu beachten, dass beliebige Benutzer-Endgeräte, wie zum Beispiel die Endgeräte 16 und 20,
die an dem System beteiligt sind, die genannten Programme nutzen
werden. Ein Benutzer, der an dem System teilnehmen möchte, kann
die Software, die das Konfigurationshilfsprogramm 34 und
das Clientprogramm 36 umfasst, direkt von dem MSP 32 erwerben oder
durch herkömmliche
Verkaufskanäle
oder andere Kanäle
(wie zum Beispiel indem er Teil des Browser- oder Betriebssystems
des Computers ist). Es ist zu beachten, dass die von dem Konfigurationshilfsprogramm 34 in
dem beschriebenen Ausführungsbeispiel
der Erfindung ausgeführten
Funktionen in die allgemeine Internet-Anwendungssoftware integriert werden
können,
wie zum Beispiel eine Browser- oder eine andere Netzwerkanwendung;
ein selbstständiges
Programm ist nicht erforderlich.
-
Konfigurationshilfsprogramm
-
In
einem bevorzugten Ausführungsbeispiel muss
das Konfigurationshilfsprogramm 34 von dem Benutzer ausgeführt werden,
entweder über
Befehl oder automatisch, bevor das Benutzer-Endgerät 12 Zugang
zu dem System erhält.
Der Betrieb des Konfigurationshilfsprogramms 34 wird in 2 im
Detail gezeigt.
-
Wenn
es zuerst auf dem Benutzer-Endgerät 12 ausgeführt wird,
ruft das Konfigurationshilfsprogramm 34 eine Abgabe-Site-Datei
von dem MSP 32 ab (Schritt 40) (1).
Wenn der Benutzer bereits über
eine Abgabe-Site-Datei verfügt
((wenn diese zum Beispiel zusammen mit dem Konfigurationshilfsprogramm 34 empfangen
wurde) und wenn diese Abgabe-Site-Datei hinreichend neu ist, kann
die Abgabe-Site-Datei von der lokalen Festplatte des Benutzer-Endgerätes 12 angerufen
werden. Diese Abgabe-Site-Datei
enthält
eine Liste aller verfügbaren Abgabe-Sites
(wie zu Beispiel der Abgabe-Sites 26, 28 und 30)
sowie eine Liste von Netzwerkprüfungen, die
an dem Benutzer-Endgerät 12 durchzuführen sind.
In dem Kontext der Erfindung kann es lediglich zwei Abgabe-Sites
geben beziehungsweise, insofern die Anzahl der Benutzer dies rechtfertigt,
auch mehrere tausend. Die Anzahl der Sites ist prinzipiell unbegrenzt,
wobei eine jede verfügbare
Abgabe-Site in der Abgabe-Site-Datei dargestellt wird.
-
Die
Abgabe-Site-Datei wird durch die Datenbank innerhalb des Computersystems
des MSP erstellt. Die Datenbankanwendung nutzt Informationen über den
Benutzer, um dynamisch die optimalen durchzuführenden Prüfungen zu bestimmen. Demzufolge
muss die Abgabe-Site-Datei keine Einträge für jede vorhandene Abgabe-Site
ent halten; die Liste kann so ausgelegt sein, dass sie lediglich
diejenigen Sites enthält,
die angemessen oder technisch machbar erscheinen.
-
Anfangs
ist die Größe der Laufzeitschwankung
in den Prüfkonfigurationen
für die
Benutzer des Abgabesystems gering; das heißt, die erste Gruppe von Benutzern
führt im
Wesentlichen die gleichen Prüfungen
durch. Wenn der Abgabedienst zunimmt, wird die Intensität der Prüfung eines
jeden Benutzers jedoch reduziert, um die zunehmende Größe der Prüfungen im
gesamten Netzwerk auszugleichen. Der Umfang der Prüfungen und
die Anzahl der überprüften Abgabe-Sites
können
eingeengt werden, um die Gesamtlast der Netzwerkprüfung weiter
zu reduzieren.
-
In
einem Ausführungsbeispiel
wird die Abgabe-Site-Datei im Allgemeinen ein Format wie folgt aufweisen:
- 1. Datei-Revisionsnummer und Nachricht. Die
Datei umfasst dieses Feld, um zu bestimmen, ob eine neue Version
des Konfigurationshilfsprogramms 34 verfügbar ist.
Wenn die Revisionsnummer in der Abgabe-Site-Datei höher ist
als die Versionsnummer für
das Konfigurationshilfsprogramm, ist Konfiguration nicht zulässig. Anstelle dessen
wird der Benutzer aufgefordert, eine neuere Version des Konfigurationshilfsprogramms 34 zu
erlangen. Die hierin beschriebene Überprüfung der Dateirevision stellt
sicher, dass die jeweils aktuellen Abgabe-Site-Auswahl-Algorithmen
auf die von dem Konfigurationshilfsprogramm 34 erzeugten
Prüfdaten
angewendet werden.
- 2. Eine Liste verfügbarer
Smart-Mirror-Abgabe-Sites. Für
eine jede verfügbare
Abgabe-Site werden die folgenden Informationen bereitgestellt:
- a. Name des Hosts. In dem bekannten Internetformat von www.server.com.
- b. IP-Adresse. Eine numerische Internetadresse in dem bekannten
Format. Die Adresse ist gegenwärtig
eine 32-Bit-Zahl des Formats w.x.y.z., wobei w, x, y und z jeweils
in dem Bereich von 0 bis 255 liegen.
- c. Ausweichname. Ein inoffizieller Name, wie zum Beispiel „Die Erste
Spiegel-Site".
- d. Eine Liste der durchzuführenden
Prüfungen. Für jede Prüfung werden
die folgenden Informationen bereitgestellt:
- i. Prüf-ID.
Jede Art von Prüfung
hat ein eindeutiges Kennzeichen, das dem Konfigurationshilfsprogramm 34 bekannt
ist.
- ii. Bewertungsfaktor. Jede Prüfung wird durch einen vorgegebenen
Prozentsatz gewichtet.
- iii. Häufigkeit.
Die einzelnen Prüfungen
werden nicht mit Notwendigkeit jedes Mal durchgeführt. Dieses
Feld gibt eine Wahrscheinlichkeit an, wodurch bestimmt wird, wie
oft eine konkrete Prüfung
durchgeführt
wird.
- iv. Zusätzliche
Informationen (wahlweise). Für
bestimmte Prüfungen
können
zusätzliche
Informationen erforderlich sein.
- e. Site-Präferenzebene.
Einer jeden Site kann eine gewichtete oder Präferenzebene zugewiesen werden,
die zum Beispiel zwischen 1 und 100 liegen kann. Wie weiter unten
diskutiert werden wird, werden die Gesamtdaten der Datenbank des
MSP verwendet, um Netzwerknutzungsanalyse durchzuführen, bei
der nur die Momentan-End-zu-End-Prüfung eines
einzelnen Benutzers durchgeführt
wird. Der hierbei bereitgestellte Bewertungsfaktor wird verwendet,
um die von der Datenbank des Dienstanbieters empfangenen Prüfergebnisse
einzuarbeiten. Der Bewertungsfaktor wird weiterhin verwendet, um
die Zuteilung neuer Benutzer zu einer Abgabe-Site zu begrenzen,
nachdem ein vorgegebenes größtes Nutzungsniveau
erreicht worden ist.
- f. Prüf-Site-Kennzeichen.
Wenn dieses Kennzeichen freigegeben wird, werden die oben genannten
Prüfungen
durchgeführt,
jedoch wird die Site nicht als Abgabe-Site zugeordnet werden, und zwar auch
dann nicht, wenn sie die beste Leistung liefert.
- g. Content-Provider-Gruppen. Eine jede Site kann zu einer Content-Provider-Gruppe oder zu mehreren
Content-Provider-Gruppen gehören,
wobei nur bestimmter Content gespiegelt wird. Wenn ein Benutzer
an den von einer jeweiligen Abgabe-Site gehosteten Art von Daten
nicht interessiert ist, muss diese nicht geprüft werden.
-
Das
Konfigurationshilfsprogramm 34 fragt sodann von dem Benutzer
verschiedene Positionen von Informationen ab (Schritt 42),
die in dem Konfigurationsprozess benötigt werden, wie zum Beispiel den
Namen des Benutzers, die E-Mail-Adresse, das Passwort, die Modemgeschwindigkeit
und Informationen in Bezug auf die Zugangskontrolle (zum Beispiel
welche Ebenen von verschiedenen Attributen der Benutzer einsehen kann).
Der Zugangskontrollmechanismus wird weiter unten ausführlich diskutiert werden.
In einem Ausführungsbeispiel
der Erfindung werden die von dem Benutzer empfangenen Informationen
verschlüsselt
und in einer Konfigurationsdatei auf dem Benutzer-Endgerät 12 gespeichert.
-
Das
Konfigurationshilfsprogramm 34 bestimmt danach, ob das
Benutzer-Endgerät 12 mit dem
Internet verbunden ist (Schritt 42). Wenn dies nicht der
Fall ist, wird es eine Verbindung einleiten (Schritt 449)
oder den Benutzer auffordern, dies zu tun.
-
Danach
wird eine Reihe von Netzwerkprüfungen
durchgeführt
(Schritt 46). Eine Prüfung
oder mehrere Prüfungen
kann oder können
für jede
verfügbare
Site, die in der Abgabe-Site-Datei aufgeführt wird, durchgeführt werden;
nicht alle Sites in der Datei müssen
geprüft
werden.
-
Bei
den folgenden Arten von Prüfungen
wird gegenwärtig
davon ausgegangen, dass sie zweckdienliche Daten liefern:
- 1. Ping-Prüfung.
Diese liefert Informationen darüber,
ob ein Fernserver erreichbar ist, und wenn dies der Fall ist darüber, wie
lange es dauert, bis eine Nachricht geringer Priorität von dem
Benutzer-Endgerät 12 zu
dem Fernserver und wieder zurück
wandert. Die Ping-Prüfung
ist eine einfache Prüfung,
die die Entscheidung unterstützt,
ob eine Site für
weiterführende
Bewertung zur Verfügung
steht. Überschüssige Zeiten,
die von der Ping-Anwendung zurückgegeben
werden, können
verwendet werden, um Abgabe-Systeme zu eliminieren, die für effektive
Informationsabgabe bei weitem zu „langsam" sind. Diese Prüfung wird von dem Endgerät verwendet,
um die Anzahl der zu prüfenden
Abgabe-Sites zu reduzieren.
- 2. Traceroute-Programm (ein Protokollierungsprogramm). Dieses
liefert Informationen darüber, welchen
Leitweg eine Nachricht von dem Benutzer-Endgerät 12 zu einem Fernserver
nimmt, einschließlich
darüber,
welche Systeme entlang des Leitweges genutzt werden und wie lang
ein jeder Sprung dauert. Das Traceroute-Programm wird durch das
Konfigurationsprogramm 34 verwendet, um den Weg der Informationsübertragung
zu dokumentieren. Mehrere Ablaufverfolgungen mit unterschiedlichen
Ergebnis sen können
anzeigen, dass die Stabilität
des Leitweges von einem jeweiligen Benutzer zu einem jeweiligen
Server nicht annehmbar ist. Von der Datenbank des Dienstanbietersystems
bereits angesammelte Daten zu jeweiligen Leitwegen können ebenfalls
die Entscheidung zur Auswahl einer jeweiligen Abgabe-Site für einen
jeweiligen Benutzer beeinflussen. Die Leitwegstabilität ist hierbei
die wichtigste Überlegung.
- 3. Reverse-Traceroute-Programm. Dieses liefert Informationen
darüber,
welchen Leitweg eine Nachricht von einem Fernserver zu dem Benutzer-Endgerät nimmt,
einschließlich
darüber,
welche Systeme entlang des Weges genutzt werden und wie lange jeder
Sprung dauert. Das Reverse-Traceroute-Programm wird von dem Konfigurationsprogramm
genutzt, um den Weg von Informationsempfang zu dokumentieren. Mehrere Ablaufverfolgungen
mit unterschiedlichen Ergebnissen können anzeigen, dass die Stabilität des Leitweges
von einem jeweiligen Server zu einem jeweiligen Benutzer nicht annehmbar
ist. Von der Datenbank des Dienstanbietersystems bereits angesammelte
Daten zu jeweiligen Leitwegen können
die Entscheidung zur Auswahl einer jeweiligen Abgabe-Site für einen
jeweiligen Benutzer ebenfalls beeinflussen. Auch hier ist die Stabilität die wichtigste Überlegung.
- 4. Dynamic-Traceroute-Programm. Analog zu dem Traceroute-Programm
oder dem Reverse-Traceroute-Programm, jedoch zwischen einem vorgegebenen
Paar von Computern an dem Internet. Dynamic Traceroute wird von
dem Konfigurationsprogramm verwendet, um einen Weg von Informationsübertragung
zu dokumentieren. Mehrere Ablaufverfolgungen mit unterschiedlichen
Ergebnissen können
anzeigen, dass die Stabilität
des Leitweges zwischen zwei Netzwerken nicht annehmbar ist. Von
der Datenbank des Dienstanbieters bereits angesammelte Daten zu jeweiligen
Leitwegen können
die Entscheidung über
die Auswahl einer jeweiligen Site für einen jeweiligen Benutzer
ebenfalls beeinflussen. Wie oben bereits ausgeführt wurde, ist die Stabilität hierbei
die wichtigste Überlegung.
- 5. Name Server Resolution Delay. Wenn die numerische Internetadresse
nicht vorgegeben ist, wird ein Namensserver-Nachschlagen durchgeführt, um
zu bestimmen, welche numerische Adresse dem gewünschten Hostnamen entspricht.
Dieser Prozess kann eine beachtliche Zeit in Anspruch nehmen.
- 6. Durchsatz. Von dem Fernserver wird eine Probedatei heruntergeladen
beziehungsweise teilweise heruntergeladen, um den Ist-Durchsatz
in Bytes pro Sekunde zu bestimmen.
- 7. Durchsatzschwankung. Von dem Fernserver wird eine Probedatei
heruntergeladen beziehungsweise teilweise heruntergeladen, um zu
bestimmen, ob der Durchsatz relativ konstant ist oder schwankt.
- 8. Fehlerrate. Von dem Fernserver wird eine Probedatei heruntergeladen
beziehungsweise teilweise heruntergeladen, um zu bestimmen, ob bei der Übertragung Übertragungsfehler
auftreten. Diese Informationen erhält man, indem die Anzahl der
an den Benutzer zurückgegebenen
Fehlernachrichtenpakete gezählt
wird, wodurch die Fehlerrate von dem Benutzer zu dem Server festgestellt
wird, und indem die Anzahl der empfangenen Bytes als Anteil der übertragenen
Bytes verfolgt wird, wodurch die Fehlerrate von dem Server zu dem
Benutzer festgestellt wird.
- 9. Paketfragmentierung. Von dem Fernserver wird eine Probedatei
heruntergeladen beziehungsweise teilweise heruntergeladen, um zu
bestimmen, ob bei der Übertragung
Fragmentierung oder Fehlerpaketempfang auftritt.
- 10. Kapazitätsanfrage.
Wenn der Fernserver hierfür
befähigt
und freigegeben ist, wird das Konfigurationshilfsprogramm 34 eine
Anfrage an den Server schicken, um dessen Übertragungskapazität und seine
durchschnittliche Last zu bestimmen. Diese Informationen werden über das
Simple Network Management Protocol („SNMP") erfasst, das von fast allen Internetservern
unterstützt
wird.
- 11. Makroskopische Netzwerkanalyse. Die von der MSP-Datenbank
gesammelten Daten ergeben eine allgemeine Übersicht über das Netzwerkverhalten.
Diese Informationen ermöglichen es
dem Benutzer des Smart-Mirror-Systems, eine historische Sicht der
Leistung der verfügbaren
Abgabe-Sites zu erhalten. Die akkumulierten Daten wenden von der
Abgabe-System-Datenbank bearbeitet, um die Netzwerkleistung zu analysieren, um
die Nutzung in Netzwerkbereichen mit hoher Kapazität zu akzentuieren,
während
die Nutzung in Bereichen, die bereits eine verringerte Leistung erfahren,
deakzentuiert wird.
-
Informationen
darüber,
wie eine jede der vorgenannten Prüfungen durchgeführt wird,
sind aus der herkömmlichen
Netzwerkanalyse nach dem Stand der Technik hinlänglich bekannt. Siehe hierzu
zum Beispiel Bob Quinn und Dave Shute, Windows Sockets Network Programming
(Addison-Wesley 1996). In einem Ausführungsbeispiel der Erfindung
wird die Überprüfung erzielt,
indem eine „Ping-Prüfung" durchgeführt wird,
um zu überprüfen, ob
ein Server erreichbar ist, ebenso wie eine Reihe von kleinen Downloads
(zum Beispiel 20K), eine Reihe von großen Downloads (zum Beispiel
200K) sowie „Traceroute-Prüfungen" und Reverse-Traceroute-Prüfungen", um die Abgabewege
zu dokumentieren.
-
Die
Traceroute-Informationen werden von dem MSP 32 verwendet,
um Prüfdaten
mit Informationen in seiner Datenbank zu korrelieren; auf diese Weise
können
insbesondere schlechte Netzwerkverbindungen und Server identifiziert
werden. Diese Informationen werden in der oben genannten Abgabe-Site-Datei
bereitgestellt; wenn eine jeweilige Verbindung oder ein jeweiliger
Server ausgehend von von anderen Benutzern eingeholten Informationen als
unzuverlässig
bekannt sind, kann ein einzelner Benutzer davon weg geleitet werden,
auch wenn eine Einzelprüfung
gute Ergebnisse ergeben hat.
-
Die
kurzen Downloads werden genutzt, um die Serverkapazität zu ermitteln.
Die Namenserver-Auflösungsverzögerung kann
durch eine solche Prüfung
ermittelt werden, ebenso wie die Zeit, die ein Server benötigt, um
das Senden von Daten zu beginnen. Das letztgenannte Ergebnis ist
stark von der Serverlast, der Kapazität und der Leistung abhängig.
-
Die
langen Downloads ermöglichen
es dem Konfigurationshilfsprogramm 34, zu ermitteln, wie der
Paketverlust, die Netzwerküberlastung
und die Servernutzung die Datei-Abgabe beeinflussen. Es ist nicht
ideal, auf der Grundlage der Ergebnisse von einem einzelnen Benutzer
zu bestimmen, welcher der vorgenannten Faktoren verringerte Leistung
verursacht. Die gesammelten Ergebnisse jedoch, die in der von dem
MSP 32 vorgehaltenen Datenbank gespeichert werden, zeigen
die zugrundeliegenden Ursachen an.
-
Es
ist zu beachten, dass einige der Prüfergebnisse in Verbindung mit
anderen Prüfergebnissen verwendet
werden können.
Die Last auf der Abgabe-Site, wie sie durch eine Kapazitätsabfrage
ermittelt wird, kann zum Beispiel durch die Ergebnisse einer Durchsatzprüfung geteilt
werden, um eine zu erwartende durchschnittliche Downloadzeit abzuleiten, wenn
die Lastmerkmale des Servers vorgegeben sind.
-
Nachdem
alle vorgegebenen Prüfungen durchgeführt worden
sind, werden die Ergebnisse gesammelt und verarbeitet (Schritt 48).
Es ist möglich,
dass bestimmte Prüfungen
nicht erfolgreich durchgeführt
werden; in solchen Fällen
müssen
die Ergebnisse einen geeigneten Worst-Case-Wert ergeben (zum Beispiel
Nulldurchsatz oder äußerst hohe Verzögerung).
-
Es
muss beachtet werden, dass nicht alle möglichen Prüfungen jedes Mal durchgeführt werden,
wenn das Konfigurationshilfsprogramm 34 läuft. Wenn
eine große
Anzahl von Benutzern das System nutzt, würde allein durch die Prüfungsprozedur
eine wesentliche Entnahme an Server- und Netzwerkkapazität verursacht
werden, was die vorher bereits diskutierte Abwärtsspirale von Netzwerkleistung
verstärken
würde.
-
Wie
oben bereits angemerkt wurde, wird eine Prüfungshäufigkeitszahl in der Abgabe-Site-Datei
für dynamische
Steuerung der Anzahl der Benutzer, die eine Prüfung durchführen, gespeichert. Die durch das
Konfigurationshilfsprogramm 34 durchgeführte Prüfung wird durchgeführt, um
statistische Konfidenz bei der Entscheidung, welche Abgabe-Site
am besten für
die Datenabgabe an einen jeweiligen Benutzer geeignet ist, zu erzielen.
Statistische Konfidenz wird erzielt, indem entweder eine kleine
Probe von Benutzern ausreichend gut geprüft wird und diese Daten verwendet
werden, um die Auswahl der Abgabe-Site zu beeinflussen, oder indem
eine große
Anzahl von Benutzern verfügbare
Sites jeweils leicht" überprüft und indem
diese Daten insgesamt verwendet werden.
-
Wenn
dementsprechend das System anfangs genutzt wird, wird eine relativ
kleine Anzahl von Benutzern in das System aufgenommen". Die von dem MSP 32 vorgehaltene
Abgabe-Site-Datei widerspiegelt diese Bedingungen und fordert, dass
jeder Benutzer das Netzwerk (durch das Konfigurationshilfsprogramm 34)
relativ stark überprüft. Wenn
sich die Anzahl der Benutzer erhöht,
wird die Angabe-Site-Datei geändert,
um die von einem jeden Benutzer durchgeführten Überprüfungen zu reduzieren. Wenn dann
eine sehr große
Anzahl von Benutzern das System nutzt, kann das Konfigurationshilfsprogramm 34 vorwiegend Überprüfung auf
Erreichbarkeit der Abgabe-Site (über
den „Ping-Versuch" wie oben beschrieben) überprüfen und
sich dabei vorrangig auf Prüfdaten
verlassen, die von anderen Benutzern bereitgestellt und in der von
dem MSP 32 vorgehaltenen Datenbank gespeichert werden.
Jedoch selbst wenn zahlreiche Benutzer das System überprüfen, kann
eine kleine Anzahl von Benutzern (zum Beispiel einer aus 5.000)
ausgewählt
werden, um eine umfassende Versuchsreihe durchzuführen.
-
Vorzugsweise
soll die Überprüfung nicht mehr
als etwa 5% der gesamten Serverlast ausmachen. Eine Möglichkeit,
dieses Ziel zu erreichen, besteht darin, eine große Anzahl
von Benutzern leicht zu überprüfen, was
eine Gruppe von Abgabe-Sites ergibt, die eine angemessene Leistung
aufweisen. Diese Gruppe von Abgabe-Sites kann danach nach einem
Rotationsverfahren genutzt werden, um Daten abzurufen. Informationen
werden wie oben beschrieben zu tatsächlichen Multimediaclip-Downloadzeiten für eine jede
der Abgabe-Sites gesammelt, und weiterführende Informationen zur Abgabe-Site-Leistung können danach
transparent und ohne Notwendigkeit weiterführender direkter Überprüfungen an
den MSP 32 übergeben
werden.
-
Auf
der Grundlage der gesammelten Prüfergebnisse
und der in der Abgabe-Site-Datei
von dem MSP 32 bereitgestellten Informationen bestimmt
das Konfigurationshilfsprogramm 34 dementsprechend, welche
Abgabe-Site oder welche Gruppe von Abgabe-Sites am besten für das Benutzer-Endgerät 12 geeignet
ist (Schritt 50). Diese Bestimmung kann numerisch durchgeführt werden,
indem die verschiedenen durchgeführten Überprüfungen gewichtet
und das Ergebnis für
jede Site verglichen wird.
-
In
einem gegenwärtig
bevorzugten Ausführungsbeispiel
für Anwendung
in einer Umgebung mit geringem Verkehr mit einer relativ kleinen
Anzahl von Abgabe-Sites und Benutzern stützt sich das Konfigurationshilfsprogramm 34 vorwiegend
auf die Ping-Prüfung und
auf Durchsatzprüfungen
für eine jede
verfügbare
Abgabe-Site. Eine anfängliche Ping-Prüfung wird
durchgeführt,
um zu bestimmen, ob eine Abgabe-Site erreichbar ist. Kurze und lange Downloads
werden in den Durchsatzprüfungen durchgeführt, um
den größten und
den kleinsten Durchsatz von der Abgabe-Site zu ermitteln und um zu
bestimmen, ob Durchsatzschwankung ausreichend gering ist, um die Über tragung
von Videodaten zu ermöglichen.
Dementsprechend wird diesen Überprüfungen eine
hohe Wichtung zugeordnet. Andere Überprüfungen, wie zum Beispiel die
Traceroute-Prüfung,
können
durchgeführt
werden, und die Ergebnisse können
an den MSP 32 übergeben
werden, ohne dass sie eine Rolle bei der Auswahl der Abgabe-Sites
spielen (diese anderen Prüfungen
können zum
Beispiel eine Wichtung von Null oder fast Null erhalten). Wenn die
Größe des Systems
zunimmt und wenn zusätzliche
Abgabe-Sites und Benutzer aufgenommen werden, kann die Site-Auswahlformel
geändert
werden, indem der Inhalt der Abgabe-Site-Datei entsprechend geändert wird,
um die sich ändernden Netzwerkbedingungen
widerzuspiegeln.
-
In
einem Ausführungsbeispiel
der Erfindung wird eine geschützte
grafische Schnittstelle bereitgestellt, so dass der Standort des
Benutzers und die Standorte (jeweils geographisch und elektronisch)
einer jeden überprüften Site
an einem Monitor angezeigt werden können, der mit dem Benutzer-Endgerät 12 verbunden
ist, wodurch eine visuelle Anzeige der relativen Entfernung zwischen
den Sites ermöglicht
wird. In einem Ausführungsbeispiel
wird die Anzeige in der Form eines „Radarbildschirms" angezeigt, auf dem
das Benutzer-Endgerät 12 und
die Abgabe-Sites als „Zielanzeigen" angezeigt werden,
die auf einer Karte der jeweiligen geographischen Region überlagert
sind. Um den Benutzer zu ermutigen, die Anwendung zu nutzen, und
um mehr netzwerkweite Daten bereitzustellen, kann es die Benutzer-Schnittstelle
dem Benutzer ermöglichen,
in eine „Ad-hoc-Prüf-Site einzutreten,
um zusätzliche
Leistungsprüfung
durchzuführen.
In diesem Fall wird das Konfigurationshilfsprogramm entweder die
Standardwebseiten-Datei
(zum Beispiel „index.html") oder eine konkrete
von dem Benutzer angefragte Datei prüfen. Die Analyseergebnisse
von der von dem Benutzer ausgewählten
Site werden angepasst, so dass ein angemessener Vergleich mit den
Ergebnissen von anderen Sites durchgeführt werden kann.
-
Es
ist zu beachten, dass mehrere Gruppen von Abgabe-Sites von der Erfindung
vorgehalten werden können,
um mehrere Gruppen von Content Providern aufzunehmen. Ein jeder
Content Provider kann nur an bestimmten Sites gespiegelt werden. Dementsprechend
wird für
einen jeden Content Provider, der eine eindeutige Menge von Abgabe-Sites aufweist,
durch das Konfigurationshilfsprogramm 34 eine Haupt-Abgabe-Site ausgewählt. Um
dies zu erreichen, können
die vorstehenden Überprüfungen ein
Mal durchgeführt
werden, und danach kann in einem Ausführungsbeispiel eine numerische
Wichtung auf eine jede geeignete Menge von Angabe-Sites angewendet
werden. Eine Vielzahl von Smart-Mirror-Sites wird ausgewählt, eine
für eine
jede Content-Provider-Gruppe. Die Content-Provider-Gruppen werden
in der Abgabe-Site-Datei angegeben; eine jede mögliche Abgabe-Site wird als
zu einer Content-Provider-Gruppe oder zu mehreren Content-Provider-Gruppen
zugehörig
identifiziert. Wenn Content-Provider-Gruppen
verwendet werden, können dies
auch nur zwei Gruppen sein; die größtmögliche Anzahl ist im Wesentlichen
unbegrenzt.
-
Es
ist weiterhin zu beachten, dass ebenfalls eine priorisierte Reihenfolge
von Abgabe-Sites erstellt und vorgehalten werden kann. Wenn dies
geschieht, ermöglicht
eine ausbleibende Reaktion oder Antwort der Haupt-Smart-Mirror-Site
dem System, auf die nächste
höher eingestufte
Smart-Miror-Site zuzugreifen.
-
Nachdem
eine Smart-Mirror-Site ausgewählt wurde,
werden bestimmte Daten über
E-Mail oder über
ein anderes elektronisches Internetprotokoll an den MSP 32 übergeben
(Schritt 52). Die durch die Abfrage des Benutzers empfangenen
Informationen, die Identität
der ausgewählten
Smart-Mirror-Site und alle Rohprüfdaten
und Ergebnisse, einschließlich
der Uhrzeit und des Datums, zu denen eine jede Prüfung durchgeführt wurde,
werden in einer Textdatei zusammengestellt (welche in einem Ausführungsbeispiel
verschlüsselt
wird) (Schritt 54). Das Konfigurationshilfsprogramm kann
ebenfalls Informationen zur relativen Leistung für eine jede überprüfte Abgabe-Site
speichern. Das Clientprogramm 36 verwendet die verschlüsselte Konfigurationsdatei,
um Datendateien (Videoclips oder anderen Content) von der geeigneten
Smart-Mirror-Site herunterzuladen.
-
Es
ist zu beachten, dass der MSP 32 bei dem Betrieb des Systems
bestimmte Funktionen durchführt.
Der MSP 32 pflegt die Liste der Abgabe-Sites, wobei er
Sites nach Erfordernis hinzufügt
oder löscht. Der
MSP 32 pflegt weiterhin die Datenbank der Netzwerkleistung,
die Informationen enthält,
die über E-Mail
oder andere Mittel von den Benutzern empfangen werden, die das Konfigurationshilfsprogramm 34 ausführen. Da
große
Mengen von Daten von zahlreichen Benutzern empfangen werden, kann
die Datenbank wertvolle Informationen zu der Leistung und zu anderen
Merkmalen des Internet oder von Teilen desselben bereitstellen.
Verschiede Datenverarbeitungsverfahren sind bekannt, um die genannten
Informationen abzuleiten.
-
Die
Standorte der zusammen mit der Erfindung verwendeten Abgabe-Sites
werden durch eine Anzahl von Faktoren bestimmt, einschließlich von Marketingüberlegungen
sowie Preis-Leistungs-Analysen. Die in der Datenbank des MSP gespeicherten Daten
können
jedoch das Hilfsprogramm des Platzierens einer Abgabe-Site an einem
gegebenen Standort in dem Internet oder einem anderen Netzwerk bestätigen. In
einem Ausführungsbeispiel
sind Server an einem jeden großen
Backbone (ein Teil des Internet, der von einer einzelnen Gesellschaft
vorgehalten wird) und an anderen Internet-Leitungen, die eine große Anzahl
von Benutzern bedienen, wie zum Beispiel die wichtigen Leitungen,
die von den Regional Bell Operating Companies („RBOCs") betrieben werden, angeordnet werden.
In bestimmten Netzwerken, die eine große Anzahl von Benutzern bedienen
oder die starken Video-Abgabe-Verkehr aufweisen, können Server
an wichtigen Points of Presence („PoPs") für
das Netzwerk angeordnet werden, um sicherzustellen, dass ein jeder
Benutzer hervorragenden Zugriff auf einen schnellen Server hat.
-
Nachdem
das Konfigurationshilfsprogramm 34 ausgeführt wurde,
kann der Benutzer das System nutzen, um Empfang von Datendateien,
insbesondere von Videoclips, Audioclips, Softwareprogrammen und
anderem Content, zu ermöglichen
und zu unterstützen.
-
Mit
sich änderndem
Nutzungsmuster in einem Internetbereich des Benutzers ist der Benutzer gegebenenfalls
nicht mehr mit der Leistung der zu seinem Benutzer-Endgerät 12 zugehörigen Smart-Mirror-Site
zufrieden. Wenn dies eintritt, kann der Benutzer das Konfigurationshilfsprogramm 34 erneut
laufen lassen. Zu diesem Zeitpunkt sind gegebenenfalls zusätzliche
Abgabe-Sites in Betrieb genommen worden, oder eine bereits vorhandene
Site kann nunmehr bessere Leistung bringen als früher. Wenn
weiterhin das Player-Programm 36 bestimmt, dass die ausgewählte Smart-Mirror-Site
nicht angemessen funktioniert (zum Beispiel hat sie bei drei von zehn
Versuchen versagt), kann das Player-Programm 36 den Benutzer
auffordern, das Konfigurationshilfsprogramm 34 erneut auszuführen. In
einem anderen Ausführungsbeispiel
der Erfindung wird die Überprüfungs- und
Spiegel-Zuordnung automatisch mit jedem Abruf einer Datei an dem
Smart-Mirror-Dienst oder zu Zwischenzeiten, wie zum Beispiel nach
jedem zweiten, jedem dritten, jedem zehnten oder jedem hundertsten
Abruf, ausgeführt.
-
Smart Mirroring
-
In
einem Ausführungsbeispiel
der Erfindung wird das Smart-Mirror-System verwendet, um eine Abgabe-Site
zu lokalisieren, von der ein auf einer Webseite genannter Videoclip
oder Audioclip (nachfolgend der „Clip") heruntergeladen werden soll. In diesem
Ausführungsbeispiel
kann das Clientprogramm als „Player-Programm" bezeichnet oder
angesehen werden. Das Player-Programm ermöglicht zusätzlich zu der Ausführung der
Funktionen des Clientprogramms 36 den Abruf und die Wiedergabe
von Videodaten. Herkömmlicherweise
wird ein Browserprogramm 38 auf dem Benutzer-Endgerät 12 ausgeführt, um
Web-Content anzusehen. Übliche
verwendete Browserprogramme sind unter anderem NCSA Mosaic, Netscape
Navigator und der Microsoft Internet Explorer. Das Browserprogramm 38 ermöglicht es
dem Benutzer, automatische Verknüpfungen
zwischen verschiedenen Websites in dem Internet vorzunehmen.
-
Die
Markierung EMBED wird in HTML-Dokumenten verwendet, um anzuzeigen,
welche Webseiten von dem System verwalteten Content beinhalten. Wenn
das Browserprogramm 38 eine Webseite empfängt, die
eine Markierung EMBED enthält,
wird ein Herunterladen der durch die Markierung angezeigten Datei
begonnen, und die Dateiart wird analysiert. Wenn es sich bei der
Datei um eine Datei der Art handelt, die von dem Player-Programm 36 bearbeitet wird,
wie zum Beispiel MPEG, leitet das Browserprogramm 38 das
Player-Programm 36 ein. Der Inhalt der Markierung wird
sodann von dem Browserprogramm 38 an das Player-Programm 36 weitergeleitet.
-
Das
Player-Programm 36 (1) stellt
die von dem MSP 32 unterstützten Smart-Mirror-Dienste bereit.
Der Betrieb des Player-Programms 36 wird in 3 im
Detail gezeigt.
-
Das
Player-Programm analysiert zunächst die
Markierung EMBED, um zu bestimmen, ob ein „SM-Parameter" (Smart-Mirror-Parameter)
vorliegt (Schritt 60); das Vorliegen eines solchen Parameters deutet
an, dass der eingebettete Clip für
Smart Mirroring freigegeben ist. Zu dem „SM-Parameter" zugehörige Daten
spezifizieren den konkreten Content Provider, von dem der gewünschte Clip
stammt, sowie die Gruppe von Spiegel-Servern, die der jeweilige
Content Provider nutzt.
-
Wenn
das Player-Programm 36 bestimmt, dass sich die Markierung
EMBED auf einen Videoclip oder auf anderen Content bezieht, der
von dem System bearbeitet wird (Schritt 62), wird die Übertragung des
eingebetteten Clips von dem Content Provider 22 gestoppt.
Das Player-Programm 36 fragt sodann Zugriffssteuerung oder
Einstufungsinformationen aus der EMBED-Anweisung (Schritt 64)
ab, falls diese vorliegt. Diese Einstufungsinformationen werden
mit den in der auf dem Benutzer-Endgerät 12 gespeicherten
Konfigurationsdatei gespeicherten Bezugsebenen verglichen (Schritt 66).
Wenn die Einstufungsinformationen für den Clip nicht vorhanden
sind, wird die Konfigurationsdatei aufgefordert, zu bestimmen, ob
nicht eingestufte Clips gemäß nachstehender
Definition wiedergegeben werden können (Schritt 68). Auf
der Grundlage der vorstehenden Informationen wird das Player-Programm 36 das
Ansehen des gewünschten
Clips genehmigen oder ablehnen.
-
Wenn
Wiedergabe genehmigt wird, versucht das Player-Programm 36 den
angegebenen Clip auf dem lokalen Computer zu finden, der zu dem
Benutzer-Endgerät 12 gehört (Schritt 70).
Wenn dieser dort vorhanden ist, wird er nicht erneut heruntergeladen und
kann direkt auf dem Computer wiedergegeben werden (von der Festplatte
oder dem RAM) (Schritt 72). Jedoch werden zuerst die Uhrzeit
und das Datum der Erstellung des Clips auf dem lokalen Computer
mit der Uhrzeit und dem Datum des in dem Netzwerk verfügbaren Clips
verglichen, um zu bestimmen, ob der gespeicherte Clip die aktuelle
Version ist (Schritt 74). Wenn dies nicht der Fall ist,
wird der gespeicherte Clip verworfen (Schritt 76) und der
Herunterlade-Vorgang läuft
wie folgt ab.
-
Wenn
der Clip auf dem lokalen Computer nicht vorhanden ist, erstellt
der Player eine neue URL (Schritt 78) in der folgenden
Form: httg:// plus die IP-Adresse der in der Konfigurationsdatei
gespeicherten ausgewählten
Smart-Mirror-Site plus der Pfadname zu den Spiegel-Dateien (zum
Beispiel „/pub/mirror/") plus der Name des
Content Providers, der aus dem „SM-Parametern" in der EMBED-Anweisung
entnommen wird, plus der Dateiname, der aus der EMBED-Anweisung
entnommen wird. Die konstruierte URL wird genutzt, um den ausgewählten Clip
von der geeigneten Smart-Mirror-Site abzurufen, die von dem Konfigurationshilfsprogramm 34 ausgewählt wird
(Schritt 80). Wenn es mehr als eine Gruppe von Abgabe-Sites
für verschiedene
Content Provider gibt, wird der „SM-Parameter" weiterhin von dem
Player-Programm 36 genutzt, um zu bestimmen, welche Smart-Mirror-Site
in der Konfigurationsdatei in der konstruierten URL zu verwenden
ist (Schritt 82).
-
Wenn
der der konstruierten URL entsprechende Clip auf der Smart-Mirror-Site
nicht gefunden wird oder wenn nicht auf ihn zugegriffen werden kann,
wird das Herunterladen von der nächsthöher eingestuften
Smart-Mirror-Site in der Konfigurationsdatei ausgelöst (Schritt 84).
Wenn alle Abgabe-Sites versagen, wird das Herunterladen von der
Site des Original-Content-Providers nach Vorgabe direkt durch die
EMBED-Anweisung
ausgelöst.
-
Wenn
Wiedergabe nicht erlaubt wird, verhindert der Player, dass der Clip übertragen
wird (Schritt 88) und zeigt eine Bitmap an (Schritt 90),
die dem Benutzer mitteilt, dass Herunterladen nicht zulässig ist.
-
Wenn
das Player-Programm 36 festlegt, dass sich die EMBED-Markierung
auf einen Videoclip oder auf anderen Content bezieht, der von dem
System nicht gehandhabt wird, wird der Player prüfen, ob die in der Konfigurationsdatei
eingestellte Zugriffssteuerungsebene erlaubt, dass der Benutzer
diese Clips oder andere Dateien, die als „nicht eingestuft" gelten, wiedergeben
darf (Schritt 92). Wenn dies so ist, wird der Clip von
seinem Original-Content-Provider 22 über herkömmliche Mittel übertragen
(Schritt 94), und das Player-Programm 36 zeigt
die heruntergeladene Datei an (Schritt 96). Wenn dies nicht
der Fall ist, verhindert der Player, dass der Clip übertragen
wird (Schritt 98) und zeigt eine Meldung an (Schritt 100),
die dem Benutzer mitteilt, dass das Herunterladen nicht zulässig ist.
-
Beim
Herunterladen wird die Datendatei, die den gewünschten Clip darstellt, auf
dem lokalen Computer, üblicherweise
auf der Festplatte, der zu dem Benutzer-Endgerät 12 gehört, in einem
vorgegebenen Datenbereich gespeichert (Schritt 102). In einem
Ausführungsbeispiel
kann dieser Datenbereich durch das Player-Programm 36 auf
der Basis zuletzt-am-wenigstens-verwendet verwaltet werden. Das
heißt,
wenn in diesem Datenbereich kein Platz für diesen neuen Clip verbleibt,
kann oder können
der oder die zuletzt am wenigsten genutzte(n) (oder angesehene(n))
Clip(s) verworfen werden, um Platz zu schaffen (Schritt 104).
-
In
einem Ausführungsbeispiel
der Erfindung ist das Clientprogramm 36 in der Lage, Nachrichten an
den MSP 32 zu senden (Schritt 106), um anzudeuten,
ob das Herunterladen erfolgreich war. Dies Nachricht enthält die Internetadresse
des Benutzer-Endgerätes 12,
die Identität
der ausgewählten Servergruppe,
die Internetadresse der Site, die verwendet wird, um das Herunterladen
auszuführen,
die Internetadresse aller Sites, die versagt haben, den Namen der
heruntergeladenen Datei und die Uhrzeit des Herunterladens der Datei.
Die Informationen können
auch von dem MSP 32 genutzt werden, um Datei-Downloads
zu verfolgen und um in Echtzeit zu bestimmen, ob es Probleme mit
irgendwelchen Smart-Mirror-Sites gibt.
-
Alternativ
dazu kann das Clientprogramm 36 eine kleine lokale Datenbank
der Dateiübertragungsleistung
vorhalten. Insbesondere können
Informationen zu der Zeit gesammelt werden, die benötigt wird, bis
ein Server beginnt, die angeforderte Datei zu senden, zu der Stabilität der Datenübertragungsrate
und zu der Fehlerrate der Übertragung.
In einem gewissen Intervall (zum Beispiel wöchentlich oder ein Mal aller
100 Downloads) werden eine Nachricht, die die akkumulierten Informationen
der Dateiübertragungsleistung
enthält,
sowie die oben diskutierten Benutzer- und Serverinformationen (automatisch
oder auf Anforderung) an den MSP 32 gesendet (Schritt 106), um
die Datenbank des MSP zu aktualisieren. Diese zusätzlichen
Informationen erhöhen
das „Wissen" des MSP über die
Netzwerkleistung, ohne dabei zusätzlichen
Prüf-Overhead
zu erzeugen.
-
Diese
Daten sind besonders wertvoll bei der Ermittlung der Leistung der
Abgabe-Sites zum
Zwecke der Bewertung der Qualität
des von dem Abgabe-Site-Provider eingekauften Dienstes und um die Qualität des Dienstes
gegenüber
den Content Providern zu dokumentieren, um die Kosten des Systems zu
stützen.
Es wird jedoch anerkannt, dass ein Großteil der gleichen Informationen
durch neue Benutzer gewonnen werden können, die das Konfigurationshilfsprogramm 34 ausführen.
-
Weiterhin
ermöglicht
die Bereitstellung von Downloadinformationen an die MSP-Einrichtungen die
Nutzung der Erfindung als einen teilnehmerbasierten Dienst im Premiumbereich.
Da erfolgreiche Downloads in einer Datenbank verfolgt werden, kann ein
jeder Benutzer ein zugehöriges „Konto" zur Verfolgung von
Gebühren
haben. Dem Benutzer kann die Benutzung des Smart-Mirror-Systems
je Datei, je Megabyte, je Monat oder nach anderen bekannten Abrechnungsmethoden
in Rechnung gestellt werden. In einem Ausführungsbeispiel enthält die zu
einer Datei zugehörige
EMBED-Markierung Rechungslegungsinformationen beziehungsweise einen
Preis" für die Datei.
Das Verfolgen der Download-Leistung durch die Erfindung ermöglicht die
Vergabe von Nachlässen
und Gutschriften, die ausgegeben werden, wenn Downloads als übermäßig schwierig
oder langsam befunden werden.
-
Um
sicherzustellen, dass in den Smart-Mirror-Sites gespeicherte Dateien
nur von entsprechend autorisierten Benutzern der Erfindung benutzt
werden (zum Beispiel solche, die bezahlte Konten aufweisen), können die
an den Abgabe-Sites gespeicherten Dateien wahlweise in verschlüsselter
Form vorliegen, und der oben beschriebene Download-Schritt kann
einen Verschlüsselungsschritt
umfassen. Diese Verschlüsselung
und die Entschlüsselung
können
durch hinlänglich
bekannte Mittel durchgeführt
werden.
-
Wie
weiter oben bereits diskutiert wurde, können die von der Erfindung
verwalteten Clips dazu zugehörige
Content-Bewertungs-Informationen aufweisen. Dies wird dadurch erzielt,
dass ein „PG-Parameter" in der EMBED-Anweisung
dem Clip entsprechend bereitgestellt wird. In einem Ausführungsbeispiel
werden vier Merkmale bewertet: Nacktaufnahmen, jugendfreie Aufnahmen,
Verunglimpfung von Religionen und gewaltverherrlichendes Material. Dementsprechend
kann der PG-Parameter durch ein vierstelliges Argument spezifiziert
werden. Jedes Merkmal wird auf einer Skala von eins bis drei bewertet.
Eins bedeutet kein Filtern (das heißt der gesamte Content ist
zulässig),
zwei bedeutet ein gewisses Filtern (zum Beispiel entsprechend den
Kategorien des Kinder- und
Jugendschutzes, wie sie für
Fernsehprogramme angewendet werden) und drei bedeutet umfangreiches
Filtern (zum Beispiel für
Kinder). Die in der EMBED-Anweisung für eine Datei enthaltenen Bewertungsebenen
werden mit den in der in dem Benutzer-Endgerät 12 in dem vorhergehenden
Autorisierungsverfahren gespeicherten Bewertungsfilterebenen verglichen
und nur autorisierte Dateien werden übertragen.
-
Formatauswahl
-
Die
Erfindung ist in de Lage, ein bevorzugtes Dateiformat aus einer
Vielzahl von verfügbaren
Formaten auszuwählen.
Dementsprechend umfasst das Speichermodul 27 der ersten
Abgabe-Site 26 (1) Speicherplatz für eine Vielzahl
von Videoclips in verschiedenen Formaten. Vier Clips 116 bis 119 werden gezeigt,
wenngleich gemäß dem erfindungsgemäßen System
und Verfahren eine beliebige Anzahl genutzt werden kann.
-
Analog
dazu hat der Browser 38 (1) eine Vielzahl
von CODECs installiert. Drei CODECs 110 bis 114 werden
gezeigt, wenngleich gemäß dem erfindungsgemäßen System
und Verfahren eine beliebige Anzahl genutzt werden kann.
-
Ein
Ausführungsbeispiel
der Formatauswahl-Komponente der Erfindung wird in Verbindung mit
dem Fließbild
in 4 beschrieben werden. Das Formatauswahlverfahren
versucht, einen der Videoclips 116 bis 119 als
in einem bevorzugten Format, das sowohl in dem Speichermodul 27 (1)
gespeichert ist als auch von einem der CODECs 110 bis 114 (1)
unterstützt
wird, vorliegend zu identifizieren.
-
Eine
Webseite, die einen Videoclip zur Nutzung mit der Erfindung einbettet,
wie in 4 beschrieben wird, umfasst auch ein eingebettetes
Softwareprogramm. Dieses Softwareprogramm kann in der Sprache JavaScript
geschrieben sein, die nach dem Stand der Technik bekannt ist und
die mit einer Reihe von gegenwärtig
verfügbaren
Webbrowsern kompatibel ist, beispielsweise mit dem Netscape Navigator
und dem Microsoft Internet Explorer.
-
Zuerst
wird die Webseite, die den Videoclip enthält, durch das Benutzer-Endgerät geladen (Schritt 120).
Das eingebettete Softwareprogramm-„Script „ wird sodann durch den Browser
gelesen und interpretiert (Schritt 122).
-
Das
eingebettete Script spezifiziert eine Ablauffolge von bevorzugten
CODECs und entsprechenden Arten von Videoclip-Formaten. Clips in
einem jeden der spezifizierten Formate werden an einer Abgabe-Site
oder an mehreren Abgabe-Sites gespeichert (1). Die
CODECs werden in dem Script in einer priorisierten Reihenfolge spezifiziert.
Wenn der zuerst angegebene CODEC auf dem Benutzer-Endgerät gespeichert
ist, wird dieser verwendet. Wenn nur ein nachrangig aufgeführter CODEC
installiert ist, wird dieser anstelle dessen verwendet.
-
Zuerst
fordert das eingebettete Script den Browser auf, zu prüfen, ob
ein bevorzugter CODEC installiert ist (Schritt 124). Wenn
dies nicht der Fall ist (Schritt 126), prüft das eingebettete
Script, ob weitere CODECS unterstützt werden und zur Nutzung
verfügbar
sind (Schritt 136), und wenn dies so ist, kehrt es zurück und sendet
erneut eine Auforderung an den Browser (Schritt 124).
-
Wenn
einer der bevorzugten CODECs installiert ist (Schritt 126),
wird eine URL aus dem Speicherort des Videoclips erstellt (Schritt 128).
Zum Beispiel kann eine solche erstellte URL http://www.deliverysite.com/clips/watchme
sein. Es ist zu beachten, dass die erstellte URL keine Formattyp-Erweiterung aufweist.
Die erstellte URL wir sodann modifiziert (Schritt 130),
indem eine Formattyp-Erweiterung an den Speicherort des Videoclips
angehängt
wird (zum Beispiel „mpg" für in MPEG
formatierte Clips oder „avi" für in Microsoft
Video für
Windows formatierte Clips). Die verwendete Formattyp-Erweiterung ist abhängig von
dem ausgewählten
CODEC. Die daraus resultierende URL (zum Beispiel httpa/www.deliverysite.com/clips/watchme.mpg)
spezifiziert eine Videoclipdatei eindeutig in einem Format, das
von dem auf dem Benutzer-Endgerät
gespeicherten bevorzugten CODEC erkannt wird. Diese URL wird sodann
an die durch die URL spezifizierte Abgabe-Site übertragen, und der Clip wird
heruntergeladen (Schritt 132) und wiedergegeben (Schritt 134).
Wenn die Videoclipdatei empfangen wird, ruft der Browser automatisch den
richtigen CODEC zur Anzeige auf.
-
Wenn
alle bevorzugten CODECs geprüft worden
sind (Schritt 136) und wenn keiner davon auf dem Benutzer-Endgerät installiert
ist, fordert das eingebettete Script den Benutzer auf, einen bevorzugten
CODEC zu installieren (Schritt 138). Wenn sich der Benutzer
entscheidet, dies zu tun (Schritt 140), kann dem Benutzer
eine weitere Auswahl an CODECs zum Herunterladen angeboten werden
(Schritt 142), oder aber diese Auswahl kann von dem eingebetteten
Script automatisch durchgeführt
werden. Der CODEC wird danach heruntergeladen (Schritt 144)
und installiert (Schritt 146). Das eingebettete Script
wird erneut ausgeführt,
um zu prüfen,
ob der neue CODEC ordnungsgemäß installiert
wurde (Schritte 124 bis 134). Wenn der Benutzer
keinen neuen CODEC installieren möchte, wird eine Fehlernachricht
angezeigt (Schritt 148) und es wird kein Video heruntergeladen
oder wiedergegeben.
-
Unter
bestimmten Umständen
kann die Installation eines CODEC (Schritt 146) gegebenenfalls nicht
automatisch durch das eingebettete Script durchgeführt werden.
Zum Beispiel erkennen aktuelle Versionen des Netscape Navigator
solange keinen neuen Plug-in, bis die Anwendung beendet und neu gestartet
wird. In einem solchen Fall kann das eingebettete Script vor dem
Herunterladen des CODEC den Browser auffordern, zu ermitteln, um
welche Art es sich handelt (zum Beispiel Microsoft Internet Explorer
oder Netscape Navigator), und in Abhängigkeit von dem Ergebnis der
Abfrage alternative Schritte einzuleiten. In dem letztgenannten
Fall zum Beispiel kann das eingebettete Script dem Benutzer Anweisungen
erteilen, wie der heruntergeladene CODEC manuell zu installieren
ist. Andererseits ermöglicht der
Microsoft Internet Explorer ActiveX-Steuerungen, Programme, die innerhalb
des Browsers arbeiten, um ohne Eingriff des Benutzers heruntergeladen
und installiert zu werden. Das eingebettete Script kann einen browserabhängigen Code
zur Implementierung dieses Merkmals enthalten. Analog dazu können verschiedene
CODEC-Programme zur Anwendung mit den verschiedenen Browserumgebungen
ausgewählt
werden.
-
Das
vorstehende Ausführungsbeispiel
des Formatauswahlmoduls funktioniert, indem es eine Formattyp-Erweiterung
an eine ansonsten statische URL anhängt, die auf einen Videoclip
verweist. Alternativ dazu kann das Formatauswahlmodul so implementiert
werden, dass alternative Formate an verschiedenen Abgabe-Sites gespeichert
werden. In dieser alternativen Durchführung wird die URL in einem
Schritt erstellt (Schritt 128) und modifiziert (Schritt 130).
Ein jeder bevorzugter CODEC bewirkt, dass eine vollständig eindeutige
URL verwendet wird und nicht nur eine eindeutige Dateiart-Erweiterung. Zum
Beispiel kann httg://www.deliverysite.com/clips/watchme.mpg eine
MPEG-Version eines jeweiligen Videoclips darstellen, wohingegen http://www.othersite.com/videos/watchme.avi
eine AVI-Version desselben Clips darstellen kann.
-
Es
ist zu beachten, dass das Ausführungsbeispiel
des unter Bezugnahme auf 4 beschriebenen Formatauswahlmoduls
nicht wie oben bereits beschrieben mit dem Smart-Mirroring-System
zusammenwirkt. Jedoch können
eindeutige URLs für verschiedene
Clipformate verwendet werden, um die Nachfrage nach einem bestimmten
Clip über
mehrere Abgabe-Sites zu verteilen, wodurch eine primitive Form von
Mirroring implementiert wird.
-
Ein
zweites, gegenwärtig
bevorzugtes Ausführungsbeispiel
der Erfindung ist fähig
zu Dateiformatauswahl in Verbindung mit Spiegel-Site-Auswahl. Dieses
Ausführungsbeispiel,
das ein eingebettetes Softwareprogramm („Script") zusammen mit einem vorinstallierten
Plug-in-Programm verwendet, wird in Verbindung mit dem Fließbild aus 5 beschrieben werden.
-
Zuerst
wird die Webseite, die den Videoclip enthält, von dem Benutzer-Endgerät geladen
(Schritt 160). Das eingebettete Softwareprogramm „Script" wird danach gelesen
und interpretiert (Schritt 161).
-
Das
eingebettete Script prüft,
ob das Formatauswahl-Plug-in installiert ist (Schritt 162).
Wenn dies nicht der Fall ist, gibt das Script dem Benutzer die Möglichkeit,
das Plug-in herunterzuladen und zu installieren (Schritt 164).
Wenn der Benutzer das Plug-in nicht installieren möchte (Schritt 166),
fährt das
Script wie in 4 beschrieben fort (Label „A", Schritt 168, Übertragungssteuerung
zu Schritt 122).
-
Im
anderen Fall und wenn der Benutzer das Plug-in installieren möchte (Schritt 166),
wird das Plug-in heruntergeladen (Schritt 170) und installiert (Schritt 172).
Wie weiter oben bereits diskutiert wurde, kann das Plug-in gegebenenfalls
nicht automatisch von dem Script installiert werden. Wenn dies der Fall
ist, kann der Benutzer Anweisungen zur manuellen Installation desselben
erhalten.
-
Wenn
das Plug-in vorhanden ist oder wenn der Benutzer entsprechende Schritte
zu dessen Installation eingeleitet hat, wird das Plug-in sodann
von dem eingebetteten Script aufgerufen (Schritt 174). Dies
kann durch eine „EMBED"-Anweisung erfolgen, die
eine eingebettete Datei angibt, der von dem Browser ein Typ (oder
eine Erweiterung) mit dem Formatauswahl-Plug-in zugeordnet wird.
-
Die
EMBED-Anweisung gibt weiterhin Parameter an, die von dem Plug-in
für die
Formatauswahl zu verwenden sind. Das Plug-in empfängt diese
Parameter (Schritt 176), die eine priorisierte Liste bevorzugter
CODECs und Dateityp-Erweiterungen umfasst.
-
Wie
das Ausführungsbeispiel
mit dem eingebetteten Script fordert das Plug-in den Browser danach
auf, zu bestimmen, ob ein bevorzugter CODEC installiert. ist (Schritt 178).
Wenn dies nicht der Fall ist (Schritt 180), prüft das Plug-in,
ob weitere CODECs unterstützt
werden und für
Nutzung verfügbar
sind (Schritt 182), und wenn dies so ist, kehrt es zurück und übergibt
eine neue Aufforderung an den Browser (Schritt 178).
-
Wenn
ein bevorzugter CODEC installiert ist (Schritt 180), fordert
das Plug-in den Browser auf, zu ermitteln, ob die Funktionen eines
Aufforderungs-Umleiters verfügbar
sind (Schritt 184). Der Umleiter implementiert die Merkmale
des Smart Mirroring wie oben diskutiert und kann als separates Plug-in
von dem Formatauswahlmodul oder aber als Teil des gleichen Plug-ins
implementiert werden. In beiden Fällen können die Funktionen des Umleiters zur
Verfügung
stehen oder nicht, in Abhängigkeit
davon, ob der Benutzer einen Smart-Mirroring-Dienst abonniert hat,
die Software ordnungsgemäß konfiguriert
hat, und von anderen Aspekten. Wenn der Umleiter nicht verfügbar ist
(Schritt 186), wird der Benutzer aufgefordert, die entsprechende
Software herunterzuladen und zu installieren (Schritt 188).
-
Unabhängig davon,
ob der Umleiter verfügbar
ist oder nicht, wird danach eine URL von dem Plug-in aus den in
der EMBED-Anweisung übergebenen
Parametern erstellt (Schritt 190). Wie weiter oben in Verbindung
mit 4 diskutiert wurde, umfasst die erstellte URL
einen statischen Videospeicherort. Die URL wird sodann modifiziert,
indem eine Dateiart auf der Grundlage des bevorzugten CODEC, der
auf dem Benutzer-Endgerät vorhanden
ist, angehängt
wird (Schritt 192).
-
Der
Clip wird danach entweder direkt oder über den Umleiter (das heißt das Player-Programm 36)
heruntergeladen (Schritt 194), wodurch das Smart-Mirroring-Merkmal der Erfindung
wie in Zusammenhang mit 3 diskutiert implementiert wird. Insbesondere
wird, wenn das Player-Programm 36 vorhanden ist, die Steuerung
zu dem Schritt 60 übergehen,
der danach das Herunterladen des Clips verwaltet. Wiedergabe (an
den Schritten 72, 96 beziehungsweise 108)
wird durch den entsprechenden CODEC erzielt, der automatisch von
dem Browser oder dem Player-Programm 36 aufgerufen wird.
-
Wenn
der Clip direkt heruntergeladen wird (und die Merkmale des Umleiters
nicht verfügbar sind),
wird der Clip durch herkömmliche
Mittel wiedergegeben. Das Formatauswahl-Plug-in hat ihm jedoch gegebenenfalls
eine Konfigurationsdatei zugeordnet, die ein Listing von Abgabe-Sites
enthält,
das Videoclips enthält,
die durch die Erfindung verwaltet werden. Anstelle die auf der Webseite
für das
Herunterladen eines Clips gespeicherte URL zu benutzen, kann das
Plug-in eine Zufallsauswahl aus der Liste von Abgabe-Sites vornehmen
und den Namen des Clips sowie den bevorzugten Formattyp an diese ausgewählte Abgabe-Site
anhängen.
Das Herunterladen kann danach von der willkürlich ausgewählten Abgabe-Site
erfolgen (Schritt 194). Wenngleich dies nicht das Smart-Mirroring-Verfahren
bereitstellt, bewirkt es dennoch ein bestimmtes Maß an Lastverteilung.
Wenngleich die an einem jeweiligen Benutzer-Endgerät vorgenommene
Auswahl gegebenenfalls nicht die beste für dieses Endgerät sein mag, wird
die Nachfrage nach dem Videoclip auf eine Vielzahl von Abgabe-Sites
verteilt.
-
Wenn
die Videoclip-Datei empfangen wird, ruft der Browser automatisch
den richtigen CODEC zur Anzeige auf (Schritt 196).
-
Wenn
alle bevorzugten CODECs durch das Plug-in geprüft worden sind (Schritt 182)
und wenn keiner auf dem Benutzer-Endgerät installiert ist, fordert
das eingebettete Script den Benutzer auf, einen bevorzugten CODEC
zu installieren (Schritt 198). Wenn sich der Benutzer entscheidet,
dies zu tun (Schritt 200), kann der Benutzer eine weitere
Auswahl von CODECs zum Herunterladen erhalten (Schritt 202),
oder aber diese Auswahl kann von dem Plug-in automatisch durchgeführt werden.
Der CODEC wird danach heruntergeladen (Schritt 204) und installiert
(Schritt 206). Das Plug-in prüft danach die ordnungsgemäße Installation
des neuen CODEC und nutzt diesen, wenn er richtig installiert wurde
(beginnend an dem Schritt 178). Wenn der Benutzer keinen
neuen CODEC installieren möchte,
wird eine Fehlernachricht angezeigt (Schritt 208) und es
wird kein Video heruntergeladen oder wiedergegeben.
-
Wie
weiter oben bereits ausgeführt
wurde, kann die Installation eines CODEC (Schritt 206)
gegebenenfalls nicht automatisch durch das eingebettete Script durchgeführt werden.
Dementsprechend kann eine Reihe von browserabhängigen Schritten ausgeführt werden,
um den CODEC entweder automatisch zu installieren oder um dem Benutzer
Anweisungen zum manuellen Installieren zu erteilen, wie weiter oben
in Verbindung mit 4 beschrieben wurde.
-
Das
letztgenannte Ausführungsbeispiel
des Formatauswahlmoduls wird als zwei Hauptfunktionen aufweisend
beschrieben. erstens Auswahl des bevorzugten CODEC und Dateiformats
und zweitens Auswahl einer Abgabe-Site mittels des Smart-Mirroring-Systems und -Verfahrens.
Es ist zu beachten, dass die genaue Reihenfolge dieser beiden Operationen
nicht von größter Wichtigkeit
ist. Wenngleich das beschriebene Ausführungsbeispiel die Formatauswahl
zuerst ausführt
und als zweites die Abgabe-Site auswählt, ist die umgekehrte Reihenfolge ebenso
funktionsfähig
und kann gewisse Vorteile und Nachteile im Vergleich zu dem offengelegten
Ausführungsbeispiel
aufweisen.
-
Angesichts
des oben Gesagten wird verständlich
werden, dass Ausführungsbeispiele
der Erfindung in zahlreichen verschiedenen Anwendungen angewendet
werden können,
um die Gewinnung und Auswertung von Leistungsdaten für Netzwerke
zwischen einem gegebenen Benutzer und einem Content Provider oder
einer Abgabe-Site zu ermöglichen. Obwohl
das beschriebene Ausführungsbeispiel
das System als im Kontext des Internet arbeitend beschreibt, kann
sich ein solches System anerkanntermaßen auch in anderen Netzwerkumgebungen,
wie zum Beispiel in unternehmensinternen sogenannten Intranets,
als nützlich
erweisen.
-
Wenngleich
darüber
hinaus die veranschaulichenden Ausführungsbeispiele vorwiegend
zur Anwendung in einem Video-Abgabesystem beschrieben werden, kann
ein erfindungsgemäßes System anerkanntermaßen auch
zur Verteilung verschiedener Arten von Computerdaten (wie zum Beispiel
Anwendungsprogramme, Datenbankdateien und andere Geschäftsinformationen,
Virtual-Reality-Dateien, Multimediadateien, wie zum Beispiel Macromedia-Shockwave-Dateien,
und große
Textdateien, wie zum Beispiel Bücher)
verwendet werden. Solche anderen Arten von Daten können durch
die Erfindung wie oben ausführlich
beschrieben in verschiedenen Content-Provider-Gruppen verwaltet
werden. Eine unterschiedliche Art von Programm (nicht das Player-Programm 36 oder
die CODECs) würde
dann typischerweise an dem Benutzer-Endgerät 12 aufgerufen werden,
um andere Arten von Daten anzusehen oder zu nutzen.
-
Es
ist weiterhin zu beachten, dass eine bestimmte Funktionalität, die als
an dem Benutzer-Endgerät 12 ausgeführt beschrieben
wird (insbesondere bestimmte Funktionen, die von dem Konfigurationshilfsprogramm 34 oder
von dem Client-/Player-Programm 36 durchgeführt werden)
als selbstständiges Programm,
als ein „Plug-in" oder als eine „Hilfsanwendung", implementiert werden
kann, das innerhalb eines Browserprogramms läuft, oder als Java-Applet, das
von einer Abgabe-Site heruntergeladen wird, um in einer Browserumgebung
ausgeführt
zu werden. Für
Endgeräte,
die in der Lage sind, das Betriebssystem Microsoft Windows auszuführen, kann
auch eine als Microsoft ActiveX bekannte Umgebung hilfreich sein
und zur Implementierung von Softwareprogrammen genutzt werden, die
analog zu den oben beschriebenen „Plug-ins" arbeiten.