DE3606869C2 - Vorrichtung zur Datenkompression - Google Patents
Vorrichtung zur DatenkompressionInfo
- Publication number
- DE3606869C2 DE3606869C2 DE3606869A DE3606869A DE3606869C2 DE 3606869 C2 DE3606869 C2 DE 3606869C2 DE 3606869 A DE3606869 A DE 3606869A DE 3606869 A DE3606869 A DE 3606869A DE 3606869 C2 DE3606869 C2 DE 3606869C2
- Authority
- DE
- Germany
- Prior art keywords
- bytes
- data
- memory
- sequence
- output
- 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 - Lifetime
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
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3088—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Bus Control (AREA)
Description
Die Erfindung betrifft eine Vorrichtung zur Datenkompression, d. h.
ein System zum Verdichten oder Komprimieren von Daten, die entweder
gespeichert oder an eine andere Stelle übertragen werden zur späteren
Expansion.
Daten werden normalerweise nicht so gehandhabt, daß jeweils ein Bit
zu einem Zeitpunkt bearbeitet wird, sondern es wird ein binärer Code
fixierter Länge benutzt, der als Byte bezeichnet wird. Gewöhnlich um
faßt ein Byte acht Bits, dies muß aber nicht notwendigerweise so sein
und in der nachfolgenden Beschreibung wird diese Bezeichnung allgemein
so verwendet, daß sie eine Folge von Bits jeder geeigneten Länge be
deuten soll.
Daten-Kompressionstechniken werden benutzt, um die Menge der zu
speichernden oder zu übertragenden Daten zu reduzieren, entweder
um die erforderliche Speicherkapazität oder die Übertragungszeit
zu verringern. In jedem Fall ist es natürlich notwendig, die kompri
mierten Daten wieder zu expandieren oder auseinanderzuziehen, um die
ursprünglichen Daten wieder herzustellen.
Aus der DE-26 25 527 A1 ist ein Verfahren zur Kompression re
dundanter digitaler Quellsignale bekannt, das insbesondere
eine Datenkompression durch Ausnutzung von Signalpausen an
strebt. Signalpausen sind durch gleichbleibende Datensignale
gekennzeichnet, die zur Komprimierung von Daten in ihrer Wie
derholhäufigkeit gekennzeichnet werden können.
Es sind Datenkompressions- und expansionsanordnungen bekannt, und bei
einer bekannten Methode wird die nächstfolgende Sequenz von zu be
handelnden Bytes geprüft, um festzustellen, ob diese Folge bereits
verarbeitet worden ist (vgl. US-4,494,150). Einige Systeme haben einen Speicher mit einer
Bibliothek oder Programmothek der meistverwendeten Sequenzen. Im Falle
von Text-Dateien sind diese Sequenzen die üblicherweise benutzten Worte.
Irgendein Wort in der Datei, das in der Bibliothek enthalten ist, kann
dann durch die Adresse in der Bibliothek, wo das Wort gefunden werden
kann, ersetzt werden, und es ist diese Adresse, die dann gespeichert
oder übertragen wird. Um die ursprünglichen Daten wiederherzustellen,
ist eine identische Bibliothek oder Programmothek erforderlich, um die
Adresse wieder in das ursprüngliche Wort bzw. den ursprünglichen Befehl,
der auszuführen ist, umzuformen bzw. zu expandieren. Einige Systeme
arbeiten mit dieser Technik unter Verwendung einer festen Bibliothek
und einer weiteren variablen Bibliothek, in welche Worte oder Befehle
eingegeben werden, wie sie auftreten oder erscheinen, wenn sie nicht
bereits in der festen Bibliothek enthalten sind. Wenn die variable
Bibliothek voll ist, werden die am wenigsten benutzten Worte in ihr
gelöscht, wenn neue Worte oder Befehle ankommen.
Solch ein System ermöglicht bereits eine Text-Kompression, der Begrenzungs
faktor ist aber die Größe der Bibliothek. Ferner wird jedes Wort separat
betrachtet, so daß, obwohl jedes Wort auf eine Bibliothek-Adresse
komprimiert werden kann, die potentielle Kompression, die durch
wiederholte Wortsequenzen gegeben ist, nicht realisiert wird.
Der Erfindung liegt die Aufgabe zugrunde, ein Datenkompressionssystem
zu schaffen, das die bisherige Kompression von Daten verbessert.
Nach der Erfindung ist hierzu eine Vorrichtung zum Komprimieren von Daten
vorgesehen, die einen Eingangsspeicher hat zum Empfang und Speichern einer
Mehrzahl von Bytes aus nicht-komprimierten Daten von einer äußeren Daten
quelle, eine Datenverarbeitungseinrichtung zum Verarbeiten sukzessiver
Bytes von Daten aus dem Eingangsspeicher, wobei die Datenverarbeitungs
einrichtung eine Schaltung umfaßt zum Prüfen, ob eine Folge aufein
anderfolgender Bytes, die zu bearbeiten sind, identisch ist mit einer
Folge von Bytes, die bereits verarbeitet worden ist, einer Ausgangs
schaltung, um an ein Übertragungsmedium eine Darstellung von jedem Daten-
Byte zu übertragen, das nicht einen Teil einer solchen identischen Sequenz
bildet, ferner mit einer Kodierschaltung, die auf die Identifizierung einer
solchen Sequenz anspricht, um an das Übertragungsmedium ein Identifi
zierungssignal zu geben, welches sowohl den Ort der vorherigen Erscheinung
der Sequenz von Bytes im Eingangsspeicher als auch die Anzahl von Bytes
identifiziert, die in der Sequenz enthalten sind.
Nach der Erfindung ist ferner ein Datenkompressionssystem vorgesehen, das
eine Empfangseinrichtung aufweist zum Empfang von komprimierten Daten von
dem Übertragungsmedium, eine Dekodierschaltung zur Bestimmung, ob die
empfangenen komprimierten Daten ein Daten-Byte oder ein Identifizierungs
signal darstellen, einen Ausgangsspeicher zum Speichern jedes Daten-Bytes
von der Kodierschaltung, sowie eine Kopierschaltung zum Kopieren in den
Ausgangsspeicher jede Sequenz von Bytes, die durch das Identifizierungs
signal identifiziert worden ist, wobei die im Ausgangsspeicher enthaltenen
Daten einen Wiederaufbau der Daten darstellen, die zu einem früheren Zeit
punkt in den Eingangsspeicher gegeben worden sind.
Wie oben erwähnt, wird die Bezeichnung "Byte" benutzt, um eine Gruppe von
einer erforderlichen Anzahl von Bits zu bezeichnen, die nicht notwendiger
weise acht sein müssen.
Die Bezeichnung "Übertragungsmedium" wird hier benutzt, um entweder einen
Verbindungskanal oder Übertragungskanal zu bezeichnen, über welchen
komprimierte Daten von einer ersten Station zum Empfang auf eine zweite
Station übertragen werden können, oder zur Bezeichnung eines Speicher
mediums, an das die komprimierten Daten für eine spätere Wiedererlangung
oder Wiederverwendung gelegt werden können. Die Art eines solchen Verbindungs
kanals oder die Art des Speichermediums ist nicht relevant für die Erfindung.
Bei der Erfindung wird zunächst der verwendete Algorithmus vereinfacht,
so daß die Hardware einfacher gestaltet werden kann oder die Software
kann schneller gemacht werden. Ferner wird der Algorithmus daten-transparent
gemacht, d. h. relativ unabhängig von der Form, welche die Daten haben. Die
Erfindung hängt somit nicht davon ab, daß die Daten irgendeine besondere
Form haben oder eine besondere Sprache, oder auch von der Verwendung eines
besonderen Computers.
Eine beispielsweise Ausführungsform der Erfindung wird nachfolgend anhand
der Zeichnung beschrieben, in der
Fig. 1 schematisch ein Blockdiagramm der Hauptelemente der erfindungs
gemäßen Vorrichtung zeigt.
Fig. 2 zeigt ein Blockdiagramm einer Ausführungsform eines Teils der Vor
richtung nach Fig. 1.
Fig. 3 und 4 zeigen
Fließdiagramme mit der Darstellung der Arbeitsweise
der Schaltung nach Fig. 2.
Fig. 5 zeigt in einem Blockdiagramm eine Ausführungsform eines anderen Teils
der Vorrichtung nach Fig. 1 und
Fig. 6 zeigt ein Fließdiagramm mit der Darstellung der Arbeitsweise der
Schaltung nach Fig. 5.
Fig. 1 zeigt ein vereinfachtes Blockdiagramm eines Daten-Kompressionssystems.
Ein Eingangsspeicher 10 ist vorgesehen, an den Daten, die komprimiert werden
sollen, gelegt werden können, und die Daten werden in dem Speicher gespeichert,
bis die Komprimierung dieser Daten fertig ist. Vom Eingangsspeicher 10 werden
die Daten an einen Kompressions-Prozessor 11 gelegt, wo sie verarbeitet und
an ein Übertragungsmedium 12 gelegt werden. Von dem Übertragungsmedium 12
werden die komprimierten Daten an einen Expansions-Prozessor 13 gegeben,
wo die Daten verarbeitet werden, derart, daß die wiederhergestellten Daten
an den Ausgangsspeicher 14 zur weiteren Verwendung gelegt werden. Wenn das
Übertragungsmedium 12 ein Verbindungskanal ist, so sind die Einrichtungen
für die Kompression und die Expansion der Daten an verschiedenen Orten an
geordnet. Wenn das Übertragungsmedium eine Art eines Speichers ist, so
können die beiden Einrichtungen an derselben Stelle oder an verschiedenen
Orten angeordnet sein. Die in Fig. 1 dargestellten Grundmerkmale lassen
sich auf beinahe jedes Daten-Kompressionssystem anwenden, aber die Verwen
dung bzw. Ausführung dieser Merkmale ist unterschiedlich, wie noch erläutert
wird.
Fig. 2 zeigt ein Blockdiagramm eines Teils des Prozessors 11 nach Fig. 1.
Die gesamte Steuerschaltung wurde aus Einfachheitsgründen weggelassen. Der
Speicher 10 ist in Fig. 2 dargestellt, ebenso wie das Übertragungsmedium 12.
Ein Hash-Generator 21 ist an einen Ausgang des Eingangs
speichers 10 gelegt und er gibt Signale an einen temporären Speicher 22.
Ein Prüfschaltkreis 23 ist an Ausgänge des Speichers 10 und des Speichers 22
gelegt. Der Ausgang vom Schaltkreis 23 ist an einen Byte-Zähler 24 gelegt,
der einen Ausgang N abgibt, während der temporäre Speicher 22 einen Ausgang P
abgibt. Ein Zeiger-Zähler 25 (pointer counter) ist vorgesehen, der einen Ein
gang an den temporären Speicher 22 legt. Die Ausgänge P und N sind an einen
Kodierer 26 geschaltet, der Signale an das Transfermedium 12 gibt. An eine
Ausgangsschaltung 27 werden Bytes vom Eingangsspeicher 10 gelegt. Diese
werden ebenfalls nach geeigneter Kodierung an das Übertragungsmedium 12 ge
geben. Die Funktion des Zeiger-Zählers 25 besteht darin, das letzte Byte
anzuzeigen, das aus dem Eingangsspeicher 10 gelesen wird, und diese Anzeige
wird in dem temporären Speicher 22 in einer Adresse gespeichert, die durch
den Generator 21 in Gruppen von drei bestimmt wird, wobei jeweils ein Byte
zu einem Zeitpunkt ersetzt wird. Fig. 3 zeigt diese Arbeitsweise.
Um eine neue Phase im Arbeitszyklus zu beginnen, wird daher ein neues Byte
an den Generator 21 gelegt und der Zähler 25 gibt die Position dieses
Bytes im Eingangsspeicher an. Zusammen mit den beiden vorhergehenden
Bytes wird das neue Byte kodiert unter Anwendung eines geeigneten Hash-
Algorithmus. Der Ausgang des Generators 21 gibt eine Adresse im temporären
Speicher 22 an, die der besonderen Kombination der drei Bytes entspricht,
die an den Kodierer gelegt worden sind. Die Prüfschaltung 23 betrachtet
den Inhalt des temporären Speichers 22 an der angezeigten Adresse und
prüft, ob ein Speicherausgang an dieser Adresse vorliegt und sie speichert
den Ausgang des Zählers 25 in dieser Adresse im temporären Speicher 22.
Das vorbeschriebene Verfahren tritt wiederholt auf während des Betriebs
des Datenkompressors und es ist im Fließdiagramm von Fig. 4 durch das
Kästchen 100 dargestellt.
Unter Bezugnahme auf Fig. 4 wird zunächst angenommen, daß der Eingangs
speicher 10 von Fig. 2 Daten enthält, an denen eine Kompression ausgeführt
werden soll. Wenn die Arbeitsweise beginnt, besteht die erste Operation
darin, den temporären Speicher 22 zu löschen. Da die oben beschriebene
Operation das Vorhandensein von drei Daten-Bytes vom Eingangsspeicher 10
bedingt, ist es notwendig, den Zeiger bzw. die Anzeige, die im Zeiger-
Zähler 25 von Fig. 1 gespeichert ist, auf "2" einzustellen.
Wenn das nächste Daten-Byte vom Eingangsspeicher 10 ausgelesen wird, stehen
die ersten drei Bytes zur Verfügung für den Generator 21. Die Zerhacker-
Operation wird dann ausgeführt und die Inhalte des temporären Speichers 22
in der Adresse, die durch den Ausgang des Hash-Generators 21 definiert
ist, wird gelesen. Wenn weitere Daten-Bytes im Eingangsspeicher 10 sind,
d. h. wenn das Ende der zu verarbeitenden Daten noch nicht erreicht ist,
so wird jede Anzeige (pointer), die im temporären Speicher gefunden wird,
gehalten und der Wert des Zeiger-Zählers 25 wird in dieser Adresse gespeichert.
Wie in Fig. 4 gezeigt, wird das erste Daten-Byte im temporären Speicher
übertragen, wenn die Speicherstelle in diesem Speicher tatsächlich leer
war. Unter Übertragung wird hier das Verfahren der Weitergabe von Signalen
an das Übertragungsmedium verstanden, in welcher Form auch immer. Das
vierte Byte wird an den Hash-Generator gegeben, der dann den
Hash-Vorgang mit den Bytes 2, 3 und 4 ausführt und
das Verfahren wird wiederholt. Jedesmal wenn der temporäre Speicher
adressiert wird, wird der Wert oder die Größe des Zeiger-Zählers 25,
die sich auf das letzte Byte bezieht, das aus dem Eingangsspeicher
gelesen wird, an dieser Adresse gespeichert.
Der vorbeschriebene Zyklus wird fortgesetzt, bis ein Hash-Vorgang
zu einer Adresse im temporären Speicher führt, die eine Anzeige (pointer)
enthält. Diese wird ausgelesen und eine neue Anzeige an ihrem Platz ge
speichert. Das Erscheinen der gespeicherten Anzeige (pointer) zeigt an,
daß die Gruppe von drei Bytes, welche die Adresse erzeugt hat, vermutlich
identisch ist mit einer zuvor bearbeiteten Gruppe von drei Bytes, deren
letztes durch die Anzeige (pointer) angezeigt wird, die aus dem temporären
Speicher ausgelesen wird. Die Prüfschaltung 23 nach Fig. 2 vergleicht die
beiden Gruppen von drei Bytes, um festzustellen, ob sie tatsächlich
identisch sind. Dies wird durchgeführt, im Falle daß zwei Gruppen von drei
verschiedenen Bytes dieselbe Adresse im temporären Speicher erzeugt
haben, nach dem Hash-Vorgang.
Wie im Flußdiagramm von Fig. 4 gezeigt, werden, wenn tatsächlich die beiden
Gruppen von Bytes nicht identisch sind, das erste der Bytes in der Gruppe,
das eben verarbeitet worden ist, übertragen und das Verfahren fortgesetzt.
Wenn die beiden Gruppen von drei Bytes identisch sind, so wird der Byte-
Zähler 24 nach Fig. 2 auf "3" eingestellt, um die Zahl identischer Bytes
anzuzeigen, die bis jetzt gefunden worden sind. Die Prüfung geht dann
weiter, um festzustellen, ob irgendwelche nachfolgenden Bytes ebenfalls
identisch sind.
Die oben beschriebene Operation wird wiederholt mit dem nächsten Byte vom
Eingangsspeicher, da es notwendig ist, eine Anzeige (pointer) für jede
Gruppe von drei Bytes zu speichern im Falle diese erneut auftreten.
Jedoch irgendwelche Inhalte, die im temporären Speicher gefunden werden,
werden jetzt ignoriert. Statt dessen wird der nächste Byte vom Eingangs
speicher gegenüber dem Byte geprüft, der der Gruppe der drei vorherigen
gerade identifizierten Bytes nachfolgt. Wenn eine weitere Identität fest
gestellt wird, wird der Byte-Zähler 24 um eins erhöht und die Prüfung
fortgesetzt. Dies wird wiederholt, bis keine weitere Identität gefunden
wird, bis zu einem vorgegebenen Limit oder bis der Bedarf an Daten er
reicht ist.
Wenn keine weitere Identität festgestellt wird, wird der Inhalt des
Zeiger-Zählers, der das erste der vorher übertragenen identischen Bytes
anzeigt, sowie der des Byte-Zählers, der die Anzahl der sukzessiven
identischen Bytes anzeigt, geeignet kodiert und übertragen. Die Kodierung
ist erforderlich, damit das übertragene Signal nicht mit der Übertragung
eines normalen Bytes verwechselt wird, das durch die Ausgangsschaltung 27
übertragen wird.
Die Operation wird dann wiederholt und wenn mehr Bytes im Eingangs
speicher sind, wird mit der gesamten Operation erneut begonnen, wie im
Fließdiagramm angezeigt. Wenn sich keine weiteren Bytes mehr im Ein
gangsspeicher befinden, werden etwaige, noch nicht übertragene Bytes
übertragen und die Daten-Kompression ist damit vollendet.
Die Expansionsmethode ist beträchtlich einfacher und ein Blockdiagramm in
Fig. 5 zeigt dies, wobei wiederum das Übertragungsmedium 12 und der Aus
gangsspeicher 14 gezeigt sind.
Der Expansions-Prozessor 13 nach Fig. 1 hat einen Dekodierer 51, der die
Bytes, die von der Ausgangsschaltung 27 nach Fig. 2 übertragen werden, von
den Identifizierungssignalen trennt, welche die Ausgänge P und N des
Zeiger-Zählers 25 und des Byte-Zählers 24 entsprechend enthalten. Ferner
trennt der Dekodierer 51 die beiden Ziffern P und N. Der Byte-Ausgang vom
Dekodierer 51 wird direkt an den Ausgangsspeicher 14 gelegt, während die
Ausgänge P und N an eine Kopier-Schaltung 52 gelegt werden, die an den
Ausgangsspeicher 14 angeschlossen ist.
Die Arbeitsweise des Expansions-Prozessors ist im Fließdiagramm nach Fig. 6
dargestellt.
Der Dekodierer 51 empfängt Signale vom Übertragungsmedium 12. Jedes dieser
Signale wird geprüft, um zu sehen, ob es ein Byte ist oder ein Identifi
zierungssignal, das eine Folge von Bytes anzeigt, die schon früher
empfangen worden sind. Wenn das Signal als ein Byte identifiziert worden
ist, so wird dieses Byte in den Ausgangsspeicher 14 eingegeben. Dies wird
wiederholt mit jedem sukzessive empfangenen Signal, bis ein Signal identi
fiziert wird als kodierter Ausgang des Zeiger-Zählers und des Byte-Zählers
des Kompressions-Prozessors. Das Signal wird dann dekodiert, um die zwei
Zählerausgänge P und N zu erhalten. Die Ziffer P zeigt die Position der
ersten einer Sequenz von zu wiederholenden Bytes im Ausgangsspeicher an
und die Ziffer N zeigt die Anzahl identischer Bytes an. Diese Bytes werden
dann im Ausgangsspeicher kopiert und das Verfahren der Expansion fortge
setzt, bis die Daten im Ausgangsspeicher 14 vollständig wiederhergestellt
sind.
Aus der obigen Beschreibung ergibt sich, daß der Eingangsspeicher 10 und der
Ausgangsspeicher 14 nicht nur als ihre eigenen Bibliotheken wirken, sondern
es wird auch eine Folge von wiederholten Bytes durch ein einziges Signal
angezeigt. Frühere Systeme mußten jede kleine Gruppe separat berücksichtigen.
Der temporäre Speicher 22 braucht nur Anzeigen (pointers) zu speichern, d. h.
Ziffern oder Nummern, welche die Position eines Bytes im Eingangsspeicher
10 angeben, d. h. er muß nur einfache Zahlen speichern. Die Anzahl von
solchen Ziffern oder Zahlen, die im temporären Speicher gespeichert werden
kann, kann begrenzt werden, bis herab zu dem Punkt, wo die Leistungsfähig
keit oder der Wirkungsgrad der Kompression beginnt unakzeptabel zu werden.
In der Praxis tritt dieses Problem auf etwa zwischen der Hälfte und einem
Viertel der Größe des Eingangsspeichers. Ebenso können praktische Gründe
dafür sprechen, die Größe des Eingangs- und des Ausgangsspeichers zu be
grenzen, wobei diese als Puffer bei der Verarbeitung großer Dateien ver
wendet werden können. Wenn diese Puffer von vernünftiger Größe sind, ent
steht nur ein geringer Verlust an Leistungsfähigkeit, da Wiederholungen,
die einen Verlust darstellen könnten, nicht sehr häufig auftreten können.
Die Verwendung von Gruppen von drei Bytes zum Anlegen an den Generator 21
ist nicht wesentlich. Es wurde jedoch festgestellt, daß eine geringe oder
keine Kompression auftritt, wenn kleine Gruppen benutzt werden, während
die Verwendung großer Gruppen die Wahrscheinlichkeit sich wiederholender
Gruppen reduziert. Eine Anzahl von drei erscheint somit die geeignetste
Anzahl.
Die Form des Hash-Algorithmus wurde nicht diskutiert.
Diese Techniken sind bekannt und stehen in unterschiedlicher Form zur Ver
fügung. Ferner wurde nichts gesagt über die Form der Signale, die an das
Übertragungsmedium gegeben oder von diesem empfangen werden. Es wurde je
doch bereits erläutert, daß Signale, welche nicht komprimierte Bytes dar
stellen, unterschieden werden müssen von Signalen, die die Identität
einer Gruppe von Bytes mit einer zuvor verarbeiteten Gruppe angeben.
Der einfachste Weg einer Anzeige dieser Unterscheidung besteht darin,
das erste Bit des übertragenen Codes auf "1" zu setzen für eine Form
eines Signals und auf "0" für die andere. Andere Unterscheidungsmöglich
keiten können verwendet werden und verschiedene bekannte Mittel können
eingesetzt werden, um die Ausgänge P und N in der wirksamsten Weise zu
kodieren.
Die Erfindung hat sich als sehr leistungsfähig gezeigt beim Komprimieren
von Dateien, wie sie typisch für Computerspeicher sind, nämlich einer
Mischung aus Text-Dateien, Programm-Quellen-Dateien in verschiedenen
Sprachen, Programm-Objekt-Dateien und Daten-Gruppen.
Außer der Komprimierung und Wiederausdehnung der Daten, wie oben beschrieben,
ist es möglich, die komprimierten Daten aus Sicherheitsgründen zu ver
schlüsseln. Ein Verschlüsselungsgerät jeder geeigneten Form kann einge
setzt werden vor dem Eingang zu dem Übertragungsmedium und ein entsprechendes
Entschlüsselungsgerät kann nach dem Ausgang aus dem Übertragungsmedium
eingesetzt werden. Auf diese Weise können komprimierte Daten bei der
Übertragung gesichert werden, wobei zweckmäßigerweise eine Verschlüsselung
nach der Komprimierung der Daten erfolgen sollte.
Claims (9)
1. Vorrichtung zum Komprimieren von Daten mit einem Eingangsspeicher zum
Empfang und zum Speichern einer Mehrzahl von Bytes aus unkomprimierten
Daten einer äußeren Quelle, gekennzeichnet durch Datenverarbeitungs
einrichtungen zum Verarbeiten sukzessiver Daten-Bytes vom Eingangs
speicher, mit einem Schaltkreis zum Prüfen, ob eine Sequenz auf
einanderfolgender Bytes, die zu verarbeiten ist, identisch ist mit
einer Sequenz von Bytes, die bereits verarbeitet worden ist, Aus
gangsschaltungen, um an ein Übertragungsmedium jedes Daten-Byte zu
legen, das keinen Teil einer solchen identischen Sequenz bildet,
einer Kodierschaltung, die auf die Identifizierung einer solchen
Sequenz anspricht, um an die Übertragungseinrichtung ein Identifi
zierungssignal zu legen, welches den Ort des vorherigen Auftretens
der Sequenz von Bytes und die Anzahl der Bytes, die in der Sequenz
enthalten ist, im Eingangsspeicher identifiziert.
2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß
die Schaltung einen Hash-Generator aufweist, der auf das
Anlegen einer vorgegebenen Anzahl von Bytes in Folge an
spricht, um einen diesen Bytes entsprechenden Hash-Code
abzuleiten, einen temporären Speicher, in welchem dieser
Hash-Code die Adresse einer Speicherstelle darstellt, ferner
durch einen Zeiger-Zähler, um in den temporären Speicher
an dieser Adresse eine Zahl zu speichern, die die Position
von einem der vorgegebenen Anzahl von Bytes im Eingangsspeicher
anzeigt.
3. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die Schaltung
einen Prüfkreis umfaßt, um eine Identität zwischen jedem dieser vorge
gebenen Anzahl von Bytes in der Sequenz und jedem einer ähnlichen
Sequenz von Bytes zu prüfen, die im Eingangsspeicher an einer Stelle
enthalten sind, die durch eine Ziffer (pointer) definiert ist, die
aus dem temporären Speicher an dieser Adresse ausgelesen wird, sowie um
zu prüfen, ob eine Identität vorhanden ist zwischen aufeinanderfolgenden
Bytes in jeder Sequenz von Bytes, und mit einem Byte-Zähler, um die An
zahl von identischen Bytes in jeder Sequenz zu zählen.
4. Vorrichtung nach Anspruch 3, dadurch gekennzeichnet, daß der Kodierer
tätig wird, wenn eine solche Identität existiert, um die Ziffer, die
aus dem temporären Speicher ausgelesen wird, und den Ausgang des Byte-
Zählers zu kodieren.
5. Vorrichtung nach einem der Ansprüche 1-3, gekennzeichnet durch eine
Mehrzahl von Eingangsspeichern, von denen jeder nur einen Teil der
Daten der äußeren Datenquelle enthält.
6. Vorrichtung nach einem der Ansprüche 1-5, gekennzeichnet durch Daten
empfangseinrichtungen zum Empfang komprimierter Daten von dem Über
tragungsmedium, einem Ausgangsspeicher zum Speichern von nicht-kompri
mierten Daten-Bytes, die von der Empfangseinrichtung empfangen worden
sind, einer Kopierschaltung, die auf ein Identifizierungssignal an
spricht und an den Ausgangsspeicher die Sequenz von Bytes legt, die
bereits im Ausgangsspeicher enthalten ist und durch dieses Identi
fizierungssignal identifiziert wird, wobei die Daten, die im Ausgangs
speicher enthalten sind, ein exakter Wiederaufbau der Daten sind, die
zu einem früheren Zeitpunkt an den Eingangsspeicher gelegt worden sind.
7. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet, daß die Daten
empfangsschaltung einen Dekodierer umfaßt, um nicht-komprimierte
Daten-Bytes von Identifizierungssignalen zu trennen.
8. Vorrichtung nach einem der vorhergehenden Ansprüche, dadurch gekenn
zeichnet, daß das Übertragungsmedium einen Verbindungskanal zwischen
zwei im Abstand liegenden Orten umfaßt.
9. Vorrichtung nach einem der Ansprüche 1-7, dadurch gekennzeichnet,
daß das Übertragungsmedium einen Datenspeicher umfaßt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB08505790A GB2172127B (en) | 1985-03-06 | 1985-03-06 | Data compression system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3606869A1 DE3606869A1 (de) | 1986-09-11 |
DE3606869C2 true DE3606869C2 (de) | 1994-12-01 |
Family
ID=10575531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3606869A Expired - Lifetime DE3606869C2 (de) | 1985-03-06 | 1986-03-03 | Vorrichtung zur Datenkompression |
Country Status (4)
Country | Link |
---|---|
US (1) | US4701745A (de) |
BE (1) | BE904359A (de) |
DE (1) | DE3606869C2 (de) |
GB (1) | GB2172127B (de) |
Families Citing this family (147)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE35861E (en) * | 1986-03-12 | 1998-07-28 | Advanced Software, Inc. | Apparatus and method for comparing data groups |
US4807182A (en) * | 1986-03-12 | 1989-02-21 | Advanced Software, Inc. | Apparatus and method for comparing data groups |
EP0326560A1 (de) * | 1986-09-09 | 1989-08-09 | Inventronic Data Systems Ab | Datenkomprimierungsvorrichtung |
JPH0815262B2 (ja) * | 1986-12-12 | 1996-02-14 | 株式会社日立製作所 | データ圧縮復元処理装置 |
JPH0815263B2 (ja) * | 1986-12-12 | 1996-02-14 | 株式会社日立製作所 | データ圧縮復元方法 |
JPS63170063A (ja) * | 1987-01-07 | 1988-07-13 | Brother Ind Ltd | 印字装置 |
US7712669B2 (en) * | 1988-01-14 | 2010-05-11 | Broadcom Corporation | Hand-held data capture system with interchangeable modules |
US5146221A (en) * | 1989-01-13 | 1992-09-08 | Stac, Inc. | Data compression apparatus and method |
US5003307A (en) * | 1989-01-13 | 1991-03-26 | Stac, Inc. | Data compression apparatus with shift register search means |
US5126739A (en) * | 1989-01-13 | 1992-06-30 | Stac Electronics | Data compression apparatus and method |
US5532694A (en) * | 1989-01-13 | 1996-07-02 | Stac Electronics, Inc. | Data compression apparatus and method using matching string searching and Huffman encoding |
US5016009A (en) * | 1989-01-13 | 1991-05-14 | Stac, Inc. | Data compression apparatus and method |
EP0394976B1 (de) * | 1989-04-27 | 1995-11-29 | Matsushita Electric Industrial Co., Ltd. | Daten-Kompandierungsverfahren und Daten-Kompressor/Dehner |
US5179711A (en) * | 1989-12-26 | 1993-01-12 | International Business Machines Corporation | Minimum identical consecutive run length data units compression method by searching consecutive data pair comparison results stored in a string |
US5010344A (en) * | 1989-12-28 | 1991-04-23 | International Business Machines Corporation | Method of decoding compressed data |
US5010345A (en) * | 1989-12-28 | 1991-04-23 | International Business Machines Corporation | Data compression method |
US5184126A (en) * | 1989-12-28 | 1993-02-02 | International Business Machines Corporation | Method of decompressing compressed data |
US5001478A (en) * | 1989-12-28 | 1991-03-19 | International Business Machines Corporation | Method of encoding compressed data |
DE4190102B4 (de) * | 1990-01-18 | 2005-04-14 | E-MU Systems, Inc., Scotts Valley | Datenverdichtung von Tondaten |
US5049880A (en) * | 1990-04-02 | 1991-09-17 | Tektronix, Inc. | Bit-wise run-length encoding for data compression |
US5410671A (en) * | 1990-05-01 | 1995-04-25 | Cyrix Corporation | Data compression/decompression processor |
US5049881A (en) * | 1990-06-18 | 1991-09-17 | Intersecting Concepts, Inc. | Apparatus and method for very high data rate-compression incorporating lossless data compression and expansion utilizing a hashing technique |
EP0470798B1 (de) * | 1990-08-06 | 1997-10-29 | Fujitsu Limited | Wörterbuch-Suchsystem |
US5313604A (en) * | 1990-11-13 | 1994-05-17 | Hewlett-Packard Company | Method for locating compressed data in a computed memory back up device including steps of refining estimater location |
US5237460A (en) * | 1990-12-14 | 1993-08-17 | Ceram, Inc. | Storage of compressed data on random access storage devices |
US5490260A (en) * | 1990-12-14 | 1996-02-06 | Ceram, Inc. | Solid-state RAM data storage for virtual memory computer using fixed-sized swap pages with selective compressed/uncompressed data store according to each data size |
CA2077271C (en) * | 1991-12-13 | 1998-07-28 | David J. Craft | Method and apparatus for compressing data |
US5396228A (en) * | 1992-01-16 | 1995-03-07 | Mobile Telecommunications Technologies | Methods and apparatus for compressing and decompressing paging data |
EP0553731B1 (de) * | 1992-01-23 | 1999-04-14 | Mitsubishi Denki Kabushiki Kaisha | Speicherprogrammierbare Steuerung |
US5371499A (en) * | 1992-02-28 | 1994-12-06 | Intersecting Concepts, Inc. | Data compression using hashing |
US5406278A (en) * | 1992-02-28 | 1995-04-11 | Intersecting Concepts, Inc. | Method and apparatus for data compression having an improved matching algorithm which utilizes a parallel hashing technique |
US5353024A (en) * | 1992-05-01 | 1994-10-04 | Intersecting Concepts, Inc. | Method for data compression having an improved encoding algorithm which utilizes a token stacking technique |
US5406279A (en) * | 1992-09-02 | 1995-04-11 | Cirrus Logic, Inc. | General purpose, hash-based technique for single-pass lossless data compression |
US5323155A (en) * | 1992-12-04 | 1994-06-21 | International Business Machines Corporation | Semi-static data compression/expansion method |
US5455577A (en) * | 1993-03-12 | 1995-10-03 | Microsoft Corporation | Method and system for data compression |
US5894581A (en) * | 1993-04-15 | 1999-04-13 | Bull Hn Information Systems Inc. | Method for reducing control store space in a VLSI central processor |
US5960105A (en) * | 1993-05-03 | 1999-09-28 | Kansas State University Research Foundation | Measurement of intramuscular fat in cattle |
US5521597A (en) * | 1993-08-02 | 1996-05-28 | Mircosoft Corporation | Data compression for network transport |
US5442351A (en) * | 1993-09-20 | 1995-08-15 | Harley Street Software Ltd. | Data compression method and apparatus for waveforms having recurring features |
US5532122A (en) * | 1993-10-12 | 1996-07-02 | Biotraces, Inc. | Quantitation of gamma and x-ray emitting isotopes |
DE4342975A1 (de) * | 1993-12-16 | 1995-06-22 | Wuerth Adolf Gmbh & Co Kg | Verfahren und Vorrichtung zur Übertragung von Diktaten |
JP2715871B2 (ja) * | 1993-12-20 | 1998-02-18 | 日本電気株式会社 | 可変長符号化方法 |
US5602764A (en) * | 1993-12-22 | 1997-02-11 | Storage Technology Corporation | Comparing prioritizing memory for string searching in a data compression system |
US5563595A (en) * | 1993-12-23 | 1996-10-08 | International Business Machines Corporation | Method and apparatus for compressing data |
EP0739514B1 (de) * | 1994-01-03 | 2001-08-08 | Norton-Lambert Corp. | Datenübertragungsverfahren und -vorrichtung, die hash-zahlen verwenden |
US6076084A (en) * | 1994-01-03 | 2000-06-13 | Norton-Lambert Corp. | File transfer method and apparatus utilizing delimiters |
US5504816A (en) * | 1994-02-02 | 1996-04-02 | Gi Corporation | Method and apparatus for controlling access to digital signals |
US5889818A (en) * | 1994-06-24 | 1999-03-30 | Norand Corporation | Adaptive display refresh and data compression in a radio frequency environment |
US5572206A (en) * | 1994-07-06 | 1996-11-05 | Microsoft Corporation | Data compression method and system |
US5617517A (en) * | 1994-09-20 | 1997-04-01 | Seiko Epson Corporation | Two-dimensional method and system for compressing bi-level images |
US5758257A (en) | 1994-11-29 | 1998-05-26 | Herz; Frederick | System and method for scheduling broadcast of and access to video programs and other data using customer profiles |
US6460036B1 (en) | 1994-11-29 | 2002-10-01 | Pinpoint Incorporated | System and method for providing customized electronic newspapers and target advertisements |
US5526363A (en) * | 1995-05-16 | 1996-06-11 | Telco Systems, Inc. | Multicontext compression system with shared data structures |
US5621403A (en) * | 1995-06-20 | 1997-04-15 | Programmed Logic Corporation | Data compression system with expanding window |
JP3273119B2 (ja) * | 1995-09-29 | 2002-04-08 | 京セラ株式会社 | データ圧縮・伸長装置 |
US6081623A (en) * | 1995-10-11 | 2000-06-27 | Citrix Systems, Inc. | Method for lossless bandwidth compression of a series of glyphs |
US5729223A (en) * | 1996-03-20 | 1998-03-17 | Motorola Inc. | Method and apparatus for data compression and restoration |
US5768597A (en) * | 1996-05-02 | 1998-06-16 | Starfish Software, Inc. | System and methods for improved installation of compressed software programs |
US6023558A (en) * | 1996-06-27 | 2000-02-08 | Apple Computer, Inc. | Graphics compression for an emulation system |
US5951623A (en) | 1996-08-06 | 1999-09-14 | Reynar; Jeffrey C. | Lempel- Ziv data compression technique utilizing a dictionary pre-filled with frequent letter combinations, words and/or phrases |
US5760716A (en) * | 1996-08-21 | 1998-06-02 | Autodesk, Inc. | Vector data compression |
US5850565A (en) * | 1996-08-26 | 1998-12-15 | Novell, Inc. | Data compression method and apparatus |
JP3540109B2 (ja) * | 1996-12-24 | 2004-07-07 | 富士通株式会社 | データ圧縮方法及び装置 |
US5798718A (en) * | 1997-05-12 | 1998-08-25 | Lexmark International, Inc. | Sliding window data compression method and apparatus |
US5999936A (en) * | 1997-06-02 | 1999-12-07 | Compaq Computer Corporation | Method and apparatus for compressing and decompressing sequential records in a computer system |
US6121903A (en) * | 1998-01-27 | 2000-09-19 | Infit Communications Ltd. | On-the-fly data re-compression |
US5945933A (en) * | 1998-01-27 | 1999-08-31 | Infit Ltd. | Adaptive packet compression apparatus and method |
US6070179A (en) * | 1998-02-20 | 2000-05-30 | International Business Machines Corporation | Method and system for compressing unicode data within a data processing system |
US6075470A (en) * | 1998-02-26 | 2000-06-13 | Research In Motion Limited | Block-wise adaptive statistical data compressor |
US6127953A (en) * | 1998-03-23 | 2000-10-03 | Siemens Information And Communication Networks, Inc. | Apparatus and method for compressing data containing repetitive patterns |
US6212301B1 (en) | 1998-06-25 | 2001-04-03 | Accusoft Corporation | Systems and methods for digital image compression |
US6275588B1 (en) | 1998-11-12 | 2001-08-14 | I-Data International A/S | Apparatus and method for performing and controlling encryption/decryption for data to be transmitted on local area network |
US6624761B2 (en) | 1998-12-11 | 2003-09-23 | Realtime Data, Llc | Content independent data compression method and system |
US6601104B1 (en) | 1999-03-11 | 2003-07-29 | Realtime Data Llc | System and methods for accelerated data storage and retrieval |
US6604158B1 (en) | 1999-03-11 | 2003-08-05 | Realtime Data, Llc | System and methods for accelerated data storage and retrieval |
US7630986B1 (en) | 1999-10-27 | 2009-12-08 | Pinpoint, Incorporated | Secure data interchange |
US6522268B2 (en) | 2000-01-05 | 2003-02-18 | Realnetworks, Inc. | Systems and methods for multiple-file data compression |
US6748457B2 (en) | 2000-02-03 | 2004-06-08 | Realtime Data, Llc | Data storewidth accelerator |
US6925428B1 (en) | 2000-05-19 | 2005-08-02 | The United States Of America As Represented By The Secretary Of The Navy | Multifunctional, multi-input, missile signal measurement apparatus |
US20020029285A1 (en) | 2000-05-26 | 2002-03-07 | Henry Collins | Adapting graphical data, processing activity to changing network conditions |
CN1446404A (zh) | 2000-08-15 | 2003-10-01 | 西加特技术有限责任公司 | 操作码的双模数据压缩 |
US9143546B2 (en) | 2000-10-03 | 2015-09-22 | Realtime Data Llc | System and method for data feed acceleration and encryption |
US8692695B2 (en) | 2000-10-03 | 2014-04-08 | Realtime Data, Llc | Methods for encoding and decoding data |
US7417568B2 (en) | 2000-10-03 | 2008-08-26 | Realtime Data Llc | System and method for data feed acceleration and encryption |
US6515598B2 (en) | 2000-12-22 | 2003-02-04 | Cilys 53, Inc. | System and method for compressing and decompressing data in real time |
US6834323B2 (en) | 2000-12-26 | 2004-12-21 | Intel Corporation | Method and apparatus including special programming mode circuitry which disables internal program verification operations by a memory |
US6732306B2 (en) | 2000-12-26 | 2004-05-04 | Intel Corporation | Special programming mode with hashing |
US7007131B2 (en) * | 2000-12-27 | 2006-02-28 | Intel Corporation | Method and apparatus including special programming mode circuitry which disables internal program verification operations by a memory |
US7386046B2 (en) | 2001-02-13 | 2008-06-10 | Realtime Data Llc | Bandwidth sensitive data compression and decompression |
GB2367986B (en) * | 2001-03-16 | 2002-10-09 | Ericsson Telefon Ab L M | Address mechanisms in internet protocol |
JP3913004B2 (ja) | 2001-05-28 | 2007-05-09 | キヤノン株式会社 | データ圧縮方法及び装置及びコンピュータプログラム及び記憶媒体 |
US7382878B2 (en) * | 2001-06-22 | 2008-06-03 | Uponus Technologies, Llc | System and method for data encryption |
US8671213B2 (en) | 2002-03-14 | 2014-03-11 | Citrix Systems, Inc. | Methods and apparatus for generating graphical and media displays at a client |
US7376695B2 (en) | 2002-03-14 | 2008-05-20 | Citrix Systems, Inc. | Method and system for generating a graphical display for a remote terminal session |
US6501395B1 (en) | 2002-04-10 | 2002-12-31 | Hewlett-Packard Company | System, method and computer readable medium for compressing a data sequence |
US6624762B1 (en) | 2002-04-11 | 2003-09-23 | Unisys Corporation | Hardware-based, LZW data compression co-processor |
US7154848B2 (en) * | 2002-05-29 | 2006-12-26 | General Dynamics Corporation | Methods and apparatus for generating a multiplexed communication signal |
US7280496B2 (en) * | 2002-08-02 | 2007-10-09 | General Dynamics Corporation | Methods and apparatus for coupling a satellite to an earth terminal |
US7280497B2 (en) * | 2002-08-02 | 2007-10-09 | General Dynamics Corporation | Methods and apparatus for coupling an earth terminal to a satellite |
US6714145B1 (en) | 2002-09-26 | 2004-03-30 | Richard Marques | Method and apparatus for integer-based encoding and decoding of bits |
US7542471B2 (en) * | 2002-10-30 | 2009-06-02 | Citrix Systems, Inc. | Method of determining path maximum transmission unit |
US8270423B2 (en) | 2003-07-29 | 2012-09-18 | Citrix Systems, Inc. | Systems and methods of using packet boundaries for reduction in timeout prevention |
US8233392B2 (en) | 2003-07-29 | 2012-07-31 | Citrix Systems, Inc. | Transaction boundary detection for reduction in timeout penalties |
US7630305B2 (en) * | 2003-07-29 | 2009-12-08 | Orbital Data Corporation | TCP selective acknowledgements for communicating delivered and missed data packets |
US7616638B2 (en) | 2003-07-29 | 2009-11-10 | Orbital Data Corporation | Wavefront detection and disambiguation of acknowledgments |
US6819272B2 (en) * | 2002-11-06 | 2004-11-16 | Hewlett-Packard Development Company, L.P. | System, method and computer readable medium for compressing a data sequence for partial decompressing |
US8437284B2 (en) | 2003-07-29 | 2013-05-07 | Citrix Systems, Inc. | Systems and methods for additional retransmissions of dropped packets |
US7698453B2 (en) * | 2003-07-29 | 2010-04-13 | Oribital Data Corporation | Early generation of acknowledgements for flow control |
US8432800B2 (en) | 2003-07-29 | 2013-04-30 | Citrix Systems, Inc. | Systems and methods for stochastic-based quality of service |
US8238241B2 (en) | 2003-07-29 | 2012-08-07 | Citrix Systems, Inc. | Automatic detection and window virtualization for flow control |
US7656799B2 (en) | 2003-07-29 | 2010-02-02 | Citrix Systems, Inc. | Flow control system architecture |
US6879270B1 (en) | 2003-08-20 | 2005-04-12 | Hewlett-Packard Development Company, L.P. | Data compression in multiprocessor computers |
US9614772B1 (en) | 2003-10-20 | 2017-04-04 | F5 Networks, Inc. | System and method for directing network traffic in tunneling applications |
US7079051B2 (en) * | 2004-03-18 | 2006-07-18 | James Andrew Storer | In-place differential compression |
US8024483B1 (en) | 2004-10-01 | 2011-09-20 | F5 Networks, Inc. | Selective compression for network connections |
US8423673B2 (en) | 2005-03-14 | 2013-04-16 | Citrix Systems, Inc. | Method and apparatus for updating a graphical display in a distributed processing environment using compression |
US8171169B2 (en) | 2005-03-14 | 2012-05-01 | Citrix Systems, Inc. | Method and apparatus for updating a graphical display in a distributed processing environment |
US7215259B2 (en) * | 2005-06-03 | 2007-05-08 | Quantum Corporation | Data compression with selective encoding of short matches |
US7783781B1 (en) | 2005-08-05 | 2010-08-24 | F5 Networks, Inc. | Adaptive compression |
US8533308B1 (en) | 2005-08-12 | 2013-09-10 | F5 Networks, Inc. | Network traffic management through protocol-configurable transaction processing |
US8275909B1 (en) | 2005-12-07 | 2012-09-25 | F5 Networks, Inc. | Adaptive compression |
US7882084B1 (en) | 2005-12-30 | 2011-02-01 | F5 Networks, Inc. | Compression of data transmitted over a network |
US7873065B1 (en) | 2006-02-01 | 2011-01-18 | F5 Networks, Inc. | Selectively enabling network packet concatenation based on metrics |
US8565088B1 (en) | 2006-02-01 | 2013-10-22 | F5 Networks, Inc. | Selectively enabling packet concatenation based on a transaction boundary |
US20080001790A1 (en) * | 2006-06-30 | 2008-01-03 | Kyle Kirby | Method and system for enhancing data compression |
US20080123677A1 (en) * | 2006-08-31 | 2008-05-29 | Honeywell International Inc. | System management bus port switch |
US9356824B1 (en) | 2006-09-29 | 2016-05-31 | F5 Networks, Inc. | Transparently cached network resources |
US20080084886A1 (en) * | 2006-10-09 | 2008-04-10 | Honeywell International Inc. | System management bus port router |
US8417833B1 (en) | 2006-11-29 | 2013-04-09 | F5 Networks, Inc. | Metacodec for optimizing network data compression based on comparison of write and read rates |
US9106606B1 (en) | 2007-02-05 | 2015-08-11 | F5 Networks, Inc. | Method, intermediate device and computer program code for maintaining persistency |
US8103783B2 (en) | 2007-03-12 | 2012-01-24 | Citrix Systems, Inc. | Systems and methods of providing security and reliability to proxy caches |
US8701010B2 (en) | 2007-03-12 | 2014-04-15 | Citrix Systems, Inc. | Systems and methods of using the refresh button to determine freshness policy |
US7783757B2 (en) | 2007-03-12 | 2010-08-24 | Citrix Systems, Inc. | Systems and methods of revalidating cached objects in parallel with request for object |
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 |
US8037126B2 (en) | 2007-03-12 | 2011-10-11 | Citrix Systems, Inc. | Systems and methods of dynamically checking freshness of cached objects based on link status |
US7584294B2 (en) | 2007-03-12 | 2009-09-01 | Citrix Systems, Inc. | Systems and methods for prefetching objects for caching using QOS |
US7720936B2 (en) | 2007-03-12 | 2010-05-18 | Citrix Systems, Inc. | Systems and methods of freshening and prefreshening a DNS cache |
US8336762B1 (en) | 2008-11-17 | 2012-12-25 | Greenwise Bankcard LLC | Payment transaction processing |
US10943030B2 (en) | 2008-12-15 | 2021-03-09 | Ibailbonding.Com | Securable independent electronic document |
US8179291B2 (en) * | 2009-05-04 | 2012-05-15 | International Business Machines Corporation | Method and system for compression of logical data objects for storage |
US8355585B2 (en) * | 2009-05-12 | 2013-01-15 | Red Hat Israel, Ltd. | Data compression of images using a shared dictionary |
US8838544B2 (en) * | 2009-09-23 | 2014-09-16 | International Business Machines Corporation | Fast history based compression in a pipelined architecture |
US8779950B2 (en) | 2012-03-05 | 2014-07-15 | Dcba, Llc | Command encoded data compression |
US10708392B2 (en) | 2013-12-07 | 2020-07-07 | Appex Networks Holding Limited | System and method for compression and decompression of data containing redundancies |
US9543980B2 (en) | 2014-10-10 | 2017-01-10 | Massachusettes Institute Of Technology | Systems and methods for model-free compression and model-based decompression |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1071332A (en) * | 1974-05-01 | 1980-02-05 | Toshio Kashio | Data processing system |
NL7412053A (nl) * | 1974-09-11 | 1976-03-15 | Philips Nv | Telecommunicatiecentrale met tijdverdeling. |
US3976844A (en) * | 1975-04-04 | 1976-08-24 | Honeywell Information Systems, Inc. | Data communication system for transmitting data in compressed form |
DE2625527A1 (de) * | 1976-06-05 | 1978-03-30 | Licentia Gmbh | Verfahren zur kompression redundanter digitaler quellsignale |
US4054951A (en) * | 1976-06-30 | 1977-10-18 | International Business Machines Corporation | Data expansion apparatus |
DE3118676A1 (de) * | 1981-05-12 | 1982-12-02 | Heinz Karl Eckhart Dr Jur | Verfahren zur kompression redundanter folgen serieller datenelemente |
US4494150A (en) * | 1982-07-13 | 1985-01-15 | International Business Machines Corporation | Word autocorrelation redundancy match facsimile compression for text processing systems |
-
1985
- 1985-03-06 GB GB08505790A patent/GB2172127B/en not_active Expired
-
1986
- 1986-03-03 DE DE3606869A patent/DE3606869C2/de not_active Expired - Lifetime
- 1986-03-03 US US06/835,793 patent/US4701745A/en not_active Expired - Lifetime
- 1986-03-06 BE BE0/216375A patent/BE904359A/fr not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
DE3606869A1 (de) | 1986-09-11 |
GB8505790D0 (en) | 1985-04-11 |
BE904359A (fr) | 1986-06-30 |
GB2172127A (en) | 1986-09-10 |
US4701745A (en) | 1987-10-20 |
GB2172127B (en) | 1988-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3606869C2 (de) | Vorrichtung zur Datenkompression | |
DE69534292T2 (de) | Verfahren und System zur Dateifernübertragung | |
DE2139731C2 (de) | Anordnung zur Code-Umsetzung | |
DE2519381C3 (de) | ||
DE2264090C3 (de) | Datenverdichtung | |
EP0230437B1 (de) | Verfahren zum komprimieren und dekomprimieren mehrerer strukturverwandter datenfolgen sowie einrichtungen zur durchführung des verfahrens | |
DE69829088T2 (de) | Verfahren und Vorrichtung zur Übertragung von Datenrahmen | |
DE69834695T2 (de) | Verfahren und Vorrichtung zur Datenkompression | |
DE2801611A1 (de) | Verfahren und anordnung zum adressieren und speichern von daten in speichern mit wahlfreiem zugriff | |
DE2128835A1 (de) | Schaltungsanordnung zur Steuerung des Zugriffs bei bewegten Oberflachen speichern | |
DE60009502T2 (de) | Lzw datenkomprimierung/dekomprimierungsgerät und - verfahren mit eingebetteter lauflängenkodierung/dekodierung | |
DE1499225B2 (de) | Schaltungsanordnung zur reduzierung von datenwortlaengen | |
DE2547597C2 (de) | Verfahren und Vorrichtung zur Kompression und Expansion von Digitalcodewörtern | |
DE2807500A1 (de) | Digitale logikschaltung zum vergleichen von geordneten zeichenfolgen variabler laenge | |
DE60302203T2 (de) | Anordnung zur Komprimierung einer Datentabelle | |
DE19625157A1 (de) | Datenkompressions- und -expansionsverfahren | |
DE2000340A1 (de) | Verfahren und Vorrichtung zum Suchen verdichteter gespeicherter Informationen | |
DE2458285A1 (de) | Ueberwachungseinrichtung | |
DE3742142C2 (de) | ||
DE1964570B2 (de) | Verfahren zum wiederauffinden gespeicherter informationen | |
DE3113189C2 (de) | Vorrichtung zur Umsetzung von digitalen Zeichencodes, die von einem Datenverarbeitungssystem empfangen oder geliefert werden | |
EP1186175B1 (de) | Verfahren und vorrichtung zur komprimierung und dekomprimierung von daten | |
DE60003418T2 (de) | Vorrichtung zur kompression und dekompression von bitketten | |
DE2144113C3 (de) | Verfahren zur Codeumsetzung und Assozjathr-Speichereinrlchtung zur Durchführung dieses Verfahrens | |
DE102018105847A1 (de) | Datenwiederherstellung und Datenregeneration mittels Paritätscode |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8127 | New person/name/address of the applicant |
Owner name: STAC ELECTRONICS, INC., CARLSBAD, CALIF., US |
|
8128 | New person/name/address of the agent |
Representative=s name: GRAMM, W., PROF.DIPL.-ING. LINS, E., DIPL.-PHYS. D |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition |