DE10219390B4 - Server, Pufferspeicher und Browser zur beschleunigten Übermittlung von Hypertext-Dokumenten - Google Patents

Server, Pufferspeicher und Browser zur beschleunigten Übermittlung von Hypertext-Dokumenten Download PDF

Info

Publication number
DE10219390B4
DE10219390B4 DE10219390A DE10219390A DE10219390B4 DE 10219390 B4 DE10219390 B4 DE 10219390B4 DE 10219390 A DE10219390 A DE 10219390A DE 10219390 A DE10219390 A DE 10219390A DE 10219390 B4 DE10219390 B4 DE 10219390B4
Authority
DE
Germany
Prior art keywords
archive
file
server
files
requested
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.)
Expired - Fee Related
Application number
DE10219390A
Other languages
English (en)
Other versions
DE10219390A1 (de
Inventor
Wilfried Christen
Alfred Schneider
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.)
Siemens AG
Original Assignee
Siemens AG
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
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE10219390A priority Critical patent/DE10219390B4/de
Priority to PCT/DE2003/001379 priority patent/WO2003094047A2/de
Priority to US10/512,974 priority patent/US20060122844A1/en
Priority to EP03747392A priority patent/EP1509860A2/de
Publication of DE10219390A1 publication Critical patent/DE10219390A1/de
Application granted granted Critical
Publication of DE10219390B4 publication Critical patent/DE10219390B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • 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/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • 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
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

Server für mehrere, durch Adressen bestimmte Dateien, insbesondere Markup-Seiten, mit den Merkmalen:
– der Server bestimmt unter Verwendung der in einer Anforderung einer Datei enthaltenen Adresse, ob
a) die Datei selbst oder
b) anstelle der Datei ein Archiv, das mehrere Dateien umfaßt,
zurückgesendet wird.

Description

  • Die Erfindung betrifft einen Server, einen Pufferspeicher und einen Browser zur beschleunigten Übermittlung von Hypertext-Dokumenten, insbesondere von HTML-Seiten mit dem Protokoll HTTP.
  • Die Verwendung des als Internet bekannten Netzwerks mit 'Browser' genannten Anzeigeprogrammen, der Markierungssprache HTML und dem Protokoll HTTP ist dem entsprechenden Fachmann im Detail allgemein bekannt.
  • Bei dem Abruf von HTML-Seiten wird seitens der Autoren der Seiten in immer größerem Umfang von Grafiken und anderen eingebetteten Komponenten Gebrauch gemacht. Dies bewirkt, daß zunächst die durch eine URL adressierte HTML-Seite von dem darin angegebenen Server abgerufen und vom Server an den Browser übertragen wird. Nach dem Erhalt der Seite (oder eines ersten Teils) wird diese nach den Syntax-Regeln von HTML analysiert, wobei die Elemente durch Tags markiert sind. Dabei werden Grafiken durch das IMG-Tag eingebettet. Das IMG-Tag enthält mit dem 'SRC=' Parameter die Adresse einer zu ladenden Grafik oder Bilddatei. Für jedes dieser Elemente wird nun die Datei von dem Server abgerufen, also für jedes Bild ein Anforderungs-Antwort-Paar des HTTP-Protokolls durchgeführt.
  • Die damit lange Zeit des Aufbaus einer HTML-Seite wird durch verschiedene Maßnahmen kompensiert. Zum einen erlaubt es das Protokoll HTTP/1.1, eine Verbindung geöffnet zu halten, so daß der Verbindungsauf- und -abbau entfallen. Weiterhin hat der Browser regelmäßig einen Pufferspeicher ('cache'), dem bereits früher geladene Elemente entnommen werden können. Letzterer wird allerdings dadurch entwertet, daß die Grafik-Designer mit Vorliebe auf jeder Seite unterschiedliche Grafiken einsetzen. Außerdem kann der Pufferspeicher nur Elemente identischer Adresse puffern; beim Aktivieren eines Verweises, der auf einen anderen Rechner führt, sind von dort alle Gra fiken neu zu laden, wenn diese Seite das erste Mal besucht wird. Das Problem wird lediglich durch die hohen Rechengeschwindigkeiten und schnellen heutigen Netzwerkverbindungen den professionellen Nutzern wenig sichtbar. Es wird allerdings festgestellt, daß auch die privaten Benutzer nicht mehr bereit sind, lange auf den Aufbau einer Seite zu warten und ein kommerzielles Angebot gegebenenfalls nicht mehr in Betracht ziehen, wenn die Ladezeit subjektiv zu langsam ist.
  • Für die spezielle Klasse eingebetteter Objekte namens JAVA-Applet sieht das HTML-Tag vor, daß nicht nur der Name der auszuführenden JAVA-Klasse, sondern zudem die Adresse eines JAR-Archivs angegeben wird, in dem die Klasse enthalten sein soll. Der Browser lädt dann das gesamte Archiv und entnimmt die Klasse wie auch davon benötigte Objekte dem Archiv.
  • Davon ausgehend, wird in der Patentschrift US 6,026,437 eine Verbesserung vorgeschlagen. Wenn in der traditionellen Lösung zunächst das HTML-Dokument und danach das JAR-Archiv in zwei getrennten Aufrufen geladen werden muß, so schlägt die genannte Schrift vor, daß der Hypertext-Verweis ('link') auf ein JAR-Archiv zeigt, das genau ein, das JAR-Archiv benutzende HTML-Dokument enthält. Diese Lösung erfordert allerdings zuvor Änderungen aller Browser, da die Optimierung durch eine geänderte Syntax der Verweise bewirkt wird.
  • In „Ever Thought of Compressed HTML Files?", Armin Kielack, www.kielack.de/chtml.htm, Funddatum 03.05.2001 wird vorgeschlagen, anstelle von nicht-komprimierten Dateien komprimierte HTML-Dateien zu übertragen. Dabei wird jede HTML-Datei einzeln in ein separates ZIP-Archiv verpackt.
  • Aus „Java Tip 21: Use archive files to speed up applet loading", John D. Mitchell, www.javaworld.com/javaworld/javatips/jw-javatip21.html, Funddatum 31.10.2001 ist bekannt, die HTML-Tags "<APPLET>" bzw. "<OBJECT>" zur Angabe eines Archivs für von einem JAVA-Applet benötigte Klassen zu verwenden, die dann vorab geladen werden können. Diese Funktionalität ist jedoch einerseits auf JAVA beschränkt und erfolgt zudem unter Kontrolle des Browsers, nicht des Servers. Der Server liefert weiterhin die angeforderten Dateien.
  • In „System-Architektur und -Software", Prof. Dr. L. Richter, Vorlesung Universität Zürich, Sommersemester 2000 wird ein Cache-Verfahren in Prozessoren beschrieben. Bei einem Seitenfehler wird die fehlende Seite angefordert und vom Hauptspeicher geliefert.
  • Die vorliegende Erfindung stellt sich die Aufgabe, eine Lösung anzugeben, mit der alle von einer Seite benötigten Objekte mit einem Netzwerktransfer übertragen werden können und die dennoch kompatibel mit der bisherigen Verwendung ist. Insbesondere soll die HTML-Seite unverändert bleiben; lediglich werden Server und Browser so ergänzt, daß ein verbesserter Server mit einem verbesserten Browser eine Effizienzsteigerung bewirkt, aber die restlichen drei Kombinationen unverändert funktionsfähig bleiben.
  • Die Lösung verwendet die Möglichkeit, daß der Browser bei der Anforderung der HTML-Seite einen Indikator setzt, der von bisherigen Servern ignoriert wird und von neuen Servern dazu verwendet wird, anstelle der HTML-Seite ein Archiv zu senden, das die HTML-Seite enthält. Dieses Archiv wird, im Gegensatz zu einem JAR-Archiv, nicht als ganzes in den Pufferspeicher eingestellt, sondern entpackt und elementweise in den Pufferspeicher (cache) geladen. Der Inhalt des Archivs kann beliebige, per URL adressierbare Elemente enthalten, die dann durch den Pufferspeicher-Mechanismus automatisch benutzt werden. Es ist also, auch im Gegensatz zu dem genannten Stand der Technik, nicht notwendig, daß alle in der Seite enthaltenden Elemente in dem Archiv enthalten sind. Insbesondere wird es häufig sinnvoll sein, ein JAR-Archiv gerade nicht zu integrieren und dieses getrennt zu laden. Auch können Elemente enthalten sein, die erst mittelbar referiert werden, wenn z.B. in der Seite auf eine andere Seite verwiesen wird, die wiederum Graphiken enthält und diese bereits bei der ersten Seite mit übertragen werden.
  • Zusammengefaßt stellt sich die Erfindung wie folgt dar: Bei der Anforderung einer HTML-Seite wird von dem Browser ein Indikator gesetzt, auf Grund dessen der Server anstelle der HTML-Seite ein Archiv zurücksendet, das von dem Browser in den Cache entpackt wird. Das Archiv enthält beispielsweise die von der Seite benötigten Bilder, die dann von dem Cache abgerufen werden, so daß pro Seite nur ein Netzwerk-Transfer notwendig ist. Die Erfindung ist kompatibel zum bisherigen Betrieb, insbesondere durch Verwendung der 'content negotiation' nach RFC 2295 oder 'remote variant selection' nach RFC 2296.
  • Die Erfindung wird nachfolgend an Hand eines Ausführungsbeispiels und einiger Varianten genauer beschrieben.
  • In 1 ist eine Anordnung skizziert, an Hand derer der Ablauf beschrieben werden soll.
  • Durch die Wellenlinie 10 ist ein Netzwerk angedeutet, mit dem ein Client unterhalb der Wellenlinie 10 und ein Server oberhalb der Wellenlinie 10 verbunden sind. Das Netzwerk und die Verbindungen werden bevorzugt mit dem Internet-Protokoll HTTP realisiert.
  • In dem Client befinde sich ein HTML-Dokument 12, das einen Verweis (link), hier '<a href="test1.html"> link </a>', enthält. Durch Aktivierung des Verweises wird eine Anfrage an den HTTP-Prozeß 14 gerichtet. Der HTTP-Prozeß umfaßt einen Schalter 16, mit dem entschieden wird, ob das angeforderte Dokument "test1.html" wie bisher von dem Massenspeicher 18 entnommen und zum Client zurückgeschickt wird, oder die noch zu beschreibende Erweiterung angewendet wird. Das Anzeigeprogramm ('browser') im Client, das die Seite angefordert hat, umfaßt eine Steuerung 22 für einen Pufferspeicher 24.
  • Das angeforderte Dokument "test1.html" lautet beispielsweise wie folgt:
    Figure 00050001
  • In dem Fall, das vom Server-Prozeß 14 nur wie bisher das angeforderte Dokument zurückgesendet wird, wird dieses wie gehabt von der Steuerung 22 in den Pufferspeicher 24 eingetragen und steht dann dem Anzeigeprogramm als Dokument 26 zur Verfügung. In dem Dokument 26 sind mehrere Verweise enthalten, und zwar die Verweise '<img src=img1.jpg>', <a href=test2.html>" und <script src=script1.js>". Nunmehr interpretiert das Anzeigeprogramm das Dokument "test1.html" und trifft auf eben diese Verweise, woraufhin die darin angegebenen Dateien "img1.jpg", "test2.html" und "script1.js" nacheinander vom Server angefordert, in den Cache 24 abgelegt und sodann in den HTML-Text 26 funktional eingefügt werden.
  • Die Erfindung verändert den Ablauf wie folgt: Durch einen Indikator in der Anforderung von "test1.html" wird dem Server-Prozeß 14 mitgeteilt, daß anstelle der angeforderten Datei auch ein Archiv verarbeitet werden kann. Dieser Indikator wird weiter unten noch genauer dargestellt. Ist dieser Indikator gesetzt, so prüft der Server-Prozeß 14, ob es ein entsprechendes Archiv 20, hier mit dem Namen 'test1.harc', gibt und sendet dann, durch den Schalter 16 symbolisiert, eben dieses Archiv 20 zurück. Durch einen entsprechenden Eintrag in den Kopfzeilen ('header') gemäß dem Protokoll HTTP, beispielsweise dem (neuen) MIME-Typ 'archive/harc' anstelle von 'text/html', wird dem Pufferspeicherprozeß 22 angezeigt, daß anstelle eines einzigen Dokuments ein Archiv übermittelt wird. Daraufhin zerlegt der Pufferspeicherprozeß 22 das Archiv in seine Elemente und speichert diese Elemente einzeln im Pufferspeicher 24, wie in 1 angedeutet. Sei wie im Beispiel die Datei 'test1.html' in dem Archiv enthalten. Da diese nunmehr im Pufferspeicher ist, kann sie wie bisher dem Anzeigeprogramm zur Verfügung gestellt werden. Dieses interpretiert den HTML-Text und stellt fest, daß noch weitere Dateien benötigt werden. Hierzu wird, wie immer, zunächst geprüft, ob sich diese im Pufferspeicher befinden. Da das der Fall ist, werden diese weiteren Dateien 'img1.jpg', 'test2.html' und 'script1.js' dem Pufferspeicher entnommen; eine Kommunikation zu dem Server ist nicht mehr notwendig.
  • Für den Indikator, mit dem der Client dem Server mitteilt, daß ein Archiv willkommen ist, kann entweder ein neues Element in den HTTP-Kopfzeile definiert werden. Bevorzugt wird jedoch die Inhalts-Auswahl ('content negotiation') nach RFC 2295 oder die 'remote variant selection' nach RFC 2296 verwendet. Letztere wird überwiegend verwendet, um verschiedene Sprachvarianten einer HTML-Seite anzufordern und ist daher, um diese Fähigkeit nicht zu verlieren, nicht uneingeschränkt verwendbar. Besser ist die Inhalts-Auswahl, die bislang dazu verwendet wird, daß der Server nicht die Original-Datei, sondern eine komprimierte Version sendet. Hierzu werden die dem Browser bekannten Formate in dem Header der Anfrage aufgezählt; der Server kann dann eines dieser Formate senden. Ein Browser mit einem Pufferspeicher nach der Erfindung benutzt diesen Header und fügt einen passenden (MIME-) Typ hinzu. Ein Server, der nicht darauf eingerichtet ist, ignoriert dieses Format und verhält sich wie bisher. Ein Server gemäß der Erfindung sendet auch nur dann das Archiv-Format, wenn der Browser dieses als möglich deklariert hat. Dies ist damit eine Möglichkeit, den oben aufgeführten Indikator zu realisieren.
  • In einer anderen Variante wird der Browser so eingerichtet, daß er anstelle der Datei 'test1.html' zunächst die Datei 'test1.harc' anfordert und, wenn der Server diese als nicht verfügbar darstellt, dann die ursprüngliche 'test1.html' anfordert. Der geänderte Dateityp stellt dann den oben genannten Indikator da.
  • In einer Weiterbildung der Erfindung wird der ein Archiv zulassende Indikator nur dann gesetzt, wenn das Dokument noch nicht im Pufferspeicher ist. In dem Fall, das es sich zwar noch im Pufferspeicher befindet, aber nicht mehr gültig ist, wird dann ein Archiv nicht mehr zugelassen, da die anderen Elemente durchaus noch gültig sein können.
  • Eine andere Weiterbildung macht die Anforderung eines Archivs davon abhängig, daß keine oder nur eine vorgegebenen geringe Anzahl oder nur ältere Dokumente desselben Servers im Pufferspeicher sind.
  • Seitens des Servers besteht eine Lösung darin, daß manuell oder automatisch geführte Listen, auch mittels einer Daten bank realisiert, vorhanden sind, die den Dateinamen der Seiten Archive zuordnen. Wird der Dateiname in einer der Listen gefunden und existiert das zugeordnete Archiv, dann wird das Archiv anstelle der Datei übertragen.
  • Auch kann der Server jedes Mal nach vorhandenen Archiven und in diesen nach der Seite suchen und im Trefferfalle automatisch das Archiv übermitteln.
  • In einer anderen Variante wird geprüft, ob das Unterverzeichnis, in dem die angeforderte Datei gespeichert ist oder sein sollte, ein Archiv enthält. Ist dies der Fall, so wird das Archiv statt der Datei übertragen. Optional kann zuvor geprüft werden, ob die Datei in dem Archiv enthalten ist. In einer Weiterbildung wird, wenn kein Archiv vorhanden ist, dieses aus allen Dateien des Unterverzeichnisses 'on the fly' gebildet, abgespeichert und übermittelt. Hierbei wird bevorzugt eine Positiv- oder Negativliste von Dateiarten, insbesondere über deren Erweiterungen, beispielsweise festlegen, daß JAVA-Archive (.jar) nicht eingeschlossen werden.
  • Bei einer alternative Anwendung der Erfindung wird der Pufferspeicher eines als 'proxy' bezeichnenten Vermittlers verwendet. Ein Proxy-Server erhält von dem Browser die Anforderung und stellt sie seinerseits an den Server, erhält das angeforderte Dokument zurück und gibt dieses dem Browser weiter. Ein Proxy-Server hat einerseits eine Schutzfunktion, indem die nach außen gehenden Anfragen über einen einziges, dedizierte System geleitet werden. Ein Proxy-Server wie 'SQID' oder der entsprechenden Apache-Modul wird meist mit einem Pufferspeicher kombiniert, um über die teure Externverbindung angeforderte Seiten möglichst häufig von dem Proxy aus zu übermitteln, ohne daß die Externverbindung belastet wird. Deshalb kann der Proxy-Server den Indikator setzen, ein Archiv erhalten, dieses in den Pufferspeicher entpacken und dann über das schnelle und preiswerte interne Netz eine große An zahl von herkömmlichen Browsern effizient mit Teilen externer HTML-Seiten versorgen.
  • In der Regel und damit bevorzugt enthält das von dem Server gesendete Archiv die angeforderte Datei, die dann aus dem Pufferspeicher heraus weiterverarbeitet wird.
  • Auch um robust gegen Fehler zu sein, soll die Steuerung für den Pufferspeicher auch den Fall handhaben können, daß das erhaltene Archiv die angeforderte Datei nicht enthält. Da es nicht allgemein entscheidbar ist, ob in diesem Fall der Inhalt des Archivs aus Sicherheitsgründen verworfen werden soll oder dennoch in den Pufferspeicher eingestellt werden kann, wird diese Auswahl über Benutzeroptionen eingestellt und ggf. davon abhängig sein, ob als Protokoll einfaches HTTP oder gesichertes HTTPS verwendet wurde. Weiterhin kann entweder die angeforderte Datei sogleich als nicht vorhanden (Fehler 404 im HTTP-Protokoll) behandelt werden. Oder es kann bevorzugt eine zweite Anforderung erfolgen, bei welcher der Indikator, daß ein Archiv willkommen ist, nicht gesetzt ist und somit die Seite nochmals einzeln angefordert wird.
  • Der Server kann einerseits, nachdem ein Archiv bestimmt ist, das der angeforderten Datei zugeordnet ist, prüfen, ob die angeforderte Datei im Archiv vorhanden ist und nur dann das Archiv senden, andernfalls doch die Datei selbst senden. Diese Lösung ist einfach, überschaubar und robust gegen Fehler in der Zuordnung von Dateien und Archiven.
  • Besser ist es jedoch, wenn zudem geprüft wird, ob die Datei in dem Archiv nicht nur vorhanden, sondern auch aktuell ist. Ist sie aktuell und vorhanden, wird das Archiv gesendet. Ist sie nicht aktuell, wird entweder nur die Seite gesendet oder zuvor die aktuelle Seite temporär oder permanent in dem Archiv durch die aktuelle Version ersetzt und dann das Archiv gesendet.
  • Ist sie nicht vorhanden, kann dennoch das Archiv gesendet werden in der Annahme, daß die Steuerung der Pufferspeicher, wie oben beschrieben, daraufhin die Seite nochmals, jedoch ohne Archiv-Indikator, anfordert. Dieser Fall betrifft HTML-Seiten, die zwar häufiger geändert werden, aber bei denen die darin verwendeten Bilder usw. sehr selten verändert werden. Bei dieser Ausführung wird sozusagen vor der Seite immer noch ein Archiv gesendet, das von der Seite benötigte Objekte enthält.
  • Bei einer Fortbildung dieser Variante schickt der Server auf die Anfrage einer Datei hin zwei Dateien; nämlich ein Archiv ohne die Datei und sodann oder zuvor die Datei.
  • Der Indikator, der anzeigt, daß ein Archiv anstelle der angeforderten Seite geliefert werden kann, ist für die Erfindung zweckmäßig, aber nicht zwingend. Sei beispielsweise ein geschlossenes Netzwerk gegeben, wie es bei Selbstbedienungsterminals häufig der Fall ist. Dann kann davon ausgegangen werden, daß alle Browser in der Lage sind, anstelle einer angeforderten Datei ein Archiv zu erhalten; eine explizite Markierung ist nicht mehr notwendig. Gleiches gilt für die vom Server gelieferten Daten: Es wird bevorzugt über den MIME-Typ im Header angezeigt, daß ein Archiv gesendet wird. Alternativ kann aber auch jede erhaltenen Datei zunächst als Archiv interpretiert werden und erst dann, wenn es sich nicht um ein gültiges Archiv handelt, als einfache Datei behandelt werden.
  • Als Archivformat kann einerseits eines der unter als 'arc', 'zip', 'tar', 'cpio', 'cab', 'lha' usw. bekannten Formate verwendet werden, bei denen die Dateien zu einer neuen, das Archiv darstellenden Datei verpackt werden. Häufig wird dabei noch eine Kompression verwendet und so die Übertragung weiter beschleunigt, sofern die verpackten Dateien nicht bereits ohnehin komprimiert sind, wie es bei den gängigen Bildformaten 'gif', 'jpg' und 'png' der Fall ist.
  • Eine andere Möglichkeit beim HTTP(S)-Protokoll besteht darin, die zurückgesendeten Daten als mehrteilige Nachricht mit Trennzeichen gemäß dem MIME-Standard RFC- 2046 ('multi-part message') zu codieren. Hierbei wird eine Anzahl von einzelnen Dateien durch Trenner zu einem Gesamtstrom verbunden. Der Datentyp im Header ist dann 'multipart/mixed'. Diese Variante hat den Vorteil, daß die dynamische Zusammenstellung im Server besonders einfach ist. Bevorzugt wird als erster Teil die angeforderte Datei selbst gesendet. Daran anschließend wird entweder eine vorbereitete Datei angefügt, die bereits eine 'multipart-message' darstellt und die dann ohne weiteres angefügt werden kann (ggf. unter Anpassung der Grenztrenner ('boundary delimiter'). Oder es werden gemäß eines Datenbankeintrags bzw. einer sonstigen Liste die dort enthaltenen Dateien einzeln angefügt. Diese Variante ist funktional gleichwertig zu einem traditionellen Archiv und wird daher im Rahmen der Erfindung als Archiv-Format angesehen.
  • Die Erfindung wurde an Hand von HTML-Seiten beschrieben. Sie ist auf weitere Markup-Seiten wie den Nachfolger XHTML, die Erweiterung XML, sowie andere adäquate Formate gleichermaßem anwendbar.

Claims (8)

  1. Server für mehrere, durch Adressen bestimmte Dateien, insbesondere Markup-Seiten, mit den Merkmalen: – der Server bestimmt unter Verwendung der in einer Anforderung einer Datei enthaltenen Adresse, ob a) die Datei selbst oder b) anstelle der Datei ein Archiv, das mehrere Dateien umfaßt, zurückgesendet wird.
  2. Server nach Anspruch 1, wobei die Anforderung einen Archiv-Indikator umfaßt und nur bei Anwesenheit des indikators anstelle der Datei ein Archiv zurückgesendet wird.
  3. Server nach Anspruch 2, wobei der Indikator mittels einer Inhalts-Auswahl implementiert wird.
  4. Server nach einem der Ansprüche 1 bis 3, wobei eine Assoziativliste verwendet wird und, – wenn hierdurch der Adresse der angeforderten Datei eine andere Datei zugeordnet ist, diese Datei gesendet wird, und – wenn der angeforderten Datei mehrere Dateien zugeordnet sind, diese Dateien als ein Archiv gesendet werden.
  5. Server nach einem der Ansprüche 1 bis 3, wobei die angeforderte Datei in einem Verzeichnis lokalisiert und anstelle der Datei ein Archiv aus allen Dateien des Verzeichnisses, gebildet gemäß vorbestimmter Auswahlkriterien, zurückgesendet wird.
  6. Server nach einem der vorigen Ansprüche, wobei das Archiv als mehrteilige Nachricht mit Trennzeilen gestaltet ist.
  7. Pufferspeicher mit Einträgen für adressierte Dateien, insbesondere Markup-Seiten, wobei der Pufferspeicher ein Asso ziativspeicher ist, der einen Index mit der Adresse der gepufferten Dateien und einen Speicher mit deren Inhalten hat, mit den Merkmalen: – ist eine angeforderte Datei nicht im Pufferspeicher vorhanden oder ungültig, wird sie mit ihrer Adresse von einem durch die Adresse bestimmten Server angefordert, – falls von dem Server anstelle der adressierten Datei ein Archiv gesendet wird, in das mehrere Dateien gepackt sind, wird das Archiv entpackt, und es werden die mehreren Dateien einzeln in dem Pufferspeicher abgelegt, so daß nachfolgende Anforderungen dieser Dateien aus dem Pufferspeicher befriedigt werden können.
  8. Browser für Markup-Seiten, umfassend einen Pufferspeicher nach Anspruch 7.
