(57)【要約】  データセントリック検索を管理するための方法は、ドメイン検索に関する事象情報を受信することと、データベースの第１のメモリ位置にあるデータを特定することと、データを新しいメモリ位置に複製することと、他のドメイン検索の処理をメモリ位置の中で分散配置することと、を含む。処理の分散配置は、無作為に、連続的に、または他の方法で行われる。この方法は、メモリ位置で構成される拡張検索スペースを含み、縮小事象を特定し、検索スペースを圧縮し、複製データを除去することが可能である。この方法は、ドメイン検索と関連するネットワークセグメントにより多数の事象を構成する機能も含む。
2012504814.tif 000002
【特許請求の範囲】
【請求項１】
データセントリックデータ処理の動的管理方法であって、
データベースに対するドメイン固有データ処理に関する事象の関連情報を受信するステップと、
前記データベースの第１のメモリ位置にあるデータであって前記ドメイン固有データ処理を受けて特定されるデータを特定するステップと、
少なくとも一つの新しいメモリ位置に前記データを少なくとも１回複製するステップと、
多数のドメイン固有データ処理を前記少なくとも一つの新しいメモリ位置の中で分散配置するステップと、
を包含する方法。
【請求項２】
前記分散配置は、多数のドメイン固有データ処理を前記第１のメモリ位置の中でさらに分散配置する、請求項１の方法。
【請求項３】
前記分散配置は、多数のドメイン固有データ処理をさらに無作為に分散配置する、請求項１の方法。
【請求項４】
前記分散配置は、多数のドメイン固有データ処理をさらに連続的に分散配置する、請求項１の方法。
【請求項５】
前記第１のメモリ位置と少なくとも一つのメモリ位置とが拡張データ処理スペースを包含し、さらに、
前記ドメイン固有データ処理に関する縮小事象を特定するステップと、
一つ以上のメモリ位置へのアクセスを中断して、前記縮小事象の後のドメイン固有データ処理を残りの少なくとも一つのメモリ位置の中で分散配置することにより、前記拡張データ処理スペースを圧縮するステップと、
を包含する方法。
【請求項６】
さらに、
多数の事象をネットワークセグメントによって構成するステップと、
ドメイン固有データ処理と関連するネットワークセグメントを特定するステップと、
特定された前記ネットワークセグメントに近接する少なくとも一つの新しいメモリ位置に前記データを複製するステップと、
を包含する方法である、請求項１の方法。
【請求項７】
地理的距離、ネットワーク待機時間、中間ネットワークホップの数、温度、およびコストのうち一つ以上によって近接度が測定される、請求項６の方法。
【請求項８】
作業負荷マネージャにより管理される方法である、請求項１の方法。
【請求項９】
データセントリックデータ処理環境におけるデータ処理スペースの予測的拡張方法であって、
データベースに対するドメイン固有データ処理に関する予想事象の関連情報を受信するステップと、
前記データベースに少なくとも一つのメモリ位置を有する前記データ処理スペース内のデータであって前記ドメイン固有データ処理を受けて特定されるデータを特定するステップと、
前記データ処理スペース内のデータを少なくとも一つの新しいメモリ位置に複製することにより、前記データ処理スペースを拡張するステップと、
多数のドメイン固有データ処理を少なくとも前記拡張データ処理の中で分散配置するステップと、
を包含する方法。
【請求項１０】
さらに、
前記ドメイン固有データ処理と関連する縮小事象を監視するステップと、
特定された縮小事象に基づいて、前記縮小事象の後で提示されたデータ処理が少なくとも一つの残存するメモリ位置によって処理されるように、前記拡張データ処理スペースを圧縮するステップと、
を包含する方法である、請求項９の方法。
【請求項１１】
さらに、
受理した情報を日時によって配列されたログに格納するステップと、
前記ログに基づいて予想事象のスケジュールを予測するステップと、
前記予測スケジュールに基づいて、前記予想事象に先立って、前記データ処理スペースを拡張し、ドメイン固有データ処理を前記拡張データ処理スペースの中で分散配置するステップと、
を包含する方法である、請求項９の方法。
【請求項１２】
さらに、
ドメイン固有データ処理に関する前記予想事象に関連するネットワークセグメントを特定するステップと、
特定された前記ネットワークセグメントに近接する少なくとも一つの新しいメモリ位置に前記データを複製するステップと、
を包含する方法である、請求項９の方法。
【請求項１３】
地理的距離、ネットワーク待機時間、中間ネットワークホップの数、温度、およびコストのうち一つ以上によって近接度が測定される、請求項１２の方法。
【請求項１４】
作業負荷マネージャにより処理される方法である、請求項９の方法。
【請求項１５】
データセントリックデータ処理の動的管理システムであって、
データベースに対するドメイン固有データ処理に関する事象の関連情報を受信するように構成されたモジュールと、
前記データベースの第１のメモリ位置にあるデータを特定するように構成されたモジュールであって、前記データは、前記ドメイン固有データ処理を受けて特定されるデータである、モジュールと、
少なくとも一つの新しいメモリ位置に前記データを少なくとも１回複製するように構成されたモジュールと、
多数のドメイン固有データ処理を前記少なくとも一つの新しいメモリ位置の中で分散配置するように構成されたモジュールと、
を有するシステム。
【請求項１６】
分散配置するように構成された前記モジュールは、前記第１のメモリ位置の中で処理をさらに分散配置する、請求項１５のシステム。
【請求項１７】
前記第１のメモリ位置と少なくとも一つのメモリ位置とが拡張データ処理スペースを包含し、さらに、
前記ドメイン固有データ処理に関する縮小事象を特定するように構成されたモジュールと、
一つ以上のメモリ位置へのアクセスを中断して、少なくとも一つの残存するメモリ位置の中で処理を分散配置することにより、前記拡張データ処理スペースを圧縮するように構成されたモジュールと、
を包含するシステムである、請求項１５のシステム。
【請求項１８】
作業負荷マネージャモジュールにより管理されるシステムである、請求項１５のシステム。
【請求項１９】
データセントリックデータ処理を動的管理するための命令を有するコンピュータプログラムを格納するコンピュータ読取可能な記録媒体であって、前記命令は、
データベースに対するドメイン固有データ処理に関する事象の関連情報を受理するステップと、
前記データベースの第１のメモリ位置にあるデータであって前記ドメイン固有データ処理を受けて特定されるデータを特定するステップと、
少なくとも一つの新しいメモリ位置に前記データを少なくとも１回複製するステップと、
多数のドメイン固有データ処理を前記少なくとも一つの新しいメモリ位置の中で分散配置するステップと、
を包含する、コンピュータ読取可能な記録媒体。
【請求項２０】
前記命令は、作業負荷マネージャによって管理される、請求項１９のコンピュータ読取可能な記録媒体。
【請求項２１】
前記ドメイン固有データ処理は、さらにドメイン固有検索を包含する、請求項１の方法。
【請求項２２】
前記データセントリックデータ処理は、さらにドメイン固有検索を包含する、請求項１５のシステム。
【請求項２３】
前記ドメイン固有データ処理は、さらにドメイン固有検索を包含する、請求項１９のコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、以下の米国特許出願に関連している。２００６年８月１１日出願の出願番号第１０／５３０，５８２号（代理人事件番号第０１０−００１１Ａ号）、２００６年８月１１日出願の出願番号第１０／５３０，５８１号（代理人事件番号第０１０−００１１Ｂ号）、２００５年３月１１日出願の出願番号第１０／５３０，５７７号（代理人事件番号第０１０−００１１Ｃ号）、２００５年３月１１日出願の出願番号第１０／５３０，５７６号（代理人事件番号第０１０−００１３号）、２００５年８月１９日出願の出願番号第１１／２０８，１３８号（代理人事件番号第０１０−００１１Ｄ号）、２００６年１２月１８日出願の出願番号第１１／６２９，９４０号（代理人事件番号第０１０−００１１Ｅ号）、２００８年２月１９日出願の出願番号第１２／０３３，３８６号（代理人事件番号第０１０−００１１Ｆ−ＤＩＶ号）、２００５年６月１７日出願の出願番号第１１／１５５，０９０号（代理人事件番号第０１０−００１１Ｇ号）、２００５年６月１７日出願の出願番号第１１／１５５，３４７号（代理人事件番号第０１０−００１２号）、２００７年５月８日出願の出願番号第１１／７１８，８６７号（代理人事件番号第０１０−００１６号）、２００５年６月１７日出願の出願番号第１１／１５５，０９１号（代理人事件番号第０１０−００１８号）、２００６年８月１１日出願の出願番号第１０／５８９，３３９号（代理人事件番号第０１０−００１９号）、２００６年３月１６日出願の出願番号第１１／２７６，８５２号（代理人事件番号第０１０−００２５号）、２００５年３月１１日出願の出願番号第１０／５３０，５７８号（代理人事件番号第０１０−００２６号）、２００５年３月１１日出願の出願番号第１０／５３０，５８０号（代理人事件番号第０１０−００２８号）、２００８年２月４日出願の出願番号第１０／５３０，５７５号（代理人事件番号第０１０−００３０号）、２００５年８月２６日出願の出願番号第１１／２０７，４３８号（代理人事件番号第０１０−００３５号）、２００６年２月９日出願の出願番号第１１／２７６，０１３号（代理人事件番号第０１０−００３６号）、２００６年３月１６日出願の出願番号第１１／２７６，８５３号（代理人事件番号第０１０−００３８号）、２００６年３月１６日出願の出願番号第１１／２７６，８５４号（代理人事件番号第０１０−００３９号）、２００６年３月１６日出願の出願番号第１１／２７６，８５５号（代理人事件番号第０１０−００４０号）、２００６年３月１６日出願の出願番号第１１／２７６，８５６号（代理人事件番号第０１０−００４１号）、２００６年４月７日出願の出願番号第１１／２７９，００７号（代理人事件番号第０１０−００４３号）、２００７年６月１４日出願の出願番号第１１／７６３，０１０号（代理人事件番号第０１０−００４４号）、２００６年１２月２６日出願の出願番号第１１／６１６，１５６号（代理人事件番号第０１０−００４５号）、２００８年１月３１日出願の出願番号第１２／０２３，７２２号（代理人事件番号第０１０−００４６号）、２００８年７月２４日出願の出願番号第１２／１７９，１４２号（代理人事件番号第０１０−００４７号）。各特許出願は、本出願より以前に出願された。これら出願の各々の内容は、その全体が参考として取り入れられている。
【０００２】
本発明は、検索、より詳しくはデータセントリック検索を処理するためのリソース管理に関連する。
【背景技術】
【０００３】
データセントリック検索は、この１５年間で普及するようになってきた。Ｙａｈｏｏ、ＡｌｔａＶｉｓｔａ、Ａｓｋ．ｃｏｍ、Ｇｏｏｇｌｅなどの企業は、ワールドワイドウェブ上の検索サービスを提供することによって成長してきた。一般的にユーザは、ウェブページを訪れて、ウェブページのテキストボックスに検索語を入力することにより見つけたい項目を検索する。計算環境としてグリッドまたはクラスタの形で一緒にネットワーク接続された数百、数千、または数十万台もの個々のコンピュータを含む大規模データセンターにおいて、検索エンジンがこれらの問合せを処理する。検索エンジンは一般的に、検索データベースを多くのコンピュータの間で分散配置する。しかし、多数のインターネットユーザの関心を引く事象が発生した時には、この事象についての情報を求める要求が検索エンジンに短時間で押し掛ける。例えば、２００８年北京オリンピックは、膨大な量のウェブ検索を引き起こす事象であったが、その大部分は実質的に同じであるか、非常に類似した要素を含んでいた。一般的な検索エンジンデータセンターでは、これは、要求の高い情報を含む１台のコンピュータまたは一定のコンピュータ集合が繰り返し問合せを受けることを意味する。このような類似の問合せは、同じドメイン内であると考えられる。このコンピュータまたはコンピュータ集合における突然の作業負荷の増加は、サービスの質の低下につながる。例えば、通常の条件下ではサーバが０．０２秒で問合せに対応する場合、極端な負荷では同じサーバが問合せに対応するのに０．０８秒以上かかる。
【０００４】
オリンピックは、検索の増加を多く招く予測可能な事象の例であるが、他の事象、例えばハリケーンや地震などの自然災害および政治的紛争などの非自然災害は、予測可能性が低い。オリンピックに関する検索は２週間以上にわたって広がり、検索量は徐々に増加するが、他の事象は、統計的にはわずかな数から検索全体のかなりの割合を占めるまで、短時間で急速に増加する。
【０００５】
多くの場合、これらの事象に起因する大量の検索は最高値検索（つまりユーザにとって最重要）であるが、時間的に集中していて要求が大量であるため、必要なデータを含む計算環境内の個々のサーバは、反応が最も遅くなる。最終的には、最重要の検索に最悪のサービスが提供されるという結果になる。
【０００６】
ここで用いられるデータ検索は、いかなる種類のデータ検索またはデータセントリック処理にも当てはまる。ウェブ検索は、データがＧｏｏｇｌｅの所有するインデックスデータであって、ウェブクローリングアルゴリズムを介してインターネット上で取得されるＧｏｏｇｌｅ検索などの検索を含む。検索されるデータは、ドラッジレポートまたはＣＮＮウェブサイトなど、同じウェブページに多数のユーザがアクセスするようなウェブページそのものでもよい。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
したがって、当該技術分野で必要とされるのは、最も頻度の高い検索が即時対応されるように検索を管理する改良方法である。
【課題を解決するための手段】
【０００８】
本発明の付加的な特徴および長所は、以下に続く説明に提示され、一部は説明から明らかであるか発明の実施により習得される。発明の特徴および長所は、添付の請求項に詳しく指摘された手段および組合せによって実現および獲得される。本発明の以上および他の特徴は、以下の説明および添付の請求項からより完全な形で明らかになるか、ここに提示される発明の実施により習得される。
【０００９】
開示されるのは、データセントリック検索の動的管理のためのシステム、方法、およびコンピュータ読取可能な有形媒体である。この方法は、データベースに対するドメイン固有検索に関する事象関連の情報を受信し、ドメイン固有検索を受けて特定されるデータである、データベースの第１のメモリ位置にあるデータを特定し、少なくとも一つの新しいメモリ位置にデータを少なくとも１回複製し、多数のドメイン固有検索を少なくとも一つの新しいメモリ位置の中で分散配置することを含む。この方法はさらに、第１のメモリ位置と少なくとも一つの新しいメモリ位置との少なくとも一方の中で処理を分散配置する。システムは、無作為に、連続的に、または例えば地理的など他の戦略的方法で、多数のドメイン固有検索の処理を分散配置できる。応答時間を短縮するように、ある種の自動車または政治家候補について検索エンジンを介して提示される検索の数がある閾値に達すると、ここに開示されるステップをシステムが実施できる。データを複製した後で、応答時間を改善するため、システムは、同じドメインまたは話題についての追加検索を、追加したメモリ位置の中で分散配置する。
【００１０】
この方法は、第１のメモリ位置と少なくとも一つのメモリ位置とで構成される拡張した検索スペースの使用を任意で含む。この方法はさらに、ドメイン固有検索に関する減少事象を特定し、一つ以上のメモリ位置から複製データを除去するか、これらのメモリ位置へのアクセスを中断して少なくとも一つの残存するメモリ位置の中で処理を分散配置することにより、拡張した検索スペースを圧縮することを含む。この方法は、多数の事象をネットワークセグメントにより構成し、ドメイン固有検索と関連するネットワークセグメントを特定し、そして、特定されたネットワークセグメントに近接する少なくとも一つの新しいメモリ位置にデータを複製することを含む。この方法は、地理的距離、ネットワーク待機時間、中間ネットワークホップの数、温度、およびコストのうち一つ以上によって近接度を測定できる。Ｃｌｕｓｔｅｒ  Ｒｅｓｏｕｒｃｅｓ社のＭＯＡＢ（登録商標）などの作業負荷マネージャ、またはＰｌａｔｆｏｒｍ  Ｃｏｍｐｕｔｉｎｇ社のソフトウェアにより、この方法の全部または一部を実施または管理できる。
【図面の簡単な説明】
【００１１】
本発明の上記および他の長所および特徴が得られる方法を説明するため、添付図面に示された特定実施形態を参照して、上で簡単に説明された発明についてのより詳しい説明が行われる。これらの図面は発明の典型的実施形態を描いたものに過ぎず、そのため範囲を限定するものと考えられるべきではないことを理解したうえで、添付図面を用いてさらに明確および詳細に発明が記載および説明される。
【００１２】
【図１】本実施の形態におけるシステムの一例を示した図である。
【図２】第一の先行技術による検索管理アプローチを示した図である。
【図３】第二の先行技術による検索管理アプローチを示した図である。
【図４】本実施の形態における検索管理のためのシステムの一例を示した図である。
【図５】本実施の形態における方法の一例を示した図である。
【図６】本実施の形態における予測的検索管理のための方法の一例を示した図である。
【発明を実施するための形態】
【００１３】
以下では、発明の様々な実施形態が詳述される。特定の実行例について述べるが、例示目的のみで行われることを理解すべきである。関連技術分野の当業者は、発明の趣旨および範囲から離れることなく他の要素および構成が使用されてもよいことを認識するだろう。
【００１４】
図１を参照すると、典型的システムは、処理ユニット（ＣＰＵ）１２０と、リードオンリメモリ（ＲＯＭ）１４０およびランダムアクセスメモリ（ＲＡＭ）１５０などのシステムメモリを含む様々なシステム要素を処理ユニット１２０に結合するシステムバス１１０とを含む汎用計算デバイス１００を含む。他のシステムメモリ１３０の使用も可能である。一つ以上のＣＰＵ１２０を備える計算デバイス、または処理能力を高めるため一緒にネットワーク接続された計算デバイスのグループまたはクラスタにおいて本発明が機能することが理解できる。処理ユニット１２０は、ソフトウェアにより制御される汎用ＣＰＵを専用プロセッサとともに含む。Ｉｎｔｅｌ  Ｘｅｏｎ  ＬＶ  Ｌ７３４５プロセッサは、ソフトウェアにより制御される汎用ＣＰＵの例である。独立したコンピュータチップの設計に特定の機能が組み込まれてもよい。ＳＴＭｉｃｒｏｅｌｅｃｔｒｏｎｉｃｓ  ＳＴＡ０１３プロセッサは、ＭＰ３オーディオファイルを解読する専用プロセッサの例である。言うまでもなく、処理ユニットは、汎用ＣＰＵおよびＣＰＵを制御するように構成されたモジュールに加えて、実際のプロセッサ設計にソフトウェアが有効に組み込まれた専用プロセッサも含む。処理ユニットは本質的に、多数のコアまたはＣＰＵ、バス、メモリ制御装置、キャッシュなどを含む完全内蔵型の計算システムである。マルチコア処理ユニットは、対称性でも非対称性でもよい。
【００１５】
システムバス１１０は、メモリバスまたはメモリ制御装置、周辺装置のバス、そして多様なバスアーキテクチャのいずれかを用いるローカルバスを含む種々のタイプのバスの構造のいずれかで実現してもよい。ＲＯＭ１４０その他に格納される基本入出力（ＢＩＯＳ）は、起動時などに計算デバイス１００内の要素間で情報を伝達するのに役立つ基本ルーチンを提供する。計算デバイス１００はさらに、ハードディスクドライブ１６０、磁気ディスクドライブ、光ディスクドライブ、テープドライブ、またはその他のような記憶デバイスを含む。記憶デバイス１６０は、ドライブインタフェースによりシステムバス１１０に接続されている。ドライブおよび関連のコンピュータ読取可能な媒体は、計算デバイス１００のためのコンピュータ読取可能な命令、データ構造、プログラムモジュールおよび他のデータの不揮発性記憶装置となる。一面において、特定の機能を実施するハードウェアモジュールは、機能を実行するためＣＰＵ、バス、ディスプレイ、およびその他のような必要なハードウェア要素と関連するコンピュータ読取可能な有形媒体に格納されるソフトウェア要素を含む。基本的な要素は当該技術分野の当業者には周知であり、デバイスが小型、ハンドヘルド計算デバイス、デスクトップコンピュータ、またはコンピュータサーバであるかどうかなど、デバイスのタイプに応じて、適切な変形が考えられる。
【００１６】
ここに説明される典型的な実施形態ではハードディスクを採用しているが、磁気カセット、フラッシュメモリカード、デジタルバーサティルディスク、カートリッジ、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、ビットストリームを含むケーブルまたは無線信号、およびその他のように、コンピュータによるアクセスが可能なデータを格納できる他のタイプのコンピュータ読取可能媒体が典型的な動作環境で使用されてもよいことを、当該技術分野の当業者であれば理解するはずである。
【００１７】
ユーザが計算デバイス１００と相互作用を行うことができるように、入力デバイス１９０は、会話用マイクロフォン、身振りまたは図形入力のためのタッチ感応スクリーン、キーボード、マウス、動作入力、音声、およびその他など、いくつかの入力機構を代表するものである。音声検索問合せの開始を示すため、提示者により入力が用いられてもよい。デバイス出力１７０は、当該技術分野の当業者に周知のいくつかの出力機構のうち一つ以上でもよい。いくつかの例では、マルチモードシステムによって、計算デバイス１００と通信するための多数のタイプの入力をユーザが提供できる。通信インタフェース１８０は概して、ユーザ入力およびシステム出力を支配および管理する。発明は特定のハードウェア構成での機能に限定されるわけではなく、そのため改良型のハードウェアまたはファームウェアが開発されれば、基本的特徴が容易にこれと置き換えられる。
【００１８】
説明を明瞭にするため、例示的なシステム実施形態は、個々の機能ブロック（「プロセッサ」と記された機能ブロックを含む）を包含するものとして提示される。これらのブロックが表す機能は、共有又は専用のいずれかのハードウェアの使用によって提供されるが、このハードウェアというのは、ソフトウェアを実行できるハードウェアと、汎用プロセッサで実行されるソフトウェアの同等物として機能するように専用に構築されたプロセッサなどのハードウェアと、を限定的でなく含む。例えば、図１に提示された一つ以上のプロセッサの機能は、単一の共有プロセッサまたは多数のプロセッサにより提供される（「プロセッサ」の語の使用は、ソフトウェアの実行が可能なハードウェアのみを指すと解釈されるべきではない。）。例示的な実施形態は、マイクロプロセッサおよび／またはデジタル信号プロセッサ（ＤＳＰ）ハードウェア、後述する動作を実施するソフトウェアを格納するリードオンリメモリ（ＲＯＭ）、および結果を記憶するためのランダムアクセスメモリ（ＲＡＭ）を包含する。超大型集積回路（ＶＬＳＩ）ハードウェアの実施形態が、汎用ＤＳＰ回路と組み合わされたカスタムＶＬＳＩ回路構成とともに提供されてもよい。
【００１９】
様々な実施形態の論理的動作は、（１）汎用コンピュータ内のプログラマブル回路で実行されるコンピュータ利用ステップ、動作、または手順のシーケンス、（２）専用プログラマブル回路で実行されるコンピュータ利用ステップ、動作、または手順のシーケンス、および／または（３）プログラマブル回路内で相互接続されたマシンモジュールまたはプログラムエンジン、として実行される。
【００２０】
この方法を実行するように構成されるいくつかの基本的システム要素を説明したので、先行技術によるいくつかの検索管理アプローチの開示に移る。図２は、第一の先行技術による検索管理アプローチを示した図である。キュー２０２は、ＣＰＵサイクル、メモリ、データベースアクセスおよびその他などのリソースを消費する計算環境に提示されるタスクまたはジョブを格納している。キュー２０２が一杯になると、ＭＯＡＢ  Ｃｌｕｓｔｅｒ  Ｓｕｉｔｅ（登録商標）またはＣｌｕｓｔｅｒ  Ｒｅｓｏｕｒｃｅｓ社またはＰｌａｔｆｏｒｍ社の他のソフトウェアを例として含む作業負荷マネージャ２０４などのソフトウェアが、キュー２０２から計算環境２０６へタスク／ジョブを割り当てる。データセントリック検索の状況では、多数のコンピュータの大規模データセットの多様な部分を計算環境２０６が含有する。一面において、作業負荷マネージャは、計算環境２０６へのタスク／ジョブ（検索要求など）の知的な計画および配置、知的な負荷分散、そして参考として取り入れられている様々な出願に開示されている他の作業負荷管理タスクおよび性能などのタスクを実施する。このようなソフトウェアは、検索要求（ジョブ）に対応するため任意のタイミングおよびリソースを特定し、サービス水準合意または他の基準を満たしながら計算環境２０６の利用を最大限にするために、キューから特定の計算リソース２０８へジョブを写像する。リソースの消費のための計算環境へのジョブの挿入を管理することばかりでなく、データセントリック状況において、大量検索または性能を低下させる他の事象に対応する計算環境の能力を向上させるようにこの環境を管理することまで、作業負荷マネージャ２０４の性能がどのように拡張されるかを、本開示では説明する。
【００２１】
図３は、第二の先行技術による検索管理アプローチ３００を示した図である。この第二の先行技術では、検索など一連の処理または要求３０２を受理して、プロセッサスペースまたは作業負荷による処理の均衡化の代わりに、これらの要求への回答と関連するメモリスペース３０４を写像する。このアプローチは基本的に、広い検索スペースの検索を助けるため、多数の計算サーバにわたって、またそのディスクまたはメモリ３０６にわたって均等に、および／または戦略的に、広い検索スペース３０４を分割する。データ記憶装置およびキャッシュを備える多数の計算システムをシステムが有する旧来のモデルに代わって、このアプローチは、データセントリックなデータ集中方法での高速データアクセスを可能にするオンプロセッサキャッシュにすべてが含まれるかもしれない多数のデータスペースの同等物を有効に使用する。この先行技術アプローチは、ディスクサイズ、メモリサイズ、またはデータサイズにより、メモリスペース３０４のノード３０６の間でデータを静的に分散させる。このアプローチは、入力要求３０２により必要とされるデータセットの全部または一部を偶然にも有する適切な計算サーバまたはノード３０６に入力要求３０２を写像する変換層３０８を含む。検索または処理が入力されるたびに、システムは、変換層３０８を通してメモリスペース３０４の正しいサーバ集合体３０６にこれを写像する。メモリ内でのデータの高速アクセスが可能であり、変換層の処理面は比較的軽量であるため、これは本来、良好なモデルである。しかし、この先行技術アプローチは、特定の処理セットでの予想外の増加への対応に適しておらず、調整もされない。言い換えると、多数のユーザが同じドメインまたはテーマのデータを検索し始めた場合には、この先行技術アプローチでは、検索に対応するための計算環境への需要増大に対して適切に対処されないのである。
【００２２】
さて、ここに開示される発明に開示内容を移す。開示されるアプローチは、作業負荷管理ソフトウェアの性能により改良を行う。開示されるアプローチは、計算環境を管理し、事象を監視し、メモリなどのリソースを保存し、トリガを起動し、必要とされる基準に従って環境内でのリソースの利用を最大限にするという、作業負荷管理ソフトウェアの性能を利用する。以前の作業負荷管理ソフトウェアは、環境に分散されるジョブの全体的な管理を中心としていたが、本開示では、データセントリック検索と、この状況での計算環境の管理方法とにこの使用が拡張される。図４は、検索を管理するための本実施の形態４００のシステムの一例を示した図である。作業負荷マネージャ４０２（または他のソフトウェア／ハードウェア、または環境内でのリソースの使用を管理する他の機構）は、少なくとも部分的にシステムを管理する。システムが処理または検索４０４を受理すると、変換層４０６が、入力処理または検索をメモリスペース４０８の適切なリソースに写像する。一例では、ウェブページについてのデータを収集してこれをデータベース４０８に格納するウェブクローリングアルゴリズムを検索エンジンが有する。ユーザが検索エンジンなどで語または語句を検索する際には、検索語に適合するウェブサイトにユーザが誘導されるように、データベース４０８の適切なデータが配置される。類似の検索の増加が発生すると、同じノード、メモリ、ノードセット４１２が大量の処理を扱っているかこのデータにヒットしているという情報を作業負荷マネージャ４０２が受理する。サービス水準合意（ＳＬＡ）、キュー内のタスク数、毎秒ヒット率、平均応答時間などの閾値に基づいて、または他のデータに基づいて、大量の処理の判断をシステムが行う。閾値は、多様なデータセントリック検索ごとに異なってもよい。例えばシステムは、他より重要な一つの検索カテゴリを検討できる。この場合、システムは、重要カテゴリへの対応をより良くするため、低い閾値、例えば０．５秒でなく０．２秒の平均応答時間を、より重要なカテゴリに割り当てる。カテゴリは動的でもよい。例えば、最も人気のある検索に対して最良の対応をするため、最新の事象に関する検索は、ＳＬＡを介して最短応答時間を持つように割り当てられる。一例を挙げると、二人の大統領候補についての検索が討論会の翌日に０．２秒より長い応答時間を持つ場合には、ここに開示されるアプローチを起動するようにシステムが閾値を変更できる。これに関して、特定のドメインにおける検索を要求している多数のユーザの体験を改善するため、このドメインでの検索の応答時間をシステムが改善することが可能である。
【００２３】
特徴４１２は、メモリスペース４０８、または計算デバイスのグリッドまたはクラスタにわたって分散されたメモリ位置に記憶されたデータを表す。同じドメイン内での検索を受けて特定の位置またはいくつかのメモリ位置のデータが何度もアクセスされる時には、特徴４１２は「ホットデータ」として参照される。閾値事象に達すると、拡張検索スペース４１０を作成するために、作業負荷マネージャ４０２が、利用可能であるか、あるいは必要性の低いメモリ位置４１０へホットデータ４１２を知的にコピーする。ここに開示されるプロセスおよびステップのいずれかを管理するため、作業負荷マネージャ４０２は、予約、起動、準備、または取り入れられている出願に提示された性能のいずれかを使用する。作業負荷マネージャ４０２は、環境４０８の制御について充分な情報を持っており、参考として取り入れられる多様な法則を用いて、環境４０８におけるリソースの利用を制御４２２，４２４する。作業負荷マネージャ４０２はまた、原メモリ位置４１２および／または拡張検索スペース４１０にわたって類似のデータセントリック処理４１８，４２０を分散配置するように変換層４０６を調節できる。作業負荷マネージャ４０２は、変換層の利用以外にも他の機構を用いて、付加的なドメイン内検索の分散を管理できる。これに関して、図４には、メモリ位置４１２のデータにアクセスすることにより計算環境により応答される最初の検索グループ４１４が示されている。新しいメモリ位置４１０にデータが複製された後は、元のメモリ位置４１２、新しいメモリ位置４１０、またはその両方にアクセスすることにより、同じドメイン内での付加的検索を作業負荷マネージャ４０２が管理できる。
【００２４】
データが複製されて検索が分散された後、ドメイン固有検索と関連する事象をシステムが監視し、事象が発生するか閾値を越えた場合に、システムは、圧縮または縮小事象の後で提示された検索がデータベースの検索スペースにより処理されるように拡張検索スペースを縮小し、一つ以上のメモリ位置から複製データを除去するか一つ以上のメモリ位置へのアクセスを中断し、少なくとも一つの残存メモリ位置の間で処理を分散配置するようにアルゴリズムを調節する。言い換えると、類似の処理の増加が沈静化すると、作業負荷マネージャ４０２は、拡張検索スペース４１０でのデータコピーを縮小または消去するか、このデータを格納するメモリスペースへのアクセスを中断する。この縮小は、徐々に、または一気に行われる。システムは、重要性または使用頻度の表示とともにデータコピーを拡張検索スペースに残す。処理および検索の傾向が変移するにつれて、作業負荷マネージャ４０２は、現在、拡張検索スペースにあるデータよりも至急のホットデータ４１２を特定して、これに置き換える。一面において、メモリスペース４０８に示された多様なボックスは、同じ物理コンピュータの一部でよい。例えばシステムは、ＲＡＭ、ハードドライブ、フラッシュメモリ、リムーバブル媒体、そして多数のプロセッサコアを備えるコンピュータでは各コアの個々のキャッシュを、別々のメモリ位置と考える。
【００２５】
作業負荷マネージャ４０２は、検索を管理するための多様なアプローチも使用できる。やはり、検索データは、検索エンジン−インデックスデータ、ダイレクトウェブサイトデータ、または音声処理または天気予報その他などの種類の分析に使用される親会社データベースなど他のデータでよいことに注目される。システムは、キャッシュ、ハードドライブ、テープドライブ、ＲＡＭ、光学ドライブ、今後開発されるメモリデバイスなど他のデータ記憶装置にデータを分散配置する。上記のように、環境４０８の中のデータは、ウェブクローラから取得されるデータであってウェブサイト自体の中のデータではない。別の例では、データはウェブサイトデータそのものである。ある場合には、ウェブサイトはストリーミングビデオを含む。この状況では、同じウェブサイトに多数のユーザがアクセスするなど、事象閾値に達した場合に、システムは、ウェブサイトデータ全体の一部を新しい位置に複製して、検索分散アルゴリズムは検索を追加位置に写像する。メモリスペース４１０へのデータの複製を開始してから、多様なメモリ位置の間でのドメイン内検索の分散を管理するのに、システムジョブまたはトリガが使用される。作業負荷マネージャ４０２は、新しいメモリ位置４１０と関連するリソースの予約を開始する。他のネットワークリソースも予約されて、問合せへの対応に使用されなければならない。こうして、ＣＰＵ、帯域幅、データプレステージングおよびポストステージングジョブなどがすべて、ここに開示されるステップを達成するのに利用される。一例では、多数の静止部分ではなくウェブサイトの映像部分のみをシステムが複製する。こうして、ユーザがＵＲＬを入力するかウェブサイトにアクセスする時に、オリジナルサーバと、単数または複数のオリジナルサーバのみでは充分な性能水準で処理できない特別な要求に対応するため映像を格納している動的保存サーバの一つのいずれかから送られた映像が流れる。
【００２６】
上記のように、上述した法則は、ローカルエリアネットワーク検索または他のタイプの検索など、ウェブ検索以外のデータセントリック検索にも適用される。この法則は、ウェブ管理など、検索以外のデータセントリック処理にまで拡張される。例えば、ウェブ管理サービスを販売するため、ＧｏＤａｄｄｙ．ｃｏｍなどのウェブ管理プロバイダは、大規模なクラスタ、グリッド、またはクラウドコンピュータを維持管理している。管理コンピュータのリソースを完全またはほぼ完全に利用するのに充分な情報量を有しているウェブサイトは少数であるのに対して、大部分のウェブサイトの情報量は散在的、散発的であり、実際には他の顧客との共有マシンで処理される。時には、ＣＮＮ．ｃｏｍまたはＳｌａｓｈｄｏｔ．ｏｒｇなどの人気ウェブサイトは小規模ウェブサイトへのリンクを貼って、混雑していないサーバに大量のウェブ情報量を迂回させ、すべての要求をサーバが処理できないようにする急増加にリソースが対応することはない。ウェブ管理プロバイダは、ウェブサイトのウェブ利用容量を動的に拡大して通常のコンピュータグループよりも大きくするように、上述した法則を適用するサービスを提供できる。この場合の事象は、閾値を越える毎秒あたりのＨＴＴＰ要求数、または特定ウェブサーバへのネットワーク情報量、または閾値を越えるアドレスの量である。システムは、ウェブサイトを複製して、複製データの新しいメモリ位置のために新しいＩＰアドレスの数を確定する。別のＩＰアドレスへのＵＲＬの切換えを達成するための機構の一例は、多数の人が特定のＵＲＬを要求すると、オリジナルＩＰアドレスと、複製された単数または複数のウェブサイトの新しいＩＰアドレスのうち少なくとも一つの間で確定したＩＰアドレスをＤＮＳサーバが分散させるように、作業負荷マネージャ４０２、またはここに記すアルゴリズムに従ってＤＮＳサーバのＩＰアドレスをローテーションさせる他の機構を含む。事象が沈静化する（ｃｎｎ．ｃｏｍを要求する人が減少する）と、システムは、動的に拡張された複製ウェブサイトのグループを圧縮して、元のサイズおよび元のメモリにする。新しいＩＰアドレスを備える各複製ウェブサイトが圧縮されるか、利用可能対象から除外されると、アルゴリズムはもはやこのＩＰアドレスをＤＮＳサーバへ挿入しない。圧縮が続くと、元のＩＰアドレスのみがＤＮＳサーバに残り、このＵＲＬについての今後の要求は元のウェブサーバによって対応される。この方式においてウェブ管理者は、このようなサービスについて毎月定額料金を請求し、保険に似た方法で多数の顧客の間でコスト拡大を分散させるか、このような拡大と関連する実際のコストに基づいてウェブ管理者が請求を行う。当該技術分野の当業者には明らかである他の変形および用途が存在する。
【００２７】
図５は、本実施形態における方法の一例を示した図である。方法を実行するように構成されたシステムについて方法実施形態を記す。システムは、作業負荷マネージャその他などの要素、コンピュータのクラスタまたはグリッド、オンデマンドセンタ、クラウド計算環境その他などの一つ以上の計算環境、作業負荷マネージャと一つ以上の計算環境とを接続するネットワーク、一つの位置または多数の位置に分散された検索関連情報のデータベース、関連のソフトウェア、および他の必要な要素を含む。システムは、データベース（５０２）に対するドメイン固有検索に関する事象と関連する情報を受け取る。一例を挙げると、インターネット検索エンジンは、検索インデックスからの情報を検索することにより検索エンジンが対応する数千の検索問合せを一秒ごとに受理する。この場合の事象は、毎秒あたりの特定ドメイン内での検索問合せの数である。検索インデックスは一般的には大規模な分散データベースであるが、単一の位置に存在可能である。検索エンジンは、検索要求のログを維持している。どの検索語または検索語の組合せが最高のヒット率を有する、つまり最も注目されているかを判断するため、検索エンジンは検索語によってログを分類する。システムは、適合している閾値を特定するため、ヒット率、または環境と関連する他のパラメータを何らかの方法で監視する。システムは、ログの全部または一部を、データベースに対する検索のヒット率と関連する情報として受理する。大量の検索に加えて、ＳＬＡに関するトリガは、特定カテゴリの検索語についての最低水準のサービス、またはある時間量以上で完了する検索（０．７秒以上かかる“Ｄｏｎａｌｄ  Ｔｒｕｍｐ”についての検索問合せなど）を示す。事象はまた、ヒット率と関連していなくてもよい。エネルギー消費量と、温度と、海流事象、天候事象、政府の決定、経済事象、その他など環境の検索以外の事象とに関連していてもよい。
【００２８】
ドメイン固有検索は、所望するサービス品質に応じて多層の検索を含む。例えば、ドメイン固有検索の例は“Ｈｕｒｒｉｃａｎｅ  Ｋａｔｒｉｎａ”である。若干の付加的な検索語が取り入れられてもよいが、このドメインの検索の大多数は“Ｈｕｒｒｉｃａｎｅ  Ｋａｔｒｉｎａ”の語を含む。多層でのドメイン固有検索の別の例は、Ｓａｉｎｔ  Ｐａｔｒｉｋ'ｓ  Ｄａｙである。ドメインは広く、シャムロック、グリーン、レプレホーン（小妖精）、金のつぼ、３月１７日、アイルランド、ピンチ、パレードなどの検索語を含む。システムは、これらの検索語のすべてとその変形とをドメイン固有検索に含める。「事象」の他の例は、低い反応時間、ドメイン固有メモリ位置での高温、帯域幅の問題、または閾値に達する要因の組合せを含む。
【００２９】
システムは、ドメイン固有検索を受けて特定されるデータである、データベースの第１のメモリ位置にあるデータを特定する（５０４）。システムは、多数の方法での検索を受けてデータを特定してもよい。例えば、最も注目された上位２５件の検索、または毎秒７５０件以上ヒットした検索と関連するデータを特定する。一般的に、一つのメモリ位置、または事実上一つの位置と呼ばれる限定数のメモリ位置に、データが格納される。メモリ位置は例えば、プロセッサキャッシュ、ＲＡＭ、ソリッドステートドライブ、内部および外部ハードドライブ、および／または他の媒体を含む。クラスタの一つのノードにおいて、データは、ハードディスク、ＲＡＭ、プロセッサキャッシュに同時に存在できる。特定されたデータは、多くの検索の対象である「ホットデータ」である。
【００３０】
システムは、少なくとも一つの新しいメモリ位置にデータを少なくとも一回複製する（５０６）。この例として、最近発表されたスポーツカーについてのドメイン固有検索と関連するデータを検討する。このスポーツカーについてのヒット率が上昇するにつれて、システムは、スポーツカーについてのデータを他のコンピュータまたはノードの新しいメモリ位置に複製する。単一のノードが０．２５秒で検索要求に対応するという一つのシナリオでは、各ノードが１秒毎に処理する検索要求が４件以下となるように、システムはデータを充分なノードに複製する。入力された検索が所望のサービス閾値を越える場合には、システムはこれに応じて新しいメモリ位置を予約できる。サービス応答時間は、新しいメモリ位置の数を選択する時の多くの要因のうちの一つに過ぎない。他の要因は、位置、コスト、複製時間、有効マシン、競合的なドメイン固有検索、サービス水準合意（ＳＬＡ）、グリーンコンピューティング、エネルギー消費量、エネルギー効率などを含む。新しいメモリ位置の数を選択するための他の分散シナリオが存在する。
【００３１】
システムは、多数の、または付加的なドメイン固有検索の処理を、少なくとも一つの新しいメモリ位置の間で分散配置する（５０８）。このタスクを実施するためのアルゴリズムの例は、図３および４に示された変換層３０８，４０６とほぼ類似しているが、主な相違は、類似のデータセントリック処理の増加に応じるため、作業負荷マネージャが知的または動的にアルゴリズムを更新できることである。データが多数の位置にあると、システムはアルゴリズムを適用して多数の位置にわたって検索を分散配置する。システムはすべてのメモリ位置の間で検索の処理を無作為に分散配置するか、連続的に、または他の基準に基づいてこれらを分散配置する。より高度なアルゴリズムの実行例では、最低の負荷、最短の待機時間、最も効率的な処理、最低の温度、最低の処理費用を持つメモリ位置、あるいは他のネットワークおよび／またはメモリ位置特徴に、検索の処理が分散配置される。アルゴリズムは、時刻、サービス品質制約、競合的なドメイン固有検索、コスト、その他に基づいて変更可能である。
【００３２】
検索の数が高いままであると、システムは拡張検索スペースを維持し、拡張検索スペースの少なくとも一部と元の検索スペースとの間での検索の分散を継続する。いずれ、特定ドメインにおける検索の要求が減少するか、他の何らかの事象が拡張検索スペースの必要性に影響する。メモリ位置の数または検索スペースを圧縮するため、システムは任意で、ドメイン固有検索に関する縮小事象を特定し（５１０）、拡張検索スペースより狭いが少なくとも一つのメモリ位置を有する縮小検索スペースのデータによってキーデータについての検索が処理されるように、拡張検索スペースを圧縮する（５１２）。スポーツカーの例では、１ガロン当たり最高３マイルを達成したことを製造者が発表した後でスポーツカーについての話題が静まった場合には、スポーツカーについての検索が急激に減少すると仮定する。検索数がある閾値を下回ると、システムは、新しいメモリ位置の全部または一部のデータを消去するか、分散時にこれらのメモリ位置をもはや含まないようにアルゴリズムを制御することにより、拡張検索スペースを圧縮する。システムは一つのステップで、または一連のステップで徐々にこれを行う。第１のメモリ位置は、すべての新しいメモリ位置の親として作用して圧縮可能ではないが、一面では、少なくとも一つの位置がまだキーデータを含む限り、拡張検索スペースの圧縮は元のメモリ位置の保存に限定されない。例えばシステムは、アドレス０ｘ００１２にある元のメモリ位置を、各々が異なるコンピュータにある０ｘ０Ａ２９，０ｘＣ３Ｆ０、０ｘ８２Ｄ２のメモリ位置へ複製する。元のメモリ位置であっても、システムは０ｘ００１２を最初に圧縮することができる。作業負荷マネージャは、最初に圧縮するのに最適なのはどのメモリ位置かを知的に判断できる。これは、時間（つまり人々が起きているような時間ゾーン）または地理的条件などに基づく。システムは、いずれかのメモリ位置を何らかの順序で除去することにより拡張検索スペースを圧縮する。
【００３３】
一変形例において、システムは、ネットワークセグメントによりヒット率を構成し、キーデータについての検索と関連するネットワークセグメントを特定し、特定されたネットワークセグメントに近接する少なくとも一つのメモリ位置にキーデータを複製する。システムは、地理的距離、ネットワーク待機時間、中間ネットワークホップの数、コスト、および／または他の要因によって近接度を測定できる。例えば、キーデータがＧｒｅｅｎ  Ｂａｙ  Ｐａｃｋｅｒｓに関するものであって大部分の検索がＷｉｓｃｏｎｓｉｎからのものである場合には、計算環境とキーネットワークセグメントとしてのＷｉｓｃｏｎｓｉｎとの間のネットワーク接続をシステムが特定する。システムは、Ｇｒｅｅｎ  Ｂａｙ  Ｐａｃｋｅｒｓに関するキーデータを、キーネットワークセグメントのできるだけ近くに複製する。例えば、計算環境がＷｉｓｃｏｎｓｉｎのノードを含まない場合、システムは、Ｃｈｉｃａｇｏおよび／またはＭｉｎｎｅａｐｏｌｉｓのメモリ位置にキーデータを複製して、ＳＬＡに従って短い応答時間を提供する性能または他の要件を可能にするようにノードおよびネットワーク経路のメモリ準備を管理する。または、例えばＷｉｓｃｏｎｓｉｎについての待機時間が最短であるネットワーク経路がＤｅｓ  Ｍｏｉｎｅｓからである場合に、システムは、Ｄｅｓ  Ｍｏｉｎｅｓのメモリ位置および準備ノードおよび他のネットワークリソースに、類似の方法でキーデータを複製できる。
【００３４】
図６は、データセントリック検索環境において検索スペースを予測的に拡張するための方法の一例を示した図である。データベースの検索スペースで処理される特定ドメインに固有の検索語句または検索の使用増加予想に関連する情報を受信し（６０２）、ドメイン固有検索を受けて特定されるデータである、データベースに少なくとも一つのメモリ位置を有する検索スペース内のデータを特定し（６０４）、検索スペース内のデータを少なくとも一つの新しいメモリ位置に複製することにより検索スペースを拡張し（６０６）、多数の、または付加的なドメイン固有検索を拡張検索スペースの間で分散配置する（６０８）ことにより、システムは検索スペースを予測的に拡張する。言い換えると、データの複製の後に受理された検索が、その後、元の検索スペースも含むことが好ましい新たな拡張検索スペースの間で少なくとも分散配置される。検索語句の使用増加予想に関する情報は、夏の新作映画のリストを編集することや、各新作映画についてのインターネット検索の増加予想に対応することと同じように単純である。複製されるメモリ位置の数は、例えば各映画の試写会および予想興行数と相関する。１０人が立候補の指名で争っている選挙の場合には、指名の前の週には１０人の各々についての検索スペースをシステムが予測的に拡張する。
【００３５】
ドメイン固有データを特定する方法の一例は、特別な管理用検索フィールドによるものである。検索されたデータがホットデータと特定されて、ここに開示されているように即座に複製されるように、管理者はグーグル検索フィールドを有する。次に管理者は、オリンピックに注目して“Ｍｉｃｈａｅｌ  Ｐｈｅｌｐｓ  ４００Ｍ  ｖｉｄｅｏ”とタイピングし、そのため応答性データがホットデータと特定されて適宜処理される。これは、上記のように手動で行われても自動化されてもよい。
【００３６】
新しいウェブサイトデータに基づく予測が用いられてもよい。例えば、ウェブクローリングアルゴリズムにより、ウェブサイトとこれから得られるデータとを分析できる。特定ドメイン内で特定される新ウェブサイトが最近、展開または構築されたものである場合には、これらのウェブサイトに対する予測検索を管理するため、上記の特別インデックスデータを準備するようにシステムが作用する。別の例において、システムはブログを分析して、牽引力を持っている話題または語を特定し、これらの話題または語についての付加的な検索のための準備を予測的に行う。
【００３７】
キーデータの検索が周期的であることが多い。周期的な検索は、日、週、月、年、または他の期間で発生する。例えば、サンタクロースについての検索は例年１２月中に増加し、ニュースの検索は平日の朝の時間に毎日増加し、周期ゼミについての検索は様々な地域で１３年または１７年ごとに増加する。これらの周期的検索に対応するため、システムはさらに、受理した情報を日時で配列されたログに格納し、このログに基づいて増加予想スケジュールを予測し、予測スケジュールに基づいて検索スペースを拡張する。
【００３８】
上記のように、検索されるデータはいかなるデータでもよい。一面において、データは、クロールまたはインデックスウェブサイトから得られるインデックスデータである。別の面では、データはウェブサイトそのものである。この場合にシステムは、応答時間またはあるウェブサイトのヒット率などの事象を特定し、この特定ＵＲＬについての要求が少なくとも一つの新しいメモリ位置に分散配置されるようにウェウサイトそのものを動的に複製する。例えばこれらのリソースの予約を変更（つまり圧縮または短縮）することで他の作業負荷に利用可能にすることにより、圧縮が行われる。例えばウェブサイト上で流れている映像表示についての要求が多すぎて、要求を管理するのに付加的サーバが必要である場合に、これは有益である。この場合には、データが新しいメモリ位置にコピーされるばかりでなく、付加的なサーバ、ＣＰＵ、帯域幅、その他が準備される、および／または、検索／要求を管理するように配分される。作業負荷マネージャは、取り入れられている出願の様々な原理に従って、これらの準備／リソース予約および配分の要件すべてを計算環境内で処理および管理できる。例えば、マネージャは、適切なオペレーティングシステム（つまりＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）からＬｉｎｕｘ（登録商標）まで）をノードに再準備することを一組のＣＰＵに予約し、データをキャッシュにコピーし、新しいノードからユーザによる付加的検索要求まで映像データのストリーミングを開始するという起動ジョブを開始する。
【００３９】
上述した計算環境は、ユーティリティ計算と、クラスタ、グリッド、クラウド計算環境と、オンデマンドセンターと、サーバファームと、その他である。本開示の作業負荷マネージャは、いかなるタイプの計算環境においてもデータの検索を管理するように構成される。そのため、データが、ウェブにクロールされるインデックスデータか、ウェブサイトデータそのものか、または他のタイプのデータベースであっても、ここに開示される法則は、このようなデータベースに対する問合せまたは検索の検索時間およびサービス応答を向上させる。
【００４０】
本発明の範囲内の実施形態は、コンピュータ実行可能な命令またはこれに記憶されたデータ構造を伝えるか有するコンピュータ読取可能媒体も含む。このようなコンピュータ読取可能媒体は、上記の専用プロセッサの機能的設計を含む汎用または専用コンピュータによりアクセスされる何らかの有効媒体である。限定的ではないが、例を挙げると、このようなコンピュータ読取可能媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいはコンピュータ実行可能な命令、データ構造、プロセッサチップ設計の形の所望のプログラムコード手段を伝達または格納するのに使用される他の媒体を包含する。ネットワークまたは（有線、無線、その組合せのいずれかの）別の通信接続により、コンピュータへ情報が伝達または提供される時には、コンピュータは当然、この接続をコンピュータ読取媒体と認識する。ゆえに、このような接続をコンピュータ読取媒体と呼ぶのは当然である。上記の組合せも、コンピュータ読取媒体の範囲に含まれるべきである。
【００４１】
コンピュータ実行可能命令は、例えば、汎用コンピュータ、専用コンピュータ、専用処理デバイスにある種の機能または機能グループを実施させる命令およびデータを含む。コンピュータ実行可能命令は、独立型またはネットワーク環境のコンピュータにより実行されるプログラムモジュールも含む。概して、プログラムモジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、そして特定のタスクを実施するか特定の抽象的なタイプのデータを実行する専用プロセッサなどの設計に固有の機能を含む。データ構造と関連するコンピュータ実行可能命令と、プログラムモジュールとは、ここに開示される方法のステップを実行するためのプログラムコード手段の例を表す。このような実行可能な命令または関連のデータ構造の特定の順序は、このようなステップに記載される機能を実行するための対応の作用の例を表す。
【００４２】
パーソナルコンピュータ、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサ利用の、またはプログラマブルな家電製品、ネットワークＰＣ、マイクロコンピュータ、メインフレームコンピュータ、およびその他を含む多くのタイプのコンピュータシステム構成を備えるネットワーク計算環境において、本発明の他の実施形態が実施されてもよいことを、当該技術分野の当業者は理解するであろう。通信ネットワークを通して（有線リンク、無線リンク、またはその組合せのいずれかにより）リンクされるローカルまたはリモート処理デバイスによってタスクが実施される分散型計算環境において実施形態が実施されてもよい。分散型計算環境では、ローカルとリモートの両方のメモリ記憶デバイスにプログラムモジュールが配置されてもよい。
【００４３】
上述した様々な実施形態は単なる例示として提示されたもので、発明を限定すると解釈されるべきではない。例えば、その原理は、インターネットまたは内部ネットワークにおけるテキスト、イメージ、音声、映画の検索に適用される。イメージ、会話、音声、映像、マルチモード検索などの検索に適用されるように上記の原理が変形されてもよいことを、当該技術分野の当業者は認識するだろう。パーソナルコンピュータにおいてプロセッサコアの数が増えてその関連キャッシュが増加するにつれて、単一のデスクトップコンピュータにも同じ原理が適用される。当該技術分野の当業者は、ここに図示および説明した実施形態の例および用途に従うことなく、また本発明の趣旨および範囲から逸脱することなく、本発明に行われる様々な変形および変更を容易に認識できるだろう。
【図１】
2012504814.tif 000003
【図２】
2012504814.tif 000004
【図３】
2012504814.tif 000005
【図４】
2012504814.tif 000006
【図５】
2012504814.tif 000007
【図６】
2012504814.tif 000008
【国際調査報告】
2012504814.tif 000009