next up previous contents index
Next: Datensicherheit Up: Konzept Previous: Plazierung der Directory Server

Datenkompression

Um die benötigte Leitungsbandbreite weiter zu reduzieren, sollen die Pakete, bevor sie in's Netz geschickt werden, komprimiert werden. Hierbei ist zu beachten, daß jedes einzelne Paket für sich komprimiert werden muß, da ansonsten bei auftretenden Paketverlusten oder bei Vertauschungen in der Reihenfolge, in der die Artikel beim Empfänger ankommen, alle Artikel, die nach dem Fehlenden oder Vertauschten eintreffen, nicht mehr dekomprimiert werden können und damit verloren sind.

Für die Datenkompression ist eine Huffmancodierung[Sed88] geeignet, da sowohl das Komprimieren, als auch das Dekomprimieren mit relativ wenig Aufwand erfolgen kann. Das Hauptproblem ist die Generierung des Huffman-Baumes; dies kann aber offline erfolgen und wenn es größere Änderungen gibt, wird dieser geänderte Baum an die Empfänger verteilt, um die Änderungen nachzuvollziehen.

Ein Problem hierbei könnte sein, daß der Baum je nach Hierarchie oder Sprache unterschiedlich aussieht - so ist die Verteilung der Zeichen in der deutschen Sprache anders als z.B. in der französischen. Für die Gruppen in denen viele Binärdateien gepostet werden, wird der Baum ganz anders aussehen, da die Binärdateien meist via (1)  oder Base64 [BF93] kodiert sind. Um dieses Problem zu mildern, gibt es zwei Möglichkeiten:

Laut [Sed88] erreicht man mit der Huffman-Kompression ca. 20% Datenreduktion auf Englischen Text. Dies ist weniger als bei der Kompression mit   oder  ; die Reduktion ist jedoch deutlich billiger zu erhalten und es können mit den Datagrammen  keine Tabellenänderungen verloren gehen.

Eine andere Alternative, die sich trotz kleiner zu komprimierender Dateien anbietet, ist die Verwendung der zlib , wie sie in den RFCs 1950-52 [LD96,Deu96a,Deu96b] beschrieben wird. Dabei wird jeder Artikel einzeln komprimiert und trägt bei der Übertragung seine Codetabelle bei sich, so daß er auch im Fall von Paketverlusten oder vertauschter Reihenfolge erfolgreich dekodiert werden kann. Der Nachteil, daß zlib  mehr Rechenzeit benötigt, als die Verwendung des Huffman-Algorithmus, wird durch die ca. doppelt so hohe Datenreduktion wieder wettgemacht. Außerdem fällt die Notwendigkeit weg, Kodierungstabellen zu pflegen.


next up previous contents index
Next: Datensicherheit Up: Konzept Previous: Plazierung der Directory Server
Heiko W.Rupp
12/1/1997