DE10219390A 2002-04-30 2002-04-30 Server, Pufferspeicher und Browser zur beschleunigten Übermittlung von Hypertext-Dokumenten Expired - Fee Related DE10219390B4 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE10219390A DE10219390B4 (de) 2002-04-30 2002-04-30 Server, Pufferspeicher und Browser zur beschleunigten Übermittlung von Hypertext-Dokumenten
PCT/DE2003/001379 WO2003094047A2 (de) 2002-04-30 2003-04-29 Beschleunigte übermittlung von hypertext-dokumenten
US10/512,974 US20060122844A1 (en) 2002-04-30 2003-04-29 Accelerated transmission of hypertext documents
EP03747392A EP1509860A2 (de) 2002-04-30 2003-04-29 Beschleunigte übermittlung von hypertext-dokumenten

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10219390A DE10219390B4 (de) 2002-04-30 2002-04-30 Server, Pufferspeicher und Browser zur beschleunigten Übermittlung von Hypertext-Dokumenten

Publications (2)

Publication Number Publication Date
DE10219390A1 DE10219390A1 (de) 2003-12-11
DE10219390B4 true DE10219390B4 (de) 2007-05-31

Family

ID=29285049

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10219390A Expired - Fee Related DE10219390B4 (de) 2002-04-30 2002-04-30 Server, Pufferspeicher und Browser zur beschleunigten Übermittlung von Hypertext-Dokumenten

Country Status (4)

Country Link
US (1) US20060122844A1 (de)
EP (1) EP1509860A2 (de)
DE (1) DE10219390B4 (de)
WO (1) WO2003094047A2 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8156423B1 (en) * 2004-11-01 2012-04-10 Sprint Spectrum L.P. Method and system for dynamically updating fixed resources on client station
US20080147957A1 (en) * 2004-11-12 2008-06-19 Justsystems Corporation Archiver Device, Data Acquisition Device, and Data Acquisition Method
US7953893B1 (en) 2008-04-03 2011-05-31 Sprint Spectrum L.P. Method and system for expedited HTTP communication
RU2475832C1 (ru) * 2009-03-30 2013-02-20 Нокиа Корпорейшн Способы и системы обработки объектных моделей документов (dom) для обработки видеоконтента
WO2010118019A1 (en) * 2009-04-06 2010-10-14 Nokia Corporation Methods and systems for using multipart messaging with preset constraints

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185625B1 (en) * 1996-12-20 2001-02-06 Intel Corporation Scaling proxy server sending to the client a graphical user interface for establishing object encoding preferences after receiving the client's request for the object
US6182122B1 (en) * 1997-03-26 2001-01-30 International Business Machines Corporation Precaching data at an intermediate server based on historical data requests by users of the intermediate server
US6055569A (en) * 1998-01-27 2000-04-25 Go Ahead Software Inc. Accelerating web access by predicting user action
US6427187B2 (en) * 1998-07-31 2002-07-30 Cache Flow, Inc. Multiple cache communication
US6336122B1 (en) * 1998-10-15 2002-01-01 International Business Machines Corporation Object oriented class archive file maker and method
US6625624B1 (en) * 1999-02-03 2003-09-23 At&T Corp. Information access system and method for archiving web pages
US6427149B1 (en) * 1999-09-09 2002-07-30 Herman Rodriguez Remote access of archived compressed data files
US6560618B1 (en) * 2000-03-22 2003-05-06 International Business Machines Corporation On-demand generation, packaging, and delivery of archive files
US20020065800A1 (en) * 2000-11-30 2002-05-30 Morlitz David M. HTTP archive file

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
KIELACK,Armin: Internet Seite: http://www.kielack. de/chtml.htm, im internet am 03.05.2001, Nachweis durch http://web.archive.org/web/20010305002121/ht tp://www.kelack.de/chtml.htm
KIELACK,Armin: Internet Seite: http://www.kielack.de/chtml.htm, im internet am 03.05.2001, Nachweis durch http://web.archive.org/web/20010305002121/http://www.kelack.de/chtml.htm *
MITCHELL,John D.: "Java Tip 21: Use archive files to speed up applet loading" Internet Seite: http:/ /www.javaworld.com/javaworld/javatips/jw-javatip21 .html, im Internet am 31.10.2001, Nachweis durch http://web.archive.org/web/20011030145247/http://w ww.javaworld.com/javaworld/javatips/jw-javatip21.h tml
MITCHELL,John D.: "Java Tip 21: Use archive files to speed up applet loading" Internet Seite: http://www.javaworld.com/javaworld/javatips/jw-javatip21.html, im Internet am 31.10.2001, Nachweis durch http://web.archive.org/web/20011030145247/http://www.javaworld.com/javaworld/javatips/jw-javatip21.html *
RICHTER,L.,Prof.Dr.: Vorlesung "System-Architektur und -Software" Universität Zürich, Irchel, Som- mersemester 2000, im Internet unter http://www.ifi .unizh.ch/groups/richter/Classes/SAS_SS00/SysArc1. pdf http://www.ifi.unizh.ch/groups/richter/Classes /SAS_SS00/SysArc2.pdf http://www.ifi.unizh.ch/grou ps/richter/Classes/SAS_SS00/
RICHTER,L.,Prof.Dr.: Vorlesung "System-Architektur und -Software" Universität Zürich, Irchel, Som- mersemester 2000, im Internet unter http://www.ifi.unizh.ch/groups/richter/Classes/SAS_SS00/SysArc1.pdf http://www.ifi.unizh.ch/groups/richter/Classes/SAS_SS00/SysArc2.pdf http://www.ifi.unizh.ch/groups/richter/Classes/SAS_SS00/ *

