DE69827638T2 - Verteiltes system und verfahren zum objektvorabholen - Google Patents

Verteiltes system und verfahren zum objektvorabholen Download PDF

Info

Publication number
DE69827638T2
DE69827638T2 DE69827638T DE69827638T DE69827638T2 DE 69827638 T2 DE69827638 T2 DE 69827638T2 DE 69827638 T DE69827638 T DE 69827638T DE 69827638 T DE69827638 T DE 69827638T DE 69827638 T2 DE69827638 T2 DE 69827638T2
Authority
DE
Germany
Prior art keywords
component
document
client
objects
satellite
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Revoked
Application number
DE69827638T
Other languages
English (en)
Other versions
DE69827638D1 (de
Inventor
L. Bruce CARNEAL
A. Ram FISH
Jeremy Guralnick
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tachyon Inc
Original Assignee
Tachyon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=21993896&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69827638(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Tachyon Inc filed Critical Tachyon Inc
Publication of DE69827638D1 publication Critical patent/DE69827638D1/de
Application granted granted Critical
Publication of DE69827638T2 publication Critical patent/DE69827638T2/de
Anticipated expiration legal-status Critical
Revoked legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/18578Satellite systems for providing broadband data service to individual earth stations
    • H04B7/18582Arrangements for data linking, i.e. for data framing, for error recovery, for multiple access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2876Pairs of inter-processing entities at each side of the network, e.g. split proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Astronomy & Astrophysics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Radio Relay Systems (AREA)
  • Communication Control (AREA)

Description

  • 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 22A22N des Internet 24 geleitet. Die Kommunikationsserver 22A22N 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 22A22N 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 20A20N als Schnittstelle zum Internet 24 dient. Der Proxy-Server 66 kann dazu ausgelegt sein, die Web-Browser 20A20N (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 20A20N 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 20A20N. 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 20A20N 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 20A20N eventuell keine Kenntnis über den Proxy-Server 66 haben, ist es letztlich so, dass die Web-Browser 20A20N 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 20A20N 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 20A20N 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 20A20N 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.

Claims (16)

  1. Verfahren zum Verarbeiten eines von einem Client stammenden Abrufs eines Dokuments, das ein eingefügtes Objekt beinhaltet, in einem Internet-Zugriffsystem mit einer Datenübertragungsstrecke (62), wobei die Datenübertragungsstrecke einen Clientbereich (70) und einen vom Clientbereich fernab befindlichen Serverbereich (72) aufweist, wobei der vom Client stammende Abruf von einem Client (20) generiert wird und an einen Dokumentenserver (26) gerichtet ist, wobei das Dokument eine Basiskomponente umfasst, die einen Bezug zum eingefügten Objekt enthält, wobei das Verfahren umfasst: auf Seiten des Clients (20) der Datenübertragungsstrecke (62): (a) Empfangen des vom Client stammenden Abrufs und Weiterleiten (82) des Abrufs über die Datenübertragungsstrecke zum Serverbereich (72); auf Seiten des Servers (26) der Datenübertragungsstrecke (62): (b) Empfangen des vom Client stammenden Abrufs und Weiterleiten (84) des Abrufs an den Dokumentenserver (26) über das Internet (24); (c) Empfangen (88) der Basiskomponente vom Dokumentenserver, syntaktisches Analysieren (92) der Basiskomponente zur Feststellung des Bezugs zum Objekt, und Weiterleiten (88) der Basiskomponente über die Datenübertragungsstrecke (62) zum Clientbereich (20), um es diesem zur Verfügung zu stellen; (d) vorab erfolgendes Abrufen (92) des eingefügten Objekts vom Dokumentenserver (26) unter Verwendung des in Schritt (c) festgestellten Bezugs, und, ohne darauf zu warten, dass der Client (20) das Objekt abruft, Weiterleiten des Objekts über die Datenübertragungsstrecke (26) zum Clientbereich (20), um es diesem zur Verfügung zu stellen; wobei das Verfahren zumindest für den Dokumentenserver nachvollziehbar durchgeführt wird.
  2. Verfahren nach Anspruch 1, darüber hinaus auf Seiten des Clients der Datenübertragungsstrecke (62) folgende Schritte umfassend: Empfangen des in Schritt (d) weitergeleiteten Objekts und Ablegen desselben in einem Cache-Speicher; und Weiterleiten (102) des Objekts an den Client (20) im Ansprechen auf einen vom Client stammenden Abruf des Objekts.
  3. Verfahren nach Anspruch 1, darüber hinaus das Unterbinden der Übertragung (98) eines vom Client stammenden Abrufs des Objekts über die Datenübertragungsstrecke (62) umfassend, während auf Seiten des Clients der Datenübertragungsstrecke (62) auf die Ankunft des Objekts gewartet wird.
  4. Verfahren nach Anspruch 1, bei dem die Datenübertragungsstrecke eine Satellitenverbindung (62) ist und durch das Verfahren eine Verzögerung vermieden wird, die normalerweise mit dem Senden eines vom Client (20) stammenden Abrufs des Objekts über die Satellitenverbindung verbunden ist.
  5. Verfahren nach Anspruch 4, bei dem Schritt (a) von einer lauffähigen Komponente ausgeführt wird, die an einem User-Zugriffspunkt zur Satellitenverbindung läuft, und die Schritte (b)–(d) von einer Netzkopplungskomponente zwischen Satellit und Internet ausgeführt werden.
  6. Verfahren nach Anspruch 1, darüber hinaus für jedes aus einer Vielzahl von zusätzlichen eingefügten Objekten des Dokuments das Wiederholen von Schritt (d) umfassend.
  7. Verfahren nach Anspruch 1, bei dem Schritt (a) einen Datenaustausch mit einem Web-Browser-Programm (20) unter Verwendung eines Standard-Internetprotokolls umfasst.
  8. Verfahren nach Anspruch 1, bei dem das Dokument einen Hyperlink auf ein zweites Dokument beinhaltet und das Verfahren darüber hinaus umfasst, das im Serverbereich (26) befindliche zweite Dokument vorab abzurufen und es an den Client weiterzuleiten.
  9. Verteiltes System (68) zur Reduzierung eines durch eine Datenübertragungsstrecke (62) verursachten Leistungsrückgangs in einem Client-Server-Abrufsystem für Dokumente, in dem in Dokumenten vorkommende eingefügte Objekte von Basiskomponenten der Dokumente separat angefordert und abgerufen werden, wobei das verteilte System umfasst: eine erste Komponente (70), die auf Seiten des Clients der Datenübertragungsstrecke (62) läuft und mit Clients (20) in Verbindung steht, wobei die erste Komponente (70) dazu ausgelegt ist, Dokumentenabrufe von den Clients (20) zu empfangen und die Abrufe über die Datenübertragungsstrecke (62) zur Weiterverarbeitung weiterzuleiten; und eine zweite Komponente (72), die fernab der ersten Komponente auf Seiten des Servers der Datenübertragungsstrecke (62) läuft und mit Dokumentenservern (26) in Verbindung steht, wobei die zweite Komponente (72) dazu ausgelegt ist, die Dokumentenabrufe von der ersten Komponente (70) über die Datenübertragungsstrecke (62) zu empfangen und die Abrufe an die Dokumentenserver (26) weiterzuleiten, wobei durch die Abrufe die Dokumentenserver (26) dazu veranlasst werden, Basiskomponenten von abgerufenen Dokumenten zurückzuleiten; bei dem die zweite Komponente (72) von den Dokumentenservern (26) zurückgeleitete Basiskomponenten verarbeitet, 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 vorab abgerufenen eingefügten Objekte an die erste Komponente (70) weitergeleitet werden, ohne auf vom Client stammende Abrufe der eingefügten Objekte zu warten; und bei dem die erste Komponente (70) die vorab abgerufenen eingefügten Objekte, die von der zweiten Komponente eingegangen sind, in einem Cache-Speicher (71) ablegt, und auf von den Clients (20) stammende Abrufe antwortet, indem die eingefügten Objekte vom Cache-Speicher (71) an die Clients (20) weitergeleitet werden; und bei dem das verteilte System wenigstens für die Dokumentenserver (26) nachvollziehbar arbeitet.
  10. Verteiltes System nach Anspruch 9, bei dem die erste Komponente (70) Übertragungen über die Datenübertragungsstrecke (62) von von einem Client stammenden Abrufen von Objekten, die vorab abgerufen werden, unterbindet, um so den Datenverkehr über die Datenübertragungsstrecke (62) zu reduzieren.
  11. Verteiltes System nach Anspruch 9, bei dem die Datenübertragungsstrecke eine Satellitenverbindung (62) ist und durch die erste und zweite Komponente (70, 72) eine Verzögerung reduziert wird, die normalerweise mit Abrufen von eingefügten Objekten über die Satellitenverbindung (62) verbunden ist.
  12. Verteiltes System nach Anspruch 11, bei dem die erste Komponente (70) an einem User-Zugriffspunkt zur Satellitenverbindung (62) läuft und die zweite Komponente (72) Teil einer Netzkopplungskomponente zwischen Satellit und Internet ist.
  13. Verteiltes System nach Anspruch 9, bei dem die Datenübertragungsstrecke (62) eine kabelgebundene Übertragungsstrecke zur Bereitstellung eines Internet-Zugangs über ein Kabelmodem ist.
  14. Verteiltes System nach Anspruch 9, bei dem das Abrufsystem für Dokumente ein Hypertext-System ist und die zweite Komponente (72) darüber hinaus so konfiguriert ist, dass ein Dokument vorab abgerufen wird, auf das über einen Hyperlink in einem abgerufenen Dokument Bezug genommen ist.
  15. System nach Anspruch 9, bei dem die erste Komponente (70) und die zweite Komponente (72) zum Datenaustausch mit den Clients (20) bzw. Dokumentenservern (26) Standard-Protokolle des World Wide Web benutzen.
  16. System nach Anspruch 9, bei dem die erste Komponente (70) über die Datenübertragungsstrecke (62) von der zweiten Komponente (72) in Bezug auf ein Objekt, das vorab abgerufen wird, benachrichtigt wird.
DE69827638T 1997-08-06 1998-08-05 Verteiltes system und verfahren zum objektvorabholen Revoked DE69827638T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US5484797P 1997-08-06 1997-08-06
US54847P 1997-08-06
PCT/US1998/016353 WO1999008429A1 (en) 1997-08-06 1998-08-05 A distributed system and method for prefetching objects

Publications (2)

Publication Number Publication Date
DE69827638D1 DE69827638D1 (de) 2004-12-23
DE69827638T2 true DE69827638T2 (de) 2005-12-01

Family

ID=21993896

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69827638T Revoked DE69827638T2 (de) 1997-08-06 1998-08-05 Verteiltes system und verfahren zum objektvorabholen

Country Status (11)

Country Link
US (3) US6282542B1 (de)
EP (1) EP1002410B1 (de)
JP (1) JP3774807B2 (de)
KR (1) KR100571059B1 (de)
CN (1) CN1108685C (de)
AT (1) ATE282922T1 (de)
AU (1) AU737551B2 (de)
CA (1) CA2298712A1 (de)
DE (1) DE69827638T2 (de)
RU (1) RU2210871C2 (de)
WO (1) WO1999008429A1 (de)

Families Citing this family (199)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6937998B1 (en) * 1987-12-28 2005-08-30 Symbol Technologies, Inc. Arrangement for and method of expediting transactions based on a customer's proximity to the transactions
US7363291B1 (en) * 2002-03-29 2008-04-22 Google Inc. Methods and apparatus for increasing efficiency of electronic document delivery to users
US6047284A (en) 1997-05-14 2000-04-04 Portal Software, Inc. Method and apparatus for object oriented storage and retrieval of data from a relational database
JP3774807B2 (ja) * 1997-08-06 2006-05-17 タキオン インコーポレイテッド 分散型システムとオブジェクトをプレフェッチする方法
US6393526B1 (en) * 1997-10-28 2002-05-21 Cache Plan, Inc. Shared cache parsing and pre-fetch
US6038594A (en) * 1998-02-02 2000-03-14 Loral Cyberstar, Inc. Internet communication system and method with asymmetric terrestrial and satellite links
US7007072B1 (en) * 1999-07-27 2006-02-28 Storage Technology Corporation Method and system for efficiently storing web pages for quick downloading at a remote device
US7089331B1 (en) 1998-05-29 2006-08-08 Oracle International Corporation Method and mechanism for reducing client-side memory footprint of transmitted data
US6330561B1 (en) * 1998-06-26 2001-12-11 At&T Corp. Method and apparatus for improving end to end performance of a data network
US6993591B1 (en) * 1998-09-30 2006-01-31 Lucent Technologies Inc. Method and apparatus for prefetching internet resources based on estimated round trip time
US8418131B2 (en) * 1998-11-25 2013-04-09 Helmut Emmelmann Interactive server side components
US6658491B1 (en) * 1998-12-04 2003-12-02 Honeywell Inc. System and method for constructing an ole process control compliant data server from a noncompliant user application
US6564327B1 (en) * 1998-12-23 2003-05-13 Worldcom, Inc. Method of and system for controlling internet access
US7461334B1 (en) * 1999-03-19 2008-12-02 Network Solutions, Llc Apparatus and method for web forwarding
US8275661B1 (en) 1999-03-31 2012-09-25 Verizon Corporate Services Group Inc. Targeted banner advertisements
US8572069B2 (en) 1999-03-31 2013-10-29 Apple Inc. Semi-automatic index term augmentation in document retrieval
WO2000058863A1 (en) 1999-03-31 2000-10-05 Verizon Laboratories Inc. Techniques for performing a data query in a computer system
US6553393B1 (en) * 1999-04-26 2003-04-22 International Business Machines Coporation Method for prefetching external resources to embedded objects in a markup language data stream
US6601098B1 (en) * 1999-06-07 2003-07-29 International Business Machines Corporation Technique for measuring round-trip latency to computing devices requiring no client-side proxy presence
GB2350973A (en) * 1999-06-11 2000-12-13 Nokia Mobile Phones Ltd Simultaneously fetching page content and link content in a mobile web browser
US6708206B1 (en) * 1999-06-15 2004-03-16 Nokia Corporation Apparatus, and associated method, for providing a client with messages
US6427172B1 (en) * 1999-07-20 2002-07-30 Cyberstar, L.P. Method and apparatus for internet cache content delivery via a data distribution system
US6538667B1 (en) * 1999-07-23 2003-03-25 Citrix Systems, Inc. System and method for providing immediate visual response to user input at a client system connected to a computer system by a high-latency connection
US6996770B1 (en) * 1999-07-26 2006-02-07 Microsoft Corporation Methods and systems for preparing extensible markup language (XML) documents and for responding to XML requests
US6718363B1 (en) 1999-07-30 2004-04-06 Verizon Laboratories, Inc. Page aggregation for web sites
US6606650B2 (en) 1999-08-30 2003-08-12 Nortel Networks Limited Bump in the wire transparent internet protocol
US6941338B1 (en) * 1999-09-01 2005-09-06 Nextwave Telecom Inc. Distributed cache for a wireless communication system
JP3534027B2 (ja) * 1999-12-01 2004-06-07 日本電気株式会社 コンテンツ提供装置及びプログラムを記録した機械読み取り可能な記録媒体
US7340499B1 (en) * 1999-12-03 2008-03-04 Sun Microsystems, Inc. Dynamic embedding of literal object data in supplied instance of information object
US7441014B1 (en) * 2000-02-09 2008-10-21 Tvworks, Llc Broadcast distribution using low-level objects and locator tables
US6947440B2 (en) * 2000-02-15 2005-09-20 Gilat Satellite Networks, Ltd. System and method for internet page acceleration including multicast transmissions
US7389284B1 (en) 2000-02-29 2008-06-17 Oracle International Corporation Method and mechanism for efficient processing of remote-mapped queries
US7257611B1 (en) * 2000-04-12 2007-08-14 Oracle International Corporation Distributed nonstop architecture for an event processing system
US20020002625A1 (en) * 2000-04-17 2002-01-03 Mark Vange System and method for reformatting data traffic
US6912525B1 (en) 2000-05-08 2005-06-28 Verizon Laboratories, Inc. Techniques for web site integration
US6697850B1 (en) * 2000-05-09 2004-02-24 Northrop Grumman Corporation Satellite-based communications system having an on-board internet web proxy cache
US6675202B1 (en) * 2000-05-30 2004-01-06 Cary D. Perttunen Methods, articles and apparatus for providing a browsing session
US7328275B1 (en) * 2000-05-30 2008-02-05 Perttunen Cary D Wirelessly retrieving and locally caching child and sibling items in a browsing session
AU2001268199A1 (en) * 2000-06-05 2001-12-17 Altoweb Systems, Inc. System and method for integrating multiple applications
US6848076B1 (en) * 2000-06-22 2005-01-25 International Business Machines Corporation Automatic fetching and storage of requested primary and related documents or files at receiving web stations after repeated failures to access such documents or files from the World Wide Web
US20020059457A1 (en) * 2000-07-06 2002-05-16 Ballard Glenn Wesley System and method for the remote creation of notification agents for wireless devices
US6795848B1 (en) * 2000-11-08 2004-09-21 Hughes Electronics Corporation System and method of reading ahead of objects for delivery to an HTTP proxy server
US6813693B2 (en) * 2000-12-11 2004-11-02 Microsoft Corporation System and method for the discovery and use of repetitively accessed data
US20020111992A1 (en) * 2000-12-18 2002-08-15 Copeland George P. JSP composition in a cache for web applications with dynamic content
US7467379B2 (en) * 2001-01-16 2008-12-16 International Business Machines Corporation System and method for incrementally executing a client/server application
US6874019B2 (en) * 2001-03-08 2005-03-29 International Business Machines Corporation Predictive caching and highlighting of web pages
US20020138555A1 (en) * 2001-03-23 2002-09-26 Yu Allen Kai-Lang Client enhanced server-side cache system
US20020147770A1 (en) * 2001-04-09 2002-10-10 Timothy Tang Multicast enabled caching service
AU2002313583A1 (en) * 2001-08-01 2003-02-17 Actona Technologies Ltd. Virtual file-sharing network
US6792496B2 (en) * 2001-08-02 2004-09-14 Intel Corporation Prefetching data for peripheral component interconnect devices
US20030046336A1 (en) * 2001-08-31 2003-03-06 D'annunzio Michael A. Persistent link for broadband mobile platform communicatons systems using proxy servers
WO2003032201A1 (en) * 2001-10-09 2003-04-17 Wildblue Communications, Inc. Performance enhancing proxy for high latency data
US7124195B2 (en) * 2001-10-17 2006-10-17 Velcero Broadband Applications, Llc Broadband network system configured to transport audio or video at the transport layer, and associated method
US7516236B2 (en) * 2001-12-21 2009-04-07 Nokia Corporation Method to improve perceived access speed to data network content using a multicast channel and local cache
KR100476781B1 (ko) * 2001-12-28 2005-03-16 삼성전자주식회사 캐싱기법을 이용한 mpeg-4 시스템 단말의 제어방법
JP3809863B2 (ja) * 2002-02-28 2006-08-16 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバ
CN1307522C (zh) * 2002-03-06 2007-03-28 弗里科姆技术公司 用于外部数据存储单元的监视和数据交换方法
US7376695B2 (en) 2002-03-14 2008-05-20 Citrix Systems, Inc. Method and system for generating a graphical display for a remote terminal session
US8671213B2 (en) 2002-03-14 2014-03-11 Citrix Systems, Inc. Methods and apparatus for generating graphical and media displays at a client
US8099393B2 (en) 2002-03-22 2012-01-17 Oracle International Corporation Transaction in memory object store
US7610351B1 (en) * 2002-05-10 2009-10-27 Oracle International Corporation Method and mechanism for pipelined prefetching
US6751709B2 (en) * 2002-05-15 2004-06-15 Sun Microsystems, Inc. Method and apparatus for prefetching objects into an object cache
JP2004005269A (ja) * 2002-05-31 2004-01-08 Toshiba Corp データ取得方法、電子機器およびデータ取得プログラム
US20030225885A1 (en) * 2002-05-31 2003-12-04 Comverse, Ltd. Caching for limited bandwidth networks
FR2841079B1 (fr) * 2002-06-14 2005-02-25 Canal Plus Technologies Procede de diffusion d'application html
US7389330B2 (en) * 2002-09-11 2008-06-17 Hughes Network Systems, Llc System and method for pre-fetching content in a proxy architecture
US20040088375A1 (en) * 2002-11-01 2004-05-06 Sethi Bhupinder S. Method for prefetching Web pages to improve response time networking
ATE445881T1 (de) 2002-11-06 2009-10-15 Tellique Kommunikationstechnik Verfahren zum vorabübertragen strukturierter datenmengen zwischen einer clienteinrichtung und einer servereinrichtung
FR2853797A1 (fr) * 2003-04-09 2004-10-15 Canon Kk Procede et dispositif de pre-traitement de requetes liees a un signal numerique dans une architecture du type client-serveur
US20040255008A1 (en) * 2003-04-21 2004-12-16 International Business Machines Corporation System for low power operation of wireless LAN
US7359395B2 (en) * 2003-06-16 2008-04-15 Packeteer, Inc. Pre-fetch communication systems and methods
US7331038B1 (en) * 2003-07-02 2008-02-12 Amazon.Com, Inc. Predictive prefetching to improve parallelization of document generation subtasks
EP1664952A1 (de) * 2003-07-23 2006-06-07 Honeywell International Inc. Cache-speicherung von porzessdaten eines langsamen netzwerks in einer schnellen netzwerkumgebung
US9032096B2 (en) * 2003-12-17 2015-05-12 Cisco Technology, Inc. Reducing the impact of network latency on application performance
US20050198395A1 (en) * 2003-12-29 2005-09-08 Pradeep Verma Reusable compressed objects
US8195761B2 (en) * 2004-01-13 2012-06-05 International Business Machines Corporation Prefetching web resources based on proxy triggers
US7483941B2 (en) * 2004-01-13 2009-01-27 International Business Machines Corporation System and method for dynamically inserting prefetch tags by the web server
US20050210121A1 (en) * 2004-03-22 2005-09-22 Qualcomm Incorporated Satellite anticipatory bandwith acceleration
US20050210122A1 (en) * 2004-03-22 2005-09-22 Qualcomm Incorporated HTTP acceleration over a network link
US20050216519A1 (en) * 2004-03-26 2005-09-29 Mayo Glenna G Access point that monitors guest usage
US7624160B2 (en) * 2004-05-04 2009-11-24 International Business Machines Corporation Methods, systems, and computer program products for client side prefetching and caching of portlets
US7437364B1 (en) * 2004-06-30 2008-10-14 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US8224964B1 (en) 2004-06-30 2012-07-17 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US8676922B1 (en) 2004-06-30 2014-03-18 Google Inc. Automatic proxy setting modification
US7617294B1 (en) * 2004-08-02 2009-11-10 Sun Microsystems, Inc. Method and apparatus for reducing latency involved in retrieving web page components
US7752203B2 (en) 2004-08-26 2010-07-06 International Business Machines Corporation System and method for look ahead caching of personalized web content for portals
US7496642B2 (en) * 2004-09-29 2009-02-24 International Business Machines Corporation Adaptive vicinity prefetching for filesystem metadata
US7716139B2 (en) 2004-10-29 2010-05-11 Research In Motion Limited System and method for verifying digital signatures on certificates
US20060106807A1 (en) * 2004-11-18 2006-05-18 Microsoft Corporation System and method for transferring a file in advance of its use
US7769863B2 (en) 2004-11-19 2010-08-03 Viasat, Inc. Network accelerator for controlled long delay links
GB2422217B (en) * 2005-01-14 2009-12-23 Hewlett Packard Development Co Provision of services over a common delivery platform such as a mobile telephony network
US8001456B2 (en) * 2005-02-28 2011-08-16 International Business Machines Corporation Methods for maintaining separation between markup and data at a client
US7957413B2 (en) * 2005-04-07 2011-06-07 International Business Machines Corporation Method, system and program product for outsourcing resources in a grid computing environment
US8223935B2 (en) 2005-04-30 2012-07-17 Oracle International Corporation Revenue management systems and methods
US7694008B2 (en) 2005-05-04 2010-04-06 Venturi Wireless Method and apparatus for increasing performance of HTTP over long-latency links
US8312074B2 (en) * 2005-05-26 2012-11-13 Bytemobile, Inc. Method for multipart encoding
WO2007002841A2 (en) 2005-06-28 2007-01-04 Oracle International Corporation Revenue management system and method
US20070014995A1 (en) * 2005-07-12 2007-01-18 Jacob Chacko Thin rotary-fiberized glass insulation and process for producing same
JP2009504030A (ja) 2005-07-28 2009-01-29 オラクル・インターナショナル・コーポレイション 収益管理システムおよび方法
US7756932B2 (en) 2005-07-29 2010-07-13 Research In Motion Limited System and method for processing messages being composed by a user
DE602005003220T2 (de) * 2005-07-29 2008-09-04 Research In Motion Ltd., Waterloo Vorausladung von Sicherheitsrelevanten Daten in einem Mobilnetzwerk
US8340289B2 (en) 2005-09-29 2012-12-25 Research In Motion Limited System and method for providing an indication of randomness quality of random number data generated by a random data service
US7787892B2 (en) 2005-10-05 2010-08-31 Via Technologies, Inc. Method and apparatus for adaptive multi-stage multi-threshold detection of paging indicators in wireless communication systems
US8223777B2 (en) * 2005-11-15 2012-07-17 Oracle International Corporation Gateway for achieving low latency and high availability in a real time event processing system
US20070130121A1 (en) * 2005-12-01 2007-06-07 Dolph Blaine H System and method of displaying a document including an embedded link
FI118666B (fi) * 2005-12-22 2008-01-31 Sendandsee Oy Informaation jakelu tietoliikennejärjestelmissä
US7698647B2 (en) * 2006-01-30 2010-04-13 Fast-Cat, Llc Portable dataport device and method for retrieving, inter-relating, annotating and managing electronic documents at a point of need
EP1901525A1 (de) * 2006-09-15 2008-03-19 THOMSON Licensing Dateireparaturverfahren für ein Inhaltverteilungssystem
US8812651B1 (en) 2007-02-15 2014-08-19 Google Inc. Systems and methods for client cache awareness
US8065275B2 (en) * 2007-02-15 2011-11-22 Google Inc. Systems and methods for cache optimization
US20080201332A1 (en) * 2007-02-20 2008-08-21 Souders Steven K System and method for preloading content on the basis of user context
US7720936B2 (en) 2007-03-12 2010-05-18 Citrix Systems, Inc. Systems and methods of freshening and prefreshening a DNS cache
US7584294B2 (en) 2007-03-12 2009-09-01 Citrix Systems, Inc. Systems and methods for prefetching objects for caching using QOS
US8701010B2 (en) 2007-03-12 2014-04-15 Citrix Systems, Inc. Systems and methods of using the refresh button to determine freshness policy
US8103783B2 (en) * 2007-03-12 2012-01-24 Citrix Systems, Inc. Systems and methods of providing security and reliability to proxy caches
US20080228864A1 (en) * 2007-03-12 2008-09-18 Robert Plamondon Systems and methods for prefetching non-cacheable content for compression history
US8504775B2 (en) 2007-03-12 2013-08-06 Citrix Systems, Inc Systems and methods of prefreshening cached objects based on user's current web page
US7783757B2 (en) 2007-03-12 2010-08-24 Citrix Systems, Inc. Systems and methods of revalidating cached objects in parallel with request for object
CN100437590C (zh) * 2007-06-08 2008-11-26 北京大学 预取对象的方法
US8966053B2 (en) * 2007-07-12 2015-02-24 Viasat, Inc. Methods and systems for performing a prefetch abort operation for network acceleration
US7826465B2 (en) * 2007-10-04 2010-11-02 At&T Intellectual Property I, L.P. Methods, systems and computer program products for dynamic communication data routing by a multi-network remote communication terminal
US9654328B2 (en) 2007-10-15 2017-05-16 Viasat, Inc. Methods and systems for implementing a cache model in a prefetching system
US9460229B2 (en) 2007-10-15 2016-10-04 Viasat, Inc. Methods and systems for implementing a cache model in a prefetching system
KR100925644B1 (ko) * 2007-10-22 2009-11-06 에스케이 텔레콤주식회사 오브젝트 전송 시스템 및 그 제어방법
US20090112975A1 (en) * 2007-10-31 2009-04-30 Microsoft Corporation Pre-fetching in distributed computing environments
TW200929974A (en) * 2007-11-19 2009-07-01 Ibm System and method for performing electronic transactions
NZ566291A (en) * 2008-02-27 2008-12-24 Actionthis Ltd Methods and devices for post processing rendered web pages and handling requests of post processed web pages
EP2288982A1 (de) * 2008-04-17 2011-03-02 Nokia Corporation System und verfahren zur verbesserung des betriebs auf einem medienserver
CN101370014A (zh) * 2008-09-01 2009-02-18 华为技术有限公司 一种数据传输的方法、http代理和系统
US8958363B2 (en) * 2008-10-15 2015-02-17 Viasat, Inc. Profile-based bandwidth scheduler
US8195767B2 (en) * 2008-12-22 2012-06-05 Sap Ag Method and software for reducing server requests by a browser
US8312048B2 (en) * 2009-05-19 2012-11-13 Microsoft Corporation Database application navigation
US8417765B2 (en) * 2009-06-09 2013-04-09 International Business Machines Corporation Method and apparatus to enable protocol verification
US8868637B2 (en) * 2009-09-02 2014-10-21 Facebook, Inc. Page rendering for dynamic web pages
US8780823B1 (en) 2009-10-08 2014-07-15 Viasat, Inc. Event driven grant allocation
US8346968B2 (en) * 2009-12-14 2013-01-01 Verizon Patent And Licensing Inc. Proactive DNS query system based on call flow analysis
US8473688B2 (en) * 2010-03-26 2013-06-25 Microsoft Corporation Anticipatory response pre-caching
US9307003B1 (en) 2010-04-18 2016-04-05 Viasat, Inc. Web hierarchy modeling
US10417200B2 (en) * 2010-07-30 2019-09-17 Microsoft Technology Licensing, Llc Data migration for service upgrades
JP5511609B2 (ja) * 2010-09-27 2014-06-04 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェブ・ページ作成システム、方法及びプログラム
US9077681B2 (en) 2010-10-05 2015-07-07 Microsoft Technology Licensing, Llc Page loading optimization using page-maintained cache
EP2625655A4 (de) 2010-10-06 2014-04-16 Planet Data Solutions System und verfahren zur indexierung elektronischer erkennungsdaten
EP2533161A1 (de) * 2010-11-29 2012-12-12 Hughes Network Systems, LLC Computernetzwerksystem und Verfahren mit Javascript-Injektion zur Zeitbestimmung der Reaktion von Webseiten
CN102624756B (zh) * 2011-01-28 2015-06-24 联想(北京)有限公司 数据下载终端以及数据下载方法
CN102724165A (zh) * 2011-03-29 2012-10-10 海尔集团公司 终端通信的控制方法和装置、以及管理服务器
US9456050B1 (en) 2011-04-11 2016-09-27 Viasat, Inc. Browser optimization through user history analysis
US11983233B2 (en) * 2011-04-11 2024-05-14 Viasat, Inc. Browser based feedback for optimized web browsing
US9912718B1 (en) * 2011-04-11 2018-03-06 Viasat, Inc. Progressive prefetching
US9106607B1 (en) * 2011-04-11 2015-08-11 Viasat, Inc. Browser based feedback for optimized web browsing
US9037638B1 (en) 2011-04-11 2015-05-19 Viasat, Inc. Assisted browsing using hinting functionality
EA017487B1 (ru) * 2011-08-18 2012-12-28 Али Магомед Оглы Аббасов Способ приёмопередачи информации
US9094090B2 (en) 2011-09-23 2015-07-28 Gilat Satellite Networks Ltd. Decentralized caching system
US8589385B2 (en) 2011-09-27 2013-11-19 Amazon Technologies, Inc. Historical browsing session management
US9594751B1 (en) * 2011-10-20 2017-03-14 Amazon Technologies, Inc. Predictive delivery of digital content items to mobile devices to support offline transactions
US9313100B1 (en) 2011-11-14 2016-04-12 Amazon Technologies, Inc. Remote browsing session management
US9294582B2 (en) * 2011-12-16 2016-03-22 Microsoft Technology Licensing, Llc Application-driven CDN pre-caching
US9330188B1 (en) 2011-12-22 2016-05-03 Amazon Technologies, Inc. Shared browsing sessions
US8839087B1 (en) 2012-01-26 2014-09-16 Amazon Technologies, Inc. Remote browsing and searching
US9336321B1 (en) 2012-01-26 2016-05-10 Amazon Technologies, Inc. Remote browsing and searching
CN103260187B (zh) 2012-02-20 2016-03-02 华为技术有限公司 内容编码预同步的方法、设备及系统
US9066321B1 (en) 2012-04-17 2015-06-23 Exelis Inc. Proxy-based establishment of a communication session
US9946792B2 (en) * 2012-05-15 2018-04-17 Google Llc Access to network content
US20130339532A1 (en) * 2012-06-18 2013-12-19 Richard Nelson System and method for cookie-based browser identification and tracking
US9747386B1 (en) * 2012-08-10 2017-08-29 Amazon Technologies, Inc. User-perceived performance through browser hints
US9705957B2 (en) 2013-03-04 2017-07-11 Open Garden Inc. Virtual channel joining
US9363329B1 (en) 2013-03-15 2016-06-07 Instart Logic, Inc. Identifying correlated components of dynamic content
US10375192B1 (en) 2013-03-15 2019-08-06 Viasat, Inc. Faster web browsing using HTTP over an aggregated TCP transport
US20160191658A1 (en) * 2013-03-15 2016-06-30 Instart Logic, Inc. Efficient delivery of webpages
US9298455B1 (en) 2013-03-15 2016-03-29 Instart Logic, Inc. Provisional execution of dynamic content component
US10152463B1 (en) 2013-06-13 2018-12-11 Amazon Technologies, Inc. System for profiling page browsing interactions
US9578137B1 (en) 2013-06-13 2017-02-21 Amazon Technologies, Inc. System for enhancing script execution performance
US9565233B1 (en) 2013-08-09 2017-02-07 Google Inc. Preloading content for requesting applications
CN104572650A (zh) * 2013-10-11 2015-04-29 中兴通讯股份有限公司 浏览器智能阅读实现方法、装置及其终端
US9503975B2 (en) 2014-02-07 2016-11-22 Open Garden Inc. Exchanging energy credits wirelessly
US20170011133A1 (en) * 2014-03-31 2017-01-12 Open Garden Inc. System and method for improving webpage loading speeds
CN106462611B (zh) * 2014-05-13 2020-03-27 Opera软件公司 网络访问性能增强
US9613158B1 (en) 2014-05-13 2017-04-04 Viasat, Inc. Cache hinting systems
US10855797B2 (en) 2014-06-03 2020-12-01 Viasat, Inc. Server-machine-driven hint generation for improved web page loading using client-machine-driven feedback
US10313486B2 (en) 2015-01-07 2019-06-04 Sonicwall Inc. Optimizing transfer of fragmented packetized data
US9813480B2 (en) 2015-01-08 2017-11-07 Instart Logic, Inc. Placeholders for dynamic components in HTML streaming
US9813526B2 (en) 2015-05-26 2017-11-07 Sonicwall Inc. Reducing transmission pathway lengths within a distributed network
US11070608B2 (en) * 2015-06-17 2021-07-20 Fastly, Inc. Expedited sub-resource loading
US10158735B2 (en) * 2015-08-07 2018-12-18 Sonicwall Inc. Read-ahead on signed connections with unsigning, inline, transparent proxies
CA2996710C (en) 2015-08-28 2023-04-18 Viasat, Inc. Systems and methods for prefetching dynamic urls
US10387676B2 (en) 2015-09-14 2019-08-20 Viasat, Inc. Machine-driven crowd-disambiguation of data resources
EP3342126B1 (de) 2015-09-23 2020-09-16 Viasat, Inc. Beschleunigung der online-zertifikatstatusüberprüfung mit einem internethinweisdienst
EP3859567A1 (de) 2015-10-20 2021-08-04 ViaSat Inc. Aktualisierung eines hinweismodells mit automatisierten browser-clustern
WO2017074359A1 (en) 2015-10-28 2017-05-04 Viasat, Inc. Time-dependent machine-generated hinting
WO2017096269A1 (en) 2015-12-04 2017-06-08 Viasat, Inc. Accelerating connections to a host server
US10868881B1 (en) * 2015-12-30 2020-12-15 Mingtai Chang Loading web resources using remote resource pushing
US10567541B2 (en) 2016-02-15 2020-02-18 Global Eagle Entertainment Inc. Network communication system and method with web push protocol
JP6575675B2 (ja) * 2016-03-25 2019-09-18 富士通株式会社 中継装置、中継方法及び中継プログラム
US10880396B2 (en) 2016-12-02 2020-12-29 Viasat, Inc. Pre-fetching random-value resource locators
US10970354B2 (en) * 2017-07-17 2021-04-06 Songtradr, Inc. Method for processing code and increasing website and client interaction speed
US10686907B2 (en) 2017-08-25 2020-06-16 Hughes Network Systems, Llc Reducing bandwidth consumption and latency in satellite communications
US10911370B2 (en) 2017-09-26 2021-02-02 Facebook, Inc. Systems and methods for providing predicted web page resources
US11880422B2 (en) 2019-02-04 2024-01-23 Cloudflare, Inc. Theft prevention for sensitive information
US10452868B1 (en) 2019-02-04 2019-10-22 S2 Systems Corporation Web browser remoting using network vector rendering
US11140214B2 (en) * 2019-06-14 2021-10-05 Zycada Networks Proactive conditioned prefetching and origin flooding mitigation for content delivery

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5715445A (en) * 1994-09-02 1998-02-03 Wolfe; Mark A. Document retrieval system employing a preloading procedure
US5706507A (en) * 1995-07-05 1998-01-06 International Business Machines Corporation System and method for controlling access to data located on a content server
JP3386964B2 (ja) * 1995-11-20 2003-03-17 シャープ株式会社 ゲートウェイ装置
US6009306A (en) * 1996-02-05 1999-12-28 Hargis; Keith J. Hub communications satellite and system
US5754774A (en) * 1996-02-15 1998-05-19 International Business Machine Corp. Client/server communication system
US5673322A (en) * 1996-03-22 1997-09-30 Bell Communications Research, Inc. System and method for providing protocol translation and filtering to access the world wide web from wireless or low-bandwidth networks
US5852717A (en) * 1996-11-20 1998-12-22 Shiva Corporation Performance optimizations for computer networks utilizing HTTP
US5918239A (en) * 1997-01-21 1999-06-29 International Business Machines Corporation Deferred display of web pages corresponding to links selected by user
JP3774807B2 (ja) * 1997-08-06 2006-05-17 タキオン インコーポレイテッド 分散型システムとオブジェクトをプレフェッチする方法
US6085193A (en) * 1997-09-29 2000-07-04 International Business Machines Corporation Method and system for dynamically prefetching information via a server hierarchy
JPH11149405A (ja) * 1997-11-14 1999-06-02 Hitachi Ltd Wwwキャッシュシステムおよびwwwデータの先読み方法

Also Published As

Publication number Publication date
KR100571059B1 (ko) 2006-04-14
US20020010761A1 (en) 2002-01-24
US20030120658A1 (en) 2003-06-26
DE69827638D1 (de) 2004-12-23
AU8771598A (en) 1999-03-01
EP1002410B1 (de) 2004-11-17
JP3774807B2 (ja) 2006-05-17
US6282542B1 (en) 2001-08-28
RU2210871C2 (ru) 2003-08-20
US6598048B2 (en) 2003-07-22
WO1999008429A1 (en) 1999-02-18
CN1272279A (zh) 2000-11-01
CN1108685C (zh) 2003-05-14
US6907429B2 (en) 2005-06-14
EP1002410A1 (de) 2000-05-24
AU737551B2 (en) 2001-08-23
CA2298712A1 (en) 1999-02-18
JP2001513600A (ja) 2001-09-04
WO1999008429A8 (en) 1999-03-25
KR20010022687A (ko) 2001-03-26
ATE282922T1 (de) 2004-12-15

Similar Documents

Publication Publication Date Title
DE69827638T2 (de) Verteiltes system und verfahren zum objektvorabholen
DE69934871T2 (de) Verfahren und System zur optimalen Auswahl eines Webfirewalls in einem TCP/IP Netzwerk
EP1930818B1 (de) Verfahren zum Vorabübertragen strukturierter Datenmengen zwischen einer Clienteinrichtung und einer Servereinrichtung
DE69909839T3 (de) Optimierte Lokalisierung von Netzwerkbetriebsmittel
DE69736045T2 (de) Verfahren zum Übertragen und Darstellen von Datenseiten in einem Datennetzwerk
DE602005003449T2 (de) Verbesserte benutzerschnittstelle
DE69728232T2 (de) Vorrichtung und Verfahren zum Zugriff auf Daten in einem Rechnernetzwerk
CN101763357B (zh) 一种用于浏览器加载互联网资源的方法及系统
DE69837508T2 (de) Verfahren zum Inhaltswiederauffinden über ein Netzwerk
DE60319962T2 (de) Multimodus-synchronisation
DE60011069T2 (de) Behandlung einer anfrage nach informationen, die von einem dienstleisters angeboten werden
DE69836920T2 (de) SYSTEM UND VERFAHREN ZUM ABGEBEN VON WEB CONTENT üBER EIN RUNDFUNKMEDIUM
DE69733802T2 (de) Datendienst in einem mobilen kommunikationsnetz
US6249804B1 (en) Computer network read-ahead caching method
DE69832057T2 (de) Datendienst in einem mobilen kommunikationsnetz
CN107391664A (zh) 基于web的页面数据处理方法和系统
DE202008013034U1 (de) System zum Beschleunigen von Browsing-Sitzungen
DE69723432T2 (de) Informationsauffindungssystem mit einer cachedatenbank
GB2317723A (en) Caching system for information retrieval
DE10352400A1 (de) Netzwerkdienst-Abfangvorrichtung
DE19813884A1 (de) System und Verfahren zur Ermittlung und Darstellung von verbindungsbezogenen Leistungsdaten in Netzwerken
DE69834647T2 (de) System, verfahren und program zur dynamischen transkodierung von zwischen rechnern uebertragenen daten
CN103227827A (zh) 请求资源的方法和装置
KR100400649B1 (ko) 유알엘을 이용한 정보제공방법 및 그 시스템
DE10008949C2 (de) Verfahren zum Vorabspeichern von Computernetzwerk-Information

Legal Events

Date Code Title Description
8363 Opposition against the patent
8330 Complete renunciation
8331 Complete revocation