DE69421966T2 - Verfahren und System zum Suchen komprimierter Daten - Google Patents
Verfahren und System zum Suchen komprimierter DatenInfo
- Publication number
- DE69421966T2 DE69421966T2 DE69421966T DE69421966T DE69421966T2 DE 69421966 T2 DE69421966 T2 DE 69421966T2 DE 69421966 T DE69421966 T DE 69421966T DE 69421966 T DE69421966 T DE 69421966T DE 69421966 T2 DE69421966 T2 DE 69421966T2
- Authority
- DE
- Germany
- Prior art keywords
- compressed
- code
- document
- length
- query request
- 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
- 238000000034 method Methods 0.000 title claims description 10
- 230000004044 response Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 11
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
- Diese Erfindung betrifft allgemein ein Computer-Verfahren und -System zum Suchen von Daten in einem Computer.
- Das elektronische Sammeln und Speichern von Informationen stellt in vielen Umfeldern Probleme dar. Wenn beispielsweise Daten von einem Informationsdienst zu einem fernliegenden Computer heruntergeladen werden, werden große Datenmengen in kurzer Zeit übertragen. Der fernliegende Computer speichert typischerweise diese Daten in einem Computerspeicher zur späteren Verarbeitung. Um die von dem Informationsdienst übertragene Datenmenge, die von dem fernliegenden Computer gespeicherte Datenmenge und die zur Übertragung der Daten erforderliche Zeit zu verringern, komprimiert der Informationsdienst typischerweise die Daten, bevor die Daten zu dem fernliegenden Computer übertragen werden.
- Komprimierungsverfahren fallen allgemein in zwei Gruppen: Komprimierungsverfahren mit fester Länge und Komprimierungsverfahren mit variabler Länge. Die Komprimierungsverfahren mit fester Länge stellen jedes Symbol durch die gleiche Anzahl Bits dar. Beispielsweise ist der Typ LZ 78 des Ziv-Lempel Codes ein Komprimierungsverfahren mit fester Länge. Komprimierungsverfahren mit variabler Länge stellen jedes Symbol durch eine sich ändernde Anzahl Bits dar. Komprimierungsverfahren mit variabler Länge ordnen typischerweise kürzere Code den häufiger verwendeten Symbolen zu. Beispielsweise ist der gut bekannte Morse-Code ein Komprimierungsverfahren mit veränderlicher Länge.
- Bestehende Systeme wandeln den komprimierten Code, der die Daten darstellt, in ihre unkomprimierte Form zurück und verarbeiten dann die unkomprimierten Daten, wenn es erwünscht ist, die Daten zu durchsuchen. Die Suche durch nichtkomprimierte Daten ist aus "The Art of Computer Programming - Volume 3/Sorting and Searching" von Donald E. Knuth (ISBN 0-201-03803-X) bekannt. Dies verlangt einen zeitaufwendigen Schritt zur Entkomprimierung.
- Es wäre wünschenswert, ein Suchverfahren zur Verfügung zu haben, das wirksameres Suchen von Daten ermöglicht, die komprimiert worden sind.
- Die vorliegende Erfindung schafft ein Verfahren und ein System zum Durchsuchen eines komprimierten Dokuments, wie es in den Ansprüchen 1 und 2 definiert ist.
- Fig. 1 ist ein Blockdiagramm eines Systems, das die vorliegende Erfindung zum Suchen von Zeichenreihen in einem komprimierten Dokument verkörpert, wobei die Zeichenreihen in einem komprimierten Code gespeichert sind.
- Fig. 2 ist ein Blockdiagramm eines Probendokuments.
- Fig. 3 ist ein Blockdiagramm der nichtkomprimierten Code des Probendokuments.
- Fig. 4 ist ein Blockdiagramm einer Suchanforderung, die auf eine Anzeigeeinrichtung für das System der Fig. 1 angezeigt ist.
- Fig. 5 ist ein Blockdiagramm der Zeichenreihe, die von der Suchanforderung einem Parser-Vorgang unterzogen wurde.
- Fig. 6 ist ein Blockdiagramm eines komprimierten Codes variabler Länge für das System der Fig. 1.
- Fig. 7A ist ein Blockdiagramm eines Wörterbuchs mit komprimierten Coden variabler Länge für einen Host-Computer des Systems der Fig. 1.
- Fig. 7B ist ein Blockdiagramm eines Wörterbuchs mit komprimierten Coden variabler Länge für einen fernliegenden Computer des Systems der Fig. 1.
- Fig. 8 ist ein Blockdiagramm eines komprimierten Dokuments mit komprimierten Coden variabler Länge, wie es in dem Speicher des Systems der Fig. 1 gespeichert ist.
- Fig. 9 ist ein Blockdiagramm komprimierter Code variabler Länge, die die Zeichenreihe von der Suchanforderung darstellen.
- Fig. 10, 11, 12 und 13 sind Blockdiagramme, die die Suche nach der Suchanforderung in dem komprimierten Code variabler Länge darstellen.
- Wie es in Fig. 1 gezeigt ist, ist die vorliegende Erfindung in einem Computer-System 100 und in einem in dem Computer-System ausgeführten Verfahren verkörpert, das Zeichenreihen in einem nichtkomprimierten Dokument 101 von einem nichtkomprimierten Code in einen komprimierten Code umwandelt, die Zeichenreihen in ihrem komprimierten Code in einem komprimierten Dokument 103 in Reaktion auf die Anforderung eines Benutzers speichert und Zeichenreihen in dem komprimierten Dokument 103 sucht, während die Zeichenreihen in ihrem komprimierten Code gespeichert bleiben.
- Das Computer-System 100 umfaßt eine Tastatur 105 für den Host-Computer, eine Maus 107 für den Host-Computer einen Host-Computer 109, eine Tastatur 111 für den fernliegenden Computer, eine Maus 113 für den fernliegenden Computer, einen fernliegenden Computer 115 und einen Kommunikationskanal 117, um Daten zwischen dem Host-Computer 109 und dem fernliegenden Computer 115 zu übertragen. In dem Host- Computer 109 können Dokumente in ihrer nichtkomprimierten Form gespeichert werden, und dann, wenn es von dem fernliegenden Computer 115 verlangt wird, können die Dokumente komprimiert und über den Kommunikationskanal 117 zu dem femliegenden Computer 115 übertragen werden. Bei dem fernliegenden Computer 115 müssen die Dokumente nicht dekomprimiert werden, bevor eine Abfrage in bezug auf die Dokumente verarbeitet werden kann.
- Der Host-Computer 109 umfaßt des weiteren eine zentrale Verarbeitungseinheit 119, eine Eingabe/Ausgabeeinheit 121 und einen Speicher 123 für den Host-Computer. Des weiteren speichert der Speicher 123 des Host-Computers ein Wörterbuch 125, das dekomprimierte Dokument 101, einen Parser 127, wenn in der zentralen Verarbeitungseinheit 119 ausgeführt wird, eine Komprimiereinrichtung 129 und das komprimierte Dokument 103. Der Parser 127 wiedergewinnt Zeichenreihen von dem dekomprimierten Dokument 101. Die wiedergewonnenen Zeichenreihen von dem dekomprimierten Dokument 101 sind in dem dekomprimierten Code. Ein typischer dekomprimierter Code ist der ASCII-Code, der jedes Zeichen als eine Reihe von 8 Bit mit Nullen und Einsen darstellt. Die Komprimiereinrichtung 129 wandelt, wenn in der zentralen Verarbeitungseinheit 119 ausgeführt wird, die nichtkomprimierte Zeichenreihe in eine komprimierte Zeichenreihe um, wobei das Wörterbuch 125 verwendet wird. Bei einer Ausführungsform ist die komprimierte Zeichenreihe als ein komprimierter Code variabler Länge dargestellt. Die Komprimiereinrichtung 129, wenn sie in der zentralen Verarbeitungseinheit 119 arbeitet, speichert dann die komprimierte Zeichenreihe in dem komprimierten Dokument 103.
- Ein Beispiel der allgemeinen Arbeitsweise des Computer-Systems 100 (Fig. 1) stellt dar, wie die vorliegende Erfindung nach Zeichenreihen in dem komprimierten Dokument 149 auf dem fernliegenden Computer 115 sucht, während die Zeichenreihen in dem komprimierten Code der vorliegenden Erfindung gespeichert sind.
- Eine Ausführungsform der vorliegenden Erfindung wandelt Zeichenreihen in einem nichtkomprimierten Dokument 101 von einem nichtkomprimierten Code in einen komprimierten Code variabler Länge um, speichert die Zeichenreihen in ihrem komprimierten Code variabler Länge in einem komprimierten Dokument 103 und sucht Zeichenreihen in dem komprimierten Dokument 103, während die Zeichenreihen in ihrem kompri mierten Code variabler Länge bleiben. Fig. 6 zeigt den bevorzugten komprimierten Code variabler Länge der vorliegenden Erfindung, der eine Längenanzeige 2601 und einen komprimierten Code 2603 umfaßt Die Längenanzeige 2601 gibt die Anzahl der Bits in dem komprimierten Code 2603 an. Beispielsweise enthält die Längenanzeige 2601, die in Fig. 6 gezeigt ist, eine Binärzahl, die dem Dezimalwert drei äquivalent ist, was angibt, daß der komprimierte Code 2603, der in Fig. 6 dargestellt ist, eine Länge von drei Bit hat.
- Besondere Ausführungsbeispiele unter Verwendung komprimierter Code variabler Länge:
- Ein besonderes Beispiel, das die Fig. 2-3, 4-5 und 6-13 verwendet, hilft, das bevorzugte Verfahren und System zum Suchen komprimierter Code variabler Länge des komprimierten Dokuments 103 darzustellen. Typischerweise gibt ein Benutzer des fernliegenden Computers 115 eine Anforderung ein, das nichtkomprimierte Dokument 101 von dem Host-Computer 109 zu dem fernliegenden Computer 115 zu übertragen. Fig. 2 zeigt das nichtkomprimierte Dokument 101, das auf der Anzeigeeinrichtung 163 des Host-Computers angezeigt ist. Fig. 3 zeigt das nichtkomprimierte Dokument 101, wie es in dem Speicher 123 des Host-Computers gespeichert ist.
- In Antwort auf die Übertragungsanforderung ruft der Host-Computer 109 die Komprimierungseinrichtung 129 auf, die das nichtkomprimierte Dokument 101 in das komprimierte Dokument 103 umwandelt, das komprimierte Code variabler Länge enthält. Um das nichtkomprimierte Dokument 101 in das komprimierte Dokument 103 umzuwandeln, ruft die Komprimierungseinrichtung 129 den Parser 127 auf, der die nichtkomprimierten Zeichenreihen parsermäßig verarbeitet, die in dem nichtkomprimierten Dokument 101 gespeichert sind, und schickt die parsermäßig verarbeiteten Zeichenreihen zurück zu der Komprimierungseinrichtung 129.
- Die Komprimierungseinrichtung 129 erhält von dem Parser 127 die parsermäßig verarbeitete Zeichenreihe in ihrem nichtkomprimierten Code. Dann sucht die Komprimierungseinrichtung 129 einen zu dem nichtkomprimierten Code passenden Code in dem Wörterbuch 125 (Fig. 2A) und wiedergewinnt von dem Wörterbuch 125 einen komprimierten Code variabler Länge, der dem zugehörigen nichtkomprimierten Code zuge ordnet ist. Schließlich speichert die Komprimierungseinrichtung 129 den wiedergewonnenen, komprimierten Code variabler Länge von dem Wörterbuch 125 in dem komprimierten Dokument 103.
- Nachdem jede Zeichenreihe von dem nichtkomprimierten Dokument 101 in den komprimierten Code variabler Länge der vorliegenden Erfindung umgewandelt und in dem komprimierten Dokument 103 gespeichert worden ist, überträgt der Host-Computer 109 das komprimierte Dokument 103 von dem Host-Computer 109 über die Kommunikationskanäle 117 zu dem fernliegenden Computer 115, wo er es als komprimiertes Dokument 149 speichert. Fig. 8 zeigt das komprimierte Dokument 149, wie es in dem Speicher 143 des fernliegenden Computers gespeichert ist.
- Ein Benutzer des fernliegenden Computers 115 gibt typischerweise eine Abfrage ein, um Informationen über das komprimierte Dokument 149 wiederzugewinnen. Fig. 4 stellt eine typische Abfrage-Anforderung 165 dar, die auf der Tastatur 111 des fernliegenden Computers eingegeben und später in dem Speicher 143 des fernliegenden Computers gespeichert wurde. Die Abfrage-Anforderung 165 fragt "which documents contain the word 'ready' ?". In Antwort auf den Erhalt der Abfrage-Anforderung 165 ruft der fernliegende Computer 115 die Abfrage-Einrichtung 147 auf. Die Abfrage-Einrichtung 147 wiedergewinnt das Wort, nach dem gesucht werden soll, aus der Abfrage-Anforderung 165; in diesem Fall wiedergewinnt die Abfrage-Einrichtung 147 das Wort "ready" aus der Abfrage-Anforderung 165 (siehe Fig. 5).
- Als nächstes ruft die Abfrage-Einrichtung 147 das Umwandlungsprogramm 161 auf, das das Wort "ready" in komprimierten Code variabler Länge der vorliegenden Erfindung umwandelt. Das Umwandlungsprogramm 161 durchsucht das Wörterbuch 145, um zu sehen, ob es zu dem Wort "ready" ein passendes gibt. Wenn das Umwandlungsprogramm 161 bestimmt, daß das Wörterbuch 145 das Wort "ready" nicht enthält, sucht es das Wörterbuch 145 nach den ersten zwei Buchstaben des Wortes "ready" durch, d. h., die Zeichenreihe "re". Wenn das Umwandlungsprogramm 161 bestimmt, daß die Zeichenreihe "re" in dem Paar-Abschnitt des Wörterbuchs 145 gespeichert ist, liest es den komprimierten Code 0110000010 aus, der mit der Zeichenreihe "re" verbunden ist. Das Umwandlungsprogramm 161 speichert dann den wiedergewonnenen komprimierten Code in dem Speicher 143 des fernliegenden Computers (siehe Fig. 9).
- Als nächstes fernliegend das Umwandlungsprogramm 161 die ersten zwei nicht verarbeiteten Zeichen aus dem Wort "ready", d. h., die Zeichenreihe "ad". Wenn das Umwandlungsprogramm 161 bestimmt, daß die Zeichenreihe "ad" in dem Paar-Abschnitt 153 des Wörterbuchs 145 gespeichert ist, gibt es den komprimierten Code 10100000000010 zurück, der mit der Zeichenreihe "ad" verbunden ist. Das Umwandlungsprogramm 161 speichert dann den wiedergewonnenen komprimierten Code in dem Speicher 143 des fernliegenden Computers (siehe Fig. 9).
- Schließlich bestimmt das Umwandlungsprogramm 161, das nur ein nicht verarbeitetes Zeichen von dem Wort "ready" übrig ist, d. h., das Zeichen "y". Das Umwandlungsprogramm 161 wiedergewinnt den komprimierten Code 1111000000000000100, der in dem ASCII-Abschnitt 155 des Wörterbuchs 145 gespeichert ist. Das Umwandlungsprogramm 161 speichert den wiedergewonnenen komprimierten Code in dem Speicher 143 des fernliegenden Computers (siehe Fig. 9).
- Nach Abschluß der Umwandlung des Worts "ready" in den komprimierten Code variabler Länge entsprechend der vorliegenden Erfindung ruft die Abfrage-Einrichtung 147 das Suchprogramm 159 auf, das das komprimierte Dokument 149 nach dem Auftreten des komprimierten Codes durchsucht, der das Wort "ready" darstellt. Das Suchprogramm 159 wiedergewinnt zuerst den komprimierten Code für die Zeichenreihe "re" (Fig. 9). Dann bestimmt das Suchprogramm 159 die Länge des komprimierten Codes 2901 für die Zeichenreihe "re" aus dem Wert der Längenanzeige 2903 für die Zeichenreihe "re". In diesem Fall gibt die Längenanzeige 2903 an, daß der komprimierte Code 2901 eine Länge von 6 Bit hat. Das Suchprogramm 159 setzt dann eine Anzeige mit dem Namen Match-ptr auf den ersten komprimierten Code variabler Länge in dem komprimierten Dokument 149 (siehe Fig. 10).
- Indem die Länge des komprimierten Codes 2901 bestimmt wird, muß das Suchprogramm 159 nur den komprimierten Code 2901 gegenüber komprimierten Coden in dem komprimierten Dokument 149 mit identischen Längen vergleichen. Das Suchprogramm 159 vergleicht dann den Wert der Längenanzeige 3001 für die Zeichenfolge "Firstcap" mit dem Wert der Längenanzeige 2903 für die Zeichenreihe "re". Da der Wert der Längenanzeige 2903 gleich sechs ist, und der Wert der Längenanzeige 3001 gleich zwölf ist, bestimmt das Suchprogramm 159, daß der komprimierte Code 2901 kein passender für den komprimierten Code 3003 ist. Deshalb erhöht das Suchprogramm 159 Match-ptr und vergleicht die Längenanzeige 2903 der Zeichenreihe "re" mit den Längenanzeigen der Zeichenreihen, auf die durch Match-ptr gezeigt wird, bis eine Übereinstimmung gefunden ist. Fig. 11 stellt die Position von Match-ptr innerhalb des komprimierten Dokuments 149 dar, wenn eine Übereinstimmung mit der Längenanzeige 2903 für die Zeichenreihe "re" auftritt.
- Das Suchprogramm 159 vergleicht dann den kromprimierten Code 2901 für die Zeichenreihe "re" mit dem komprimierten Code 3103 für die Zeichenreihe, auf die von Match-ptr gezeigt wird, und bestimmt, daß eine Übereinstimmung gefunden wurde.
- Nachdem nun eine Übereinstimmung für die Zeichenreihe "re" gefunden worden ist, geht das Suchprogramm 159 weiter, um zu bestimmen, ob die nächsten zwei komprimierten Code variabler Länge, die in dem komprimierten Dokument 149 gespeichert sind, zu der Zeichenreihe "ad" bzw. der Zeichenreihe "y" passen. Das Suchprogramm 159 erhöht Match-ptr und vergleicht die Längenanzeige 2905 (Fig. 9) für die Zeichenreihe "ad" mit der Längenanzeige 3201 (Fig. 12) für die Zeichenreihe, auf die von Match- ptr gezeigt wird. Da der Wert der Längenanzeige 2905 gleich dem Wert der Längenanzeige 3201 ist, vergleicht das Suchprogramm 159 den komprimierten Code 2907 der Zeichenreihe "ad" mit dem komprimierten Code 3203 für die Zeichenreihe, auf die von Match-ptr gezeigt wird.
- Da eine Übereinstimmung zwischen den komprimierten Coden auftritt, erhöht das Suchprogramm 159 Match-ptr und vergleicht die Längenanzeige 2909 der Zeichenreihe "y" mit der Längenanzeige 3301 für die Zeichenreihe, auf die von Match-ptr gezeigt wird (Fig. 13). Da der Wert der Längenanzeige 2909 für die Zeichenreihe "y" gleich dem Wert der Längenanzeige 3301 für die Zeichenreihe ist, auf die von Match-ptr gezeigt wird, vergleicht das Suchprogramm 159 den komprimierten Code 2911 für die Zeichenreihe "y" mit dem komprimierten Code 3303 für die Zeichenreihe, auf die von Match-ptr gezeigt wird. Da eine Übereinstimmung auftritt, teilt die Abfrage-Einrichtung 147 dem Initiator der Anforderung mit, daß das komprimierte Dokument 149 das Wort "ready" enthält.
- Der Durchschnittsfachmann auf dem Gebiet wird verstehen, daß andere System-Architekturen verwendet werden können, das Verfahren der oben beschriebenen vorliegenden Erfindung auszuführen, wobei ein eigenständiger Computer ohne Beschränkung mit umfaßt wird, der ein nichtkomprimiertes Dokument komprimiert und eine Suche bei dem komprimierten Dokument vornimmt.
- Man erkennt, obgleich eine bestimmte Ausführungsform der Erfindung hier zum Zweck der Darstellung beschrieben worden ist, verschiedene Abänderungen vorgenommen werden können, ohne von dem Bereich der Erfindung abzuweichen. Demgemäß ist die Erfindung außer durch die beigefügten Ansprüche nicht beschränkt.
Claims (2)
1. Vorrichtung zum Suchen eines komprimierten Dokuments, das aus einer
Mehrzahl komprimierter Code variabler Länge besteht, die ein nichtkomprimiertes
Dokument darstellen, wobei jeder komprimierte Code variabler Länge eine
Längenanzeige aufweist, die die Länge des komprimierten Codes variabler Länge
angibt, wobei die Vorrichtung umfaßt:
eine Einrichtung zum Erhalten einer Abfrage-Anforderung in einem
nichtkomprimierten Code;
eine Einrichtung zur Umwandlung der Abfrage-Anforderung aus dem
nichtkomprimierten Code in eine umgewandelte Abfrage-Anforderung von einem der
Mehrzahl komprimierte Code variabler Länge;
eine Einrichtung zur Bestimmung der Länge der umgewandelten
Abfrage-Anforderung;
Einrichtung zum Vergleichen der umgewandelten Abfrage-Anforderung mit den
komprimierten Coden variabler Länge des komprimierten Dokuments, um zu
bestimmen, ob die komprimierten Code variabler Länge des komprimierten
Dokuments zu der umgewandelten Abfrage-Anforderung passen, wobei die
umgewandelte Abfrage-Anforderung nur mit jenen komprimierten Coden variabler
Länge verglichen wird, deren Länge gleich der Länge der umgewandelten Abfrage-
Anforderung ist, und
eine Einrichtung zum Antworten auf die Entscheidung, daß es eine
Übereinstimmung zwischen den komprimierten Coden variabler Länge des Dokuments und
der umgewandelten Abfrage-Anforderung gibt.
2. Verfahren zum Suchen eines komprimierten Dokuments, das aus einer Mehrzahl
komprimierter Code variabler Länge besteht, die ein nichtkomprimiertes
Dokument darstellen, wobei jeder komprimierte Code variabler Länge eine
Längenanzeige aufweist, die die Länge des komprimierten Codes variabler Länge
angibt, wobei das Verfahren umfaßt:
Erhalten einer Abfrage-Anforderung in einem nichtkomprimierten Code;
Umwandeln der Abfrage-Anforderung aus dem nichtkomprimierten Code in eine
umgewandelte Abfrage-Anforderung von einem der Mehrzahl komprimierte Code
variabler Länge;
Bestimmen der Länge der umgewandelten Abfrage-Anforderung;
Vergleichen der umgewandelten Abfrage-Anforderung mit den komprimierten
Coden variabler Länge des komprimierten Dokuments, um zu bestimmen, ob die
komprimierten Code variabler Länge des komprimierten Dokuments zu der
umgewandelten Abfrage-Anforderung passen, wobei die umgewandelte
Abfrage-Anforderung nur mit jenen komprimierten Coden variabler Länge verglichen wird,
deren Länge gleich der Länge der umgewandelten Abfrage-Anforderung ist, und
Antworten auf die Entscheidung, daß es eine Übereinstimmung zwischen den
komprimierten Coden variabler Länge des Dokuments und der umgewandelten
Abfrage-Anforderung gibt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US8548193A | 1993-06-30 | 1993-06-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69421966D1 DE69421966D1 (de) | 2000-01-13 |
DE69421966T2 true DE69421966T2 (de) | 2000-04-27 |
Family
ID=22191893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69421966T Expired - Lifetime DE69421966T2 (de) | 1993-06-30 | 1994-06-28 | Verfahren und System zum Suchen komprimierter Daten |
Country Status (5)
Country | Link |
---|---|
US (1) | US5737733A (de) |
EP (1) | EP0633537B1 (de) |
JP (1) | JP3234104B2 (de) |
CA (1) | CA2125337A1 (de) |
DE (1) | DE69421966T2 (de) |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5625711A (en) * | 1994-08-31 | 1997-04-29 | Adobe Systems Incorporated | Method and apparatus for producing a hybrid data structure for displaying a raster image |
US7362775B1 (en) | 1996-07-02 | 2008-04-22 | Wistaria Trading, Inc. | Exchange mechanisms for digital information packages with bandwidth securitization, multichannel digital watermarks, and key management |
US5613004A (en) | 1995-06-07 | 1997-03-18 | The Dice Company | Steganographic method and device |
US6205249B1 (en) | 1998-04-02 | 2001-03-20 | Scott A. Moskowitz | Multiple transform utilization and applications for secure digital watermarking |
US7664263B2 (en) * | 1998-03-24 | 2010-02-16 | Moskowitz Scott A | Method for combining transfer functions with predetermined key creation |
US7159116B2 (en) * | 1999-12-07 | 2007-01-02 | Blue Spike, Inc. | Systems, methods and devices for trusted transactions |
US5889868A (en) * | 1996-07-02 | 1999-03-30 | The Dice Company | Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data |
US7177429B2 (en) | 2000-12-07 | 2007-02-13 | Blue Spike, Inc. | System and methods for permitting open access to data objects and for securing data within the data objects |
US7457962B2 (en) * | 1996-07-02 | 2008-11-25 | Wistaria Trading, Inc | Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data |
US7346472B1 (en) | 2000-09-07 | 2008-03-18 | Blue Spike, Inc. | Method and device for monitoring and analyzing signals |
US7095874B2 (en) * | 1996-07-02 | 2006-08-22 | Wistaria Trading, Inc. | Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data |
US5893102A (en) * | 1996-12-06 | 1999-04-06 | Unisys Corporation | Textual database management, storage and retrieval system utilizing word-oriented, dictionary-based data compression/decompression |
US7730317B2 (en) | 1996-12-20 | 2010-06-01 | Wistaria Trading, Inc. | Linear predictive coding implementation of digital watermarks |
US5946692A (en) * | 1997-05-08 | 1999-08-31 | At & T Corp | Compressed representation of a data base that permits AD HOC querying |
JP3666541B2 (ja) * | 1997-09-11 | 2005-06-29 | 富士電機システムズ株式会社 | データ転送装置 |
US6105021A (en) * | 1997-11-21 | 2000-08-15 | International Business Machines Corporation | Thorough search of document database containing compressed and noncompressed documents |
JP2000201080A (ja) * | 1999-01-07 | 2000-07-18 | Fujitsu Ltd | 付加コ―ドを用いたデ―タ圧縮/復元装置および方法 |
US7664264B2 (en) | 1999-03-24 | 2010-02-16 | Blue Spike, Inc. | Utilizing data reduction in steganographic and cryptographic systems |
US6665838B1 (en) | 1999-07-30 | 2003-12-16 | International Business Machines Corporation | Web page thumbnails and user configured complementary information provided from a server |
US6356908B1 (en) | 1999-07-30 | 2002-03-12 | International Business Machines Corporation | Automatic web page thumbnail generation |
US6405192B1 (en) | 1999-07-30 | 2002-06-11 | International Business Machines Corporation | Navigation assistant-method and apparatus for providing user configured complementary information for data browsing in a viewer context |
US7475246B1 (en) | 1999-08-04 | 2009-01-06 | Blue Spike, Inc. | Secure personal content server |
US20040102197A1 (en) * | 1999-09-30 | 2004-05-27 | Dietz Timothy Alan | Dynamic web page construction based on determination of client device location |
US20040243540A1 (en) * | 2000-09-07 | 2004-12-02 | Moskowitz Scott A. | Method and device for monitoring and analyzing signals |
US7127615B2 (en) | 2000-09-20 | 2006-10-24 | Blue Spike, Inc. | Security based on subliminal and supraliminal channels for data objects |
US6649567B2 (en) * | 2001-10-11 | 2003-11-18 | Isp Investments Inc. | Controlled release microbiocide for porous surfaces |
DE60131890T2 (de) * | 2000-10-11 | 2008-12-11 | Broadcom Corp., Irvine | Dynamische Delta-Kopierung für Kabelmodemkopffeldunterdrückung |
JP3729759B2 (ja) * | 2001-08-07 | 2005-12-21 | 株式会社ルネサステクノロジ | 圧縮された命令コードを読み出すマイクロコントローラ、命令コードを圧縮して格納するプログラムメモリ |
US6909384B2 (en) * | 2002-01-31 | 2005-06-21 | Microsoft Corporation | Generating and searching compressed data |
US7287275B2 (en) | 2002-04-17 | 2007-10-23 | Moskowitz Scott A | Methods, systems and devices for packet watermarking and efficient provisioning of bandwidth |
WO2004036461A2 (en) * | 2002-10-14 | 2004-04-29 | Battelle Memorial Institute | Information reservoir |
US7310769B1 (en) | 2003-03-12 | 2007-12-18 | Adobe Systems Incorporated | Text encoding using dummy font |
US6980949B2 (en) * | 2003-03-14 | 2005-12-27 | Sonum Technologies, Inc. | Natural language processor |
US7430560B1 (en) * | 2005-07-22 | 2008-09-30 | X-Engines, Inc. | Multi-level compressed lock-up tables formed by logical operations to compress selected index bits |
US20070067155A1 (en) * | 2005-09-20 | 2007-03-22 | Sonum Technologies, Inc. | Surface structure generation |
US7730062B2 (en) * | 2006-08-01 | 2010-06-01 | Topix Llc | Cap-sensitive text search for documents |
US7730088B2 (en) * | 2006-09-14 | 2010-06-01 | International Business Machines Corporation | Queriable hierarchical text data |
US7827218B1 (en) | 2006-11-18 | 2010-11-02 | X-Engines, Inc. | Deterministic lookup using hashed key in a multi-stride compressed trie structure |
US8166041B2 (en) * | 2008-06-13 | 2012-04-24 | Microsoft Corporation | Search index format optimizations |
DE102010006931A1 (de) | 2010-02-04 | 2011-08-04 | Bienert, Jörg, 50354 | Verfahren zur Verarbeitung von Datensammlungen, insbesondere in Datenbanksystemen |
CN105893337B (zh) * | 2015-01-04 | 2020-07-10 | 伊姆西Ip控股有限责任公司 | 用于文本压缩和解压缩的方法和设备 |
US10140033B2 (en) * | 2015-06-15 | 2018-11-27 | Xitore, Inc. | Apparatus, system, and method for searching compressed data |
JP6737117B2 (ja) * | 2016-10-07 | 2020-08-05 | 富士通株式会社 | 符号化データ検索プログラム、符号化データ検索方法および符号化データ検索装置 |
JP6931442B2 (ja) * | 2017-05-16 | 2021-09-08 | 富士通株式会社 | 符号化プログラム、インデックス生成プログラム、検索プログラム、符号化装置、インデックス生成装置、検索装置、符号化方法、インデックス生成方法および検索方法 |
US10528556B1 (en) * | 2017-12-31 | 2020-01-07 | Allscripts Software, Llc | Database methodology for searching encrypted data records |
CA3126089C (en) * | 2019-03-01 | 2023-06-20 | Cyborg Inc. | System and method for statistics-based pattern searching of compressed data and encrypted data |
US11636100B2 (en) * | 2020-11-27 | 2023-04-25 | Verizon Patent And Licensing Inc. | Systems and methods for compression-based search engine |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3651483A (en) * | 1969-01-03 | 1972-03-21 | Ibm | Method and means for searching a compressed index |
US3593309A (en) * | 1969-01-03 | 1971-07-13 | Ibm | Method and means for generating compressed keys |
US3643226A (en) * | 1969-06-26 | 1972-02-15 | Ibm | Multilevel compressed index search method and means |
JPS58184646A (ja) * | 1982-04-22 | 1983-10-28 | Kokusai Denshin Denwa Co Ltd <Kdd> | メツセ−ジ通信方式 |
US4617663A (en) * | 1983-04-13 | 1986-10-14 | At&T Information Systems Inc. | Interface testing of software systems |
WO1985001814A1 (en) * | 1983-10-19 | 1985-04-25 | Text Sciences Corporation | Method and apparatus for data compression |
US4701851A (en) * | 1984-10-24 | 1987-10-20 | International Business Machines Corporation | Compound word spelling verification |
US4650927A (en) * | 1984-11-29 | 1987-03-17 | International Business Machines Corporation | Processor-assisted communication system using tone-generating telephones |
US4843389A (en) * | 1986-12-04 | 1989-06-27 | International Business Machines Corp. | Text compression and expansion method and apparatus |
CA1341310C (en) * | 1988-07-15 | 2001-10-23 | Robert Filepp | Interactive computer network and method of operation |
DE4031421C2 (de) * | 1989-10-05 | 1995-08-24 | Ricoh Kk | Musteranpassungssystem für eine Spracherkennungseinrichtung |
US5274805A (en) * | 1990-01-19 | 1993-12-28 | Amalgamated Software Of North America, Inc. | Method of sorting and compressing data |
US5276868A (en) * | 1990-05-23 | 1994-01-04 | Digital Equipment Corp. | Method and apparatus for pointer compression in structured databases |
US5333313A (en) * | 1990-10-22 | 1994-07-26 | Franklin Electronic Publishers, Incorporated | Method and apparatus for compressing a dictionary database by partitioning a master dictionary database into a plurality of functional parts and applying an optimum compression technique to each part |
US5253341A (en) * | 1991-03-04 | 1993-10-12 | Rozmanith Anthony I | Remote query communication system |
US5163094A (en) * | 1991-03-20 | 1992-11-10 | Francine J. Prokoski | Method for identifying individuals from analysis of elemental shapes derived from biosensor data |
US5414838A (en) * | 1991-06-11 | 1995-05-09 | Logical Information Machine | System for extracting historical market information with condition and attributed windows |
JPH0546675A (ja) * | 1991-08-12 | 1993-02-26 | Mitsubishi Electric Corp | 情報圧縮・検索方式 |
FR2681966A1 (fr) * | 1991-09-27 | 1993-04-02 | Euro Cp Sarl | Procede de compression-decompression de donnees textuelles dans un reseau domotique. |
US5337233A (en) * | 1992-04-13 | 1994-08-09 | Sun Microsystems, Inc. | Method and apparatus for mapping multiple-byte characters to unique strings of ASCII characters for use in text retrieval |
JPH05324730A (ja) * | 1992-05-27 | 1993-12-07 | Hitachi Ltd | 文書情報検索装置 |
US5325091A (en) * | 1992-08-13 | 1994-06-28 | Xerox Corporation | Text-compression technique using frequency-ordered array of word-number mappers |
-
1994
- 1994-06-07 CA CA002125337A patent/CA2125337A1/en not_active Abandoned
- 1994-06-28 DE DE69421966T patent/DE69421966T2/de not_active Expired - Lifetime
- 1994-06-28 JP JP14653694A patent/JP3234104B2/ja not_active Expired - Lifetime
- 1994-06-28 EP EP94110014A patent/EP0633537B1/de not_active Expired - Lifetime
-
1996
- 1996-09-26 US US08/721,558 patent/US5737733A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0756955A (ja) | 1995-03-03 |
CA2125337A1 (en) | 1994-12-31 |
US5737733A (en) | 1998-04-07 |
EP0633537B1 (de) | 1999-12-08 |
DE69421966D1 (de) | 2000-01-13 |
EP0633537A3 (de) | 1995-08-23 |
EP0633537A2 (de) | 1995-01-11 |
JP3234104B2 (ja) | 2001-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69421966T2 (de) | Verfahren und System zum Suchen komprimierter Daten | |
DE69229521T2 (de) | Datenbankauffindungssystem | |
DE3852341T2 (de) | Zeichenverarbeitungssystem mit Funktion zur Prüfung von Rechtschreibung. | |
DE3751421T2 (de) | Verfahren und Vorrichtung zur Textkomprimierung und -expandierung. | |
DE69631457T2 (de) | Vorrichtung und verfahren zum übertragbaren indexieren von dokumenten gemäss einer n-gram-wortzerlegung | |
DE69130868T2 (de) | Kommunikationssystem für binärdaten | |
DE69534292T2 (de) | Verfahren und System zur Dateifernübertragung | |
DE69330196T2 (de) | Textkomprimierungstechnik unter Anwendung einer frequenzgeordneten Matrix von Wort-Nummern-Abbildungen | |
USRE41901E1 (en) | Method and apparatus for retrieving accumulating and sorting table formatted data | |
DE3882738T2 (de) | Datenkomprimierungsverfahren und -vorrichtung. | |
DE69832593T2 (de) | Netzwerk zur datencodierung | |
DE69612832T2 (de) | Datenkomprimierungs/Dekomprimierungsvorrichtung und -verfahren | |
DE69131941T2 (de) | System und verfahren für informationsauffindung | |
DE69024629T2 (de) | Vorrichtung zur kompression von datenlängen und datenfolgen | |
US5680612A (en) | Document retrieval apparatus retrieving document data using calculated record identifier | |
DE69027606T2 (de) | Vorrichtung zur datenkompression | |
DE69603547T2 (de) | Codierungsverfahren und Decodierungsschaltung für die Komprimierung von chinesischen Textzeichendaten | |
DE69128053T2 (de) | Wörterbuch-Suchsystem | |
DE69722085T2 (de) | Verfahren und Vorrichtung zur Komprimierung und Dekomprimierung von Botschaften | |
DE2630304A1 (de) | Einrichtung zur ueberpruefung der gueltigkeit von alphabetischen eingangszeichen | |
DE69636707T2 (de) | Druckersystem, Datenverarbeitungsgerät und Datenverarbeitungsverfahren | |
DE10018993B4 (de) | Datenbank-Verwaltungsvorrichtung und Datenbank-Datensatzabfragevorrichtung sowie Verfahren zum Verwalten einer Datenbank und zum Abfragen eines Datenbank-Datensatzes | |
DE10301362A1 (de) | Blockdatenkompressionssystem, bestehend aus einer Kompressionseinrichtung und einer Dekompressionseinrichtung, und Verfahren zur schnellen Blockdatenkompression mit Multi-Byte-Suche | |
DE69523848T2 (de) | Verfahren zur automatischen Erkennung einer Sprache, in der digitale Daten empfangen werden | |
DE3485824T2 (de) | Verfahren zur datenkompression. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |