(57)【要約】      （修正有）【課題】ネットワーク上のハードウエア資源を効率よく積極的に利用できるようにするための仕組みを構築する。【解決手段】複数のプロセッサを含む装置において、システム制御部は、当該装置全体の動作を制御する。プログラム制御部は、プログラムの実行を制御する。資源管理部は、外部装置内のプロセッサを含むハードウエア資源のうち少なくとも一部をプログラムの処理実行に利用する利用状況と、当該装置内のプロセッサを含むハードウエア資源のうち少なくとも一部が外部装置によって処理実行に利用される被利用状況と、をそれら状況に応じて動的に管理する。資源仲介部は、外部装置内のプロセッサを含むハードウエア資源のうち少なくとも一部が利用可能になっていることを示す資源情報を、別の外部装置へ転送することにより資源の流通を仲介する。【選択図】図３
2007188455.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサを含む装置であって、
当該装置全体の動作を制御するシステム制御部と、
プログラムの実行を制御するプログラム制御部と、
外部装置内のプロセッサを含むハードウエア資源のうち少なくとも一部を前記プログラムの処理実行のためにネットワークを介して利用する利用状況と、当該装置内のプロセッサを含むハードウエア資源のうち少なくとも一部がネットワークを介して外部装置によって処理実行のために利用される被利用状況と、をそれら状況に応じて動的に管理する資源管理部と、
を備えることを特徴とするネットワーク資源管理装置。
【請求項２】
外部装置内のプロセッサを含むハードウエア資源のうち少なくとも一部が利用可能になっていることを示す資源情報を、別の外部装置へネットワークを介して転送することにより資源の流通を仲介する資源仲介部をさらに備えることを特徴とする請求項１に記載のネットワーク資源管理装置。
【請求項３】
それぞれプロセッサを含む複数の資源管理端末と資源仲介サーバとを備え、
前記複数の資源管理端末のそれぞれは、
当該端末全体の動作を制御するシステム制御部と、
プログラムの実行を制御するプログラム制御部と、
別の端末内のプロセッサを含むハードウエア資源のうち少なくとも一部を前記プログラムの処理実行のためにネットワークを介して利用する利用状況と、当該端末内のプロセッサを含むハードウエア資源のうち少なくとも一部がネットワークを介して別の端末によって処理実行のために利用される被利用状況と、をそれら状況に応じて動的に管理する資源管理部と、を有し、
前記資源仲介サーバは、前記複数の資源管理端末のうち少なくともいずれかの端末からその端末内のプロセッサを含むハードウエア資源のうち少なくとも一部が利用可能になっていることを示す資源情報を受信し、これを別の資源管理端末へネットワークを介して転送することにより資源の流通を仲介することを特徴とするネットワーク資源管理システム。
【請求項４】
前記資源仲介サーバは、前記複数の資源管理端末のうち少なくともいずれかの端末における前記ハードウエア資源が別の資源管理端末における処理実行のために利用されたときにその利用と被利用の関係を記録し、その記録を資源利用料の課金を処理するサーバへ送信することを特徴とする請求項３に記載のネットワーク資源管理システム。
【請求項５】
プロセッサを含む第１の端末から当該第１の端末内のプロセッサを含むハードウエア資源のうち少なくとも一部が利用可能になっていることを示す資源情報を生成するステップと、
前記資源情報をネットワーク経由でサーバへ送信するステップと、
前記資源情報を受信したサーバがこれを第２の端末へ転送するステップと、
前記資源情報が転送された第２の端末が、その資源情報に基づいて前記第１の端末内のプロセッサを含むハードウエア資源のうち少なくとも一部を当該第２の端末における処理実行のために利用するステップと、
前記第１の端末が当該第１の端末における前記ハードウエア資源がネットワークを介して前記第２の端末によって処理実行のために利用される被利用状況を記録するステップと、
前記第２の端末が前記第１の端末における前記ハードウエア資源をネットワークを介して当該第２の端末における処理実行のために利用する利用状況を記録するステップと、
を含むことを特徴とするネットワーク資源管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワーク資源管理装置に関する。この発明は特に、ネットワーク資源管理装置における分散処理の技術に関する。
【背景技術】
【０００２】
従来、ネットワークに接続されたコンピュータの資源を分散処理に利用する技術においては、ネットワーク上に提供される資源を統一的に管理して制御するための十分な仕組みが存在しなかった。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
たとえば、ネットワーク上の分散オブジェクトを呼び出すためのスキームとしてはＣＯＲＢＡ（Common Object Request Broker Architecture）が知られている。しかし、ＣＯＲＢＡでは複数の装置に分散されたオブジェクト間の通信を規定するに留まり、そうしたオブジェクトをもった装置の構成を動的に変更、追加するといった利用は想定されておらず、対応が困難である。
【０００４】
たとえば、複数のコンピュータを相互接続した上でこれを１台のコンピュータのように動作させる技術としてクラスタリングが知られている。しかし、クラスタリングにおいては、複数のコンピュータ間でハードウエア構成、ＣＰＵ、ＯＳなどが均質化ないし統一されている必要があり、不特定多数のコンピュータ資源を動的に追加したり変更したりするような利用は想定されていない。
【０００５】
一方、ネットワーク上の複数のコンピュータを接続して一つのコンピュータを仮想的に構築し、そのなかから必要とする処理能力に応じた資源を取り出して利用するシステムであるグリッドコンピューティングが知られている。しかし、グリッドコンピューティングはネットワーク上の資源をどのように接続して処理を分散するかといった処理面での課題を解決するための技術にすぎず、資源提供をいかに促進するかといった課題やそうした資源の利用をいかにオープンにして利用を促進するかといった枠組み構築の課題には対応しているとは言えない。
【０００６】
本発明者は以上の課題に基づき本発明をなしたもので、その目的は、ネットワーク上のハードウエア資源を効率よく積極的に利用できるようにするための仕組みを構築する点にある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある態様のネットワーク資源管理装置は、プロセッサを含む装置であって、当該装置全体の動作を制御するシステム制御部と、プログラムの実行を制御するプログラム制御部と、外部装置内のプロセッサを含むハードウエア資源のうち少なくとも一部をプログラムの処理実行のためにネットワークを介して利用する利用状況と、当該装置内のプロセッサを含むハードウエア資源のうち少なくとも一部がネットワークを介して外部装置によって処理実行のために利用される被利用状況と、をそれら状況に応じて動的に管理する資源管理部と、を備える。
【０００８】
外部装置内のプロセッサを含むハードウエア資源のうち少なくとも一部が利用可能になっていることを示す資源情報を、別の外部装置へネットワークを介して転送することにより資源の流通を仲介する資源仲介部をさらに備えてもよい。
【０００９】
本発明の別の態様は、ネットワーク資源管理システムである。このネットワーク資源管理システムは、それぞれプロセッサを含む複数の資源管理端末と資源仲介サーバとを備える。複数の資源管理端末のそれぞれは、当該端末全体の動作を制御するシステム制御部と、プログラムの実行を制御するプログラム制御部と、別の端末内のプロセッサを含むハードウエア資源のうち少なくとも一部をプログラムの処理実行のためにネットワークを介して利用する利用状況と、当該端末内のプロセッサを含むハードウエア資源のうち少なくとも一部がネットワークを介して別の端末によって処理実行のために利用される被利用状況と、をそれら状況に応じて動的に管理する資源管理部と、を有する。資源仲介サーバは、複数の資源管理端末のうち少なくともいずれかの端末からその端末内のプロセッサを含むハードウエア資源のうち少なくとも一部が利用可能になっていることを示す資源情報を受信し、これを別の資源管理端末へネットワークを介して転送することにより資源の流通を仲介する。
【００１０】
資源仲介サーバは、複数の資源管理端末のうち少なくともいずれかの端末におけるハードウエア資源が別の資源管理端末における処理実行のために利用されたときにその利用と被利用の関係を記録し、その記録を資源利用料の課金を処理するサーバへ送信してもよい。
【００１１】
本発明のさらに別の態様は、ネットワーク資源管理方法である。この方法は、プロセッサを含む第１の端末から当該第１の端末内のプロセッサを含むハードウエア資源のうち少なくとも一部が利用可能になっていることを示す資源情報を生成するステップと、資源情報をネットワーク経由でサーバへ送信するステップと、資源情報を受信したサーバがこれを第２の端末へ転送するステップと、資源情報が転送された第２の端末が、その資源情報に基づいて第１の端末内のプロセッサを含むハードウエア資源のうち少なくとも一部を当該第２の端末における処理実行のために利用するステップと、第１の端末が当該第１の端末におけるハードウエア資源がネットワークを介して第２の端末によって処理実行のために利用される被利用状況を記録するステップと、第２の端末が第１の端末におけるハードウエア資源をネットワークを介して当該第２の端末における処理実行のために利用する利用状況を記録するステップと、を含む。
【００１２】
なお、以上の構成要素の任意の組合せや、本発明の構成要素や表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを格納した記録媒体、データ構造などの間で相互に置換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１３】
本発明によれば、ネットワーク上のハードウエア資源を効率よく積極的に利用できるようにするための仕組みを構築することができる。
【発明を実施するための最良の形態】
【００１４】
本実施の形態においては、コンピュータで特定の処理を実行するときに、当該コンピュータ内のプロセッサだけでなく、そのコンピュータが接続されたネットワーク内における他の装置のプロセッサをも利用できるスケーラビリティを確保した環境を実現する。そのために、各コンピュータからのハードウエア資源の提供をネットワーク上で統一的に管理し、分散処理の割り当てやデータ受け渡しを制御する仕組みを構築する。また、ネットワーク上に提供された各資源を積極的に利用するための仕組みや、そうした資源の流通管理や利用および被利用を促進するためのインセンティブ取引制度を構築する。さらに、ハードウエア資源の利用や提供の仕組みに十分な汎用性、公開性をもたせることによって利用と提供を促進するとともに、動的に変化する資源の利用および提供を包括的に処理することでさらに資源利用の促進を図る。
【００１５】
図１は、リソースマネジメントネットワーク１０の構成を模式的に示す。リソースマネジメントネットワーク１０は、インターネット１４と、インターネット１４に接続されたＬＡＮ１２やユーザ端末１６などのコンピュータで構成される。各ユーザ端末１６は、インターネット１４に直接接続されている場合と、ホームネットワークや企業内ネットワークなどのＬＡＮ１２を経由してインターネット１４に接続されている場合がある。インターネット１４には、ユーザ端末１６間の資源利用および提供を管理、制御するネットワークサーバ２０が接続されている。ＬＡＮ１２には、ＬＡＮ１２内に接続されたユーザ端末１６間における資源利用および提供を管理、制御するホームサーバなどのローカルサーバ１８が接続されていてもよい。ＬＡＮ１２内におけるユーザ端末１６同士で資源利用および提供を実行してもよいし、インターネット１４を介したユーザ端末１６同士で資源利用及び提供を実行してもよい。ユーザ端末１６は、ローカルサーバ１８との間で資源利用および提供を実行してもよい。このように、インターネット１４およびＬＡＮ１２を介して複数のユーザ端末１６やローカルサーバ１８の間でハードウエア資源を共有し、そうした資源を相補的に利用して分散処理を図ることにより、単独で処理実行するよりも各段の処理能力向上を図ることができる。
【００１６】
図２は、ユーザ端末１６のハードウエア構成を例示する。ユーザ端末１６は、マイクロプロセッサユニット（ＭＰＵ）２２、グラフィクス処理ユニット（ＧＰＵ）４０、メインメモリ４２、補助記憶装置（ＨＤＤ）４４、ネットワーク制御部４６を備え、それぞれがメインバス３８を介して接続される。ネットワーク制御部４６は、ＬＡＮ１２またはインターネット１４を介して他のユーザ端末１６との間でデータを送受信する。
【００１７】
ＭＰＵ２２は、非対称型のマルチプロセッサユニットであり、一つのメイン処理ユニット（ＰＵ）２４と複数のサブ処理ユニット（ＳＰＵ）３０を有し、それぞれがＭＰＵ２２の内部バス３６を介して接続される。ＰＵ２４は、ＯＳや各ＳＰＵ３０の制御を処理するユニットであり、プロセッサ２６とローカルメモリ２８を含む。ローカルメモリ２８は、たとえばキャッシュメモリである。各ＳＰＵ３０は、積和計算を中心とする演算を処理するユニットであり、それぞれプロセッサ３２とローカルメモリ３４を含む。メインメモリ４２から読み出されたプログラムやデータがローカルメモリ３４に書き込まれてプロセッサ３２により実行される。各ＳＰＵ３０は、ＰＵ２４による制御の下で画像処理やデータ変換処理などに必要な計算を分散して実行する。いずれのＳＰＵ３０が計算を実行するか、計算の内容、および実行予定時間は、ＰＵ２４により管理される。なお、ユーザ端末１６は一つのＭＰＵ２２を備えるが、ローカルサーバ１８は複数のＭＰＵ２２を備え、ユーザ端末１６よりもさらに高い処理能力を有する。ローカルサーバ１８もまた、ユーザ端末１６と同様に他の端末やサーバとの間でハードウエア資源の利用および提供をする。
【００１８】
図３は、ユーザ端末１６、ローカルサーバ１８、ネットワークサーバ２０による処理や動作を示す機能ブロック図である。以下、ユーザ端末１６を例に説明する。ユーザ端末１６は、システム制御部７０、プログラム制御部７２、資源管理部７４、資源仲介部７６を備える。各部は主にＨＤＤ４４からメインメモリ４２にロードされるＯＳや各種プログラムによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【００１９】
システム制御部７０は、主にＯＳによってユーザ端末１６全体を制御する。プログラム制御部７２は、ユーザ端末１６上で実行されるプログラムの動作を制御する。資源管理部７４は、主にＰＵ２４の動作によって実現され、ユーザ端末１６内でどの資源が外部へ提供可能か、さらにその提供のためにその資源の拘束可能時間や適応可能時間を動的に管理する資源管理機能を実現する。資源仲介部７６もまた主にＰＵ２４の動作によって実現され、ネットワーク上における資源の流通を仲介するための資源仲介機能を実行する。
【００２０】
資源管理部７４により管理対象となるハードウエア資源は、たとえばＰＵ２４自身や複数のＳＰＵ３０といった処理ユニットやメインメモリ４２などの記憶装置である。各処理ユニットは、プロセッサ２６、プロセッサ３２、ローカルメモリ２８、ローカルメモリ３４などの内部の構成要素を単位として管理され、外部からの利用に提供されてもよい。資源管理部７４は、複数のＳＰＵ３０については、どのＳＰＵ３０のプロセッサ３２およびローカルメモリ３４が提供可能かを動的に管理する。資源管理部７４は、ユーザ端末１６内でどのハードウエア資源が提供可能かを記述した資源情報を、ネットワーク制御部４６を介して他のユーザ端末１６、ローカルサーバ１８、ネットワークサーバ２０のうち少なくともいずれかへ適宜送る。
【００２１】
資源管理部７４が他のユーザ端末１６からネットワーク制御部４６を介して資源情報を受け取った場合、その資源情報に記述された他のユーザ端末１６の資源の利用を適宜決定できる。資源管理部７４は、プログラム制御部７２により実行されるプログラムにおける特定の処理を複数のＳＰＵ３０および外部の資源に分散処理させる。資源管理部７４は、外部のどのユーザ端末１６に対して内部のどの資源を提供しているか、その提供によって実行することとなる処理内容、処理時間などを動的に管理する。資源管理部７４は、外部への提供のために内部の資源の使用を予約することもできる。資源管理部７４は、外部のどのユーザ端末１６のどの資源を利用しているか、その利用において外部に実行させる処理内容、処理時間なども動的に管理する。
【００２２】
資源管理部７４は、どの資源を利用するか、それを利用する演算時間、記憶容量、およびデータ量といった分散内容をプログラム実行時に組み立てて決定し、それらを指定した呼出情報を生成する。呼出情報により処理が割り当てられる資源やその処理内容は、画像処理、コンテンツ生成処理、データ変換処理などの特定用途の資源または処理内容が対象となる。実際にどのハードウエア資源を具体的に利用するかの割当をローカルサーバ１８やネットワークサーバ２０に委ねる方式でもよいが、プログラム側の要求に応じて具体的にどのユーザ端末１６のどの資源を利用するか、またはどのような仕様の資源を利用するかを資源管理部７４が呼出情報にて明確に指定する方式でもよい。これらは依頼する処理の実行に要求される応答時間や処理内容、負荷の高さなどに応じて資源管理部７４が決定するか、あるいは実行されるプログラムに記述された明示的な指定にしたがって資源管理部７４が決定する。呼出情報には、処理を実行する資源またはその候補が複数指定されてもよい。呼出情報には、使用するデータ、プロシージャ、機能プロセスのうち少なくともいずれかがさらに指定される。呼出情報には、処理結果の返送宛先として呼出元のユーザ端末１６が指定されるが、ローカルの資源に対する呼出の場合には返送宛先の指定が省略されてもよい。呼出情報は、ＸＭＬ（Extensible Markup Language）などのメタ言語によりあらかじめ構造が定義されたタグを用いて資源や処理内容などの指定が記述される。そうした記述が集合したかたちで呼出情報が形成される。
【００２３】
図４は、ネットワーク上で資源を仲介する仕組みを論理的に示す。リソースマネジメントネットワーク１０に含まれる複数の資源仲介機能５０は、それぞれユーザ端末１６、ローカルサーバ１８、ネットワークサーバ２０の資源仲介部７６によって実現される資源仲介機能を表す。資源仲介機能５０は、他のユーザ端末１６、ローカルサーバ１８、ネットワークサーバ２０において実行される資源仲介機能５０との間で資源情報を送受信し、交換する。資源仲介機能５０は、他のユーザ端末１６やローカルサーバ１８、ネットワークサーバ２０から受け取った資源情報をさらに別のユーザ端末１６やローカルサーバ１８、ネットワークサーバ２０へ送ることにより、資源流通の仲介をして資源の利用者と提供者を結びつける。資源仲介機能５０が実現されるユーザ端末１６、ローカルサーバ１８、ネットワークサーバ２０などのネットワークノードは、接続されるネットワークにおいてＤＮＳ（Domain Name System）などのシステムで管理され、各ノードから適切に近隣ノードの資源仲介機能５０を呼び出して資源情報を交換することができる。呼出を受けたノードの資源仲介機能５０は、呼び出した側のノードの資源仲介機能５０に対して資源情報を送る。
【００２４】
図５は、ネットワーク上で資源仲介を全体的に管理する仕組みを論理的に示す。複数の資源仲介機能５０は、直接的または間接的に資源仲介ゲートウエイ５４に接続される。資源仲介ゲートウエイ５４は、リソースマネジメントネットワーク１０における資源流通サービスの提供者であるサービスプロバイダ５２に接続される。資源仲介機能５０は、どの端末がどの端末の資源を利用したかの履歴情報や、どの端末の資源をどの端末へ提供したかの履歴情報を所定の資源仲介ゲートウエイ５４や所定のネットワークサーバ２０を介してサービスプロバイダ５２へ送信する。履歴情報は、セキュリティ性の高いプロトコルを用いて送受信される。サービスプロバイダ５２は、受け取った履歴情報を蓄積して利用と提供の回数、内容、量などを集計し、その集計結果に応じて利用者からの課金と提供者への課金を処理する。資源の流通や課金は、サービスプロバイダ５２がサービスプロバイダ５２を介して発行するトークンによって処理してもよい。トークンは、サービスプロバイダ５２が提供する別のサービスにおいても利用できるものであってもよい。ユーザ端末１６における資源の利用と提供のバランスは、あらかじめユーザ端末１６単位で制限が設定できてもよいし、サービスプロバイダ５２からの指示に基づいてネットワークサーバ２０などのレベルで制限が設定できてもよい。資源情報の流通自体は必ずしも所定のネットワークサーバ２０やサービスプロバイダ５２を経由しなくともユーザ端末１６間レベルでも資源仲介機能５０がピアツーピアで仲介するので、広く開放された資源流通市場が形成されるとともに、利用と提供の履歴がサービスプロバイダ５２へ集約されるので、市場全体の流通状況は適切に管理される。なお、本図では各ノードのユーザ端末１６、ローカルサーバ１８、ネットワークサーバ２０によって実現される資源仲介機能５０によって資源流通が仲介される例を示したが、変形例としては、資源仲介ゲートウエイ５４が集中的に資源流通を仲介する構成であってもよい。
【００２５】
（第１の応用例）
本実施の形態におけるリソースマネジメントネットワーク１０を使用した第１の応用例としては、分散処理型のロールプレイングゲーム（ＲＰＧ）が挙げられる。ＬＡＮ１２内のユーザ端末１６でＲＰＧを実行する場合を想定する。ＲＰＧの画面で降雨を描画する状況になった場合に、ユーザ端末１６は他の端末またはサーバに対して降雨の描画処理に必要な物理計算を依頼する。このような時間応答性がとくに求められる描画処理の計算を外部へ依頼するような場合、不特定の資源と不確定の処理時間で依頼するのは望ましくないため、ユーザ端末１６はどの端末のどのハードウエア資源を利用するかを指定するとともに、応答時間を指定して依頼する。ここでは、たとえば同じＬＡＮ１２に接続されたローカルサーバ１８の資源利用を指定する。ユーザ端末１６にはローカルサーバ１８のハードウエア資源のうち利用可能となっている資源を示す情報が適宜通知される。ローカルサーバ１８は、ユーザ端末１６から計算が依頼された場合、指定された計算をしてその結果をユーザ端末１６へ送り返す。
【００２６】
ユーザ端末１６において、たとえばＲＰＧ内の主人公が群衆に遭遇する状況でその群衆の中から所定の分野の人を特定する場合、その特定のための人物認識または顔認識の計算依頼がユーザ端末１６から送られる。ユーザ端末１６から依頼された端末では、指定された人物認識（顔認識）機能を実行する。具体的には、人物データベースとの画像のマッチングを実行して人物を特定し、特定結果をユーザ端末１６に送り返す。
【００２７】
図６は、ユーザ端末１６からの呼出に応答してローカルサーバ１８からユーザ端末１６への資源情報を送信するためのプログラム記述例を示す。この例では、「Ｒｅｓｏｕｒｃｅ」という資源情報送信プログラムにおける「Ｒｅｇｉｓｔｅｒ」というメソッドの実行と、宛先となるユーザ端末１６として「Ｃｏｎｓｏｌｅ１」という名前が記述されている。送信元としてはローカルサーバ１８の名前「ＨｏｍｅＳｅｒｖｅｒ」が記述され、提供可能な資源が規定された「ｐｒｏｆｉｌｅＡ」が記述される。さらに、ローカルサーバ１８に含まれるＭＰＵ２２の番号や演算時間、記憶容量などの情報が記述される。これらの内容を示す資源情報がローカルサーバ１８からユーザ端末１６へ送られる。
【００２８】
図７は、ユーザ端末１６からローカルサーバ１８に対して計算を依頼するためのプログラム記述例を示す。この例では、「Ｐｈｉｓｉｃｓ」という物理計算プログラムにおける降雨の画像処理のための「ｒａｉｎ＿ｆａｌｌ」というメソッドの実行と、依頼先となるローカルサーバ１８の名称「ＨｏｍｅＳｅｒｖｅｒ」が記述される。また、利用する資源が規定された「ｐｒｏｆｉｌｅＡ」と、降雨を描画する場所を示す「ｌａｎｄ＿ａｒｅａ１」と、降雨の条件を示す「ｃｏｎｄｉｔｉｏｎ＿ｐｒｏｆｉｌｅ１」が記述される。
【００２９】
図８は、ローカルサーバ１８による計算実行と結果返信のためのプログラム記述例を示す。この例では、「Ｐｈｉｓｉｃｓ」という物理計算プログラムにおける降雨の画像処理のための「ｒａｉｎ＿ｆａｌｌ＿ｂｏｄｙ」というメソッドの実行と、「Ｒｅｐｏｒｔ」という結果返信プログラムにおける「ｐｈｙｓｉｃｓ＿ｒｅｐｏｒｔ」というメソッドの実行が適宜並列処理されるよう記述されている。
【００３０】
図９は、ユーザ端末１６からの呼出に応答してネットワークサーバ２０からユーザ端末１６への資源情報を送信するためのプログラム記述例を示す。この例では、資源情報送信プログラムにおけるメソッド「Ｒｅｇｉｓｔｅｒ」の実行と、宛先となるユーザ端末１６の名前「Ｃｏｎｓｏｌｅ１」が記述されている。送信元としてはネットワークサーバ２０の名前「ＮｅｔｗｏｒｋＳｅｒｖｅｒＸ」が記述され、提供可能な資源が規定された「ｐｒｏｆｉｌｅＸ１」が記述される。さらに、ネットワークサーバ２０に含まれるＭＰＵ２２の番号や演算時間、記憶容量などの情報が記述される。これらの内容を示す資源情報がネットワークサーバ２０からユーザ端末１６へ送られる。
【００３１】
図１０は、ユーザ端末１６からネットワークサーバ２０に対して計算を依頼するためのプログラム記述例を示す。この例では、「ＦａｃｅＲｅｃｏｇｎｉｔｉｏｎ」という顔認証計算プログラムにおける認証処理のための「ｉｄｅｎｔｉｆｙ」というメソッドの実行と、依頼先となる「ＮｅｔｗｏｒｋＳｅｒｖｅｒＸ」が記述される。また、利用する資源が規定された「ｐｒｏｆｉｌｅＸ１」と、認証の対象を示す「ｆａｃｅ＿ｉｍａｇｅ」が記述される。
【００３２】
図１１は、ネットワークサーバ２０による計算実行と結果返信のためのプログラム記述例を示す。この例では、顔認証計算プログラム「ＦａｃｅＲｅｃｏｇｎｉｔｉｏｎ」における認証処理のメソッド「ｉｄｅｎｔｉｆｙ＿ｂｏｄｙ」の実行と、「Ｒｅｐｏｒｔ」という結果返信プログラムにおける「ｉｄ＿ｒｅｐｏｒｔ」というメソッドの実行が適宜並列処理されるよう記述されている。
【００３３】
（第２の応用例）
本実施の形態におけるリソースマネジメントネットワーク１０を使用した第２の応用例としては、分散処理型の検索エンジンが挙げられる。リソースマネジメントネットワーク１０上の各ノードは、テキスト検索、画像検索、顔画像マッチング認証に基づく人物検索、分野別または地域別のデータベース検索などの検索エンジン機能を有する。各ノードは、検索結果を少なくとも一時的に保持するとともに、他の検索エンジンとの間で資源とデータを共有し、連係して検索を処理する。
【００３４】
各ノードは、それぞれのノード自身が得意とする検索クエリをリスト化した好適クエリリストをもつ。得意か否かの基準としては、たとえば短い応答時間で結果を返すことができるか、高い検索精度で結果を返すことができるか、多くの結果件数を返すことができるか、などの基準がある。各ノードが多数の他のノードから検索を依頼され、検索を繰り返し処理するうちに、好適クエリリストが動的に、しかも事後的に形成されてゆく。
【００３５】
図１２は、応用例における分散処理型の検索エンジンの仕組みを模式的に示す。リソースマネジメントネットワーク１０に接続された複数のノードの一つ一つが、それぞれ分散された検索エンジンの役割を果たす。本図では、検索エンジン６０Ａ〜６０Ｈが互いに接続されており、それぞれの好適クエリリストとして好適クエリリスト６２Ａ〜６２Ｈが保持される。
【００３６】
以下、検索例を説明する。まず検索エンジン６０Ａがユーザから検索クエリを受け取り、そのクエリに含まれる検索条件が自己の好適クエリリスト６２Ａに含まれているか否かを判定する。受け取った検索クエリには、たとえば「東京  タイ  辛」といった複数の単語が検索条件として含まれている。検索エンジン６０Ａは、好適クエリリスト６２Ａに含まれていた検索条件については対応する検索結果を出力し、含まれていなかった検索条件については隣接する検索エンジン６０Ｂ、６０Ｃ、６０Ｊに対して、固有の検索ＩＤとクエリの転送パス履歴を付加した検索クエリとして並行して転送する。検索クエリが転送された検索エンジン６０Ｂ、６０Ｃ、６０Ｊもまた、クエリの内容が自身の好適クエリリスト６２Ｂ、６２Ｃ、６２Ｊに含まれているかを判定し、含まれていた検索条件については転送パス履歴を逆に辿って検索結果を返送し、含まれていなかった検索条件についてはさらに別の隣接する検索エンジンへ転送する。たとえば、検索エンジン６０Ｂは、検索条件「東京」が自身の好適クエリリスト６２Ｂに含まれているので、「東京」に合致する検索結果を検索エンジン６０Ａへ返送する。検索エンジン６０Ｃは、検索クエリの内容が自身の好適クエリリスト６２Ｃに含まれていないので、検索クエリを検索エンジン６０Ｄ、６０Ｅ、６０Ｆに転送する。検索エンジン６０Ｄは、検索条件「タイ」が自身の好適クエリリスト６２Ｄに含まれているので、「タイ」に合致する検索結果を検索エンジン６０Ｃを経由して検索エンジン６０Ａへ返送する。検索エンジン６０Ｅは、検索条件「辛」が自身の好適クエリリスト６２Ｅに含まれているので、「辛」に合致する検索結果を検索エンジン６０Ｃを経由して検索エンジン６０Ａへ返送する。検索エンジン６０Ａは、検索エンジン６０Ｂ、検索エンジン６０Ｄ、検索エンジン６０Ｅのそれぞれから受け取った検索結果を集計し、そのＡＮＤ集合を割り出してユーザに提示する。
【００３７】
検索クエリの転送が適当に収束されるよう、転送パス履歴に付加されるノードの数ないしホップ数には制限を設けてもよい。各検索エンジンによる検索結果は転送ノード履歴を遡るように転送される例を説明したが、検索のスタート地点となった検索エンジンへ検索結果を直接返送する方式でもよい。
【００３８】
各検索エンジンは、ネットワーク上で隣接または近接する検索エンジンの好適クエリリストを保持しておいてもよい。本図の例では、検索エンジン６０Ａがたとえば好適クエリリスト６２Ｂ、６２Ｃ、６２Ｊを保持する。各検索エンジンは、検索クエリに含まれる検索条件が、保持する他の検索エンジンの好適クエリリストに含まれていればその検索エンジンに対してだけその対応する検索条件を転送することで、無駄な転送と必要以上の流通を減らすことができる。
【００３９】
各検索エンジンは、検索結果をスタート地点の検索エンジンへ戻すルート上で、検索結果を単に転送するだけでなく、キャッシュとして保存する。後に同様の検索クエリが送られてきたときにキャッシュから検索結果を抽出して返送する。これにより、必要以上の検索クエリの流通を減らすとともに、系全体の検索処理量を減らし、応答速度を高めることができる。
【００４０】
各検索エンジンは、テキスト検索だけでなく画像検索や楽曲検索などの検索にも対応するとともに、そのような特殊な検索に特化した検索エンジンや特殊な検索を得意とする検索エンジンの場合はその好適クエリリストにその旨を記述しておく。とくに、各検索エンジンが他のエンジンの好適クエリリストを保持する場合には、特殊な検索のクエリに対してクエリ転送ルートが最適化されやすくなり、流通効率や応答性を高めることができる。
【００４１】
各検索エンジンは、過去の検索履歴と、時間帯、天候、気温、株価などの外的条件とに基づいて、今後要求される可能性の高いクエリを予測し、先行して検索結果を収集することにより、応答性をさらに高めてもよい。
【００４２】
検索エンジンのいずれかに、画像から検索クエリを生成する機能をもたせてもよい。たとえば、指定された一つ以上の画像データから画像特徴量を抽出し、その画像特徴量を検索クエリとして他の検索エンジンに転送する。検索エンジンが移動端末のように頻繁に接続するネットワークが変わる端末であった場合は、接続のたびに検索クエリの転送先を近隣の検索エンジンに切り替えてもよい。各検索エンジンは、検索クエリの転送先のうち、検索結果の返送割合が比較的高い検索エンジンを優先的に次の転送先に設定してもよいし、逆に返送割合が低い検索エンジンを転送先の候補から外す処理をしてもよい。
【００４３】
図１３は、他のノードへの検索機能を提供するためのプログラム記述例を示す。本図に記述された処理は、他のノードを示す値が指定されるたびに実行され、「ｐｒｏｆｉｌｅ２」で特定される資源を指定ノードのために使って検索機能「Ｓｅａｒｃｈ」を実行することにより、その資源を指定ノードに利用させる。
【００４４】
図１４は、他のノードの検索機能を利用するためのプログラム記述例を示す。本図に記述された処理においては、「ｐｒｏｆｉｌｅ２」で特定される他のノードの資源を使って検索機能「Ｓｅａｒｃｈ」を実行させることにより、他のノードの資源を利用する。
【００４５】
図１５は、検索機能を実行するためのプログラム記述例を示す。本図に記述された例では、自身のノードにおける検索プログラム「Ｓｅａｒｃｈ」の実行と、他の複数のノードのそれぞれに検索プログラム「Ｓｅａｒｃｈ」の実行と、結果返信プログラム「ｓｅａｒｃｈ＿ｒｅｐｏｒｔ」の実行とを並列的に処理させる。また、他のノードにおける検索処理の伝搬を制限するための値が付加されている。
【００４６】
図１６は、資源仲介機能に対して他のノードの探索を要求するためのプログラム記述例を示す。本図に記述された例では、資源仲介機能をもつノードに対して、資源仲介プログラム「Ｍｅｄｉａｔｉｏｎ」における資源探索のためのメソッド「ｆｉｎｄ＿ｒｅｓｏｕｒｃｅ」を実行させる。
【００４７】
図１７は、他のノードとの間で検索機能を連係するためのプログラム記述例を示す。本図に記述された例では、自ノード内における資源仲介プログラム「Ｍｅｄｉａｔｉｏｎ」の資源探索メソッド「ｆｉｎｄ＿ｒｅｓｏｕｒｃｅ」の実行と、近隣ノード内における資源仲介プログラム「Ｍｅｄｉａｔｉｏｎ」の資源探索メソッド「ｆｉｎｄ＿ｒｅｓｏｕｒｃｅ」の実行と、結果返信プログラム「ｓｅａｒｃｈ＿ｒｅｐｏｒｔ」の実行とを並列的に処理させる。結果の返信先は、検索の依頼元のノードの他、資源仲介ゲートウエイ５４のノードが指定される。また、他のノードにおける検索処理の伝搬を制限するための値が付加されている。
【００４８】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、その各構成要素や各処理プロセスの組合せにいろいろな変形が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【図面の簡単な説明】
【００４９】
【図１】リソースマネジメントネットワークの構成を模式的に示す。
【図２】ユーザ端末のハードウエア構成を例示する図である。
【図３】ユーザ端末またはローカルサーバによる処理や動作を示す機能ブロック図である。
【図４】ネットワーク上で資源を仲介する仕組みを論理的に示す。
【図５】ネットワーク上で資源仲介を全体的に管理する仕組みを論理的に示す。
【図６】ユーザ端末からの呼出に応答してローカルサーバからユーザ端末への資源情報を送信するためのプログラム記述例を示す図である。
【図７】ユーザ端末からローカルサーバに対して計算を依頼するためのプログラム記述例を示す図である。
【図８】ローカルサーバによる計算実行と結果返信のためのプログラム記述例を示す図である。
【図９】ユーザ端末からの呼出に応答してネットワークサーバからユーザ端末への資源情報を送信するためのプログラム記述例を示す図である。
【図１０】ユーザ端末からネットワークサーバに対して計算を依頼するためのプログラム記述例を示す図である。
【図１１】ネットワークサーバによる計算実行と結果返信のためのプログラム記述例を示す図である。
【図１２】応用例における分散処理型の検索エンジンの仕組みを模式的に示す。
【図１３】他のノードへの検索機能を提供するためのプログラム記述例を示す図である。
【図１４】他のノードの検索機能を利用するためのプログラム記述例を示す図である。
【図１５】検索機能を実行するためのプログラム記述例を示す図である。
【図１６】資源仲介機能に対して他のノードの探索を要求するためのプログラム記述例を示す図である。
【図１７】他のノードとの間で検索機能を連係するためのプログラム記述例を示す図である。
【符号の説明】
【００５０】
１０  リソースマネジメントネットワーク、  １６  ユーザ端末、  １８  ローカルサーバ、  ２０  ネットワークサーバ、  ２２  ＭＰＵ、  ２４  ＰＵ、  ３０  ＳＰＵ、  ４８  資源管理機能、  ５０  資源仲介機能、  ５２  サービスプロバイダ、  ５４  資源仲介ゲートウエイ、  ７０  システム制御部、  ７２  プログラム制御部、  ７４  資源管理部、  ７６  資源仲介部。
【図１】
2007188455.tif 000003
【図２】
2007188455.tif 000004
【図３】
2007188455.tif 000005
【図４】
2007188455.tif 000006
【図５】
2007188455.tif 000007
【図６】
2007188455.tif 000008
【図７】
2007188455.tif 000009
【図８】
2007188455.tif 000010
【図９】
2007188455.tif 000011
【図１０】
2007188455.tif 000012
【図１１】
2007188455.tif 000013
【図１２】
2007188455.tif 000014
【図１３】
2007188455.tif 000015
【図１４】
2007188455.tif 000016
【図１５】
2007188455.tif 000017
【図１６】
2007188455.tif 000018
【図１７】
2007188455.tif 000019