JP4313323B2 - サーチ可能なアーカイブ - Google Patents

サーチ可能なアーカイブ Download PDF

Info

Publication number
JP4313323B2
JP4313323B2 JP2005044521A JP2005044521A JP4313323B2 JP 4313323 B2 JP4313323 B2 JP 4313323B2 JP 2005044521 A JP2005044521 A JP 2005044521A JP 2005044521 A JP2005044521 A JP 2005044521A JP 4313323 B2 JP4313323 B2 JP 4313323B2
Authority
JP
Japan
Prior art keywords
token
data
value
compressed
sequence
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.)
Active
Application number
JP2005044521A
Other languages
English (en)
Other versions
JP2005235226A (ja
Inventor
グロンディン リチャード
ファデイチェフ エフゲニ
ザローバ バシリ
Original Assignee
サンド テクノロジー インコーポレイティド
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 サンド テクノロジー インコーポレイティド filed Critical サンド テクノロジー インコーポレイティド
Publication of JP2005235226A publication Critical patent/JP2005235226A/ja
Application granted granted Critical
Publication of JP4313323B2 publication Critical patent/JP4313323B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • 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
    • 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/99943Generating database or data structure, e.g. via user interface
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、一般には、デジタルデータの保管の分野に関し、更に詳しくは、圧縮されたアーカイブに関するものである。
多くの企業において、大量の電子データが生成され、様々な目的で保管されている。この例としては、会計監査、顧客サービス、又はデータマイニングを使用目的としたトランザクションデータの保管が含まれる。又、企業においては、規制の観点から電子データの保管が必要とされる場合もある。
企業データのライフサイクルは、ほとんどの場合、なんらかの種類の顧客とのやり取りやトランザクションにおけるデータ生成から始まる。このような企業データは、通常、生成された後に、まずは、データベースシステムに保存される。データベースシステムの利点は、迅速に問合せ可能なデータ構造にデータが編成されることである。しかしながら、データベースシステムにおいては、ほとんどの場合、保存するデータ量に対してなんらかの制限が課されている。即ち、データベースシステムの中には、アクセス可能なデータ量に対する有限な限度を単純に具備するものも存在し、その他のデータベースシステムにおいては、大量のデータを収容可能ではあるが、データベースシステムが特定のサイズを超過した場合に、その維持に費用を所要することになる。このため、長期間にわたって大量のデータを保管するには、通常、データベースシステムは使用しない。
大量のデータの保管に使用される方法の1つは、テープシステムなどのシリアルアクセスファイルシステムや、大規模(又は、分散型)ディスク駆動システムなどのランダムアセクスファイルシステムにデータを保存する方法である。テープシステムによる保存は、安価ではあるが、データを問合せ可能にするには、データをデータベースシステムにリロードしなければならず、これが面倒である。一方、ディスクストレージシステムの場合には、テープシステムよりも高価ではあるが、優れたアクセス性が提供される。しかしながら、この場合にも、データを従来のファイルとして保存している場合には、データに対するアクセス又は問合せを可能にするには、データをデータベースシステムに読み込まなければならない。
大規模データベースシステムは、データの保管には高価なソリューションであり、従来のファイルストレージシステムの場合には、アクセスの利便性が提供されない。従って、問合せが容易であり、且つ維持するのが安価なアーカイブシステムを提供することが望ましい。
サーチ可能な保管システムを提供する。サーチ可能な保管システムは、アーカイブデータの1つ又は複数の圧縮ファイルを含んでいる。圧縮ファイルを生成するために、保管プロセスにより、アーカイブデータをトークン化し、このトークン化したアーカイブデータを最適化した後に、このトークン化データからメタデータを抽出する。次いで、様々な方法により、このトークン化データを圧縮セグメントに圧縮可能である。次いで、これらの圧縮セグメント及びセグメントメタデータを組み合わることにより、圧縮ファイルを生成する。次いで、サーチプロセスに疎結合された1つ又は複数のファイルシステムに、この圧縮ファイルを保存する。このアーカイブからデータを取得するには、圧縮プロセスにおいてファイルから抽出されたローカル保存されているメタデータを参考として、サーチプロセスが圧縮ファイルにアクセスし、対象のデータを保持する可能性のある圧縮ファイルを識別する。次いで、サーチプロセスは、この圧縮ファイルを能動的にサーチする1つ又は複数のサーチエージェントを起動する。これらのサーチエージェントは、圧縮ファイル内のセグメントを圧縮解除する段階を使用して圧縮セグメントを選択することにより、このサーチを実行する。
本発明の一態様においては、保管プロセスは、アーカイブデータから、ドメイン構造とトークン化されたデータを生成することにより、サーチ可能なアーカイブを生成する。次いで、保管プロセスは、このトークン化データからアーカイブメタデータを決定し、このアーカイブメタデータをデータベースなどのローカルデータストア内に保存する。次いで、保管プロセスは、トークン化データを1つ又は複数のセグメントに分割し、これらの1つ又は複数のセグメントからセグメントメタデータを決定する。そして、これらのセグメントを圧縮し、これらの1つ又は複数の圧縮セグメントとセグメントメタデータから、1つ又は複数の圧縮ファイルを生成する。この圧縮ファイルは、どのようなファイルシステムにもファイル可能である。
このアーカイブからデータを取得するには、サーチプロセスが、ローカル保存されているアーカイブメタデータを使用して、取得対象のデータを含む可能性のある1つ又は複数の圧縮ファイルから1つの圧縮ファイルを選択する。次いで、サーチプロセスは、この選択した圧縮ファイルにアクセスし、セグメントメタデータを使用して、この選択した圧縮ファイル内の1つ又は複数の圧縮セグメントから、1つの選択された圧縮セグメントを選択する。そして、サーチプロセスは、この選択したセグメントを圧縮解除し、この圧縮解除したセグメントをサーチして、この圧縮解除セグメントがデータを含んでいるかどうかを決定する。
本発明の別の態様においては、このサーチプロセスは、異なるソフトウェアエンティティによって実行される。即ち、最初の圧縮ファイルの選択は、サーチプロセスによって実行される。そして、1つ又は複数の圧縮ファイルの選択が完了すると、サーチプロセスは、1つ又は複数のサーチエージェントを起動し、このサーチエージェントが、その選択された圧縮ファイルにアクセスし、圧縮セグメントを選択し、その選択したセグメントを圧縮解除して、圧縮解除されたセグメントをサーチする。
本発明の別の態様においては、トークン化データセットは、トークンの1つ又は複数の列を含んでおり、アーカイブプロセスによるアーカイブメタデータの判定段階は、トークンの1つ又は複数の列のそれぞれごとに、最大トークン値及び最小トークン値を決定する段階を更に含んでいる。
本発明の別の態様においては、保管プロセスによってセグメントメタデータを決定する段階は、そのセグメントに含まれている最大トークン値及び最小トークン値を検出する段階を更に含んでいる。
本発明の別の態様においては、圧縮ファイルをビットベクトルの組として保存する。この圧縮ファイルのビットベクトルを使用することにより、サーチ可能なアーカイブ内において、より高機能なデータ操作を実行可能である。このような圧縮ファイルを生成するために、保管プロセスは、アーカイブデータから、ドメイン構造とトークン化データを生成し、このトークン化データからアーカイブメタデータを決定する。次いで、保管プロセスは、トークン化データからビットベクトルの組を生成し、このビットベクトルの組から、1つ又は複数の圧縮ファイルを生成する。
このビットベクトルを含む圧縮ファイルにアクセスするには、サーチプロセスは、アーカイブメタデータを使用して、データを含む可能性がある1つ又は複数の圧縮ファイルから、1つの選択された圧縮ファイルを選択する。次いで、サーチプロセスは、この選択した圧縮ファイルにアクセスし、選択したビットベクトルに対してブール演算を実行し、その圧縮ファイル内にデータが保存されているかどうかを決定する。前述のように、この取得プロセスは、親サーチプロセスと、1つ又は複数のサーチエージェント間で分担可能である。
本発明のこれら及びその他の特徴、態様、及び利点については、以下の説明、添付の請求項、及び添付図面を参照することにより、その理解を深めることができよう。
図1は、本発明の模範的な実施例による保管モードにおけるサーチ可能なアーカイブシステムのブロック図である。サーチ可能なアーカイブシステムは、サーチ可能なアーカイブホスト100を含んでいる。このサーチ可能なアーカイブホストは、保管プロセス102を実行する。この保管プロセスは、サーチ可能なアーカイブホストに接続されたCSV(Comma Separated Value)フォーマットのテキストファイルなどのフォーマットの表形式ファイルなどのデータベース106からアーカイブデータ104を受信又は取得する。そして、保管プロセスは、このアーカイブデータから、そのアーカイブデータを表すメタデータ107を抽出し、このメタデータをメタデータデータベース108内に保存する。又、この保管プロセスは、圧縮ファイルストレージ装置110a及び110bなどの1つ又は複数の圧縮ファイルデータストレージ装置内に保存されることになる圧縮ファイル109a及び109bなどの1つ又は複数の圧縮ファイルも生成する。
この図1に示されているように、サーチ可能なアーカイブホストには、ストレージ装置が直接接続されている。その他の実施例においては、複数のストレージ装置が、通信ネットワークを介して、このストレージ装置に疎結合されている。この結果、サーチ可能なアーカイブを、圧縮ファイルを保存するのに必要な数のストレージ装置にわたって分散させることができる。又、このメタデータと圧縮ファイル間の疎結合により、圧縮ファイルを使用してオリジナルのアーカイブデータを再構成することなしに、サーチ可能なアーカイブに対して、増分的な方式で追加することが可能となっている。
図2は、本発明の模範的な実施例によるデータ取得モードにおけるサーチ可能なアーカイブシステムのブロック図である。アーカイブの生成が完了すれば、ユーザー200又は自動化プロセスは、そのオリジナルのアーカイブのデータ構造全体を再構成することなしに、圧縮ファイルにアクセス可能である。この目的に、ユーザーは、サーチ可能なアーカイブホストによって実行されるサーチプロセス204を使用する。ユーザーは、問合せ202をサーチプロセスに提出する。サーチプロセスは、メタデータデータベース108を使用し、その問合せを満足させる保管データを具備する可能性のある圧縮ファイルを識別する。次いで、サーチプロセスは、この識別された保存されているそれぞれの圧縮ファイルにアクセスし、そのオリジナルの問合せを満足させるデータが圧縮ファイル内に実際に保存されているかどうかを決定する。尚、サーチプロセスは、ストレージ装置110a及び110bなどの圧縮ファイルストレージ装置内に保存された1つ又は複数の圧縮ファイルに独立的にアクセスするサーチエージェント205a及び205bなどの1つ又は複数のサーチエージェントを使用することにより、これを実行する。
それぞれのサーチエージェントは、サーチプロセスによって識別された1つ又は複数の圧縮ファイルの独立したサーチ(例:サーチエージェント205aによるサーチ206aやサーチエージェント205bによるサーチ206b)を実施する。又、それぞれのサーチエージェントは、サーチ結果208a及び208bなどのサーチ結果をサーチプロセスに独立的に報告する。そして、サーチプロセスは、サーチエージェントから受信したこれらのサーチ結果を使用し、ユーザーに提示するサーチ結果210を作成する。
図3は、本発明の模範的な実施例によるサーチ可能なアーカイブ生成プロセスのフローチャートである。サーチ可能なアーカイブ生成プロセス218は、列220、222、及び224などの値の1つ又は複数の列を含むアーカイブデータ104を受信する。このアーカイブデータ内の列の数及び列内の値の数は、省略符号227によって示されているように、任意である。本プロセスは、ドメイン226及び228などの1つ又は複数のドメインとして、データ列を関連付ける(225)。それぞれのドメインをアーカイブデータの1つ又は複数のデータ列と関連付けることができる。
列をドメインに関連付けた後に、トークン化プロセスにおいて、それぞれのドメインを別個に処理し、値の列に対応するトークンの列を生成する。例えば、トークン列230は、ドメイン226と関連付けられており、アーカイブデータ内の値の列220に対応している。同様に、トークン列232は、ドメイン226と関連付けられており、値の列222に対応している。この模範的なプロセスにおいては、2つのドメインが示されており、ドメイン228は、アーカイブデータ内の値列224に対応する単一のトークン列234のみと関連付けられている。尚、省略符号236は、アーカイブ内の列の数が任意であるように、ドメイン及び関連するトークン列の数も任意であることを示している。
ドメイン及びトークン列の生成が完了すると、圧縮プロセス(236)において、これらを圧縮し、圧縮ファイル238を生成する。圧縮ファイル内においては、その圧縮ファイル内に含まれているドメインに関する情報は、ドメインヘッダ240内に保存される。又、この圧縮ファイル内には、それぞれのドメインのドメインデータも保存されている。例えば、ドメインデータ242は、トークン化プロセスにおいて生成されたドメイン226に対応しており、ドメインデータ248は、ドメイン228に対応している。このドメインデータには、トークン列の生成に使用するトークン値にアーカイブデータからの一意の値を関連付けるドメイン構造が含まれている。そして、圧縮ファイルには、ドメインに関連付けられているそれぞれのトークン列ごとの圧縮されたトークン列データ244、246、及び250などの圧縮トークン列データが更に含まれている。例えば、圧縮トークン列データ244は、トークン列230に対応しており、圧縮トークン列データ246は、トークン列232に対応し、圧縮トークン列データ250は、トークン列234に対応している。尚、省略符号252は、この圧縮ファイルのサイズが、そのオリジナルのアーカイブデータセットのサイズに応じて、任意であることを示している。
このトークン化及び圧縮プロセスにおいては、圧縮ファイルにアクセスするためのインデックスとして使用するべく、アーカイブメタデータ及びセグメントメタデータ107を抽出する(236)。このメタデータは、アーカイブ取得プロセスに有用な様々なフォーマットにエクスポート可能である。
図4は、本発明の模範的な実施例による圧縮ファイル生成プロセスのブロック図である。この圧縮ファイル生成プロセスにおいては、ドメインと関連付けられたアーカイブデータセット104の一部には、表形式の値の値列300a及び300bなどの1つ又は複数の値列が含まれている。尚、省略符号300cは、このアーカイブデータセット内の値列の数が、任意であることを示している。それぞれの値列は、値列ヘッダ302と、行306a及び306bなどの表形式の1つ又は複数の値行によって特徴付けられている。省略符号306cは、値列内の値の行数が、任意であることを示している。
アーカイブ生成プロセスにおいて、アーカイブデータセットをトークン化する(308)。このトークン化の際には、値列内の値をトークンによって置換し、トークン列を生成する。トークンの長さが一意の値の長さを下回る場合には、データ列の全体サイズが減少し、結果的に、アーカイブデータセットが圧縮されることになる。例えば、このブロック図においては、トークン化の際に、アーカイブデータセット104から、トークン化されたデータセット310が生成されている。そして、このトークン化データセットにおいては、アーカイブデータセットの列構成が保持されている。例えば、トークン列312aは、アーカイブの値列300aに対応しており、トークン列312bは、アーカイブの値列300bに対応している。省略符号312cは、このトークン列の数が、オリジナルのアーカイブデータ内の値列の数に対応することを示している。それぞれのトークン列においては、トークンが、オリジナルの対応するアーカイブデータの値列内のそれぞれの値ごとに存在している。例えば、トークン314aは、値306aに対応しており、トークン314bは、値306bに対応している。省略符号314cは、トークン列内のトークンの数が、アーカイブデータの対応する列内の値の数に対応することを示している。
このトークン化されたデータセットに加え、トークン化によれば、トークン値と一意の値を関連付けるドメイン構造316も生成される。このドメイン構造には、アーカイブデータから抽出されたソート済みの一意の値318が含まれている。そして、このリスト内におけるそれぞれの位置が、それぞれに関連付けられたトークン値になっている。又、一意の値がソートされた形態で保存されているため、この表内におけるそれらの位置は、その対応するトークン値の辞書的なIDをも示している。尚、破線で示されている辞書的なID列320により、ドメイン構造のこの特徴が示されている。
トークン化データセットの生成が完了すると、そのトークン化データセットのサイズを最適化する機会が与えられる(323)。例えば、ドメイン構造が完成する前の段階では、アーカイブデータ内の一意の値を表すのに必要なトークン数が不明であるため、トークンの最適なサイズを決定することは困難である。しかしながら、ドメイン構造が完成した後には、トークンの合計数と、従って、トークンの最適なサイズを容易に算出可能である。そして、最適なトークンサイズが決定されたら、そのトークン化データセット内のトークンを最適なサイズの新しいトークンの組によって置換することにより、最適化されたトークンデータセット325を生成することができる。
そして、圧縮ドメイン構造セグメント370及び371などの圧縮ファイル375内の1つ又は複数の圧縮ドメイン構造セグメントにドメイン構造を分割することにより、この最適化されたドメイン構造を圧縮する(369)。このドメイン構造セグメントの数とサイズは、ドメイン構造内の一意の値の数によって左右される。圧縮の際には、ドメイン構造をチェックし、そのドメイン構造を個別の圧縮ドメイン構造セグメントに分割する方法を決定する。この決定は、圧縮ドメイン構造セグメントの所望のサイズとドメイン構造内の一意の値の数に基づいて行われる。例えば、ドメイン構造が有する一意のトークン値が非常に少ない場合には、小さなサイズに圧縮して、1つの圧縮ドメイン構造セグメントに適合させることができる。対照的に、ドメイン構造に多数の一意の値が含まれている場合には、複数のドメイン構造セグメントを使用することにより、圧縮ドメイン構造を保持することになる。
それぞれのドメイン構造セグメントごとに、そのドメイン構造セグメントの最小及び最大値を維持管理する。複数のドメイン構造セグメントに跨って値が存在することはないことから、これらの最小及び最大値は、特定の一意の値をサーチする際に使用するドメイン構造セグメントの決定に使用する大まかなインデックスを構成することになる。次いで、PPM(Prediction by Partial Matching)アルゴリズムを使用し、これらのセグメントを個別に圧縮する。このタイプのアルゴリズムは、値の最後のいくつかの文字を使用して次の文字を予測するものであり、一意の値が既にソート済みであるため、ドメイン構造を圧縮するのに適している。
図示の圧縮ファイル375の場合には、圧縮ファイルには、2つの圧縮ドメイン構造セグメント370及び371に分割されたドメイン構造を具備するドメインD1が含まれている。オフセット372は、圧縮ドメイン構造セグメントの圧縮ファイル内における位置を示している。又、最小値374及び最大値376は、圧縮ドメイン構造セグメント内に含まれている一意の値の範囲を示している。
トークン化及び最適化の後に、このトークン化及び最適化されたデータセットを圧縮し(326)、同様に圧縮されたファイル内に保存する。このトークン化データセット内のそれぞれのトークン列ごとに、1つ又は複数の圧縮トークン列セグメントを生成する。この圧縮トークン列セグメントの数とサイズは、アーカイブデータセットのタプル(レコード)の数によって左右される。それぞれの圧縮トークン列セグメントごとに、開始及び終了タプルIDを記録する。トークン列内に保存されているトークン間の相関の程度が低いため、圧縮トークン列セグメントの生成には、算術符号化に基づいた統計的なアルゴリズムを使用する。
一例として、図示の圧縮ファイル375の場合には、圧縮ファイルに、値列300aに対応するトークン列312aに対応する圧縮トークン列セグメント358、360、及び362が含まれている。そして、それぞれの圧縮トークン列セグメントごとに、最小タプルID366及び最大タプルID368が示されている。圧縮トークン列セグメントは、ドメインと関連するそれぞれのトークン列ごとに、圧縮された状態で配置されている。
完了すると、この圧縮ファイルには、圧縮されたドメイン構造とトークン列データが含まれている。このトークン化及び圧縮プロセスにおいては、ドメイン構造及びトークン列から、ドメインメタデータ、トークン列メタデータ、及びセグメントメタデータを抽出する(390)。そして、この抽出されたメタデータの一部が、圧縮ファイル内のセグメントのいずれをも圧縮解除することなしにアクセス可能なヘッダとして、圧縮ファイル内に含まれることになる。アーカイブメタデータの一部もメタデータファイル332内に含まれることになる。データ処理システムは、このメタデータファイルを使用し、圧縮ファイル内に保存されているデータにアクセスすることができる。
模範的なメタデータファイルは、XML(eXtensible Markup Language)フォーマットで示されているが、あらゆるフォーマットを使用可能である。尚、この模範的なメタデータファイル内においては、第1及び第2ドメインから抽出されたメタデータを示すべく、メタデータが含まれているが、ドメインの数は任意である。XMLフォーマットのメタデータファイルにおいては、「Domains」タグ346は、1つ又は複数のドメインタグ348を含んでいる。それぞれのドメインタグは、「Domain name」属性350と「columns」属性352を含んでいる。列属性は、ドメイン内のトークン列の数を示している。「count」属性353は、そのドメイン構造内に保存されている一意の値の合計数を示している。「length」属性355は、ドメイン構造内における一意の値の保存場所の長さを示している。
「Columns」タグ354は、1つ又は複数の列タグ356を含んでいる。それぞれの列タグは、圧縮ファイル内に含まれているアーカイブデータからの値列の名前を示す「Column name」属性357を含んでいる。この列タグは、その列が属するドメインを示す「domId」属性358を更に含んでいる。「min」属性360は、その列内において検出される最小の一意の値を示しており、「max」属性361は、その列内において検出される最大の一意の値を示している。
図1を再度参照すれば、圧縮プロセスが完了すると、(図4の)圧縮ファイル328は、圧縮ファイルデータストア110a及び110bなどの1つ又は複数の圧縮ファイルデータストアを具備するファイルシステム内に保存される。又、(図4の)メタデータファイル332を使用し、メタデータデータベース108に入力する。圧縮ファイルがファイルシステム内に保存され、ファイルシステムの容量を限度として、新しいアーカイブデータをアーカイブシステムに追加可能である。又、メタデータも、メタデータデータベースの容量を限度として、メタデータデータベースに追加可能である。
図5は、本発明の模範的な実施例によるトークン化プロセスのブロックダイアグラムである。この図示のトークン化プロセスにおいては、アーカイブデータセット400は、「名前」列402を含んでいる。この図の場合には、名前列のそれぞれの位置のエントリを8ビットトークンによって置換する。そして、この名前列について、「名前トークン」ドメイン構造406を生成する。このドメイン構造は、アーカイブデータセット内において遭遇する一意の名前を保存するための名前列408を具備している。又、このドメイン構造は、一意の値に割り当てられたトークンを保存するためのトークン列410も含んでいる。
この例の場合には、名前「ジョン」412が、列内における最初の一意の値であり、トークン化データセット416内において、これをトークン「00000010」414によって置換する。そして、この一意の値「ジョン」418をドメイン構造内に入力し、トークン値「00000010」420を割り当てる。以下、列内のそれぞれの後続の一意の値について、新しいトークン値を生成し、ドメイン構造内の一意の値と関連付けを行い、これを使用して、トークン化データセット内の一意の値を置換する。
尚、アーカイブデータ内において、再度、同じ一意の値に遭遇した場合には、新しいトーク値は生成しない。この代わりに、ドメイン構造からトークン値を読み取り、トークン化データセット内に挿入する。即ち、この図示の例においては、「スーザン」という一意の値422が、複数回、アーカイブデータ内に出現している。この値「スーザン」は、ドメイン構造内において、トークン「00000101」424と関連付けられている。そこで、このトークンをトークン化データセット内の場所426及び428に2回挿入し、オリジナルアーカイブデータ内のスーザンの2つのインスタンスを表すことになるのである。
図6は、本発明の模範的な実施例によるトークン最適化プロセス及びトークン化データセット圧縮プロセスのブロック図である。アーカイブデータからのトークン化データセットの生成が完了すれば、アーカイブデータ内の一意の値のすべてを表すのに必要なトークン数が判明する。この結果、使用するトークンの最適なサイズを決定可能である。図5の例においては、8ビットのトークンを使用している。8ビットのトークンは、最大で256個の一意の値を表すことができる。しかしながら、トークン化プロセスの終了時点において、この例の場合には、一意の値の数は、わずかに6個であったことがわかる。従って、一意のトークン値をそれぞれの一意の値に付与するには、3ビットトークンで十分である。再度、図6を参照すれば、トークン列内の8ビットトークン500を3ビットトークンによって置換することにより、ドメイン構造406を最適化する。この結果、3ビットトークン502を具備する最適化されたドメイン構造が生成されることになる。そして、これと同様に、8ビットトークン504を3ビットトークン506によって置換することにより、図5の例のトークン化データセット416を最適化する。
このトークン化データセットの最適化が完了したら、これを圧縮し、圧縮ファイル510を生成可能である(508)。この圧縮プロセスにおいて、前述のメタデータ512をトークン化データセットから抽出する。
図7は、本発明の模範的な実施例によるサーチエージェントを採用したサーチプロセスのプロセスフローチャートである。前述のように、アーカイブシステム内においては、(図2の)サーチエージェント205a及び205bなどのサーチエージェントを使用して、圧縮ファイルにアクセスし、アーカイブデータを取得している。これらのサーチエージェントは、(図2の)サーチプロセス204によって起動される。サーチプロセスの開始時点において(601)、サーチプロセスは、ユーザー又は自動化プロセスから問合せ603を受信する(602)。次いで、サーチプロセスは、ドメイン構造605を使用し、この問合せを、等価なトークン化された問合せに分解する(606)。
そして、サーチプロセスは、メタデータ107にアクセスし、この問合せを満足させ得る保管データの検出のためにサーチを要する圧縮ファイル、ドメイン、及び列を決定する(611)。サーチプロセスは、列のセグメント化及び圧縮の前に圧縮ファイル内の列から抽出した最小及び最大トークン値を使用することにより、これを行う。これらの最小及び最大値を、トークン化された問合せ内のトークン値と比較し、決定を行うのである。そして、この決定が完了し、圧縮ファイルの選択が完了すれば、サーチプロセスは、それらの識別された圧縮ファイルに対して独立的にアクセスするサーチエージェント613a及び613bなどの1つ又は複数のサーチエージェントを起動することになる(612)。尚、省略符号613cは、サーチプロセスにより、任意の数の独立的に機能するサーチエージェントを起動可能であることを示している。この結果、サーチプロセスは、複数の圧縮ファイルを独立的にサーチすることができる。又、サーチエージェントを使用して圧縮ファイルにアクセスしているため、圧縮ファイルを、あらゆる便利な方式で維持管理すると共に、サーチプロセスに疎結合させることが可能となる。
以下のサーチエージェントプロセスにおいては、単一のサーチエージェントについて説明しているが、起動されたそれぞれのサーチエージェントは、並行して同様のサーチプロセスを実行する。即ち、起動すると、それぞれのサーチエージェントは、圧縮ファイル614にアクセスし、問合せを満足させ得る保管データを得るべく圧縮ファイルをサーチする(616)。このために、サーチエージェントは、圧縮ファイルのヘッダを読み取り、問合せを満足させ得るデータを含んでいる可能性のあるドメイン構造セグメントを決定する。圧縮ファイルのヘッダには、それぞれの圧縮ドメイン構造セグメント内に保存されている最小及び最大トークン値が含まれているため、サーチエージェントは、問合せを満足させるデータを含む可能性のあるセグメントを決定可能である。そして、所望のデータを含んでいる可能性の高い圧縮セグメントの識別が完了すると、サーチエンジンは、その選択した圧縮セグメントを圧縮解除し、要求されているデータを得るべく、その圧縮解除したセグメントをサーチし、要求基準に関連する値に関連付けられているトークンを識別する(618)。このプロセスは、所望のアーカイブデータを含んでいる可能性が高いとサーチエージェントが識別したそれぞれの圧縮セグメントごとに、反復されることになる。このプロセスの後に、要求基準のトークン表現を使用し、関連するそれぞれのトークン化データセットセグメントを分析する。そして、サーチエージェントは、サーチにおいて検出された結果データをサーチプロセスに返す(620)。サーチプロセスは、返されたすべての結果を収集し、最終的なサーチ結果624を生成して、サーチを停止させる(626)。
図8は、本発明の模範的な実施例によるビットベクトルに基づいた圧縮法を示すブロックダイアグラムである。この圧縮法によれば、圧縮ファイル内に保存されているデータのいずれをも圧縮解除することなしに、圧縮ファイルのすべてをサーチ可能である。前述のように、データの複数の列を具備するアーカイブデータ700をトークン化及び最適化する。この例の場合には、アーカイブデータは、個人のグループの名前と苗字の一覧であり、第1アーカイブ値列702内には、名前を、苗字アーカイブ値列704内には、苗字を有している。トークン化及び最適化プロセスの結果、トークン化並びに最適化されたデータセット706が生成される。このトークン化データセットは、名前アーカイブ値列に対応する名前トークン列708と、苗字アーカイブ値列に対応する苗字トークン列710を含んでいる。ビットベクトルの組712を生成することにより、このトークン化データセットを圧縮可能である。
このビットベクトルの組内のそれぞれのビットベクトルは、1つのトークンに対応している。それぞれのビットベクトルの長さは、トークン列内のトークン値の数と等しい。そして、ビットベクトル内の値は、トークン列内の特定の位置における対応するトークンの存在/不在を反映している。例えば、ビットベクトル718は、名前トークン列内のトークン「011」720に対応している。トークン「011」は、名前トークン列内の第5の位置に出現しており、従って、「1」がビットベクトル718内の第5の位置に出現している。トークン「100」は、アーカイブデータの名前列内の名前「メアリ」722に対応していることから、これは、名前「メアリ」が、アーカイブデータセットの名前値列内の第5のエントリであることを意味している。同様に、ビットベクトル724は、アーカイブデータセットの苗字値列内の苗字「アダムス」726に対応している。このベクトル化プロセスが完了した時点で、圧縮ファイルは、ビットベクトルの複数のサブセットから構成されており、それぞれのサブセットは、トークン化データセット内のトークン列に(従って、アーカイブデータセット内の列に)対応している。即ち、この例においては、ビットベクトルサブセット714は、アーカイブデータ内の名前値列に対応しており、ビットベクトルサブセット716は、アーカイブデータ内の苗字値列に対応している。
このトークン化プロセスの1つの特徴は、この結果、アーカイブデータセットの列内に、値の辞書的な順序付けが生成されることである。このため、どのビットベクトルがどのトークンと関連しているのかを識別するヘッダ情報と共にビットベクトルを保存する必要はない。この代わりに、ビットベクトルは、トークンの辞書的な順序に従って圧縮された形態で保存される。
図9は、本発明の模範的な実施例による問合せ結果を生成するためのビットベクトルに対するブール演算の使用法を示すブロックダイアグラムである。ブール演算において、図7のビットベクトルを直接使用し、問合せを満足させることができる。即ち、一例として、「メアリ・アダムス」という名前の問合せは、「名前=メアリ」AND「苗字=アダムス」800という問合せ表現に分解することができる。名前「メアリ」に対応するビットベクトル718と苗字「アダムス」に対応するビットベクトル724を選択することにより、この表現を(図8の)圧縮ファイル712の全体について評価することができる。ブールAND演算802において、これらのビットベクトルを組み合わせ、結果のビットベクトル804を得ることができる。このビットベクトルは、第5位置に「1」806を具備しており、これは、「メアリ・アダムス」という氏名が、圧縮ファイル内のこの位置において検出されることを示している。
図10は、本発明の模範的な実施例によるビットベクトルを具備した圧縮ファイルを使用するアーカイブシステム用のサーチエージェントプロセスのプロセスフローチャートである。(図2の)サーチプロセス204の動作は、圧縮ファイルがビットベクトル及び圧縮セグメントのいずれを使用している場合にも同様である。しかしながら、(図2)のサーチエージェント205aなどのサーチエージェントの動作は、サーチエージェントがアクセスする圧縮ファイルがビットベクトル及び圧縮セグメントのいずれを含んでいるのかに応じて異なってくる。即ち、ビットベクトルを有する圧縮ファイルに使用するサーチエージェント900がサーチプロセスによって起動される901。サーチエージェントは、サーチプロセスによって選択された圧縮ファイル902にアクセスする。次いで、サーチエージェントは、サーチエージェントがサーチしているデータに対応する1つ又は複数のビットベクトルを選択する(904)。次いで、サーチエンジンは、それらの選択したビットベクトルに対してブール演算を実行し、圧縮ファイル内のデータが(図2の)サーチプロセス204から受信した問合せを満足させるかどうかを決定する。そして、このブール演算の完了時点において、返すべきタプルの識別に使用するセレクタとして機能するビットベクトルが生成されることになる。プロジェクションリスト、要求において返す列及び属性のリスト、及びビットベクトルレコードセレクタに基づいて、サーチエージェントは、結果データを生成する。この結果データの生成は、ルックアップ機能を使用して所望のタプルのトークンIDをその実装に使用した値によって置換する逆プロセスを実行することにより、行われる。そして、この生成プロセスの完了時点において、サーチエージェントは、起動元のサーチプロセスに対してなんらかの結果を返す906。尚、ビットベクトルの処理については、Glaser他に発行された米国特許第5,036,457号明細書(USP5,036,457)に総合的に詳述されており、この開示内容は、本明細書にそれらがすべて記述されたと同様に、本引用により、本明細書に包含される。
図11は、本発明の模範的な実施例によるアーカイブシステムホストとして使用されるデータ処理装置のアーキテクチャ図である。このデータ処理装置は、システムバス1004によってメインメモリ1002に動作可能に接続されたプロセッサ1000を含んでいる。このプロセッサは、入出力(I/O)制御ユニット1006、I/Oローカルバス1008、及びストレージ装置コントローラ1010を介してストレージ装置1012に更に接続されている。このストレージ装置を使用して、プログラミング命令1016を保存することができる。
動作の際には、プロセッサは、ストレージ装置からプログラミング命令をメインメモリ内に読み込む。次いで、プロセッサは、このプログラミング命令を実行し、前述の保管システムの機能を実現する。又、このストレージ装置は、アーカイブシステムの機能を実現するべくプロセッサが使用するデータ1014の保存にも使用可能である。
又、プロセッサは、入出力(I/O)制御ユニット、I/Oローカルバス、及び通信装置コントローラ1018を介して通信装置1018にも接続可能である。この結果、プロセッサは、圧縮ファイルを取得するべく、その他のデータ処理システム又はファイルシステムと通信可能である。
以上、特定の実施例により、本発明について説明したが、当業者には、多数の更なる変更及び変形が明らかであろう。従って、本発明は、本明細書において具体的に説明したもの以外の方法で実施可能であることを理解されたい。従って、本発明のこれらの実施例は、すべての面において、説明を意図するものであって、制限を意図するものではないと見なすべきであり、本発明の範囲は、以上の説明によってではなく、本出願によってサポートされている請求項及び請求項の等価物によって決定されるべきものである。
本発明の模範的な実施例による保管モードにおけるサーチ可能なアーカイブシステムのブロック図である。 本発明の模範的な実施例によるデータ取得モードにおけるサーチ可能なアーカイブシステムのブロック図である。 本発明の模範的な実施例によるサーチ可能なアーカイブ生成プロセスのフローチャートである。 本発明の模範的な実施例によるサーチ可能なアーカイブ生成プロセスのブロック図である。 本発明の模範的な実施例によるトークン化プロセスのブロック図である。 本発明の模範的な実施例によるトークン最適化プロセス及びトークン化データセット圧縮プロセスのブロック図である。 本発明の模範的な実施例によるサーチエージェントを採用したサーチプロセスのプロセスフローチャートである。 本発明の模範的な実施例による圧縮方法を示すブロック図である。 本発明の模範的な実施例による問合せ結果を生成するためのビットベクトルに対するブール演算の使用法を示すブロック図である。 本発明の模範的な実施例によるビットベクトルを具備した圧縮ファイルを使用するアーカイブシステム用のサーチエージェントプロセスのプロセスフローチャートである。 本発明の模範的な実施例によるデータ処理システムのアーキテクチャ図である。

Claims (16)

  1. データ処理システムによってアクセス可能な、サーチ可能なアーカイブを生成するコンピュータで実現される方法であって、
    前記データ処理システムにおいてコンピュータが実行するトークン化および圧縮ソフトウェアにより、一組のデータからドメイン構造及びトークン化データを生成するステップであって、前記ドメイン構造は、前記一組のデータ内の一意の値のそれぞれに異なるトークン値を割り当てるものであり、前記トークン化データは、前記一組のデータ内の値の列である値列に対応するトークン列を含んでおり、前記トークン列は、前記値列に格納されているそれぞれの値を表わすための相応のトークン値を格納するものである、ステップと、
    前記トークン化および圧縮ソフトウェアにより、前記トークン列に格納されている前記トークン値からアーカイブメタデータを決定するステップと、
    前記トークン化および圧縮ソフトウェアにより、前記トークン化データを1つ又は複数のトークン列セグメントに分割するステップと、
    前記トークン化および圧縮ソフトウェアにより、相応の前記1つ又は複数のトークン列セグメントに格納されている前記トークン値から前記1つ又は複数のトークン列セグメントに対するトークン列セグメントメタデータを決定するステップと、
    前記トークン化および圧縮ソフトウェアにより、前記トークン列セグメントから1つ又は複数の圧縮トークン列セグメントを生成するステップと、
    前記トークン化および圧縮ソフトウェアにより、前記1つ又は複数の圧縮トークン列セグメント及び前記トークン列セグメントメタデータから1つ又は複数の圧縮ファイルを生成するステップと、
    前記トークン化および圧縮ソフトウェアにより、前記データ処理システムに接続されたファイルシステム内に、前記1つ又は複数の圧縮ファイルを保存するステップと、
    を有する方法。
  2. 前記アーカイブメタデータを決定するステップは、前記トークン列のそれぞれごとに、最大トークン値と最小トークン値を決定するステップを更に有する請求項1記載の方法。
  3. 前記トークン列セグメントメタデータを決定するステップは、前記1つ又は複数のトークン列セグメントのそれぞれごとに、最大トークン値及び最小トークン値を決定するステップを更に有する請求項1記載の方法。
  4. 前記ドメイン構造を1つ又は複数のドメイン構造セグメントに分割するステップと、
    前記ドメイン構造セグメントからメタデータを決定するステップと、
    前記1つ又は複数のドメイン構造セグメントを圧縮するステップと、
    を更に有し、
    1つ又は複数の圧縮ファイルを生成するステップは、前記圧縮されたドメイン構造セグメントを前記圧縮ファイル内に保存するステップを更に含む請求項1記載の方法。
  5. データ処理システムによってアクセス可能な、サーチ可能なアーカイブを生成する、コンピュータで実現される方法であって、
    前記データ処理システムにおいてコンピュータが実行するトークン化および圧縮ソフトウェアにより一組のデータからドメイン構造及びトークン化データを生成するステップであって、前記ドメイン構造は、前記一組のデータ内の一意の値のそれぞれに異なるトークン値を割り当てるものであり、前記トークン化データは、前記一組のデータ内の値の列である値列に対応するトークン列を含んでおり、前記トークン列は、前記値列に格納されているそれぞれの値を表わすための相応のトークン値を格納するものである、ステップと、
    前記トークン化および圧縮ソフトウェアにより、前記トークン列に格納されている前記トークン値からメタデータを決定するステップと、
    前記トークン化および圧縮ソフトウェアにより、前記トークン化データからビットベクトルの組を生成するステップであって、前記ビットベクトルの組内の各ビットベクトルは、特定のトークンの、前記トークン列の1つにおける出現位置を示すものである、ステップと、
    前記トークン化および圧縮ソフトウェアにより、前記ビットベクトルの組から1つ又は複数の圧縮ファイルを生成するステップと、
    前記トークン化および圧縮ソフトウェアにより、前記データ処理システムに接続されたファイルシステム内に、前記1つ又は複数の圧縮ファイルを保存するステップと、
    を有する方法。
  6. 前記メタデータを決定するステップは、前記1つ又は複数の列のそれぞれごとに、最大トークン値及び最小トークン値を決定するステップを更に有する請求項5記載の方法。
  7. コンピュータを
    一組のデータからドメイン構造とトークン化データを生成する手段であって、前記ドメイン構造は、前記一組のデータ内の一意の値のそれぞれに異なるトークン値を割り当てるものであり、前記トークン化データは、前記一組のデータ内の値の列である値列に対応するトークン列を含んでおり、前記トークン列は、前記値列に格納されているそれぞれの値を表わすための相応のトークン値を格納するものである、手段と、
    前記前記トークン列に格納されている前記トークン値からアーカイブメタデータを決定する手段と、
    前記トークン化データを1つ又は複数のトークン列セグメントに分割する手段と、
    相応の前記1つ又は複数のトークン列セグメントに格納されているトークン値から前記1つ又は複数のトークン列セグメントに対するトークン列セグメントメタデータを決定する手段と、
    前記トークン列セグメントから1つ又は複数の圧縮トークン列セグメントを生成する手段と、
    前記1つ又は複数の圧縮トークン列セグメント及び前記トークン列セグメントメタデータから1つ又は複数の圧縮ファイルを生成する手段と、
    前記データ処理システムに接続されたファイルシステム内に、前記1つ又は複数の圧縮ファイルを保存する手段
    として機能させるためのプログラム
  8. 前記アーカイブメタデータを決定する手段は、前記トークン列のそれぞれごとに、最大値と最小値を決定する手段を更に含む請求項7記載のプログラム
  9. 前記トークン列セグメントメタデータを定する手段は、前記1つ又は複数のトークン列セグメントのそれぞれごとに、最大トークン値と最小トークン値を決定する手段を更に含む請求項7記載のプログラム
  10. 前記コンピュータを、さらに、
    前記ドメイン構造を1つ又は複数のドメイン構造セグメントに分割する手段と、
    前記ドメイン構造セグメントからメタデータを決定する手段と、
    前記1つ又は複数のドメイン構造セグメントを圧縮する手段
    として機能させ、
    1つ又は複数の圧縮ファイルを生成する手段は、前記圧縮ファイル内に、前記圧縮されたドメイン構造セグメントを保存する手段を含んでいる請求項7記載のプログラム
  11. コンピュータを
    一組のデータからドメイン構造及びトークン化データを生成する手段であって、前記ドメイン構造は、前記一組のデータ内の一意の値のそれぞれに異なるトークン値を割り当てるものであり、前記トークン化データは、前記一組のデータ内の値の列である値列に対応するトークン列を含んでおり、前記トークン列は、前記値列に格納されているそれぞれの値を表わすための相応のトークン値を格納するものである、手段と、
    前記トークン列に格納されている前記トークン値からメタデータを決定する手段と、
    前記トークン化データからビットベクトルの組を生成する手段であって、前記ビットベクトルの組内の各ビットベクトルは、特定のトークンの、前記トークン列の1つにおける出現位置を示すものである、手段と、
    前記ビットベクトルの組から1つ又は複数の圧縮ファイルを生成する手段と、
    前記データ処理システムに接続されたファイルシステム内に、前記1つ又は複数の圧縮ファイルを保存する手段
    として機能させるプログラム
  12. 前記メタデータを決定する手段は、前記トークンの1つ又は複数のトークン列のそれぞれごとに、最大トークン値及び最小トークン値を決定する手段を更に含んでいる請求項11記載のプログラム
  13. データ処理システムにより、サーチ可能なアーカイブを利用する、コンピュータで実現される方法であって、
    前記データ処理システムにおいて1つまたは複数のコンピュータが実行するトークン化および圧縮ソフトウェアにより、一組のデータからドメイン構造及びトークン化データを生成するステップであって、前記ドメイン構造は、前記一組のデータ内の一意の値のそれぞれに異なるトークン値を割り当てるものであり、前記トークン化データは、前記一組のデータ内の値の列である値列に対応するトークン列を含んでおり、前記トークン列は、前記値列に格納されているそれぞれの値を表わすための相応のトークン値を格納するものである、ステップと、
    前記トークン化および圧縮ソフトウェアにより、前記トークン化データと関連付けて格納されている前記トークン値からアーカイブメタデータを決定するステップと、
    前記トークン化および圧縮ソフトウェアにより、前記トークン化データを1つ又は複数のセグメントに分割するステップと、
    前記トークン化および圧縮ソフトウェアにより、相応の前記1つ又は複数のセグメントに格納されているトークン値から前記1つ又は複数のセグメントに対するセグメントメタデータを決定するステップと、
    前記トークン化および圧縮ソフトウェアにより、前記セグメントから1つ又は複数の圧縮セグメントを生成するステップと、
    前記トークン化および圧縮ソフトウェアにより、前記1つ又は複数の圧縮セグメントと前記セグメントメタデータから1つ又は複数の圧縮ファイルを生成するステップと、
    前記トークン化および圧縮ソフトウェアにより、前記データ処理システムに接続されたファイルシステム内に、前記1つ又は複数の圧縮ファイルを保存するステップと、
    前記データ処理システムにおいて1つまたは複数のコンピュータが実行するサーチソフトウェアにより、前記アーカイブメタデータに基づき、前記1つ又は複数の圧縮ファイルの1つを選択するステップと、
    前記サーチソフトウェアにより起動され前記1つまたは複数のコンピュータが実行する1つまたは複数のサーチエンジンにより、前記選択した圧縮ファイルにアクセスするステップと、
    前記1つまたは複数のサーチエンジンにより、前記セグメントメタデータを使用し、前記選択した圧縮ファイル内の前記1つ又は複数の圧縮セグメントの1つを選択するステップと、
    前記1つまたは複数のサーチエンジンにより、前記選択した圧縮セグメントから、圧縮解除されたセグメントを生成するステップと、
    前記1つまたは複数のサーチエンジンにより、前記圧縮解除したセグメントが所要のデータを含んでいるかどうかを決定するために、前記圧縮解除したセグメントをサーチするステップと、
    を有する方法。
  14. データ処理システムにより、サーチ可能なアーカイブを利用する、コンピュータで実現される方法であって、
    前記データ処理システムにおいて1つまたは複数のコンピュータにより実行されるトークン化および圧縮ソフトウェアにより、一組のデータからドメイン構造及びトークン化データを生成するステップであって、前記ドメイン構造は、前記一組のデータ内の一意の値のそれぞれに異なるトークン値を割り当てるものであり、前記トークン化データは、前記一組のデータ内の値列に対応するトークン列を含んでおり、前記トークン列は、前記値列に格納されているそれぞれの値を表わすための相応のトークン値を格納するものである、ステップと、
    前記トークン化および圧縮ソフトウェアにより、前記トークン化データと関連付けて格納されている前記トークン値からアーカイブメタデータを決定するステップと、
    前記トークン化および圧縮ソフトウェアにより、前記トークン化データからビットベクトルの組を生成するステップであって、前記ビットベクトルの組内の各ビットベクトルは、特定のトークンの、前記トークン列の1つにおける出現位置を示すものである、ステップと、
    前記トークン化および圧縮ソフトウェアにより、前記ビットベクトルの組から、1つ又は複数の圧縮ファイルを生成するステップと、
    前記トークン化および圧縮ソフトウェアにより、前記データ処理システムに接続されたファイルシステム内に、前記1つ又は複数の圧縮ファイルを保存するステップと、
    前記データ処理システムにおいて1つまたは複数のコンピュータが実行するサーチソフトウェアにより、前記アーカイブメタデータに基づき、前記1つ又は複数の圧縮ファイルの1つを選択するステップと、
    前記サーチソフトウェアにより起動され前記1つまたは複数のコンピュータが実行する1つまたは複数のサーチエージェントにより、前記選択した圧縮ファイルにアクセスするステップと、
    前記1つまたは複数のサーチエージェントにより、前記選択した圧縮ファイル内のビットベクトルの組から1つ又は複数のビットベクトルを選択するステップと、
    前記1つまたは複数のサーチエージェントにより、所要のデータが前記圧縮ファイル内に保存されているかどうかを定するために、前記選択したビットベクトルに対してブール演算を実行するステップと、
    を有する方法。
  15. 1つまたは複数のコンピュータを
    1組のデータからドメイン構造及びトークン化データを生成する手段であって、前記ドメイン構造は、前記一組のデータ内の一意の値のそれぞれに異なるトークン値を割り当てるものであり、前記トークン化データは、前記一組のデータ内の値の列である値列に対応するトークン列を含んでおり、前記トークン列は、前記値列に格納されているそれぞれの値を表わすための相応のトークン値を格納するものである、手段と、
    前記トークン化データと関連付けて格納されている前記トークン値からアーカイブメタデータを決定する手段と、
    前記トークン化データを1つ又は複数のセグメントに分割する手段と、
    相応の前記1つ又は複数のセグメントに格納されているトークン値から前記1つ又は複数のセグメントに対するセグメントメタデータを決定する手段と、
    前記セグメントから1つ又は複数の圧縮セグメントを生成する手段と、
    前記1つ又は複数の圧縮セグメント及び前記セグメントメタデータから1つ又は複数の圧縮ファイルを生成する手段と、
    前記データ処理システムに接続されたファイルシステム内に、前記1つ又は複数の圧縮ファイルを保存する手段と、
    前記アーカイブメタデータに基づき、前記1つ又は複数の圧縮ファイルの1つを選択する手段と、
    前記選択した圧縮ファイルにアクセスする手段と、
    前記セグメントメタデータを使用し、前記選択した圧縮ファイル内の前記1つ又は複数の圧縮セグメントの1つを選択する手段と、
    前記選択した圧縮セグメントから、圧縮解除されたセグメントを生成する手段と、
    前記圧縮解除したセグメントが所要のデータを含んでいるかどうかを定するために、前記圧縮解除したセグメントをサーチする手段
    として機能させるプログラム
  16. 1つまたは複数のコンピュータを
    一組のデータからドメイン構造及びトークン化データを生成する手段であって、前記ドメイン構造は、前記一組のデータ内の一意の値のそれぞれに異なるトークン値を割り当てるものであり、前記トークン化データは、前記一組のデータ内の値の列である値列に対応するトークン列を含んでおり、前記トークン列は、前記値列に格納されているそれぞれの値を表わすための相応のトークン値を格納するものである、手段と、
    前記トークン化データと関連付けて格納されている前記トークン値からアーカイブメタデータを決定する手段と、
    前記トークン化データからビットベクトルの組を生成する手段であって、前記ビットベクトルの組内の各ビットベクトルは、特定のトークンの、前記トークン列の1つにおける出現位置を示すものである、手段と、
    前記ビットベクトルの組から1つ又は複数の圧縮ファイルを生成する手段と、
    前記データ処理システムに接続されたファイルシステム内に、前記1つ又は複数の圧縮ファイルを保存する手段と、
    前記アーカイブメタデータに基づき、前記1つ又は複数の圧縮ファイルの1つを選択する手段と、
    前記選択した圧縮ファイルにアクセスする手段と、
    前記選択した圧縮ファイル内のビットベクトルの組から1つ又は複数のビットベクトルを選択する手段と、
    所要のデータが前記圧縮ファイル内に保存されているかどうかを定するために、前記選択したビットベクトルに対してブール演算を実行する手段
    として機能させるプログラム
JP2005044521A 2004-02-20 2005-02-21 サーチ可能なアーカイブ Active JP4313323B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/783,643 US7243110B2 (en) 2004-02-20 2004-02-20 Searchable archive

Publications (2)

Publication Number Publication Date
JP2005235226A JP2005235226A (ja) 2005-09-02
JP4313323B2 true JP4313323B2 (ja) 2009-08-12

Family

ID=34711882

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005044521A Active JP4313323B2 (ja) 2004-02-20 2005-02-21 サーチ可能なアーカイブ

Country Status (5)

Country Link
US (3) US7243110B2 (ja)
EP (1) EP1566753B1 (ja)
JP (1) JP4313323B2 (ja)
AU (1) AU2005200166B2 (ja)
CA (1) CA2490212C (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8656039B2 (en) 2003-12-10 2014-02-18 Mcafee, Inc. Rule parser
US8548170B2 (en) 2003-12-10 2013-10-01 Mcafee, Inc. Document de-registration
US7243110B2 (en) * 2004-02-20 2007-07-10 Sand Technology Inc. Searchable archive
US9477729B2 (en) 2004-02-20 2016-10-25 Informatica Llc Domain based keyword search
US20070050361A1 (en) * 2005-08-30 2007-03-01 Eyhab Al-Masri Method for the discovery, ranking, and classification of computer files
DE602006013690D1 (de) * 2005-11-14 2010-05-27 Nxp Bv Integrierte schaltungsanordnung und entwurfsverfahren
US7676474B2 (en) * 2005-12-22 2010-03-09 Sap Ag Systems and methods for finding log files generated by a distributed computer
US7958227B2 (en) 2006-05-22 2011-06-07 Mcafee, Inc. Attributes of captured objects in a capture system
US20080027908A1 (en) * 2006-07-24 2008-01-31 Norbert Durbeck Method for requesting and processing metadata which is contained in a data stream and associated device
US8266147B2 (en) 2006-09-18 2012-09-11 Infobright, Inc. Methods and systems for database organization
US8700579B2 (en) * 2006-09-18 2014-04-15 Infobright Inc. Method and system for data compression in a relational database
GB2446832A (en) * 2007-02-23 2008-08-27 Quantel Ltd A file server system
US8032499B2 (en) * 2007-05-21 2011-10-04 Sap Ag Compression of tables based on occurrence of values
US8112388B2 (en) * 2007-08-03 2012-02-07 Sap Ag Dependency processing of computer files
US8166041B2 (en) * 2008-06-13 2012-04-24 Microsoft Corporation Search index format optimizations
US9253154B2 (en) 2008-08-12 2016-02-02 Mcafee, Inc. Configuration management for a capture/registration system
US8850591B2 (en) 2009-01-13 2014-09-30 Mcafee, Inc. System and method for concept building
US8473442B1 (en) 2009-02-25 2013-06-25 Mcafee, Inc. System and method for intelligent state management
US8447722B1 (en) 2009-03-25 2013-05-21 Mcafee, Inc. System and method for data mining and security policy management
US8463944B2 (en) * 2010-01-05 2013-06-11 International Business Machines Corporation Optimal compression process selection methods
US8521748B2 (en) 2010-06-14 2013-08-27 Infobright Inc. System and method for managing metadata in a relational database
US8417727B2 (en) 2010-06-14 2013-04-09 Infobright Inc. System and method for storing data in a relational database
US20110314070A1 (en) * 2010-06-18 2011-12-22 Microsoft Corporation Optimization of storage and transmission of data
US8489676B1 (en) 2010-06-30 2013-07-16 Symantec Corporation Technique for implementing seamless shortcuts in sharepoint
US8806615B2 (en) * 2010-11-04 2014-08-12 Mcafee, Inc. System and method for protecting specified data combinations
US20130132352A1 (en) * 2011-11-23 2013-05-23 Microsoft Corporation Efficient fine-grained auditing for complex database queries
US20130246431A1 (en) 2011-12-27 2013-09-19 Mcafee, Inc. System and method for providing data protection workflows in a network environment
EP2831772A1 (en) * 2012-03-29 2015-02-04 The Echo Nest Corporation Real time mapping of user models to an inverted data index for retrieval, filtering and recommendation
US9165009B1 (en) * 2013-03-14 2015-10-20 Emc Corporation Lightweight appliance for content storage
US9218379B2 (en) * 2013-03-15 2015-12-22 Informatica Llc Method, apparatus, and computer-readable medium for efficiently performing operations on distinct data values
US9569441B2 (en) * 2013-10-09 2017-02-14 Sap Se Archival of objects and dynamic search
GB2519516B (en) * 2013-10-21 2017-05-10 Openwave Mobility Inc A method, apparatus and computer program for modifying messages in a communications network
EP2942720A1 (en) * 2014-05-09 2015-11-11 Informatica Corporation Domain based keyword search
US9483545B2 (en) * 2014-05-30 2016-11-01 International Business Machines Corporation Grouping data in a database
CN104484480B (zh) * 2014-12-31 2018-06-05 华为技术有限公司 基于重复数据删除的远程复制方法及装置
US9852337B1 (en) 2015-09-30 2017-12-26 Open Text Corporation Method and system for assessing similarity of documents
CN106250409A (zh) * 2016-07-21 2016-12-21 中国农业银行股份有限公司 数据查询方法及装置
WO2018106511A1 (en) * 2016-12-06 2018-06-14 Amazon Technologies, Inc. Method for selling and searching for items
US10671944B2 (en) * 2016-12-06 2020-06-02 Amazon Technologies, Inc. Method for selling and searching for items
US10824964B2 (en) * 2016-12-06 2020-11-03 Amazon Technologies, Inc. Method for selling and searching for items
US11169995B2 (en) * 2017-11-21 2021-11-09 Oracle International Corporation Relational dictionaries
US11615102B2 (en) * 2019-10-18 2023-03-28 Splunk Inc. Swappable online machine learning algorithms implemented in a data intake and query system
US11556497B2 (en) * 2020-01-06 2023-01-17 Armiq Co., Ltd. Real-time archiving method and system based on hybrid cloud
KR102559290B1 (ko) * 2020-01-06 2023-07-26 주식회사 아미크 하이브리드 클라우드 기반의 실시간 데이터 아카이빙 방법 및 시스템

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5036457A (en) 1987-09-24 1991-07-30 Nucleus International Corporation Bit string compressor with boolean operation processing capability
US5835667A (en) * 1994-10-14 1998-11-10 Carnegie Mellon University Method and apparatus for creating a searchable digital video library and a system and method of using such a library
US5574906A (en) * 1994-10-24 1996-11-12 International Business Machines Corporation System and method for reducing storage requirement in backup subsystems utilizing segmented compression and differencing
AU4092596A (en) * 1995-01-13 1996-08-08 Canon Kabushiki Kaisha Liquid ejecting head, liquid ejecting device and liquid ejecting method
US5704060A (en) * 1995-05-22 1997-12-30 Del Monte; Michael G. Text storage and retrieval system and method
US6070164A (en) * 1998-05-09 2000-05-30 Information Systems Corporation Database method and apparatus using hierarchical bit vector index structure
US6959300B1 (en) * 1998-12-10 2005-10-25 At&T Corp. Data compression method and apparatus
US6976053B1 (en) * 1999-10-14 2005-12-13 Arcessa, Inc. Method for using agents to create a computer index corresponding to the contents of networked computers
WO2001059613A2 (en) 2000-02-11 2001-08-16 Datachest.Com, Inc. System for data management
IL151091A0 (en) * 2000-03-01 2003-04-10 Computer Ass Think Inc Method and system for updating an archive of a computer file
US20060143180A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US6615225B1 (en) 2000-04-27 2003-09-02 International Business Machines Corporation System and method for relating files in a distributed data storage environment
US20020065800A1 (en) * 2000-11-30 2002-05-30 Morlitz David M. HTTP archive file
US6804677B2 (en) * 2001-02-26 2004-10-12 Ori Software Development Ltd. Encoding semi-structured data for efficient search and browsing
US6965904B2 (en) * 2001-03-02 2005-11-15 Zantaz, Inc. Query Service for electronic documents archived in a multi-dimensional storage space
US7353236B2 (en) * 2001-03-21 2008-04-01 Nokia Corporation Archive system and data maintenance method
US7024414B2 (en) * 2001-08-06 2006-04-04 Sensage, Inc. Storage of row-column data
US7761488B2 (en) * 2003-05-06 2010-07-20 Apple Inc. File creation API
US20050027756A1 (en) * 2003-07-28 2005-02-03 David Pettigrew System and a method for distinguishing between data and print files in an archived file
US7546288B2 (en) * 2003-09-04 2009-06-09 Microsoft Corporation Matching media file metadata to standardized metadata
US7194450B2 (en) * 2003-12-19 2007-03-20 Xerox Corporation Systems and methods for indexing each level of the inner structure of a string over a language having a vocabulary and a grammar
US7424467B2 (en) * 2004-01-26 2008-09-09 International Business Machines Corporation Architecture for an indexer with fixed width sort and variable width sort
US7243110B2 (en) * 2004-02-20 2007-07-10 Sand Technology Inc. Searchable archive

Also Published As

Publication number Publication date
AU2005200166B2 (en) 2008-02-28
US8386435B2 (en) 2013-02-26
EP1566753A3 (en) 2006-11-08
US8799229B2 (en) 2014-08-05
CA2490212A1 (en) 2005-08-20
CA2490212C (en) 2011-04-12
US20130212071A1 (en) 2013-08-15
EP1566753B1 (en) 2018-11-07
US20050187962A1 (en) 2005-08-25
US7243110B2 (en) 2007-07-10
EP1566753A2 (en) 2005-08-24
US20070266044A1 (en) 2007-11-15
JP2005235226A (ja) 2005-09-02
AU2005200166A1 (en) 2005-09-08

Similar Documents

Publication Publication Date Title
JP4313323B2 (ja) サーチ可能なアーカイブ
US20220342875A1 (en) Data preparation context navigation
US5987453A (en) Method and apparatus for performing a join query in a database system
US8280907B2 (en) System and method for managing access to data in a database
US8396861B2 (en) Determining a density of a key value referenced in a database query over a range of rows
US9639542B2 (en) Dynamic mapping of extensible datasets to relational database schemas
CN104285222B (zh) 用于重写查询的方法和系统
US20200210399A1 (en) Signature-based cache optimization for data preparation
US8103624B2 (en) Apparatus and method for automating the logging of table changes in a database
US11580162B2 (en) Key value append
US20130179433A1 (en) Database query optimization using index carryover to subset an index
US20130080484A1 (en) Rapidly deploying virtual database applications using data model analysis
US20170109389A1 (en) Step editor for data preparation
JP4177833B2 (ja) リンクリストへのマルチプロセスアクセス方法および装置
US20060085464A1 (en) Method and system for providing referential integrity constraints
US20100205197A1 (en) Two-valued logic database management system with support for missing information
US7529729B2 (en) System and method for handling improper database table access
US20050278277A1 (en) Method and apparatus for propogating tables while preserving foreign key integrity
US6978272B1 (en) Method and apparatus for displaying instrumentation parameters in a database system
US20220335030A1 (en) Cache optimization for data preparation
Dileep An Effective Approach for Indexed Data Access based on Linear Search Technique Using Reference Key Algorithm
JP2540821B2 (ja) デ―タベ―ス検索システム
EP2942720A1 (en) Domain based keyword search
JPH05313971A (ja) リレーショナル・データベースにおけるキーワード管理方式
JP2002007438A (ja) データ管理方法及び装置、記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080422

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080718

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090217

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090414

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090514

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120522

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4313323

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120522

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130522

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250