(57)【要約】【課題】  ２回目以降の検索を効率的に行うことを可能にする利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステム、及び、コンピュータプログラムを提供する。【解決手段】  クライアントピア１ａは、検索を行い、その結果発見され使用されたピア１ｄのＩＰアドレスを保持してピア１ｄに対して単方向の論理リンク（発信リンク）を張り、クライアントピア１ａの作成した検索要求が１ホップでクライアント１ｄへ伝播するようにする。また、クライアントピアによって発見され利用されたピア間で双方向の論理リンク（転送リンク）を張る。【選択図】  図１
2005251160.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上に散在する複数の計算資源を動的に結合しバーチャルマシンを構成する利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステムにおいて、
検索元の計算機は、
単方向の論理リンクである発信リンクを張った計算機を列記した発信対象計算機リストを保持する発信対象計算機リスト保持手段と、
前記発信対象計算機リストに基づいて各発信リンクを介して発信リンクを張った計算機に対して自身の作成した検索要求を行う検索要求手段と、
前記発信対象計算機リストを参照して検索の結果新たに発見され利用される計算機を該発信対象計算機リストに登録して発信リンクの張替えを行う発信リンク張替え手段と、
を備えていることを特徴とする利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステム。
【請求項２】
前記検索元の計算機は、
前記発信リンク張替え手段により発信リンクを張り替える際に予め定められた許容発信リンク数より現在張られている発信リンク数が小さいかを判断する発信リンク数判断手段と、
前記発信リンク数判断手段により前記許容発信リンク数より前記現在張られている発信リンク数が小さくないと判断されると現在張られている発信リンクの少なくとも一つを削除する発信リンク削除手段と、
を更に備えたことを特徴とする請求項１に記載の利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステム。
【請求項３】
前記検索元の計算機は、
前記発信リンク張替え手段により発信リンクを張る対象となった計算機に対して前記発信対象計算機リストを含む第１転送リンク張替え要求を行う第１張替え要求手段
を更に備え、
前記発信リンクを張る対象となった計算機は、
論理リンクである転送リンクを張った計算機を列記した第１転送対象計算機リストを保持する第１転送対象計算機リスト保持手段と、
前記発信対象計算機リストに基づいて各発信リンクを介して、前記第１転送対象計算機リストに基づいて各転送リンクを介して、計算機に対して受け取った検索要求を転送する第１検索要求転送手段と、
前記検索元の計算機から受け取る前記第１転送リンク張替え要求に含まれる発信対象計算機リストに含まれる計算機を前記第１転送対象計算機リストに登録して転送リンクの張替えを行う第１転送リンク張替え手段と、
前記第１転送リンク張替え手段により転送リンクを張る対象となった計算機に対して第２転送リンク張替え要求を行う第２張替え要求手段と、
を備え、
前記転送リンクを張る対象となった計算機は、
論理リンクである転送リンクを張った計算機を列記した第２転送対象計算機リストを保持する第２転送対象計算機リスト保持手段と、
前記発信対象計算機リストに基づいて各発信リンクを介して、前記第２転送対象計算機リストに基づいて各転送リンクを介して、計算機に対して受け取った検索要求を転送する第２検索要求転送手段と、
前記第２転送リンク張替え要求の送信元の計算機を前記第２転送対象計算機リストに登録して転送リンクの張替えを行う第２転送リンク張替え手段と、
を備えたことを特徴とする請求項１又は請求項２に記載の利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステム。
【請求項４】
前記発信リンクを張る対象となった計算機は、
前記第１転送リンク張替え手段により転送リンクを張り替える際に予め定められた第１許容転送リンク数より現在張られている転送リンク数が小さいかを判断する第１転送リンク数判断手段と、
前記第１転送リンク数判断手段により前記第１許容転送リンク数より前記現在張られている転送リンク数が小さくないと判断されると現在張られている転送リンクの少なくとも一つを削除する第１転送リンク削除手段と、
を更に備えたことを特徴とする請求項３に記載の利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステム。
【請求項５】
前記転送リンクを張る対象となった計算機は、
前記第２転送リンク張替え手段により転送リンクを張り替える際に予め定められた第２許容転送リンク数より現在張られている転送リンク数が小さいかを判断する第２転送リンク数判断手段と、
前記第２転送リンク数判断手段により前記第２許容転送リンク数より前記現在張られている転送リンク数が小さくないと判断されると現在張られている転送リンクの少なくとも一つを削除する第２転送リンク削除手段と、
を更に備えたことを特徴とする請求項３又は請求項４に記載の利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステム。
【請求項６】
ネットワーク上に散在する複数の計算資源を動的に結合しバーチャルマシンを構成する利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステムにおける計算機に用いられるコンピュータプログラムであって、
単方向の論理リンクである発信リンクを張った計算機を列記した発信対象計算機リストに基づき、各発信リンクを介して発信リンクを張った計算機に対して自身の作成した検索要求を行う検索要求ステップと、
前記発信対象計算機リストを参照して検索の結果新たに発見され利用される計算機を該発信対象計算機リストに登録して発信リンクの張替えを行う発信リンク張替えステップと、
をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項７】
前記発信リンク張替えステップにおいて発信リンクを張り替える際に予め定められた許容発信リンク数より現在張られている発信リンク数が小さいかを判断する発信リンク数判断ステップと、
前記発信リンク数判断ステップにおいて前記許容発信リンク数より前記現在張られている発信リンク数が小さくないと判断されると現在張られている発信リンクの少なくとも一つを削除する発信リンク削除ステップと、
をコンピュータに実行させることを特徴とする請求項６に記載のコンピュータプログラム。
【請求項８】
前記発信リンク張替えステップにおいて発信リンクを張る対象となった計算機に対して前記発信対象計算機リストを含む転送リンク張替え要求を行う張替え要求ステップと、
をコンピュータに実行させることを特徴とする請求項６または請求項７に記載のコンピュータプログラム。
【請求項９】
前記検索要求ステップにおいては、計算資源の静的状態あるいは動的状態に関する要件を示す検索キーによる検索要求を行い、
前記検索要求の結果として、前記検索キーで示される要件を満たす他の計算機からの結果通知を受信する結果受信ステップと、
をコンピュータに実行させることを特徴とする請求項６から請求項８のいずれかの項に記載のコンピュータプログラム。
【請求項１０】
ネットワーク上に散在する複数の計算資源を動的に結合しバーチャルマシンを構成する利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステムにおける計算機に用いられるコンピュータプログラムであって、
他の計算機から受け取った検索要求を、単方向の論理リンクである発信リンクを張った計算機を列記した発信対象計算機リストに基づいて各発信リンクを介して、さらに、双方向の論理リンクである転送リンクを張った計算機を列記した転送対象計算機リストに基づいて各転送リンクを介して、さらに他の計算機へ転送する検索要求転送ステップと、
他の計算機から転送リンク張替え要求を受け取り、この受け取った転送リンク張替え要求に含まれる発信対象計算機リスト内に列記されている計算機を、前記転送対象計算機リストに登録して転送リンクの張替えを行う転送リンク張替えステップと、
前記転送リンク張替えステップにより転送リンクを張る対象となった計算機に対して転送リンク張替え要求を行う張替え要求ステップと、
をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項１１】
前記転送リンク張替えステップにおいて転送リンクを張り替える際に予め定められた許容転送リンク数より現在張られている転送リンク数が小さいかを判断する転送リンク数判断ステップと、
前記転送リンク数判断ステップにおいて前記許容転送リンク数より前記現在張られている転送リンク数が小さくないと判断されると現在張られている転送リンクの少なくとも一つを削除する転送リンク削除ステップと、
をコンピュータに実行させることを特徴とする請求項１０に記載のコンピュータプログラム。
【請求項１２】
自身の計算資源の静的状態あるいは動的状態を示す情報を収集する計算処理資源収集ステップと、
前記収集した情報が示す計算資源の静的状態あるいは動的状態が、前記検索要求に含まれる検索キーが示す計算資源の静的状態あるいは動的状態に関する要件を満たす場合に結果通知を返す結果通知ステップと、
前記結果通知に対応して処理の依頼を受け、依頼された処理を行う計算処理割当ステップと、
をコンピュータに実行させることを特徴とする請求項１０または請求項１１に記載のコンピュータプログラム。
【請求項１３】
ネットワーク上に散在する複数の計算資源を動的に結合しバーチャルマシンを構成する利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステムにおける計算機に用いられるコンピュータプログラムであって、
他の計算機から受け取った検索要求を、単方向の論理リンクである発信リンクを張った計算機を列記した発信対象計算機リストに基づいて各発信リンクを介して、さらに、双方向の論理リンクである転送リンクを張った計算機を列記した転送対象計算機リストに基づいて各転送リンクを介して、さらに他の計算機へ転送する検索要求転送ステップと、
転送リンク張替え要求を受け取り、この受け取った転送リンク張替え要求の送信元の計算機を前記転送対象計算機リストに登録して転送リンクの張替えを行う転送リンク張替えステップと、
をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項１４】
前記転送リンク張替えステップにおいて転送リンクを張り替える際に予め定められた許容転送リンク数より現在張られている転送リンク数が小さいかを判断する転送リンク数判断ステップと、
前記転送リンク数判断ステップにおいて前記許容転送リンク数より前記現在張られている転送リンク数が小さくないと判断されると現在張られている転送リンクの少なくとも一つを削除する転送リンク削除ステップと、
をコンピュータに実行させることを特徴とする請求項１３に記載のコンピュータプログラム。
【請求項１５】
自身の計算資源の静的状態あるいは動的状態を示す情報を収集する計算処理資源収集ステップと、
前記収集した情報が示す計算資源の静的状態あるいは動的状態が、前記検索要求に含まれる検索キーが示す計算資源の静的状態あるいは動的状態に関する要件を満たす場合に結果通知を返す結果通知ステップと、
前記結果通知に対応して処理の依頼を受け、依頼された処理を行う計算処理割当ステップと、
をコンピュータに実行させることを特徴とする請求項１３または請求項１４に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上に散在する複数の計算リソースを動的に結合しバーチャルマシンを構成する利用形態指向Ｐ２Ｐ型グリッド（Ｇｒｉｄ）コンピューティングシステム、及び、コンピュータプログラムに関する。
【背景技術】
【０００２】
Ｐ２Ｐ（Ｐｅｅｒ  ｔｏ  ｐｅｅｒ）とは、個々のコンピュータがサーバを介さないで対等にやり取りするネットワークの仕組みであり、主にファイル共有のための検索を目的として利用されている。
Ｐ２Ｐでのファイル検索の方法は、２種類に大別される。その一つは、情報のみを一元的に管理するサーバを利用し、サーバに問い合わせをしてからファイルの実体をダウンロードしにいくハイブリッド型方式（Ｎａｐｓｔｅｒ（登録商標）方式とも呼ばれる。）である。もう一つは、サーバを用いずに検索からダウンロードまで行うピュア型方式（Ｇｎｕｔｅｌｌａ（登録商標）方式とも呼ばれる。）である（非特許文献１参照）。
【特許文献１】「日経ネットワーク」２００３年３月号、ｐ．１２０−ｐ．１３２
【発明の開示】
【発明が解決しようとする課題】
【０００３】
Ｐ２Ｐは、ファイル共有をその主たる目的としているため、検索の最適化に対しては、検索対象となるファイルのレプリカを各所に持たせる手法により、実現されている。
ストリーミングデータを共有するシェアキャストという方式では、ストリーミングデータファイルを転送する度に、転送を担ったマシンがそのレプリカを保持している。
このような手法では、グリッドコンピューティングの計算リソース収集という目的では効率化にならない。また、Ｗｉｎｎｙ（登録商標）と呼ばれるＰ２Ｐソフトでは、検索キーと呼ばれるメタデータを配布して、自分の存在を広く公開しているが、この手法では最初の計算機の検索を効率化できるだけで、それ以降の検索を効率化するに至っていない。
【０００４】
そこで、本発明は、２回目以降の検索を効率的に行うことを可能にする利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステム、及び、コンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
請求項１に記載の利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステムは、ネットワーク上に散在する複数の計算資源を動的に結合しバーチャルマシンを構成する利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステムにおいて、検索元の計算機は、単方向の論理リンクである発信リンクを張った計算機を列記した発信対象計算機リストを保持する発信対象計算機リスト保持手段と、前記発信対象計算機リストに基づいて各発信リンクを介して発信リンクを張った計算機に対して自身の作成した検索要求を行う検索要求手段と、前記発信対象計算機リストを参照して検索の結果新たに発見され利用される計算機を該発信対象計算機リストに登録して発信リンクの張替えを行う発信リンク張替え手段と、を備えていることを特徴とする。
【０００６】
請求項２に記載の利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステムは、前記検索元の計算機は、前記発信リンク張替え手段により発信リンクを張り替える際に予め定められた許容発信リンク数より現在張られている発信リンク数が小さいかを判断する発信リンク数判断手段と、前記発信リンク数判断手段により前記許容発信リンク数より前記現在張られている発信リンク数が小さくないと判断されると現在張られている発信リンクの少なくとも一つを削除する発信リンク削除手段と、を更に備えたことを特徴とする。
【０００７】
請求項３に記載の利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステムは、前記検索元の計算機は、前記発信リンク張替え手段により発信リンクを張る対象となった計算機に対して前記発信対象計算機リストを含む第１転送リンク張替え要求を行う第１張替え要求手段を更に備え、前記発信リンクを張る対象となった計算機は、論理リンクである転送リンクを張った計算機を列記した第１転送対象計算機リストを保持する第１転送対象計算機リスト保持手段と、前記発信対象計算機リストに基づいて各発信リンクを介して、前記第１転送対象計算機リストに基づいて各転送リンクを介して、計算機に対して受け取った検索要求を転送する第１検索要求転送手段と、前記検索元の計算機から受け取る前記第１転送リンク張替え要求に含まれる発信対象計算機リストに含まれる計算機を前記第１転送対象計算機リストに登録して転送リンクの張替えを行う第１転送リンク張替え手段と、前記第１転送リンク張替え手段により転送リンクを張る対象となった計算機に対して第２転送リンク張替え要求を行う第２張替え要求手段と、を備え、前記転送リンクを張る対象となった計算機は、論理リンクである転送リンクを張った計算機を列記した第２転送対象計算機リストを保持する第２転送対象計算機リスト保持手段と、前記発信対象計算機リストに基づいて各発信リンクを介して、前記第２転送対象計算機リストに基づいて各転送リンクを介して、計算機に対して受け取った検索要求を転送する第２検索要求転送手段と、前記第２転送リンク張替え要求の送信元の計算機を前記第２転送対象計算機リストに登録して転送リンクの張替えを行う第２転送リンク張替え手段と、を備えたことを特徴とする。
【０００８】
請求項４に記載の利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステムは、前記発信リンクを張る対象となった計算機は、前記第１転送リンク張替え手段により転送リンクを張り替える際に予め定められた第１許容転送リンク数より現在張られている転送リンク数が小さいかを判断する第１転送リンク数判断手段と、前記第１転送リンク数判断手段により前記第１許容転送リンク数より前記現在張られている転送リンク数が小さくないと判断されると現在張られている転送リンクの少なくとも一つを削除する第１転送リンク削除手段と、を更に備えたことを特徴とする。
【０００９】
請求項５に記載の利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステムは、前記転送リンクを張る対象となった計算機は、前記第２転送リンク張替え手段により転送リンクを張り替える際に予め定められた第２許容転送リンク数より現在張られている転送リンク数が小さいかを判断する第２転送リンク数判断手段と、前記第２転送リンク数判断手段により前記第２許容転送リンク数より前記現在張られている転送リンク数が小さくないと判断されると現在張られている転送リンクの少なくとも一つを削除する第２転送リンク削除手段と、を更に備えたことを特徴とする。
【００１０】
請求項６に記載のコンピュータプログラムは、ネットワーク上に散在する複数の計算資源を動的に結合しバーチャルマシンを構成する利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステムにおける計算機に用いられるコンピュータプログラムであって、単方向の論理リンクである発信リンクを張った計算機を列記した発信対象計算機リストに基づき、各発信リンクを介して発信リンクを張った計算機に対して自身の作成した検索要求を行う検索要求ステップと、前記発信対象計算機リストを参照して検索の結果新たに発見され利用される計算機を該発信対象計算機リストに登録して発信リンクの張替えを行う発信リンク張替えステップと、をコンピュータに実行させることを特徴とする。
【００１１】
請求項７に記載のコンピュータプログラムは、前記発信リンク張替えステップにおいて発信リンクを張り替える際に予め定められた許容発信リンク数より現在張られている発信リンク数が小さいかを判断する発信リンク数判断ステップと、前記発信リンク数判断ステップにおいて前記許容発信リンク数より前記現在張られている発信リンク数が小さくないと判断されると現在張られている発信リンクの少なくとも一つを削除する発信リンク削除ステップと、をコンピュータに実行させることを特徴とする。
【００１２】
請求項８に記載のコンピュータプログラムは、前記発信リンク張替えステップにおいて発信リンクを張る対象となった計算機に対して前記発信対象計算機リストを含む転送リンク張替え要求を行う張替え要求ステップと、をコンピュータに実行させることを特徴とする。
【００１３】
請求項９に記載のコンピュータプログラムは、前記検索要求ステップにおいては、計算資源の静的状態あるいは動的状態に関する要件を示す検索キーによる検索要求を行い、前記検索要求の結果として、前記検索キーで示される要件を満たす他の計算機からの結果通知を受信する結果受信ステップと、をコンピュータに実行させることを特徴とする。
【００１４】
請求項１０に記載のコンピュータプログラムは、ネットワーク上に散在する複数の計算資源を動的に結合しバーチャルマシンを構成する利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステムにおける計算機に用いられるコンピュータプログラムであって、他の計算機から受け取った検索要求を、単方向の論理リンクである発信リンクを張った計算機を列記した発信対象計算機リストに基づいて各発信リンクを介して、さらに、双方向の論理リンクである転送リンクを張った計算機を列記した転送対象計算機リストに基づいて各転送リンクを介して、さらに他の計算機へ転送する検索要求転送ステップと、他の計算機から転送リンク張替え要求を受け取り、この受け取った転送リンク張替え要求に含まれる発信対象計算機リスト内に列記されている計算機を、前記転送対象計算機リストに登録して転送リンクの張替えを行う転送リンク張替えステップと、前記転送リンク張替えステップにより転送リンクを張る対象となった計算機に対して転送リンク張替え要求を行う張替え要求ステップと、をコンピュータに実行させることを特徴とする。
【００１５】
請求項１１に記載のコンピュータプログラムは、前記転送リンク張替えステップにおいて転送リンクを張り替える際に予め定められた許容転送リンク数より現在張られている転送リンク数が小さいかを判断する転送リンク数判断ステップと、前記転送リンク数判断ステップにおいて前記許容転送リンク数より前記現在張られている転送リンク数が小さくないと判断されると現在張られている転送リンクの少なくとも一つを削除する転送リンク削除ステップと、をコンピュータに実行させることを特徴とする。
【００１６】
請求項１２に記載のコンピュータプログラムは、自身の計算資源の静的状態あるいは動的状態を示す情報を収集する計算処理資源収集ステップと、前記収集した情報が示す計算資源の静的状態あるいは動的状態が、前記検索要求に含まれる検索キーが示す計算資源の静的状態あるいは動的状態に関する要件を満たす場合に結果通知を返す結果通知ステップと、前記結果通知に対応して処理の依頼を受け、依頼された処理を行う計算処理割当ステップと、をコンピュータに実行させることを特徴とする。
【００１７】
請求項１３に記載のコンピュータプログラムは、ネットワーク上に散在する複数の計算資源を動的に結合しバーチャルマシンを構成する利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステムにおける計算機に用いられるコンピュータプログラムであって、他の計算機から受け取った検索要求を、単方向の論理リンクである発信リンクを張った計算機を列記した発信対象計算機リストに基づいて各発信リンクを介して、さらに、双方向の論理リンクである転送リンクを張った計算機を列記した転送対象計算機リストに基づいて各転送リンクを介して、さらに他の計算機へ転送する検索要求転送ステップと、転送リンク張替え要求を受け取り、この受け取った転送リンク張替え要求の送信元の計算機を前記転送対象計算機リストに登録して転送リンクの張替えを行う転送リンク張替えステップと、をコンピュータに実行させることを特徴とする。
【００１８】
請求項１４に記載のコンピュータプログラムは、前記転送リンク張替えステップにおいて転送リンクを張り替える際に予め定められた許容転送リンク数より現在張られている転送リンク数が小さいかを判断する転送リンク数判断ステップと、前記転送リンク数判断ステップにおいて前記許容転送リンク数より前記現在張られている転送リンク数が小さくないと判断されると現在張られている転送リンクの少なくとも一つを削除する転送リンク削除ステップと、をコンピュータに実行させることを特徴とする。
【００１９】
請求項１５に記載のコンピュータプログラムは、自身の計算資源の静的状態あるいは動的状態を示す情報を収集する計算処理資源収集ステップと、前記収集した情報が示す計算資源の静的状態あるいは動的状態が、前記検索要求に含まれる検索キーが示す計算資源の静的状態あるいは動的状態に関する要件を満たす場合に結果通知を返す結果通知ステップと、前記結果通知に対応して処理の依頼を受け、依頼された処理を行う計算処理割当ステップと、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００２０】
本発明によれば、検索元の計算機検索の結果発見され利用された計算機と発信リンクを張るため、発信リンクを張った後に自身の作成した検索要求を１ホップで以前の検索の結果発見され利用された計算機へ伝播させることが可能となり、発信リンクを張った後の検索を効率的に行うことが可能になる。また、転送リンクを張る発明においては、例えば類似した属性の計算機へ少ないホップ数で伝播することが可能になって転送リンクを張った後の検索を効率的に行うことが可能になる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の好適な実施の形態について図面を参照しつつ説明する。
【００２２】
＜グリッドコンピューティングシステムにおけるリンクの確立＞
本実施の形態における利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステムは、Ｇｎｕｔｅｌｌａ（登録商標）などのピュア型のＰ２Ｐシステムを用いて構成されている。尚、利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステムを構成する計算機（ピア）の名称をその立場に応じて適宜使い分ける。
【００２３】
本実施の形態は、下記に示す事項（時間的局所性、空間的局所性）を考慮し、各クライアントにとって高確率にヒットする計算資源を論理リンク空間上で局所化することにより検索効率を向上させるものである。
【００２４】
我々は計算機を利用するとき、ある時間の範囲内ではその利用目的が比較的限定される。例えば、ある数値流体計算を行うユーザは次の日も同じ計算資源を使って、数値流体計算を行う可能性が高いと考えられる。これは、本実施の形態の利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステムにおいても同様のことが考えられる。即ち、ピア（クライアントピア）が数ホップを経由して計算資源を発見し利用したとすると、一度発見され利用された計算資源は、同じピア（クライアントピア）に、短時間の内に再び利用される可能性が高いと考えられる。尚、これをユーザの利用特徴の時間的局所性と呼ぶこととする。
【００２５】
また、クライアントが計算機を利用する目的は、趣味、職業などのクライアントの属性と高い相関がある。例えば、多くの工学部の学生は、レポートの作成のために表計算のアプリケーションを頻繁に利用する、或いは、ＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）に興味があるユーザはＣＧの計算を可能とする環境を備えた計算資源を頻繁に必要とする等である。即ち、ユーザにとって、ネットワーク上に存在する計算資源の全てを必ずしも必要とするのではなく、ある局所的な計算資源群のみを必要としていると考えられる。
尚、この計算資源群から形成される空間をユーザの利用空間と呼び、その空間が局所的であることを空間的局所性と呼ぶ。
【００２６】
以下、本実施の形態の利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステムにおける、上記時間的局所性を利用した論理リンクの再構築について図１を参照しつつ説明する。図１は利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステムにおける時間的局所性を利用した動的リンクの再構築の概略を説明するための図である。
【００２７】
図１にはピアとして１ａ〜１ｅが図示されている。図１（ａ）の状態で、その一つのピア１ａによって検索が行われ、ピア１ｄが発見されて利用されたとする。すると、検索を行ったピア（クライアントピア）１ａは、ピア１ｄのＩＰ（Ｉｎｔｅｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスをリストとして保持し、ピア１ｄをピア１ａの発信ピアとして論理リンク（以下、発信リンクと言う。）を張る。この状態が図１（ｂ）に示されている。これにより、これ以降、ピア（クライアントピア）１ａの作成した検索要求は、ピア１ａからピア１ｄに１ホップで伝播することになり、検索効率の向上が実現される。但し、図１（ｂ）の発信リンクは、ピア（クライアントピア）１ａにとって高確率でヒットするピアに接続するものであるが、ピア（クライアントピア）１ａの発信ピアであるピア１ｄにとってピア１ａは高確率にヒットする計算資源であることは保障されていないため、ピア１ａからピア１ｄへの単方向リンクとする。
尚、新たに発信リンクを張ると予め定められた最大の許容発信リンク数を超えるような場合には、最近もっとも利用されていないピアの発信リンクを削除した後に新たな発信リンクを張る。
【００２８】
以下、本実施の形態の利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステムにおける、上記空間的局所性を利用した論理リンクの再構築について図２を参照しつつ説明する。図２は利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステムにおける空間的局所性を利用した動的リンクの再構築の概略を説明するための図である。
【００２９】
図２にはピアとして２ａ〜２ｊが図示されている。図２の状態で、その一つのピア２ａによって検索が行われ、ピア２ｃ，２ｆ，２ｊが発見されて利用されたとする。すると、ピア２ｃ,２ｆ,２ｊは、互いのＩＰアドレスを取得し（この詳細は後述）、互いに論理リンク（以下、転送リンクと言う。）を張る。この状態が図２（ｂ）に示されている。この転送リンクはリンクを張った時点では双方向リンクである。
尚、新たに転送リンクを張ると予め定められた最大の許容転送リンク数を超えるような場合には、転送リンクの構築が最も古いリンクを削除した後に新たな転送リンクを張る。
【００３０】
さらに、空間的局所性の連鎖による緩やかな関係を持つクラスタ（利用空間）の形成について図３を参照しつつ説明する。図３は空間的局所性の連鎖による緩やかな関係を持つクラスタの形成を説明するための図である。図３のピア間を結ぶ矢印は転送リンクを示している。
【００３１】
図３にはクラスタとしてクラスタ１Ａ，１Ｂ，１Ｃが図示されており、クラスタ１Ａ，１Ｂ，１Ｃは、夫々、検索元のピア（クライアントピア）が異なり、図２で説明した空間的局所性を利用した論理リンクの再構築により形成されたものである。
図３の例では、クラスタ１Ａにはピア３ａ〜３ｇが含まれており、クラスタ１Ｂにはピア３ｆ〜３ｌが含まれており、クラスタ１Ｃにはピア３ｌ〜３ｐが含まれている。そして、ピア３ｆ，３ｇの夫々はクラスタ１Ａ，１Ｂの双方に含まれ、ピア３ｌはクラスタ１Ｂ，１Ｃの双方に含まれている。複数のクラスタに含まれているピアとそれに張られた転送リンクの存在とによって、例えば検索要求がクラスタ１Ａのみ形成するピアからクラスタ１Ｂのみ形成するピアへ、クラスタ１Ａを形成するピアからクラスタ１Ｃを形成するピアへ少ない数のホップで伝播することが可能になる。
【００３２】
例えば、クラスタ１Ａとクラスタ１Ｂとの空間が重なりあっているため、クラスタ１Ａの形成起源となったピア（クライアントピア）のユーザと、クラスタ１Ｂの形成起源となったピア（クライアントピア）のユーザとは、同じ趣味或いは同じ職業など共通した属性を持ったユーザ同士であると考えられる。このため、クラスタ１Ａのユーザはクラスタ１Ｂに存在する計算資源をクラスタ１Ａ，１Ｂ以外のクラスタに存在する計算資源より利用する可能性が高いと考えられる。このことから、検索要求がクラスタ１Ａからクラスタ１Ｂへ少ない数のホップで伝播する本実施の形態のシステムは、検索効率の向上を実現したものと言える。
【００３３】
また、クラスタ１Ａとクラスタ１Ｃとの空間は直接重なり合っていないが、クラスタ１Ａとクラスタ１Ｃの夫々はクラスタ１Ｂと空間が重なりあっているため、例えば、クラスタ１Ａのユーザはクラスタ１Ｃに存在する計算資源をクラスタ１Ａ，１Ｂ，１Ｃ以外のクラスタに存在する計算資源より利用する可能性が高いと考えられる。このことから、検索要求がクラスタ１Ａからクラスタ１Ｃへ少ない数のホップで伝播する本実施の形態のシステムは、検索効率の向上を実現したものと言える。
【００３４】
以下、本実施の形態における利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステムにおいて行われる論理リンク（発信リンク、転送リンク）の張替え処理の手順について図面を参照しつつ説明する。
【００３５】
まず、ピア（クライアントピア）において行われる処理手順について図４を参照しつつ説明する。図４はクライアントピアの動作を示すフローチャートである。尚、発信リンクの張替えはキャッシュ機構内のブロック置換アルゴリズムとして有名なＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）の考えに基づき、最近もっとも利用していないピアの論理リンク（発信リンク）を削除する。また、初期段階において他のピアと発信リンクの張られていない状態では手動で発信リンクを張るピアを設定し、或いは、検索要求をブロードキャストして発見され利用されたピアと発信リンクを張るようにする。
【００３６】
まず、計算資源を発見しようとするピア（クライアントピア）は、検索キーと検索範囲（ホップ数）を決定し、それに基づいた検索要求を発信リンクを介して発信リンクにより接続されたピアへ送信し、結果通知待ち状態になる（ステップＳ１０１）。尚、検索要求は転送リンクを介して順次転送される。その後、クライアントピアはヒットしたリソースピアからの結果通知を受け取る（ステップＳ１０２）。そして、再度検索を行うか否かを判断し（ステップＳ１０３）、再度検索を行う場合（Ｓ１０３：ＹＥＳ）、ステップＳ１０１の処理へ戻り、ステップＳ１０１〜ステップＳ１０３の処理を繰り返し行う。一方、再度検索を行わない場合（Ｓ１０３：ＮＯ）、ステップＳ１０４の処理へ進む。クライアントピアにおいて、ユーザは結果通知を利用して利用する計算資源の選択を行う（ステップＳ１０４）。
【００３７】
クライアントピアは、現時点の発信リンク数Ｄｃｕｒｒｅｎｔが予め設定した許容発信リンク数Ｄｍａｘ未満であるかを判断する（ステップＳ１０５）。そして、現時点の発信リンク数Ｄｃｕｒｒｅｎｔが許容発信リンク数Ｄｍａｘ未満でない場合（Ｓ１０５：ＮＯ）、最近もっとも利用していないピアの発信リンクを削除し（ステップＳ１０６）、ステップＳ１０７の処理へ進む。これは、あまり利用されないピアに張った発信リンクを削除して、ネットワークの負荷が大きくなりすぎることを回避するものである。一方、現時点の発信リンク数Ｄｃｕｒｒｅｎｔが許容発信リンク数Ｄｍａｘ未満である場合（Ｓ１０５：ＹＥＳ）、ステップＳ１０７の処理へ進む。
【００３８】
クライアントピアは、検索で新たにヒットし利用するリソースピアのＩＰアドレスを発信ピアＩＤリスト（発信対象計算機リスト）に登録し、そのリソースピアとの間で発信リンクを構築する（ステップＳ１０７）。続いて、クライアントピアは、検索で新たにヒットし利用するリソースピアに対して発信ピアＩＤリストを含む転送リンク張替え要求（第１転送リスト張替え要求）を行う（ステップＳ１０８）。その後、クライアントピアはリソースピアの計算資源を利用してジョブの実行を行う。
【００３９】
次に、リソースピアにおいて行われる処理手順について図５から図８を参照しつつ説明する。図５から図８はリソースピアの動作を示すフローチャートである。
図５に示すように、リソースピアは、他のピアからの接続要求待ち状態にあり（ステップＳ２０１）、他のピアから要求データを受け取る（ステップＳ２０２）。受け取った要求データが転送リンク張替え要求であるか否かを判断する（ステップＳ２０３）。転送リンク張替え要求でない場合（Ｓ２０３：ＮＯ）、資源探索処理（図６参照）を実行する（ステップＳ２０４）。一方、転送リンク張替え要求である場合（Ｓ２０４：ＹＥＳ）、ステップＳ２０５の処理へ進む。
【００４０】
クライアントピアは転送リンク張替え要求に発信ピアＩＤリストが含まれているかを判断する（ステップＳ２０５）。発信ピアＩＤリストが含まれている場合（Ｓ２０５：ＹＥＳ）、第１転送リンク張替え処理（図７参照）を実行する（ステップＳ２０６）。一方、発信ピアＩＤリストが含まれていない場合（Ｓ２０５：ＮＯ）、第２転送リンク張替え処理（図８参照）を実行する（ステップＳ２０７）。
【００４１】
資源探索処理（Ｓ２０４）では、図６に示すように、受け取った検索要求を転送する必要があるかを判断する（ステップＳ３０１）。転送する必要がある場合（Ｓ３０１：ＹＥＳ）、発信ピアＩＤリスト及び転送ピアＩＤリストを参照して発信リンク及び転送リンクを介して検索要求を転送し（ステップＳ３０２）、ステップＳ３０３の処理へ進む。一方、転送する必要がない場合（Ｓ３０１：ＮＯ）、ステップＳ３０３の処理へ進む。
クライアントピアは検索要求に含まれる検索キーを基に自身が検索にヒットするか（内容一致するか）を判断する（ステップＳ３０３）。内容一致しない場合（Ｓ３０３：ＮＯ）、接続要求待ち（図５のステップＳ２０１）へ戻る。一方、内容一致する場合（Ｓ３０３：ＹＥＳ）、ステップＳ３０４の処理へ進み、検索元のクライアントピアへ結果（自身が検索にヒットする旨など）を通知し（ステップＳ３０４）、接続要求待ち（図５のステップＳ２０１）へ戻る。
【００４２】
第１転送リンク張替え処理（Ｓ２０６）は、クライアントピアから転送リンク張替え要求を受け取った場合であり、図７に示すように、リソースピアは現時点の転送リンク数Ｆｃｕｒｒｅｎｔが予め設定した許容転送リンク数Ｆｍａｘ未満であるかを判断する（ステップＳ４０１）。そして、現時点の転送リンク数Ｆｃｕｒｒｅｎｔが許容転送リンク数Ｆｍａｘ未満でない場合（Ｓ４０１：ＮＯ）、転送リンク構築の最も古い転送リンクを削除し（ステップＳ４０２）、ステップＳ４０３の処理へ進む。これは、転送リンクの数が大きくならないようにして、ネットワークの負荷が大きくなりすぎることを回避するものである。一方、現時点の転送リンク数Ｆｃｕｒｒｅｎｔが許容転送リンク数Ｆｍａｘ未満である場合（Ｓ４０１：ＹＥＳ）、ステップＳ４０３の処理へ進む。
【００４３】
リソースピアは転送リンク張替え要求に含まれる発信ピアＩＤリストを参照してそれに含まれるピアのうち転送リンクを張っていないピアのＩＰアドレスを転送ピアＩＤリスト（第１転送対象計算機リスト）に登録し、そのピアとの間で転送リンクの構築を行う（ステップＳ４０３）。続いて、リソースピアは、新たに転送リンクを構築したピアに対して転送リンク張替え要求（第２転送リンク張替え要求）を行い（ステップＳ４０４）、接続要求待ち（図５のステップＳ２０１）へ戻る。但し、この転送リンク張替え要求にはクライアントピアが行う転送リンク張替え要求とは異なり、発信ピアＩＤリストが含まれていない。
【００４４】
第２転送リンク張替え処理（Ｓ２０７）は、クライアントピアによって新たに発見され利用されたリソースピアから転送リンク張替え要求を受け取った場合であり、図８に示すように、リソースピアは現時点の転送リンク数Ｆｃｕｒｒｅｎｔが予め設定した許容転送リンク数Ｆｍａｘ未満であるかを判断する（ステップＳ５０１）。そして、現時点の転送リンク数Ｆｃｕｒｒｅｎｔが許容転送リンク数Ｆｍａｘ未満でない場合（Ｓ５０１：ＮＯ）、転送リンク構築の最も古い転送リンクを削除し（ステップＳ５０２）、ステップＳ５０３の処理へ進む。これは、転送リンクの数が大きくならないようにして、ネットワークの負荷が大きくなりすぎることを回避するものである。一方、現時点の転送リンク数Ｆｃｕｒｒｅｎｔが許容転送リンク数Ｆｍａｘ未満である場合（Ｓ５０１：ＹＥＳ）、ステップＳ５０３の処理へ進む。
【００４５】
リソースピアは受け取った転送リンク張替え要求の発信元のピアのＩＰアドレスを転送ピアＩＤリスト（第２転送対象計算機リスト）に登録し、転送リンク張替え要求の発信元のピアとの間で転送リンクの構築を行い（ステップＳ５０３）、接続要求待ち（図５のステップＳ２０１）へ戻る。
【００４６】
以下、上述した処理を実現するために必要となるピアの機能について図９を参照しつつ説明する。図９はピアの機能を説明するための機能ブロック図である。
ピアは、クライアントピアとして動作する際の各種処理を行うクライアント処理部１０と、リソースピアとして動作する際の各種処理を行うリソース処理部２０として機能する各部を有する。
【００４７】
クライアント処理部１０は、発信ピアＩＤリスト保持部１０ａと、検索要求処理部１０ｂと、発信リンク数判断部１０ｃと、発信リンク削除部１０ｄと、発信リンク張替え部１０ｅと、転送リンク張替え要求部１０ｆとして機能する各部を有している。
発信ピアＩＤリスト保持部１０ａは、各発信リンクの接続先のピアのＩＰアドレスを列記した発信ピアＩＤリストを保持する。
検索要求処理部１０ｂは、検索キーとホップ回数を含む検索要求を作成し、作成した検索要求を発信ピアＩＤリストを参照して発信リンクの張られたピアに対して発信リンクを介して送信し、リソースピアから結果通知を受け取る（ステップＳ１０１，Ｓ１０２，Ｓ１０３）。この検索要求処理部１０ｂは再度検索を行うかの判断も行う（ステップＳ１０４）。
【００４８】
発信リンク数判断部１０ｃは、現時点の発信リンク数Ｄｃｕｒｒｅｎｔが許容発信リンク数Ｄｍａｘ未満であるかを判断する（ステップＳ１０５）。
発信リンク削除部１０ｄは、現時点の発信リンク数Ｄｃｕｒｒｅｎｔが許容発信リンク数Ｄｍａｘ未満でない場合に発信リンクの一つを削除する（ステップＳ１０６）。
発信リンク張替え部１０ｅは、結果通知などを利用し検索の結果新たに発見され利用されるピアのＩＰアドレスを発信ピアＩＤリストに登録し、そのピアとの間で発信リンクを張る（ステップＳ１０７）。
【００４９】
転送リンク張替え要求部１０ｆは、新たに発信リンクを張ったピアに対して発信ピアＩＤリストを含む転送リンク張替え要求を行う（ステップＳ１０８）。
【００５０】
リソース処理部２０は、要求データ判断部２１と、資源探査処理部２２（ステップＳ２０４）と、転送ピアＩＤリスト保持部２３と、第１転送リンク張替え処理部２４（ステップＳ２０６）と、第２転送リンク張替え処理部２５（ステップＳ２０７）として機能する各部を有している。
要求データ判断部２１は、他のピアから要求データを受け取り、それが検索要求か転送リンク張替え要求かを判断し、さらに、転送リンク張替え要求に発信ピアＩＤリストが含まれているかを判断する（ステップＳ２０２，Ｓ２０３）。
資源探索処理部２２は、転送する必要のあるピアに対して検索要求を転送する（ステップＳ３０１，Ｓ３０２）転送処理部２２ａと、検索処理（ステップＳ３０３，Ｓ３０４）を行う検索処理部２２ｂとして機能する各部を有している。
転送ピアＩＤリスト保持部２３は、各転送リンクの接続先のピアのＩＰアドレスを列記した転送ピアＩＤリスト（第１、第２転送対象計算機リスト）を保持する。尚、ＩＰアドレスは登録された順が分かるように登録されている。
【００５１】
第１転送リンク張替え処理部２４は、転送リンク数判断部２４ａと、転送リンク削除部２４ｂと、転送リンク張替え部２４ｃと、転送リンク張替え要求部２４ｄとして機能する各部を有している。
転送リンク数判断部２４ａは、現時点の転送リンク数Ｆｃｕｒｒｅｎｔが許容転送リンク数Ｆｍａｘ未満であるかを判断する（ステップＳ４０１）。
転送リンク削除部２４ｂは、現時点の転送リンク数Ｆｃｕｒｒｅｎｔが許容転送リンク数Ｆｍａｘ未満でない場合転送リンクの一つを削除する（ステップＳ４０２）。
転送リンク張替え部２４ｃは、転送リンク張替え要求に含まれる発信ピアＩＤリストを参照して転送ピアＩＤリストに新たに転送先となるピアのＩＰアドレスを登録して、そのピアとの間で転送リンクを張る（ステップＳ４０３）。
転送リンク張替え要求部２４ｄは、新たに転送リンクを張ったピアに対して、転送リンク張替え要求を行う（ステップＳ４０４）。
【００５２】
第２転送リンク張替え処理部２５は、転送リンク数判断部２５ａと、転送リンク削除部２５ｂと、転送リンク張替え部２５ｃとして機能する各部を有している。
転送リンク数判断部２５ａは、現時点の転送リンク数Ｆｃｕｒｒｅｎｔが許容転送リンク数Ｆｍａｘ未満であるかを判断する（ステップＳ５０１）。
転送リンク削除部２５ｂは、現時点の転送リンク数Ｆｃｕｒｒｅｎｔが許容転送リンク数Ｆｍａｘ未満でない場合転送リンクの一つを削除する（ステップＳ５０２）。
転送リンク張替え部２５ｃは、転送リンク張替え要求の発信元のピアのＩＰアドレスを転送ピアＩＤリストに登録し、そのピアとの間で転送リンクを張る（ステップＳ５０３）。
【００５３】
以下、時間的局所性と空間的局所性を考慮して発信リンクと転送リンクとが張られた状態での検索要求の要求データの流れについて図１０を参照しつつ説明する。図１０は検索要求の要求データの流れを説明するための図である。但し、図１０にはピアＡ〜Ｉが図示されており、現在の発信リンク及び転送リンクの状態が示されている。尚、ピア間の片方向の矢印は発信リンクを、両方向の矢印は転送リンクを示している。
ピアＡにより、検索要求の要求データが作成され、要求データが送出される。この送出される要求データをピアＢ，Ｃ，Ｆの夫々が受け取り、要求データを登録する。
ピアＢは受け取った要求データをピアＥ，Ｉへ転送し、ピアＣは受け取ったピアＤ，Ｆへ転送し、ピアＦは受け取った要求データをピアＣ，Ｅ，Ｈ，Ｇへ転送する。ピアＦはピアＣから受け取る要求データを既に受け取っているため、その要求データを破棄する。ピアＣはピアＦから受け取る要求データを既に受け取っているため、その要求データを破棄する。そして、はじめて要求データを受け取ったピアＤ，Ｅ，Ｇ，Ｈ，Ｉは受け取った要求データを登録する。
これを繰り返すことにより、要求データが次々と伝播することになる。
【００５４】
以上説明したように、本実施の形態によれば、上述した時間的局所性を考慮して発信リンクを張り、また、上述した空間的局所性を考慮して転送リンクを張っているので、発信リンクや転送リンクが張られた後は検索効率が向上するという利点が得られる。
【００５５】
以上、本発明の好適な実施の形態について説明したが、本発明は上述の実施の形態に限られるものではなく、特許請求の範囲に記載されている範囲において様々な設計変更が可能なものである。
例えば、上述した実施の形態では要求データを次に送る先のピアのＩＰアドレスのみを保持する構成にしているが、これに限らず、次に送る先のピアのＩＰアドレスを保持するとともに、２つ先のピアのＩＰアドレスを保持するようにしてもよい。この場合、耐障害性の向上が図られるという利点がある。
これを実現する仕組みについて図１１を参照しつつ説明する。図１１は２つ先のピア（次々候補）のＩＰアドレスを保持する仕組みを説明するための図である。但し、図１１は図１０の状態に対応している。尚、ピアＡのみ次々候補を示している。
ここで、ピアＡに着目する。ピアＡは次候補（一つ先のピア）のピアＢ，Ｃ，Ｆに検索要求を送信する。これを受け取ったピアＢ，Ｃ，Ｆは、夫々、次候補をピアＡへ送信する。
ピアＡはピアＢから次候補を受け取るとそれをピアＢに関する次々候補として登録する。
ピアＡはピアＣから次候補を受け取ると、ピアＣから受け取った次候補に含まれるピアのうち自身（ピアＡ）と自身の次候補にあるピアＦを除いて、残ったピアをピアＣに関する次々候補として登録する。
ピアＡはピアＦから次候補を受け取ると、ピアＦから受け取った次候補に含まれるピアのうち自身の次候補にあるピアＣを除いて、残ったピアをピアＦに関する次々候補として登録する。
【００５６】
尚、上述した各処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上記各種処理を行ってもよい。尚、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。更に「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００５７】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。更に、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００５８】
＜グリッドコンピューティングシステムにおける計算資源の状態情報のやりとり：意味情報ネットワークＳＩＯＮｅｔ（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）によって実施される。またさらに、これら必要な計算資源を収集するための検索キーとしての意味情報を決定する（処理Ａ：ステップＳ２）。
ポータルサイト５０１では、最適な計算資源を発見するため、処理Ａにて決定された意味情報を用いてＳＩＯＮｅｔ機能による検索を開始し、“意味情報による検索メッセージ”を計算資源Ｒ１へ送信する（刺激を与える）（ステップＳ３）。
【００８８】
計算資源Ｒ１は、ポータルサイト５０１から受信した“意味情報による検索メッセージ”をイベントプレースで接続されている次の計算資源Ｒ２へ転送する（刺激を転送する）（ステップＳ４）。
また、ポータルサイト５０１により刺激を受けた計算資源Ｒ１は、フィルタＦ１の内容がポータルサイトの刺激に対する条件を満たしているため、ＳＩＯＮｅｔ機能により“発火”する（発火Ａ）。発火したという情報は、計算資源Ｒ１によって発火条件と共にポータルサイト５０１へ応答される。なお、発火条件は以下の通りである。ＣＰＵ＝Ｐｅｎｔ＊ｕ＊ １．５ＧＨｚ、ＣＰＵ使用率＝２０％、ＯＳ＝Ｗ＊ｎ２００＊、アプリケーション＝Ｐ＊ｖ−Ｒａ＊、メモリ＝１２８ＭＢ、ＨＤ＝２０ＧＢ、ＮＷ＝１００Ｍｂｐｓ、ＮＷ使用率＝３０％である（ステップＳ５）。
【００８９】
計算資源Ｒ２は、受信した“意味情報による検索メッセージ”を、イベントプレースで接続されている次の計算資源Ｒ３および計算資源Ｒ４へそのまま転送する（刺激を転送する）（ステップＳ６）。なお、計算資源Ｒ２は、イベントプレースにおいて、その先に２つの接続先を持っているため、２箇所の計算資源Ｒ３及びＲ４へ刺激を転送する。計算資源Ｒ２自体は、そのフィルタＦ２の内容が、受信した刺激に対する要求条件を満たさないものがあるため、発火せず、そのため何もしない。また、計算資源Ｒ２からの刺激を受信した計算資源Ｒ３は、その先にイベントプレースに接続される計算資源が存在しないため刺激を転送しない上、フィルタＦ３の情報も刺激に対する要求条件を満たさないものがあるため、発火せず何もしない。
【００９０】
計算資源Ｒ２から刺激を受けた計算資源Ｒ４は、受信した“意味情報による検索メッセージ”を、イベントプレースで接続されている次の計算資源Ｒ５および計算資源Ｒ６へそのまま転送する（刺激を転送する）（ステップＳ７）。なお、計算資源Ｒ４は、イベントプレースにおいて、その先に２つの接続先を持っているため、２箇所へ刺激を転送する。
また、計算資源Ｒ４からの刺激を受信した計算資源Ｒ５および計算資源Ｒ６は、その先にイベントプレースに接続される計算資源が存在しないため刺激を転送せず、その上、計算資源Ｒ５は、フィルタＦ５の情報も刺激に対する要求条件を満たさないものがあるため、発火せず何もしない。
また、計算資源Ｒ４は、フィルタＦ４の内容が受信した刺激に対する条件を満たしているため、ＳＩＯＮｅｔ機能により“発火”する。なお、発火条件は以下の通りである。ＣＰＵ＝Ｐｅｎｔ＊ｕ＊ ８５０ＭＨｚ、ＣＰＵ使用率＝３０％、ＯＳ＝Ｗ＊ｎ２００＊、アプリケーション＝Ｐ＊ｖ−Ｒａ＊、メモリ＝６４ＭＢ、ＨＤ＝８ＧＢ、ＮＷ＝１０Ｍｂｐｓ、ＮＷ使用率＝２５％である（発火Ｂ）。発火したという情報は、計算資源Ｒ４によって発火条件と共に、ポータルサイト５０１に対してＰ２Ｐで応答される（ステップＳ８）。
また、計算資源Ｒ６は、フィルタＦ６の内容が受信した刺激に対する条件を満たしているため、ＳＩＯＮｅｔ機能により“発火”する。なお、発火条件は以下の通りである。ＣＰＵ＝Ｐｅｎｔ＊ｕ＊ １．７ＧＨｚ、ＣＰＵ使用率＝２０％、ＯＳ＝Ｗ＊ｎ２００＊、アプリケーション＝Ｐ＊ｖ−Ｒａ＊、メモリ＝２５６ＭＢ、ＨＤ＝１００ＧＢ、ＮＷ＝１０Ｍｂｐｓ、ＮＷ使用率＝１５％である（発火Ｃ）。発火したという情報は、計算資源Ｒ６によって発火条件と共に、ポータルサイト５０１に対しＰ２Ｐで応答される。
【００９１】
ポータルサイト５０１は、計算資源からの発火応答を受信確認し（今回は、計算資源Ｒ１、Ｒ４、Ｒ６から３つの応答（ステップＳ５、Ｓ８、Ｓ９あり））、それらの応答発火条件をもとに、最適な計算資源を判別する。ここでは、ＶＭＭが必要な計算資源は“２台”と判定したため、最適な計算資源を発火条件上位から２つに絞り、計算資源Ｒ１ならびにＲ６と判定している。今回は、応答時間が優先内容として設定されているため、ＣＰＵのスペックと使用率、メモリ容量が計算資源Ｒ１およびＲ６を選定する基準となっている（処理Ｂ：ステップＳ１０）。
ポータルサイト５０１では、処理Ｂの判定結果に基づき、計算処理を計算資源Ｒ１および計算資源Ｒ６へ割り当てる（ステップＳ１１）。この割当は、「ポータルサイト＝計算資源Ｒ１間」および「ポータルサイト＝計算資源Ｒ６間」で直接Ｐ２Ｐにより実施される。
【００９２】
それから、処理Ｂにおいて計算資源Ｒ１に割り当てられた計算処理を、計算資源Ｒ１が実施し（処理Ｃ）、処理結果をポータルサイトへ応答（返信）する（ステップＳ１２）。
この応答は、ポータルサイト＝計算資源Ｒ１間で直接Ｐ２Ｐにより実施される。
また、処理Ｂにおいて計算資源Ｒ６に割り当てられた計算処理を、計算資源Ｒ６が実施し（処理Ｄ）、処理結果をポータルサイト５０１へ応答（返信）する（ステップＳ１３）。この応答は、ポータルサイト＝計算資源Ｒ６間で直接Ｐ２Ｐにより実施される。
その後、ポータルサイト５０１において、計算資源Ｒ１の処理Ｃと、計算資源Ｒ６の処理Ｄにおける処理結果を基に、全体の処理結果を統合する（処理Ｅ：ステップＳ１４）。また、ポータルサイトは、処理Ｄの処理結果を、依頼元コンピュータ５１０へ報告する（ステップＳ１５）。
【００９３】
なお、計算資源Ｒ４は、発火し応答したが、ポータルサイト５０１からの計算処理依頼がなかったため、タイムアウトにより初期状態へ遷移する（処理Ｆ：ステップＳ１６）。
【００９４】
以上、意味情報ネットワークを用いて計算資源の状態情報をやりとりするグリッドコンピューティングシステムについて説明したが、意味情報ネットワークを構成して、意味情報により最適な計算資源を収集することにより、ディレクトリレスのメリットを活かしたまま、グリッドコンピューティングシステムの計算資源収集における検索条件を多様化することが可能となる。
また、オンデマンドで計算資源のステータス情報（ＣＰＵ負荷だけでなく様々な情報）のアップデートが可能となり、リアルタイムに最適な計算資源を発見することができ、グリッドコンピューティングシステムの性能を向上することができる。
【００９５】
また、ディレクトリレスシステムとなることにより、計算資源とディレクトリ間の動的な情報交換やルックアップ手続きが削減され、余分なトラフィックの削減につながる。また、意味情報による転送機能とイベントプレースを用いることで、ブロードキャスト検索が改善され、さらにトラフィック量の軽減を図ることができる。
【００９６】
また、計算資源を処理するアプリケーションやセキュリティ度によってイベントプレースを分けることが可能になり、システムを多様化でき、サービスのバリエーションを増大させることが出来る。また、計算資源の個々の障害時においてもシステム全体に全く影響を与えず、サービスを継続することが可能になる。さらに、専用の計算資源以外にも一般ユーザの使用する端末も計算資源として使用することが可能になり、グリッドコンピューティングシステムのグローバル化に寄与する。
【００９７】
次に、前述のクライアントピアとしての依頼元コンピュータ及び前述のリソースピアとしての計算資源により、計算資源の状態情報をやりとりする場合の例を説明する。
ここでは、図１９に示すようなグリッドコンピューティングシステムを想定する。同図において、依頼元コンピュータ６１０は計算資源６００ａと接続され、計算資源６００ａは、さらに、計算資源６００ｂ、６００ｃ、６００ｄと接続されている。また、計算資源６００ｂは計算資源６００ｅと接続され、計算資源６００ｄは計算資源６００ｆと接続され、さらに、計算資源６００ｆは計算資源６００ｇと接続されいている。以下では、計算資源６００ａ〜６００ｇを総称して計算資源６００と記載する。なお、計算資源６００ａは、ポータルサーバと同一の機能を備えた計算資源であってもよく、依頼元コンピュータ６１０がポータルサーバと同一であってもよい。また、計算資源のいずれかが依頼元コンピュータとなってもよい。
【００９８】
図２０は、図１９における依頼元コンピュータ６１０の資源探索処理フローを示す。
依頼元コンピュータ６１０は、検索キーとして、利用したい計算資源のシステム条件を示す要件情報の入力を受ける（ステップＳ２１）。システム条件には、ＣＰＵ使用率、メモリ残量、実行可能なアプリケーション等を用いることができ、例えば、「ＣＰＵ使用率ｘ％以下」などが入力される。
【００９９】
依頼元コンピュータ６１０は、要件情報の入力を受けると、自身に隣接する計算資源６００ａへ検索メッセージ（前述のクライアントピアが送出する検索要求に相当）を送信する（ステップＳ２２）。刺激としての検索メッセージには、入力された要件情報を示す検索キーと、ネットワーク上で自らを識別できる識別子とが少なくとも含まれる。ネットワーク上で依頼元コンピュータ６１０自らを識別できる識別子としては、例えば、依頼元コンピュータ６１０のＩＰアドレスなどが用いられる。依頼元コンピュータ６１０は、検索メッセージの送信後に受信待ちタイマを起動し、検索メッセージの結果応答受信待ち状態になる（ステップＳ２３）。依頼元コンピュータ６１０は、検索キーを満たした計算資源６００から発火の通知としての結果応答データ（前述のリソースピアが送信する結果通知）を受信すると（ステップＳ２４）、この結果応答データを内部に保存する（ステップＳ２５）。そして、受信待ちタイマが０になるまで、検索キーを満たした計算資源６００からの結果応答データの受信及び結果応答データの保存を繰り返す。依頼元コンピュータ６１０は、受信待ちタイマが０になると、結果応答受信待ち状態を終了し（ステップＳ２６）、ステップＳ２５において内部に保存していた受信結果一覧をディスプレイなどに表示する（ステップＳ２７）。
【０１００】
図２１は、計算資源６００の検索メッセージ受信待ち処理フローを示す。
計算資源６００は、電源投入時や、意味情報ネットワークに参加したときなどに、後述する計算資源情報取得処理（図２２）により自身の備える計算資源の静的情報を収集し、フィルタに登録する（ステップＳ４１）。静的情報は、時間経過により変化しないか、あるいは、短時間では変化しない情報であり、例えば、ＣＰＵのスペック、ＩＰアドレス、ＯＳの種類、実行可能なアプリケーション名、メモリ容量（総容量）、ＨＤ容量（総容量）、などである。なお、静的情報収集は、定期的にあるいは静的情報の変更時などに実行することでもよい。
【０１０１】
静的情報をフィルタに登録した後、計算資源６００は、依頼元コンピュータ６１０あるいは他の計算資源６００から検索メッセージを受信する（ステップＳ４２）。検索メッセージには、検索キーと、依頼元コンピュータ６１０の識別子が含まれる。計算資源６００は、受信した検索メッセージを転送すべき他の計算資源６００があるか否かを判断する（ステップＳ４３）。検索メッセージを転送すべき計算資源６００があった場合は（ステップＳ４３：Ｙｅｓ）、受信した検索メッセージを転送する（ステップＳ４４）。
【０１０２】
続いて、計算資源６００は、受信した検索メッセージに含まれる検索キーと、フィルタに登録されている静的情報をマッチングする（ステップＳ４５）。具体的には、検索キーに含まれる静的情報と、自身のフィルタに登録されている静的情報が合致するか否かを判断する。検索キーに含まれる静的情報と、自身のフィルタに登録されている静的情報が合致しないと判断した場合には、次の検索メッセージの受信待ちとなる。
一方、検索キーに含まれる静的情報と、自身のフィルタに登録されている静的情報が合致すると判断した場合、計算資源６００は、後述する計算資源情報取得処理（図２２）により、自らの備える計算資源の動的情報を取得する（ステップＳ４６）。この動的情報とは、逐次変化する情報であり、例えば、自身の現在のＣＰＵ使用率、メモリ残量、ネットワークの状態などである。計算資源６００は、受信した検索メッセージに含まれる検索キーと、取得した動的情報をマッチングする（ステップＳ４７）。具体的には、検索キーに含まれる動的情報と、自身の動的情報が合致するか否かを判断する。検索キーに含まれる動的情報と、自身の動的情報が合致しないと判断した場合（ステップＳ４７：Ｎｏ）、次の検索メッセージの受信待ちとなる。一方、合致すると判断した場合（ステップＳ４７：Ｙｅｓ）、計算資源６００は、依頼元コンピュータ６１０に、自身の識別子と自身の計算資源の情報とを含む結果応答を送信する（ステップＳ４８）。
【０１０３】
図２２は、計算資源６００の計算資源情報取得処理フローを示す。
計算資源６００は、自身の静的情報を収集し、テンポラリ領域に保持しておく（ステップＳ６１）。その後、計算資源６００はマルチスレッドによりスレッドを作成し、動的情報取得処理を実行する。
計算資源６００は、動的情報取得処理における動的情報取得ループが開始されると（ステップＳ６２）、自身の現在のＣＰＵ使用率、メモリ残量、ネットワークの状態など動的情報を取得する（ステップＳ６３）。そして、取得した動的情報のデータを、テンポラリ領域に保持する（ステップＳ６４）。計算資源６００は、動的情報取得ループ終了条件を満たしていない場合、動的情報を取得し、保存するステップＳ６３〜Ｓ６４の処理を、例えば、１０秒間隔などで周期的に繰り返す。また、動的情報取得ループ終了条件を満たした場合は、動的情報取得ループを終了する（ステップＳ６５）。動的情報取得ループ終了条件とは、例えば、Ｐ２Ｐネットワークからの離脱などである。
【０１０４】
一方、計算資源６００は、ステップＳ６１における静的情報の収集後、問合せ要求待ちループを開始し、図２１で示される検索メッセージ受信待ち処理からの問合せの受信待ち状態となる（ステップＳ７１）。計算資源６００は、検索メッセージ受信待ち処理からの問合せを受信すると、問合せの種類による分岐を行う（ステップＳ７２）。図２１のステップＳ４１から送信された静的情報の問合せであれば、ステップＳ６１においてテンポラリ領域に保持していた静的情報を返信する（ステップＳ７３）。また、図２１のステップＳ４６から送信された動的情報の問合せであれば、ステップＳ６４においてテンポラリ領域に保持していた動的情報を返信する（ステップＳ７４）。計算資源６００は、問合せ要求待ちループ終了条件を満たしていない場合、問合せ要求の受信待ち状態となり、問合せ要求を受信し、情報を返送するステップＳ７２〜Ｓ７４の処理を繰り返す。また、問合せ要求待ちループ終了条件を満たした場合は、問合せ要求待ちループを終了する（ステップＳ７５）。問合せ要求待ちループ終了条件とは、例えば、Ｐ２Ｐネットワークからの離脱などである。
【０１０５】
なお、図２０〜図２２の処理により、依頼元コンピュータ６１０が検索キーを満たした計算資源６００の一覧を表示した後は、図１７のステップＳ１０以降と同様の処理により、依頼元コンピュータ６１０は、計算処理を適切な計算資源６００へ割り当て、計算資源６００は、割当てられた計算処理を実施して、処理結果を依頼元コンピュータ６１０へ返送する。
【０１０６】
［ＳＩＯＮｅｔについての補足説明］
ここで、「ＳＩＯＮｅｔ」について、補足して説明しておく。
図２３に示すように、ＳＩＯＮｅｔは、意味情報（メタデータ）に基づいてイベントを配送するメタネットワークであり、ネットワーク上に超分散する不特定多数のエンティティの中から特定のエンティティを動的に検索・発見することが出来る。すなわら、ＳＩＯＮｅｔは、従来のネットワークで用いていた宛先アドレス（誰に対して送信する）の代わりに、意味情報（どういう人に対して送信する）に基づいてイベントを配送するネットワークである。
【０１０７】
ＳＩＯＮｅｔでは、ＳＩＯＮｅｔエンティティの定義として、パーソナルコンピュータ、ワークステーション、情報携帯端末、携帯電話などのあらゆるコンピュータを総称して、ホストと呼ぶ。さらに、ＳＩＯＮｅｔソフトウエアを実装したホストを、「ＳＩＯＮｅｔエンティティ」もしくは単に「エンティティ」と呼ぶ。エンティティは、ＳＩＯＮｅｔソフトウエアを実装したホストを、ＳＩＯＮｅｔにおける自律分散協調の単位として仮想化したものである。
【０１０８】
また、エンティティは、ＳＥ（サービスエンティティ）、ＮＥ（ネットワークエンティティ）、ＳＮＥ（サービスネットワークエンティティ）３つのタイプに分類される。
ＳＥ（サービスエンティティ）は、サービスとして振る舞うエンティティであり、Ｐ２Ｐアプリケーションをエンティティ内の内部エンティティとして仮想化したものである。
ＮＥ（ネットワークエンティティ）は、ネットワーク構成要素として振る舞うエンティティであり、ＳＩＯＮｅｔを構築・運営するための内部エンティティであり、複数のＮＥ（ネットワークエンティティ）が分散協調することにより、ネットワークが自己組織化される。
ＳＮＥ（サービスネットワークエンティティ）は、サービスおよびネットワーク構成要素の両者の観点から振る舞うエンティティであり、ピュア型Ｐ２Ｐネットワークを構築する際に用いられ、これらが自律分散することにより、ネットワークを自己組織化する。
【０１０９】
なお、図２３に示すように、イベントは、意味情報（Semantic Information）とデータから構成され、意味情報としては、例えば、「東京近郊在住」、「クラシックミュージックが趣味の人」、「明治通りを今歩いている人」、「旅行のコンテンツ保有者」などがある。なお、イベントの構造については後述する。
【０１１０】
また、図２４は、ＳＩＯＮｅｔのメカニズムについて説明するための図であり、ＳＩＯＮｅｔは複数のイベントプレースからなり、イベントプレースには複数のエンティティが含まれる。また、ＳＩＯＮｅｔは、ＳＩＯＮｅｔの構成要素を含めたすべてのエンティティが自律分散協調することにより、ネットワークが自己組織化される自律分散協調ネットワーク（自律分散コンピュータ）である。ＳＩＯＮｅｔのネットワーク構成要素となるネットワークエンティティとしては、「意味情報スイッチ（ＳＩ−ＳＷ）」、「意味情報ルータ（ＳＩ−Ｒ）」、「意味情報ゲートウエイ（ＳＩ−ＧＷ）」があり、その他の構成要素としては、「セッション」、「シェアードリンク（ＳＬ）」などがあり、これらが必要に応じて自己組織化することにより、セキュアーでスケーラブルなＰ２Ｐネットワークをボトムアップアプローチで構築することができる。
【０１１１】
なお、意味情報スイッチ（ＳＩ−ＳＷ）は、意味情報に基づいて、イベントをスイッチングするスイッチング機構を提供するネットワークエンティティ（ＮＥ）であり、意味情報ルータ（ＳＩ−Ｒ）は、意味情報に基づいて、ＳＩ−ＳＷ間のイベントルーティング（イベント転送）を行うネットワークエンティティ（ＮＥ）であり、意味情報ゲートウェイ（ＳＩ−ＧＷ）は、イベントプレース間のイベント共有を実現するためのネットワークエンティティ（ＮＥ）である。
【０１１２】
また、「セッション」とは、意味情報スイッチ（ＳＩ−ＳＷ）とサービスエンティティ（ＳＥ）間のコネクションであり、サービスエンティティ（ＳＥ）は、セッションを介してのみイベントの送受信を行うことができる。なお、セッションには、イベントの送信セッション、受信セッション、送受信セッションの３タイプがある。また、「シェアードリンク（共有リンク）」とは、複数の異なるエンティティ間において、双方向のイベント共有を行うための概念である。例えば、あるエンティティが他のエンティティに対して、シェアードリンク（ＳＬ： Shared Link）の確立要求を行うことによりエンティティグループ（イベントプレース）が形成される。
【０１１３】
図２５は、ＳＩＯＮｅｔのイベントの構造の例を示す図であり、ＳＩＯＮｅｔイベントは、制御情報部（ＣＩＰａｒｔ（Control Information Part））と、意味情報部（ＳＩＰａｒｔ（Semantic Information Part））と、データ部（ＤＡＴＡＰａｒｔ）から構成される。
制御情報部（ＣＩＰａｒｔ）は、ＳＩＯＮｅｔの実効制御用の制御フィールドであり、サービスエンティティ（ＳＥ）には開放されていない。意味情報部（ＳＩＰａｒｔ）には、送信データの意味情報（語彙とその値）、および意味情報の語彙概念（イベントタイプ）が格納される。データ部（ＤＡＴＡＰａｒｔ）には、送信データ（テキストデータ、バイナリデータなど様々なデータやプログラム）が格納される。
なお、刺激とは、イベントを送信することである。反応とは、フィルタがイベントに合致することである。発火とは、合致したフィルタを登録したエンティティを起動してイベント通知することである。
【０１１４】
また、図２６は、意味情報スイッチとフィルタについて説明するための図であり、意味情報スイッチ（ＳＩ−ＳＷ）は、意味情報に基づきイベントをスイッチングするスイッチング機構を提供する。サービスエンティティ（ＳＥ）は、セッション（ＳＩ−ＳＷとＳＥ間のコネクション）を介してイベントの送受信を行う。
【０１１５】
また、フィルタは、サービスエンティティ（ＳＥ）が、セッションを介してイベントの取得条件を意味情報スイッチ（ＳＩ−ＳＷ）に登録する内容のことである。取得したいイベントのイベントタイプ（イベントの語彙概念）や意味情報との照合条件を設定する。
【０１１６】
また、図２７は、イベントプレースと意味情報ゲートウエイについて説明するための図であり、イベントプレースは、意味情報スイッチ（ＳＩ−ＳＷ）の集合体である。
イベントプレースはグルーピンクの概念であり、セキュリティの保障単位、負荷分散の単位、グループのグループ化などとして利用される概念であり、以下の目的を達成する。
第１に、イベントの転送範囲を制限する。すなわち、刺激と発火に基づく連鎖反応の波及範囲を制限する。
第２に、イベントルーティングの対象範囲を制限する。シェアードリンクにより接続された意味情報スイッチ（ＳＩ−ＳＷ）の集合であり、イベントプレースことにリンクトポロジーやイベントルーティング方式を選択することができる。
第３に、意味情報体系の一意性が保障される空間であり、取り扱うイベントタイプの爆発的増大を抑止する。
【０１１７】
また、意味情報ゲートウェイ（ＳＩ−ＧＷ）は、イベントプレース間のイベント共有を実現するためのネットワークエンティティ（ＮＥ）である。これにより、用途や目的の異なるイベントプレース間の連携が可能になる。
【０１１８】
＜グリッドコンピューティングシステムにおける原始的計算資源収集方法：ファイル交換用Ｐ２Ｐシステムを応用した場合の例＞
次に、グリッドコンピューティングシステムにおける計算資源収集方法について説明する。グリッドコンピューティングシステムでは、上述するようにＰ２Ｐ（Ｐｅｅｒ ｔｏ Ｐｅｅｒ）式の通信により、計算資源の状態情報を相互にやりとりする。また、各計算資源が自分自身の状態（ＣＰＵ使用率など）に対応して、所定のファイル名のファイルを持っておく。また、Ｐ２Ｐでファイル交換するためのソフトウェア（例えば、Ｇｎｕｔｅｌｌａ（登録商標）など）を用いてファイル名を検索することにより、依頼元コンピュータは、所定の状態にある計算資源を検索し、該当する状態の計算資源に対して仕事（処理）を依頼する。
【０１１９】
図２８は、計算資源収集方法を説明するためのグリッドコンピューティングシステムの構成を示す図であり、Ｇｎｕｔｅｌｌａ（登録商標）などのピュア型Ｐ２Ｐシステムを用いて構成された例を示している。Ｇｎｕｔｅｌｌａ（登録商標）におけるファイル名検索は、ファイル名検索が連鎖しながら実施されるという仕組みになっており、本発明のグリッドコンピューティングシステムでは、この機能を、計算資源の状態情報（例えば、ＣＰＵ使用率）をファイル名により連鎖して検索できるように拡張したものである。
【０１２０】
図２８において、計算資源１００１〜１０１３はＧｎｕｔｅｌｌａ Ｎｅｔ（登録商標）にあらかじめ参加しており、ＣＰＵ使用率をバックグランドで測定し、その値に対応するファイル名をピュア型Ｐ２Ｐのシステム（Ｇｎｕｔｅｌｌａ（登録商標）など）の指定する所定のディレクトリに保存する。
【０１２１】
計算処理を依頼する依頼元コンピュータ１０２０は、はじめにＧｎｕｔｅｌｌａ  Ｎｅｔ（登録商標）に参加し、その後に、プロセス（例えば、タスクなど）を割り当てるのに必要な空ＣＰＵを有する計算資源をＧｎｕｔｅｌｌａ  Ｎｅｔ（登録商標）へのブロードキャストにより検索する。要求を満足する計算資源１００１〜１０１３は依頼元コンピュータ１０２０へ応答し、依頼元コンピュータ１０２０は最も相応しい計算資源へ計算処理プロセスの割り当てを実施する。
【０１２２】
また、本発明のグリッドコンピューティングシステムでは、ピュア型Ｐ２Ｐシステムのファイル検索機能を、ＣＰＵ使用率などの検索に応用するため、ＣＰＵ使用率をファイル名にどのように反映するかがポイントとなる。
【０１２３】
このため、計算資源１００１〜１０１３は、定期的にバックグラウンドで自端末のＣＰＵ負荷（使用率）を測定する。さらに、その得られた値から、図２９（ａ）に示す表１に基づいたファイル名をもつファイルを作成し、ピュア型Ｐ２Ｐシステム（Ｇｎｕｔｅｌｌａ（登録商標）など）の指定するディレクトリに保存する。
【０１２４】
図２９に示す例では、作成するファイルのファイル名と検索キーとは次のような関係にある。例えば、ＣＰＵ使用率が９０％以上〜１００％の場合、ＣＰＵがほとんど空いていないので、“ほとんど空きなし”以上の計算資源を検索する際に利用される検索キー“Ｊ”のみで検索可能になるように、作成するファイル名は、検索キー“Ｊ”を含み、他の検索キーを含まないファイル名“Ｊ”になる。また、ＣＰＵ使用率が８０％以上〜９０％未満の場合、ＣＰＵが最低１０％空いているので、“ほとんど空きなし”以上の計算資源を検索する際に利用される検索キー“Ｊ”及び“１０％以上空き”の計算資源を検索する際に利用される検索キー“Ｉ”のみで検索可能になるように、作成するファイル名は、検索キー“Ｊ”と“Ｉ”とを含み、他の検索キーを含まないファイル名“ＩＪ”になる。さらに、ＣＰＵ使用率が７０％以上〜８０％未満の場合、ＣＰＵが最低２０％空いているので、“ほとんど空きなし”以上の計算資源を検索する際に利用される検索キー“Ｊ”、“１０％以上空き”の計算資源を検索する際に利用される検索キー“Ｉ”、及び“２０％以上空き”の計算資源を検索する際に利用される検索キー“Ｈ”のみで検索可能になるように、作成するファイル名は、検索キー“Ｊ”と“Ｉ”と“Ｈ”とを含み、他の検索キーを含まないファイル名“ＨＩＪ”になる。
【０１２５】
以上説明した処理を行うスクリプトを作成し、各計算資源１００１〜１０１３上で実施させる。この機能により、定期的にＣＰＵ負荷の状態がファイル名として保存されるので、これをＧｎｕｔｅｌｌａ（登録商標）などのピュア型Ｐ２Ｐシステムを用いてファイル検索することにより、ＣＰＵの空き状態を考慮した計算資源の検索が可能になる。
【０１２６】
また、依頼元コンピュータ１０２０からの計算資源１００１〜１０１３の検索に際しては、図２９（ｂ）に示す表２に基づく検索キーを利用する。例えば、ＣＰＵが最低８０％は遊休状態にある計算資源では、作成されるファイル名には、必ず“Ｂ”が含まれるので、依頼元コンピュータ２０からは、“Ｂ”を検索キーとして検索すれば、ＣＰＵ状態が８０％以上遊休状態にある計算資源が発見される。そして、依頼元コンピュータ１０２０は発見された計算資源へ計算処理プロセスの割り当てを実施する。
【０１２７】
上記グリッドコンピューティングシステムにおいては、グリッドコンピューティングシステムにおける計算資源収集機能を、ピュア型のＰ２Ｐシステムを用いて実現している。従来のグリッドコンピューティングシステムで一般的に利用されている管理サーバを用いるディレクトリ型の計算資源収集機能と比較して、画一的な情報提供者が存在しないブローカレス思想による情報検索手法を用いた本実施の形態では、計算資源の動的変動に対応可能であり、対障害性にも優れるグリッドコンピューティングシステムを構築できる。また本手法によりディレクトリが不要となるため、管理が容易になるというメリットも生じる。
【０１２８】
また、上記実施の形態では、計算資源の状態情報として、ＣＰＵ使用率を用いた例を示したが、これに限らず、メモリ容量や、計算速度や、通信速度などの各種の他の状態情報を使用することもでき、また、これらを組み合わせた状態情報を使用することもできる。
【０１２９】
上述する計算資源及び依頼元コンピュータは、パーソナルコンピュータ、ＰＤＡ、携帯電話等の計算機能とネットワーク接続機能を有するハードウエアならば名称・形態は問わない。また、ネットワークは有線、無線いずれの接続方法のものも含む。計算資源と依頼元コンピュータはジョブにより入れ替え可能である。
【０１３０】
なお、上述した計算資源１０１〜１１３、２００、６００、１００１〜１０１３、及び、依頼元コンピュータ１３０、４１０、５１０、６１０、１０２０、ならびに、ポータルサイト１２０、３００、４０１〜４０３、５０１は、内部にコンピュータシステムを有している。そして、上述した計算資源１０１〜１１３、２００、６００、１００１〜１０１３、及び、依頼元コンピュータ１３０、４１０、５１０、６１０、１０２０、ならびに、ポータルサイト１２０、３００、４０１〜４０３、５０１の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上記各種処理を行ってもよい。尚、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。更に「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１３１】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。更に、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【図面の簡単な説明】
【０１３２】
【図１】利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステムにおける時間的局所性を利用した動的リンクの再構築の概略を説明するための図。
【図２】利用形態指向Ｐ２Ｐ型グリッドコンピューティングシステムにおける空間的局所性を利用した動的リンクの再構築の概略を説明するための図。
【図３】空間的局所性の連鎖による緩やかな関係を持つクラスタの形成を説明するための図。
【図４】クライアントピアの動作を示すフローチャート。
【図５】リソースピアの動作を示すフローチャート。
【図６】リソースピアの動作を示すフローチャート。
【図７】リソースピアの動作を示すフローチャート。
【図８】リソースピアの動作を示すフローチャート。
【図９】ピアの機能を説明するための機能ブロック図。
【図１０】検索要求の要求データの流れを説明するための図。
【図１１】２つ先のピアのＩＰアドレスを保持する仕組みを説明するための図。
【図１２】意味情報ネットワークを用いて計算資源の状態情報をやりとりするグリッドコンピューティングシステムについて説明するための図。
【図１３】図１２のグリッドコンピューティングシステムの構成要素の機能について説明するための図。
【図１４】図１２の計算資源（エンティティ）におけるソフトウエア構造を示す図。
【図１５】図１２のポータルサイトにおけるソフトウエア構造を示す図。
【図１６】計算資源の状態情報をやりとりするグリッドコンピューティングシステムのネットワークの構成例について説明するための図。
【図１７】図１６の処理イメージを表すシーケンスの例を示す図。
【図１８】意味情報の例を示す図。
【図１９】計算資源の状態情報をやりとりするグリッドコンピューティングシステムの構成例を示す図。
【図２０】図１９の依頼元コンピュータの動作を示すフローチャート。
【図２１】図１９の計算資源の動作を示すフローチャート。
【図２２】図１９の計算資源の動作を示すフローチャート。
【図２３】ＳＩＯＮｅｔの概要を示す図。
【図２４】ＳＩＯＮｅｔのメカニズムについて説明するための図。
【図２５】イベントの構造の例を示す図。
【図２６】意味情報スイッチとフィルタについて説明するための図。
【図２７】イベントプレースと意味情報ゲートウエイについて説明するための図。
【図２８】計算資源収集方法を説明するためのグリッドコンピューティングシステムについて説明するための図。
【図２９】図２８の計算資源が作成するファイル名と検索キーの例を示す図。
【符号の説明】
【０１３３】
１０  クライアント処理部、  １０ａ  発信ピアＩＤリスト保持部、  １０ｂ  検索要求処理部、  １０ｃ  発信リンク数判断部、  １０ｄ  発信リンク削除部、  １０ｅ  発信リンク張替え部、  １０ｆ  転送リンク張替え要求部、  ２０  リソース処理部、  ２１  要求データ判断部、  ２２  資源探査処理部、  ２２ａ  転送処理部、  ２２ｂ  検索処理部、  ２３  転送ピアＩＤリスト保持部、  ２４  第１転送リンク張替え処理部、  ２４ａ  転送リンク数判断部、  ２４ｂ  転送リンク削除部、  ２４ｃ  転送リンク張替え部、  ２４ｄ  転送リンク張替え要求部、  ２５  第２転送リンク張替え処理部、  ２５ａ  転送リンク数判断部、  ２５ｂ  転送リンク削除部、  ２５ｃ  転送リンク張替え部、  １０１〜１１３  計算資源、  １２０  ポータルサイト、  １３０  依頼元コンピュータ、  ２００  計算資源、  ３００  ポータルサイト、  ４０１〜４０３  ポータルサイト、  ４１０  依頼元コンピュータ、  ５０１  ポータルサイト、  ５１０  依頼元コンピュータ、  ６００ａ〜６００ｇ  計算資源、  ６１０  依頼元コンピュータ、  １００１〜１０１３  計算資源、  １０２０  依頼元コンピュータ  
【図１】
2005251160.tif 000003
【図２】
2005251160.tif 000004
【図３】
2005251160.tif 000005
【図４】
2005251160.tif 000006
【図５】
2005251160.tif 000007
【図６】
2005251160.tif 000008
【図７】
2005251160.tif 000009
【図８】
2005251160.tif 000010
【図９】
2005251160.tif 000011
【図１０】
2005251160.tif 000012
【図１１】
2005251160.tif 000013
【図１２】
2005251160.tif 000014
【図１３】
2005251160.tif 000015
【図１４】
2005251160.tif 000016
【図１５】
2005251160.tif 000017
【図１６】
2005251160.tif 000018
【図１７】
2005251160.tif 000019
【図１８】
2005251160.tif 000020
【図１９】
2005251160.tif 000021
【図２０】
2005251160.tif 000022
【図２１】
2005251160.tif 000023
【図２２】
2005251160.tif 000024
【図２３】
2005251160.tif 000025
【図２４】
2005251160.tif 000026
【図２５】
2005251160.tif 000027
【図２６】
2005251160.tif 000028
【図２７】
2005251160.tif 000029
【図２８】
2005251160.tif 000030
【図２９】
2005251160.tif 000031