(57)【要約】  【課題】  最適な計算資源をリアルタイムに発見でき、ディレクトリを不要にして対障害性を高め、個々の計算資源の障害時においてもシステム全体には影響を与えずにサービスを継続できるようにする。  【解決手段】  計算資源１０１〜１１３が意味情報ネットワーク上でグリッドコミュニティを形成する。計算資源１０１〜１１３が、自己の状態情報を意味情報ネットワークのフィルタに意味情報として登録し、その意味情報を適宜更新する。ポータルサイト１２０が、依頼元コンピュータ１３０からの要求に基づき、計算資源の状態に関する要件情報を含む刺激情報を、複数の計算資源１０１〜１１３に対して送信する。刺激情報を受信した計算資源１０１〜１１３が、刺激情報に含まれる要件情報に基づいて自身が要件を満たす場合には、ポータルサイト１２０に発火情報を返す。ポータルサイト１２０が、発火情報を返してきた計算資源に対して処理を依頼する。【選択図】  図１
2005044274.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＞
【発明の開示】
【発明が解決しようとする課題】
【０００７】
以上説明したように、従来のディレクトリを用いたグリッドコンピューティングシステムでは、計算資源の状態情報を適宜更新する必要があるが、その更新のリアルタイム性を高めようとすると、その情報を伝えるための通信トラフィックが増えてしまうという問題がある。また、一箇所のディレクトリにより各計算資源の状態情報を管理しているため、このディレクトリ部分の装置が故障した場合には、システム全体が機能しなくなってしまう。
【０００８】
本発明はこのような問題を解決するためになされたもので、その目的は、最適な計算資源をリアルタイムに発見することができ、また、ディレクトリを不要として対障害性を高め、さらに、個々の計算資源の障害時においてもシステム全体には影響を与えずにサービスを継続することができる、グリッドコンピューティングシステム、及びグリッドコンピューティングシステムにおける計算資源収集方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明のグリッドコンピューティングシステムは、複数の計算資源が意味情報ネットワーク上でグリッドコミュニティを形成する手段と、前記各計算資源が、自己の状態情報を意味情報ネットワークのフィルタに意味情報として登録すると共に、その意味情報を更新する手段と、前記計算資源に処理を依頼する依頼元コンピュータが、ポータルサイトのコンピュータに対して処理の要求を行う手段と、要求を受けた前記ポータルサイトのコンピュータが、計算資源に処理を依頼する依頼元コンピュータからの要求に基づき、計算資源の状態に関する要件情報を含む刺激情報を、前記複数の計算資源に対して送信する手段と、前記刺激情報を受信した前記計算資源が、該刺激情報に含まれる前記要件情報に基づいて自身が要件を満たす場合には、前記ポータルサイトのコンピュータに発火情報を返す手段と、前記ポータルサイトのコンピュータが、前記発火情報を返してきた前記計算資源に対して処理を依頼する手段と、前記処理の依頼を受けた前記計算資源が処理を行う手段とを備えることを特徴とする。
【００１０】
本発明のグリッドコンピューティングシステムにおける計算資源収集方法は、複数の計算資源が意味情報ネットワーク上でグリッドコミュニティを形成する手順と、前記各計算資源が、自己の状態情報を意味情報ネットワークのフィルタに意味情報として登録すると共に、その意味情報を更新する手順と、前記計算資源に処理を依頼する依頼元コンピュータが、ポータルサイトのコンピュータに対して処理の要求を行う手順と、要求を受けた前記ポータルサイトのコンピュータが、計算資源に処理を依頼する依頼元コンピュータからの要求に基づき、計算資源の状態に関する要件情報を含む刺激情報を、前記複数の計算資源に対して送信する手順と、前記刺激情報を受信した前記計算資源が、該刺激情報に含まれる前記要件情報に基づいて自身が要件を満たす場合には、前記ポータルサイトのコンピュータに発火情報を返す手順と、前記ポータルサイトのコンピュータが、前記発火情報を返してきた前記計算資源に対して処理を依頼する手順と、前記処理の依頼を受けた前記計算資源が処理を行う手順とを含むことを特徴とする。
【発明の効果】
【００１１】
本発明のグリッドコンピューティングシステムにおいては、複数の計算資源が意味情報ネットワーク上でグリッドコミュニティを形成し、各計算資源が、自己の状態の情報をフィルタに登録する。ポータルサイトは、依頼元コンピュータからの処理依頼に基づき、計算資源の状態に関する要件情報を含む刺激情報を、計算資源に対して送信し、発火情報を返してきた計算資源に対して処理を依頼する。
これにより、最適な計算資源をリアルタイムに発見することができ、また、ディレクトリが不要なため対障害性が高い。さらに、個々の計算資源の障害時においてもシステム全体には影響を与えずにサービスを継続することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の好適な実施の形態におけるグリッドコンピューティングシステムについて図面を参照しつつ説明する。実施の形態では、意味情報ネットワークを用いて、計算資源の状態情報をやりとりするグリッドコンピューティングシステムの例について説明する。この意味情報ネットワークでは、情報の意味に基づいてその情報の伝送を制御する。具体的な例としては、ＳＩＯＮｅｔ（Semantic Information Oriented Network）と呼ばれる意味情報ネットワークを使用する。なお、ＳＩＯＮｅｔは、ＮＴＴ（登録商標）の開発したＰ２Ｐシステムの名称であり、ＳＩＯＮｅｔ自身については、［ＳＩＯＮｅｔについての補足説明］の項で後述する。
【００１３】
このように、意味情報ネットワークを通信手段として、複数の計算資源が自己の状態情報をやり取りし、これに基づいて、所望の状態を有する計算資源を検索し、検索の結果得られる（複数の）計算資源に仕事（処理）を分散協調処理させることにより、ひとつの仮想的な計算機（グリッドコンピューティング）を実現する。このため、意味情報ネットワークにより計算資源の状態の情報を検索するために、以下に示すような機能の拡張や追加を行っている。
【００１４】
第１に、計算資源の検索手法を、単なるファイル名のマッピングから、“意味情報に基づく”計算資源検索手法へ拡張する。本手法を用いることによって、計算資源検索の収集パラメータ検索範囲をＣＰＵ負荷状態のみならず、ネットワーク負荷や実施可能なアプリケーションの種類など他の計算資源の状態も同時に検索可能とする。
第２に、Ｐ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）システムにおけるコミュニティの概念を利用し、コミュニティとして、静的に計算資源のグループを構築し、使用可能なアプリケーション、セキュリティの度合いなどのポリシーに基づき区分する。コミュニティを跨った情報検索を制御できるＰ２Ｐシステムを利用することによって、これまでのブロードキャストによる検索よりも、不要なトラフィックを削減でき、効率の良い検索が可能になる。
【００１５】
第３に、Ｐ２Ｐシステムにおけるコミュニティへの参加認証機能を用いて、計算資源の参加脱退を管理することにより、計算資源を一般の利用者のＰＣ等からも広く募ることを可能にする。
第４に、ＨＴＴＰ（HyperText Transfer Protocol ）に基づくポータルサイトを構築し、ユーザからのグリッド計算処理の受付窓口とすることによって、一般ユーザのグリッドコンピューティング利用を簡易に実現可能とする。
【００１６】
以下、Ｐ２Ｐ技術のうちコミュニティの管理や構築を簡易に実現する機能を有するＳＩＯＮｅｔを用いてシステムを構築した例について図面を参照して説明する。
図１は、本発明の実施の形態におけるグリッドコンピューティングシステムについて説明するための図であり、図２は、図１に示すグリッドコンピューティングシステムの構成要素のそれぞれが有する機能を説明するための図である。グリッドコンピューティングシステムは、図１に示すように、計算資源１０１〜１１３、ポータルサイト１２０、および依頼元コンピュータ（ユーザ端末）１３０から構成される。
【００１７】
ＳＩＯＮｅｔのエンティティである計算資源１０１〜１１３には、ＳＩＯＮｅｔソフトウエア、グリッド用ミドルウエアソフトウエアをインストールし、これらのソフトウエアを起動させる。なお、ＳＩＯＮｅｔにおいては、ＳＩＯＮｅｔソフトウエアを起動した端末（計算資源）をＳＩＯＮｅｔエンティティ（単に「エンティティ」ともいう）と称する。
【００１８】
エンティティとして起動された計算資源は、ＳＩＯＮｅｔのコミュニティ作成および参加機能を用いてグリッド計算用のコミュニティを構成する（ここで、ＳＩＯＮｅｔにおいては、一般のコミュニティをイベントプレースと称する）。イベントプレースは、計算資源の各々にインストールされたグリッドミドルウエアにより、自らの計算資源の状態やネットワーク特性等（後述）を、動的または静的に“意味情報”としてＳＩＯＮｅｔの機能である意味情報フィルタ（単に「フィルタ」ともいう）に定期的に登録する。
各々の計算資源の意味情報フィルタに登録される内容としては、計算資源状態に関しては、ＩＰアドレス／システム管理者の名前／ＯＳバージョン／ＣＰＵ負荷／実施可能なアプリケーション／アーキテクチャタイプ／メモリ容量等がある。また、ネットワーク特性に関しては、バンド幅／レイテンシ／プロトコルなどがある。特に、ＣＰＵ負荷状態やネットワーク（ＮＷ）のレイテンシなどは、エージェントを用いてこれまでの使用状況から、今後予想される使用状態を推測し、意味情報として登録する。
【００１９】
また、エンティティとして起動された計算資源はポータルサイトからの問い合わせ（刺激）に対して、条件を満たした場合に、応答（発火）する。
【００２０】
なお、図３は、上述した計算資源におけるソフトウエア構造を図で示したものであり、計算資源（エンティティ）２００は、ＳＩＯＮｅｔエンティティとして機能し、計算資源２００のソフトウエア構造は、各種ＯＳ２０１（Ｗｉｎｄｏｗｓ（登録商標）やＵＮＩＸ（登録商標）など）を基礎にして、通信用ミドルウエア２０２（ＳＯＡＰ(Simple Object Access Protocol)など）、Ｐ２Ｐ−ＰＦ（プラットフォーム）２０３、ＳＩＯＮｅｔＡＰＩ（Application Program Interface ）２０４、Ｐ２Ｐミドルウエア２１１からなる階層構造を有している。
【００２１】
また、Ｐ２Ｐミドルウエア２１１には、意味情報に基づいてネットワークサービスを実行するためのディスカバリ・エンジン・コントローラ２１２が装備され、計算処理資源収集機能２１３、計算処理割当機能２１４、ＰＦ（プラットフォーム）連携機能２１５などが設けられる。計算処理資源収集機能２１３は、自端末の計算資源としての状態情報や、ネットワークの状態情報を意味情報フィルタへ登録する機能を有し、計算資源の状態情報としては、例えば、ＩＰアドレス、システム管理者の名前、ＯＳ／バージョン、ＣＰＵ負荷、アプリケーション、アーキテクチャタイプ、メモリなどが登録され、ネットワーク状態情報としては、バンド幅、レイテンシ、プロトコルなどが登録される。なお、ＰＦ（プラットフォーム）連携機能２１５には、認証ＰＦ、著作権保護ＰＦ、課金ＰＦなどが含まれる。
【００２２】
ポータルサイト１２０は、グリッドコンピューティング用のポータルサイトであり、依頼元コンピュータ（ユーザ端末）１３０からのグリッドコンピューティング処理要求の受け付けを行い、バーチャルマシン（Virtual Machine）を構築する機能をもつ。
ポータルサイト１２０には、ＳＩＯＮｅｔソフトウエア、グリッド用ミドルウエアソフトウエアをインストールし、ＳＩＯＮｅｔエンティティとして動作する。また、その上位レイヤにおいてＷｅｂサービス機能とバーチャルマシン機能を構築する。
ポータルサイト１２０のバーチャルマシンの管理機能は、ＶＭＭ（Virtual Machine Manager）が行う。Ｗｅｂサービス機能は、ユーザ（依頼元コンピュータ）からのグリッドコンピューティング処理を受け付ける機能であり、ユーザからの要求に応じて様々なバーチャルマシンを構成するためのパラメータを、メニューとして提供する。
バーチャルマシン機能は、ユーザからの計算要求に応じて与えられた処理を複数に分割したり、各計算資源に割り振った処理の経過や結果を管理する機能である。ユーザからの処理依頼内容に応じて、個々にバーチャルマシンの構成を決定する。
【００２３】
また、ポータルサイト１２０では、バーチャルマシンを実際に構成する計算資源を、ユーザからの要求に応じて効率よく検索するために、ユーザからの計算処理要求を“意味情報”として抽出し、ＳＩＯＮｅｔの意味情報検索機能を利用して検索（刺激）する。また、ポータルサイトは、信頼性向上のため複数設置する。ユーザは指定されたＵＲＬ（Uniform Resource Locator）によりポータルサイトへアクセスするが、ＤＮＳ機能により、複数のポータルサイトアドレスのうち、ひとつのポータルサイトアドレスがラウンドロビンにより選択され、そのアドレスを有するポータルサイトへ接続が行われる。これによって、ポータルサイトの負荷分散が実現される。
【００２４】
なお、図４は、上述したポータルサイトにおけるソフトウエア構造を図で示したものであり、計算資源（グリッド用計算処理リソース）３００は、ＳＩＯＮｅｔエンティティとして機能し、ポータルサイト３００のソフトウエア構造は、各種ＯＳ３０１（Ｗｉｎｄｏｗｓ（登録商標）やＵＮＩＸ（登録商標）など）を基礎にして、通信用ミドルウエア３０２（ＳＯＡＰなど）、Ｐ２Ｐ−ＰＦ（プラットフォーム）３０３、ＳＩＯＮｅｔＡＰＩ（Application Program Interface ）３０４、Ｐ２Ｐミドルウエア３１１、Ｐ２ＰＯＰｅｎＡＰＩ３１６からなる階層構造を有している。
【００２５】
また、Ｐ２Ｐミドルウエア３１１には、意味情報に基づいてネットワークサービスを実行するためのディスカバリ・エンジン・コントローラ３１２が装備され、計算処理資源収集機能３１３、計算処理割当機能３１４、ＰＦ（プラットフォーム）連携機能３１５などが設けられ、ユーザ要求を意味情報へ変換し検索（刺激）すると共に、発見された計算資源を選別し、計算処理を依頼する機能を有している。また、Ｗｅｂサービス機能３１７と、グリッド（Ｇｒｉｄ）ＶＭマネージャ３１８、グリッド（Ｇｒｉｄ）ＶＭシンセサイザ３１９、コンパイラ３２０などが設けられ、ＨＴＴＰによりユーザからの計算依頼を受け付け、処理内容を分割可能な場合は、分割を行い、分割した場合は結果を集約する。なお、ＰＦ（プラットフォーム）連携機能３１５には、認証ＰＦ、著作権保護ＰＦ、課金ＰＦなどが含まれる。
【００２６】
また、依頼元コンピュータ（ユーザ端末）１３０は、グリッドコンピューティングシステムに計算処理を依頼するユーザの端末である。ブラウザを介してＨＴＴＰでポータルサイト１２０へ接続し、グリッドコンピューティング計算処理要求を行う。計算処理自体は、グリッド（ネットワーク内）において実施されるため、端末スペックは問わず、ブラウザがインストールされていることだけが要求条件である。また、依頼元コンピュータ（ユーザ端末）１３０による計算処理依頼は、ポータルサイト１２０が提供するメニューを用いてパラメータ（例えば、アプリケーション、計算処理、処理料金など）を選択することにより実施される。
【００２７】
以上説明したＳＩＯＮｅｔを利用したグリッドコンピューティングシステムについての構成と特徴を、以下に整理して示しておく。
グリッドコンピューティングシステムでは、システムの構成要素であるエンティティのＰ２Ｐ（ＳＩＯＮｅｔ）ＡＰＩ上にグリッド計算資源収集機能用ミドルウエアを構築している。このＳＩＯＮｅｔ上のミドルウエアにて実現される“意味情報による検索機能”を用いることにより、計算処理依頼を依頼する依頼元コンピュータからの計算処理要求に対して、最適なバーチャルマシンを構築するための計算資源を、即時に効率よく発見できる。
【００２８】
計算資源とポータルサイトはともにＳＩＯＮｅｔのエンティティであり、計算資源は自端末の状態を意味情報として静的・動的にフィルタに登録する。グリッドリソース収集機能用ミドルウエアにおいて意味情報として登録される内容は、計算資源情報とネットワーク特性情報である。計算資源情報として意味情報化される内容は、ＩＰアドレス、システム管理者の名前、ＯＳとそのバージョン、ＣＰＵ負荷、実施可能なアプリケーション、アーキテクチャタイプ、メモリ容量（総容量並びに空き容量）、ハードディスク容量（総容量並びに空き容量）等がある。また、ネットワーク特性として意味情報化される内容は、ネットワーク負荷／バンド幅／レイテンシ／プロトコルなどがある。特に、ＣＰＵ負荷状態やネットワーク負荷状態などは、その時々の値をリアルタイムに登録するのではなく、統計情報に基づくエージェント機能を用いて、これまでの使用状況から、今後予想される計算資源の使用状態を推測し、意味情報として随時フィルタに登録する。
【００２９】
以上のような仕組みによって、これまでのシステムよりも、検索パラメータを多く持ち、かつその内容が計算資源の最新かつ最適な情報を示しているために、最適な計算資源を効率的に収集することができる。
また、ＳＩＯＮｅｔのエンティティとなった計算資源は、グリッド計算資源として利用されるために、事前に静的な集合体であるコミュニティ（イベントプレース）を作成し、その構成員となっている必要がある。計算資源が、イベントプレースに静的に含まれ、自端末の状態を意味情報フィルタに保持しておくことによって、ポータルサイトでは、意味情報に基づく検索をかけ、最適な計算資源を、余計なトラフィックを増やさず、またディレクトリを必要とせず効果的に収集することができる。
さらに、認証機能によるイベントプレースへの入出力管理機能を用いることで、計算資源の登録/削除の管理が可能になる。よって、計算資源は、特別に用意したもののみならず、一般のユーザが使用しているような不特定多数の端末までも利用することが可能になる。
【００３０】
また、イベントプレースは、それを構成するエンティティが何らかの理由でダウンした場合も、その両隣りのエンティティが自動的にリンクをつなぎ接続を継続する機能を有している。従ってこのイベントプレースを用いることで、計算資源が何らかの理由でダウンした場合でも、その端末（計算資源）のみがイベントプレースから離脱することになり、システム全体には影響を及ぼさない。
さらに、イベントプレースを用いることで、アプリケーションやセキュリティ度に応じたコミュニティ（イベントプレース）の構築が可能になり、システムに多様性を持たせることが可能になる。
【００３１】
ポータルサイトは、依頼元コンピュータ（ユーザ端末）からの処理要求を受け付け、その要求を満足するバーチャルマシンを構成するための計算資源を意味情報として変換し、その意味情報を基にＳＩＯＮｅｔの機能を用いて検索する（ポータルサイトは、ＳＩＯＮｅｔによる意味情報検索を行うために、予め計算資源と同じイベントプレースに参加している必要がある。）。
ポータルサイトからの計算資源検索には、計算資源の処理状況（例えば、ＣＰＵ使用率、ネットワーク（ＮＷ）使用率に基づく統計情報による処理受付可能状態、メモリ容量、空きハードディスク容量）などを意味情報とそのパラメータとして与え、最適な計算資源を検索する（刺激）。
【００３２】
依頼元コンピュータ（ユーザ端末）からの計算処理要求受付を実施するポータルサイトは、障害時にもサービスを継続させる（信頼性向上）ため複数配備される。ユーザがどのポータルサイトを選択するかは、ＤＮＳ機能を利用する。つまり、ユーザはＵＲＬを用いてポータルサイトへアクセスをするが、複数登録されているＩＰアドレスが、ラウンドロビンで応答されることによって、負荷の分散を行うと共に対障害性を向上させる。
【００３３】
ポータルサイトは、グリッドコンピューティング計算処理を依頼する依頼元コンピュータ（ユーザ端末）のスリム化のため、ＨＴＴＰでの処理受付を実現し、ブラウザからアクセス可能な汎用性を実現する。
【００３４】
以上、本発明の実施の形態にかかわるグリッドコンピューティングシステムの構成と特徴について説明したが、以下において、より具体的な例を示して、グリッドコンピューティングシステムについて説明する。
【００３５】
図５は、ＳＩＯＮｅｔネットワークの構成例について説明するための図であり、アプリケーションやセキュリティの度合いによってイベントプレースが複数に分割されている例を示している。図５に示す例では、４つのイベントプレースＡ〜Ｄがネットワーク中に含まれる例を示している。
【００３６】
ポータルサイト４０１〜４０３は、存在するすべてのイベントプレースＡ〜Ｄにまたがって存在している。依頼元コンピュータ（ユーザ端末）４１０からグリッドコンピューティング処理の依頼を受けたポータルサイトは、必要に応じて処理を分割した後、必要な計算資源を決定し、それらを意味情報によって検索する。ここで、ポータルサイトの要望する計算資源と関連のない情報を有するイベントプレースには、意味情報検索が波及しないため、検索トラフィックを削除することが可能である。
【００３７】
エンティティのそれぞれの詳細処理イメージを、図６、図７を参照して説明する。ここでは説明を簡単にするために、ひとつのイベントプレース内での処理の例を示す。図６および図７に示す例は、１台のポータルサイト５０１と、計算資源Ｒ１〜Ｒ６の６台にてイベントプレースを形成した場合のシステムであり、左端の依頼元コンピュータ（ユーザ端末）５１０がこのグリッドシステムへ処理を依頼するものであることを前提としている例を示している。
【００３８】
図６は、処理イメージを表すシーケンスの例を示す図である。図７は意味情報の例を示す図であり、依頼元コンピュータ５１０からの処理依頼を受けたポータルサイト５０１がバーチャルマシンを構築するため計算資源Ｒ１〜Ｒ６を検索するための条件と、その時の各々の計算資源Ｒ１〜Ｒ６の状態を示している。計算資源Ｒ１〜Ｒ６のこれらの状態は、意味情報としてフィルタＦ１〜Ｆ６へ登録されているものである。
【００３９】
最初に、計算資源Ｒ１〜Ｒ６及びポータルサイトにおける前処理について説明する。
まず、個々の計算資源Ｒ１〜Ｒ６では、ＳＩＯＮｅｔのエンティティとして起動し、その上位にグリッドリソース検索・収集用のミドルウエアを起動する。このミドルウエアは動的または静的に、計算資源の負荷状況や実行できるアプリケーション名などを意味情報としてＳＩＯＮｅｔのフィルタＦ１〜Ｆ６へ登録する。ＳＩＯＮｅｔエンティティとなった個々の計算資源Ｒ１〜Ｒ６は、一つのイベントプレース（グリッドイベントプレース）を静的に構成する。ここでは、図６および図７に示すような構成でイベントプレースは形成されているものとする。
また、ポータルサイト５０１もまたＳＩＯＮｅｔエンティティであり、計算資源群と同一のグリッドイベントプレースの一員である。ここでのポータルサイト５０１は、イベントプレース上において、図に示す場所に位置するものとする。
【００４０】
以下、図６を参照して、順を追って処理イメージを記述する。尚、計算資源Ｒ１、Ｒ４およびＲ６が条件（要件情報）を満たし、それ以外の計算資源Ｒ２、Ｒ３およびＲ５は条件を満たさない。
最初に、計算処理を依頼するグリッドユーザである依頼元コンピュータ５１０は、最寄りのポータルサイトをＤＮＳ機能（ＵＲＬ→ＩＰアドレス変換機能）により発見し、グリッド計算処理の依頼をＷｅｂブラウザを用いて実施する。この時、実行するアプリケーション、セキュリティ度、ターンアラウンドタイムなどのバーチャルマシンを構成するためのパラメータを指定する。パラメータの指定は予めポータルサイト５０１に設定されたプルダウンメニューを用いて実施する（ステップＳ１）。
【００４１】
計算処理を受け付けたポータルサイト５０１は、計算処理依頼内容に応じて、並列処理できるものはタスクを分割する。さらに、依頼元コンピュータ（ユーザ端末）５１０から受け付けたパラメータを元に計算処理を実施するためのバーチャルマシンを構築するための必要な計算資源を算出する。これらの機能は、ＶＭＭ（Virtual Machine Manager）によって実施される。またさらに、これら必要な計算資源を収集するための検索キーとしての意味情報を決定する（処理Ａ：ステップＳ２）。
ポータルサイト５０１では、最適な計算資源を発見するため、処理Ａにて決定された意味情報を用いてＳＩＯＮｅｔ機能による検索を開始し、“意味情報による検索メッセージ”を計算資源Ｒ１へ送信する（刺激を与える）（ステップＳ３）。
【００４２】
計算資源Ｒ１は、ポータルサイト５０１から受信した“意味情報による検索メッセージ”をイベントプレースで接続されている次の計算資源Ｒ２へ転送する（刺激を転送する）（ステップＳ４）。
また、ポータルサイト５０１により刺激を受けた計算資源Ｒ１は、フィルタＦ１の内容がポータルサイトの刺激に対する条件を満たしているため、ＳＩＯＮｅｔ機能により“発火”する（発火Ａ）。発火したという情報は、計算資源Ｒ１によって発火条件と共にポータルサイト５０１へ応答される。なお、発火条件は以下の通りである。ＣＰＵ＝Ｐｅｎｔ＊ｕ＊ １．５ＧＨｚ、ＣＰＵ使用率＝２０％、ＯＳ＝Ｗ＊ｎ２００＊、アプリケーション＝Ｐ＊ｖ−Ｒａ＊、メモリ＝１２８ＭＢ、ＨＤ＝２０ＧＢ、ＮＷ＝１００Ｍｂｐｓ、ＮＷ使用率＝３０％である（ステップＳ５）。
【００４３】
計算資源Ｒ２は、受信した“意味情報による検索メッセージ”を、イベントプレースで接続されている次の計算資源Ｒ３および計算資源Ｒ４へそのまま転送する（刺激を転送する）（ステップＳ６）。なお、計算資源Ｒ２は、イベントプレースにおいて、その先に２つの接続先を持っているため、２箇所の計算資源Ｒ３及びＲ４へ刺激を転送する。計算資源Ｒ２自体は、そのフィルタＦ２の内容が、受信した刺激に対する要求条件を満たさないものがあるため、発火せず、そのため何もしない。また、計算資源Ｒ２からの刺激を受信した計算資源Ｒ３は、その先にイベントプレースに接続される計算資源が存在しないため刺激を転送しない上、フィルタＦ３の情報も刺激に対する要求条件を満たさないものがあるため、発火せず何もしない。
【００４４】
計算資源Ｒ２から刺激を受けた計算資源Ｒ４は、受信した“意味情報による検索メッセージ”を、イベントプレースで接続されている次の計算資源Ｒ５および計算資源Ｒ６へそのまま転送する（刺激を転送する）（ステップＳ７）。なお、計算資源Ｒ４は、イベントプレースにおいて、その先に２つの接続先を持っているため、２箇所へ刺激を転送する。また、計算資源Ｒ４からの刺激を受信した計算資源Ｒ５および計算資源Ｒ６は、その先にイベントプレースに接続される計算資源が存在しないため刺激を転送せず、その上、計算資源Ｒ５は、フィルタＦ５の情報も刺激に対する要求条件を満たさないものがあるため、発火せず何もしない。
また、計算資源Ｒ４は、フィルタＦ４の内容が受信した刺激に対する条件を満たしているため、ＳＩＯＮｅｔ機能により“発火”する。なお、発火条件は以下の通りである。ＣＰＵ＝Ｐｅｎｔ＊ｕ＊ ８５０ＭＨｚ、ＣＰＵ使用率＝３０％、ＯＳ＝Ｗ＊ｎ２００＊、アプリケーション＝Ｐ＊ｖ−Ｒａ＊、メモリ＝６４ＭＢ、ＨＤ＝８ＧＢ、ＮＷ＝１０Ｍｂｐｓ、ＮＷ使用率＝２５％である（発火Ｂ）。発火したという情報は、計算資源Ｒ４によって発火条件と共に、ポータルサイト５０１に対してＰ２Ｐで応答される（ステップＳ８）。
また、計算資源Ｒ６は、フィルタＦ６の内容が受信した刺激に対する条件を満たしているため、ＳＩＯＮｅｔ機能により“発火”する。なお、発火条件は以下の通りである。ＣＰＵ＝Ｐｅｎｔ＊ｕ＊ １．７ＧＨｚ、ＣＰＵ使用率＝２０％、ＯＳ＝Ｗ＊ｎ２００＊、アプリケーション＝Ｐ＊ｖ−Ｒａ＊、メモリ＝２５６ＭＢ、ＨＤ＝１００ＧＢ、ＮＷ＝１０Ｍｂｐｓ、ＮＷ使用率＝１５％である（発火Ｃ）。発火したという情報は、計算資源Ｒ６によって発火条件と共に、ポータルサイト５０１に対しＰ２Ｐで応答される。
【００４５】
ポータルサイト５０１は、計算資源からの発火応答を受信確認し（今回は、計算資源Ｒ１、Ｒ４、Ｒ６から３つの応答（ステップＳ５、Ｓ８、Ｓ９あり））、それらの応答発火条件をもとに、最適な計算資源を判別する。ここでは、ＶＭＭが必要な計算資源は“２台”と判定したため、最適な計算資源を発火条件上位から２つに絞り、計算資源Ｒ１ならびにＲ６と判定している。今回は、応答時間が優先内容として設定されているため、ＣＰＵのスペックと使用率、メモリ容量が計算資源Ｒ１およびＲ６を選定する基準となっている（処理Ｂ：ステップＳ１０）。
ポータルサイト５０１では、処理Ｂの判定結果に基づき、計算処理を計算資源Ｒ１および計算資源Ｒ６へ割り当てる（ステップＳ１１）。この割当は、「ポータルサイト＝計算資源Ｒ１間」および「ポータルサイト＝計算資源Ｒ６間」で直接Ｐ２Ｐにより実施される。
【００４６】
それから、処理Ｂにおいて計算資源Ｒ１に割り当てられた計算処理を、計算資源Ｒ１が実施し（処理Ｃ）、処理結果をポータルサイトへ応答（返信）する（ステップＳ１２）。この応答は、ポータルサイト＝計算資源Ｒ１間で直接Ｐ２Ｐにより実施される。
また、処理Ｂにおいて計算資源Ｒ６に割り当てられた計算処理を、計算資源Ｒ６が実施し（処理Ｄ）、処理結果をポータルサイト５０１へ応答（返信）する（ステップＳ１３）。この応答は、ポータルサイト＝計算資源Ｒ６間で直接Ｐ２Ｐにより実施される。
その後、ポータルサイト５０１において、計算資源Ｒ１の処理Ｃと、計算資源Ｒ６の処理Ｄにおける処理結果を基に、全体の処理結果を統合する（処理Ｅ：ステップＳ１４）。また、ポータルサイトは、処理Ｄの処理結果を、依頼元コンピュータ５１０へ報告する（ステップＳ１５）。
【００４７】
なお、計算資源Ｒ４は、発火し応答したが、ポータルサイト５０１からの計算処理依頼がなかったため、タイムアウトにより初期状態へ遷移する（処理Ｆ：ステップＳ１６）。
【００４８】
以上本発明の実施の形態のグリッドコンピューティングシステムについて説明したが、意味情報ネットワークを構成して、意味情報により最適な計算資源を収集することにより、ディレクトリレスのメリットを活かしたまま、グリッドコンピューティングシステムの計算資源収集における検索条件を多様化することが可能となる。
また、オンデマンドで計算資源のステータス情報（ＣＰＵ負荷だけでなく様々な情報）のアップデートが可能となり、リアルタイムに最適な計算資源を発見することができ、グリッドコンピューティングシステムの性能を向上することができる。
【００４９】
また、ディレクトリレスシステムとなることにより、計算資源とディレクトリ間の動的な情報交換やルックアップ手続きが削減され、余分なトラフィックの削減につながる。また、意味情報による転送機能とイベントプレースを用いることで、ブロードキャスト検索が改善され、さらにトラフィック量の軽減を図ることができる。
【００５０】
また、計算資源を処理するアプリケーションやセキュリティ度によってイベントプレースを分けることが可能になり、システムを多様化でき、サービスのバリエーションを増大させることが出来る。また、計算資源の個々の障害時においてもシステム全体に全く影響を与えず、サービスを継続することが可能になる。さらに、専用の計算資源以外にも一般ユーザの使用する端末も計算資源として使用することが可能になり、グリッドコンピューティングシステムのグローバル化に寄与する。
【００５１】
以上、本発明の好適な実施の形態の形態について説明したが、本発明のグリッドコンピューティングシステムは、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【００５２】
また、本願における計算資源及び依頼元コンピュータは、パーソナルコンピュータ、ＰＤＡ（Personal Digital Assistant ）、携帯電話等の計算機能とネットワーク接続機能を有するハードウエアならば名称、形態は問わない。また、ネットワークは有線、無線のいずれの接続方法のものも含む。
【００５３】
［ＳＩＯＮｅｔについての補足説明］
ここで、本発明の実施の形態で使用している「ＳＩＯＮｅｔ」について、補足して説明しておく。
図８に示すように、ＳＩＯＮｅｔは、意味情報（メタデータ）に基づいてイベントを配送するメタネットワークであり、ネットワーク上に超分散する不特定多数のエンティティの中から特定のエンティティを動的に検索・発見することが出来る。すなわら、ＳＩＯＮｅｔは、従来のネットワークで用いていた宛先アドレス（誰に対して送信する）の代わりに、意味情報（どういう人に対して送信する）に基づいてイベントを配送するネットワークである。
【００５４】
ＳＩＯＮｅｔでは、ＳＩＯＮｅｔエンティティの定義として、パーソナルコンピュータ、ワークステーション、情報携帯端末、携帯電話などのあらゆるコンピュータを総称して、ホストと呼ぶ。さらに、ＳＩＯＮｅｔソフトウエアを実装したホストを、「ＳＩＯＮｅｔエンティティ」もしくは単に「エンティティ」と呼ぶ。エンティティは、ＳＩＯＮｅｔソフトウエアを実装したホストを、ＳＩＯＮｅｔにおける自律分散協調の単位として仮想化したものである。
【００５５】
また、エンティティは、ＳＥ（サービスエンティティ）、ＮＥ（ネットワークエンティティ）、ＳＮＥ（サービスネットワークエンティティ）３つのタイプに分類される。
ＳＥ（サービスエンティティ）は、サービスとして振る舞うエンティティであり、Ｐ２Ｐアプリケーションをエンティティ内の内部エンティティとして仮想化したものである。  ＮＥ（ネットワークエンティティ）は、ネットワーク構成要素として振る舞うエンティティであり、ＳＩＯＮｅｔを構築・運営するための内部エンティティであり、複数のＮＥ（ネットワークエンティティ）が分散協調することにより、ネットワークが自己組織化される。
ＳＮＥ（サービスネットワークエンティティ）は、サービスおよびネットワーク構成要素の両者の観点から振る舞うエンティティであり、ピュア型Ｐ２Ｐネットワークを構築する際に用いられ、これらが自律分散することにより、ネットワークを自己組織化する。
【００５６】
なお、図８に示すように、イベントは、意味情報（Semantic Information）とデータから構成され、意味情報としては、例えば、「東京近郊在住」、「クラシックミュージックが趣味の人」、「明治通りを今歩いている人」、「旅行のコンテンツ保有者」などがある。なお、イベントの構造については後述する。
【００５７】
また、図９は、ＳＩＯＮｅｔのメカニズムについて説明するための図であり、ＳＩＯＮｅｔは複数のイベントプレースからなり、イベントプレースには複数のエンティティが含まれる。また、ＳＩＯＮｅｔは、ＳＩＯＮｅｔの構成要素を含めたすべてのエンティティが自律分散協調することにより、ネットワークが自己組織化される自律分散協調ネットワーク（自律分散コンピュータ）である。ＳＩＯＮｅｔのネットワーク構成要素となるネットワークエンティティとしては、「意味情報スイッチ（ＳＩ−ＳＷ）」、「意味情報ルータ（ＳＩ−Ｒ）」、「意味情報ゲートウエイ（ＳＩ−ＧＷ）」があり、その他の構成要素としては、「セッション」、「シェアードリンク（ＳＬ）」などがあり、これらが必要に応じて自己組織化することにより、セキュアーでスケーラブルなＰ２Ｐネットワークをボトムアップアプローチで構築することができる。
【００５８】
なお、意味情報スイッチ（ＳＩ−ＳＷ）は、意味情報に基づいて、イベントをスイッチングするスイッチング機構を提供するネットワークエンティティ（ＮＥ）であり、意味情報ルータ（ＳＩ−Ｒ）は、意味情報に基づいて、ＳＩ−ＳＷ間のイベントルーティング（イベント転送）を行うネットワークエンティティ（ＮＥ）であり、意味情報ゲートウェイ（ＳＩ−ＧＷ）は、イベントプレース間のイベント共有を実現するためのネットワークエンティティ（ＮＥ）である。 
【００５９】
また、「セッション」とは、意味情報スイッチ（ＳＩ−ＳＷ）とサービスエンティティ（ＳＥ）間のコネクションであり、サービスエンティティ（ＳＥ）は、セッションを介してのみイベントの送受信を行うことができる。なお、セッションには、イベントの送信セッション、受信セッション、送受信セッションの３タイプがある。また、「シェアードリンク（共有リンク）」とは、複数の異なるエンティティ間において、双方向のイベント共有を行うための概念である。例えば、あるエンティティが他のエンティティに対して、シェアードリンク（ＳＬ： Shared Link）の確立要求を行うことによりエンティティグループ（イベントプレース）が形成される。
【００６０】
図１０は、ＳＩＯＮｅｔのイベントの構造の例を示す図であり、ＳＩＯＮｅｔイベントは、制御情報部（ＣＩＰａｒｔ（Control Information Part））と、意味情報部（ＳＩＰａｒｔ（Semantic Information Part））と、データ部（ＤＡＴＡＰａｒｔ）から構成される。
制御情報部（ＣＩＰａｒｔ）は、ＳＩＯＮｅｔの実効制御用の制御フィールドであり、サービスエンティティ（ＳＥ）には開放されていない。意味情報部（ＳＩＰａｒｔ）には、送信データの意味情報（語彙とその値）、および意味情報の語彙概念（イベントタイプ）が格納される。データ部（ＤＡＴＡＰａｒｔ）には、送信データ（テキストデータ、バイナリデータなど様々なデータやプログラム）が格納される。
なお、刺激とは、イベントを送信することである。反応とは、フィルタがイベントに合致することである。発火とは、合致したフィルタを登録したエンティティを起動してイベント通知することである。
【００６１】
また、図１１は、意味情報スイッチとフィルタについて説明するための図であり、意味情報スイッチ（ＳＩ−ＳＷ）は、意味情報に基づきイベントをスイッチングするスイッチング機構を提供する。サービスエンティティ（ＳＥ）は、セッション（ＳＩ−ＳＷとＳＥ間のコネクション）を介してイベントの送受信を行う。
【００６２】
また、フィルタは、サービスエンティティ（ＳＥ）が、セッションを介してイベントの取得条件を意味情報スイッチ（ＳＩ−ＳＷ）に登録する内容のことである。取得したいイベントのイベントタイプ（イベントの語彙概念）や意味情報との照合条件を設定する。
【００６３】
また、図１２は、イベントプレースと意味情報ゲートウエイについて説明するための図であり、イベントプレースは、意味情報スイッチ（ＳＩ−ＳＷ）の集合体である。
イベントプレースはグルーピンクの概念であり、セキュリティの保障単位、負荷分散の単位、グループのグループ化などとして利用される概念であり、以下の目的を達成する。
第１に、イベントの転送範囲を制限する。すなわち、刺激と発火に基づく連鎖反応の波及範囲を制限する。
第２に、イベントルーティングの対象範囲を制限する。シェアードリンクにより接続された意味情報スイッチ（ＳＩ−ＳＷ）の集合であり、イベントプレースことにリンクトポロジーやイベントルーティング方式を選択することができる。
第３に、意味情報体系の一意性が保障される空間であり、取り扱うイベントタイプの爆発的増大を抑止する。
【００６４】
また、意味情報ゲートウェイ（ＳＩ−ＧＷ）は、イベントプレース間のイベント共有を実現するためのネットワークエンティティ（ＮＥ）である。これにより、用途や目的の異なるイベントプレース間の連携が可能になる。
【産業上の利用可能性】
【００６５】
本発明は、グリッドコンピューティングシステム、及びグリッドコンピューティングシステムにおける計算資源収集方法などに適用できる。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施の形態におけるグリッドコンピューティングシステムについて説明するための図。
【図２】グリッドコンピューティングシステムの構成要素の機能について説明するための図。
【図３】計算資源（エンティティ）におけるソフトウエア構造を示す図。
【図４】ポータルサイトにおけるソフトウエア構造を示す図。
【図５】ネットワークの構成例について説明するための図。
【図６】処理イメージを表すシーケンスの例を示す図。
【図７】意味情報の例を示す図。
【図８】ＳＩＯＮｅｔの概要を示す図。
【図９】ＳＩＯＮｅｔのメカニズムについて説明するための図。
【図１０】イベントの構造の例を示す図。
【図１１】意味情報スイッチとフィルタについて説明するための図。
【図１２】イベントプレースと意味情報ゲートウエイについて説明するための図。
【図１３】従来のグリッドコンピューティングシステムの一般的な資源管理機構を示す図。
【符号の説明】
【００６７】
１０１〜１１３ 計算資源
１２０ ポータルサイト
１３０ 依頼元コンピュータ
２００ 計算資源
３００ ポータルサイト
４０１〜４０３ ポータルサイト
４１０ 依頼元コンピュータ
５０１ ポータルサイト
５１０ 依頼元コンピュータ
【図１】
2005044274.tif 000003
【図２】
2005044274.tif 000004
【図３】
2005044274.tif 000005
【図４】
2005044274.tif 000006
【図５】
2005044274.tif 000007
【図６】
2005044274.tif 000008
【図７】
2005044274.tif 000009
【図８】
2005044274.tif 000010
【図９】
2005044274.tif 000011
【図１０】
2005044274.tif 000012
【図１１】
2005044274.tif 000013
【図１２】
2005044274.tif 000014
【図１３】
2005044274.tif 000015