Also Published As

Publication number Publication date
US20060122844A1 (en) 2006-06-08
EP1509860A2 (de) 2005-03-02
WO2003094047A3 (de) 2004-05-27
DE10219390A1 (de) 2003-12-11
WO2003094047A2 (de) 2003-11-13

Similar Documents

Publication Publication Date Title
DE69613225T2 (de) Differenzierungskommunikationssystem
EP1887484B1 (de) Verfahren zum vorabübertragen strukturierter datenmengen zwischen einer clienteinrichtung und einer servereinrichtung
DE69608681T2 (de) Tcp-kommunikationssystem mit reduziertem zusatzaufwand
DE69626535T2 (de) Verfahren und apparat zum serverunabhängigen cachen von dynamisch erstellten angepassten speicherseiten
DE69934871T2 (de) Verfahren und System zur optimalen Auswahl eines Webfirewalls in einem TCP/IP Netzwerk
DE69736045T2 (de) Verfahren zum Übertragen und Darstellen von Datenseiten in einem Datennetzwerk
DE69833899T2 (de) Dynamische Datenübertragungsvorrichtung und Verfahren
DE60011069T2 (de) Behandlung einer anfrage nach informationen, die von einem dienstleisters angeboten werden
DE69723432T2 (de) Informationsauffindungssystem mit einer cachedatenbank
DE202008013034U1 (de) System zum Beschleunigen von Browsing-Sitzungen
DE202012013445U1 (de) System, um Offline Zugriff in einem gehosteten Dokument-Service zur Verfügung zu stellen
DE10219390B4 (de) Server, Pufferspeicher und Browser zur beschleunigten Übermittlung von Hypertext-Dokumenten
DE112012004301T5 (de) Erzeugen einer vorhersagenden Datenstruktur
EP1620810B1 (de) Verfahren und anordnung zur einrichtung und aktualisierung einer benutzeroberfl che zum zugriff auf informationsseiten in ein em datennetz
EP1673915B1 (de) Betriebsverfahren für einen server und hiermit korrespondierende gegenstände
DE102013201973A1 (de) Verteilte Anwendung mit Vorwegnahme von Server-Antworten
DE10296924B4 (de) Anwenderbestimmtes selektives Neuladen von Bildern
DE69925435T2 (de) Rechnerimplementiertes Verfahren und Apparat zur Bereitstellung eines logischen Zugriffspunktes zu einer oder mehreren Dateien
DE102006027664B4 (de) Kommunikationssystem zum Verarbeiten von Daten
DE60108176T2 (de) Verfahren und system zum abliefern von informationen in einem telekommunikationsnetz
DE60208243T2 (de) Kommunikationsendgerät
DE10203181A1 (de) Vorladbarer Dokumentenpuffer in Datenstationen
EP1177667A2 (de) Netzwerk, interpreter für ein derartiges netzwerk und verfahren zum betreiben eines netzwerkes
WO2005086024A1 (de) Verfahren zum bereitstellen von adressinformation, eine entsprechende vorrichtung und software zur verwendung in einer solchen vorrichtung
DE102006050978B3 (de) Verfahren und Serversystem zum Ausliefern von Hypermedia-Seiten

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8381 Inventor (new situation)

Inventor name: DANGBERG, ANDREAS, 33102 PADERBORN, DE

8339 Ceased/non-payment of the annual fee