説明

安全なフルテキストインデックス処理のためのシステムおよび方法

【課題】安全なフルテキストインデックス処理のためのシステムおよび方法を提供する。
【解決手段】プロセスのフィルタリング部分およびワード分割部分が、制限セキュリティ設定下で行われるように、該部分を分離するプロセスに従って、文書をインデックス処理する。インデクサ322によって文書が要求されると、文書は検索され、次いでより高いセキュリティプロセスに受け渡される。次いで文書は、インデクサ322に受け渡される前に、限定セキュリティ設定下で1つまたは複数のフィルタ334でフィルタリングされ、かつ1つまたは複数のワードブレーカ332によってトークン化される。限定セキュリティ設定は、フィルタリングおよびワード分割プロセス中にセキュリティ上の脆弱性が利用されることを防止する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、フルテキストインデックス処理のためのシステムおよび方法に関する。
【背景技術】
【0002】
ネットワークおよびファイルシステム間のコンテンツの検索は多くの形態で、しかし最も一般的には、検索エンジンの変種によって提供されてきた。検索エンジンは、特定のキーワードについてネットワーク上の文書を検索して、キーワードが発見された文書のリストを返すプログラムである。しばしば、ネットワーク上の文書は最初に、ネットワークを「クローリング」することによって識別される。
【発明の開示】
【発明が解決しようとする課題】
【0003】
クロールで文書を検索するために、ネットワーク上の各文書に対し、文書を得て文書のレコードをインデックスにポピュレートする操作が実行される。そのような検索システムにはセキュリティ上の脆弱性が存在する。しばしば、インターネットから到来する文書は、それらに悪意があるかもしれず、あるいは脆弱性の1つを露呈するように特別に作られているかもしれないので、信用すべきではない。検索およびインデックス処理プロセスの特定の部分は、プライベート情報の暴露からユーザのマシンの完全な乗っ取りまでの範囲の様々なリスクを顕在化するセキュリティ上の不備を持つかもしれない。
【課題を解決するための手段】
【0004】
本発明の実施形態は、安全なフルテキストインデックス処理のためのシステムおよび方法に関する。本発明は、インデックス処理のフィルタリングおよびワード分割プロセスを、限定セキュリティ設定(例えば読出し専用セキュリティ設定)付きプロセスに移動することによって、情報暴露のリスクを緩和する。従前のインデックス処理システムでは、悪意のあるユーザはフィルタおよび/またはワードブレーカのセキュリティ上の不備を利用して、機密情報にアクセスでき、あるいはユーザのマシンを乗っ取ることができた。フィルタおよびワードブレーカを限定セキュリティ設定付きプロセスに移動することにより、文書のインデックス処理に関与する他のプロセスに影響することなく、フィルタリングおよびワード分割プロセスをより高度のセキュリティ下で行うことが可能になる。
【0005】
本発明の一態様では、文書の安全なフルテキストインデックス処理のためのプロセスが提供される。文書識別子をインデクサから受け取る。文書識別子に対応する文書が検索される。文書は限定セキュリティ設定下で処理され、処理済み文書はインデクサに転送される。加えて、文書識別子は、文書を検索する前に、インデクサと照合される。さらに、限定セキュリティ設定下のプロセスは、セキュリティを侵害する機会(window of opportunity)が制限されるように、断続的に中断される。
【0006】
本発明の別の態様では、インデクサ、プロトコルハンドラ、および限定プロセスを含む、文書の安全なフルテキストインデックス処理のためのシステムが提供される。インデクサは、インデックスのエントリーが文書のワードに対応するインデックスを作るように構成される。プロトコルハンドラは、インデクサから受け取る文書要求により、データソースから文書を検索するように構成される。限定プロセスは、限定セキュリティ設定下で文書を処理し、かつ処理済み文書をインデクサに転送するように構成される。限定プロセスはさらに、文書を純粋テキストに変換するフィルタと、純粋テキストをワードにトークン化するワードブレーカとを含むことができる。
【発明を実施するための最良の形態】
【0007】
ここで、本発明について、その一部を構成し、かつ本発明を実施するための特定の例示的実施形態を例証として示す添付の図面を参照しながら、以下でより詳細に説明する。しかし、本発明は多くの異なる形態で具現することができ、本明細書に記載する実施形態に限定されると解釈すべきではない。むしろ、これらの実施形態は、この開示が徹底的かつ完璧になり、発明の範囲を当業者に充分に伝えるように、提供するものである。中でも特に、本発明は方法または装置として具現することができる。したがって、本発明は完全なハードウェアの実施形態、完全なソフトウェアの実施形態、またはソフトウェアおよびハードウェアの態様を含む実施形態の形態を取ることができる。したがって、以下の詳細な説明は、限定の意味に取るべきではない。
【0008】
[例示的動作環境]
図1に関連して、本発明を実現するための1つの例示的システムは、コンピューティング装置100のようなコンピューティング装置を含む。コンピューティング装置100は、クライアント、サーバ、モバイル装置、またはいずれかの他のコンピューティング装置として構成することができる。非常に基本的な構成では、コンピューティング装置100は一般的に、少なくとも1つの処理装置102およびシステムメモリ104を含む。コンピューティング装置の厳密な構成およびタイプによって、システムメモリ104は揮発性(RAMのような)、不揮発性(ROM、フラッシュメモリ等のような)、またはこの2つの何らかの組合せとすることができる。システムメモリ104は一般的にオペレーティングシステム105、1つまたは複数のアプリケーション106を含み、かつプログラムデータ107を含むことがある。一実施形態では、アプリケーション106は、本発明の機能を実現するための検索およびインデックス処理アプリケーション120を含む。この基本構成を、破線108内の構成要素によって図1に示す。
【0009】
コンピューティング装置100は、追加の特徴または機能を持つことができる。例えば、コンピューティング装置100はまた、例えば磁気ディスク、光ディスク、またはテープのような追加のデータ記憶装置(着脱可能および/または着脱不能)をも含むことができる。そのような追加の記憶装置を、図1に着脱可能な記憶装置109および着脱不能な記憶装置110によって示す。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータのような情報の記憶のためのいずれかの方法または技術で実現される、揮発性および不揮発性の着脱可能および着脱不能な媒体を含むことができる。システムメモリ104、着脱可能な記憶装置109、および着脱不能な記憶装置110はすべて、コンピュータ記憶媒体の例である。コンピュータ記憶媒体はRAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタルバーサタイルディスク(DVD)もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または所望の情報を格納するために使用することができ、かつコンピューティング装置100によってアクセスすることができるいずれかの他の媒体を含むが、それらに限定されない。いずれかのそのようなコンピュータ記憶媒体は装置100の一部とすることができる。コンピューティング装置100はまた、キーボード、マウス、ペン、音声入力装置、タッチ入力装置等のような入力装置112をも持つことができる。ディスプレイ、スピーカ、プリンタ等のような出力装置114も含めることができる。
【0010】
コンピューティング装置100はまた、装置がネットワークなどを介して他のコンピューティング装置118と通信することを可能にする通信接続116をも含む。通信接続116は通信媒体の一例である。通信媒体は一般的に、コンピュータ可読命令、データ構造、プログラムモジュール、または搬送波もしくは他の移送機構のような変調データ信号内の他のデータによって具現することができ、何らかの情報送達媒体を含む。用語「変調データ信号」とは、信号内の情報を符号化するような仕方で信号の特徴の1つまたは複数を設定または変化させた信号を意味する。限定ではなく、例として、通信媒体は、有線ネットワークまたは直接有線接続のような有線媒体、およびアコースティック、RF、赤外、ならびに他の無線媒体のような無線媒体を含む。本明細書で使用する用語、コンピュータ可読媒体は、記憶媒体および通信媒体の両方を含む。
【0011】
[安全なフルテキストインデックス処理の例示的実施形態]
本発明は、ネットワーク上の文書の安全なフルテキストインデックス処理に関する。以下の説明および特許請求の範囲全体を通じて、用語「文書」とは、ネットワーク文書、ファイル、フォルダ、ウェブページ、電子メール添付、および他の資源のような、ネットワークの検索クエリまたはクロールの結果返される任意の可能な資源を指す。
【0012】
インターネットから到来する文書は悪意があるかもしれず、あるいは検索およびインデックス処理システムの何らかの脆弱性を露呈するように特別に作られているかもしれないので、それらの文書を信用すべきかどうかの疑問が生じる。例えば、電子メールはユーザの対話無しに受信し得るので、電子メールの処理は特に危険である。
【0013】
到来文書をインデックス処理するために、内容フィルタリング(異なるフォーマットからの普通テキストの抽出)およびワード分割が行われる。フィルタは非常に複雑になることがあり、エラーを生じやすいことが知られている。例えばユーザのデータへのアクセスを伴うプロセスでフィルタリングが発生し、バッファオーバーラン(または他のセキュリティ上の不備)が一部のフィルタで起こると、様々な脅威の可能性が生じる。フィルタに関連するセキュリティ侵害の脅威は、プライベート情報の暴露からユーザのマシンの完全な乗っ取りまでの範囲に及ぶ。ワードブレーカはフィルタほど複雑でないことが知られているが、それでもやはりリスクを含む。
【0014】
図2は、先行技術のフルテキスト検索およびインデックス処理システムを示す。システム200はインデックス210、検索エンジン220、およびデータ記憶装置230を含む。検索エンジン220はさらにコアインデクサ222、ワードブレーカ224、フィルタ226、およびプロトコルハンドラ228を含む。動作中、検索エンジン220はネットワーク230から文書(例えば232)を検索し、文書を処理し、インデックス210で文書をインデックス処理する。
【0015】
プロトコルハンドラ228は、特定のデータ記憶装置から文書を得るように構成されたソフトウェアモジュールである。一実施形態では、検索エンジン220によってアクセスされるデータ記憶装置の種類毎に、異なるプロトコルハンドラを含めることができる。一実施形態では、プロトコルハンドラ228は、複数のデータ記憶装置にわたる様々な文書型の要求を処理するために、複数のプロトコルハンドラを備えることができる。データ記憶装置はローカルおよび共有ファイルシステム、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、電子メール記憶システム、ならびに検索エンジンによってアクセス可能な文書の他の記憶場所を含むことができる。一実施形態では、データ記憶装置230は、特定のアプリケーションに関連付けられる記憶ファイル(例えば電子メールアプリケーション用の記憶場所)に対応する。
【0016】
フィルタ226は、文書をその純粋テキスト等価物に変換するように構成されたソフトウェアモジュールである。一実施形態では、フィルタ226は、図示した単一のフィルタではなく、文書内容をフィルタリングするための複数のフィルタを含むことができる。これらのフィルタの1つまたは複数を「IFilter」または「IFilterインタフェース」と呼ぶことができる。IFilterインタフェースは、文書でテキストおよびプロパティ(属性とも呼ばれる)を走査(scan)する。それはこれらの文書からテキストの塊を抽出し、埋め込まれたフォーマッティングを除去し、テキストの位置に関する情報を維持する。IFilterはまた、文書全体または文書の明確に定義された部分のプロパティである値の塊をも抽出する。IFilterは、文書インデクサおよびアプリケーションに依存しないビューア(application-independent viewer)のような高レベルアプリケーションを作成するための基礎を提供する。
【0017】
ワードブレーカ224は、フィルタ226の純粋テキスト出力を取り出し、かつテキストの言語に応じてテキストをワードまたは他の単位にトークン化するように構成された、ソフトウェアモジュールである。結果的に生じるワードまたは単位は、その特定の言語のワード境界ルールに依存する。例えば様々な種類の英語は主に、空白をワード境界とみなす。ワードブレーカはしばしば、フルテキストインデックスのためだけではなく、検索文字列がトークン化され、一致を見つけるためにこれらの用語がインデックス210に送られるクエリ時にも使用される。別の実施形態では、ワードブレーカ224は、文書内容の中のワードをトークン化するための複数のワードブレーカアルゴリズムを含むことができる。例えば、複数の言語の文書のデータ記憶装置を処理するために、複数のワードブレーカを含めることができる。
【0018】
コアインデクサ222は、ワードブレーカ224から出力されたワードまたは単位からフルテキストインデックス(例えばインデックス210)を作成するように構成されたソフトウェアモジュールである。作成されたバージョンのインデックス210により、検索エンジン220を使用して、インデックス210のエントリーに一致した検索用語に対応する文書を検索することができる。多くのコアインデクサのタイプおよび設計が知られている。使用する特定のタイプのコアインデクサは、本発明を限定するものではない。したがって、本発明は、コアインデクサ222の構造について本明細書で詳述しない。本発明の要旨または範囲から逸脱することなく、多くの異なるコアインデクサ構成を使用することができる。
【0019】
動作中、コアインデクサ222はプロトコルハンドラ228へ、データ記憶装置230から検索すべき文書(例えば232)の識別子を提供する。例えば、データ記憶装置230がファイルシステムである場合、識別子はファイル名およびパスに対応することができる。データ記憶装置230がネットワークである場合、インデクサ222はプロトコルハンドラ228に、文書のURLを提供することができる。プロトコルハンドラ228は、データ記憶装置230から文書を検索し、文書をフィルタ226に伝える。フィルタ226は文書を純粋テキストに変換し、純粋テキストをワードブレーカ224に出力する。ワードブレーカ224は純粋テキストを別個のワード(または単位)にトークン化し、ワードをコアインデクサ222に出力する。コアインデクサ222は、受け取ったワードを使用してインデックス210を作成する。
【0020】
図示した先行技術のシステムでは、コアインデクサ222、ワードブレーカ224、フィルタ226、およびプロトコルハンドラ228の動作は、特定のコンピューティング装置における同一プロセスの一部、または同一セキュリティ特権設定(security privilege setting)を共有する複数のプロセスの一部である。一実施形態では、すべてのプロセスが、局所的セキュリティのコンテキストで実行される。しかし、ワードブレーカ224およびフィルタ226は、ワードブレーカ224およびフィルタ226が使用されるオーサ(author)に応じて、多くの異なるオーサの1つを持つことができる。これらの構成要素は、データ記憶装置230の文書に関連付けることのできる様々な言語および内容のため、様々なソースによって書かれる。様々な種類のオーサは、いくつかのセキュリティ上の不備をもたらす。例えば、ワードブレーカ224またはフィルタ226のコンテキストでバッファオーバーランが発生することがあり、それは悪意のある文書がインデックス処理プロセスを「乗っ取る」ことを可能にする。該問題は、プロトコルハンドラ228が文書にアクセスするために、プロセスを特定レベルの特権付き(例えば読出しおよび書込み)で実行しなければならないという事実に関連付けられる。防止しなければ、そのようなセキュリティ侵害は結果的に、機密情報の流布またはユーザのコンピューティング装置のハイジャックを招くかもしれない。
【0021】
図3は、本発明によるフルテキスト検索およびインデックス処理システムを示す。検索およびインデックス処理システム300は、従前のシステムのセキュリティ上の不備に対処したシステムを例証する。システム300は、それがインデックス310、コアインデクサ322、ワードブレーカ332、フィルタ334、プロトコルハンドラ342、およびデータ記憶装置350を含むという点で、図2のシステム200と同様である。システム300のソフトウェアモジュールは、図2に示したシステム200のソフトウェアモジュールと同様に構成される。しかし、本発明は、ソフトウェアモジュールを単一のプロセスとして実行するのではなく、ソフトウェアモジュールを3つのプロセス(320、330、340)に分離する。3つの異なるプロセスに異なるセキュリティ設定を適用することにより、ワードブレーカ332およびフィルタ334に関連付けられる従前のセキュリティ上の不備を緩和することが可能になる。
【0022】
一実施形態では、プロトコルハンドラ342はプロセス340に従って実行され、プロトコルハンドラ342がデータ記憶装置350からデータを読み出すことを可能にするセキュリティ設定が適用される。プロトコルハンドラ342のためのこのセキュリティ設定は、コアインデクサ322ならびにワードブレーカ332およびフィルタ334に適用される限定セキュリティ設定とは別である。
【0023】
コアインデクサ322は、コアインデクサがデータソース350に記憶されているユーザデータに読出しまたは書込みを行うことを防止する、限定セキュリティ設定を有するプロセス320に従って、実行される。代わりに、コアインデクサ322は、特定の場所(インデックス310)への書込みアクセス特権に制限される。
【0024】
ワードブレーカ332およびフィルタ334は、別の限定セキュリティ設定下でソフトウェアモジュールを実行するプロセス330に分離される。一実施形態では、ワードブレーカ332およびフィルタ334は最も厳しく限定されたセキュリティ設定状態にあり、そこではソフトウェアモジュールは、ユーザデータに対応するものを含め、どのメモリ場所に対する読出しまたは書込みアクセスも許可されない。ワードブレーカ332およびフィルタ334のプロセスは限定セキュリティ設定下で実行されるので、情報の暴露またはコンピューティング装置のハイジャックのリスクは緩和される。また本発明では、システム300のアーキテクチャは、セキュリティ侵害のリスクをさらに軽減する追加のセキュリティ対策を講じることを可能にする。追加セキュリティのためのこれらの追加ステップについては、システム300のアーキテクチャを利用する安全なフルテキストインデックス処理に関連して、以下に説明する(図4)。
【0025】
図4は、本発明による、図3のシステムに対応する文書のフルテキストインデックス処理のための例示的プロセスを示す。プロセス400は、図3に示したシステム300がインデックス処理のために文書を検索する用意が整った状態にあるブロック402で、開始される。処理はブロック404に続く。
【0026】
ブロック404で、コアインデクサ322は、プロセス330を通してプロトコルハンドラ342に文書要求を送る。前述の通り、文書要求は、何らかの文書ID(例えばURL、ファイルパス等)に従って文書を識別する。ひとたび要求がコアインデクサ322によって送られると、処理は決定ブロック406に続く。
【0027】
決定ブロック406で、文書IDが、コアインデクサ322が要求した実際の文書のそれであるかどうか、プロトコルハンドラ342によって検証される。文書IDを照合するために、プロトコルハンドラ342はコアインデクサに呼び出しを直接送信する。理論的には、悪意のある攻撃者がプロセス330をハイジャックすることが可能である場合、攻撃者は、文書要求をプロセス330からプロトコルハンドラ342に直接列挙することによって、ユーザデータを別の場所にサイフォニングすることができると考えられる。文書IDがコアインデクサ322によって要求された文書に対応することを検査することによって、コアインデクサ322はそれを検索する前に検証することができる。照合が実行されるときに不一致があると、受け取った文書要求が虚偽であったことをプロトコルハンドラ342に警告する。文書IDがコアインデクサ322から到来したものと検証されると、処理はブロック410に進む。しかし、照合中に文書IDがコアインデクサ322から到来したものと検証されない場合には、処理はブロック408に移動する。
【0028】
ブロック408で、プロトコルハンドラ342による文書の取出しは防止される。加えて、プロセスはハイジャックされているかもしれないので、限定プロセス330をタイムアウトする必要があることを示すフラグをセットすることができる。次いで処理は決定ブロック416に進み、そこで限定プロセス330の中断を実行することができる。
【0029】
ブロック410で、文書IDは検証されたので、プロトコルハンドラ342はデータ記憶装置350から文書を取り出す。ひとたび文書が検索されると、文書は限定プロセス330に転送され、処理はブロック412に続く。
【0030】
ブロック412で、文書は限定セキュリティ設定下で、フィルタ334およびワードブレーカ332によって処理される。前述の通り、限定セキュリティ設定は、セキュリティ上の不備のためプロセス330を乗っ取るかもしれない、悪意のある攻撃者によるユーザのデータへのアクセスを緩和する。処理はブロック414に続く。
【0031】
ブロック414で、今やトークン化されたワードに対応する処理済み文書は、コアインデクサ322に転送される。コアインデクサ322は次いで、受け取ったデータからインデックス310を作成することができる。一実施形態では、インデックス310はフルテキストインデックスに対応する。次いで処理は決定ブロック416に続く。
【0032】
決定ブロック416で、限定プロセス330を一時的に中断または停止すべきかどうか、決定が行われる。一実施形態では、限定プロセス330は、経過時間に対応して(例えば数分毎に)断続的に中断される。別の実施形態では、限定プロセス330は一時的に中断される。別の実施形態では、限定プロセス330がハイジャックされた疑いがあるので、限定プロセス330は一時的に停止する(例えば文書の照合が失敗したとき、ブロック406および408を参照)。限定プロセス330を中断すべきであるという決定が行われると、処理はブロック418に移動し、そこで限定プロセス330は一時的に停止される。一実施形態では、限定プロセス330は予め定められた時間、一時的に停止される。別の実施形態では、限定プロセス330は、ハイジャック犯をプロセスから退去させるのに充分な時間停止される。限定プロセス330の中断は、悪意のある攻撃者がプロセスを支配する時間を制限し、よってセキュリティ侵害の時間を限定する。ひとたび限定プロセスが停止して再開されると、あるいは一時的停止が必要ない場合、処理はブロック420に進み、そこでプロセス400は他の文書要求を続けるか、または他の処理に移動することができる。
【0033】
追加の実施形態では、プロセス400による文書要求および文書検索は、一括して実行される。換言すると、コアインデクサ322は一群の文書IDをプロトコルハンドラ342に転送する。プロトコルハンドラ342は文書群を検索し、それらを処理のために限定プロセス330に転送する。次いで、コアインデクサが限定プロセス330から処理済み文書の出力を受け取ると、文書群はコアインデクサ322によってインデックス処理される。
【0034】
さらに別の実施形態では、文書要求は、限定プロセス330を介して伝える代わりに、プロトコルハンドラ342に直接転送することができる。そのような実施形態では、プロトコルハンドラ342は要求のソースのため、要求の妥当性を瞬時に確認することができるので、ブロック406および408の照合ステップは不要である。
【0035】
前述の通り、本発明は、フィルタリングおよびワード分割プロセスからユーザのデータへの直接アクセスを除去し、それを別のプロセスに委託することによって、情報暴露のリスクを緩和する。加えて、文書識別子を照合して、要求された文書が本当にインデックス処理されていることを確実にする。さらに、フィルタリングおよびワード分割プロセスは、それが限定セキュリティ設定にもかかわらず(バッファオーバーランまたは他の機構を介して)ハイジャックされた場合に備えて、周期的に停止されるので、ユーザのデータの時間露出はプロセスの寿命時間によって制限される。
【0036】
上記の明細書、実施例およびデータは、本発明の構成の製造および使用の完全な記載を提供する。本発明の精神および範囲から逸脱することなく、本発明の多くの実施形態を形成することができるので、本発明は添付する特許請求の範囲に存する。
【図面の簡単な説明】
【0037】
【図1】本発明の1つの例示的実施形態で使用することのできる例示的コンピューティング装置を示す略図である。
【図2】先行技術のフルテキスト検索およびインデックス処理システムを示す略図である。
【図3】本発明によるフルテキスト検索およびインデックス処理システムを示す略図である。
【図4】本発明による、図3のシステムに対応する文書のフルテキストインデックス処理のための例示的プロセスを示すフローチャートである。
【符号の説明】
【0038】
320,330,340 プロセス

