DE69421966T2 - Verfahren und System zum Suchen komprimierter Daten - Google Patents

Verfahren und System zum Suchen komprimierter Daten

Info

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
Application number
DE69421966T
Other languages
English (en)
Other versions
DE69421966D1 (de
Inventor
Marlin Jay Eller
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Application granted granted Critical
Publication of DE69421966D1 publication Critical patent/DE69421966D1/de
Publication of DE69421966T2 publication Critical patent/DE69421966T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating 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

    Technisches Gebiet
  • Diese Erfindung betrifft allgemein ein Computer-Verfahren und -System zum Suchen von Daten in einem Computer.
  • Hintergrund der Erfindung
  • 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.
  • Zusammenfassung der Erfindung
  • 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.
  • Kurze Beschreibung der Zeichnungen
  • 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.
  • Ausführliche Beschreibung der Erfindung
  • 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 System
  • 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.
DE69421966T 1993-06-30 1994-06-28 Verfahren und System zum Suchen komprimierter Daten Expired - Lifetime DE69421966T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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