-
Hintergrund
der Erfindung
-
I. Gebiet der Erfindung
-
Diese
Erfindung betrifft allgemein den Datentransfer. Im Spezielleren
betrifft die Erfindung den digitalen Datentransfer über ein
digitales Netz.
-
II. Beschreibung der verwandten
Technik
-
Das
Aufkommen des Internet hat viele Firmen und Einzelpersonen dazu
ermutigt, sich eine Internet-Präsenz
einzurichten. Eine Firma kann beispielsweise eine Web-Seite erstellen,
in der ihre Produkte und Dienstleistungen beschrieben sind und mittels
der ein User eine Kauforder setzen kann. Diese Web-Seiten sind auf
Web-Servern gespeichert. Ein User kann auf eine Web-Seite im Web-Server
unter Verwendung einer Web-Browser-Software zugreifen, die auf einem
Computer läuft.
Die Web-Seite kann Links zu weiteren Informationen auf derselben Seite
beinhalten oder zu anderen Web-Seiten.
-
1 ist
ein Blockschaubild, in dem eine Internet-Verbindung gezeigt ist.
Ein User setzt einen Dateiabruf von einem Web-Browser 20 ab.
Der Web-Browser 20 kann
einen PC, ein Netz-Endgerät oder
irgendeine andere Art eines digitalen User-Endgeräts umfassen,
das in der Lage ist, eine Web-Browser-Software auszuführen. Der Abruf wird durch
eine Reihe von Kommunikationsservern 22A–22N des
Internet 24 geleitet. Die Kommunikationsserver 22A–22N untersuchen
nicht den Inhalt des Abrufs, sondern leiten ihn einfach gemäß einem Adresskopf
zu einem entsprechenden Web-Server 26. Der Web-Server 26 untersucht
den Inhalt des Abrufs und antwortet mit der angeforderten Datei.
-
Wenn
ein User auf Information im Internet zuzugreifen wünscht, gibt
er eine Internet-Adresse (URL = Uniform Resource Locator) in den
Web-Browser ein. Die URL ist allgemein ein Hinweiszeiger auf den
Speicherort eines Objekts. Beispielsweise ist "http:\\www.internic.net\rfc\rfc1738.txt" die URL-Adresse,
die auf ein Kommentaraufforderungsdokument hinweist, in dem Internetadressen
beschrieben sind. In der URL zeigt "http" an,
dass das HyperText-Transfer-Protokoll (HTTP-Protokoll) verwendet
wird, um auf die Seite zuzugreifen. Ein doppelter Backslash zeigt
an, dass ein Host-Name wie "www.internic.net" folgt. Ein einzelner
Backslash zeigt an, dass entweder ein Verzeichnis oder ein Dateiname
folgt. In diesem Fall ist "rfc" ein Verzeichnis und "rfc1738.txt" ist die Datei in
diesem Verzeichnis, die angezeigt wird, wenn diese URL vom Web-Browser 20 aufgerufen
wird.
-
Das
World Wide Web baut auf dem Internet auf. HTTP ist das Client/Server-Protokoll,
das im World Wide Web am meisten verwendet wird. Das HTTP wird dazu
verwendet, einen Datenverkehr zwischen einem Client und einem Server
einzurichten und Befehle und Dateien zwischen diesen beiden Systemen
hin und her zu leiten.
-
HTTP
schafft ein Mittel für
einen Web-Browser, auf einen Web-Server zuzugreifen und Dokumente
abzurufen, die mittels HyperText Markup Language (HTML) erstellt
wurden. HTML-Web-Seiten können
Bilder, Soundclips, Textdateien oder andere Arten von Objekten umfassen.
Einige der Objekte müssen
nicht Teil der ursprünglichen
HTML-Stammdatei (die Basiskomponente des Web-Dokuments) sein, die
vom Web-Browser 20 abgerufen wird. Stattdessen enthält die HTML-Stammdatei
externe Bezüge
auf diese eingefügten
Objekte, die in Form von anderen Datendateien auf dem Server vorliegen.
Wenn ein User die HTML-Stammdatei auf dem Web-Browser abruft, werden
auch die eingefügten
Objekte abgerufen und in die Anzeige des Dokuments eingefügt. So besteht
ein HTML-Dokument (auch: HTML-"Seite") eigentlich aus
der HTML-Stammdatei und noch irgendwelchen zusätzlichen eingefügten Sound-,
Grafik- und Multimedia-Objekten, die der Stammdatei mitgegeben wurden.
Die eingefügten Objekte
können
beispielsweise Werbeeinblendungen, Reiter, Auflistungen von Börsennotierungen, grafische
Abbildungen, Soundclips oder andere derartige Sachen sein.
-
2 ist
ein Zeitdiagramm, in dem der zu dem Web-Browser 20 hin
bzw. von diesem weg laufende Datentransfer gezeigt ist. In 2 schreitet
die Zeit von links nach rechts voran. Die nach oben zeigenden Pfeile
geben vom Web-Browser 20 ausgehende Nachrichten an, die
für den
Web-Server 26 gedacht sind. Nach unten gerichtete Pfeile
zeigen eingehende Nachrichten an, die der Web-Browser 20 vom
Web-Server 26 empfängt.
Zur Vereinfachung der Darstellung erscheint jede eingehende und
ausgehende Nachricht so, als würde
sie unverzüglich übertragen
werden. Bei realen Implementierungen erfordert die Übertragung
jeder Nachricht typischerweise einen wahrnehmbaren Zeitbetrag.
-
Eine
ausgehende Nachricht 30 enthält den ursprünglichen
URL-Abruf. Im Ansprechen darauf enthält eine eingehende Nachricht 32 den
ersten Teil einer Antwort auf den Abruf, der in der ausgehenden Nachricht 30 befördert wurde.
Eine eingehende Nachricht 34 und eine eingehende Nachricht 36 entsprechen
einem zweiten bzw. dritten Teil der Antwort.
-
Es
sei angenommen, dass die eingehende Nachricht 32 einen
externen Bezug auf ein eingefügtes
Objekt beinhaltet. Der Web-Browser 20 untersucht die eingehende
Information und sendet im Ansprechen darauf eine ausgehende Nachricht 38,
die einen Abruf bezüglich
des eingefügten
Objekts in sich trägt.
Zu Darstellungszwecken sei angenommen, dass das eingefügte Objekt
ein Soundclip ist.
-
Im
Anschluss an die ausgehende Nachricht 38 erhält der Web-Browser 20 eine
eingehende Nachricht 40, die weitergehende Information
enthält, welche
dem ursprünglichen
Abruf entspricht, der in der ausgehenden Nachricht 30 enthalten
war. Nach Erhalt der dem ursprünglichen
Abruf entsprechenden eingehenden Nachrichten beginnt am Web-Browser 20 der
Empfang des Soundclips innerhalb einer eingehenden Nachricht 42.
In einer eingehenden Nachricht 44 fährt der Web-Browser 20 damit
fort, den Soundclip betreffende Daten zu empfangen.
-
Man
nehme an, dass die eingehende Nachricht 42 einen externen
Bezug auf ein eingefügtes Objekt
beinhaltet, welches eine Werbeeinblendung ist. Eine ausgehende Nachricht 46 trägt einen
Abruf bezüglich
der Werbeeinblendung in sich. Im Anschluss an die ausgehende Nachricht 46 erhält der Web-Browser 20 eine
eingehende Nachricht 48 und eine eingehende Nachricht 50,
die weitergehende, dem Soundclip entsprechende Informationen beinhalten.
Schließlich
empfängt
in einer eingehenden Nachricht 52 der Web-Browser 20 die
Daten, die die Werbeeinblendung betreffen.
-
Jedes
Mal, wenn der Web-Browser 20 Information vom Web-Server 26 abruft,
fällt eine
Verzögerung
an. Man beachte, dass beispielsweise zwischen der ausgehenden Nachricht 30 und
der entsprechenden eingehenden Nachricht 32 eine Zeitverzögerung ΔT1A verstreicht. Die Verzögerung umfasst zwei Hauptkomponenten:
(i) die Umlaufzeit, die mit der Verbindung zum Web-Server 26 zusammenhängt und
(ii) die Ansprechzeit des Web-Servers 26. In dem Beispiel
von 2 verzögern
sich die Übertragungen der
eingefügten
Objekte um Übertragungen
von zuvor aufgerufenen Objekten und der Stammdatei; deshalb sind
die Zeitverzögerungen ΔT2A und ΔT3A größer als
die Verzögerung ΔT1A.
-
Wie
untenstehend näher
beschrieben wird, kann die Aufnahme eines Links, der eine beträchtliche
Verzögerung
einbringt, die Zeitspanne stark ansteigen lassen, die dazu benötigt wird,
um eine Web-Seite vollständig
abzurufen und anzuzeigen, weil das HTTP-Protokoll erfordert, dass
der Web-Browser
die Stammdatei untersucht und für
die eingefügten
Objekte separate Abrufe erzeugt. Wenn der Internet-Zugriffskanal
des Users beispielsweise eine Satellitenverbindung umfasst, beträgt die zum Aufrufen
einer ein einzelnes eingefügtes
Objekt umfassenden Web-Seite benötigte
Zeit mindestens das Zweifache der Umlaufzeit der Satellitenverbindung. Darüber hinaus
entsteht durch die Notwendigkeit, eingefügte Objekte separat abzurufen,
ein unnötiger Datenverkehr über die
Datenübertragungsstrecke. Die
vorliegende Erfindung sucht diese Probleme zu überwinden, ohne das HTTP-Protokoll
modifizieren zu müssen.
-
In "Prefetching in World
Wide Web", von Zheng
Wang und Jon Crowcroft, Globalcom 1996 Global Internet 1996 Conference
Record, 18. November 1996, Seiten 28–32 ("Wang"),
ist unter Verwendung eines lokalen Proxy-Servers mit Caching-Funktion
ein vom Client ausgehendes, vorab erfolgendes Abrufen von Web-Seiten
und deren Ablage in einem Cache-Speicher
offenbart. Der Proxy-Server mit Caching-Funktion arbeitet transparent für die Web-Browser,
die er versorgt, und macht somit eine Modifikation am HTTP-Protokoll
nicht erforderlich. In Wang ist auch die Verwendung einer separaten
Komponente offenbart, die zwischen dem Browser und dem Proxy-Server
sitzt und Befehle an den Browser ausgibt, um diesen zu veranlassen,
die Web-Seiten vorab abzurufen. Wang skizziert auch die Möglichkeit
eines vorab erfolgenden Abrufens, das vom Server initiiert ist,
kommt aber zu dem Schluss, dass dies "Ausweitungen am derzeitigen HTTP-Protokoll und Modifikationen
sowohl an der Client- als auch Server-Software bedingen würde".
-
Die
vom Client initiierten Verfahren des vorab erfolgenden Abrufs von
Wang bieten keine adäquate Lösung für das Problem,
eingefügte
Objekte über eine
Verbindung mit relativ langer Wartezeit abzurufen, wie etwa eine
Satellitenverbindung. Wenn zum Beispiel der Proxy-Server mit Caching-Funktion nach Wang
dazu verwendet werden würde,
eingefügte
Objekte über
eine Satellitenverbindung vorab abzurufen, würden die eingefügten Objekte
so lange nicht abgerufen, bis die Stamm-(HTML-)Datei am Clientbereich
der Satellitenverbindung angekommen ist. Die Nachrichten bezüglich des
Objektabrufs würden dann
die Satellitenverbindung in der Vorwärtsrichtung (vom Client zum
Server) zu durchlaufen haben; und danach würden die eingefügten Objekte
die Satellitenverbindung in der Gegenrichtung zu durchlaufen haben.
Sobald also die Stammdatei am Clientbereich der Satellitenverbindung
ankommt, würde
die Umlaufzeit der Satellitenverbindung erneut anfallen (wie es
normalerweise der Fall ist, wenn kein vorab erfolgendes Abrufen
verwendet wird), bevor das Einlaufen der eingefügten Objekte am Browser einsetzt.
-
Zusammenfassung
der Erfindung
-
Die
vorliegende Erfindung widmet sich den oben angegebenen Problemen,
indem ein verteiltes System und ein Verfahren zum vorab erfolgenden Abrufen
von eingefügten
Objekten von Dokumenten bereitgestellt werden. In einer bevorzugten
Ausführungsform
liegt das System in Form eines dezentralen Proxy-Servers zur Verwendung
in einem Internet-Zugriffssystem vor, welches eine Satellitenverbindung
beinhaltet. Der dezentrale Proxy-Server umfasst eine Zugriffspunktkomponente,
die auf Seiten des Client (Browser) der Satellitenverbindung läuft und
mit Web-Browsern in Verbindung steht, und umfasst eine Satellitennetzkopplungskomponente,
die auf Seiten des Internet (Web-Server) der Satellitenverbindung
läuft und
mit Web-Servern in Verbindung steht. Wenn im Betrieb ein Web-Server
eine Stammdatei einer Web-Seite zurückleitet, die von dem User abgerufen
wurde, führt
die Satellitennetzkopplungskomponente eine syntaktische Analyse
an der Stammdatei aus, um jegliche Bezüge auf eingefügte Objekte
festzustellen, und ruft diese Objekte vorab vom Web-Server ab. Die
Objekte werden somit aufgerufen, ohne dass man darauf wartet, dass
der Browser die Stammdatei empfängt
und Abrufe bezüglich
der eingefügten
Objekte erzeugt.
-
Die
Satellitennetzkopplung leitet die vorab abgerufenen Objekte über die
Satellitenverbindung zur Zugriffspunktkomponente weiter, die ihrerseits die
eingefügten
Objekte in einem Cache-Speicher ablegt, bis sie vom Browser angefordert
werden. Wenn die Zugriffspunktkomponente einen Abruf bezüglich eines
Objekts erhält,
das im Cache-Speicher liegt, leitet die Zugriffspunktkomponente
das Objekt zurück
und blockiert die Übermittlung
des Objektabrufs über
die Satellitenverbindung. Der dezentrale Proxy-Server verringert
somit die Verzögerung,
die mit Abrufen bezüglich
eingefügten
Objekten verbunden ist und reduziert den Datenverkehr über die
Satellitenverbindung.
-
Obwohl
das System in der bevorzugten Ausführungsform in Verbindung mit
einer Satellitenverbindung arbeitet, können das zugrunde liegende
Verfahren und die zugrunde liegende Architektur auch dazu verwendet
werden, die Leistungsfähigkeit
anderer Arten von Verbindungen, einschließlich drahtlosen Verbindungen,
zu erhöhen.
Außerdem
kann, obwohl die bevorzugte Ausführungsform
in einem System arbeitet, welches HTTP verwendet, die Erfindung
auch mit anderen Arten von Protokollen zum Dokumentenabruf verwendet
werden, bei denen eingefügte
Objekte getrennt von der Basiskomponente angefordert werden.
-
Gemäß der Erfindung
ist somit in einem Client-Server-Abrufsystem für Dokumente, in dem in Dokumenten
vorkommende eingefügte
Objekte separat von Basiskomponenten der Dokumente angefordert und
abgerufen werden, ein verteiltes System zur Reduzierung eines durch
eine Datenübertragungsstrecke
verursachten Leistungsrückgangs
bereitgestellt. Das verteilte System umfasst eine erste Komponente,
die auf Seiten des Clients der Datenübertragungsstrecke läuft und
mit Clients in Verbindung steht, wobei die erste Komponente dazu
ausgelegt ist, Dokumentenabrufe von den Clients zu empfangen und
die Abrufe über
die Datenübertragungsstrecke
zur Weiterverarbeitung weiterzuleiten. Das System umfasst auch eine
zweite Komponente, die auf Seiten des Servers der Datenübertragungsstrecke
läuft und
mit Dokumentenservern in Verbindung steht, wobei die zweite Komponente
dazu ausgelegt ist, die Dokumentenabrufe von der ersten Komponente über die
Datenübertragungsstrecke
zu empfangen und die Abrufe an die Dokumentenserver weiterzuleiten,
wobei durch die Abrufe die Dokumentenserver dazu veranlasst werden,
Basiskomponenten von abgerufenen Dokumenten zurückzuleiten. Im Betrieb verarbeitet
die zweite Komponente von den Dokumentenservern zurückgeleitete
Basiskomponenten, indem zumindest (i) die Basiskomponenten syntaktisch
analysiert werden, um Bezüge
zu eingefügten
Objekten festzustellen, (ii) die eingefügten Objekte vorab abgerufen
werden, und (iii) die Basiskomponenten und die vorab abgerufenen
eingefügten Objekte
an die erste Komponente weitergeleitet werden. Die erste Komponente
legt die vorab abgerufenen eingefügten Objekte, die von der zweiten
Komponente eingegangen sind, in einem Cache-Speicher ab, und antwortet auf von den
Clients stammende Objektabrufe, indem die eingefügten Objekte vom Cache-Speicher
an die Clients weitergeleitet werden.
-
Kurze Beschreibung
der Zeichnungen
-
Die
Merkmale, Aufgaben und Vorteile der Erfindung ergeben sich aus der
nachstehend aufgeführten
ausführlichen
Beschreibung in Zusammenschau mit den Zeichnungen, in denen gleiche
Teile durchgehend mit denselben Bezugszeichen bezeichnet sind. In
den Zeichnungen zeigen:
-
1 ein
Blockschaubild, das eine Internetverbindung zeigt.
-
2 ein
Zeitdiagramm, in dem ein zu einem Web-Browser hin bzw. von diesem
weg laufender Datentransfer gezeigt ist.
-
3 ein
Blockschaubild, das eine Internetverbindung mit einer Satellitenverbindung
zeigt.
-
4 ein
Zeitdiagramm, in dem die in 2 gezeigte Übertragung
von Daten gezeigt ist, nachdem eine Satellitenverbindung in das
System mit aufgenommen wurde.
-
5 ein
Blockschaubild, das eine Internetverbindung mit einem Proxy-Server
zeigt.
-
6 ein
Blockschaubild, das ein digitales Datennetz mit einem dezentralen
Proxy-Server gemäß der Erfindung
zeigt.
-
7 ein
Datenflussdiagramm, das eine Ausführungsform des Datentransfers
gemäß der Erfindung
zeigt.
-
8 ein
Zeitdiagramm, in dem die in den 2 und 4 gezeigte Übertragung
der Daten dargestellt ist, wie sie über einen dezentralen Proxy-Server gemäß der Erfindung
geschieht.
-
Ausführliche
Beschreibung einer bevorzugten Ausführungsform
-
Der
Einsatz von drahtlosen Datenübertragungssystemen
für die Übermittlung
von digitalen Daten breitet sich immer mehr aus. In einem drahtlosen
System ist die kostbarste Ressource hinsichtlich Kosten und Verfügbarkeit
typischerweise die drahtlose Verbindung selbst. Von daher liegt
ein Hauptkonstruktionsziel bei der Auslegung eines Datenübertragungssystems
mit einer drahtlosen Verbindung darin, die verfügbare Kapazität der drahtlosen
Verbindung effizient zu nutzen. Außerdem ist typischerweise die Verzögerung,
die mit dem Durchlaufen der drahtlosen Verbindung zusammenhängt, wesentlich
größer als
die Verzögerung,
die dem Rest des Netzes zugeordnet ist. Deshalb ist es auch wünschenswert,
die Verzögerung
zu reduzieren, die mit der Verwendung einer drahtlosen Verbindung
einhergeht.
-
Obwohl
Einzelcomputer sehr leistungsfähige Werkzeuge
sind, können
sie noch leistungsfähiger werden,
wenn sie zu einem Netz zusammengekoppelt sind. Mit einer steigenden
Anzahl von zusammengeschlossenen Computern werden auch steigende
Anforderungen an das Netz gestellt, durch das sie miteinander verbunden
sind. Wenn sich die Computer nahe beieinander befinden, können sie
untereinander über
geeignete Drahtverbindungen verbunden werden. Ein Computer, der
um eine bestimmte Distanz von einem Netz entfernt ist, kann auf
das Netz durch eine Verbindung über
eine Standard-Telefonleitung zugreifen. Telefonleitungen haben aber
einen begrenzten Durchsatz, der der Geschwindigkeit eine Grenze
setzt, mit der Daten zwischen dem Computer und dem Netz übertragen
werden können.
-
Deshalb
hat man alternative Mittel zum Zugreifen auf digitale Datennetze
entwickelt. Beispielsweise können
Satellitenverbindungen dazu verwendet werden, digitale Daten in
einem Datennetz zu übertragen.
Die Verwendung einer Verbindung über einen
geostationären
Satelliten bringt eine Umlaufzeit von ungefähr einer halben Sekunde mit
sich. Bei der Entwicklung der Protokolle, die derzeit in typischen
digitalen Datennetzen in Verwendung sind, dachte man nicht an so
lange Umlaufzeiten. Durch den Einsatz einer Verbindung, die eine
merkliche Verzögerung
mit einbringt, kann die mittlere Datenübertragungsrate unter ein annehmbares
Niveaus absinken. Durch die vorliegende Erfindung werden die Leistungsschwächen reduziert,
die durch die Verwendung einer Verbindung verursacht sind, die beim Zugriff
auf ein digitales Datensystem eine merkliche Verzögerung mit
einbringt. Durch die vorliegende Erfindung wird auch der effiziente
Einsatz der Verbindung eines digitalen Datensystems verbessert.
-
3 ist
ein Blockschaubild, in dem eine Internetverbindung mit einer Satellitenverbindung
dargestellt ist. In 3 ist der Web-Browser 20 mit
einem Satelliten-Endgerät 60 verbunden.
Das Satelliten-Endgerät 60 ist über einen
geostationären
Satelliten 62 mit einer Bodenstation 64 verbunden.
Die Bodenstation 64 ist mit der Reihe von Kommunikationsservern 22A–22N des
Internet 24 verbunden. Das Internet 24 steht mit
dem Web-Server 26 in Verbindung. Die Einbeziehung der Verbindung über den
geostationären
Satelliten bringt eine Verzögerung
von etwa 270 Millisekunden pro Übertragung
eines Signals zwischen dem Satelliten-Endgerät 60 und der Bodenstation 64 mit
sich. So weist also jeder Datentransfer zwischen dem Web-Browser 20 und
dem Web-Server 26 eine Umlaufzeit von mindestens einer halben
Sekunde auf.
-
4 ist
ein Zeitdiagramm, in dem die in 2 gezeigte Übertragung
der Daten über
ein System gezeigt ist, das eine Satellitenverbindung enthält. Aufgrund
der Beschaffenheit der ineinander geschachtelten Abrufe bezüglich den
eingefügten
Objekten fällt
bei diesem System nicht nur dessen Grundverzögerung an, die gleich der Umlaufzeit
ist, sondern auch eine zusätzliche
Verzögerung,
wenn die darauf folgenden Abrufe bezüglich der eingefügten Objekte
erfolgen.
-
Eine
eingehende Nachricht 30' enthält den ursprünglichen
URL-Abruf, der über
die drahtlose Verbindung weitergeleitet wird. Aufgrund der Umlaufzeit
der Verbindung geht eine eingehende Nachricht 32', die den ersten
Teil einer Antwort auf den Abruf enthält, der in der ausgehenden
Nachricht 30' enthalten
war, nach einer Zeitverzögerung ΔT1B ein. Man nehme an, dass eine eingehende
Nachricht 32' einen externen
Bezug auf eineingefügtes
Objekt enthält, welches
ein Soundclip ist. Im Ansprechen darauf sendet der Web-Browser 20 eine
ausgehende Nachricht 38',
die einen Abruf bezüglich
des eingefügten Objekts
enthält.
Aufgrund der Umlaufverzögerung der
Verbindung geht eine eingehende Nachricht 42', die den ersten Teil einer Antwort
auf den Abruf enthält,
der in der ausgehenden Nachricht 38' enthalten war, nach einer Zeitverzögerung ΔT2B ein. Man nehme an, dass eine als Antwort
dienende, eingehende Nachricht 42' einen externen Bezug auf ein eingefügtes Objekt
enthält,
welches eine Werbeeinblendung ist. Eine ausgehende Nachricht 46' trägt einen
Abruf bezüglich
der Werbeeinblendung in sich. Aufgrund der Umlaufzeit der Verbindung
geht eine eingehende Nachricht 52', die den ersten Teil einer Antwort
auf den Abruf enthält,
der in der ausgehenden Nachricht 46' enthalten war, nach einer Verzögerungszeit ΔT3B ein.
-
Man
beachte, dass die Zeitverzögerungen ΔT1B, ΔT2B und ΔT3B in 4 wesentlich
größer sind als
die Zeitverzögerungen ΔT1A, ΔT2A und ΔT3A in 2. Dieser
Unterschied ist in erster Linie auf die der drahtlosen Verbindung
zugeordnete Umlaufzeit zurückzuführen. Jedes
Mal, wenn ein Abruf erfolgt, verzögert sich die erste Antwort
um wenigstens die Umlaufzeit. Somit kann sich also durch die Einbeziehung
einer Verbindung, die eine relativ lange Verzögerung mit sich bringt, die
mittlere Datenübertragungsgeschwindigkeit
deutlich reduzieren und auch eine merkliche, fest vorgegebene Grundverzögerung mit
einbringen.
-
5 ist
ein Blockschaubild, in dem eine Internetverbindung mit einem Proxy-Server 66 gezeigt ist.
Der Proxy-Server 66 ist so ausgelegt, dass er für eine Vielzahl
von Web-Browsern 20A–20N als Schnittstelle
zum Internet 24 dient. Der Proxy-Server 66 kann
dazu ausgelegt sein, die Web-Browser 20A–20N (und
das Netz, über
das sie betrieben werden) vor einem vom Internet 24 stammenden
feindlichen Angriff zu schützen.
Der Proxy-Server 66 kann beispielsweise ein Ein-Richtungs-Server
sein, der den Zugriff von anderen Internet-Usern auf das interne
Netz abblockt. Nur Pakete, die im Ansprechen auf den Abruf eines
internen Users empfangen werden, werden vom Internet 24 kommend
durch den Proxy-Server 66 in Gegenrichtung durchgelassen.
Andere, am Proxy-Server 66 eingehende Daten werden nicht
zu den Web-Browsern 20A–20N weitergeleitet.
-
Da
der Proxy-Server 66 einen einzelnen Verbindungspunkt für eine Gruppe
von Usern bereitstellt, ist es einfacher, Funktionen wie das Scannen nach
Viren, das Filtern des Inhalts und die Steuerung des Zugriffs am
Proxy-Server 66 auszuführen, als
an den einzelnen Web-Browsern 20A–20N. So kann eine
Firma unter Verwendung des Proxy-Servers 66 als zentralem
Steuerungspunkt für
das Netz die Kontrolle über
ihr internes Netz leichter behalten.
-
Der
Proxy-Server 66 ist so ausgelegt, dass er für die User
des Systems transparent ist, was bedeutet, dass die Web-Browser 20A–20N keine Kenntnis
bezüglich
der Existenz des Proxy-Servers 66 haben. Der Zugriff auf
das Web erfolgt nahtlos über
den Proxy-Server 66. Obwohl die Web-Browser 20A–20N eventuell
keine Kenntnis über
den Proxy-Server 66 haben, ist es letztlich so, dass die Web-Browser 20A–20N eine
Kombination aus Information vom Proxy-Server 66 und vom Internet 24 erhalten.
-
Oftmals
wird eine Cache-Ablage verwendet, um die Leistungsfähigkeit
des Systems, wie es vom Web-Browser 20 wahrgenommen wird,
zu erhöhen. Der
Ausdruck "Cache-Ablage" bezieht sich auf
den Vorgang des Abspeicherns von Kopien von Dokumenten, die vom
Proxy-Server 66 empfangen wurden, in einem lokalen Speichermedium
(typischerweise eine Speicherplatte, aber für die kurzzeitige Cache-Ablage
auch ein Hauptspeicher). Da der Proxy-Server 66 einen zentralen
Speicherort bereitstellt, über
den jeder einzelne Web-Browser 20A–20N auf das Internet 24 zugreift,
kann der Proxy-Server 66 Dokumente, auf die häufig zugegriffen
wird, im Cache ablegen, so dass sie für andere Web-Browser 20 schneller
erhältlich
sind, die diese anfordern. Beispielsweise können an einem bestimmten Tag
bei einer Finanzdienstleistungsorganisation viele verschiedene Browser
auf die Homepage des Wall Street Journal zugreifen. Wenn der Proxy-Server 66 die
Fähigkeit
zur Cache-Ablage hat, kann die Homepage des Wall Street Journal
nach dem ersten Abruf jedes Tages im Cache-Speicher abgelegt werden.
Nachfolgende abrufende Parteien erhalten die Homepage des Wall Street
Journal dann vom lokalen Cache und nicht mehr über das Internet 24.
Im Allgemeinen verbessert das Ablegen in einem Cache-Speicher die Leistungsfähigkeit
des Systems, indem die Wartezeit verringert und der Durchsatz über das
Netz kleiner gehalten wird.
-
Eine
Art des Speicherns über
einen Cache, das so genannte "vorab
erfolgende Abrufen",
beinhaltet das Speichern von Dokumenten in einem Cache, die von
einem Client aller Voraussicht nach abgerufen werden. Ein Beispiel
für ein
Dokument, das von einem Client wahrscheinlich abgerufen werden wird,
ist ein eingefügtes
Objekt innerhalb einer zuvor abgerufenen Stammdatei. Wenn der Proxy-Server die
ursprüngliche
Stammdatei syntaktisch analysiert, kann er feststellen, dass das
Dokument einen externen Bezug auf ein eingefügtes Objekt enthält und kann
mit dem Abrufen des eingefügten
Objekts beginnen, bevor vom Web-Browser der tatsächliche Abruf eingeht.
-
Im
Falle des vorab erfolgenden Abrufens von eingefügten Objekten ist die Abrufvorhersage
hochgradig deterministisch. Für
den seltenen Fall, dass die Web-Browser-Software nicht so konfiguriert
ist, dass sie eingefügte
Objekte automatisch lädt,
schlägt die
Vorhersage fehl. Auch wenn der User den Abruf unterbricht, bevor
alle eingefügten
Objekte angefordert sind, werden einige von diesen vom Web-Browser
nicht abgerufen werden. Im allgemein Fall jedoch wird jedes der
eingefügten
Objekte, auf das im Stammdokument Bezug genommen wird, vom Web-Browser
abgerufen.
-
Wenn
man versucht, einen dem Stand der Technik entstammenden Proxy-Server
mit Fähigkeit zur
Cache-Speicherung in eine Internetverbindung zu integrieren, die
eine drahtlose Satellitenverbindung umfasst, verbessert sich die
Systemleistung nicht sehr stark. Es sei mit erneutem Bezug auf 3 beispielsweise
angenommen, dass zwischen die Bodenstation 64 und den Kommunikationsserver 22A ein
Proxy-Server gesetzt wird. Wenn vom Web-Browser 20 ein ursprünglicher
Abruf bzw. Erstabruf erzeugt wird, wird er vom Satelliten-Endgerät 60 über die
drahtlose Verbindung zur Bodenstation 64 weitergeleitet.
Die Bodenstation 64 leitet den Abruf zum Proxy-Server weiter,
der ihn seinerseits zum Internet 24 weiterleitet. Bei Eingang
der Antwort aus dem Internet 24 leitet sie der Proxy-Server
zur Bodenstation 64 weiter. Der Proxy-Server führt auch
eine syntaktische Analyse der Information in der Antwort auf den Erstabruf
durch, um das Vorhandensein von eingefügten Objekten festzustellen.
Der Proxy-Server sendet Hilfsabrufe bezüglich der eingefügten Objekte und
speichert sie bei deren Ankunft ab. Inzwischen wird die Antwort
auf den Erstabruf über
die drahtlose Verbindung zum Web-Browser 20 weitergeleitet. Wenn
der Web-Browser 20 die Antwort erhält, leitet er einen Abruf bezüglich des
eingefügten
Objekts über
die drahtlose Verbindung zurück.
Wenn der Proxy-Server den Abruf erhält, antwortet er mit der im Cache
abgelegten, vorab abgerufenen Information, wodurch jegliche zusätzliche
Verspätung
aus der Welt geschafft ist, die mit der Übermittlung über das Internet 24 verbunden
ist. Die dem eingefügten
Objekt entsprechende Information durchläuft die drahtlose Verbindung
zum Web-Browser 20.
Auf diese Weise ist die Umlaufzeit der drahtlosen Verbindung nicht
vermieden. Weil die Wartezeit der drahtlosen Verbindung der wichtigste
Faktor bei der Bestimmung der Wartezeit des Systems in 3 ist,
ist die Systemleistung durch die Aufnahme eines Proxy-Servers auf
der Netzkopplungsseite der Satellitenverbindung nicht wesentlich
verbessert.
-
Es
sei auch angenommen, dass ein Proxy-Server aus dem Stand der Technik
zwischen das Satelliten-Endgerät 60 und
den Web-Browser 20 eingefügt wird. Wenn vom Web-Browser 20 ein
Erstabruf erzeugt wird, wird er zum Proxy-Server weitergeleitet,
der ihn zum Satelliten-Endgerät 60 weiterleitet. Das
Satelliten-Endgerät 60 leitet
ihn über
die drahtlose Verbindung zur Bodenstation 64 weiter. Die
Bodenstation 64 leitet den Abruf zum Internet 24 weiter. Wenn
die Antwort vom Internet 24 eingegangen ist, leitet die
Bodenstation 64 die Antwort über die drahtlose Verbindung
zum Satelliten-Endgerät 60 und
zum Proxy-Server weiter. Der Proxy-Server leitet die Antwort zum
Web-Browser 20 weiter. Der Proxy-Server führt auch
eine syntaktische Analyse der Information durch, um das Vorhandensein
von eingefügten
Objekten festzustellen. Der Proxy-Server ruft die eingefügten Objekte
vorab ab, indem er über
die drahtlose Verbindung einen Hilfsabruf nach diesen sendet. Wenn
der Web-Browser 20 die Erstantwort erhält, leitet er einen Abruf bezüglich des
eingefügten
Objekts an den Proxy-Server weiter. Wenn der Proxy-Server den Abruf
vom Web-Browser 20 empfängt,
fängt er den
Abruf ab und leitet ihn nicht über
die drahtlose Verbindung weiter. Der Proxy-Server wartet so lange, bis der Hilfsabruf
und die entsprechende Antwort die drahtlose Verbindung durchlaufen
haben und leitet die Information an den Web-Browser weiter, wenn
sie verfügbar
ist; somit ist jegliche zusätzliche
Verspätung
aus der Welt geschafft, die mit der Übertragung der Erstantwort
vom Proxy-Server zum Web-Browser 20 und der Übertragung
des Abrufs vom Web-Browser 20 zum
Proxy-Server zusammenhängt.
Die Umlaufzeit der drahtlosen Verbindung ist jedoch nicht vermieden.
Weil die Umlaufzeit der drahtlosen Verbindung der wichtigste Faktor
bei der Bestimmung der Wartezeit des Systems von 3 ist,
wird die Systemleistung durch die Aufnahme eines Proxy-Servers auf
der Seite des Satelliten-Endgerätes der
Satellitenverbindung nicht wesentlich verbessert.
-
6 ist
ein Blockschaubild, das ein digitales Datennetz mit einem dezentralen
Proxy-Server gemäß der Erfindung
zeigt. In 6 sind die Web-Browser 20A–20N mittels
eines dezentralen Proxy-Servers 68 mit dem Internet 24 verbunden. Der
dezentrale Proxy-Server 68 umfasst zwei Komponenten: eine
Zugriffspunktkomponente 70 ("Zugriffspunkt") und eine Satellitennetzkopplungskomponente 72 ("Satellitennetzkopplung"). Der Zugriffspunkt 70 und
die Satellitennetzkopplung 72 können auf einem oder mehreren
Arbeitsplätzen
oder PCs installiert sein, auf denen entsprechende Softwarekomponenten
laufen. Einige oder alle Funktionen des Zugriffspunkts 70 und
der Satellitennetzkopplung 72 können alternativ auch unter
Verwendung von anwendungsspezifischer Hardware implementiert sein. Der
Zugriffspunkt 70 und die Satellitennetzkopplung 72 sind
mittels einer drahtlosen Verbindung über den Satelliten 62 verbunden.
Die Web-Browser 20A–20N sind
mit dem Zugriffspunkt 70 vorzugsweise durch ein lokales
Netz (nicht gezeigt) verbunden. Wie in 6 abgebildet
ist, ist im Zugriffspunkt 70 ein Objekt-Cache 71 vorgesehen,
um vorübergehend
Objekte zu speichern, die durch die Satellitennetzkopplung 72 vorab
abgerufen worden sind.
-
Der
dezentrale Proxy-Server 68 erleichtert einen effizienten
Datentransfer, indem die Auswirkung der Umlaufzeit reduziert wird,
die dem Durchlaufen der Satellitenverbindung zugeordnet ist. Der Zugriffspunkt 70 und
die Satellitennetzkopplung 72 können auch Dienstleistungen
bereitstellen, die typischerweise von Proxy-Servern aus dem Stand
der Technik ausgeführt
werden. Bei der bevorzugten Ausführungsform
ist der Einsatz des dezentralen Proxy-Servers 68 nachvollziehbar
für die
an das Internet 24 angekoppelten Entitäten wie den Web-Server 26 und
den Web-Browser 20.
-
7 ist
ein Datenflussdiagramm, in dem eine Ausführungsform eines Datentransfers
gemäß der Erfindung
gezeigt ist, in der die abgerufene Web-Seite aus einer Stammdateikomponente
besteht, die auf ein eingefügtes
Objekt verweist. In Block 80 fordert der Web-Browser 20 eine
Web-Seite an. Der Zugriffspunkt 70 erhält den Abruf und leitet ihn
in Block 82 über
die drahtlose Verbindung an die Satellitennetzkopplung 72 weiter.
Nach einer gewissen Verzögerung
kommt der Abruf an der Satellitennetzkopplung 72 an. In
Block 84 leitet die Satellitennetzkopplung 72 den
Abruf an das Internet 24 weiter. Zur Ausführung dieser
Funktion kann die Satellitennetzkopplung 72 ein Netzkommunikationsmodul
umfassen.
-
Der
Web-Server 26 empfängt
den Abruf und antwortet mit der Stammdatei. Die Satellitennetzkopplung 72 empfängt die
Stammdatei aus dem Internet 24 und leitet sie in Block 86 zum
Zugriffspunkt 70 weiter. Nachdem die Datei die drahtlose
Verbindung durchlaufen hat, leitet der Zugriffspunkt 70 die Stammdatei
in Block 88 zum Web-Browser 20 weiter. In Block 90 nimmt
der Web-Browser die Stammdatei in Empfang.
-
Vor,
während
oder nach der Übertragung
des Transfers von Block 86 nimmt die Satellitennetzkopplung
eine syntaktische Analyse der Stammdatei vor, extrahiert einen externen
Bezug auf ein eingefügtes Objekt
und leitet in Block 92 einen Hilfsabruf bezüglich des
eingefügten
Objekts über
das Internet 24 weiter. Zur Ausführung dieser Funktionen kann
die Satellitennetzkopplung 72 beispielsweise ein Modul zur
syntaktischen Analyse und ein Modul zur Erzeugung eines Hilfsabrufs
umfassen. Die Satellitennetzkopplung 72 sendet in Block 92 auch
eine Nachricht an den Zugriffspunkt 70, die das eingefügte Objekt bezeichnet,
das es gerade abruft. Die Satellitennetzkopplung 72 kann
beispielsweise ein Nachrichtenmodul umfassen, das Nachrichten erzeugt
und an den Zugriffspunkt 70 sendet. In Block 94 empfängt der Zugriffspunkt 70 die
Auflistung vorab abgerufener Objekte und speichert sie für eine spätere Bezugnahme
zum Beispiel in einem Cache-Modul.
-
In
Block 96 leitet der Web-Browser 20 einen Abruf
bezüglich
des eingefügten
Objekts weiter. In Block 98 vergleicht der Zugriffspunkt 70 den
Abruf mit der Liste vorab abgerufener Objekte. Wenn der Abruf mit
einem Eintrag in der Liste vorab abgerufener Objekte übereinstimmt,
wird der Abruf abgefangen und nicht über die drahtlose Verbindung
weitergeleitet. Falls das angeforderte Objekt keinem Eintrag in
der Liste entspricht und im Cache nicht verfügbar ist, leitet der Zugriffspunkt 70 den
Abruf über
die drahtlose Verbindung weiter. Diese Funktion kann von einem Modul
zur Nachrichtenanalyse und zum Nachrichtenvergleich ausgeführt werden.
-
In
dem Beispiel von 7 fängt der Zugriffspunkt 70 den
Abruf ab und leitet ihn nicht über
die Satellitenverbindung weiter, weil das eingefügte Objekt auf der Liste von
Objekten auftaucht, die schon besorgt worden sind bzw. gerade besorgt
werden. Inzwischen ist in Block 100 das eingefügte Objekt
an der Satellitennetzkopplung 72 angelangt und wird automatisch
zum Zugriffspunkt 70 weitergeleitet. Man beachte, dass
die Satellitennetzkopplung 72 keinen Abruf bezüglich des
eingefügten
Objekts empfangen hat und eine Antwort auf den Erstabruf zum Zugriffspunkt 70 sendet,
der Informationen enthält,
die der Zugriffspunkt 70 nicht von der Satellitennetzkopplung 72 angefordert
hat. Eine solche Antwort bezeichnet man als "vorgreifende Antwort" (engl. = chubby response). Beispielsweise
kann die Satellitennetzkopplung 72 ein Modul zur Erzeugung
einer vorgreifenden Antwort umfassen, das diese Funktionen ausführt. In Block 102 empfängt der
Zugriffspunkt 70 das Objekt und leitet es an den Web-Browser 20 weiter.
In Block 104 empfängt
der Web-Browser 20 das eingefügte Objekt. Auf diese Weise
wird die Verzögerung
vermieden, die mit dem Abwarten der Übertragung des Abrufs über die
Satellitenverbindung zusammenhängt
und die eingefügten
Objekte werden kurz nach der Stammdatei übertragen. Außerdem ist
der Durchsatz, der normalerweise wegen der drahtlosen Abrufe nach
eingefügten
Objekten besteht, für
andere Zwecke frei gemacht.
-
Die
durch Verwendung des wie in 7 beschriebenen
Datenflusses erzielte Effizienz lässt sich ohne weiteres mit
Bezug auf das Zeitdiagramm von 8 erkennen. 8 ist
ein Zeitdiagramm, in dem die in den 2 und 4 dargestellte Übertragung der
Daten gezeigt ist, wie sie über
einen dezentralen Proxy-Server gemäß der Erfindung geschieht.
Um den Datenfluss zusätzlich
zu dem Datenfluss, wie er vom Web-Browser 20 wahrgenommen
wird, deutlicher darzustellen, ist in 8 auch der
Datenfluss gezeigt, wie er vom Zugriffspunkt 70 und von
der Satellitennetzkopplung 72 wahrgenommen wird.
-
Eine
vom Web-Browser ausgehende Nachricht 130 enthält den ursprünglichen
URL-Abruf. Der Zugriffspunkt 70 leitet eine entsprechende
ausgehende Nachricht 130' über die
drahtlose Verbindung weiter. Die Satellitennetzkopplung 72 sendet
eine entsprechende ausgehende Nachricht 130'' über das Internet 24.
Man beachte die Verzögerung
zwischen der ausgehenden Nachricht 130' und der ausgehenden Nachricht 130'' aufgrund des Einbezugs der drahtlosen
Verbindung. Eine eingehende Nachricht 132'' enthält ersten
Teil einer Antwort auf den Abruf der ausgehenden Nachricht 130''. Eine eingehende Nachricht 134'' und eine eingehende Nachricht 136'' enthalten einen zweiten bzw. dritten
Teil der Antwort. Die eingehende Nachricht 132'' beinhaltet einen externen Bezug
auf ein eingefügtes
Objekt, das unserer Annahme nach ein Soundclip sein soll. Die Satellitennetzkopplung 72 führt an der
eingehenden Nachricht 132'' eine syntaktische
Analyse durch und erkennt den externen Bezug. In einer ausgehenden
Nachricht 138'' sendet die
Satellitennetzkopplung 72 einen Hilfsabruf über das
Internet 24 bezüglich
des Soundclips, wobei in dieser Weise der Soundclip vorab abgerufen
wird.
-
Die
eingehenden Nachrichten 132'', 134'' und 136'' werden
zum Zugriffspunkt 70 weitergeleitet, wo sie als eingehende
Nachrichten 132', 134' bzw. 136' empfangen werden,
wobei erneut eine Verzögerung
aufgrund der drahtlosen Verbindung anfällt. Der Zugriffspunkt 70 leitet
sie zum Web-Browser 20 weiter,
wo sie als eingehende Nachrichten 132, 134 bzw. 136 empfangen
werden. Im Ansprechen auf die eingehende Nachricht 132 sendet
der Web-Browser 20 eine ausgehende Nachricht 138,
die den Soundclip anfordert. Man beachte, dass zu dem Zeitpunkt,
an dem vom Web-Browser 20 die ausgehende Nachricht 138 gesendet
wird, die ausgehende Nachricht 138'' von
der Netzkopplungskomponente 72 bereits an das Internet 24 weitergeleitet
wurde. Deshalb fängt
der Zugriffspunkt 70 den Abruf ab und leitet ihn nicht
zur Netzkopplung 72 weiter, womit die über die Satellitenverbindung
geschickte Datenmenge reduziert ist. Deshalb wird in 8 vom
Zugriffspunkt 70 zur Satellitennetzkopplung 72 keine
entsprechende ausgehende Nachricht 138' weitergeleitet. An der Satellitennetzkopplung 72 wird
eine eingehende Nachricht 140'' als
vierte und letzte Antwort auf den ursprünglichen Abruf empfangen und
zum Zugriffspunkt 70 weitergeleitet, wo sie als eingehende
Nachricht 140' empfangen
wird.
-
Im
Ansprechen auf den Abruf des Soundclips werden eine eingehende Nachricht 142'' und eine eingehende Nachricht 144'' erhalten. Die eingehende Nachricht 142'' enthält einen externen Bezug auf
ein eingefügtes
Objekt, welches nach unserer Annahme eine Werbeeinblendung sein
soll. Auch hier führt
die Satellitennetzkopplung 72 eine syntaktische Analyse an
der eingehenden Nachricht 142'' durch
und erfasst den externen Bezug auf die Werbeeinblendung. Von der
Satellitennetzkopplung 72 wird eine ausgehende Nachricht 146'' gesendet, die einen Hilfsabruf bezüglich der
Werbeeinblendung beinhaltet.
-
Inzwischen
werden die eingehenden Nachrichten 142'' und 144'' automatisch zum Zugriffspunkt 70 weitergeleitet,
ohne einen entsprechenden Abruf vom Zugriffspunkt 70 bezüglich des
eingefügten
Objekts abzuwarten. Auf diese Weise werden die eingefügten Objekte über die
drahtlose Verbindung sowohl vorab abgerufen als auch vorab übermittelt,
wodurch die vom Web-Browser 20 wahrgenommene Wartezeit
deutlich reduziert ist. Die eingehenden Nachrichten 142'' und 144'' werden
am Zugriffspunkt 70 als eingehende Nachrichten 142' bzw. 144' empfangen. Die
eingehenden Nachrichten 142' und 144' werden zum
Web-Browser 20 weitergeleitet, nachdem sie in der ausgehenden
Nachricht 138 durch den Web-Browser 20 abgerufen
worden sind. Der Web-Browser 20 empfängt sie als eingehende Nachrichten 142 bzw. 144.
Im Ansprechen auf den Empfang der eingehenden Nachricht 142,
die den externen Bezug zur Werbeeinblendung enthält, sendet der Web-Browser 20 eine
ausgehende Nachricht 146, in der die Werbeeinblendung angefordert
wird. Erneut fängt
der Zugriffspunkt 70 den Abruf ab und es wird vom Zugriffspunkt 70 keine
entsprechende ausgehende Nachricht 146' an die Satellitennetzkopplung 72 weitergeleitet.
-
Inzwischen
geht an der Satellitennetzkopplung 72 der Empfang einer
eingehenden Nachricht 148'' und einer eingehenden
Nachricht 150'' im Ansprechen
auf den Abruf bezüglich
des Soundclips weiter; diese werden von ihr zum Zugriffspunkt 70 weitergeleitet.
Der Zugriffspunkt 70 erhält sie als eingehende Nachrichten 148' und 150', die der durch die
drahtlose Verbindung eingebrachten Verzögerung unterliegen. Der Zugriffspunkt 70 leitet
diese Übertragungen
an den Web-Browser 20 weiter, wo sie als eingehende Nachrichten 148 und 150 empfangen
werden. Im Ansprechen auf den Abruf in der ausgehenden Nachricht 146'' bezüglich der Werbeeinblendung
wird an der Satellitennetzkopplung 72 eine eingehende Nachricht 152'' empfangen, die automatisch zum
Zugriffspunkt 70 weitergeleitet wird, ohne einen entsprechenden
Abruf abzuwarten. Der Zugriffspunkt 70 empfängt die
Werbeeinblendungsinformation als eingehende Nachricht 152' und leitet
sie an den Web-Browser 20 im Ansprechen auf einen Abruf
weiter, der in der ausgehenden Nachricht 146 enthalten
war, wo sie als eingehende Nachricht 152 empfangen wird.
-
Eine
eingehende Betrachtung der 8 im Vergleich
zum Stand der Technik von 4 zeigt deutlich
die Leistungssteigerungen, die die Verwendung der vorliegenden Erfindung
mit sich bringt. Man beachte, dass in 8 zwischen
der eingehenden Nachricht 130 und der eingehenden Nachricht 132 eine
beträchtliche
Verzögerung ΔT1C besteht, genauso wie in 4 eine
beträchtliche
Verzögerung ΔT1A zwischen der eingehenden Nachricht 30' und der eingehenden
Nachricht 32' besteht.
Ein großer
Teil dieser Verzögerung
ist auf die Umlaufzeit zurückzuführen, die
der Einsatz der drahtlosen Verbindung mit sich bringt. Man beachte
jedoch, dass die beträchtliche
Verzögerung ΔT2B zwischen der ausgehenden Nachricht 38' und der eingehenden
Nachricht 42' von 4 durch
die Verzögerung ΔT2C zwischen der ausgehenden Nachricht 138 und
der eingehenden Nachricht 142 in 8 nicht
widergespiegelt ist, und zwar aufgrund der Tatsache, dass die Information
in einer vorgreifenden Antwort vorab abgerufen und auch vorab übertragen
wurde. Außerdem
ist aus demselben Grund die beträchtliche
Verzögerung ΔT3B zwischen der ausgehenden Nachricht 46' und der eingehenden
Nachricht 52' von 4 nicht
widergespiegelt durch die Verzögerung ΔT3C zwischen der ausgehenden Nachricht 146 und
der eingehenden Nachricht 152 von 8. Die Verzögerungen ΔT2C und ΔT3C in 8 sind vergleichbar
mit den Verzögerungen ΔT2A und ΔT3A in 2. So ist
die mittlere Datengeschwindigkeit durch die Verwendung der Erfindung erhöht und die
der Systemverwendung zugeordnete Wartezeit ist verkürzt.
-
In 7 ist
dem Zugriffspunkt 70 mitgeteilt worden, dass das eingefügte Objekt
in Block 94 vorab abgerufen wurde, bevor in Block 96 der
Abruf vom Web-Browser 20 bezüglich des eingefügten Objekts erfolgt.
In einigen Fällen
aber kann der Web-Browser 20 das eingefügte Objekt abrufen, bevor die
Mitteilung bezüglich
des Vorab-Abrufs erhalten wird. In so einem Fall kann der Zugriffspunkt 70 den
Abruf für eine
bestimmte vorprogrammierte Zeitdauer wie etwa drei Sekunden speichern.
Falls innerhalb dieser Zeitdauer das Objekt nicht auf einer Liste
von vorab abgerufenen Objekten erscheint und auch nicht am Zugriffspunkt 70 empfangen
wird, kann der Zugriffspunkt 70 den Abruf zur Satellitennetzkopplung 72 weiterleiten.
Durch ein Verzögern
der Übertragung des
Abrufs kann die Anzahl von Abrufen, die über die drahtlose Verbindung übermittelt
werden, verringert werden.
-
In
alternativen Ausführungsformen
können diese
Probleme der Korrelation von Abrufen vom Web-Browser 20 mit
den Objekten, die gerade vorab abgerufen werden und in einer vorgreifenden
Antwort weitergeleitet werden, vermieden werden. In einer Ausführungsform
nimmt der Zugriffspunkt 70 an den eingehenden Dateien eine
syntaktische Analyse vor, um auf ähnliche Weise wie die Satellitennetzkopplung 72 das
Vorhandensein von eingefügten
Objekten festzustellen. Der Zugriffspunkt 70 nimmt an, dass
die Satellitennetzkopplung 72 alle diese eingefügten Objekte
vorab abruft. Wenn beispielsweise am Zugriffspunkt 70 in
Block 88 die Stammdatei empfangen wird, kann der Zugriffspunkt 70 an
der Stammdatei eine syntaktische Analyse vornehmen, um alle externen
Bezüge
auf eingefügte
Objekte zu extrahieren. Der Zugriffspunkt 70 kann annehmen,
dass die Netzkopplung 72 gerade dabei ist, die eingefügten Objekte
vorab abzurufen und kann seine eigene Liste von vorab abgerufenen
Objekten erstellen, die alle eingefügten Objekte umfasst. Weil
der Zugriffspunkt 70 die Stammdatei immer vor dem Web-Browser 20 erhält, kann
der Zugriffspunkt 70 seine Liste von vorab abgerufenen
Objekten erstellen, bevor vom Web-Browser 20 irgendwelche
Abrufe erhalten werden.
-
Wenn
ein Abruf erhalten wird, der auf der Liste von vorab abgerufenen
Objekten erscheint, jedoch das Objekt selbst nicht innerhalb einer
gegebenen Zeit am Zugriffspunkt 70 empfangen wird, kann
der Zugriffspunkt 70 den Abruf zur Satellitennetzkopplung 72 weiterleiten.
Man beachte, dass in dieser Ausführungsform
die Übertragung
von Mitteilungsdaten von der Satellitennetzkopplung 72 zum
Zugriffspunkt 70, in Block 92 von 7 angegeben,
nicht erfolgt, wodurch die über
die Satellitenverbindung übertragene
Datenmenge abnimmt. Weil das Korrelationsproblem vermieden ist,
braucht der Zugriffspunkt 70 das Anfragen nach Objekten
nicht zu verzögern,
falls er einen Abruf bezüglich
eines Objekts erhält,
das weder verfügbar
ist noch auf der Liste steht, wodurch sich die mit der Systemverwendung
verbundene Gesamtwartezeit verkürzt.
-
Bei
noch einer anderen alternativen Ausführungsform widmet man sich
dem Korrelationsproblem, ohne die Funktionalität des Zugriffspunkts 70 dahingehend
zu erhöhen,
eine syntaktische Analyse auszuführen.
Mit erneutem Bezug auf 7 kann die Satellitennetzkopplung 72,
wenn sie in Block 86 die Stammdatei vom Internet 24 erhält, an der
Stammdatei zuerst eine syntaktische Analyse vornehmen, um festzustellen,
ob irgendwelche externen Bezüge
auf eingefügte
Objekte vorliegen, bevor die Stammdateiinformation zum Zugriffspunkt 70 weitergeleitet
wird. Liegen keine externen Bezüge
vor, kann die Satellitennetzkopplung 72 die Stammdatei
unverzüglich zum
Zugriffspunkt 70 weiterleiten. Gibt es einen oder mehrere
externe Bezüge,
kann die Satellitennetzkopplung 72 Daten, die einem oder
mehreren der eingefügten
Objekte entsprechen, anfordern und erhalten, bevor die Übermittlung
der Stammdatei zum Zugriffspunkt 70 beginnt. Auf diese
Weise folgen die eingefügten
Objekte in konsistenter Weise unmittelbar nach der Stammdatei und
sind somit am Zugriffspunkt 70 verfügbar, wenn sie vom Web-Browser 20 aufgerufen
werden. In einer Ausführungsform
empfängt
die Satellitennetzkopplung 72 alle eingefügten Objekte,
bevor die Übermittlung
der Stammdatei zum Zugriffspunkt 70 beginnt. In einer anderen
Ausführungsform
empfängt
die Satellitennetzkopplung 72 eines oder mehrere der eingefügten Objekte,
bevor die Übermittlung
der Stammdatei zum Zugriffspunkt 70 beginnt. In noch einer
anderen Ausführungsform empfängt die
Satellitennetzkopplung 72 eine vorbestimmte Datenmenge,
die einem Teil von einem oder mehreren eingefügten Objekten entsprechen kann, bevor
die Übermittlung
der Stammdatei zum Zugriffspunkt 70 beginnt. Über die
Vermeidung des Korrelationsproblems hinausgehend ist es bei diesem
Verfahren nicht erforderlich, dass von der Satellitennetzkopplung 72 zum
Zugriffspunkt 70 Mitteilungsnachrichten gesendet werden,
wodurch sich der Datenstrom über
die drahtlose Verbindung reduziert. Weil das Korrelationsproblem
vermieden ist, braucht der Zugriffspunkt 70 das Weiterleiten
von Abrufen nach Objekten nicht zu verzögern, falls er einen Abruf
bezüglich
eines Objekts erhält,
das nicht verfügbar
ist, womit sich die der Systemverwendung zugeordnete Gesamtwartezeit
verkürzt.
-
Die
unmittelbare Verfügbarkeit
der eingefügten
Objekte am Web-Browser 20 nach
Anzeige der Stamm-Web-Seite bei jeder dieser Ausführungsformen
hat den Vorteil, dass dem User eine unmittelbare Antwort präsentiert
wird.
-
In
noch einer anderen Ausführungsform nimmt
nach Erhalt einer Stammdatei an der Satellitennetzkopplung 72 diese
eine syntaktische Analyse an der Stammdatei vor und beginnt damit,
eingefügte Objekte
abzurufen. Bei Empfangnahme der eingefügten Objekte leitet die Satellitennetzkopplung 72 diese
an den Zugriffspunkt 70 weiter. Nachdem die Satellitennetzkopplung 72 alle
oder einen Teil der eingefügten
Objekte abgerufen, empfangen und übertragen hat, einschließlich der
innerhalb anderer eingefügter
Objekte liegenden, ineinander geschachtelten Objekte, beginnt die
Satellitennetzkopplung 72 damit, die Stammdatei zum Zugriffspunkt 70 weiterzuleiten.
Die Übertragung
der vorab abgerufenen eingefügten
Objekte, bevor die Stammdatei übertragen
wird, stellt sicher, dass alle eingefügten Objekte am Zugriffspunkt 70 verfügbar sind,
bevor sie vom Web-Browser 20 angefordert werden. Außerdem ist bei
dieser Ausführungsform
weder der Einsatz von Mitteilungsnachrichten erforderlich noch die
Aufnahme einer zusätzlichen
Funktionalität
am Zugriffspunkt 70; bei dieser Ausführungsform kann der Zugriffspunkt 70 Abrufe
bezüglich
unbekannten Objekten weiterleiten, ohne dass eine zweckbestimmte
Verzögerung
erfolgt.
-
Wie
oben angegeben, werden die Daten typischerweise über derzeitige standardmäßige digitale
Datennetze transferiert, und zwar typischerweise gemäß dem HTTP-Protokoll.
HTTP ist ein Abruf/Antwort-Protokoll. Der Client sendet einen Abruf
zum Server und der Server antwortet mit einer Antwort. Durch dieses
einfache Protokoll ist der Einsatz von aus vielen Schritten bestehenden
Handshake-Programmen beim Beginn jeder Datenübertragung vermieden. Es ist
jedoch im HTTP-Protokoll nicht vorgesehen, dass ein Client in einer
Nachricht mit vorgreifender Antwort einen Datentransfer erhalten
kann, den er nicht angefordert hat.
-
In
der bevorzugten Ausführungsform
umfasst die Verbindung, die die Satellitennetzkopplung 72 mit
dem Zugriffspunkt 70 verbindet, eine Einrichtung zum Übertragen
von nicht angeforderten Daten unter Verwendung einer Nachricht mit
vorgreifender Antwort. Um eine solche Funktionalität bereitzustellen,
liegt die Verbindung, welche die Satellitennetzkopplung 72 mit
dem Zugriffspunkt 70 verbindet, außerhalb des reinen HTTP-Protokolls.
Ein wichtiger Punkt ist, dass der dezentrale Proxy-Server 68 für den Web-Browser 20 und
den Web-Server 26 transparent ist. Aus diesem Grund ist
es wichtig, dass der dezentrale Proxy-Server 68 hinlänglich bekannte
Datentransferprotokolle wie HTTP unterstützt, wenigstens wie durch externe
Entitäten
wahrgenommen. Weil aber die Satellitennetzkopplung 72 und
der Zugriffspunkt 70 gleichrangige, von einem gemeinsamen
Zugriffsprovider gesteuerte Einheiten sind, ist es nicht notwendig,
dass die den Zugriffspunkt 70 und die Satellitennetzkopplung 72 verbindende
Verbindung gemäß Standardprotokollen
der Industrie arbeitet. Von daher kann ein Fachmann entsprechend
hinlänglich
bekannter Verfahren ein Protokoll entwickeln, das den Transfer von
nicht abgerufenen Daten ermöglicht,
der zwischen der Satellitennetzkopplung 72 und dem Zugriffspunkt 70 auftritt,
wie zum Beispiel durch den Einsatz einer vorgreifenden Antwort.
-
In 6 ist
ein einzelner Web-Browser 20 gezeigt, der mit dem dezentralen
Proxy-Server 68 verbunden ist. In der bevorzugten Ausführungsform jedoch
bedient der Zugriffspunkt 70 eine Vielzahl von Usern. Außerdem kann
die Satellitennetzkopplung 72 eine Vielzahl von Zugriffspunkteinheiten 70 bedienen.
In einer Ausführungsform
ist der Zugriffspunkt 70 in einem einzigen Gehäuse vereinigt.
Das Gehäuse
ist an eine Antenne angeschlossen, die sich außen an einem Gebäude befindet,
in dem das Gehäuse
liegt. Ein lokales Netz verbindet eine Vielzahl von Web-Browsern 20 mit
dem Gehäuse.
In einer anderen Ausführungsform
ist der Zugriffspunkt 70 auf derselben Maschine bzw. in
demselben Gehäuse
implementiert, in dem der Web-Browser 20 arbeitet. In noch
einer anderen Ausführungsform
sind die Funktionalität
und Module des Zugriffspunkts 70 auf eine Vielzahl von
Rechnereinheiten verteilt. Allgemein können die Funktionen und Module
des Zugriffspunkts auf Entitäten
auf einer Seite der betreffenden Verbindung und die Netzkopplungsfunktionen
und Module auf Entitäten
auf der anderen Seite der Verbindung verteilt werden. Es ist nicht
notwendig, dass der Zugriffspunkt oder die Netzkopplung direkt mit der
betreffenden Verbindung und dazwischen befindlichen Entitäten verbunden
ist; die betreffende Verbindung kann den Zugriffspunkt von der Netzkopplung
auch trennen.
-
Dieselben
Verfahren, die oben beschrieben sind, lassen sich auf andere externe
Dateien anwenden, selbst wenn die Wahrscheinlichkeit eines wiederholten
Abrufs dieser Dateien geringer ist als die Wahrscheinlichkeit von
Abrufen bezüglich
eingefügter
Objekte. Beispielsweise enthalten viele Web-Seiten Hyperlinks auf andere Web-Seiten,
auf die der User wahlweise zugreifen kann. Eine Homepage eines Fertigungsbetriebs
kann einen Hyperlink auf eine Seite mit Stellenanzeigen umfassen,
eine Seite über Produktinformation,
eine Seite über
Firmeninformation und eine Seite mit Pressemitteilungen. Ein User, der
auf die Homepage zugreift, wird höchstwahrscheinlich auf eine
der Seiten zugreifen, auf die durch die Hyperlinks verwiesen wird.
Nachdem alle eingefügten
Objekte durch die Satellitennetzkopplung 72 abgerufen sind,
kann die Netzkopplung damit beginnen, ein auf Vorhersage beruhendes,
vorab erfolgendes Abrufen der gelinkten Web-Seiten durchzuführen und
sie ähnlich wie
die eingefügten
Objekte an den Zugriffspunkt 70 übermitteln. Die Datenmenge
kann beschränkt
werden, um eine endlose Aneinanderreihung von Daten zu verhindern.
Wenn der User einen der auf Vorhersagebasis vorab abgerufenen Links aufruft,
empfängt
er die Information direkt vom Zugriffspunkt 70, wodurch
die Umlaufzeit vermieden ist, die mit der Verwendung der drahtlosen
Verbindung zusammenhängt.
Die vorab abgerufenen Objekte können
allgemein Text- oder digitale Datendateien sein, Bilder, Soundclips,
Programmmodule, Datenpakete mit externen Funktionen oder irgendwelche
anderen derartige Sachen.
-
Obwohl
das oben angegebene Beispiel im Hinblick auf einen Web-Browser beschrieben
wurde, der über
das Internet auf einen Web-Server zugreift, lassen sich die Grundgedanken
der Erfindung auf viele Situationen anwenden, in denen ein Datenendgerät über ein
Datennetz mit einer Verbindung, die eine beträchtliche Verzögerung einbringt,
eine Datendatei abruft, die einen Bezug auf eine externe Datendatei
enthält.
In so einem Fall kann die den Abruf startende Einheit eine beliebige
Art eines digitalen Geräts
sein, das einen Dateiabruf erzeugen kann und die antwortende Einheit
kann eine beliebige Art eines digitalen Geräts sein, das eine Datei übermitteln kann.
Beispielsweise kann das in den Figuren gezeigte Internet 24 ein öffentliches
oder privates, lokales Netz sein, oder ein anderes, vom Internet
verschiedenes großräumiges Netz.
-
Für den Fachmann
sind nach eingehender Betrachtung der Offenbarung eine Vielzahl
von alternativen Ausführungsformen
ersichtlich. So können die
Lehren der Erfindung, obwohl die bevorzugte Ausführungsform beispielsweise mit
Bezug auf eine Satellitenverbindung gezeigt wurde, direkt auf irgendeine
Verbindung angewendet werden, die eine beträchtliche Verzögerung mit
einbringt, sei es nun eine drahtgebundene Verbindung oder eine drahtlose.
-
Außerdem ist
wie oben angegeben durch den Einsatz der Erfindung die Datenmenge
reduziert, die vom Zugriffspunkt zur Netzkopplung strömt. Diese
Reduzierung kann sogar bei solchen Systemen wichtig werden, wo die Verzögerung der
Strecke zwischen dem Zugriffspunkt und der Netzkopplung nicht von
wesentlicher Bedeutung ist. Kabelmodems sind beispielsweise hochgradig
asymmetrische Verbindungen. Die Verbindung netzabwärts vom
Internet zum User weist einen ziemlich hohen Durchsatz auf, während die
Verbindung netzaufwärts
vom User zum Internet einen sehr begrenzten Durchsatz hat. Selbst wenn
die Verzögerung
kein Problem darstellt, kann es von Vorteil sein, einen dezentralen
Proxy-Server einzusetzen, um den Datenstrom netzaufwärts zu reduzieren.
-
Die
Erfindung kann in anderen spezifischen Formen verwirklicht werden,
ohne ihren gedanklichen Inhalt oder ihre grundlegenden Eigenschaften zu
verlassen, wie sie durch die beigefügten Ansprüche definiert sind. In den
folgenden Ansprüchen
sind Bezugszeichen, die zur Bezugnahme auf Prozessschritte verwendet
werden, nur zur Zweckdienlichkeit der Beschreibung vorgesehen und
geben keine besondere Reihenfolge zur Ausführung der Schritte vor.