(57)【要約】  【課題】  最適な計算資源をリアルタイムに発見でき、従来のディレクトリを不要にして対障害性を高め、個々の計算資源の障害時においてもシステム全体には影響を与えずにサービスを継続することができる、グリッドコンピューティングシステムを提供する。  【解決手段】  グリッドコンピューティングシステムの計算資源１〜１３が、各々、自身の状態情報（ＣＰＵ使用率など）を保持しておき、適宜その状態情報を更新する。処理を依頼する依頼元コンピュータ２０は、計算資源の状態に関する要件情報（ＣＰＵ使用率など）を、各計算資源１〜１３に送信し、要件情報を受信した各計算資源１〜１３は、自身が要件を満たす場合には依頼元コンピュータ２０に応答を返し、依頼元コンピュータ２０は、応答した計算資源に処理を依頼する。【選択図】  図１
2005038339.tif 000002
【特許請求の範囲】
【請求項１】
複数の計算資源が、各々、自身の状態情報を保持しておき、その状態情報を更新する手段と、
前記計算資源に処理を依頼する依頼元コンピュータが、計算資源の状態に関する要件情報を、前記複数の計算資源に対して送信する手段と、
前記要件情報を受信した前記計算資源が、該要件情報と前記状態情報とに基づいて自身が要件を満たす場合には前記依頼元コンピュータに肯定的応答を返す手段と、
前記依頼元コンピュータが、肯定的応答を返してきた前記計算資源に対して処理を依頼する手段と
を備えることを特徴とするグリッドコンピューティングシステム。
【請求項２】
前記計算資源が、前記状態情報をファイル名として保持すると共に、前記要件情報が、所定の要件を満たすファイル名による検索条件であること
を特徴とする請求項１に記載のグリッドコンピューティングシステム。
【請求項３】
複数の計算資源が、各々、自身の状態情報を保持しておき、その状態情報を更新する手順と、
前記計算資源に処理を依頼する依頼元コンピュータが、計算資源の状態に関する要件情報を、前記複数の計算資源に対して送信する手順と、
前記要件情報を受信した前記計算資源が、該要件情報と前記状態情報とに基づいて自身が要件を満たす場合には前記依頼元コンピュータに肯定的応答を返す手順と、
前記依頼元コンピュータが、肯定的応答を返してきた前記計算資源に対して処理を依頼する手順と
を含むことを特徴とするグリッドコンピューティングシステムにおける計算資源収集方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上に散在する複数の計算資源を動的に結合しバーチャルマシンを構成するグリッド（Ｇｒｉｄ）コンピューティングシステム、及びグリッドコンピューティングシステムにおける計算資源収集方法に関する。
【背景技術】
【０００２】
グリッドコンピューティングにおいては、どの計算資源に仕事（計算処理など）を依頼するかを決めるために、計算資源の状態（例えば、ＣＰＵの使用率など）の情報を管理し、その情報に応じて仕事の依頼をする。従来は、特定の管理サーバに用意したディレクトリにより、全ての計算資源の状態情報を管理していた。
【０００３】
例えば、グリッドコンピューティングシステムを構成するミドルウエアとしてデファクトスタンダードとして認知されているＧｌｏｂｕｓ Ｔｏｏｌ Ｋｉｔ（登録商標）等での計算資源収集機能（ＭＤＳ：Monitoring and Discoverry Service；情報サービス）では、図３に示すようなディレクトリへの問い合わせ方式を用いている。
【０００４】
図３において、各計算資源１００〜１０３は、中央の管理サーバに用意されたディレクトリ１１０に、自己の計算資源の状態（例えば、ＣＰＵの使用率など）の情報を定期的に報告する。計算資源１０１〜１０３を利用しようとするユーザ１２０は、ディレクトリ１０１を参照して、利用可能な計算資源を検索する（ディスカバリ）。利用可能な計算資源が見つかった場合は、個々の計算資源にアクセスする（ルックアップ）（例えば、非特許文献１参照。）。
【０００５】
以上説明した従来のディレクトリへの問い合わせ方式によって、ユーザ１２０が計算資源１０１〜１０３の情報を収集するに際しては、以下のような問題点が存在する。
【０００６】
第１に、ディレクトリの異常時にディレクトリで管理されるシステム全体に障害をきたす。第２に、ディレクトリに記述される計算資源の状態情報が、常に最新のものではない。第３に、ディレクトリを階層化した場合に、ディレクトリの全体的な管理が困難になるなどの問題がある。
【非特許文献１】Globus Toolkit 2.2 MDS Technology Brief Draft 4-January 30 2003、[online]、２００３年１月３０日、[平成１５年７月１６日検索]、インターネット＜URL:http://www.globus.org/mds/mdstechnologybrief_draft4.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【０００７】
以上説明したように、従来のディレクトリを用いたグリッドコンピューティングシステムでは、計算資源の状態情報を適宜更新する必要があるが、その更新のリアルタイム性を高めようとすると、その情報を伝えるための通信トラフィックが増えてしまうという問題がある。また、一箇所のディレクトリにより各計算資源の状態情報を管理しているため、このディレクトリ部分の装置が故障した場合には、システム全体が機能しなくなってしまう。
【０００８】
本発明はこのような問題を解決するためになされたもので、その目的は、最適な計算資源をリアルタイムに発見することができ、また、ディレクトリを不要として対障害性を高め、さらに、個々の計算資源の障害時においてもシステム全体には影響を与えずにサービスを継続することができる、グリッドコンピューティングシステム、及びグリッドコンピューティングシステムにおける計算資源収集方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明のグリッドコンピューティングシステムは、複数の計算資源が、各々、自身の状態情報を保持しておき、その状態情報を更新する手段と、前記計算資源に処理を依頼する依頼元コンピュータが、計算資源の状態に関する要件情報を、前記複数の計算資源に対して送信する手段と、前記要件情報を受信した前記計算資源が、該要件情報と前記状態情報とに基づいて自身が要件を満たす場合には前記依頼元コンピュータに肯定的応答を返す手段と、前記依頼元コンピュータが、肯定的応答を返してきた前記計算資源に対して処理を依頼する手段とを備えることを特徴とする。
これにより、計算資源では、 オンデマンドで状態情報（ＣＰＵ使用率など）をアップデートができ、処理を依頼するコンピュータ側では、最適な計算資源をリアルタイムで発見することができるので、グリッドコンピューティングシステムの性能を向上させることができる。また、従来のような ディレクトリが不要となることにより、計算資源とディレクトリ間の動的な情報交換やルックアップ手続きが削減され、余分なトラフィックの削減につながる。またさらに、ディレクトリが不要となることにより、障害の要因（Point of Failure）が削減され、耐障害性が向上し、また、個々の計算資源の障害時においてもシステム全体には影響を与えず、サービスを継続することが可能になる。
【００１０】
上記グリッドコンピューティングシステムにおいて、前記計算資源が、前記状態情報をファイル名として保持すると共に、前記要件情報が、所定の要件を満たすファイル名による検索条件であることを特徴とする。
これにより、ピュア型Ｐ２Ｐシステムのファイル検索機能を、要件情報（例えば、ＣＰＵ使用率など）の検索に応用することができる。
【００１１】
本発明のグリッドコンピューティングシステムにおける計算資源収集方法は、複数の計算資源が、各々、自身の状態情報を保持しておき、その状態情報を更新する手順と、前記計算資源に処理を依頼する依頼元コンピュータが、計算資源の状態に関する要件情報を、前記複数の計算資源に対して送信する手順と、前記要件情報を受信した前記計算資源が、該要件情報と前記状態情報とに基づいて自身が要件を満たす場合には前記依頼元コンピュータに肯定的応答を返す手順と、前記依頼元コンピュータが、肯定的応答を返してきた前記計算資源に対して処理を依頼する手順とを含むことを特徴とする。
これにより、計算資源では、 オンデマンドで状態情報（ＣＰＵ使用率など）をアップデートができ、処理を依頼するコンピュータ側では、最適な計算資源をリアルタイムで発見することができるので、グリッドコンピューティングシステムの性能を向上させることができる。また、従来のような ディレクトリが不要となることにより、計算資源とディレクトリ間の動的な情報交換やルックアップ手続きが削減され、余分なトラフィックの削減につながる。またさらに、ディレクトリが不要となることにより、障害の要因（Point of Failure）が削減され、耐障害性が向上し、また、個々の計算資源の障害時においてもシステム全体には影響を与えず、サービスを継続することが可能になる。
【発明の効果】
【００１２】
本発明のグリッドコンピューティングシステム及び計算資源収集方法においては、各計算資源が、各々、自身の状態情報（例えば、ＣＰＵ使用率）を保持しておき、適宜その状態情報を更新する。処理を依頼する依頼元コンピュータは、計算資源の状態に関する要件情報（例えば、ＣＰＵ使用率）を、各計算資源に送信し、要件情報を受信した各計算資源は、自身が要件を満たす場合には依頼元コンピュータに応答を返し、依頼元コンピュータは、応答した計算資源に処理を依頼する。
これにより、計算資源では、 オンデマンドで状態情報（ＣＰＵ使用率など）をアップデートができ、処理を依頼するコンピュータ側では、最適な計算資源をリアルタイムで発見することができるので、グリッドコンピューティングシステムの性能を向上させることができる。また、従来のようなディレクトリが不要となることにより、計算資源とディレクトリ間の動的な情報交換やルックアップ手続きが削減され、余分なトラフィックの削減につながる。またさらに、ディレクトリが不要となることにより、障害の要因（Point of Failure）が削減され、耐障害性が向上し、また、個々の計算資源の障害時においてもシステム全体には影響を与えず、サービスを継続することが可能になる。
【００１３】
また、本発明のグリッドコンピューティングシステムにおいては、計算資源の計算資源が、状態情報（例えば、ＣＰＵ使用率）の内容をファイル名として保持すると共に、依頼元コンピュータは、要件情報（検索条件）としてファイル名を使用する。
これにより、ピュア型Ｐ２Ｐシステムのファイル検索機能を、要件情報（例えば、ＣＰＵ使用率）の検索に応用することができる。
【発明を実施するための最良の形態】
【００１４】
本発明のグリッドコンピューティングシステムでは、Ｐ２Ｐ（Ｐｅｅｒ ｔｏ Ｐｅｅｒ）式の通信により、計算資源の状態情報を相互にやりとりする。また、各計算資源が自分自身の状態（ＣＰＵ使用率など）に対応して、所定のファイル名のファイルを持っておく。また、Ｐ２Ｐでファイル交換するためのソフトウェア（例えば、Ｇｎｕｔｅｌｌａ（登録商標）など）を用いてファイル名を検索することにより、依頼元コンピュータは、所定の状態にある計算資源を検索し、該当する状態の計算資源に対して仕事（処理）を依頼する。
【００１５】
図１は、本発明によるグリッドコンピューティングシステムについて説明するための図であり、Ｇｎｕｔｅｌｌａ（登録商標）などのピュア型Ｐ２Ｐシステムを用いて構成された例を示している。Ｇｎｕｔｅｌｌａ（登録商標）におけるファイル名検索は、ファイル名検索が連鎖しながら実施されるという仕組みになっており、本発明のグリッドコンピューティングシステムでは、この機能を、計算資源の状態情報（例えば、ＣＰＵ使用率）をファイル名により連鎖して検索できるように拡張したものである。
【００１６】
図１において、計算資源１〜１３はＧｎｕｔｅｌｌａ Ｎｅｔ（登録商標）にあらかじめ参加しており、ＣＰＵ使用率をバックグランドで測定し、その値に対応するファイル名をピュア型Ｐ２Ｐのシステム（Ｇｎｕｔｅｌｌａ（登録商標）など）の指定する所定のディレクトリに保存する。
【００１７】
計算処理を依頼する依頼元コンピュータ２０は、はじめにＧｎｕｔｅｌｌａ  Ｎｅｔ（登録商標）に参加し、その後に、プロセス（例えば、タスクなど）を割り当てるのに必要な空ＣＰＵを有する計算資源をＧｎｕｔｅｌｌａ  Ｎｅｔ（登録商標）へのブロードキャストにより検索する。要求を満足する計算資源１〜１３は依頼元コンピュータ２０へ応答し、依頼元コンピュータ２０は最も相応しい計算資源へ計算処理プロセスの割り当てを実施する。
【００１８】
また、本発明のグリッドコンピューティングシステムでは、ピュア型Ｐ２Ｐシステムのファイル検索機能を、ＣＰＵ使用率などの検索に応用するため、ＣＰＵ使用率をファイル名にどのように反映するかがポイントとなる。
【００１９】
このため、計算資源１〜１３は、定期的にバックグラウンドで自端末のＣＰＵ負荷（使用率）を測定する。さらに、その得られた値から、図２（ａ）に示す表１に基づいたファイル名をもつファイルを作成し、ピュア型Ｐ２Ｐシステム（Ｇｎｕｔｅｌｌａ（登録商標）など）の指定するディレクトリに保存する。
【００２０】
図２に示す例では、作成するファイルのファイル名と検索キーとは次のような関係にある。例えば、ＣＰＵ使用率が９０％以上〜１００％の場合、ＣＰＵがほとんど空いていないので、“ほとんど空きなし”以上の計算資源を検索する際に利用される検索キー“Ｊ”のみで検索可能になるように、作成するファイル名は、検索キー“Ｊ”を含み、他の検索キーを含まないファイル名“Ｊ”になる。また、ＣＰＵ使用率が８０％以上〜９０％未満の場合、ＣＰＵが最低１０％空いているので、“ほとんど空きなし”以上の計算資源を検索する際に利用される検索キー“Ｊ”及び“１０％以上空き”の計算資源を検索する際に利用される検索キー“Ｉ”のみで検索可能になるように、作成するファイル名は、検索キー“Ｊ”と“Ｉ”とを含み、他の検索キーを含まないファイル名“ＩＪ”になる。さらに、ＣＰＵ使用率が７０％以上〜８０％未満の場合、ＣＰＵが最低２０％空いているので、“ほとんど空きなし”以上の計算資源を検索する際に利用される検索キー“Ｊ”、“１０％以上空き”の計算資源を検索する際に利用される検索キー“Ｉ”、及び“２０％以上空き”の計算資源を検索する際に利用される検索キー“Ｈ”のみで検索可能になるように、作成するファイル名は、検索キー“Ｊ”と“Ｉ”と“Ｈ”とを含み、他の検索キーを含まないファイル名“ＨＩＪ”になる。
【００２１】
以上説明した処理を行うスクリプトを作成し、各計算資源１〜１３上で実施させる。この機能により、定期的にＣＰＵ負荷の状態がファイル名として保存されるので、これをＧｎｕｔｅｌｌａ（登録商標）などのピュア型Ｐ２Ｐシステムを用いてファイル検索することにより、ＣＰＵの空き状態を考慮した計算資源の検索が可能になる。
【００２２】
また、依頼元コンピュータ２０からの計算資源１〜１３の検索に際しては、図２（ｂ）に示す表２に基づく検索キーを利用する。例えば、ＣＰＵが最低８０％は遊休状態にある計算資源では、作成されるファイル名には、必ず“Ｂ”が含まれるので、依頼元コンピュータ２０からは、“Ｂ”を検索キーとして検索すれば、ＣＰＵ状態が８０％以上遊休状態にある計算資源が発見される。そして、依頼元コンピュータ２０は発見された計算資源へ計算処理プロセスの割り当てを実施する。
【００２３】
以上説明したように、本発明のグリッドコンピューティングシステムにおいては、グリッドコンピューティングシステムにおける計算資源収集機能を、ピュア型のＰ２Ｐシステムを用いて実現している。従来のグリッドコンピューティングシステムで一般的に利用されている管理サーバを用いるディレクトリ型の計算資源収集機能と比較して、画一的な情報提供者が存在しないブローカレス思想による情報検索手法を用いた本発明では、計算資源の動的変動に対応可能であり、対障害性にも優れるグリッドコンピューティングシステムを構築できる。また本手法によりディレクトリが不要となるため、管理が容易になるというメリットも生じる。
【００２４】
また、本発明の実施の形態では、計算資源の状態情報として、ＣＰＵ使用率を用いた例を示したが、これに限らず、メモリ容量や、計算速度や、通信速度などの各種の他の状態情報を使用することもでき、また、これらを組み合わせた状態情報を使用することもできる。
【００２５】
以上、本発明の実施の形態について説明したが、本発明のグリッドコンピューティングシステムは、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
本願における計算資源及び依頼元コンピュータは、パーソナルコンピュータ、ＰＤＡ、携帯電話等の計算機能とネットワーク接続機能を有するハードウエアならば名称・形態は問わない。また、ネットワークは有線、無線いずれの接続方法のものも含む。計算資源と依頼元コンピュータはジョブにより入れ替え可能である。
【産業上の利用可能性】
【００２６】
本発明のグリッドコンピューティングシステム及びグリッドコンピューティングシステムにおける計算資源収集方法は、グリッドコンピューティングシステムの性能を向上させ、対障害性を高める効果を有する。
【００２７】
従って、本発明は、グリッドコンピューティングシステム、及びグリッドコンピューティングシステムにおける計算資源収集方法などに適用できる。
【図面の簡単な説明】
【００２８】
【図１】本発明によるグリッドコンピューティングシステムについて説明するための図。
【図２】計算資源が作成するファイル名と検索キーの例を示す図。
【図３】従来のグリッドコンピューティングシステムの一般的な資源管理機構を示す図。
【符号の説明】
【００２９】
１〜１３  計算資源
２０  依頼元コンピュータ
【図１】
2005038339.tif 000003
【図２】
2005038339.tif 000004
【図３】
2005038339.tif 000005