明細書に記載の発明。要約この必要性および/または別の必要性に対処するために、本願発明者は、法律事務所および別の企業において用いられるオンラインデリバリプラットフォームに分散型検索機能を提供する新規なシステムを考案した。例えば、本システム、方法、およびソフトウェアの一局面では、複数のデータセットを提供する。このデータセットは、別のデータセットへのインデックスを含み得る。少なくとも1つの検索エンジンは各データセットに関連する。検索要求を受信するシステムは、検索要求に含まれるデータセットに基づいて、どの検索エンジンを用いて検索要求を処理かを決定する。次いで、検索要求は、特定された検索エンジンに転送される。特に、例示的な実施形態により、検索データが利用可能なRAMにおいてキャッシュされる可能性が高くそれによって高価なディスク検索を避けるように、複数の検索エンジンにわたって分散した検索機能が提供される。例えば、本発明は以下の項目を提供する。項目1複数のデータセットと複数の検索エンジンとを含むオンライン検索システムであって、該データセットの各々は該データセットに割り当てられた該複数の検索エンジンのうちのを少なくとも1つ有する、システム。項目2複数のサーバをさらに含み、各サーバが少なくとも1つの前記検索エンジンにホスティングする、項目1に記載のシステム。項目3各サーバが、1つ以上のプロセッサと、関連したLinux登録商標オペレーティングシステムとを含む、項目2に記載のシステム。項目4前記複数の検索エンジンに検索要求を分散させるように動作可能な複数の検索制御器をさらに含む、項目1に記載のシステム。項目5前記複数の検索制御器と前記複数の検索エンジンとの間に検索要求をルーティングさせるように動作可能なメッセージサーバをさらに含む、項目4に記載のシステム。項目6前記メッセージサービスがJAVA登録商標メッセージサービスを含む、項目5に記載のシステム。項目7検索要求がメッセージキューにルーティングされる、項目5に記載のシステム。項目8前記メッセージキューがIBM/MQメッセージキューソフトウェアの一バージョンによって提供される、項目7に記載のシステム。項目9前記データセットの各々がデータ収集へのインデックスの一部を含む、項目1に記載のシステム。項目10検索を行う方法であって、複数のデータセットを提供することと、検索要求を受信することと、該検索要求に応答して検索されるべき該複数のデータセットのうちの少なくとも1つのデータセットを識別することと、複数の検索エンジンのうちの少なくとも1つの検索エンジンに該検索要求を送信することであって、該検索エンジンは該少なくとも1つのデータセットとの関連性を有する、こととを包含する、方法。項目11前記データセットがデータ収集用のインデックスの一部を含む、項目10に記載の方法。項目12前記検索要求を送信することが、メッセージキューに該検索要求を配置することを包含する、項目10に記載の方法。項目13前記メッセージキューに関連した識別子は、前記データセットに関連した識別子と同一である、項目12に記載の方法。項目14複数の前記検索エンジンに送信するために前記検索要求を分割することをさらに包含する、項目10に記載の方法。項目15検索を行う方法を実行するための命令を有する機械可読媒体であって、該方法は、複数のデータセットを提供することと、検索要求を受信することと、該検索要求に応答して検索されるべき該複数のデータセットのうちの少なくとも1つのデータセットを識別することと、複数の検索エンジンのうちの少なくとも1つの検索エンジンに該検索要求を送信することであって、該検索エンジンは該少なくとも1つのデータセットとの関連性を有する、こととを包含する、機械可読媒体。項目16前記データセットがデータ収集用のインデックスの一部を含む、項目15に記載の機械可読媒体。項目17前記検索要求を送信することが、メッセージキューに該検索要求を配置することを包含する、項目15に記載の機械可読媒体。項目18前記メッセージキューに関連した識別子は、前記データセットに関連した識別子と同一である、項目17に記載の機械可読媒体。項目19複数の前記検索エンジンに送信するために前記検索要求を分割することをさらに包含する、項目15に記載の機械可読媒体。項目20検索を行うシステムであって、複数のデータセットを提供する手段と、検索要求を受信する手段と、該検索要求に応答して検索されるべき該複数のデータセットのうちの少なくとも1つのデータセットを識別する手段と、複数の検索エンジンのうちの少なくとも1つの検索エンジンに該検索要求を送信する手段であって、該検索エンジンは該少なくとも1つのデータセットとの関連性を有する、手段を備える、システム。項目21前記データセットがデータ収集用のインデックスの一部を含む、項目20に記載のシステム。項目22前記検索要求を送信する前記手段が、メッセージキューに該検索要求を配置することを含む、項目20に記載のシステム。項目23前記メッセージキューに関連した識別子は、前記データセットに関連した識別子と同一である、項目22に記載のシステム。項目24複数の前記検索エンジンに送信するために前記検索要求を分割する手段をさらに備える、項目20に記載のシステム。図および添付された請求項を取り込む記述は、一つ以上の発明の一つ以上の例示的な実施形態を記述および/または図示している。本発明を限定するためではなく、例証および教示するためにのみ提供されたこれらの実施形態は、当業者が本発明を作成し、使用することを可能とさせるために、十分詳細において記述されている。このように、一つ以上の発明を分かりにくくすることを避けるために適切となるように、本記述は、当業者に既知の情報を省略し得る。例示的な情報システム図1は、本発明の一つ以上の教示を取り込む例示的な分散検索システム100を図示している。システム100は、検索制御器102、メッセージスイッチ104、検索エンジン106、ネットワーク接続ストレージNAS:networkattachedstorage、および、検索エンジン106とNAS110とを通信できるように結合するネットワーク108を含む。上述された構成要素は、一つ以上のサーバコンピュータにわたって分配され得る。一部の実施形態において、サーバコンピュータは、SunMicrosystems株式会社からのサービスコンピュータに基づいたブレードを含む。しかしながら、代替的な実施形態において、Intel登録商標プロセッサ設計に基づいたサーバが使用され得る。検索制御器102は、検索要求を聞く。分割-連結split-mergeエンジンを利用し、検索制御器は要求を受信し、それらを構成要素要求検索エンジン106によって提供されたへ分割する。いくつかの応答が検索エンジン106から受信された場合、検索制御器は、それらの応答を合併し、要求先に送る。プログラム的に検索エンジン要求と呼ばれる分割要求は、データ収集または収集セットを含む、または生成された様々なデータにされ得る。一部の実施形態において、データセットは、データ収集または収集セットへの、インデックスの一部を含む。メッセージスイッチ104は、検索制御器102から一つ以上の検索エンジン106へのメッセージをルートするために動作する。メッセージは、一つ以上の検索エンジン106によって実行される検索要求を含み得る。本発明の一部の実施形態において、メッセージスイッチ104は、Java登録商標メッセージサービスJMSインターフェースを提供する。さらに、一部の実施形態において、メッセージは、IBMCorp.の利用可能なMQメッセージングシステム登録商標のような、メッセージキューイングソフトウェアを使用し、ルートされ得る。しかしながら、本発明における実施形態は、特定のメッセージをルートするシステムに限定されるとは考えられてはおらず、代替的な実施形態において、SonicSoftwareCorporationのメッセージキューイングソフトウェアが利用され得る。一部の実施形態において、検索エンジン106は、前-処理および後-処理データがサーバによって検索および決定されるJava登録商標ラッパーJava登録商標wrapperを含む。一部の実施形態において、この処理は、ジャバネイティブインターフェースJava登録商標NativeInterfaceを介して実行され得る。検索エンジン106は、検索エンジン要求SearchEngineRequest構成要素、および特定のインデックスセットIndexSetを受信し、検索を、要求で指定されたIndexSetの上で実行させる。検索されるデータセットは、ネットワーク108を介して検索エンジン106へ通信可能となるように結合されるネットワーク接続ストレージ110に存在し得る。ネットワーク接続ストレージは、技術的に既知であり、ファイルサーバ、ストレージサーバ、および他のネットワーク接続ストレージメディアを含む。ネットワーク108は、データ通信をサポート可能である有線またはワイヤレスネットワークの任意のタイプであり得る。本発明の一部の実施形態において、ネットワーク108は、プライベートギガビットイーサーネットネットワークGigabitEthernet登録商標を含む。しかしながら、本発明の実施形態は、特定のネットワークタイプに限定されると考えられてはいない。検索エンジン106は、リナックス登録商標OSLinux登録商標OS登録商標がインストールされた一般的なIntelのシステムの上で動作し得る。一部の実施形態におけるIndexSetのためのデータは、ネットワーク接続ストレージNASサーバ110から、ネットワークファイルシステムNFS:networkfilesystemプロトコルを介してアクセスされ得る。初期クエリが検索エンジンに入力された場合、検索エンジンは、検索クエリを満たすために、IndexSetの名前およびファイルネームを与えられる。検索エンジン106は、NASサーバ110にNFS要求をし得、それらのファイルのためのデータを要求し得る。このデータは、通常静的であり、NFSクライアントシステム上にキャッシュされる。その後、検索エンジンがその割り当てられたIndexSetのためのデータにアクセスする場合、ファイル情報のためのNFSサーバに、メタ-ディレクトリmeta-directory要求をし得る。検索エンジン106は、ローカルのRAMキャッシュからデータページを読み込み、RAMがクエリ語彙を迅速に検索することを許可する。図2は、本発明における一つ以上の教示を取り込む例示的な分散型検索システム200のさらなる詳細を提供する。システム200は、図1に関連して上述された構成要素、および追加的に製品/クライアント202、リソースマネージャ206およびオンラインデリバリプラットホームエージェントOnlineDeliveryPlatformagent208を含む。製品/クライアント202は、本発明における実施形態の教示にしたがって提供される分散型検索機能を使用する任意のクライアントソフトウェアモジュールであり得る。そのようなソフトウェアは、ブラウザ、文書管理システム、知識管理システム、文書情報検索システム、判例法検索システムなどを含む。製品/クライアント202は、メッセージスイッチ104に一つ以上の検索要求を出し、検索要求におけるデータに基づいたサービス制御器へ、要求をルートする。オンラインデリバリプラットフォームODP:OnlinePlatformエージェントプロセス208は、検索エンジン102および検索エンジン106のようなサーバ上で処理を始め、これらの処理を監視および管理する。一部の実施形態において、ODPエージェントプロセス208はまた、個々の処理を記録し、報告掲示板データベースへそれらの処理状態を報告する。さらに、一部の実施形態において、欠陥または長い処理があった場合、ODPエージェントプロセス208は、検索制御器および検索エンジンを再起動する。ODPエージェント208は、ODP環境を起動するホスティングエージェントプロセスhostingagentprocessと考えられる。システムがブートする場合、サーバ上のODPエージェント208は、ODPエージェント208をエージェントマネージャAgentManager図には示されていないに割り当てるエンジンのために、前もって設定されたリソースマネージャ206を始動およびクエリする。エージェントマネージャは、一つのドメインにおいて、エージェントおよび検索エンジンについての情報を含み、作業負荷をクエリするODPエージェントへ、ダイナミックに作業負荷を割り当てることができる。一部の実施形態において、エージェントマネージャは、LDAPLightweightDirectoryAccessProtocolエージェントを含む。一部の実施形態において、検索エンジンは、検索エンジン106に関連されたインデックスセットIndexSetの名前に対応する名前を有する割り当てられたメッセージキューである。一部の実施形態において、検索エンジン106が失敗した場合、そのエージェントは、失敗されたエンジンを検出し、それを再スタートさせる。検索エンジンの失敗時に処理されたクエリは失われ得、制御器要求は、エラーアウトされる。一部の実施形態は、失敗されたクエリのコピーを、その主題のインデックスセット上で動作している他の検索エンジンに転送し得る。しかしながら、失敗された検索エンジン106は、遅延なく新しいクエリが処理され得るように、再スタートされ得る。一部の実施形態において、検索エンジンシステムがCPU、RAM、または他のハードウェアの失敗に出くわす場合、メッセージスイッチエージェントは、IndexSetキューがそれに役立つ処理をしていないことを検出する。エージェントは、そのIndexSetキューに役立つように、検索エンジンを再割り当てすることを、すぐにエージェントマネージャに警告を発する。様々な実施形態の例示的なシステムデザインは、ブート処理の間に分散型検索構築におけるその役割を学ぶ、固定されたOSのイメージを有する、展開している一般的なシステムを組み込む。そのシステムの弾力性は処理またはハードウェアの失敗に順応し、その柔軟性は、失敗した構成要素のための追加的なリソースの割り当てを許可する。さらに、一部の実施形態において、フェイルオーバーのために割り当てられた追加的なリソースは、アイドル状態フェイルオーバーを待つがない。それらは、作業量workloadハンドラーとして展開され得、処理の障害が検出された場合、追加的な処理を提供する。この動作負荷は、メッセージスイッチ104またはODPエージェント208を介して検出され得、それぞれのIndexSetキューの作業量パターンを検出および報告し得る。追加的に、様々な実施形態の例示的なアーキテクチャは弱い監視スキームを助長する。構成要素の失敗は、すぐに検出または修正される必要がない。破局的な出来事が起こった場合、検出および通知が起こり得るが、それらの作業量を想定するための利用可能な追加のリソースが存在する限りにおいて、修正するfixing構成要素はいつでも起こり得る。動作の例示的方法図3は、システム100のような情報管理システムを動作する一つ以上の例示的な方法のフローチャート300を表している。フローチャート300はブロック310~340を含み、例示的な本実施形態において、一連の実行手順において配置および記述される。しかしながら、他の実施形態は、複数のプロセッサ、またはプロセッサのような装置、または、二つ以上の仮想コンピュータまたはサブプロセッサとして組織される単一のプロセッサを使用し、二つ以上のブロックを同時に実行し得る。他の実施形態はまた、類似した結果を達成するために、プロセッサ手順を変更し、または、異なる機能的分割を提供する。さらに、他の実施形態は、モジュールとの間、および、モジュールを介して通信される関連された制御およびデータ信号とを用いる二つ以上の相互接続されたハードウェアモジュールとして、ブロックを実行する。このように、例示的な処理フローは、ソフトウェア、ハードウェア、ファームウェアの実行に応用される。ブロック310において、本例示的方法は、一つ以上のデータセットを提供することで開始される。一部の実施例において、データセットは、データ収集またはデータ収集のセットへのインデックスの一部を含む。インデックスは、データベースのインデックスの範囲に基づいて、データセットを含むそれぞれの範囲に、分割され得る。データセットは、それゆえ、NAS110のように、記録装置上に記憶される。ブロック320は、検索要求を受信する。ブロック330で検索要求は、どのデータセットが要求されているのかを決定するために分析される。ブロック340において、検索要求は、ブロック330で識別されたデータセットに対応して検索エンジンに転送される。本発明の一部の実施形態において、検索要求は、メッセージキューを介して、検索エンジンに転送される。さらに、一部の実施形態において、特定の検索エンジンに関連されたメッセージキューは、検索エンジンを設定するIndexSetと同じ名前を与えられる。結論上記で記述された実施形態は、本発明を作成し利用する一つ以上の方法を図示および教示するためにのみ意図されたものであり、その広さや範囲に限定されるものではない。本発明の実際の範囲は、本発明の教示を実践または実行する全ての方法を取り込んでおり、一つ以上の提出された特許請求項およびそれらの同等物によってのみ限定されるものである。