-
Technisches Gebiet
-
Die
Erfindung bezieht sich auf Systeme und Verfahren zum Liefern von
webbezogenen Informationen über
ein Verbreitungsmedium. Die Erfindung bezieht sich ferner auf Computergeräte und -software,
die zum Implementieren von Aspekten der Systeme und Verfahren genutzt
werden.
-
Hintergrund der Erfindung
-
Die
Erfindung betrifft ein System zum Liefern von Web-Inhalt über ein
Verbreitungsmedium. Öffentliche
Netzwerke, und vor allem das Internet, entwickeln sich zu einem
Hauptkanal für
Kommunikation, Unterhaltung und Geschäftsdienstleistungen. Das Internet
ist ein Netzwerk, das durch die kooperative Zusammenschaltung von
Computernetzwerken, einschließlich
lokaler und Weitverkehrsnetzwerke, gebildet ist. Es verbindet Computer
rund um die Erde mit existierenden und sogar inkompatiblen Technologien
durch Verwendung gemeinsamer Protokolle, die problemlos die einzelnen
und mannigfaltigen Komponenten integrieren.
-
Das
Internet ist jüngst
durch den überwältigenden
und schnellen Erfolg des World Wide Web (WWW oder Web) populär gemacht
worden. Das Web verbindet verschiedene Themen in einem komplexen,
nicht sequenziellen Netz von Assoziationen, die einem Nutzer das
Durchsuchen von einem Thema zu einem anderen unabhängig von
der dargeboten Reihenfolge der Themen ermöglicht. Das Web entwickelt
sich derzeit rasch zu einem Standard beim Verbreiten, Finden und
Zugreifen auf Informationen jeglicher Art. Ein „Web-Browser" ist eine Anwendung,
die auf dem Computer eines Benutzers zum Navigieren durch das Web
ausgeführt
wird. Der Web-Browser erlaubt es einem Nutzer, Hypermedien-Inhalt
aus dem WWW – einschließlich Text,
Audio, Bildern, Video und anderer Daten – abzurufen und wiederzugeben.
-
Die
erstaunliche Wachstumsrate bei dem Bedarf an Daten über das
Internet beruht teilweise auf einem wachsenden Publikum. Das World
Wide Web hat die Schwelle überschritten,
die es für
ein viel größeres Publikum
erschwinglich und interessant macht. Es sind Informationen zu einer
sehr großen
Vielfalt von Themen verfügbar
und es existieren Werkzeuge, die Personen beim kosteneffizienten
Finden und Betrachten der Informationen unterstützen. Ein anderer, den Internetwachstum
verstärkender
Faktor sind die zunehmenden Datenanforderungen pro einzelnen Nutzer.
Es gibt einen Trend bei Websites, sich von der Verwendung von reinem
Text zu reichhaltigeren Medien, wie beispielsweise Bildern, Audio
und Video, zu entwickeln. Das Hinzufügen dieser reichhaltigeren
Medien ist beliebt, da sie Informationen klarer darstellen, wodurch
die Wirkung der Site und deren Popularität gefördert wird.
-
Leider
ist ein Problem beim Begegnen des fortgesetzten Wachsens und Akzeptierens
des Internets, dass die konventionellen Verfahren zum Zugriff auf
das Web nicht gut skalierbar sind, um dem schnellen Wachsen des
Bedarfs zu genügen.
Die Dienstgüte
für das
Web wird durch den Nutzer intuitiv als die Zeitspanne zwischen der
Anforderung einer Web-Seite und deren Betrachtbarkeit gemessen.
Internet-Nutzer
sind durch ihre Erfahrungen mit Fernsehen und unabhängigen Multimedia-Anwendungen daran
gewöhnt
worden, unmittelbare Ergebnisse auf Anforderungen zu erwarten. Benutzer
sind an das Wechseln des Kanals und unmittelbare Betrachten des
Videoinhalts für
diesen Kanal auf dem Bildschirm gewohnt. Das Internet ist jedoch
nicht in der Lage, Daten unmittelbar zu liefern. Den größten Teil
weist das Internet signifikante Latenzprobleme auf, die eine ganz
gewöhnliche
Betätigung
beim Durchsuchen des Webs zu langwierigen Lektionen in Geduld reduzieren.
-
Das
grundlegende Dilemma ist, dass sich die Dienstgüte verschlechtert, je mehr
Personen versuchen, das Web zu benutzen. Verwirrender ist die logische
Folge, dass der Service für
populäre
Websites typischerweise viel schlechter ist als für unpopuläre Sites.
An der Wurzel des Dienstproblems ist – als eine Folge zu geringer
Bandbreite in dem Verteilnetzwerk – die Unfähigkeit, schnell Web-Daten
bereitzustellen. „Bandbreite" ist die Menge von
Daten, die über
ein bestimmtes Netzwerksegment zu irgendeiner Zeit bewegt werden
kann. Das Internet ist eine Ansammlung verschiedener Technologien
mit verschiedenen zugeordneten Bandbreiten. Die Verteilung über das
Internet ist für
gewöhnlich
durch das Segment mit der geringsten verfügbaren Bandbreite beschränkt.
-
Man
betrachte das in 1 dargestellte Internetsystem 20.
Das Internetsystem 20 umfasst einen Web-Server 22,
der Daten speichert und über
das Internet 24 regionalen POP (Point Of Presence)-Betreibern oder
ISPs (Independent Service Providers), wie durch den ISP 26 dargestellt,
bereitstellt. Der ISP 26 stellt für viele Benutzer die Verbindung
zu dem Internet 24 zur Verfügung, wie durch die Teilnehmercomputer 28, 30 und 32 dargestellt.
-
Der
ISP 26 ist mit dem Internet 24 über eine
Netzwerkverbindung 34 verbunden. In dieser beispielhaften
Darstellung ist die Netzwerkverbindung 34 eine „T1"-Verbindung. „T1" ist eine Einheit
der Bandbreite mit einer Grunddurchsatzgeschwindigkeit von ungefähr 1,5 Mbit/s
(Megabit pro Sekunde). Eine andere gebräuchliche Verbindung mit hoher
Bandbreite ist eine T3-Verbindung, die eine Grunddurchsatzgeschwindigkeit
von ungefähr
44,7 Mbit/s aufweist. Zum Zwecke der Erläuterung des Stands der Technik
und der praktischen Probleme des Lieferns von Inhalt über das
Internet ist es jedoch ausreichend zu verstehen, dass es auch zwischen dem
Web-Server 22 und
dem Internet 24 eine Verbindung mit begrenzter Bandbreite
gibt.
-
Die
Teilnehmercomputer
28,
30 und
32 sind
mit ihrem Host-ISP
26 über
Hausanschlussleitungen, wie beispielsweise Telefon- oder Kabelleitungen
und kompatible Modems verbunden. Als Beispiele von kommerziell verfügbaren Technologien
ist der Teilnehmercomputer
28 mit dem ISP
26 über eine
14,4k-Verbindung
36 verbunden, die aus einer Standard-Telefonleitung
und einem V.32bis-Modem besteht, um eine maximale Datenrate von
14,4 kbit/s (Kilobit pro Sekunde) zu ermöglichen. Teilnehmercomputer
30 ist
mit dem ISP
26 mit einer 28,8k-Verbindung
38 (Telefonleitung
und V.34-Modem) verbunden, die eine Datenrate von 28,8 kbit/s unterstützt. Teilnehmercomputer
32 ist
mit dem ISP
26 über
eine ISDN-Verbindung
40 verbunden, die eine besondere Art
von Telefonleitung ist und einen Datenfluss im Bereich von 128 bis
132 kbit/s ermöglicht.
Tabelle 1 fasst Verbindungstechnologien, die heute verfügbar sind,
zusammen. Tabelle
1: Verbindungstechnologien und Durchsatz
Verbindungsart | Grundgeschwindigkeit
(kbit/s) |
V.32bis-Modem | 14,4 |
V.34-Modem | 28,8 |
56K-Standleitung | 56 |
ISDN
BRI (1 Kanal) | 56-64 |
ISDN
BRI (2 Kanäle) | 128-132 |
Frame
Relay | 56-1544 |
Partielles
T1 | 256-1280 |
ISDN
PRI | 1544 |
Volles
T1 (24 Kanäle) | 1544 |
ADSL | 2000-6000 |
Kabelmodem | 27000 |
T3 | 44736 |
-
Mit
einer T1-Verbindung zu dem primären
Verteilnetzwerk 24 kann der ISP 26 einen maximalen
Datenfluss von etwa 1,5 Mbit/s ermöglichen. Diese Bandbreite ist
verfügbar,
um alle Teilnehmer des ISP zu versorgen. Wenn der Teilnehmercomputer 28 verbunden
ist und Datendateien herunterlädt,
benötigt
er einen 14,4 kbit/s-Anteil der 1,5 Mbit/s-Bandbreite. Teilnehmercomputer 30 und 32 verbrauchen
je 28,8 kbit/s- und
128 kbit/s-Anteile der verfügbaren
Bandbreite.
-
Der
ISP 26 kann gleichzeitige Anfragen von etlichen Teilnehmern
entgegenkommen. Je mehr Teilnehmer jedoch die Dienste des ISP nutzen,
desto weniger verfügbare
Bandbreite zum Befriedigen der Teilnehmeranfragen ist verfügbar. Wenn
zu viele Anfragen empfangen werden, wird der ISP 26 überbelastet
und kann außer
Stande sein, die Anfragen rechtzeitig angemessen zu bedienen, was
bei den Teilnehmern Frustration verursacht. Falls die Latenzprobleme
anhalten, kann der ISP mehr Bandbreite durch Hinzufügen zusätzlicher Kapazität (beispielsweise
durch Aufrüstung
auf eine T3-Verbindung oder Hinzufügen mehrerer T1-Verbindungen)
erwerben. Leider kann das Hinzufügen
von mehr Bandbreite wirtschaftlich nicht klug für den ISP sein.
-
Die
dem ISP auferlegte Belastung schwankt typischerweise über verschiedene
Zeiten des Tages hinweg. Das Hinzufügen teurer Bandbreite zum leichteren
Bedienen in kurzen Zeiten mit hohen Anforderungen kann nicht profitabel
sein, falls die aktuelle Kapazität
ausreichend den Teilnehmerverkehr während des größten Teils
des Tages bedient.
-
Die
Latenzprobleme sind möglicherweise
beim Arbeiten mit Video am stärksten
ausgeprägt.
Es gibt wenige Dinge, die für
einen Nutzer frustrierender sind als der Versuch, Videos über das
Internet herunterzuladen. Das Problem ist, dass Video eine große Bandbreite
im Vergleich zu Textdateien, Grafiken oder Bilder benötigt. Zusätzlich – im Gegensatz
zu stehenden Bildern oder Textdateien – wird Video als bewegte Bilder
dargestellt, die kontinuierlich ohne Unterbrechung abgespielt werden.
Video benötigt
für ein
Streaming der Daten in Echtzeit typischerweise 1,2 Mbit/s. Diese
Notwendigkeit an 1,2 Mbit/s Durchsatz verbraucht nahezu alles einer
T1-Bandbreite (1,5
Mbit/s). Entsprechend gibt es, wenn mehrere Teilnehmer mit dem ISP
verbunden sind und ein Teilnehmer eine Video-Datei anfordert, generell
nicht genug Kapazität,
um das Video in Echtzeit von dem Web-Server 22 über das
Internet 24 zu dem anfordernden Teilnehmer zu streamen.
Stattdessen wird die Video-Datei typischerweise in seiner Gesamtheit
geliefert und erst dann auf dem Teilnehmercomputer abgespielt. Leider
ist sogar das Herunterladen der Video-Dateien in dem Block-Datenformat oft
lästig
und benötigt gewöhnlich eine übermäßige Menge
an Zeit.
-
Man
betrachte das folgende Beispiel: Angenommen ein Teilnehmer wünscht, auf
eine Website mit einem 20 Sekunden langen Videoclip zuzugreifen.
Bei 1,2 Mbit/s verursacht der 20 Sekunden langen Clip das Herunterladen
einer 24 MByte große
Datei über
das Internet. Falls der Nutzer eine mäßige 14,4 kbit/s-Verbindung
hat, würde
das Herunterladen der gesamten Datei ungefähr 28 Minuten benötigen.
-
Nun
angenommen, dass die Teilnehmer-/ISP-Verbindung ausreichend groß zum Handhaben
von Echtzeit-Video-Streaming der Videodatei ist, d. h. dass der
Teilnehmercomputer die Videodaten wiedergeben kann, wie sie vom
ISP empfangen werden. Trotz der Bandbreite der Teilnehmer-/ISP-Verbindung
kann das Echtzeit-Video-Streaming
nach wie vor unerreichbar sein, falls die T1-Verbindung 34 zwischen
dem ISP 26 und dem Verteilnetzwerk 24 nicht in
der Lage oder wegen Richtlinienproblemen nicht willens ist, 1,2
Mbit/s seiner Bandbreite für
die Videodatei aufzuwenden. Anfragen nach dem 20 Sekunden langen
Videoclip, die während
Hauptverkehrszeiten bei dem ISP getätigt werden, könnten durch
die ISP-/Netzwerk- Verbindung äußerst sicher
nicht entgegengekommen werden. Da das Hinzufügen von mehr Bandbreite eine
schlechte Investition für
den ISP sein kann, kann der ISP keinen wirtschaftlichen Antrieb
haben, das Latenzproblem zu beseitigen. Das Ergebnis ist, dass einige
Benutzer durch das Fehlen der Möglichkeit
des Empfangs von Streaming-Video gestört sein könnten, auch wenn ihre eigene
Verbindung zu dem ISP zum Unterbringen von Streaming-Video in der
Lage wäre.
-
Das
Latenzproblem wird weiter verschärft,
wenn die Verbindung zwischen dem Inhalts-Server 22 und dem
Verteilnetzwerk 24 ebenso belastet ist. Der Mangel an ausreichender
Bandbreite bei der Inhalts-Server-/Netzwerk-Verbindung könnte ebenso
Echtzeit-Video-Streaming über
das Internet verhindern, unabhängig von
den Bandbreiten der Netzwerk-/ISP-Verbindung oder der ISP-/Teilnehmer-Verbindung.
Falls alle Verbindungen an ausreichend Bandbreite mangeln, können sich
die Latenzprobleme steigern.
-
Dementsprechend
bieten die traditionellen Techniken des Hinzufügens von mehr Bandbreite zu
jeder Verbindung keine akzeptable Architektur, die zum Begegnen
steigender Anforderungen skalierbar ist. Es bleibt eine Notwendigkeit,
verbesserte Techniken zum Erleichtern der Verteilung von Web-Inhalt über das
Internet zu entwickeln.
-
Es
sei bemerkt, dass der relevante Stand der Technik eine Veröffentlichung
von Clausen H D und anderen umfasst: „Internet services via direct
broadcast satellites",
1997, IEEE International Performance, Computing and Communications
Conference, Phoenix/TEMPE, 5.-7. Februar 1997, 5. Februar 1997,
S. 468-475, XP000753714, Institute of Electrical and Electronics
Engineers. Sie offenbart die Forschung in gerichteten Hochleistungsverteilsatellitensystemen.
Sie bezieht sich auf eine Satellitensimulation, die einen Audiounterträger eines
Standard-Fernseh-Transponder,
der eine Bitrate von 192 kbit/s aufweist, und auf die erfolgreiche
Implementierung eines zweiten Phasensystems, das bei zwischen 64
kbit/s und 2 Mbit/s betrieben wird.
-
Zusammenfassung der Erfindung
-
Die
Erfindung betrifft ein System zum Liefern von Web-Inhalt über ein
Verbreitungsmedium von einer Webcast-Zentrale zu vielen Clients.
Die Webcast-Zentrale weist einen Server, der Web-Inhalt von Sites
in dem Internet sammelt, und eine Übertragungseinheit auf, die
den Web-Inhalt zu den Clients über
das Verbreitungsmedium liefert.
-
Der
Server weist einen Sammler zum kontinuierlichen Sammeln von Web-Inhalt,
typischerweise in Form von Web-Seiten, von ausgewählten Sites
auf. Ein Ablaufplaner gibt dem Sammler an, welche Sites und zu welchen
Zeiten der Web-Inhalt zu sammeln ist. Vorzugsweise setzt der Ablaufplaner
die Sammelzeiten außerhalb
der Spitzenlastzeiten der Sites fest. Der Ablaufplaner führt eine
Datenbank für
den Ablaufplan der gewünschten
Websites und -Inhalte basierend auf Präferenzen, die durch einen Administrator
bei der Webcast-Zentrale eingegeben wurden. Der Sammler ruft den
Inhalt ab und speichert ihn in einem Inhalts-Cache, um eine aktuelle
Kopie des Web-Inhalts bei der Webcast-Zentrale zu unterhalten.
-
Der
Sammler ist zum Sammeln einer Start-Web-Seite von einer Grund-URL
(Universal Resource Locator) und irgendwelcher zusätzlichen
Web-Seiten innerhalb einer vorherbestimmten Tiefe unterhalb der Grund-URL
von jeder Site konfigurierbar. Der Administrator setzt die gewünschte Tiefe
für jede
Site fest. Der Sammler sammelt auch irgendwelche durch die gesammelten
Web-Seiten referenzierten Inline-Grafikdateien.
-
Der
Webcast-Server weist eine Packeinheit zum Abrufen von Web-Inhalt
aus dem Inhalts-Cache auf und packt den Web-Inhalt in Paketdateien.
Die Packeinheit speichert die Paketdateien in einem Paketspeicher, der
von dem Inhalts-Cache getrennt ist. Die Pakete umfassen Daten von
dem Web-Inhalt und andere durch den Server zur Verfügung gestellte
Informationen, wie beispielsweise die Größe und die Änderungszeit.
-
Die Übertragungseinheit
nimmt die Paketdateien aus dem Paketspeicher, segmentiert sie in
einzelne Pakete und überträgt die Pakete über das
Verbreitungsmedium. Vorzugsweise verwendet die Übertragungseinheit einen Verbreitungssender,
der als ein fehlertolerantes Verbreitungs-Dateiübertragungssystem ausgestaltet
ist. Das Verbreitungsmedium kann irgendein Medium sein, das Multicast-Pakettransporte
unterstützt. Mögliche Transporte
umfassen Ethernet-LANs (Local Area Networks) und das Kodieren auf
digitale Satelliten- oder Rundfunk-Fernsehsignale.
-
Jeder
Client ist mit einem Empfänger
zum Empfangen der Verbreitungspakete ausgestattet. Der Client unterhält eine
Teilnehmerdatenbank zum Speichern eines Verzeichnisses mit dem durch
die Webcast-Zentrale gesammelten Web-Inhalt. Ein Teilnehmer-Benutzerinterface
versetzt einen Nutzer in die Lage, bevorzugten Web-Inhalt von dem Verzeichnis
der Teilnehmerdatenbank auszuwählen.
Der Client erzeugt ein auf die Nutzerpräferenzen basierendes Filter.
Das Filter veranlasst den Empfänger,
lediglich bevorzugten Web-Inhalt zu sammeln, während Pakete mit ungewünschtem
Web-Inhalt ignoriert werden.
-
Wenn
bevorzugter Web-Inhalt empfangen wird, rekonstruiert der Client
die Paketdateien und speichert sie temporär in einem Paketspeicher. Eine
Entpackeinheit rekonstruiert den Web-Inhalt aus den Paketdateien in
dem Paketspeicher. Die Entpackeinheit ist dazu ausgestaltet festzustellen,
ob der in den Verbreitungspaketen empfangene Web-Inhalt aktueller
als der gleiche Web-Inhalt ist, den der Nutzer selbst von der gleichen
Site gesammelt haben könnte.
Falls der Verbreitungsinhalt eine aktuellere Kopie umfasst, behält der Client
diese Version; ansonsten verwirft der Client die Verbreitungspaketdateien
zugunsten der aktuelleren Version.
-
Der
Client kommentiert irgendwelche in den Web-Seiten enthaltenen Hyperlinks.
Die Kommentare unterscheiden zwischen Links, die betätigt worden
sind, Links, die zu lokal auf dem Client als ein Ergebnis der Verbreitungsübertragung
gespeichertem Inhalt führen,
und Links, die zu entfernt von dem Client gespeichertem Inhalt führen. Die
Kommentare können
in der Form von Farbabweichungen oder stilistischen Änderungen erfolgen.
-
Gemäß einem
ersten Aspekt der Erfindung gibt es ein System zum Liefern eines
Web-Inhalts über
ein Verbreitungsmedium mit: einer Webcast-Zentrale, die zum Sammeln
eines Web-Inhalts von Sites in dem Internet angepasst ist, wobei
die Webcast-Zentrale einen zum Speichern eines Web-Inhalts ausgeführten ersten Cache
und einen zum Speichern von Paketdateien ausgeführten zweiten Cache aufweist, wobei
die Webcast-Zentrale zum Packen des Web-Inhalts aus dem ersten Cache
in die Paketdateien ausgeführt
ist, einem Verbreitungssender, der zum Senden der Paketdateien aus
dem zweiten Cache über
das Verbreitungsmedium angepasst ist, und eine Clientrecheneinrichtung,
die zum Empfangen der Paketdateien, zum Filtern der Paketdateien
zum Behalten der Dateien, die von einem Nutzer bevorzugten Web-Inhalt
enthalten, und zum Rekonstruieren des bevorzugten Web-Inhalts aus
den behaltenen Paketdateien angepasst ist.
-
Gemäß einem
zweiten Aspekt der Erfindung umfasst eine Webcast-Zentrale, die
zum Sammeln eines Web-Inhalts von Sites im Internet angepasst ist:
einen ersten Cache, der zum Speichern eines Web-Inhalts ausgeführt ist,
einen zweiten Cache, der zum Speichern von Paketdateien ausgeführt ist,
und eine Packeinheit, die zum Packen des Web-Inhalts von dem ersten
Cache in Paketdateien ausgeführt
ist, worin der Web-Inhalt Web-Seiten umfasst und die Packeinheit
zum Organisieren der Seiten in alphabetischer Reihenfolge entsprechend
ihren URLs (Universal Resource Locators) und zum Bilden von Paketdateien,
die Seiten von den gleichen Sites enthalten, ausgestaltet ist.
-
Gemäß einem
dritten Aspekt der Erfindung gibt es ein Verfahren zum Liefern eines
Web-Inhalts an eine Vielzahl von Clients von einer Webcast-Zentrale,
wobei das Verfahren umfasst: Sammeln des Web-Inhalts von Sites im
Internet durch die Webcast-Zentrale, Speichern des Web-Inhalts in
einem ersten Cache durch die Webcast-Zentrale, Packen des Web-Inhalts
aus dem ersten Cache in Paketdateien durch die Webcast-Zentrale,
Speichern der Paketdateien in einem zweiten Cache durch die Webcast-Zentrale,
Verbreiten der Paketdateien aus dem zweiten Cache über das
Verbreitungsmedium durch die Webcast-Zentrale, und worin das Verfahren
zusätzlich
die folgenden Schritte umfasst: Empfangen der Paketdateien bei einer
Client-Recheneinrichtung, Filtern der Paketdateien zum Behalten
der Dateien, die von einem Benutzer bevorzugten Web-Inhalt enthalten
und Rekonstruieren des bevorzugten Web-Inhalts aus den behaltenen
Paketdateien.
-
Gemäß einem
vierten Aspekt der Erfindung gibt es ein Computerprogramm, das – wenn es
in ein Computersystem geladen und dort ausgeführt wird – Anweisungen zum Liefern eines
Web-Inhalts über
ein Verbreitungsmedium von einer Webcast-Zentrale zu einer Vielzahl von Clients
umfasst, wobei die Anweisungen umfassen:
ein Codesegment zum
Anweisen eines Computersystems zum Sammeln von Web-Inhalt von Sites
im Internet, ein Codesegment zum Anweisen eines Computersystems
zum Speichern des Web-Inhalts in einem ersten Cache, ein Codesegment
zum Anweisen eines Computersystems zum Packen des Web-Inhalts aus
dem ersten Cache in Paketdateien, ein Codesegment zum Anweisen eines
Computersystems zum Speicher der Paketdateien in einem zweiten Cache,
ein Codesegment zum Anweisen eines Computersystems zum Verbreiten
der Paketdateien aus dem zweiten Cache über das Verbreitungsmedium,
ein Codesegment zum Warnen eines Computersystems im Hinblick auf
den Empfang der Paketdateien bei einer Client-Recheneinrichtung, ein Codesegment zum
Anweisen eines Computersystems zum Filtern der Paketdateien, die
von einem Benutzer bevorzugten Web-Inhalt enthalten, und ein Codesegment
zum Anweisen eines Computersystems zum Rekonstruieren des bevorzugten
Web-Inhalts aus dem behaltenen Paketdateien.
-
Andere
vorteilhafte Merkmale sind in den abhängigen Patentansprüchen beansprucht.
-
Kurze Beschreibung der Figuren
-
1 zeigt
eine schematische Darstellung eines Internetsystems gemäß Stand
der Technik.
-
2 zeigt
eine schematische Darstellung eines Webcast-Systems zum Liefern
von Web-Inhalt von einer Webcast-Zentrale über ein Verbreitungsmedium
an eine Vielzahl von Clients.
-
3 zeigt
ein Funktionsblockdiagramm der Webcast-Zentrale.
-
4 zeigt
ein Funktionsblockdiagramm eines Clients.
-
5 zeigt
eine schematische Darstellung eines Teilnehmer-Benutzerinterface,
das auf dem Client implementiert ist, um einen Nutzer in die Lage
zu versetzen, bevorzugten Web-Inhalt auszuwählen, der über das Verbreitungsmedium
geliefert werden soll.
-
6 zeigt
eine schematische Darstellung des Teilnehmer-Benutzerinterface gemäß einer
zweiten Implementierung.
-
Detaillierte Beschreibung
der bevorzugten Ausführungsform
-
2 zeigt
ein Webcast-System 50 zum Liefern von Web-Inhalt von einer
Webcast-Zentrale 52 über ein
Verbreitungsmedium 54 zu einer Vielzahl von Clients 56(1)-56(M). Die
Webcast-Zentrale 52 sammelt Web-Inhalt aus dem World Wide
Web durch Besuchen der Websites 58(1)-58(N) über das
Internet 60 und durch Abrufen des Inhalt von diesen Sites.
Der Web-Inhalt liegt typischerweise in Form von Web-Seiten vor, die bei
den Sites gefunden werden. Eine Web-Seite umfasst einen Titel, Sammlung
von Informationen und Zeiger oder „Hyperlinks" zu anderen Informationen.
Eine Web-Seite kann aus verschiedenen Arten von Inhalt einschließlich Computerdaten,
Audio, Video, Animation, Bitmaps oder anderen Grafiken, Anwendungen
oder anderen ausführbaren
Code, Text, Hypermedia oder anderen Multimediaarten aufgebaut sein.
-
Die
Webcast-Zentrale 52 sammelt Web-Seiten von dem World Wide
Web 60 des Internets und speichert sie in einem Seiten-Cache 62.
Ein Systemadministrator richtet einen Ablaufplan ein, der die Sites,
welche durch die Webcast-Zentrale 52 besucht werden, den
Zeitpunkt und die Häufigkeit
der Besuche und die Art des gesammelten Inhalts festlegt.
-
Abgesehen
von dem Sammelvorgang ruft die Webcast-Zentrale 52 die
Seiten aus dem Seiten-Cache 62 ab, bündelt sie in Verbundpaketdateien
und speichert sie in einem Paketspeicher 64. Der Paketspeicher 64 ist
vorzugsweise eine von dem Seiten-Cache 62 getrennte Datenbank.
Die Webcast-Zentrale 52 ruft die Paketdateien aus dem Paketspeicher 64 ab,
segmentiert die Paketdateien in einzelne Pakete und überträgt die Pakete über das
Verbreitungsmedium 54.
-
Das
Verbreitungsmedium 54 ist ein unidirektionales Netzwerk,
in dem Pakete von der Webcast-Zentrale 52 zu den Clients 56(1)-56(M) ohne
der Notwenigkeit einer Rückwärtskommunikation
von den Clients geliefert wird. Das Verbreitungsmedium 54 kann
als eine gemeinsam genutzte, hochgradig asymmetrische Netzwerk ressource
mit einem beschränkten – wenn überhaupt
vorhandenen – Rückwärtspfad
mit niedriger Geschwindigkeit, der nicht aktiv sein muss, um die
Verbreitungsübertragungen
zu empfangen. Das Verbreitungsmedium 54 kann das gesamte
Verbreitungsnetzwerk zwischen der Webcast-Zentrale und den Clients
umfassen oder es kann eine einzelne Verbindung in einem größeren Verbreitungsnetzwerk
sein.
-
Das
Verbreitungsmedium 54 kann durch eine Vielfalt von Möglichkeiten
implementiert sein. Das Verbreitungsmedium 54 könnte beispielsweise
als ein drahtloses Netzwerk implementiert sein, das für eine Einwegübertragung
ausgestaltet ist (d. h. Satellit, Radio, Mikrowelle, etc.). Das
Verbreitungsmedium 54 könnte ebenso
als ein Netzwerk konfiguriert sein, das Zweiwegekommunikation (d.
h. Internet, LAN (Local Area Network) und WAN (Wide Area Network))
unterstützt,
aber für
unidirektionales Multicasting von der Webcast-Zentrale zu den Clients
genutzt werden kann.
-
Die
Clients 56(1)-56(M) repräsentieren verschiedene Arten
von Ausführungen.
Die Clients können
im Wesentlichen als irgendeine Art von Recheneinrichtung, die Datenpakete
empfangen und rekonstruieren und die Pakete auf einer Anzeige wiedergeben
kann, implementiert sein. Als eine mögliche Implementierung kann der
Client als ein Desktopcomputer, wie durch die Clients 56(1) und 56(2) dargestellt,
aufgebaut sein, die besonders mit Software-/Hardware-Komponenten
ausgestaltet sind, die unten mit Bezug auf 4 beschrieben werden.
Der Client 56(1) empfängt
Verbreitungs-Web-Inhalt von dem Verbreitungsmedium 54 über einen
ISP (Independent Service Provider) 66, eher als er die
Verbreitungen direkt empfängt.
Demgegenüber
ist der Client 56(2) ein für die Verbreitung befähigter Personal
Computer, der zum direkten Empfangen der Verbreitungspakete befähigt ist.
-
Eine
beispielhafte Implementierung eines für die Verbreitungen befähigten PCs
ist in einer ebenfalls anhängigen
U.S.-Patentanmeldung mit der Nummer 08/503,055 mit dem Titel „Broadcast-Enabled
Personal Computer" beschrieben,
die am 29. Januar 1996 im Namen von Gabe L. Newell, Dan Newell,
Steve J. Fluegel, David S. Byrne, Whitney McCleary, James O. Robarts,
Brian K. Moran, William B. McCormick, T.K. Backman, Kenneth J. Birdwell,
Joseph S. Robinson, Alonzo Gariepy, Marc W. Whitman und Larry Brader
eingereicht wurde. Diese Anmeldung wurde auf die Microsoft Corporation übertragen
und auf sie wird hiermit Bezug genommen.
-
Eine
andere Implementierung eines Clients ist ein Web-befähigter Fernseher,
wie durch Client 56(3) dargestellt, der eine Set-Top-Box
oder eine interne Recheneinheit aufweist, die den Empfang und das
Wiedergeben des Web-Inhalts erlaubt. Zusätzlich zu Desktop-Computern
und Web-befähigten
Fernsehern umfassen andere mögliche
Clients Workstations, Laptop-Computer, Palmtop-Computer, Netzwerk-Computer und dergleichen.
-
Gemäß einem
Aspekt der Erfindung kann eine andere Verbreitungseinheit als „Client" für die Webcast-Zentrale 52 fungieren.
Wie in 2 dargestellt, könnte der regionale ISP (Independent
Service Provider) 66 ein Teilnehmer für die Verbreitungsübertragung
sein, die über
das Verbreitungsmedium 54 von der Webcast-Zentrale 52 empfangen
wird. Der ISP 66 speichert den Webcast-Inhalt und verteilt
ihn zu seinem eigenen Abnehmerkreis, wie beispielsweise Client 56(1),
unter Verwendung herkömmlicher
Verbreitungstechniken.
-
Als
ein anderes Beispiel einer zwischengeschalteten Verbreitungseinheit
kann eine untergeordnete Webcast-Zentrale 68 als ein „Client" für die übergeordnete
Webcast-Zentrale 52 fungieren.
Zusätzlich
zu seinem eigenen unabhängigen
Sammelprozess empfängt
die untergeordnete Webcast-Zentrale 68 den von der übergeordneten
Webcast-Zentrale 52 empfangenen Web-Inhalt und verbreitet
ihn an einem Satz von Clients 56(4)-56(N) über ein
Verbreitungsmedium 70 weiter. Eine Implementierung dieser
doppelten Webcast-Zentralen-Architektur ist, dass die übergeordnete
Webcast-Zentrale 52 ein übergeordnetes Kopfende, das
national und global über
Satelliten verbreitet, und die untergeordnete Webcast-Zentrale 54 ein
regionaler Verbreiter ist, der den Web-Inhalt über Hochfrequenz- oder Mikrowellenübertragung
verbreitet.
-
Das
Webcast-System 50 verbreitet vorteilhafterweise Web-Inhalt
zu vielen Clients (möglicherweise Millionen),
ohne durch die beschränkte
Bandbreite des Internets belastet zu sein. Die Verbreitung der Web-Seiten über ein
Verbreitungsmedium von einem zu vielen vermeidet den Flaschenhals,
der durch überbelastete ISP-Verbindungen
oder langsame Client-Modem-Verbindungen verursacht wird. Da der
ISP ein Client des Verbreitungsmediums sein könnte, bietet die Verbreitungsalternative
zusätzliche
Bandbreite zu einem Bruchteil der Kosten, die einhergegangen wären, wenn
der ISP zusätzliche
Internet-Verbindungen, wie beispielsweise T1- oder T3-Verbindungen, installiert
hätte.
-
Das
Webcast-System 50 spricht ebenso das Problem mit der Serverskalierbarkeit
an. Viele Clients können
zu dem System zum Empfangen der Verbreitungsdaten ohne steigende
Kosten für
die Webcast-Zentrale 52 hinzugefügt werden. Die Belastung an
der Webcast-Zentrale 52 ist konstant, da es auf die Sites
aus dem Internet unabhängig
von der Zahl der die Verbreitungsübertragung empfangenden Clients
zugreift.
-
Webcast-Zentrale
-
3 zeigt
die Architektur der Webcast-Zentrale 52 detaillierter.
Im Allgemeinen umfasst sie eine Server-Einheit 80 und eine Übertragungseinheit 82.
Die Servereinheit 80 ist verantwortlich für das Sammeln
der Web-Seiten aus dem Web 60 und das Konvertieren der
Seiten in für
die Verbreitungsübertragung
geeignete Paketdateien. Die Übertragungseinheit 82 ist
verantwortlich für
das Übertragen
der Paketdateien über
das Verbreitungsmedium 54.
-
Ein
menschlicher Administrator richtet eine Datenbank 84 für einen
Ablaufplan ein, die eine Liste oder ein Verzeichnis des Web-Inhalts
enthält,
die der Administrator zu sammeln wünscht. Das Verzeichnis spezifiziert
einen Satz von Webcast-Gruppen, die Inhalt von einer einzelnen Site
oder Inhalt von vielen Sites repräsentieren können. Das Verzeichnis umfasst
einen Namen für
jede Webcast-Gruppe, die in jeder Gruppe umfassten Web-Seiten und
Zeitperioden, zu denen die Servereinheit 80 neue Aktualisierungen
für diese
Gruppe abrufen soll.
-
Ein
Ablaufplaner 86 liest aus der Datenbank 84 für den Ablaufplan
und baut einen Ablaufplan der Sites und Zeiten für das Abrufen des Inhalts für bestimmte
Webcast-Gruppen
auf. Wenn der Ablaufplaner 86 feststellt, dass es für den Empfang
von Web-Seiten von einer bestimmten Site an der Zeit ist, ruft der
Ablaufplaner 86 einen Sammler 88 zum Sammeln der
Web-Seiten von den Sites im Internet 60 auf. Der Sammler 88 ruft eine
bestimmte Gruppe gemäß den durch
den Ablaufplaner 86 vorgeschriebenen Spezifikationen, wie
sie durch den Administrator in die Ablaufplaner-Datenbank 84 eingegeben wurden,
ab.
-
Für jede Gruppe
besucht der Sammler 88 eine oder mehrere Sites, die Web-Inhalt
für die
Gruppe halten. Der Sammler 88 greift auf eine Web-Seite
bei der Grund-URL (Universal Ressource Locator) für jede der Sites
zu. Die Web-Seite bei der Grund-URL
wird allgemein als die Start-Web-Seite bezeichnet. Eine URL beschreibt
alles über
eine bestimmte Ressource, was zum Abrufen der Ressource von einer
bestimmten Site benötigt
wird. Die URL beschreibt das Protokoll, das der Sammler 88 zum
Abrufen der Ressource benutzt, den Namen des Computers, auf dem
die Ressource liegt, und den Pfad und Dateinamen der Ressource.
Das Folgende ist ein Beispiel einer Grund-URL:
http://www.microsoft.com
-
Der
Teil „http://" der URL beschreibt
das Protokoll. Die Buchstaben „http" stehen für HyperText
Tranfer Protocol, den Satz von Regeln, dem der Sammler zum Abrufen
eines Dokuments folgt und dem der entfernte Server zum Versorgen
mit dem Dokument folgen wird. Der Teil „www.microsoft.com" der URL ist der
Name des entfernten Host-Computers, der das Dokument unterhält. In diesem
Beispiel ist eine Start-Web-Seite der Microsoft Corporation bei
der Grund-URL dargestellt.
-
Web-Seiten
sind typischerweise in einer Auszeichnungssprache („Markup
Language"), wie
beispielsweise SGML (Standard Generalized Markup Language), geschrieben.
SGML ist formell als eine Sprache für Dokumentdarstellung definiert,
die Textauszeichnungen formalisiert und sie von System- und Verarbeitungsabhängigkeiten
befreit. SGML ist eine Sprache zur Beschreibung der Struktur von
Dokumenten und zum Beschreiben eines Identifizierungsschemas zum
Beschreiben dieser Struktur innerhalb des Textes. Insbesondere verwenden
Web-Seiten eine Untergruppe von SGML, das sogenannte „HTML" (Hypertext Markup
Language). Ein HTML-Dokument kann als Klartext verstanden werden,
der Formatierungsanweisungen in Form von HTML-Auszeichnungscodes
oder -„tags" enthält. Die
Tags erläutern,
wie Dokumente wiedergegeben und gedruckt werden, und werden auch
zum Beschreiben von Hyperlinks genutzt.
-
Startseiten
enthalten allgemeine Daten über
die Site und stellen allgemein Hyperlinks (oder einfach „Links") zu zusätzlichen
Seiten zur Verfügung.
Hyperlinks sind Symbole oder Anweisungen, die beschreiben, wo andere
verwandte Web- Seiten
auf dem Host-Computer oder im Internet zu finden sind. Ein Hyperlink
von einem Hypermedia-Thema zu einem anderen wird für gewöhnlich durch
den Autor der Seite eingerichtet und wird üblicherweise als ein grafisches
Piktogramm oder ein hervorgehobenes Schlüsselwort wiedergegeben. Das
Folgende ist ein einfaches Beispiel eines Teils einer HTML-Web-Seite,
die einen einzelnen Hyperlink enthält:
Microsoft hat eine
Web-Seite mit den aktuellsten
<A HREF=" HTTP://www.microsoft.com/upgrades" >
Upgrades</A> für sein weitverbreitetes
Textverarbeitungsprogramm.
-
Bei
Widergabe durch einen Browser erscheint das Wort „Upgrades" hervorgehoben und/oder
unterstrichen und der Text innerhalb der eckigen Klammern erscheint überhaupt
nicht, wie folgt:
Microsoft hat eine Web-Seite mit den aktuellsten
Upgrades für
sein weltverbreitetes Textverarbeitungsprogramm.
-
Durch
Klicken auf das hervorgehobene Schlüsselwort „Upgrades" kann der Nutzer den Web-Browser zum
Aktivieren der unterliegenden URL anweisen. In diesem Fall ist die
unterliegende URL ein Unterverzeichnis der Grund-URL wie folgt:
http://www.microsoft.com/upgrades
-
Der
Teil „/upgrades", der an die Grund-URL
angehängt
ist, definiert einen Pfad oder Dateinamen der Seite auf dem entfernten
Host-Computer oder anderen Server, der durch den Host-Computer spezifiziert
ist, eine Tiefenebene unterhalb der Start-Seite bei der Grund-URL.
-
Der
Administrator der Webcast-Zentrale 52 legt die Tiefe fest,
bei der der Sammler 88 Seiten zu sammeln hat. Für eine gegebene
Gruppe setzt der Administrator eine Tiefengrenze fest, die die Zahl
der Ebenen unterhalb der Start-Seite spezifiziert, die durch den
Sammler 88 zu sammeln sind. Beispielsweise könnte der Administrator
eine Tiefengrenze von drei Ebenen festschreiben. Der Sammler 88 sammelt
die Start-Seite (bei Tiefe 0) und alle Unterverzeichnisse zwischen
der Start-Seite und irgendeiner URL mit der folgenden Struktur:
http://Grund-URUL/Ebene
1/Ebene 2/Ebene 3
-
Der
Sammler 88 bewegt sich entlang der Hyperlink-Pfade, um
jede durch den Hyperlink spezifizierte Seite oder Inhalt abzurufen.
Für jede
Seite ist der Sammler 88 vorzugsweise zum Ergreifen irgendwelcher
Inline-Grafikdateien ausgestaltet, die durch die Web-Seite referenziert
sind.
-
Während die
Seiten gesammelt werden, speichert der Sammler 88 die Seiten
in dem Seiten-Cache 62. Eine bevorzugte Optimierungstechnik
ist, die Änderungsdaten
der Seiten vor dem Abrufen und Speichern zu überprüfen. Der Sammler 88 überprüft diese
Daten gegenüber
den Änderungsdaten
der gleichen Seiten, die bereits in dem Seitenspeicher 62 gehalten
werden könnten.
Seiten, die sich seit dem letzten Mal, als sie gesammelt wurden,
nicht verändert
haben (d. h. jene Seiten, die gleiche Änderungsdaten wie gespeicherte Seiten
aufweisen), werden nicht kopiert. Seiten, die jedoch aktualisiert
wurden, seit sie zuletzt gesammelt wurden, werden abgerufen und
in dem Seiten-Cache 62 gespeichert. Auf diese Art und Weise
aktualisiert der Sammler 88 effektiv die Webcast-Gruppen,
die in dem Seiten-Cache 62 unterhalten werden, in einem
effizienten Sammelvorgang.
-
Der
Sammler 88 informiert den Ablaufplaner 86, wenn
er das Sammeln aller spezifizierten Inhalte in einer Gruppe beendet
hat. Der Sammler 88 kann dann mit der nächsten Gruppe gemäß dem durch
den Ablaufplaner 86 angeordneten Ablaufplan fortfahren.
Wenn es der Ablaufplan vorschreibt, kann der Sammler 88 kontinuierlich
Seiten für
Webcast-Gruppen für
ein routinemäßiges Auffrischen
der Seiten in dem Seiten-Cache 62 sammeln.
-
Nachdem
der Sammler 88 eine Gruppe aktualisiert hat, ruft der Ablaufplaner 86 eine
Packeinheit 90 zum Packen der Webcast-Gruppen auf. Die
Packeinheit 90 fragt den Seiten-Cache 62 ab, um
zu bestimmen, welche Seiten in der Gruppe sind, wie groß die Seiten
sind und wie sie in Paketdateien unterteilt werden sollten. In einer
Implementierung werden die einzelnen Seiten einer Gruppe in Paketdateien
gemäß der folgenden Regeln
unterteilt:
- 1. Organisiere Seiten in alphabetischer
Reihenfolge gemäß ihrer
URLs.
- 2. Erzeuge eine neue Paketdatei für die erste URL.
- 3. Füge
eine oder mehrere Seiten zu der Paketdatei hinzu. Falls das Hinzufügen einer
weiteren Seite zu der aktuellen Paketdatei dazu führt, dass
die Paketdatei eine maximale Größe überschreitet
(wie in der Konfiguration der Server-Einheit eingerichtet) oder
dass die Paketdatei Seiten von mehr als einer Site enthält, schließe die Paketdatei
und erzeuge eine nächste
neue Paketdatei.
-
Für jeden
Satz von URLs, die in die gleiche Paketdatei zu legen sind, ruft
die Packeinheit 90 die Seiten und die Informationen aus
dem Seiten-Cache 62 auf, hängt Header-Informationen über die
Gruppe an und speichert die Paketdateien in dem Paketspeicher 64.
Wenn die Packeinheit 90 alle Paketdateien für die Gruppe
fertig gestellt hat, informiert sie den Ablaufplaner 86,
dass die Gruppe aktualisiert ist.
-
An
diesem Punkt sind die Paketdateien im Wesentlichen für die Verbreitung
bereit und müssen
lediglich in diskrete Pakete für
die Verbreitungsübertragung
gepackt werden. Die Paketdateien repräsentieren eine aktuellere Version
des Web-Inhalts für
die Webcast-Gruppe. Die Verbreitungseinheit 82 kann nun
die Webcast-Gruppe verbreiten, um den Clients die aktuellere Version
zur Verfügung
zu stellen.
-
Es
sei angemerkt, dass der Ablaufplaner 86, der Sammler 88 und
die Packeinheit 90 vorzugsweise in Software implementiert
sind, die auf einem oder mehreren Computern in der Webcast-Zentrale 52 ausgeführt wird.
Diese Programme sind in Speicher, wie beispielsweise dem Plattenspeicher
der Computer, gespeichert und werden auf den Verarbeitungseinheiten
ausgeführt.
Als ein mögliches
Beispiel könnten
die Computer in der Webcast-Zentrale als Server implementiert sein,
die mit einem Server-Betriebssystem,
wie beispielsweise Windows NT der Microsoft Corporation oder einem
UNIX-basierten Betriebssystem, betrieben werden. Der Ablaufplaner 86,
der Sammler 88 und die Packeinheit 90 sind Softwaremodule,
die auf dem Betriebssystem des Servers laufen.
-
Weiter
mit Bezug auf 3 nimmt die Verbreitungseinheit 82 die
Paketdateien in dem Paketspeicher 64, konvertiert sie in übertragbare
Pakete und verbreitet die Pakete über das Verbreitungsmedium 54.
Die Verbreitungseinheit 82 ist vorzugs weise bei einer Verbreitungs-Kopfstelle
(beispielsweise Satellitenaufwärtsstrecke,
Kabel-Kopfstelle, Fernsehübertragungsstation,
etc.) implementiert, die die gleiche Gruppe der Server-Computer
der Servereinheit 80 umfassen kann oder nicht. Es kann
wünschenswert
sein, die Verbreitungseinheit 82 von der Servereinheit 80 physialisch
zu trennen. Die Servereinheit 80 bezieht eine menschliche
Adminitraion beim Editieren der Ablaufplaner-Datenbank 84 als
Reaktion auf Änderungen
in den Webcast-Gruppen, dem Ablaufplan, Client-Präferenzen
und den Web-Sites mit ein. Es kann nicht durchführbar sein, Personen bei einer
Webcast-Kopfstelle unterzubringen.
-
Bezüglich der
Verbreitungseinheit 82 richtet ein Administrator eine Datenbank 92 für einen
Ablaufplan der Übertragung
ein, die eine Liste enthält,
wann und mit welcher Häufigkeit
verschiedene Webcast-Gruppen über
das Verbreitungsmedium 54 zu den Clients zu übertragen
sind. Der Administrator kann die Datenbank aus der Ferne editieren
oder die Informationen über
das Netzwerk von der Servereinheit 80 zu der Datenbank 92 übertragen,
wenn die Verbreitungseinheit 82 physikalisch von der Servereinheit 80 entfernt
ist. Ein Speicher- und Weiterleitungs-Ablaufplaner 94 liest
die Datenbank 92, um zu bestimmen, wann zu geplanten Webcast-Gruppen
gehörende
Sätze von
Paketdateien über
das Verbreitungsmedium 54 zu übertragen sind.
-
Die Übertragung
einer Paketdatei ist ein zweistufiger Vorgang. Die erste Stufe besteht
darin, eine Zeit anzukündigen,
zu der das zu einer Webcast-Gruppe gehörende Paket oder Satz von Paketen übertragen
werden wird. Die zweite Stufe ist das Senden der Pakete selbst zu
der angekündigten
Zeit.
-
Während der
Benachrichtigungsstufe ruft der Speicher- und Weiterleitungs-Ablaufplaner 94 einen
Benachrichtigungserzeuger 96 auf, um Benachrichtigungen
der kommenden Verbreitungsübertragungen
zu erzeugen. Die Benachrichtigungen enthalten viele der die Übertragung
und den Empfang der verbreiteten Dateien betreffenden Details und
umfassen ausreichende Informationen für den Client, um zu entscheiden,
ob die Pakete empfangen werden sollen. Die Benachrichtigungen könnten beispielsweise
den Namen der zu übertragenden
Webcast-Gruppe, eine Adresse (oder Frequenz) und die Zeit der Übertragung,
die Größe der Pakete,
der Bereich der URLs für
die Gruppe, Anweisungen, ob die Pakete in dem Browser-Cache oder dem Dateisystem
des Clients abgelegt werden sollen, usw. enthalten.
-
Die
Benachrichtigungen sind typischerweise um Größenordnungen kleiner als die
Paketdateien selbst.
-
Die
Benachrichtigungen werden auf einer wohlbekannten Adresse gesendet,
die alle Clients empfangen. Die Benachrichtigungen werden vorzugsweise
unter Verwendung des SAP (Session Announcement Protocol), einem
typischerweise für
das Benachrichtigen von Multicast-Daten über Netzwerke verwendeten Protokoll,
gesendet. Das SAP-Protokoll selbst ist gut bekannt und ist in „SAP: Session
Announcement Protocol" von
M. Handley, INTERNET-DRAFT, draft-ietf-mmusic-sap-00.txt, 27. November
1996, beschrieben.
-
Verschiedene
Benachrichtigungstechniken können
mit dieser Erfindung genutzt werden. Ein Beispiel für eine geeignete
Benachrichtigungstechnik ist in einer ebenfalls anhängigen U.S.-Patentanmeldung
mit dem Titel „Transmission
Announcement System And Method For Announcing Upcoming Data Transmissions
Over A Broadcast Network" beschrieben,
die im Namen von Kenneth J. Birdwell, Brian Moran, Randy Sargent,
Carl Witty and David S. Byrne eingereicht wurde. Diese Anmeldung
ist auf die Microsoft Corporation übertragen worden und wird durch
Referenz einbezogen.
-
Nach
einer ausreichenden Verzögerung,
um den Clients Zeit zum Empfangen der Benachrichtigungen und zum
Entscheiden, ob die Web-Inhalt-Pakete empfangen werden sollen, zu
genehmigen, ruft der Speicher- und Weiterleitungs-Ablaufplaner 94 einen
Verbreitungssender 98 zum Senden der Pakete auf. Der Verbreitungssender 98 ruft
die Paketdateien aus dem Paketspeicher 64 ab und segmentiert
die Paketdateien in übertragbare
Pakete. Die Größe und Ausgestaltung
der Pakete variiert in Abhängigkeit
von dem verwendeten Verbreitungsmedium und -transport. Beispielsweise
wird ein für
Satellitenübertragung
ausgestalteter Verbreitungssender digitale Pakete einer Größe und Ausgestaltung
erzeugen, während
ein für
LAN-Übertragung
ausgestalteter Verbreitungssender Ethernet-Pakete einer verschiedenen
Größe und Ausgestaltung
erzeugen wird. Als ein anderes Beispiel könnte der Verbreitungssender
die Pakete dazu ausgestalten, dass sie als Teil eines VBI(Vertical
Blanking Interval)-Signals in herkömmlichen Fernsehübertragungen
oder als Teil einer Kabel-TV-Übertragung
getragen werden können.
Der Verbreitungs sender 98 überträgt die Pakete an die Adresse (oder
Frequenz) und (so nahe wie möglich)
zu der Zeit, die in der Benachrichtigung aufgelistet wurden.
-
Der
Verbreitungssender 98 implementiert vorzugsweise ein robustes
Einweg-Dateiübertragungsprotokoll,
das sich von einer gewissen Menge an Datenverlust durch das Verbreitungsmedium
regenerieren kann. Ein Beispiel eines effektiven Protokolls ist
ein Verbreitungs-Dateiübertragungsprotokoll
(BFTP, Broadcast File Transfer Protocol), das detaillierter in einer
ebenfalls anhängigen
U.S.-Patentanmeldung mit dem Titel „Data Delivery System And
Method For Delivering Data And Redundant Information Over A Unidirectional
Network" erläutert ist,
die im Namen von Carl Witty, Kenneth Birdwell und Randy Sargent
eingereicht wurde. Diese Anmeldung ist auf die Microsoft Corporation übertragen
worden und wird durch Referenz einbezogen.
-
Es
sei angemerkt, dass der Ablaufplaner 94 und Aspekte des
Benachrichtigungserzeugers 96 und des Verbreitungssenders 98 vorzugsweise
in Software implementiert sind, die auf einem oder mehreren Computern
bei der Verbreitungseinheit 82 ausgeführt wird. Diese Programme sind
im Speicher, wie beispielsweise dem Plattenspeicher der Computer,
gespeichert und werden auf den Verarbeitungseinheiten ausgeführt.
-
Die
Architektur der Webcast-Zentrale bietet viele Vorteile. Ein Vorteil
ist, dass die durch die Servereinheit 80 durchgeführten Aufgaben
des Sammelns von Web-Inhalt von den Verbreitungsaufgaben der Verbreitungseinheit 82 entkoppelt
sind. Dies ermöglicht,
dass die Einheiten physikalisch getrennt sind und unabhängig voneinander
betrieben werden. Ein anderer Vorteil ist, dass durch das Ermöglichen
einer im Vergleich zu der Verbindung zwischen dem Web 60 und
dem Paketspeicher 64 verlässlicheren Verbindung und/oder
einer Verbindung mit höherer
Bandbreite zwischen dem Paketspeicher 64 und dem Verbreitungssender 98 die
Flexibilität
begünstigt
wird. Dies erlaubt, dass Daten zu den Clients auch dann noch fließen, wenn
die Verbindung zwischen dem Web 60 und der Servereinheit 80 unterbrochen
ist.
-
Ein
anderer Vorteil liegt darin, dass die Architektur die Vorteile der
vollen Verbreitungsbandbreite nutzt, auch wenn die Verbindung zwischen
der Servereinheit 80 und der Verbreitungseinheit 82 weniger
Daten überträgt als gesendet
werden können.
Die Übertragungszentrale 82 geht
kontinuierlich zyklisch durch die Paket dateien in dem Paketspeicher 64 und
verbreitet sie mehrere Male zwischen den Aktualisierungen durch
die Servereinheit 80. Das zyklische Durchlaufen verbessert
die Verlässlichkeit
im Falle bedeutenderer Verluste in dem Übertragungsstrom und in dem
Fall, dass der Client zum Empfangen der Übertragungen nicht verfügbar ist.
-
Ein
noch weiterer Vorteil der Architektur liegt in der doppelten Cache-Anordnung.
Seiten, die aus dem Web gezogen werden, werden zuerst in dem Seiten-Cache 92 gespeichert.
Die Seiten werden dann anschließend
gebündelt
und als Paketdateien in dem Paketspeicher 64 gespeichert.
Diese doppelte Cache-Anordnung erlaubt es dem Sammler 88,
Seiten mit einer Datenrate (beispielsweise Modem- oder T1-Verbindungsgeschwindigkeit)
zu sammeln, und der Packeinheit 90, die Dateien in dem
Paketspeicher 64 mit einer verschiedenen Datenrate zu aktualisieren.
Außerdem
kann der Übertragungssender 98 dann
die Paketdateien mit einer dritten Datenrate, die unterschiedlich
und typischerweise viel größer als
die erste Datenrate, bei der der Sammler Web-Seiten sammelt, abrufen
und übertragen.
Daher sind die Aufgaben und Leistungsfähigkeit des Sammelns unabhängig von
den Aufgaben und Leistungsfähigkeit
des Verbreitens.
-
Client
-
4 zeigt
die Architektur eines Clients 56, der in dem Webcast-System
teilnimmt. Der Client 56 ist mit geeigneter Hardware zum
Empfangen der Web-Inhalt enthaltenden Verbreitungsübertragungspakete
ausgerüstet.
Für verbreitungs-befähigte PCs
oder web-befähigte
Fernseher könnte
diese Hardware eine Satellitenschüssel, die die Satellitenübertragungen
direkt empfängt
oder einen Kabelkasten oder eine Antenne, die die digitalen Pakete
als ein Teil der Kabelübertragung
oder als VBI-Signal
empfängt,
umfassen. Für
mit einem ISP verbundene Clients könnte die Hardware ein Modem
zum Empfangen der Pakete über
eine Telefonleitung von dem ISP umfassen, der wiederum die Pakete
aus dem Verbreitungsmedium empfangen hat. Für mit einem LAN verbundene
Clients könnte
die Hardware eine Netzwerkkarte oder dergleichen zum Ermöglichen
des Empfangs der Verbreitungspakete über das Netzwerk umfassen.
-
Der
Client 56 weist einen auf die Benachrichtigungsadresse
eingestellten Benachrichtigungsempfänger 100 auf, um die
Benachrichtigungen von der Webcast-Zentrale zu empfangen. Die bei
dem Empfänger empfangenen
Benachrichtigungen kündigen
zukünftige
Webcast-Gruppen an, die über
das Verbreitungsmedium 54 zu übertragen sind.
-
Der
Client 56 versetzt den Nutzer in die Lage auszuwählen, welche
Webcast-Gruppen
empfangen werden sollen. Die Webcast-Zentrale lädt gelegentlich das Verzeichnis
des Web-Inhalts herunter, der in der Ablaufplaner-Datenbank 84 geführt wird.
Das Verzeichnis ist in einer Teilnehmer-Datenbank 102 bei
dem Client 56 gespeichert. Die Teilnehmer-Datenbank 102 hält daher
den Web-Inhalt, der durch die Webcast-Zentrale angeboten wird, einschließlich der
Namen der Webcast-Gruppen,
URL-Bereiche für
die Seiten innerhalb der Gruppen usw.
-
Der
Client unterstützt
ein grafisches Teilnehmer-Benutzerinterface 104, das auf
dem Client-Prozessor ausgeführt
wird, um dem Nutzer das Betrachten der Verzeichnisse in der Ablaufplaner-Datenbank 102 zu
ermöglichen. 5 zeigt
ein Teilnehmer-Benutzerinterface 104 gemäß eines
möglichen
grafischen Layouts. Das Benutzerinterface 104 zeigt die
Liste verfügbaren
Inhalts und ermöglicht
es dem Nutzer, eine oder mehrere Webcast-Gruppen auszuwählen. In
diesem Beispiel zeigt das Benutzerinterface 104 mögliche Webcast-Gruppen
von CNBC, ESPN, MSNBC und dem Smithsonian Institute. Das Verzeichnis
auf dem Benutzerinterface 104 deutet ebenso die URL-Tiefenebene
an, wie in dem eingeklammerten Anhang des Gruppennamens aufgelistet.
Der Nutzer kann eine oder mehrere Gruppen durch Ankreuzen des Kastens
vor dem Namen auswählen,
wie durch den angekreuzten Kasten bei MSNBC gezeigt. Das Teilnehmer-Benutzerinterface 104 kann auch
andere Arten von Informationen, wie beispielsweise die Kosten einer
Teilnahme, Teilnahmebedingungen und Häufigkeit der Verbreitung usw.
anzeigen.
-
6 zeigt
ein Teilnehmer-Benutzerinterface 104' gemäß eines anderen möglichen
Bildschirmlayouts. In 6 zeigt das Benutzerinterface 104' einen Satz
durch die Benutzer gemäß ihren
Präferenzen
auswählbarer
Kategorien. In diesem Beispiel zeigt das Benutzerinterface 104' die Kategorien
Literatur, Musik, Nachrichten und Sport. Der Nutzer wählt verschiedene
Kategorien aus, die dann in eine oder mehrere Webcast-Gruppen in
der Teilnehmer-Datenbank 102 übersetzt werden, die den Kategorieauswahlen
entsprechen.
-
Die
in den 5 und 6 dargestellten Teilnehmer-Benutzerinterfaces
sind lediglich für
Beispielzwecke vorgesehen. Viele andere Arten von Interfaces mit
vielen verschiedenen Arten, Benutzerpräferenzen oder dergleichen einzugeben,
können
genutzt werden.
-
Basierend
auf den Nutzerpräferenzen
erzeugt der Client 56 ein Filter 106 zum Annehmen
der Verbreitung von der Webcast-Zentrale mit bevorzugtem Web-Inhalt,
während
nicht bevorzugter Inhalt verworfen wird. In der Implementierung
gemäß 4 ist
das Filter 106 dazu ausgestaltet, Benachrichtigungen von
dem Benachrichtigungsempfänger 100 zu
empfangen und basierend auf den Client-Präferenzen in der Teilnehmer-Datenbank 102 zu
entscheiden, ob der Client die entsprechenden kommenden Webcast-Gruppen
annehmen oder verwerfen sollte. Das Filter 106 könnte den
Gruppennamen, die URL-Reichweite und andere in der Benachrichtigung
enthaltenen Informationen untersuchen, um den Entscheidungsprozess
zu unterstützen. Abhängig von
der Entscheidung steuert das Filter 106 einen Empfänger 108 zum
Empfangen oder Ignorieren der zugehörigen Inhaltspakete aus dem
Verbreitungsmedium 54.
-
Falls
die Benachrichtigung zu einer gewünschten Gruppe gehört, beispielsweise
Seiten von der MSNBC-Site, ruft das Filter 106 den Empfänger 108 auf
und teilt ihm mit, auf welchem Port die ankommenden Pakete empfangen
werden sollen. Das Filter 106 teilt dem Empfänger 108 ebenso
basierend auf der Benachrichtigung mit, wie die Datei zum Speichern
der ankommenden Pakete bezeichnet werden soll. Der Empfänger 108 interpretiert
das Protokoll zum Liefern der Pakete und rekonstruiert die Paketdatei.
Der Empfänger
speichert die Paketdatei in einem temporären Paketspeicher 110 auf
der Festplatte des Clients. Wenn die Paketdatei vollständig ist,
informiert der Empfänger 108 das
Filter 106 darüber,
ob die Übertragung
erfolgreich ist. Falls die Übertragung
fehlerhaft ist, wird die unvollständige Paketdatei gelöscht und
das Ereignis protokolliert.
-
Wenn
die Paketdatei intakt ankommt, ruft das Filter 108 eine
Entpackeinheit 112 zum Rekonstruieren der Web-Seiten aus
der Paketdatei auf. Die Entpackeinheit 112 kann ebenso
dazu ausgestaltet sein zu bestimmen, ob die aus dem Verbreitungsmedium 54 empfangenen
Web-Seiten aktueller sind als die gleichen Web-Seiten, die bereits
auf dem Client gespeichert sein können. In einer möglichen
Situation könnte
der Nutzer eine Website unabhängig
von der Webcast-Übertragung
besucht und Seiten von einer Website heruntergeladen haben, die
aktueller sind als die durch die Webcast-Zentrale verbreitete Version.
In diesem Fall überschreibt
der Client die aktuellere Version nicht, sondern ignoriert den durch
die Entpackeinheit 112 entpackten Web-Inhalt. Angenommen,
dass die von der Webcast-Zentrale empfangenen Seiten aktueller sind,
speichert die Entpackeinheit 112 die Web-Seiten in einem
Browser-Cache oder Dateisystem 114. Ein Browser (nicht
dargestellt) kann dann auf die Seiten zugreifen und sie auf dem
Client darstellen. Ein Beispiel eines geeigneten Browsers ist der
Internet Explorer, der durch die Microsoft Corporation vertrieben
wird.
-
Ein
Kommentator 116 kann aufgerufen werden, um die in den Web-Seiten
enthaltenen Hyperlinks zu kommentieren. Der Kommentator 116 unterscheidet
zwischen Links, die betätigt
worden sind, Links, die zu lokal in dem Dateisystem oder Cache 114 gespeicherten
Inhalt führen,
und Links, die zu entfernt von dem Client gespeicherten Inhalt führen. Der
Kommentator dürfte
verschiedene Farben zum Hervorheben der verschiedenen Sätze von
Links oder verschiedene Schriftarten oder Formatierungsstile verwenden.
Kommentierte Links machen es für
den Nutzer angenehmer, schnell wahrzunehmen, ob der Inhalt lokal
verfügbar
und daher für einen
sofortigen Zugriff bereit ist oder ob er/sie auf den Inhalt über das
Internet zugreifen muss, was einige Verzögerung mit sich bringen kann.
-
Der
Benachrichtigungsempfänger 100,
das Teilnehmer-Benutzerinterface 104, das Filter 106,
die Entpackeinheit 112 und der Kommentator 116 sind
vorzugsweise in Software implementiert, die auf dem Clientcomputer,
der Set-Top-Box oder dem Fernseher ausgeführt wird. Diese Programme sind
im Speicher, wie beispielsweise Plattenspeicher oder ROM (Read-Only
Memory), gespeichert und werden auf einem Prozessor ausgeführt. Als
ein mögliches
Beispiel ist der Client ein Personal Computer, auf dem ein grafisches,
fensterbasiertes Betriebssystem, wie beispielsweise Windows 95 der
Microsoft Corporation, läuft.
Als ein anderes Beispiel ist der Client ein Web-befähigter Fernseher,
auf dem ein Betriebssystem läuft,
das ein Derivat eines Betriebssystems der Marke Windows ist.
-
Obwohl
die Erfindung hinsichtlich struktureller Merkmale und/oder methodologischer
Schritte in einer spezifischen Sprache beschrieben worden ist, versteht
es sich, dass die in den angehängten
Patentansprüchen
beschriebene Erfindung nicht notwendigerweise auf die bestimmten
beschriebenen Merkmale oder Schritte beschränkt ist. Vielmehr sind die
bestimmten Merkmale und Schritte als bevorzugte Formen der Implementierung
der beanspruchten Erfindung offenbart.