【特許請求の範囲】
【請求項1】
コンピュータで実行される、文書の安全なフルテキストインデックス処理のための方法であって、
インデクサから文書識別子を受け取ること、
前記文書識別子に対応する文書を検索すること、
前記文書を限定セキュリティ設定下で処理すること、および
前記処理済み文書を前記インデクサに転送すること、
を含むことを特徴とする方法。
【請求項2】
前記文書を検索する前に、前記文書識別子を前記インデクサと照合することをさらに含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記文書識別子の照合は、受け取った前記文書識別子を前記インデクサによって送られた文書識別子と比較することをさらに含むことを特徴とする請求項2に記載の方法。
【請求項4】
前記文書識別子の照合が失敗したときに、前記限定セキュリティ設定下での前記文書の処理は一時的に中断されることを特徴とする請求項2に記載の方法。
【請求項5】
セキュリティを侵害する機会が制限されるように、限定セキュリティ設定下での処理を断続的に中断することをさらに含むことを特徴とする請求項1に記載の方法。
【請求項6】
限定セキュリティ設定下での前記文書の処理は、フィルタを使用して前記文書を処理することをさらに含むことを特徴とする請求項1に記載の方法。
【請求項7】
限定セキュリティ設定下での前記文書の処理は、ワードブレーカを使用して前記文書を処理することをさらに含むことを特徴とする請求項1に記載の方法。
【請求項8】
一群の文書識別子が前記インデクサによって送られ、文書が一括して検索されることを特徴とする請求項1に記載の方法。
【請求項9】
前記文書は、前記限定セキュリティ設定とは異なる第二のセキュリティ設定を持つ第二のプロセスに従って検索されることを特徴とする請求項1に記載の方法。
【請求項10】
前記インデクサは、前記第二のセキュリティ設定および前記限定セキュリティ設定とは異なる、第三のセキュリティ設定の下で動作することを特徴とする請求項9に記載の方法。
【請求項11】
前記文書はプロトコルハンドラによって検索されることを特徴とする請求項1に記載の方法。
【請求項12】
前記プロトコルハンドラは前記インデクサから前記文書要求を直接受け取ることを特徴とする請求項11に記載の方法。
【請求項13】
前記プロトコルハンドラは前記文書要求を、それが前記限定セキュリティ設定に対応するプロセスを通して伝えられた後に、受け取ることを特徴とする請求項11に記載の方法。
【請求項14】
文書の安全なフルテキストインデックス処理のためのシステムであって、
インデックスのエントリーが前記文書のワードに対応するインデックスを作るように構成されたインデクサと、
前記インデクサから受け取る文書要求により、データソースから文書を検索するように構成されたプロトコルハンドラと、
限定セキュリティ設定下で前記文書を処理し、かつ処理済みの前記文書を前記インデクサに転送するように構成された限定プロセスと、
を含むことを特徴とするシステム。
【請求項15】
前記限定プロセスは前記文書を純粋テキストに変換するフィルタをさらに含むことを特徴とする請求項14に記載のシステム。
【請求項16】
前記限定プロセスは前記純粋テキストをワードにトークン化するワードブレーカをさらに含むことを特徴とする請求項15に記載のシステム。
【請求項17】
前記限定プロセスは断続的に中断されて、前記限定プロセスのハイジャックを防止するようにさらに構成されることを特徴とする請求項14に記載のシステム。
【請求項18】
前記プロトコルハンドラは、前記文書を前記データソースから検索する前に、文書識別子を前記インデクサと照合することを特徴とする請求項14に記載のシステム。
【請求項19】
インデクサから文書識別子を受け取ること、
前記文書識別子をインデクサと照合すること、
前記文書識別子に対応する文書を検索すること、
前記文書を限定セキュリティ設定下で処理すること、
前記処理済み文書を前記インデクサに転送すること、および
セキュリティを侵害する機会が制限されるように、前記限定セキュリティ設定下での処理を断続的に中断すること、
を含む、文書の安全なフルテキストインデックス処理のためのコンピュータ実行可能命令を備えたことを特徴とするコンピュータ可読媒体。
【請求項20】
前記文書を限定セキュリティ設定下で処理することは、フィルタおよびワードブレーカの少なくとも一方を使用して文書を処理することをさらに含むことを特徴とする請求項19に記載のコンピュータ可読媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate