DE10142024A1 - Kompressionsverfahren - Google Patents
KompressionsverfahrenInfo
- Publication number
- DE10142024A1 DE10142024A1 DE2001142024 DE10142024A DE10142024A1 DE 10142024 A1 DE10142024 A1 DE 10142024A1 DE 2001142024 DE2001142024 DE 2001142024 DE 10142024 A DE10142024 A DE 10142024A DE 10142024 A1 DE10142024 A1 DE 10142024A1
- Authority
- DE
- Germany
- Prior art keywords
- html
- xhtml
- compressed
- files
- compression method
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Abstract
Die Erfindung betrifft ein Verfahren zur Kompression von HTML/XHTML-Inhalten, wobei die auf einem Server (2) angelegten HTML/XHTML-Dateien und deren Struktur in Form komprimierter Strings in Element-Arrays (12, 12'), Rendering-Arrays (13) und Tree-Arrays (14) in Verbindung mit einem in einer ECMA-Script-Sprache kodierten Dekompressionstool (15) vorzugsweise in JAVA-Scrip abgelegt werden. Beim Bezug der HTML/XHTML-Seiten mittels eines Demands (5) von einem Client (1) wird in Verbindung mit der HTML/XHTML-Response (6) mit dem Dekompressionstool (15) mit übermittelt und mittels eines herkömmlichen Browsers abgearbeitet. Dabei werden die HTML/XHTML-Seiten in Echtzeit auf Clientseite wieder aufgebaut.
Description
- Die Erfindung betrifft ein Kompressionsverfahren für HTML/XHTML-Dateien.
- Im Zusammenhang mit der weltumspannenden Bedeutung des Internets und hierbei insbesondere des Word-Wide-Webs hat die Verbreitung von HTML-Seiten, in der sogenannten Hypertext- Markup-Language (HTML) eine derart herausragende Bedeutung gewonnen, daß inzwischen HTML-Dateien zum erleichterten Austausch über das Internet zunehmend auch Eintritt in Intranets finden bzw. bestehende Dateien, wie etwa herkömmliche Textdateien mittels entsprechender Programme in HTML- Dateien überführt werden können um diese über das Internet austauschen bzw. dort sichtbar machen zu können. Hinter dem Akronym HTML verbirgt sich die Bezeichnung eine softwareunabhängige Dokument-Beschreibungssprache. Mit Hilfe dieser Sprache können die Inhalte von Dokumenten mittels einfacher Befehlen im Textformat umschrieben werden. Die herausragende Fähigkeit nach HTML liegt in der Möglichkeit Verweise zu anderen Projekten in Form von Hyperlinks oder Links zu anderen Projekten, insbesondere im World-Wide-Web zu erstellen. HTML-Dokumente können, wenn auch ggf. in unterschiedlicher Form auf jedem Rechner der Welt gelesen werden, auf dem ein Browser installiert ist. Die letzte aktuelle HTML- Spezifikation liegt in der Version 4.01 vor. Der designierte Nachfolger von HTML dürfte XHTML sein, der eine bessere Portierbarkeit bereitstellt, um der zunehmenden Verbreitung von HTML außerhalb der Browserwelt Rechnung zu tragen. XHTML ist ebenso wie HTML XML-konform und kann daher mit XML-Editoren bearbeitet werden.
- In Verbindung mit der geradezu explosionsartigen Ausweitung des Internets und der metastasenartigen Vernetzung bisher nicht verknüpfter Rechnernetze scheinen eine Reihe von Grundprinzipien der elektronischen Datenverarbeitung vorübergehend außer Acht gelassen worden zu sein, wie etwa geordnete und wohl strukturierte Ablage von Dateien und Daten schon immer unverzichtbare Voraussetzung für einen schnellen und geordneten Zugriff auf Dateien und Daten sowie für eine effiziente elektronische Datenverarbeitung.
- Eine derart geordnete Anordnung von HTML-Dateien ist insbesondere auf Webservern in den meisten Fällen nicht vorhanden. Aufgrund der Eindeutigkeit der Adressierung von HTML- Dateien ist weitgehend darauf verzichtet worden, diese strukturiert oder gar komprimiert auf den entsprechenden Server anzulegen. Ein verschwenderischer Umgang mit Speicherplatz, aber auch lange Übertragungs- und Zugriffszeiten sind die nachteilige Folge dieser Datenstrukturen.
- Es existieren selbstverständlich auch für HTML-Dateien geordnete Datenbankstrukturen und Kompressionsverfahren. Der Vorteil der Softwareunabhängigkeit der durch die Verwendung von HTML/XHTML erreicht wurde, wird hierbei jedoch regelmäßig aufgegeben, da zur Dekompression bzw. zur Interpretation der erzeugten Dateien die hierzu jeweils verwendete Softwareplattform benötigt wird. Als Beispiel hierfür seien die in der Windows-Welt bekannten Zip-Verfahren erwähnt.
- Der Erfindung liegt die Aufgabe zugrunde, softwareunabhängig eine verbesserte und komprimierte Datenstruktur serverseitig zu erreichen, die dann clientseitig einen schnelleren Zugriff gestattet.
- Diese Aufgabe wird durch ein Kompressionsverfahren mit den Merkmalen des Hauptanspruchs gelöst. Vorteilhafte Ausgestaltungen der Erfindung ergeben sich aus den abhängigen Unteransprüchen.
- Dadurch, daß die HTML/XHTML-Dateien, vorzugsweise auf einem Server zu komprimierten Strings zusammengefaßt werden, ergibt sich ein geringerer Speicherplatzbedarf und somit kürzere Übertragungszeiten für den Client. Die Dekompression erfolgt dabei mittels eines individuellen Dekompressionscode, der in einer ECMA-Script-Sprache bei der Kompression der HTML oder XHTML-Dateien erzeugt wird. Im Falle des Bezugs der komprimierten Dateien wird der entsprechende Dekompressionscode in der erwähnten Script-Sprache mit übermittelt. Der Vorteil der Verwendung von ECMA-Script- Sprachen ist deren Portal- und Softwareunabhängigkeit. Hierunter ist zu verstehen, daß ebenso wie die HTML/XHTML- Dateien auch der Dekompressionscode auf jedem Rechner lauffähig ist, der über einen Browser verfügt. Nachdem der Browser jedoch Voraussetzung für den Bezug der HTML/XHTML- Dateien ist, stellt dies keinerlei Einschränkung dar.
- Dadurch, daß der Dekompressions-Algorhithmus im Falle des Bezug der HTML-Dateien oder XHTML-Dateien mit an den Client übermittelt wird, entfällt für diesen die Notwendigkeit, irgendeine Software vorzuhalten. Für den Client stellt sich der Bezug der komprimierten Dateien völlig unverändert zum Bezug herkömmlicher HTML-Dateien dar, da die Kompression und Dekompression der Dateien im Verborgenen für ihn kaum merklich stattfindet. Die infolge der Dekompression bezogenen HTML/XHTML-Dateien bauen sich analog zu dem herkömmlichen Bezug über das HTTP-Protokoll auf.
- Dabei wird der Dekompressionscode vorzugsweise als Link in Verbindung mit den komprimierten HTML/XHTML-Dateien übermittelt und im Falle der Dekompression clientseitig aufgerufen.
- Die clientseitige Dekompression der bezogenen HTML/XHTML- Dateien erfolgt somit vorzugsweise in realtime direkt beim Aufruf der erwähnten HTML/XHTML-Dateien.
- Dabei müssen bei dem Kompressionsverfahren zunächst die vorhandenen HTML/XHTML-Dateien und deren Strukturen gescannt werden. Hierbei werden die Tags, Keys und Values der zu komprimierenden HTML/XHTML-Datei bzw. Dateistruktur erkannt und die hierdurch gewonnene Information zwischengespeichert.
- Die hierbei gewonnenen Informationen werden bevorzugt in Vektorform in sogenannten Arrays abgelegt, wobei die erkannten Elemente in Element-Arrays, die Information über die jeweiligen Elementtypen in einem Rendering-Array und die Informationen über die Anordnung oder Reihenfolge der Elemente sowie den Aufbau der Datenstruktur in einem Tree- Array abgelegt werden.
- Der erreichbare Kompressionsgrad ist dadurch erhöht, daß die Tags, Values und Keys klassifiziert und eine entsprechende Information zu diesen Elementen jeweils in dem Rendering-Array abegelegt wird.
- Einen noch höheren Kompressionsgrad erreicht man durch die Erkennung von Redundanzen in der zu komprimierenden Struktur also von mehrfach verwendeten Elementen, die dann nur einmal in Verbindung mit einer Rendering Information über den Ort Ihrer Verwendung abgespeichert werden.
- Um die komprimiert gespeicherten Elemente bei der Dekompression restaurieren zu können, werden diese durch spezielle Trennzeichen voneinander getrennt innerhalb des oder der Element-Arrays angelegt. Hierbei werden mit Vorteil solche Trennzeichen eingesetzt die üblicherweise nicht in HTML/XHTML-Dateien Verwendung finden.
- Zur Vermeidung von Kompressionsfehlern ist es dabei sinnvoll in einem weiteren Verfahrensschritt höchstvorsorglich die zu komprimierenden Struktur zunächst dahingehend zu überprüfen, ob nicht doch möglicherweise aufgrund eines Fehlers das ausgewählte Trennzeichen in der urspünglichen Struktur vorhanden ist und dieses zunächst anderweitig zu ersetzen
- Die Anzahl der zu erkennenden und verwaltenden Elementtypen muß beschränkt sein, da ansonsten der Kompressionseffekt durch eine umständliche Verwaltung der Elementtypen wieder verschlechtert wird.
- Die komprimierten Strings können auch in mehreren Element- Arrays abgelegt sein, so daß zu jedem Element innerhalb des Rendering-Arrays auch eine Information abgelegt werden muß, in welchem Element-Array das jeweilige Element zu finden ist. Die Rendering-Arrays weisen in diesem Falle zu jedem Element eine sogenannte Array-Information auf.
- Die eigentliche Datenstruktur der Dateien als solche aber auch deren Bezug zueinander, wird innerhalb eines Tree- Arrays abgelegt. Dabei hat man sich den Tree-Array als eine Folge von Integer-Zahlen, die vorzugsweise in Base 36 kodiert sind, vorzustellen. Bei der Dekompression wird dann dieser Tree-Array sequentiell abgearbeitete. Dabei erfolgt zunächst mittels des Zugriffs auf das Rendering-Arrays eine Bestimmung des Element-Typs und anhand der dort vorhandenen Information über die Adresse des Elementes ein Zugriff auf das Element im Element-Array und schließlich anhand der im Rendering-Array vorgefundenen Informationen über den Element-Typ und dessen nähere Spezifikation eine Überführung ein sogenanntes "Rendering" des komprimierten Elements in das Originalelement, daß an der jeweiligen Stelle wiederhergestellt wird. Durch die sequentielle Abarbeitung des Tree-Arrays wird nach und nach die gesamte HMTL/XHTML-Datei bzw. die gesamte HTML/XHTML-Struktur wieder hergestellt.
- Ein erster Kompressionsschritt besteht schon darin, daß auch die Leerzeichen sogenannte "white spaces" in der zu komprimierenden Struktur erkannt und eliminiert werden. Hierdurch ist bereits eine erste Kompression des HTML/XHTML-Codes verwirklicht.
- Dadurch, daß die in den HTML/XHTML-Dateien integrierten Script-Sprachen sogenannte "Embedded-Script-Languages" erkannt und verarbeitet werden können, können auch dynamische HTML/XHTML-Dateien komprimiert und verarbeitet werden.
- Hierzu werden die eingesetzten Script-Sprachen in der ursprünglichen Form in der komprimierten Struktur erhalten und mit der komprimierten Struktur ggf. an den Client übermittelt und zur Laufzeit bei der Restaurierung auf Clientseite wiederhergestellt. Somit ist auch die dynamische HTML/XHTML-Welt dem erfindungsgemäßen Kompressionsverfahren zugänglich.
- Es wird nachstehend anhand eines in der Beschreibung stark vereinfachten Ausführungsbeispiels näher erläutert. Es zeigen:
- Fig. 1 eine Client-Server-Beziehung in einem Prinzipschaubild
- Fig. 2 einen beispielhaften HTML-Code
- Fig. 3 die Dateistruktur eines Webservers
- Fig. 4 eine komprimierte Dateistruktur
- Fig. 5 ein dem Stand der Technik entsprechendes Kompressionsverfahren in einer Prinzipdarstellung und zum Vergleich
- Fig. 6 ein der Erfindung entsprechendes Kompressionsverfahren in einer analogen Prinzipdarstellung
- Fig. 1 zeigt in einen Client 1 und einen Server 2, die beide über ein Rechnernetz vorzugsweise das Internet 3 miteinander nach den Regeln eines Übertragungsprotokolls hier dem TCP/IP-Protokoll miteinander in Datenaustausch treten können. Im vorliegenden Beispiel eines Austauschs im World- Wide-Web, also dem WWW, wird man von einem Webclient 1 und einem Webserver 2 gesprochen. Der sogenannte Webclient 1 ist demnach ein an das Internet 3 angeschlossener Computer, der sich über das Internet 3 mit dem Webserver 2 verbindet. Dabei treten die beiden Computer nach einem Protokoll, nämlich HTTP, dem "Hypertext-Transfer-Protokoll" miteinander in Datenaustausch. Hierzu baut der Client 1 zunächst unter Verwendung einer IP-Adresse eine Verbindung mit dem Server 2 im Rahmen des Einloggvorgangs 4 auf.
- Der Einloggvorgang 4 ist durch einen Doppelpfeil gekennzeichnet, weil hierbei ein "handshake" zwischen Client 1 und Server 2 stattfindet. Es handelt sich dabei um eine bidirektionale Datenverbindung.
- In einem weiteren Schritt im sogenannten Demand 5 fordert der Client 1 ein HTML-File vom Server 2 an. Der Server 2 übermittelt daraufhin mit einer sogenannten HTML-Response 6 die nachgefragte HTML-Datei. Schließlich schließt der Client 1 im Ausloggvorgang 7 die Verbindung zum Server 2.
- Eine dabei herkömmlicherweise übermittelte HTML/XHTML-Datei ist in Fig. 2 dargestellt.
- Die dabei übermittelten HTML-Dateien - also in der als Hypertext-Markup-Language bezeichneten softwareunabhängigen Dokument-Beschreibungssprache - bestehen im Wesentlichen aus sogenannten Tags 16, die einfache Befehle im Textformat umschreiben, Keys 17 und diesen Keys 17 jeweils zugewiesene Values 18. sowie möglichen Verweise auf andere HTML-Files, die sogenannte Hyperlinks und Links enthalten können. Die HTML-Dateien werden von einem Browser interpretiert und dargestellt.
- Dabei sind auf einem Webserver 2 die dort abgelegten HTML- Dateien normalerweise hierarchisch strukturiert. Unter einer hierarchischen Struktur versteht man, daß die Seiten in der Regel durch eine Oberseite eine sogenannte "Homepage 10" adressierbar und von dieser durch Links Unterseiten 11 der Homepage 10 adressierbar bzw. aufrufbar sind. Eine derartige Struktur ist als Prinzipskizze in Fig. 3 dargestellt. Dabei kann die hierarchische Struktur wesentlich komplizierter aufgebaut sein, als in Fig. 3 dargestellt.
- In jedem Fall ergibt sich aus der Darstellung in Fig. 2 und 3, daß ein Kompressionsverfahren zur Komprimierung der auf einem Server 2 abgelegten HTML/XHTML-Dateien sowohl die HTML/XHTML-Dateien als solche, wie auch deren Struktur erfassen und komprimieren muß.
- Dabei wir im Rahmen der Kompression zunächst ein Scannen des gesamten HTML/XHTML-Inhalts durchgeführt. Bei diesem Scannen werden zunächst die im HTML/XHTML-Code angelegten Tags 16, Keys 17 und Values 18 erkannt und zwischengespeichert.
- In einem zweiten Schritt werden die in dem HTML/XHTML-Code enthaltenen Leerzeichen sogenannte white spaces erkannt und eliminiert. Hierdurch ist bereits eine erste Kompression des HTML/XHTML-Inhalts verwirklicht.
- In einem weiteren Schritt werden etwa im HTML/XHTML-Code enthaltene Redundanzen also immer wiederkehrende Elemente erkannt und eliminiert. Das Eliminieren von Redundanzen ist dadurch möglich, daß anstelle einer ständigen Wiederholung der Elemente das Element einmal benannt wird und dann nur noch die Stelle, an der es benötigt wird, in geeigneter Form abgespeichert wird.
- Die einzelnen Tags 16, Keys 17 und Values 18 des HTML-Codes werden erkannt und als komprimierte Strings in einem oder mehreren Element-Arrays 12, 12' abgelegt. Zu diesen Elementen wird jeweils eine Rendering Information, die beispielsweise eine Information über den Elementtyp umfaßt in einem Rendering Array 13 angelegt. Der Ort der einzelnen Element also der Aufbau der Datei wie auch der Dateistruktur insgesamt ergibst sich aus der in einem Tree-Array 14 angelegten Information bzw. aus deren Reihenfolge. Es handelt sich dabei um eine Folge von Integer zahlen, die den Ort des jeweils zu dekomprimierenden Elements im Element Array 12, 12' angibt. Zusätzlich zu diesen Arrays wird ein individueller Dekompressionscode in einer ECMA-Script-Sprache, hier JAVA-Script erzeugt. Im Rahmen der Kompression einer HTML- File werden somit zunächst komprimierte Element-Arrays 12, 12' in Verbindung mit einem Rendering-Array 13 und einem Tree-Array 14 erzeugt. Die Arrays werden mit dem Dekompressionstools 15, das als JAVA-Script auf dem Server 2 abgelegt ist, auf dem Server 2 gespeichert.
- Das Dekompressionstool 15 stellt ein echtes in einer Makrosprache definiertes Programm dar, daß vom Browser übersetzt und abgearbeitet wird. Dadurch daß das Dekompressionstool in Form von JAVA-Script realisiert ist, muß keine weitere Software beim Client 1 installiert sein.
- Der Client 1 bezieht auf ein Demand 5 im HTML-Response 6 das Dekompressionstool 15 in Verbindung mit den genannten Element-Rendering und Tree-Arrays 12 bis 14.
- Das Dekompressionstool 15 arbeitet zur Dekompression oder aber zum Aufbau der HTML-Seite, die im Wege des HTML- Response 6 übermittelt wurde, zunächst den Tree-Array 14 ab. Der Tree-Array 14 gibt die Position der zum Aufbau der Seite jeweils benötigten Elemente in den betreffenden Element-Arrays 12, 12' an. Durch die sequentielle Abarbeitung des Tree-Arrays 14 ergibt sich gleichzeitig die Reihenfolge der zu restaurierenden Elemente.
- Die Position der Elemente und der HTML-Files innerhalb der HTML-Dateien und der Dateistruktur ist ebenfalls komprimiert in Form von Integer-Zahlen, die in Base 36 kodiert sind, innerhalb des Tree-Arrays 14 angelegt. Zusätzlich zu dem Zugriff auf ein Element innerhalb des Elementen-Arrays 12, 12' wird aus dem Rendering-Array 13 die entsprechende Information über den jeweiligen Element-Typ bezogen.
- Anhand der Informationen über den Element-Typ und etwaig weitere Spezifikationen des Elements wird mit Hilfe des Dekompressionstools 15 das Originalelement aus dem Element- Array 12, 12' rekonstruiert und an die durch die sequentielle Abarbeitung des Tree-Arrays 14 an die vorgegebene Stelle gesetzt. Im Falle redundanter Elemente werden dabei sämtliche Elemente an der jeweils erforderlichen Stelle rekonstruiert.
- Der durch die hier beispielhaft beschriebene Kompression erreichte wesentliche Unterschied zwischen der Kompression mittels herkömmlicher Programme wie den bekannten Zip- Verfahren und dem erfindungsgemäßen Verfahren wird noch einmal anhand des Prinzipbilder in den Fig. 5 und 6 erläutert.
- Fig. 5 zeigt eine herkömmliche HTML-Struktur mit HTML- Dateien 20 und script embedded language HTML Strukturen 21-23, wie etwa mit einem JSP-, PHP- und ASP-Bestandteil und den hierzu benötigten Präprozessoren 24-26 und den hierzu gehörigen Server 2. Im Falle eines Demands 5 werden dann die HTML-Dateien 20-23 im Stand der Technik zunächst serverseitig beispielsweise mittels eines Zip- Kompressionsschritts 27 komprimiert. Hierbei findet eine CPU-Belastung des Servers 2 statt, die je nach Mächtigkeit dessen Performance beeinträchtigen kann.
- Die dem Stand der Technik entsprechend komprimierte Struktur wird dann über das Internet 3 oder ein Intranet an den Client 1 übermittelt. Der Client 1 bzw. der Clientrechner muß jedoch vor der Darstellung der bezogenen HTML-Struktur durch einen Browser 28 einen Zip-Dekompressionsschritt 29 mittels eines zusätzlichen vom Client 1 jeweils passend vorzuhaltenden Zip-Programms die HTML-Struktur 20-23 in de ursprünglichen Form wiederherstellen.
- Im Unterschied hierzu liegen gemäß Fig. 6 in Übereinstimmung mit dem erfindungsgemäßen Verfahren anstelle der HTML- Strukturen 20-23 bereits speicherplatzoptimierte komprimierte Strukturen 30-33, ergänzt durch das individuelle Dekompressionstool 15 auf dem Server 2. Die im Zusammenhang mit den script embedded language Strukturen 31-33 benötigen Präprozessoren 34-36 sind allerdings analog vorhanden. Im Falle eines Demand 5 entfällt demnach der in Fig. 5 gezeigte Kompressionsschritt 27 vollständig. Statt dessen werden die bereits komprimierten Dateien incl. dem Dekompressionstool 15 unmittelbar über das Internet 3 an den Client 1 übermittelt, wobei dann durch Abarbeitung des als Javascript übermittelten Dekompressionstools 15 mittels des Browsers 28 die bereits serverseitig komprimierten ursprünglichen HTML-Strukturen 20-23 aufgebaut werden.
- Vorstehend ist somit ein Verfahren zur Kompression von HTML/XHTML-Strukturen wie sie vorzugsweise auf einem Webserver 2 abgelegt sind, beschrieben. In Verbindung mit der Kompression der HTML/XHTML-Strukturen 20-23 wird gleichzeitig ein Dekompressionstool 15 erzeugt, das in einer ECMA-Sprache angelegt und mit dem komprimierten Dateninhalt an den Client 1 übermittelt wird. Der Client 1 kann dann ohne eine zusätzliche Software die komprimierten HTML/XHTM-Dateien 30 33 beziehen und auf seinem Computer betrachten bzw. weiter verarbeiten. Dabei erfolgt die serverseitige Kompression der Dateien aufgrund der im Rahmen der Erfindung verschiebenen Kompression. Dabei entsteht ein zur Dekompression benötigtes individuelles Dekompressionstool 15, dessen Aufbau im wesentlichen vom HTML/XHTML- Content der jeweiligen Server 2 abhängt. BEZUGSZEICHENLISTE 1 Client
2 Server
3 Internet
4 Einloggvorgang
5 Demand.
6 HTML-Response
7 Ausloggvorgang
10 Hompepage
11 Unterseiten
12, 12 Element-Arrays
13 Rendering-Arrays
14 Tree-Arrays
15 Dekompressionstool
16 Tag
17 Key
18 Value
20 HTML-Datei
21 HTML-Datei mit JSP-Anteil
22 HTML-Datei mit PHP-Anteil
23 HTML-Datei mit ASP-Anteil
24 JSP-Präprozessor
25 PHP-Präprozessor
26 ASP-Präprozessor
27 ZIP-Kompression
28 Browser
29 ZIP-Dekompression
30 Komprimierte HTML-Datei
31 Komprimierte HTML-Datei mit JSP-Anteil
32 Komprimierte HTML-Datei mit PHP-Anteil
33 Komprimierte HTML-Datei mit ASP-Anteil
34 JSP-Präprozessor
35 PHP-Präprozessor
36 ASP-Präprozessor
Claims (16)
1. Kompressionsverfahren für HTML/XHTML-Dateien mit
folgenden Schritten;
- Scannen zumindest eines Teils der auf einem
Server abgelegten HTML/XHTML-Dateien (20-23),
- Ersetzen des HTML/XHTML-Codes dieser Dateien
und deren Datenstruktur durch komprimierte
Strings
- Generierung eines individuellen
Dekompressionscodes (15) in einer ECMA-Script-Sprache,
vorzugsweise Java-Script, der den jeweils
komprimierten HTML/XHTML-Dateien (30-33)
zugeordnet wird.
2. Kompressionsverfahren nach Anspruch 1,
dadurch gekennzeichnet,
daß im Falle eines Zugriffs durch einen Client (1) auf
den Server (2) die jeweils angesprochenen HTML/XHTML-
Dateien (30-33) komprimiert in Verbindung mit dem
individuellen Dekompressionscode (15) übermittelt werden.
3. Kompressionsverfahren nach Anspruch 2, dadurch
gekennzeichnet, daß der individuelle Dekompressionscode (15)
clientseitig vorzugsweise als Link abgelegt und jeweils
beim Zugriff auf denselben Server (2) mittels eines
beim Client (1) eingesetzten Browsers zur Dekompression
der bezogenen HTML/XHTML-Dateien interpretiert und
abgearbeitet wird.
4. Kompressionsverfahren nach Anspruch 3, dadurch
gekennzeichnet, daß die clientseitige Dekompression der
jeweils bezogenen HTML/XHTML-Dateien (30-33) in realtime
erfolgt.
5. Kompressionsverfahren nach einem der vorhergehenden
Ansprüche, dadurch gekennzeichnet, daß beim
Verfahrensschritt "Scannen" folgende Unterschritte abgearbeitet
werden;
- Erkennen von Tags (16) der zu komprimierenden
HTML/XHTML-Datei
- Erkennen von Keys (17) dieser HTML/XHTML-Datei
- Erkennen von Values (18) dieser HTML/XHTML-
Datei
- Zwischenspeicherung dieser Informationen
6. Kompressionsverfahren nach einem der vorhergehenden
Ansprüche, dadurch gekennzeichnet, daß der
Verfahrensschritt "Ersetzen des HTML/XHTML-Codes" der Dateien und
deren Struktur die Anlage von wenigstens einem Element-
Array (12 oder 12'), wenigstens einem Tree-Array (14)
und wenigstens einem Rendering-Array (13) umfaßt.
7. Kompressionsverfahren nach Anspruch 5 oder 6, dadurch
gekennzeichnet, daß die Tags (16), Values (18)
und/oder Keys (17) der zu komprimierenden HTML/XHTML-Datei
klassifiziert und als Rendering Information im
Rendering Array (13) abgelegt werden.
8. Kompressionsverfahren nach Anspruch 5, 6 oder 7,
dadurch gekennzeichnet, daß innerhalb der zu
komprimierenden HTML/XHTML-Datei etwa vorhandene Redundanzen
erkannt und als Redundanz-Information im Tree-Array (14)
abgelegt werden.
9. Kompressionsverfahren nach einem der vorhergehenden
Ansprüche 5 bis 8 dadurch gekennzeichnet, daß der
HTML/XHTML-Code als komprimierte -Strings innerhalb des
wenigstens einen Element-Arrays (12) abgelegt wird,
wobei die Elemente durch spezielle Trennzeichen innerhalb
des Rendering-Arrays (13) voneinander trennbar
gespeichert werden.
10. Kompressionsverfahren nach Anspruch 9, dadurch
gekennzeichnet, daß die zu komprimierenden HTML/XHTML-Datei
in einem weiteren Schritt daraufhin gescannt wird, ob
das spezielle Trennzeichen vorhanden ist, wobei dies
bejahendenfalls ersetzt wird.
11. Kompressionsverfahren nach einem der vorhergehenden
Ansprüche 5 bis 10, dadurch gekennzeichnet, daß
innerhalb des Rendering-Arrays (13) zu jedem Element eine
Rendering-Information bezüglich des Elementtyps aus
einer Menge von, vorzugsweise 9, vordefinierten
Elemententypen zugewiesen wird.
12. Kompressionsverfahren nach Anspruch 11, dadurch
gekennzeichnet, daß im Falle mehrere Element-Arrays (12, 12')
zu jedem Element innerhalb des Rendering-Arrays (13)
eine Array-Information abgelegt wird.
13. Kompressionsverfahren nach einem der Ansprüche 5 bis
12, dadurch gekennzeichnet, daß die Dateistruktur der
Dateien als solcher sowie die Bezüge der Dateien
untereinander in dem Tree-Array (14), vorzugsweise als
Integer-Zahlen in Base 36 kodiert, abgelegt werden, wobei
dieses Tree-Array (14) bei der Dekompression gemäß dem
individuellen Dekompressionscode (15) sequentiell
abgearbeitet wird.
14. Kompressionsverfahren nach einem der vorhergehenden
Ansprüche, dadurch gekennzeichnet, daß in einem
weiteren Verfahrenschritt nach oder vor dem "Scannen" der zu
komprimierenden Struktur etwa in dieser Struktur
vorhandene "white spaces" erkannt und ggf. eliminiert
werden.
15. Kompressionsverfahren nach einem der vorhergehenden
Ansprüche, dadurch gekennzeichnet, daß serverseitig in
die zu komprimierenden HTML/XHTML-Dateien integrierte
Script-Sprachen, vorzugsweise JAVA-Server-Pages,
Hypertext-Preprocessor-Prozessor, Activ-Server-Pages
serverseitig in der komprimierten Struktur erhalten bleiben
und mit dieser komprimierten Struktur an den Client
(1), übermittelt werden.
16. Kompressionsverfahren nach einem der vorhergehenden
Ansprüche 1 bis 14, dadurch gekennzeichnet, daß
serverseitig in die zu komprimierenden HTML/XHTML-Dateien
integrierte Script-Sprachen, vorzugsweise JAVA-Server-
Pages, Hypertext-Präprozessor, Activ-Server-Pages
ebenfalls komprimiert werden und ein insoweit veränderter
individueller Dekompressionscode (15) an den Client (1)
übermittelt wird.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2001142024 DE10142024A1 (de) | 2001-08-28 | 2001-08-28 | Kompressionsverfahren |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2001142024 DE10142024A1 (de) | 2001-08-28 | 2001-08-28 | Kompressionsverfahren |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10142024A1 true DE10142024A1 (de) | 2003-03-27 |
Family
ID=7696814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2001142024 Withdrawn DE10142024A1 (de) | 2001-08-28 | 2001-08-28 | Kompressionsverfahren |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE10142024A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7539982B2 (en) | 2004-05-07 | 2009-05-26 | International Business Machines Corporation | XML based scripting language |
-
2001
- 2001-08-28 DE DE2001142024 patent/DE10142024A1/de not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7539982B2 (en) | 2004-05-07 | 2009-05-26 | International Business Machines Corporation | XML based scripting language |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60127247T2 (de) | Netzwerkeinrichtung zur dokumentengültigkeitserklärung | |
DE60028561T2 (de) | Bereitstellung von kundendiensten, die daten aus datenquellen abrufen, wobei die datenquellen die vom kunden geforderten formate nicht notwendigerweise unterstützen | |
DE69937249T2 (de) | System und verfahren zur analyse eines webserver-logbuchs | |
DE69725652T2 (de) | Einbettung von Ton in Webseiten | |
DE10051021B4 (de) | System, Verfahren und Computerprogramm zur Bereitstellung interaktiver Web-Inhalte in statisch verknüpften Dateien | |
DE10051024B4 (de) | Verfahren zum intermediären Cachen in einem Client-Server-Softwaresystem, Computerprogrammprodukte und Computersystem zur Durchführung eines solchen Verfahrens | |
DE69731994T2 (de) | Verfahren und Gerät, um Informationen über Netzwerkanbieter zu bekommen und anzuzeigen | |
EP1369790A2 (de) | Verfahren zur dynamischen Generierung strukturierter Dokumente | |
DE19962192A1 (de) | Verfahren und System zur Inhaltskonvertierung von elektronischen Daten für drahtlose Vorrichtungen | |
DE102004036976A1 (de) | Verfahren zur Generierung von Internetseiten, zugehöriges Computerprogramm und Computersystem | |
DE10162418A1 (de) | System zur Verarbeitung strukturierter Dokumente, damit sie sich zur Ablieferung über Netzwerke eignen | |
DE19963981A1 (de) | Verfahren und Vorrichtung zum Auffinden von Dokumenten unter Verwendung von Hyperlinks | |
EP1620810B1 (de) | Verfahren und anordnung zur einrichtung und aktualisierung einer benutzeroberfl che zum zugriff auf informationsseiten in ein em datennetz | |
DE19953055C2 (de) | Vorrichtung und Verfahren zur geschützten Ausgabe eines elektronischen Dokuments über ein Datenübertragungsnetz | |
DE102009015734A1 (de) | Komprimierungsverfahren, Dekomprimierungsverfahren, Komprimierungseinheit, Dekomprimierungseinheit sowie komprimiertes Dokument | |
DE10296924T5 (de) | Anwenderbestimmtes selektives Neuladen von Bildern | |
DE102006027664B4 (de) | Kommunikationssystem zum Verarbeiten von Daten | |
DE10142024A1 (de) | Kompressionsverfahren | |
EP1362283A2 (de) | Verfahren und vorrichtung zum darstellen eines aus pixeln aufgebauten bildes | |
DE10146356A1 (de) | Verfahren zum Komprimiern von dynamischen Webseiten und eine Datenverarbeitungseinrichtung zur Durchführung des Verfahrens | |
DE102018103529A1 (de) | Verfahren und Client-Computer zur Ausführung von Quellcode an einem Client-Computer | |
DE10319887B4 (de) | Verfahren zum Angleichen eines auf einer Client-Datenverarbeitungseinrichtung angezeigten Datenbestandes an einen auf einer Server-Datenverarbeitungseinrichtung gespeicherten Quelldatenbestand | |
EP1509856A2 (de) | Verfahren zur datensuche unter berücksichtigung ihres verfügbarkeitszeitraums in einem verteilten system | |
DE10217886A1 (de) | Medizinisches Datenverarbeitungssystem | |
DE102005022351B4 (de) | Verfahren zur Bearbeitung einer Folge von Client-Anfragen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8139 | Disposal/non-payment of the annual fee |