(57)【要約】【課題】  問い合わせが容易であり、かつ、安価に維持することのできるアーカイブシステムを提供する。【解決手段】  保管プロセスにおいては、アーカイブデータをトークン化し、このトークン化されたアーカイブデータを最適化し、トークン化データからアーカイブメタデータを抽出する。次いで、様々な方法で、トークン化データを、サーチエージェントによって個別にアクセス及び圧縮解除可能な圧縮セグメントに圧縮する。圧縮の前に、セグメントからセグメントメタデータを抽出する。そして、圧縮セグメント及びセグメントメタデータを組み合わせて、圧縮ファイルを生成する。サーチプロセスにおいては、アーカイブメタデータを参考にして、圧縮ファイルにアクセスする。次いで、１つ又は複数のサーチエージェントがセグメントメタデータを使用してセグメントを識別し、圧縮解除及びサーチを行う。【選択図】      図４
2005235226.tif 000002
【特許請求の範囲】
【請求項１】
データ処理システムによってアクセス可能なサーチ可能なアーカイブを生成する方法において、
アーカイブデータセットからドメイン構造及びトークン化データを生成する段階であって、前記ドメイン構造は、前記アーカイブデータセット内の一意の値に対応するトークンを含んでおり、前記トークン化データは、前記アーカイブデータセット内の値列に対応するトークン列を含んでいる、段階と、
前記ドメイン構造及び前記トークン化データからアーカイブメタデータを決定する段階と、
前記トークン化データを１つ又は複数のトークン列セグメントに分割する段階と、
前記１つ又は複数のトークン列セグメントからトークン列セグメントメタデータを決定する段階と、
前記トークン列セグメントから１つ又は複数の圧縮トークン列セグメントを生成する段階と、
前記１つ又は複数の圧縮トークン列セグメント及び前記トークン列セグメントメタデータから１つ又は複数の圧縮ファイルを生成する段階と、
前記データ処理システムに接続されたファイルシステム内に、前記１つ又は複数の圧縮ファイルを保存する段階と、
を有する方法。
【請求項２】
メタデータを決定する段階は、前記トークン列のそれぞれごとに、最大値と最小値を決定する段階を更に有する請求項１記載の方法。
【請求項３】
メタデータを決定する段階は、前記１つ又は複数のトークン列セグメントのそれぞれごとに、最大タプルＩＤ及び最小タプルＩＤを決定する段階を更に有する請求項１記載の方法。
【請求項４】
前記ドメイン構造を１つ又は複数のドメイン構造セグメントに分割する段階と、
前記ドメイン構造セグメントからメタデータを決定する段階と、
前記１つ又は複数のドメイン構造セグメントを圧縮する段階と、
を更に有し、
１つ又は複数の圧縮ファイルを生成する段階は、前記圧縮ドメイン構造セグメントを前記圧縮ファイル内に保存する段階を更に含む請求項１記載の方法。
【請求項５】
データ処理システムにより、サーチ可能なアーカイブからデータを取得する方法であって、前記サーチ可能なアーカイブは、メタデータファイル及び１つ又は複数の圧縮ファイルを有している、方法において、
前記メタデータファイルを使用し、前記データを含む可能性がある前記１つ又は複数の圧縮ファイルから、１つの選択された圧縮ファイルを選択する段階と、
前記選択した圧縮ファイルにアクセスする段階と、
前記圧縮ファイル内に保存されているメタデータを使用し、前記選択した圧縮ファイル内の１つ又は複数の圧縮セグメントから、１つの選択された圧縮セグメントを選択する段階と、
前記選択した圧縮セグメントから、圧縮解除されたセグメントを生成する段階と、
前記圧縮解除したセグメントをサーチし、前記圧縮解除したセグメントが前記データを含んでいるかどうかを決定する段階と、
を有する方法。
【請求項６】
１つの選択された凝縮ファイルを選択する段階は、サーチプロセスによって実行され、
前記選択した圧縮ファイルにアクセスする段階、１つの選択された圧縮セグメントを選択する段階、圧縮解除されたセグメントを生成する段階、及び前記圧縮解除したセグメントをサーチする段階は、前記サーチプロセスによって起動される１つ又は複数のサーチエージェントによって実行される請求項５記載の方法。
【請求項７】
データ処理システムによってアクセス可能なサーチ可能なアーカイブを生成する方法であって、
アーカイブデータからドメイン構造及びトークン化データを生成する段階と、
前記トークン化データからメタデータを決定する段階と、
前記トークン化データからビットベクトルの組を生成する段階と、
前記ビットベクトルの組から１つ又は複数の圧縮ファイルを生成する段階と、
前記データ処理システムに接続されたファイルシステム内に、前記１つ又は複数の圧縮ファイルを保存する段階と、
を有する方法。
【請求項８】
前記トークン化データセットは、トークンの１つ又は複数の列を含み、アーカイブメタデータを抽出する段階は、前記トークンの１つ又は複数の列のそれぞれごとに、最大トークン値及び最小トークン値を決定する段階を更に有する請求項７記載の方法。
【請求項９】
データ処理システムにより、サーチ可能なアーカイブからデータを取得する方法であって、前記サーチ可能なアーカイブは、メタデータファイルと１つ又は複数の圧縮ファイルを有している、方法において、
前記メタデータを使用し、前記データを含む可能性のある前記１つ又は複数の圧縮ファイルから、１つの選択された圧縮ファイルを選択する段階と、
前記選択した圧縮ファイルにアクセスする段階と、
前記選択した圧縮ファイルから、１つ又は複数のビットベクトルを選択する段階と、
前記選択した圧縮ファイル内に含まれている前記ビットベクトルに対してブール演算を実行し、前記データが、前記選択した圧縮ファイル内に保存されているかどうかを決定する段階と、
を有する方法。
【請求項１０】
１つの選択された圧縮ファイルを選択する段階は、サーチプロセスによって実行され、
前記選択した圧縮ファイルにアクセスする段階とブール演算を実行する段階は、前記サーチプロセスによって起動される１つ又は複数のサーチエージェントによって実行される請求項９記載の方法。
【請求項１１】
サーチ可能なアーカイブを生成するデータ処理システムであって、
プロセッサと、
前記プロセッサに接続され、その内部に保存されている前記プロセッサによって実行可能なプログラム命令を具備するメモリと、
を有し、
前記プログラム命令は、
アーカイブデータセットからドメイン構造とトークン化データを生成する段階であって、前記ドメイン構造は、前記アーカイブデータセット内の一意の値に対応するトークンを含み、前記トークン化データは、前記アーカイブデータセット内の値列に対応するトークン列を含む、段階と、
前記ドメイン構造及び前記トークン化データからアーカイブメタデータを決定する段階と、
前記トークン化データを１つ又は複数のトークン列セグメントに分割する段階と、
前記１つ又は複数のトークン列セグメントからトークン列セグメントメタデータを決定する段階と、
前記トークン列セグメントから１つ又は複数の圧縮トークン列セグメントを生成する段階と、
前記１つ又は複数の圧縮トークン列セグメント及び前記トークン列セグメントメタデータから１つ又は複数の圧縮ファイルを生成する段階と、
前記データ処理システムに接続されたファイルシステム内に、前記１つ又は複数の圧縮ファイルを保存する段階と、
を含むデータ処理システム。
【請求項１２】
メタデータを決定する前記プログラム命令は、前記トークン列のそれぞれごとに、最大値と最小値を決定する段階を更に含む請求項１１記載のデータ処理システム。
【請求項１３】
メタデータを判定する前記プログラム命令は、前記１つ又は複数のトークン列セグメントのそれぞれごとに、最大タプルＩＤと最小タプルＩＤを決定する段階を更に含む請求項１１記載のデータ処理システム。
【請求項１４】
前記プログラム命令は、
前記ドメイン構造を１つ又は複数のドメイン構造セグメントに分割する段階と、
前記ドメイン構造セグメントからメタデータを決定する段階と、
前記１つ又は複数のドメイン構造セグメントを圧縮する段階と、
を含み、
１つ又は複数の圧縮ファイルを生成する段階は、前記圧縮ファイル内に、前記圧縮ドメイン構造セグメントを保存する段階を含んでいる請求項１１記載のデータ処理システム。
【請求項１５】
サーチ可能なアーカイブからデータを取得するデータ処理システムであって、前記サーチ可能なアーカイブは、メタデータファイル及び１つ又は複数の圧縮ファイルを有している、データ処理システムにおいて、
プロセッサと、
前記プロセッサに接続され、その内部に保存されている前記プロセッサによって実行可能なプログラム命令を具備するメモリと、
を有し、
前記プログラム命令は、
前記メタデータファイルを使用し、前記データを含む可能性がある前記１つ又は複数の圧縮ファイルから、１つの選択された圧縮ファイルを選択する段階と、
前記選択した圧縮ファイルにアクセスする段階と、
前記圧縮ファイル内に保存されているメタデータを使用し、前記選択した圧縮ファイル内の１つ又は複数の圧縮セグメントから、１つの選択された圧縮セグメントを選択する段階と、
前記選択した圧縮セグメントから、圧縮解除されたセグメントを生成する段階と、
前記圧縮解除したセグメントをサーチし、前記圧縮解除したセグメントが前記データを含んでいるかどうかを決定する段階と、
を含むデータ処理システム。
【請求項１６】
前記プログラム命令の、
１つの選択された圧縮ファイルを選択する段階は、サーチプロセスによって実行され、
前記選択した圧縮ファイルにアクセスする段階、１つの選択された圧縮セグメントを選択する段階、圧縮解除されたセグメントを生成する段階、及び前記圧縮解除したセグメントをサーチする段階は、前記サーチプロセスによって起動される１つ又は複数のサーチエージェントによって実行される請求項１５記載のデータ処理システム。
【請求項１７】
サーチ可能なアーカイブを生成するデータ処理システムであって、
プロセッサと、
前記プロセッサに接続され、その中に保存されている前記プロセッサによって実行可能なプログラム命令を具備するメモリと、
を有し、
前記プログラム命令は、
前記アーカイブデータからドメイン構造及びトークン化データを生成する段階と、
前記トークン化データからメタデータを決定する段階と、
前記トークン化データからビットベクトルの組を生成する段階と、
前記ビットベクトルの組から１つ又は複数の圧縮ファイルを生成する段階と、
前記データ処理システムに接続されたファイルシステム内に、前記１つ又は複数の圧縮ファイルを保存する段階と、
を含むデータ処理システム。
【請求項１８】
前記トークン化データセットは、トークンの１つ又は複数の列を含み、アーカイブメタデータを抽出する前記プログラム命令は、前記トークンの１つ又は複数の列のそれぞれごとに、最大トークン値及び最小トークン値を決定する段階を更に含んでいる請求項１７記載のデータ処理システム。
【請求項１９】
サーチ可能なアーカイブからデータを取得するデータ処理システムであって、前記サーチ可能なアーカイブは、メタデータと１つ又は複数の圧縮ファイルを有している、データ処理システムにおいて、
プロセッサと、
前記プロセッサに接続され、その中に保存されている前記プロセッサによって実行可能なプログラム命令を具備するメモリと、
を有し、
前記プログラム命令は、
前記メタデータを使用し、前記データを含む可能性がある前記１つ又は複数の圧縮ファイルから、１つの選択された圧縮ファイルを選択する段階と、
前記選択した圧縮ファイルにアクセスする段階と、
前記選択した圧縮ファイルから１つ又は複数のビットベクトルを選択する段階と、
前記選択した圧縮ファイル内に含まれている前記ビットベクトルに対してブール演算を実行し、前記データが、前記選択した圧縮ファイル内に保存されているかどうかを決定する段階と、
を含むデータ処理システム。
【請求項２０】
１つの選択された圧縮ファイルを選択する段階は、サーチプロセスによって実行され、
前記選択した圧縮ファイルにアクセスする段階とブール演算を実行する段階は、前記サーチプロセスによって起動される１つ又は複数のサーチエージェントによって実行される請求項１９記載のデータ処理システム。
【請求項２１】
データ処理システムにより、サーチ可能なアーカイブを利用する方法であって、
アーカイブデータからドメイン構造及びトークン化データを生成する段階と、
前記トークン化データからアーカイブメタデータを決定する段階と、
前記トークン化データを１つ又は複数のセグメントに分割する段階と、
前記１つ又は複数のセグメントからセグメントメタデータを決定する段階と、
前記セグメントから１つ又は複数の圧縮セグメントを生成する段階と、
前記１つ又は複数の圧縮セグメントと前記セグメントメタデータから１つ又は複数の圧縮ファイルを生成する段階と、
前記データ処理システムに接続されたファイルシステム内に、前記１つ又は複数の圧縮ファイルを保存する段階と、
を有する方法。
【請求項２２】
前記アーカイブメタデータを使用し、データを含む可能性のある前記１つ又は複数の圧縮ファイルから、１つの選択された圧縮ファイルを選択する段階と、
前記選択した圧縮ファイルにアクセスする段階と、
前記セグメントメタデータを使用し、前記選択した圧縮ファイル内の前記１つ又は複数の圧縮セグメントから、１つの選択された圧縮セグメントを選択する段階と、
前記選択した圧縮セグメントから、圧縮解除されたセグメントを生成する段階と、
前記圧縮解除したセグメントをサーチし、前記圧縮解除したセグメントが前記データを含んでいるかどうかを決定する段階と、
を更に有する請求項２１記載の方法。
【請求項２３】
１つの選択された圧縮ファイルを選択する段階は、サーチプロセスによって実行され、
前記選択した圧縮ファイルにアクセスする段階、１つの選択された圧縮セグメントを選択する段階、圧縮解除されたセグメントを生成する段階、及び前記圧縮解除したセグメントをサーチする段階は、前記サーチプロセスによって起動される１つ又は複数のサーチエージェントによって実行される請求項２２記載の方法。
【請求項２４】
データ処理システムにより、サーチ可能なアーカイブを利用する方法であって、
アーカイブデータからドメイン構造及びトークン化データを生成する段階と、
前記トークン化データからアーカイブメタデータを決定する段階と、
前記トークン化データからビットベクトルの組を生成する段階と、
前記ビットベクトルの組から、１つ又は複数の圧縮ファイルを生成する段階と、
前記データ処理システムに接続されたファイルシステム内に、前記１つ又は複数の圧縮ファイルを保存する段階と、
を有する方法。
【請求項２５】
前記アーカイブメタデータを使用し、データを含む可能性がある前記１つ又は複数の圧縮ファイルから、１つの選択された圧縮ファイルを選択する段階と、
前記選択した圧縮ファイルにアクセスする段階と、
前記選択した圧縮ファイルから１つ又は複数のビットベクトルを選択する段階と、
前記選択した圧縮ファイル内に含まれている前記ビットベクトルに対してブール演算を実行し、前記データが前記選択した圧縮ファイル内に保存されているかどうかを決定する段階と、
を更に有する請求項２４記載の方法。
【請求項２６】
１つの選択された圧縮ファイルを選択する段階は、サーチプロセスによって実行され、
前記選択した圧縮ファイルにアクセスする段階とブール演算を実行する段階は、前記サーチプロセスによって起動される１つ又は複数のサーチエージェントによって実行される請求項２５記載の方法。
【請求項２７】
サーチ可能なアーカイブを利用するデータ処理システムであって、
プロセッサと、
前記プロセッサに接続され、その中に保存されている前記プロセッサによって実行可能なプログラム命令を具備するメモリと、
を有し、
前記プログラム命令は、
アーカイブデータからドメイン構造及びトークン化データを生成する段階と、
前記トークン化データからアーカイブメタデータを決定する段階と、
前記トークン化データを１つ又は複数のセグメントに分割する段階と、
前記１つ又は複数のセグメントからセグメントメタデータを決定する段階と、
前記セグメントから１つ又は複数の圧縮セグメントを生成する段階と、
前記１つ又は複数の圧縮セグメント及び前記セグメントメタデータから１つ又は複数の圧縮ファイルを生成する段階と、
前記データ処理システムに接続されたファイルシステム内に、前記１つ又は複数の圧縮ファイルを保存する段階と、
を含むデータ処理システム。
【請求項２８】
前記プログラム命令は、
前記アーカイブメタデータを使用し、データを含む可能性がある前記１つ又は複数の圧縮ファイルから、１つの選択された圧縮ファイルを選択する段階と、
前記選択した圧縮ファイルにアクセスする段階と、
前記セグメントメタデータを使用し、前記選択した圧縮ファイル内の前記１つ又は複数の圧縮セグメントから、１つの選択された圧縮セグメントを選択する段階と、
前記選択した圧縮セグメントから、圧縮解除されたセグメントを生成する段階と、
前記圧縮解除したセグメントをサーチして、前記圧縮解除したセグメントが前記データを含んでいるかどうかを決定する段階と、
を更に含む請求項２７記載のデータ処理システム。
【請求項２９】
１つの選択された圧縮ファイルを選択する段階は、サーチプロセスによって実行され、
前記選択した圧縮ファイルにアクセスする段階、１つの選択された圧縮セグメントを選択する段階、圧縮解除されたセグメントを生成する段階、及び前記圧縮解除したセグメントをサーチする段階は、前記サーチプロセスによって起動される１つ又は複数のサーチエージェントによって実行される請求項２８記載のデータ処理システム。
【請求項３０】
サーチ可能なアーカイブを利用するデータ処理システムであって、
プロセッサと、
前記プロセッサに接続され、その中に保存されている前記プロセッサによって実行可能なプログラム命令を具備するメモリと、
を有し、
前記プログラム命令は、
アーカイブデータからドメイン構造及びトークン化データを生成する段階と、
前記トークン化データからアーカイブメタデータを決定する段階と、
前記トークン化データからビットベクトルの組を生成する段階と、
前記ビットベクトルの組から１つ又は複数の圧縮ファイルを生成する段階と、
前記データ処理システムに接続されたファイルシステム内に、前記１つ又は複数の圧縮ファイルを保存する段階と、
を含むデータ処理システム。
【請求項３１】
前記プログラム命令は、
前記アーカイブメタデータを使用し、データを含む可能性がある前記１つ又は複数の圧縮ファイルから、１つの選択された圧縮ファイルを選択する段階と、
前記選択した圧縮ファイルにアクセスする段階と、
前記選択した圧縮ファイルから１つ又は複数のビットベクトルを選択する段階と、
前記選択した圧縮ファイル内に含まれている前記ビットベクトルに対してブール演算を実行し、前記データが前記圧縮ファイル内に保存されているかどうかを決定する段階と、
を更に含む請求項３０記載のデータ処理システム。
【請求項３２】
１つの選択された圧縮ファイルを選択する段階は、サーチプロセスによって実行され、
前記選択した圧縮ファイルにアクセスする段階とブール演算を実行する段階は、前記サーチプロセスによって起動される１つ又は複数のサーチエージェントによって実行される請求項３１記載のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、デジタルデータの保管の分野に関し、更に詳しくは、圧縮されたアーカイブに関するものである。
【背景技術】
【０００２】
多くの企業において、大量の電子データが生成され、様々な目的で保管されている。この例としては、会計監査、顧客サービス、又はデータマイニングを使用目的としたトランザクションデータの保管が含まれる。又、企業においては、規制の観点から電子データの保管が必要とされる場合もある。
【０００３】
企業データのライフサイクルは、ほとんどの場合、なんらかの種類の顧客とのやり取りやトランザクションにおけるデータ生成から始まる。このような企業データは、通常、生成された後に、まずは、データベースシステムに保存される。データベースシステムの利点は、迅速に問合せ可能なデータ構造にデータが編成されることである。しかしながら、データベースシステムにおいては、ほとんどの場合、保存するデータ量に対してなんらかの制限が課されている。即ち、データベースシステムの中には、アクセス可能なデータ量に対する有限な限度を単純に具備するものも存在し、その他のデータベースシステムにおいては、大量のデータを収容可能ではあるが、データベースシステムが特定のサイズを超過した場合に、その維持に費用を所要することになる。このため、長期間にわたって大量のデータを保管するには、通常、データベースシステムは使用しない。
【０００４】
大量のデータの保管に使用される方法の１つは、テープシステムなどのシリアルアクセスファイルシステムや、大規模（又は、分散型）ディスク駆動システムなどのランダムアセクスファイルシステムにデータを保存する方法である。テープシステムによる保存は、安価ではあるが、データを問合せ可能にするには、データをデータベースシステムにリロードしなければならず、これが面倒である。一方、ディスクストレージシステムの場合には、テープシステムよりも高価ではあるが、優れたアクセス性が提供される。しかしながら、この場合にも、データを従来のファイルとして保存している場合には、データに対するアクセス又は問合せを可能にするには、データをデータベースシステムに読み込まなければならない。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
大規模データベースシステムは、データの保管には高価なソリューションであり、従来のファイルストレージシステムの場合には、アクセスの利便性が提供されない。従って、問合せが容易であり、且つ維持するのが安価なアーカイブシステムを提供することが望ましい。
【課題を解決するための手段】
【０００６】
サーチ可能な保管システムを提供する。サーチ可能な保管システムは、アーカイブデータの１つ又は複数の圧縮ファイルを含んでいる。圧縮ファイルを生成するために、保管プロセスにより、アーカイブデータをトークン化し、このトークン化したアーカイブデータを最適化した後に、このトークン化データからメタデータを抽出する。次いで、様々な方法により、このトークン化データを圧縮セグメントに圧縮可能である。次いで、これらの圧縮セグメント及びセグメントメタデータを組み合わることにより、圧縮ファイルを生成する。次いで、サーチプロセスに疎結合された１つ又は複数のファイルシステムに、この圧縮ファイルを保存する。このアーカイブからデータを取得するには、圧縮プロセスにおいてファイルから抽出されたローカル保存されているメタデータを参考として、サーチプロセスが圧縮ファイルにアクセスし、対象のデータを保持する可能性のある圧縮ファイルを識別する。次いで、サーチプロセスは、この圧縮ファイルを能動的にサーチする１つ又は複数のサーチエージェントを起動する。これらのサーチエージェントは、圧縮ファイル内のセグメントを圧縮解除する段階を使用して圧縮セグメントを選択することにより、このサーチを実行する。
【０００７】
本発明の一態様においては、保管プロセスは、アーカイブデータから、ドメイン構造とトークン化されたデータを生成することにより、サーチ可能なアーカイブを生成する。次いで、保管プロセスは、このトークン化データからアーカイブメタデータを決定し、このアーカイブメタデータをデータベースなどのローカルデータストア内に保存する。次いで、保管プロセスは、トークン化データを１つ又は複数のセグメントに分割し、これらの１つ又は複数のセグメントからセグメントメタデータを決定する。そして、これらのセグメントを圧縮し、これらの１つ又は複数の圧縮セグメントとセグメントメタデータから、１つ又は複数の圧縮ファイルを生成する。この圧縮ファイルは、どのようなファイルシステムにもファイル可能である。
【０００８】
このアーカイブからデータを取得するには、サーチプロセスが、ローカル保存されているアーカイブメタデータを使用して、取得対象のデータを含む可能性のある１つ又は複数の圧縮ファイルから１つの圧縮ファイルを選択する。次いで、サーチプロセスは、この選択した圧縮ファイルにアクセスし、セグメントメタデータを使用して、この選択した圧縮ファイル内の１つ又は複数の圧縮セグメントから、１つの選択された圧縮セグメントを選択する。そして、サーチプロセスは、この選択したセグメントを圧縮解除し、この圧縮解除したセグメントをサーチして、この圧縮解除セグメントがデータを含んでいるかどうかを決定する。
【０００９】
本発明の別の態様においては、このサーチプロセスは、異なるソフトウェアエンティティによって実行される。即ち、最初の圧縮ファイルの選択は、サーチプロセスによって実行される。そして、１つ又は複数の圧縮ファイルの選択が完了すると、サーチプロセスは、１つ又は複数のサーチエージェントを起動し、このサーチエージェントが、その選択された圧縮ファイルにアクセスし、圧縮セグメントを選択し、その選択したセグメントを圧縮解除して、圧縮解除されたセグメントをサーチする。
【００１０】
本発明の別の態様においては、トークン化データセットは、トークンの１つ又は複数の列を含んでおり、アーカイブプロセスによるアーカイブメタデータの判定段階は、トークンの１つ又は複数の列のそれぞれごとに、最大トークン値及び最小トークン値を決定する段階を更に含んでいる。
【００１１】
本発明の別の態様においては、保管プロセスによってセグメントメタデータを決定する段階は、そのセグメントに含まれている最大トークン値及び最小トークン値を検出する段階を更に含んでいる。
【００１２】
本発明の別の態様においては、圧縮ファイルをビットベクトルの組として保存する。この圧縮ファイルのビットベクトルを使用することにより、サーチ可能なアーカイブ内において、より高機能なデータ操作を実行可能である。このような圧縮ファイルを生成するために、保管プロセスは、アーカイブデータから、ドメイン構造とトークン化データを生成し、このトークン化データからアーカイブメタデータを決定する。次いで、保管プロセスは、トークン化データからビットベクトルの組を生成し、このビットベクトルの組から、１つ又は複数の圧縮ファイルを生成する。
【００１３】
このビットベクトルを含む圧縮ファイルにアクセスするには、サーチプロセスは、アーカイブメタデータを使用して、データを含む可能性がある１つ又は複数の圧縮ファイルから、１つの選択された圧縮ファイルを選択する。次いで、サーチプロセスは、この選択した圧縮ファイルにアクセスし、選択したビットベクトルに対してブール演算を実行し、その圧縮ファイル内にデータが保存されているかどうかを決定する。前述のように、この取得プロセスは、親サーチプロセスと、１つ又は複数のサーチエージェント間で分担可能である。
【発明を実施するための最良の形態】
【００１４】
本発明のこれら及びその他の特徴、態様、及び利点については、以下の説明、添付の請求項、及び添付図面を参照することにより、その理解を深めることができよう。
【００１５】
図１は、本発明の模範的な実施例による保管モードにおけるサーチ可能なアーカイブシステムのブロック図である。サーチ可能なアーカイブシステムは、サーチ可能なアーカイブホスト１００を含んでいる。このサーチ可能なアーカイブホストは、保管プロセス１０２を実行する。この保管プロセスは、サーチ可能なアーカイブホストに接続されたＣＳＶ（Ｃｏｍｍａ  Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅ）フォーマットのテキストファイルなどのフォーマットの表形式ファイルなどのデータベース１０６からアーカイブデータ１０４を受信又は取得する。そして、保管プロセスは、このアーカイブデータから、そのアーカイブデータを表すメタデータ１０７を抽出し、このメタデータをメタデータデータベース１０８内に保存する。又、この保管プロセスは、圧縮ファイルストレージ装置１１０ａ及び１１０ｂなどの１つ又は複数の圧縮ファイルデータストレージ装置内に保存されることになる圧縮ファイル１０９ａ及び１０９ｂなどの１つ又は複数の圧縮ファイルも生成する。
【００１６】
この図１に示されているように、サーチ可能なアーカイブホストには、ストレージ装置が直接接続されている。その他の実施例においては、複数のストレージ装置が、通信ネットワークを介して、このストレージ装置に疎結合されている。この結果、サーチ可能なアーカイブを、圧縮ファイルを保存するのに必要な数のストレージ装置にわたって分散させることができる。又、このメタデータと圧縮ファイル間の疎結合により、圧縮ファイルを使用してオリジナルのアーカイブデータを再構成することなしに、サーチ可能なアーカイブに対して、増分的な方式で追加することが可能となっている。
【００１７】
図２は、本発明の模範的な実施例によるデータ取得モードにおけるサーチ可能なアーカイブシステムのブロック図である。アーカイブの生成が完了すれば、ユーザー２００又は自動化プロセスは、そのオリジナルのアーカイブのデータ構造全体を再構成することなしに、圧縮ファイルにアクセス可能である。この目的に、ユーザーは、サーチ可能なアーカイブホストによって実行されるサーチプロセス２０４を使用する。ユーザーは、問合せ２０２をサーチプロセスに提出する。サーチプロセスは、メタデータデータベース１０８を使用し、その問合せを満足させる保管データを具備する可能性のある圧縮ファイルを識別する。次いで、サーチプロセスは、この識別された保存されているそれぞれの圧縮ファイルにアクセスし、そのオリジナルの問合せを満足させるデータが圧縮ファイル内に実際に保存されているかどうかを決定する。尚、サーチプロセスは、ストレージ装置１１０ａ及び１１０ｂなどの圧縮ファイルストレージ装置内に保存された１つ又は複数の圧縮ファイルに独立的にアクセスするサーチエージェント２０５ａ及び２０５ｂなどの１つ又は複数のサーチエージェントを使用することにより、これを実行する。
【００１８】
それぞれのサーチエージェントは、サーチプロセスによって識別された１つ又は複数の圧縮ファイルの独立したサーチ（例：サーチエージェント２０５ａによるサーチ２０６ａやサーチエージェント２０５ｂによるサーチ２０６ｂ）を実施する。又、それぞれのサーチエージェントは、サーチ結果２０８ａ及び２０８ｂなどのサーチ結果をサーチプロセスに独立的に報告する。そして、サーチプロセスは、サーチエージェントから受信したこれらのサーチ結果を使用し、ユーザーに提示するサーチ結果２１０を作成する。
【００１９】
図３は、本発明の模範的な実施例によるサーチ可能なアーカイブ生成プロセスのフローチャートである。サーチ可能なアーカイブ生成プロセス２１８は、列２２０、２２２、及び２２４などの値の１つ又は複数の列を含むアーカイブデータ１０４を受信する。このアーカイブデータ内の列の数及び列内の値の数は、省略符号２２７によって示されているように、任意である。本プロセスは、ドメイン２２６及び２２８などの１つ又は複数のドメインとして、データ列を関連付ける（２２５）。それぞれのドメインをアーカイブデータの１つ又は複数のデータ列と関連付けることができる。
【００２０】
列をドメインに関連付けた後に、トークン化プロセスにおいて、それぞれのドメインを別個に処理し、値の列に対応するトークンの列を生成する。例えば、トークン列２３０は、ドメイン２２６と関連付けられており、アーカイブデータ内の値の列２２０に対応している。同様に、トークン列２３２は、ドメイン２２６と関連付けられており、値の列２２２に対応している。この模範的なプロセスにおいては、２つのドメインが示されており、ドメイン２２８は、アーカイブデータ内の値列２２４に対応する単一のトークン列２３４のみと関連付けられている。尚、省略符号２３６は、アーカイブ内の列の数が任意であるように、ドメイン及び関連するトークン列の数も任意であることを示している。
【００２１】
ドメイン及びトークン列の生成が完了すると、圧縮プロセス（２３６）において、これらを圧縮し、圧縮ファイル２３８を生成する。圧縮ファイル内においては、その圧縮ファイル内に含まれているドメインに関する情報は、ドメインヘッダ２４０内に保存される。又、この圧縮ファイル内には、それぞれのドメインのドメインデータも保存されている。例えば、ドメインデータ２４２は、トークン化プロセスにおいて生成されたドメイン２２６に対応しており、ドメインデータ２４８は、ドメイン２２８に対応している。このドメインデータには、トークン列の生成に使用するトークン値にアーカイブデータからの一意の値を関連付けるドメイン構造が含まれている。そして、圧縮ファイルには、ドメインに関連付けられているそれぞれのトークン列ごとの圧縮されたトークン列データ２４４、２４６、及び２５０などの圧縮トークン列データが更に含まれている。例えば、圧縮トークン列データ２４４は、トークン列２３０に対応しており、圧縮トークン列データ２４６は、トークン列２３２に対応し、圧縮トークン列データ２５０は、トークン列２３４に対応している。尚、省略符号２５２は、この圧縮ファイルのサイズが、そのオリジナルのアーカイブデータセットのサイズに応じて、任意であることを示している。
【００２２】
このトークン化及び圧縮プロセスにおいては、圧縮ファイルにアクセスするためのインデックスとして使用するべく、アーカイブメタデータ及びセグメントメタデータ１０７を抽出する（２３６）。このメタデータは、アーカイブ取得プロセスに有用な様々なフォーマットにエクスポート可能である。
【００２３】
図４は、本発明の模範的な実施例による圧縮ファイル生成プロセスのブロック図である。この圧縮ファイル生成プロセスにおいては、ドメインと関連付けられたアーカイブデータセット１０４の一部には、表形式の値の値列３００ａ及び３００ｂなどの１つ又は複数の値列が含まれている。尚、省略符号３００ｃは、このアーカイブデータセット内の値列の数が、任意であることを示している。それぞれの値列は、値列ヘッダ３０２と、行３０６ａ及び３０６ｂなどの表形式の１つ又は複数の値行によって特徴付けられている。省略符号３０６ｃは、値列内の値の行数が、任意であることを示している。
【００２４】
アーカイブ生成プロセスにおいて、アーカイブデータセットをトークン化する（３０８）。このトークン化の際には、値列内の値をトークンによって置換し、トークン列を生成する。トークンの長さが一意の値の長さを下回る場合には、データ列の全体サイズが減少し、結果的に、アーカイブデータセットが圧縮されることになる。例えば、このブロック図においては、トークン化の際に、アーカイブデータセット１０４から、トークン化されたデータセット３１０が生成されている。そして、このトークン化データセットにおいては、アーカイブデータセットの列構成が保持されている。例えば、トークン列３１２ａは、アーカイブの値列３００ａに対応しており、トークン列３１２ｂは、アーカイブの値列３００ｂに対応している。省略符号３１２ｃは、このトークン列の数が、オリジナルのアーカイブデータ内の値列の数に対応することを示している。それぞれのトークン列においては、トークンが、オリジナルの対応するアーカイブデータの値列内のそれぞれの値ごとに存在している。例えば、トークン３１４ａは、値３０６ａに対応しており、トークン３１４ｂは、値３０６ｂに対応している。省略符号３１４ｃは、トークン列内のトークンの数が、アーカイブデータの対応する列内の値の数に対応することを示している。
【００２５】
このトークン化されたデータセットに加え、トークン化によれば、トークン値と一意の値を関連付けるドメイン構造３１６も生成される。このドメイン構造には、アーカイブデータから抽出されたソート済みの一意の値３１８が含まれている。そして、このリスト内におけるそれぞれの位置が、それぞれに関連付けられたトークン値になっている。又、一意の値がソートされた形態で保存されているため、この表内におけるそれらの位置は、その対応するトークン値の辞書的なＩＤをも示している。尚、破線で示されている辞書的なＩＤ列３２０により、ドメイン構造のこの特徴が示されている。
【００２６】
トークン化データセットの生成が完了すると、そのトークン化データセットのサイズを最適化する機会が与えられる（３２３）。例えば、ドメイン構造が完成する前の段階では、アーカイブデータ内の一意の値を表すのに必要なトークン数が不明であるため、トークンの最適なサイズを決定することは困難である。しかしながら、ドメイン構造が完成した後には、トークンの合計数と、従って、トークンの最適なサイズを容易に算出可能である。そして、最適なトークンサイズが決定されたら、そのトークン化データセット内のトークンを最適なサイズの新しいトークンの組によって置換することにより、最適化されたトークンデータセット３２５を生成することができる。
【００２７】
そして、圧縮ドメイン構造セグメント３７０及び３７１などの圧縮ファイル３７５内の１つ又は複数の圧縮ドメイン構造セグメントにドメイン構造を分割することにより、この最適化されたドメイン構造を圧縮する（３６９）。このドメイン構造セグメントの数とサイズは、ドメイン構造内の一意の値の数によって左右される。圧縮の際には、ドメイン構造をチェックし、そのドメイン構造を個別の圧縮ドメイン構造セグメントに分割する方法を決定する。この決定は、圧縮ドメイン構造セグメントの所望のサイズとドメイン構造内の一意の値の数に基づいて行われる。例えば、ドメイン構造が有する一意のトークン値が非常に少ない場合には、小さなサイズに圧縮して、１つの圧縮ドメイン構造セグメントに適合させることができる。対照的に、ドメイン構造に多数の一意の値が含まれている場合には、複数のドメイン構造セグメントを使用することにより、圧縮ドメイン構造を保持することになる。
【００２８】
それぞれのドメイン構造セグメントごとに、そのドメイン構造セグメントの最小及び最大値を維持管理する。複数のドメイン構造セグメントに跨って値が存在することはないことから、これらの最小及び最大値は、特定の一意の値をサーチする際に使用するドメイン構造セグメントの決定に使用する大まかなインデックスを構成することになる。次いで、ＰＰＭ（Ｐｒｅｄｉｃｔｉｏｎ  ｂｙ  Ｐａｒｔｉａｌ  Ｍａｔｃｈｉｎｇ）アルゴリズムを使用し、これらのセグメントを個別に圧縮する。このタイプのアルゴリズムは、値の最後のいくつかの文字を使用して次の文字を予測するものであり、一意の値が既にソート済みであるため、ドメイン構造を圧縮するのに適している。
【００２９】
図示の圧縮ファイル３７５の場合には、圧縮ファイルには、２つの圧縮ドメイン構造セグメント３７０及び３７１に分割されたドメイン構造を具備するドメインＤ１が含まれている。オフセット３７２は、圧縮ドメイン構造セグメントの圧縮ファイル内における位置を示している。又、最小値３７４及び最大値３７６は、圧縮ドメイン構造セグメント内に含まれている一意の値の範囲を示している。
【００３０】
トークン化及び最適化の後に、このトークン化及び最適化されたデータセットを圧縮し（３２６）、同様に圧縮されたファイル内に保存する。このトークン化データセット内のそれぞれのトークン列ごとに、１つ又は複数の圧縮トークン列セグメントを生成する。この圧縮トークン列セグメントの数とサイズは、アーカイブデータセットのタプル（レコード）の数によって左右される。それぞれの圧縮トークン列セグメントごとに、開始及び終了タプルＩＤを記録する。トークン列内に保存されているトークン間の相関の程度が低いため、圧縮トークン列セグメントの生成には、算術符号化に基づいた統計的なアルゴリズムを使用する。
【００３１】
一例として、図示の圧縮ファイル３７５の場合には、圧縮ファイルに、値列３００ａに対応するトークン列３１２ａに対応する圧縮トークン列セグメント３５８、３６０、及び３６２が含まれている。そして、それぞれの圧縮トークン列セグメントごとに、最小タプルＩＤ３６６及び最大タプルＩＤ３６８が示されている。圧縮トークン列セグメントは、ドメインと関連するそれぞれのトークン列ごとに、圧縮された状態で配置されている。
【００３２】
完了すると、この圧縮ファイルには、圧縮されたドメイン構造とトークン列データが含まれている。このトークン化及び圧縮プロセスにおいては、ドメイン構造及びトークン列から、ドメインメタデータ、トークン列メタデータ、及びセグメントメタデータを抽出する（３９０）。そして、この抽出されたメタデータの一部が、圧縮ファイル内のセグメントのいずれをも圧縮解除することなしにアクセス可能なヘッダとして、圧縮ファイル内に含まれることになる。アーカイブメタデータの一部もメタデータファイル３３２内に含まれることになる。データ処理システムは、このメタデータファイルを使用し、圧縮ファイル内に保存されているデータにアクセスすることができる。
【００３３】
模範的なメタデータファイルは、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）フォーマットで示されているが、あらゆるフォーマットを使用可能である。尚、この模範的なメタデータファイル内においては、第１及び第２ドメインから抽出されたメタデータを示すべく、メタデータが含まれているが、ドメインの数は任意である。ＸＭＬフォーマットのメタデータファイルにおいては、「Ｄｏｍａｉｎｓ」タグ３４６は、１つ又は複数のドメインタグ３４８を含んでいる。それぞれのドメインタグは、「Ｄｏｍａｉｎ  ｎａｍｅ」属性３５０と「ｃｏｌｕｍｎｓ」属性３５２を含んでいる。列属性は、ドメイン内のトークン列の数を示している。「ｃｏｕｎｔ」属性３５３は、そのドメイン構造内に保存されている一意の値の合計数を示している。「ｌｅｎｇｔｈ」属性３５５は、ドメイン構造内における一意の値の保存場所の長さを示している。
【００３４】
「Ｃｏｌｕｍｎｓ」タグ３５４は、１つ又は複数の列タグ３５６を含んでいる。それぞれの列タグは、圧縮ファイル内に含まれているアーカイブデータからの値列の名前を示す「Ｃｏｌｕｍｎ  ｎａｍｅ」属性３５７を含んでいる。この列タグは、その列が属するドメインを示す「ｄｏｍＩｄ」属性３５８を更に含んでいる。「ｍｉｎ」属性３６０は、その列内において検出される最小の一意の値を示しており、「ｍａｘ」属性３６１は、その列内において検出される最大の一意の値を示している。
【００３５】
図１を再度参照すれば、圧縮プロセスが完了すると、（図４の）圧縮ファイル３２８は、圧縮ファイルデータストア１１０ａ及び１１０ｂなどの１つ又は複数の圧縮ファイルデータストアを具備するファイルシステム内に保存される。又、（図４の）メタデータファイル３３２を使用し、メタデータデータベース１０８に入力する。圧縮ファイルがファイルシステム内に保存され、ファイルシステムの容量を限度として、新しいアーカイブデータをアーカイブシステムに追加可能である。又、メタデータも、メタデータデータベースの容量を限度として、メタデータデータベースに追加可能である。
【００３６】
図５は、本発明の模範的な実施例によるトークン化プロセスのブロックダイアグラムである。この図示のトークン化プロセスにおいては、アーカイブデータセット４００は、「名前」列４０２を含んでいる。この図の場合には、名前列のそれぞれの位置のエントリを８ビットトークンによって置換する。そして、この名前列について、「名前トークン」ドメイン構造４０６を生成する。このドメイン構造は、アーカイブデータセット内において遭遇する一意の名前を保存するための名前列４０８を具備している。又、このドメイン構造は、一意の値に割り当てられたトークンを保存するためのトークン列４１０も含んでいる。
【００３７】
この例の場合には、名前「ジョン」４１２が、列内における最初の一意の値であり、トークン化データセット４１６内において、これをトークン「００００００１０」４１４によって置換する。そして、この一意の値「ジョン」４１８をドメイン構造内に入力し、トークン値「００００００１０」４２０を割り当てる。以下、列内のそれぞれの後続の一意の値について、新しいトークン値を生成し、ドメイン構造内の一意の値と関連付けを行い、これを使用して、トークン化データセット内の一意の値を置換する。
【００３８】
尚、アーカイブデータ内において、再度、同じ一意の値に遭遇した場合には、新しいトーク値は生成しない。この代わりに、ドメイン構造からトークン値を読み取り、トークン化データセット内に挿入する。即ち、この図示の例においては、「スーザン」という一意の値４２２が、複数回、アーカイブデータ内に出現している。この値「スーザン」は、ドメイン構造内において、トークン「０００００１０１」４２４と関連付けられている。そこで、このトークンをトークン化データセット内の場所４２６及び４２８に２回挿入し、オリジナルアーカイブデータ内のスーザンの２つのインスタンスを表すことになるのである。
【００３９】
図６は、本発明の模範的な実施例によるトークン最適化プロセス及びトークン化データセット圧縮プロセスのブロック図である。アーカイブデータからのトークン化データセットの生成が完了すれば、アーカイブデータ内の一意の値のすべてを表すのに必要なトークン数が判明する。この結果、使用するトークンの最適なサイズを決定可能である。図５の例においては、８ビットのトークンを使用している。８ビットのトークンは、最大で２５６個の一意の値を表すことができる。しかしながら、トークン化プロセスの終了時点において、この例の場合には、一意の値の数は、わずかに６個であったことがわかる。従って、一意のトークン値をそれぞれの一意の値に付与するには、３ビットトークンで十分である。再度、図６を参照すれば、トークン列内の８ビットトークン５００を３ビットトークンによって置換することにより、ドメイン構造４０６を最適化する。この結果、３ビットトークン５０２を具備する最適化されたドメイン構造が生成されることになる。そして、これと同様に、８ビットトークン５０４を３ビットトークン５０６によって置換することにより、図５の例のトークン化データセット４１６を最適化する。
【００４０】
このトークン化データセットの最適化が完了したら、これを圧縮し、圧縮ファイル５１０を生成可能である（５０８）。この圧縮プロセスにおいて、前述のメタデータ５１２をトークン化データセットから抽出する。
【００４１】
図７は、本発明の模範的な実施例によるサーチエージェントを採用したサーチプロセスのプロセスフローチャートである。前述のように、アーカイブシステム内においては、（図２の）サーチエージェント２０５ａ及び２０５ｂなどのサーチエージェントを使用して、圧縮ファイルにアクセスし、アーカイブデータを取得している。これらのサーチエージェントは、（図２の）サーチプロセス２０４によって起動される。サーチプロセスの開始時点において（６０１）、サーチプロセスは、ユーザー又は自動化プロセスから問合せ６０３を受信する（６０２）。次いで、サーチプロセスは、ドメイン構造６０５を使用し、この問合せを、等価なトークン化された問合せに分解する（６０６）。
【００４２】
そして、サーチプロセスは、メタデータ１０７にアクセスし、この問合せを満足させ得る保管データの検出のためにサーチを要する圧縮ファイル、ドメイン、及び列を決定する（６１１）。サーチプロセスは、列のセグメント化及び圧縮の前に圧縮ファイル内の列から抽出した最小及び最大トークン値を使用することにより、これを行う。これらの最小及び最大値を、トークン化された問合せ内のトークン値と比較し、決定を行うのである。そして、この決定が完了し、圧縮ファイルの選択が完了すれば、サーチプロセスは、それらの識別された圧縮ファイルに対して独立的にアクセスするサーチエージェント６１３ａ及び６１３ｂなどの１つ又は複数のサーチエージェントを起動することになる（６１２）。尚、省略符号６１３ｃは、サーチプロセスにより、任意の数の独立的に機能するサーチエージェントを起動可能であることを示している。この結果、サーチプロセスは、複数の圧縮ファイルを独立的にサーチすることができる。又、サーチエージェントを使用して圧縮ファイルにアクセスしているため、圧縮ファイルを、あらゆる便利な方式で維持管理すると共に、サーチプロセスに疎結合させることが可能となる。
【００４３】
以下のサーチエージェントプロセスにおいては、単一のサーチエージェントについて説明しているが、起動されたそれぞれのサーチエージェントは、並行して同様のサーチプロセスを実行する。即ち、起動すると、それぞれのサーチエージェントは、圧縮ファイル６１４にアクセスし、問合せを満足させ得る保管データを得るべく圧縮ファイルをサーチする（６１６）。このために、サーチエージェントは、圧縮ファイルのヘッダを読み取り、問合せを満足させ得るデータを含んでいる可能性のあるドメイン構造セグメントを決定する。圧縮ファイルのヘッダには、それぞれの圧縮ドメイン構造セグメント内に保存されている最小及び最大トークン値が含まれているため、サーチエージェントは、問合せを満足させるデータを含む可能性のあるセグメントを決定可能である。そして、所望のデータを含んでいる可能性の高い圧縮セグメントの識別が完了すると、サーチエンジンは、その選択した圧縮セグメントを圧縮解除し、要求されているデータを得るべく、その圧縮解除したセグメントをサーチし、要求基準に関連する値に関連付けられているトークンを識別する（６１８）。このプロセスは、所望のアーカイブデータを含んでいる可能性が高いとサーチエージェントが識別したそれぞれの圧縮セグメントごとに、反復されることになる。このプロセスの後に、要求基準のトークン表現を使用し、関連するそれぞれのトークン化データセットセグメントを分析する。そして、サーチエージェントは、サーチにおいて検出された結果データをサーチプロセスに返す（６２０）。サーチプロセスは、返されたすべての結果を収集し、最終的なサーチ結果６２４を生成して、サーチを停止させる（６２６）。
【００４４】
図８は、本発明の模範的な実施例によるビットベクトルに基づいた圧縮法を示すブロックダイアグラムである。この圧縮法によれば、圧縮ファイル内に保存されているデータのいずれをも圧縮解除することなしに、圧縮ファイルのすべてをサーチ可能である。前述のように、データの複数の列を具備するアーカイブデータ７００をトークン化及び最適化する。この例の場合には、アーカイブデータは、個人のグループの名前と苗字の一覧であり、第１アーカイブ値列７０２内には、名前を、苗字アーカイブ値列７０４内には、苗字を有している。トークン化及び最適化プロセスの結果、トークン化並びに最適化されたデータセット７０６が生成される。このトークン化データセットは、名前アーカイブ値列に対応する名前トークン列７０８と、苗字アーカイブ値列に対応する苗字トークン列７１０を含んでいる。ビットベクトルの組７１２を生成することにより、このトークン化データセットを圧縮可能である。
【００４５】
このビットベクトルの組内のそれぞれのビットベクトルは、１つのトークンに対応している。それぞれのビットベクトルの長さは、トークン列内のトークン値の数と等しい。そして、ビットベクトル内の値は、トークン列内の特定の位置における対応するトークンの存在／不在を反映している。例えば、ビットベクトル７１８は、名前トークン列内のトークン「０１１」７２０に対応している。トークン「０１１」は、名前トークン列内の第５の位置に出現しており、従って、「１」がビットベクトル７１８内の第５の位置に出現している。トークン「１００」は、アーカイブデータの名前列内の名前「メアリ」７２２に対応していることから、これは、名前「メアリ」が、アーカイブデータセットの名前値列内の第５のエントリであることを意味している。同様に、ビットベクトル７２４は、アーカイブデータセットの苗字値列内の苗字「アダムス」７２６に対応している。このベクトル化プロセスが完了した時点で、圧縮ファイルは、ビットベクトルの複数のサブセットから構成されており、それぞれのサブセットは、トークン化データセット内のトークン列に（従って、アーカイブデータセット内の列に）対応している。即ち、この例においては、ビットベクトルサブセット７１４は、アーカイブデータ内の名前値列に対応しており、ビットベクトルサブセット７１６は、アーカイブデータ内の苗字値列に対応している。
【００４６】
このトークン化プロセスの１つの特徴は、この結果、アーカイブデータセットの列内に、値の辞書的な順序付けが生成されることである。このため、どのビットベクトルがどのトークンと関連しているのかを識別するヘッダ情報と共にビットベクトルを保存する必要はない。この代わりに、ビットベクトルは、トークンの辞書的な順序に従って圧縮された形態で保存される。
【００４７】
図９は、本発明の模範的な実施例による問合せ結果を生成するためのビットベクトルに対するブール演算の使用法を示すブロックダイアグラムである。ブール演算において、図７のビットベクトルを直接使用し、問合せを満足させることができる。即ち、一例として、「メアリ・アダムス」という名前の問合せは、「名前＝メアリ」ＡＮＤ「苗字＝アダムス」８００という問合せ表現に分解することができる。名前「メアリ」に対応するビットベクトル７１８と苗字「アダムス」に対応するビットベクトル７２４を選択することにより、この表現を（図８の）圧縮ファイル７１２の全体について評価することができる。ブールＡＮＤ演算８０２において、これらのビットベクトルを組み合わせ、結果のビットベクトル８０４を得ることができる。このビットベクトルは、第５位置に「１」８０６を具備しており、これは、「メアリ・アダムス」という氏名が、圧縮ファイル内のこの位置において検出されることを示している。
【００４８】
図１０は、本発明の模範的な実施例によるビットベクトルを具備した圧縮ファイルを使用するアーカイブシステム用のサーチエージェントプロセスのプロセスフローチャートである。（図２の）サーチプロセス２０４の動作は、圧縮ファイルがビットベクトル及び圧縮セグメントのいずれを使用している場合にも同様である。しかしながら、（図２）のサーチエージェント２０５ａなどのサーチエージェントの動作は、サーチエージェントがアクセスする圧縮ファイルがビットベクトル及び圧縮セグメントのいずれを含んでいるのかに応じて異なってくる。即ち、ビットベクトルを有する圧縮ファイルに使用するサーチエージェント９００がサーチプロセスによって起動される９０１。サーチエージェントは、サーチプロセスによって選択された圧縮ファイル９０２にアクセスする。次いで、サーチエージェントは、サーチエージェントがサーチしているデータに対応する１つ又は複数のビットベクトルを選択する（９０４）。次いで、サーチエンジンは、それらの選択したビットベクトルに対してブール演算を実行し、圧縮ファイル内のデータが（図２の）サーチプロセス２０４から受信した問合せを満足させるかどうかを決定する。そして、このブール演算の完了時点において、返すべきタプルの識別に使用するセレクタとして機能するビットベクトルが生成されることになる。プロジェクションリスト、要求において返す列及び属性のリスト、及びビットベクトルレコードセレクタに基づいて、サーチエージェントは、結果データを生成する。この結果データの生成は、ルックアップ機能を使用して所望のタプルのトークンＩＤをその実装に使用した値によって置換する逆プロセスを実行することにより、行われる。そして、この生成プロセスの完了時点において、サーチエージェントは、起動元のサーチプロセスに対してなんらかの結果を返す９０６。尚、ビットベクトルの処理については、Ｇｌａｓｅｒ他に発行された米国特許第５，０３６，４５７号明細書（ＵＳＰ５，０３６，４５７）に総合的に詳述されており、この開示内容は、本明細書にそれらがすべて記述されたと同様に、本引用により、本明細書に包含される。
【００４９】
図１１は、本発明の模範的な実施例によるアーカイブシステムホストとして使用されるデータ処理装置のアーキテクチャ図である。このデータ処理装置は、システムバス１００４によってメインメモリ１００２に動作可能に接続されたプロセッサ１０００を含んでいる。このプロセッサは、入出力（Ｉ／Ｏ）制御ユニット１００６、Ｉ／Ｏローカルバス１００８、及びストレージ装置コントローラ１０１０を介してストレージ装置１０１２に更に接続されている。このストレージ装置を使用して、プログラミング命令１０１６を保存することができる。
【００５０】
動作の際には、プロセッサは、ストレージ装置からプログラミング命令をメインメモリ内に読み込む。次いで、プロセッサは、このプログラミング命令を実行し、前述の保管システムの機能を実現する。又、このストレージ装置は、アーカイブシステムの機能を実現するべくプロセッサが使用するデータ１０１４の保存にも使用可能である。
【００５１】
又、プロセッサは、入出力（Ｉ／Ｏ）制御ユニット、Ｉ／Ｏローカルバス、及び通信装置コントローラ１０１８を介して通信装置１０１８にも接続可能である。この結果、プロセッサは、圧縮ファイルを取得するべく、その他のデータ処理システム又はファイルシステムと通信可能である。
【００５２】
以上、特定の実施例により、本発明について説明したが、当業者には、多数の更なる変更及び変形が明らかであろう。従って、本発明は、本明細書において具体的に説明したもの以外の方法で実施可能であることを理解されたい。従って、本発明のこれらの実施例は、すべての面において、説明を意図するものであって、制限を意図するものではないと見なすべきであり、本発明の範囲は、以上の説明によってではなく、本出願によってサポートされている請求項及び請求項の等価物によって決定されるべきものである。
【図面の簡単な説明】
【００５３】
【図１】本発明の模範的な実施例による保管モードにおけるサーチ可能なアーカイブシステムのブロック図である。
【図２】本発明の模範的な実施例によるデータ取得モードにおけるサーチ可能なアーカイブシステムのブロック図である。
【図３】本発明の模範的な実施例によるサーチ可能なアーカイブ生成プロセスのフローチャートである。
【図４】本発明の模範的な実施例によるサーチ可能なアーカイブ生成プロセスのブロック図である。
【図５】本発明の模範的な実施例によるトークン化プロセスのブロック図である。
【図６】本発明の模範的な実施例によるトークン最適化プロセス及びトークン化データセット圧縮プロセスのブロック図である。
【図７】本発明の模範的な実施例によるサーチエージェントを採用したサーチプロセスのプロセスフローチャートである。
【図８】本発明の模範的な実施例による圧縮方法を示すブロック図である。
【図９】本発明の模範的な実施例による問合せ結果を生成するためのビットベクトルに対するブール演算の使用法を示すブロック図である。
【図１０】本発明の模範的な実施例によるビットベクトルを具備した圧縮ファイルを使用するアーカイブシステム用のサーチエージェントプロセスのプロセスフローチャートである。
【図１１】本発明の模範的な実施例によるデータ処理システムのアーキテクチャ図である。
【図１】
2005235226.tif 000003
【図２】
2005235226.tif 000004
【図３】
2005235226.tif 000005
【図４】
2005235226.tif 000006
【図５】
2005235226.tif 000007
【図６】
2005235226.tif 000008
【図７】
2005235226.tif 000009
【図８】
2005235226.tif 000010
【図９】
2005235226.tif 000011
【図１０】
2005235226.tif 000012
【図１１】
2005235226.tif 000013