(57)【要約】      （修正有）【課題】安全なフルテキストインデックス処理のためのシステムおよび方法を提供する。【解決手段】プロセスのフィルタリング部分およびワード分割部分が、制限セキュリティ設定下で行われるように、該部分を分離するプロセスに従って、文書をインデックス処理する。インデクサ３２２によって文書が要求されると、文書は検索され、次いでより高いセキュリティプロセスに受け渡される。次いで文書は、インデクサ３２２に受け渡される前に、限定セキュリティ設定下で１つまたは複数のフィルタ３３４でフィルタリングされ、かつ１つまたは複数のワードブレーカ３３２によってトークン化される。限定セキュリティ設定は、フィルタリングおよびワード分割プロセス中にセキュリティ上の脆弱性が利用されることを防止する。【選択図】図３
2006244505.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータで実行される、文書の安全なフルテキストインデックス処理のための方法であって、
インデクサから文書識別子を受け取ること、
前記文書識別子に対応する文書を検索すること、
前記文書を限定セキュリティ設定下で処理すること、および
前記処理済み文書を前記インデクサに転送すること、
を含むことを特徴とする方法。
【請求項２】
前記文書を検索する前に、前記文書識別子を前記インデクサと照合することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記文書識別子の照合は、受け取った前記文書識別子を前記インデクサによって送られた文書識別子と比較することをさらに含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記文書識別子の照合が失敗したときに、前記限定セキュリティ設定下での前記文書の処理は一時的に中断されることを特徴とする請求項２に記載の方法。
【請求項５】
セキュリティを侵害する機会が制限されるように、限定セキュリティ設定下での処理を断続的に中断することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
限定セキュリティ設定下での前記文書の処理は、フィルタを使用して前記文書を処理することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項７】
限定セキュリティ設定下での前記文書の処理は、ワードブレーカを使用して前記文書を処理することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項８】
一群の文書識別子が前記インデクサによって送られ、文書が一括して検索されることを特徴とする請求項１に記載の方法。
【請求項９】
前記文書は、前記限定セキュリティ設定とは異なる第二のセキュリティ設定を持つ第二のプロセスに従って検索されることを特徴とする請求項１に記載の方法。
【請求項１０】
前記インデクサは、前記第二のセキュリティ設定および前記限定セキュリティ設定とは異なる、第三のセキュリティ設定の下で動作することを特徴とする請求項９に記載の方法。
【請求項１１】
前記文書はプロトコルハンドラによって検索されることを特徴とする請求項１に記載の方法。
【請求項１２】
前記プロトコルハンドラは前記インデクサから前記文書要求を直接受け取ることを特徴とする請求項１１に記載の方法。
【請求項１３】
前記プロトコルハンドラは前記文書要求を、それが前記限定セキュリティ設定に対応するプロセスを通して伝えられた後に、受け取ることを特徴とする請求項１１に記載の方法。
【請求項１４】
文書の安全なフルテキストインデックス処理のためのシステムであって、
インデックスのエントリーが前記文書のワードに対応するインデックスを作るように構成されたインデクサと、
前記インデクサから受け取る文書要求により、データソースから文書を検索するように構成されたプロトコルハンドラと、
限定セキュリティ設定下で前記文書を処理し、かつ処理済みの前記文書を前記インデクサに転送するように構成された限定プロセスと、
を含むことを特徴とするシステム。
【請求項１５】
前記限定プロセスは前記文書を純粋テキストに変換するフィルタをさらに含むことを特徴とする請求項１４に記載のシステム。
【請求項１６】
前記限定プロセスは前記純粋テキストをワードにトークン化するワードブレーカをさらに含むことを特徴とする請求項１５に記載のシステム。
【請求項１７】
前記限定プロセスは断続的に中断されて、前記限定プロセスのハイジャックを防止するようにさらに構成されることを特徴とする請求項１４に記載のシステム。
【請求項１８】
前記プロトコルハンドラは、前記文書を前記データソースから検索する前に、文書識別子を前記インデクサと照合することを特徴とする請求項１４に記載のシステム。
【請求項１９】
インデクサから文書識別子を受け取ること、
前記文書識別子をインデクサと照合すること、
前記文書識別子に対応する文書を検索すること、
前記文書を限定セキュリティ設定下で処理すること、
前記処理済み文書を前記インデクサに転送すること、および
セキュリティを侵害する機会が制限されるように、前記限定セキュリティ設定下での処理を断続的に中断すること、
を含む、文書の安全なフルテキストインデックス処理のためのコンピュータ実行可能命令を備えたことを特徴とするコンピュータ可読媒体。
【請求項２０】
前記文書を限定セキュリティ設定下で処理することは、フィルタおよびワードブレーカの少なくとも一方を使用して文書を処理することをさらに含むことを特徴とする請求項１９に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フルテキストインデックス処理のためのシステムおよび方法に関する。
【背景技術】
【０００２】
ネットワークおよびファイルシステム間のコンテンツの検索は多くの形態で、しかし最も一般的には、検索エンジンの変種によって提供されてきた。検索エンジンは、特定のキーワードについてネットワーク上の文書を検索して、キーワードが発見された文書のリストを返すプログラムである。しばしば、ネットワーク上の文書は最初に、ネットワークを「クローリング」することによって識別される。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
クロールで文書を検索するために、ネットワーク上の各文書に対し、文書を得て文書のレコードをインデックスにポピュレートする操作が実行される。そのような検索システムにはセキュリティ上の脆弱性が存在する。しばしば、インターネットから到来する文書は、それらに悪意があるかもしれず、あるいは脆弱性の１つを露呈するように特別に作られているかもしれないので、信用すべきではない。検索およびインデックス処理プロセスの特定の部分は、プライベート情報の暴露からユーザのマシンの完全な乗っ取りまでの範囲の様々なリスクを顕在化するセキュリティ上の不備を持つかもしれない。
【課題を解決するための手段】
【０００４】
本発明の実施形態は、安全なフルテキストインデックス処理のためのシステムおよび方法に関する。本発明は、インデックス処理のフィルタリングおよびワード分割プロセスを、限定セキュリティ設定（例えば読出し専用セキュリティ設定）付きプロセスに移動することによって、情報暴露のリスクを緩和する。従前のインデックス処理システムでは、悪意のあるユーザはフィルタおよび／またはワードブレーカのセキュリティ上の不備を利用して、機密情報にアクセスでき、あるいはユーザのマシンを乗っ取ることができた。フィルタおよびワードブレーカを限定セキュリティ設定付きプロセスに移動することにより、文書のインデックス処理に関与する他のプロセスに影響することなく、フィルタリングおよびワード分割プロセスをより高度のセキュリティ下で行うことが可能になる。
【０００５】
本発明の一態様では、文書の安全なフルテキストインデックス処理のためのプロセスが提供される。文書識別子をインデクサから受け取る。文書識別子に対応する文書が検索される。文書は限定セキュリティ設定下で処理され、処理済み文書はインデクサに転送される。加えて、文書識別子は、文書を検索する前に、インデクサと照合される。さらに、限定セキュリティ設定下のプロセスは、セキュリティを侵害する機会（window of opportunity）が制限されるように、断続的に中断される。
【０００６】
本発明の別の態様では、インデクサ、プロトコルハンドラ、および限定プロセスを含む、文書の安全なフルテキストインデックス処理のためのシステムが提供される。インデクサは、インデックスのエントリーが文書のワードに対応するインデックスを作るように構成される。プロトコルハンドラは、インデクサから受け取る文書要求により、データソースから文書を検索するように構成される。限定プロセスは、限定セキュリティ設定下で文書を処理し、かつ処理済み文書をインデクサに転送するように構成される。限定プロセスはさらに、文書を純粋テキストに変換するフィルタと、純粋テキストをワードにトークン化するワードブレーカとを含むことができる。
【発明を実施するための最良の形態】
【０００７】
ここで、本発明について、その一部を構成し、かつ本発明を実施するための特定の例示的実施形態を例証として示す添付の図面を参照しながら、以下でより詳細に説明する。しかし、本発明は多くの異なる形態で具現することができ、本明細書に記載する実施形態に限定されると解釈すべきではない。むしろ、これらの実施形態は、この開示が徹底的かつ完璧になり、発明の範囲を当業者に充分に伝えるように、提供するものである。中でも特に、本発明は方法または装置として具現することができる。したがって、本発明は完全なハードウェアの実施形態、完全なソフトウェアの実施形態、またはソフトウェアおよびハードウェアの態様を含む実施形態の形態を取ることができる。したがって、以下の詳細な説明は、限定の意味に取るべきではない。
【０００８】
［例示的動作環境］
図１に関連して、本発明を実現するための１つの例示的システムは、コンピューティング装置１００のようなコンピューティング装置を含む。コンピューティング装置１００は、クライアント、サーバ、モバイル装置、またはいずれかの他のコンピューティング装置として構成することができる。非常に基本的な構成では、コンピューティング装置１００は一般的に、少なくとも１つの処理装置１０２およびシステムメモリ１０４を含む。コンピューティング装置の厳密な構成およびタイプによって、システムメモリ１０４は揮発性（ＲＡＭのような）、不揮発性（ＲＯＭ、フラッシュメモリ等のような）、またはこの２つの何らかの組合せとすることができる。システムメモリ１０４は一般的にオペレーティングシステム１０５、１つまたは複数のアプリケーション１０６を含み、かつプログラムデータ１０７を含むことがある。一実施形態では、アプリケーション１０６は、本発明の機能を実現するための検索およびインデックス処理アプリケーション１２０を含む。この基本構成を、破線１０８内の構成要素によって図１に示す。
【０００９】
コンピューティング装置１００は、追加の特徴または機能を持つことができる。例えば、コンピューティング装置１００はまた、例えば磁気ディスク、光ディスク、またはテープのような追加のデータ記憶装置（着脱可能および／または着脱不能）をも含むことができる。そのような追加の記憶装置を、図１に着脱可能な記憶装置１０９および着脱不能な記憶装置１１０によって示す。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータのような情報の記憶のためのいずれかの方法または技術で実現される、揮発性および不揮発性の着脱可能および着脱不能な媒体を含むことができる。システムメモリ１０４、着脱可能な記憶装置１０９、および着脱不能な記憶装置１１０はすべて、コンピュータ記憶媒体の例である。コンピュータ記憶媒体はＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（ＤＶＤ）もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または所望の情報を格納するために使用することができ、かつコンピューティング装置１００によってアクセスすることができるいずれかの他の媒体を含むが、それらに限定されない。いずれかのそのようなコンピュータ記憶媒体は装置１００の一部とすることができる。コンピューティング装置１００はまた、キーボード、マウス、ペン、音声入力装置、タッチ入力装置等のような入力装置１１２をも持つことができる。ディスプレイ、スピーカ、プリンタ等のような出力装置１１４も含めることができる。
【００１０】
コンピューティング装置１００はまた、装置がネットワークなどを介して他のコンピューティング装置１１８と通信することを可能にする通信接続１１６をも含む。通信接続１１６は通信媒体の一例である。通信媒体は一般的に、コンピュータ可読命令、データ構造、プログラムモジュール、または搬送波もしくは他の移送機構のような変調データ信号内の他のデータによって具現することができ、何らかの情報送達媒体を含む。用語「変調データ信号」とは、信号内の情報を符号化するような仕方で信号の特徴の１つまたは複数を設定または変化させた信号を意味する。限定ではなく、例として、通信媒体は、有線ネットワークまたは直接有線接続のような有線媒体、およびアコースティック、ＲＦ、赤外、ならびに他の無線媒体のような無線媒体を含む。本明細書で使用する用語、コンピュータ可読媒体は、記憶媒体および通信媒体の両方を含む。
【００１１】
［安全なフルテキストインデックス処理の例示的実施形態］
本発明は、ネットワーク上の文書の安全なフルテキストインデックス処理に関する。以下の説明および特許請求の範囲全体を通じて、用語「文書」とは、ネットワーク文書、ファイル、フォルダ、ウェブページ、電子メール添付、および他の資源のような、ネットワークの検索クエリまたはクロールの結果返される任意の可能な資源を指す。
【００１２】
インターネットから到来する文書は悪意があるかもしれず、あるいは検索およびインデックス処理システムの何らかの脆弱性を露呈するように特別に作られているかもしれないので、それらの文書を信用すべきかどうかの疑問が生じる。例えば、電子メールはユーザの対話無しに受信し得るので、電子メールの処理は特に危険である。
【００１３】
到来文書をインデックス処理するために、内容フィルタリング（異なるフォーマットからの普通テキストの抽出）およびワード分割が行われる。フィルタは非常に複雑になることがあり、エラーを生じやすいことが知られている。例えばユーザのデータへのアクセスを伴うプロセスでフィルタリングが発生し、バッファオーバーラン（または他のセキュリティ上の不備）が一部のフィルタで起こると、様々な脅威の可能性が生じる。フィルタに関連するセキュリティ侵害の脅威は、プライベート情報の暴露からユーザのマシンの完全な乗っ取りまでの範囲に及ぶ。ワードブレーカはフィルタほど複雑でないことが知られているが、それでもやはりリスクを含む。
【００１４】
図２は、先行技術のフルテキスト検索およびインデックス処理システムを示す。システム２００はインデックス２１０、検索エンジン２２０、およびデータ記憶装置２３０を含む。検索エンジン２２０はさらにコアインデクサ２２２、ワードブレーカ２２４、フィルタ２２６、およびプロトコルハンドラ２２８を含む。動作中、検索エンジン２２０はネットワーク２３０から文書（例えば２３２）を検索し、文書を処理し、インデックス２１０で文書をインデックス処理する。
【００１５】
プロトコルハンドラ２２８は、特定のデータ記憶装置から文書を得るように構成されたソフトウェアモジュールである。一実施形態では、検索エンジン２２０によってアクセスされるデータ記憶装置の種類毎に、異なるプロトコルハンドラを含めることができる。一実施形態では、プロトコルハンドラ２２８は、複数のデータ記憶装置にわたる様々な文書型の要求を処理するために、複数のプロトコルハンドラを備えることができる。データ記憶装置はローカルおよび共有ファイルシステム、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、電子メール記憶システム、ならびに検索エンジンによってアクセス可能な文書の他の記憶場所を含むことができる。一実施形態では、データ記憶装置２３０は、特定のアプリケーションに関連付けられる記憶ファイル（例えば電子メールアプリケーション用の記憶場所）に対応する。
【００１６】
フィルタ２２６は、文書をその純粋テキスト等価物に変換するように構成されたソフトウェアモジュールである。一実施形態では、フィルタ２２６は、図示した単一のフィルタではなく、文書内容をフィルタリングするための複数のフィルタを含むことができる。これらのフィルタの１つまたは複数を「ＩＦｉｌｔｅｒ」または「ＩＦｉｌｔｅｒインタフェース」と呼ぶことができる。ＩＦｉｌｔｅｒインタフェースは、文書でテキストおよびプロパティ（属性とも呼ばれる）を走査（scan）する。それはこれらの文書からテキストの塊を抽出し、埋め込まれたフォーマッティングを除去し、テキストの位置に関する情報を維持する。ＩＦｉｌｔｅｒはまた、文書全体または文書の明確に定義された部分のプロパティである値の塊をも抽出する。ＩＦｉｌｔｅｒは、文書インデクサおよびアプリケーションに依存しないビューア（application-independent viewer）のような高レベルアプリケーションを作成するための基礎を提供する。
【００１７】
ワードブレーカ２２４は、フィルタ２２６の純粋テキスト出力を取り出し、かつテキストの言語に応じてテキストをワードまたは他の単位にトークン化するように構成された、ソフトウェアモジュールである。結果的に生じるワードまたは単位は、その特定の言語のワード境界ルールに依存する。例えば様々な種類の英語は主に、空白をワード境界とみなす。ワードブレーカはしばしば、フルテキストインデックスのためだけではなく、検索文字列がトークン化され、一致を見つけるためにこれらの用語がインデックス２１０に送られるクエリ時にも使用される。別の実施形態では、ワードブレーカ２２４は、文書内容の中のワードをトークン化するための複数のワードブレーカアルゴリズムを含むことができる。例えば、複数の言語の文書のデータ記憶装置を処理するために、複数のワードブレーカを含めることができる。
【００１８】
コアインデクサ２２２は、ワードブレーカ２２４から出力されたワードまたは単位からフルテキストインデックス（例えばインデックス２１０）を作成するように構成されたソフトウェアモジュールである。作成されたバージョンのインデックス２１０により、検索エンジン２２０を使用して、インデックス２１０のエントリーに一致した検索用語に対応する文書を検索することができる。多くのコアインデクサのタイプおよび設計が知られている。使用する特定のタイプのコアインデクサは、本発明を限定するものではない。したがって、本発明は、コアインデクサ２２２の構造について本明細書で詳述しない。本発明の要旨または範囲から逸脱することなく、多くの異なるコアインデクサ構成を使用することができる。
【００１９】
動作中、コアインデクサ２２２はプロトコルハンドラ２２８へ、データ記憶装置２３０から検索すべき文書（例えば２３２）の識別子を提供する。例えば、データ記憶装置２３０がファイルシステムである場合、識別子はファイル名およびパスに対応することができる。データ記憶装置２３０がネットワークである場合、インデクサ２２２はプロトコルハンドラ２２８に、文書のＵＲＬを提供することができる。プロトコルハンドラ２２８は、データ記憶装置２３０から文書を検索し、文書をフィルタ２２６に伝える。フィルタ２２６は文書を純粋テキストに変換し、純粋テキストをワードブレーカ２２４に出力する。ワードブレーカ２２４は純粋テキストを別個のワード（または単位）にトークン化し、ワードをコアインデクサ２２２に出力する。コアインデクサ２２２は、受け取ったワードを使用してインデックス２１０を作成する。
【００２０】
図示した先行技術のシステムでは、コアインデクサ２２２、ワードブレーカ２２４、フィルタ２２６、およびプロトコルハンドラ２２８の動作は、特定のコンピューティング装置における同一プロセスの一部、または同一セキュリティ特権設定（security privilege setting）を共有する複数のプロセスの一部である。一実施形態では、すべてのプロセスが、局所的セキュリティのコンテキストで実行される。しかし、ワードブレーカ２２４およびフィルタ２２６は、ワードブレーカ２２４およびフィルタ２２６が使用されるオーサ（author）に応じて、多くの異なるオーサの１つを持つことができる。これらの構成要素は、データ記憶装置２３０の文書に関連付けることのできる様々な言語および内容のため、様々なソースによって書かれる。様々な種類のオーサは、いくつかのセキュリティ上の不備をもたらす。例えば、ワードブレーカ２２４またはフィルタ２２６のコンテキストでバッファオーバーランが発生することがあり、それは悪意のある文書がインデックス処理プロセスを「乗っ取る」ことを可能にする。該問題は、プロトコルハンドラ２２８が文書にアクセスするために、プロセスを特定レベルの特権付き（例えば読出しおよび書込み）で実行しなければならないという事実に関連付けられる。防止しなければ、そのようなセキュリティ侵害は結果的に、機密情報の流布またはユーザのコンピューティング装置のハイジャックを招くかもしれない。
【００２１】
図３は、本発明によるフルテキスト検索およびインデックス処理システムを示す。検索およびインデックス処理システム３００は、従前のシステムのセキュリティ上の不備に対処したシステムを例証する。システム３００は、それがインデックス３１０、コアインデクサ３２２、ワードブレーカ３３２、フィルタ３３４、プロトコルハンドラ３４２、およびデータ記憶装置３５０を含むという点で、図２のシステム２００と同様である。システム３００のソフトウェアモジュールは、図２に示したシステム２００のソフトウェアモジュールと同様に構成される。しかし、本発明は、ソフトウェアモジュールを単一のプロセスとして実行するのではなく、ソフトウェアモジュールを３つのプロセス（３２０、３３０、３４０）に分離する。３つの異なるプロセスに異なるセキュリティ設定を適用することにより、ワードブレーカ３３２およびフィルタ３３４に関連付けられる従前のセキュリティ上の不備を緩和することが可能になる。
【００２２】
一実施形態では、プロトコルハンドラ３４２はプロセス３４０に従って実行され、プロトコルハンドラ３４２がデータ記憶装置３５０からデータを読み出すことを可能にするセキュリティ設定が適用される。プロトコルハンドラ３４２のためのこのセキュリティ設定は、コアインデクサ３２２ならびにワードブレーカ３３２およびフィルタ３３４に適用される限定セキュリティ設定とは別である。
【００２３】
コアインデクサ３２２は、コアインデクサがデータソース３５０に記憶されているユーザデータに読出しまたは書込みを行うことを防止する、限定セキュリティ設定を有するプロセス３２０に従って、実行される。代わりに、コアインデクサ３２２は、特定の場所（インデックス３１０）への書込みアクセス特権に制限される。
【００２４】
ワードブレーカ３３２およびフィルタ３３４は、別の限定セキュリティ設定下でソフトウェアモジュールを実行するプロセス３３０に分離される。一実施形態では、ワードブレーカ３３２およびフィルタ３３４は最も厳しく限定されたセキュリティ設定状態にあり、そこではソフトウェアモジュールは、ユーザデータに対応するものを含め、どのメモリ場所に対する読出しまたは書込みアクセスも許可されない。ワードブレーカ３３２およびフィルタ３３４のプロセスは限定セキュリティ設定下で実行されるので、情報の暴露またはコンピューティング装置のハイジャックのリスクは緩和される。また本発明では、システム３００のアーキテクチャは、セキュリティ侵害のリスクをさらに軽減する追加のセキュリティ対策を講じることを可能にする。追加セキュリティのためのこれらの追加ステップについては、システム３００のアーキテクチャを利用する安全なフルテキストインデックス処理に関連して、以下に説明する（図４）。
【００２５】
図４は、本発明による、図３のシステムに対応する文書のフルテキストインデックス処理のための例示的プロセスを示す。プロセス４００は、図３に示したシステム３００がインデックス処理のために文書を検索する用意が整った状態にあるブロック４０２で、開始される。処理はブロック４０４に続く。
【００２６】
ブロック４０４で、コアインデクサ３２２は、プロセス３３０を通してプロトコルハンドラ３４２に文書要求を送る。前述の通り、文書要求は、何らかの文書ＩＤ（例えばＵＲＬ、ファイルパス等）に従って文書を識別する。ひとたび要求がコアインデクサ３２２によって送られると、処理は決定ブロック４０６に続く。
【００２７】
決定ブロック４０６で、文書ＩＤが、コアインデクサ３２２が要求した実際の文書のそれであるかどうか、プロトコルハンドラ３４２によって検証される。文書ＩＤを照合するために、プロトコルハンドラ３４２はコアインデクサに呼び出しを直接送信する。理論的には、悪意のある攻撃者がプロセス３３０をハイジャックすることが可能である場合、攻撃者は、文書要求をプロセス３３０からプロトコルハンドラ３４２に直接列挙することによって、ユーザデータを別の場所にサイフォニングすることができると考えられる。文書ＩＤがコアインデクサ３２２によって要求された文書に対応することを検査することによって、コアインデクサ３２２はそれを検索する前に検証することができる。照合が実行されるときに不一致があると、受け取った文書要求が虚偽であったことをプロトコルハンドラ３４２に警告する。文書ＩＤがコアインデクサ３２２から到来したものと検証されると、処理はブロック４１０に進む。しかし、照合中に文書ＩＤがコアインデクサ３２２から到来したものと検証されない場合には、処理はブロック４０８に移動する。
【００２８】
ブロック４０８で、プロトコルハンドラ３４２による文書の取出しは防止される。加えて、プロセスはハイジャックされているかもしれないので、限定プロセス３３０をタイムアウトする必要があることを示すフラグをセットすることができる。次いで処理は決定ブロック４１６に進み、そこで限定プロセス３３０の中断を実行することができる。
【００２９】
ブロック４１０で、文書ＩＤは検証されたので、プロトコルハンドラ３４２はデータ記憶装置３５０から文書を取り出す。ひとたび文書が検索されると、文書は限定プロセス３３０に転送され、処理はブロック４１２に続く。
【００３０】
ブロック４１２で、文書は限定セキュリティ設定下で、フィルタ３３４およびワードブレーカ３３２によって処理される。前述の通り、限定セキュリティ設定は、セキュリティ上の不備のためプロセス３３０を乗っ取るかもしれない、悪意のある攻撃者によるユーザのデータへのアクセスを緩和する。処理はブロック４１４に続く。
【００３１】
ブロック４１４で、今やトークン化されたワードに対応する処理済み文書は、コアインデクサ３２２に転送される。コアインデクサ３２２は次いで、受け取ったデータからインデックス３１０を作成することができる。一実施形態では、インデックス３１０はフルテキストインデックスに対応する。次いで処理は決定ブロック４１６に続く。
【００３２】
決定ブロック４１６で、限定プロセス３３０を一時的に中断または停止すべきかどうか、決定が行われる。一実施形態では、限定プロセス３３０は、経過時間に対応して（例えば数分毎に）断続的に中断される。別の実施形態では、限定プロセス３３０は一時的に中断される。別の実施形態では、限定プロセス３３０がハイジャックされた疑いがあるので、限定プロセス３３０は一時的に停止する（例えば文書の照合が失敗したとき、ブロック４０６および４０８を参照）。限定プロセス３３０を中断すべきであるという決定が行われると、処理はブロック４１８に移動し、そこで限定プロセス３３０は一時的に停止される。一実施形態では、限定プロセス３３０は予め定められた時間、一時的に停止される。別の実施形態では、限定プロセス３３０は、ハイジャック犯をプロセスから退去させるのに充分な時間停止される。限定プロセス３３０の中断は、悪意のある攻撃者がプロセスを支配する時間を制限し、よってセキュリティ侵害の時間を限定する。ひとたび限定プロセスが停止して再開されると、あるいは一時的停止が必要ない場合、処理はブロック４２０に進み、そこでプロセス４００は他の文書要求を続けるか、または他の処理に移動することができる。
【００３３】
追加の実施形態では、プロセス４００による文書要求および文書検索は、一括して実行される。換言すると、コアインデクサ３２２は一群の文書ＩＤをプロトコルハンドラ３４２に転送する。プロトコルハンドラ３４２は文書群を検索し、それらを処理のために限定プロセス３３０に転送する。次いで、コアインデクサが限定プロセス３３０から処理済み文書の出力を受け取ると、文書群はコアインデクサ３２２によってインデックス処理される。
【００３４】
さらに別の実施形態では、文書要求は、限定プロセス３３０を介して伝える代わりに、プロトコルハンドラ３４２に直接転送することができる。そのような実施形態では、プロトコルハンドラ３４２は要求のソースのため、要求の妥当性を瞬時に確認することができるので、ブロック４０６および４０８の照合ステップは不要である。
【００３５】
前述の通り、本発明は、フィルタリングおよびワード分割プロセスからユーザのデータへの直接アクセスを除去し、それを別のプロセスに委託することによって、情報暴露のリスクを緩和する。加えて、文書識別子を照合して、要求された文書が本当にインデックス処理されていることを確実にする。さらに、フィルタリングおよびワード分割プロセスは、それが限定セキュリティ設定にもかかわらず（バッファオーバーランまたは他の機構を介して）ハイジャックされた場合に備えて、周期的に停止されるので、ユーザのデータの時間露出はプロセスの寿命時間によって制限される。
【００３６】
上記の明細書、実施例およびデータは、本発明の構成の製造および使用の完全な記載を提供する。本発明の精神および範囲から逸脱することなく、本発明の多くの実施形態を形成することができるので、本発明は添付する特許請求の範囲に存する。
【図面の簡単な説明】
【００３７】
【図１】本発明の１つの例示的実施形態で使用することのできる例示的コンピューティング装置を示す略図である。
【図２】先行技術のフルテキスト検索およびインデックス処理システムを示す略図である。
【図３】本発明によるフルテキスト検索およびインデックス処理システムを示す略図である。
【図４】本発明による、図３のシステムに対応する文書のフルテキストインデックス処理のための例示的プロセスを示すフローチャートである。
【符号の説明】
【００３８】
３２０，３３０，３４０  プロセス
【図１】
2006244505.tif 000003
【図２】
2006244505.tif 000004
【図３】
2006244505.tif 000005
【図４】
2006244505.tif 000006