JP2005251160A - 利用形態指向p2p型グリッドコンピューティングシステム、及び、コンピュータプログラム - Google Patents

利用形態指向p2p型グリッドコンピューティングシステム、及び、コンピュータプログラム Download PDF

Info

Publication number
JP2005251160A
JP2005251160A JP2004343726A JP2004343726A JP2005251160A JP 2005251160 A JP2005251160 A JP 2005251160A JP 2004343726 A JP2004343726 A JP 2004343726A JP 2004343726 A JP2004343726 A JP 2004343726A JP 2005251160 A JP2005251160 A JP 2005251160A
Authority
JP
Japan
Prior art keywords
transfer
computer
link
outgoing
transfer link
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004343726A
Other languages
English (en)
Other versions
JP4170285B2 (ja
Inventor
Tsutomu Inaba
勉 稲葉
Hiroaki Kobayashi
広明 小林
Hiroyuki Takizawa
寛之 滝沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Nippon Telegraph and Telephone East Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Nippon Telegraph and Telephone East Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, Nippon Telegraph and Telephone East Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2004343726A priority Critical patent/JP4170285B2/ja
Publication of JP2005251160A publication Critical patent/JP2005251160A/ja
Application granted granted Critical
Publication of JP4170285B2 publication Critical patent/JP4170285B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】 2回目以降の検索を効率的に行うことを可能にする利用形態指向P2P型グリッドコンピューティングシステム、及び、コンピュータプログラムを提供する。
【解決手段】 クライアントピア1aは、検索を行い、その結果発見され使用されたピア1dのIPアドレスを保持してピア1dに対して単方向の論理リンク(発信リンク)を張り、クライアントピア1aの作成した検索要求が1ホップでクライアント1dへ伝播するようにする。また、クライアントピアによって発見され利用されたピア間で双方向の論理リンク(転送リンク)を張る。
【選択図】 図1

Description

本発明は、ネットワーク上に散在する複数の計算リソースを動的に結合しバーチャルマシンを構成する利用形態指向P2P型グリッド(Grid)コンピューティングシステム、及び、コンピュータプログラムに関する。
P2P(Peer to peer)とは、個々のコンピュータがサーバを介さないで対等にやり取りするネットワークの仕組みであり、主にファイル共有のための検索を目的として利用されている。
P2Pでのファイル検索の方法は、2種類に大別される。その一つは、情報のみを一元的に管理するサーバを利用し、サーバに問い合わせをしてからファイルの実体をダウンロードしにいくハイブリッド型方式(Napster(登録商標)方式とも呼ばれる。)である。もう一つは、サーバを用いずに検索からダウンロードまで行うピュア型方式(Gnutella(登録商標)方式とも呼ばれる。)である(非特許文献1参照)。
「日経ネットワーク」2003年3月号、p.120−p.132
P2Pは、ファイル共有をその主たる目的としているため、検索の最適化に対しては、検索対象となるファイルのレプリカを各所に持たせる手法により、実現されている。
ストリーミングデータを共有するシェアキャストという方式では、ストリーミングデータファイルを転送する度に、転送を担ったマシンがそのレプリカを保持している。
このような手法では、グリッドコンピューティングの計算リソース収集という目的では効率化にならない。また、Winny(登録商標)と呼ばれるP2Pソフトでは、検索キーと呼ばれるメタデータを配布して、自分の存在を広く公開しているが、この手法では最初の計算機の検索を効率化できるだけで、それ以降の検索を効率化するに至っていない。
そこで、本発明は、2回目以降の検索を効率的に行うことを可能にする利用形態指向P2P型グリッドコンピューティングシステム、及び、コンピュータプログラムを提供することを目的とする。
請求項1に記載の利用形態指向P2P型グリッドコンピューティングシステムは、ネットワーク上に散在する複数の計算資源を動的に結合しバーチャルマシンを構成する利用形態指向P2P型グリッドコンピューティングシステムにおいて、検索元の計算機は、単方向の論理リンクである発信リンクを張った計算機を列記した発信対象計算機リストを保持する発信対象計算機リスト保持手段と、前記発信対象計算機リストに基づいて各発信リンクを介して発信リンクを張った計算機に対して自身の作成した検索要求を行う検索要求手段と、前記発信対象計算機リストを参照して検索の結果新たに発見され利用される計算機を該発信対象計算機リストに登録して発信リンクの張替えを行う発信リンク張替え手段と、を備えていることを特徴とする。
請求項2に記載の利用形態指向P2P型グリッドコンピューティングシステムは、前記検索元の計算機は、前記発信リンク張替え手段により発信リンクを張り替える際に予め定められた許容発信リンク数より現在張られている発信リンク数が小さいかを判断する発信リンク数判断手段と、前記発信リンク数判断手段により前記許容発信リンク数より前記現在張られている発信リンク数が小さくないと判断されると現在張られている発信リンクの少なくとも一つを削除する発信リンク削除手段と、を更に備えたことを特徴とする。
請求項3に記載の利用形態指向P2P型グリッドコンピューティングシステムは、前記検索元の計算機は、前記発信リンク張替え手段により発信リンクを張る対象となった計算機に対して前記発信対象計算機リストを含む第1転送リンク張替え要求を行う第1張替え要求手段を更に備え、前記発信リンクを張る対象となった計算機は、論理リンクである転送リンクを張った計算機を列記した第1転送対象計算機リストを保持する第1転送対象計算機リスト保持手段と、前記発信対象計算機リストに基づいて各発信リンクを介して、前記第1転送対象計算機リストに基づいて各転送リンクを介して、計算機に対して受け取った検索要求を転送する第1検索要求転送手段と、前記検索元の計算機から受け取る前記第1転送リンク張替え要求に含まれる発信対象計算機リストに含まれる計算機を前記第1転送対象計算機リストに登録して転送リンクの張替えを行う第1転送リンク張替え手段と、前記第1転送リンク張替え手段により転送リンクを張る対象となった計算機に対して第2転送リンク張替え要求を行う第2張替え要求手段と、を備え、前記転送リンクを張る対象となった計算機は、論理リンクである転送リンクを張った計算機を列記した第2転送対象計算機リストを保持する第2転送対象計算機リスト保持手段と、前記発信対象計算機リストに基づいて各発信リンクを介して、前記第2転送対象計算機リストに基づいて各転送リンクを介して、計算機に対して受け取った検索要求を転送する第2検索要求転送手段と、前記第2転送リンク張替え要求の送信元の計算機を前記第2転送対象計算機リストに登録して転送リンクの張替えを行う第2転送リンク張替え手段と、を備えたことを特徴とする。
請求項4に記載の利用形態指向P2P型グリッドコンピューティングシステムは、前記発信リンクを張る対象となった計算機は、前記第1転送リンク張替え手段により転送リンクを張り替える際に予め定められた第1許容転送リンク数より現在張られている転送リンク数が小さいかを判断する第1転送リンク数判断手段と、前記第1転送リンク数判断手段により前記第1許容転送リンク数より前記現在張られている転送リンク数が小さくないと判断されると現在張られている転送リンクの少なくとも一つを削除する第1転送リンク削除手段と、を更に備えたことを特徴とする。
請求項5に記載の利用形態指向P2P型グリッドコンピューティングシステムは、前記転送リンクを張る対象となった計算機は、前記第2転送リンク張替え手段により転送リンクを張り替える際に予め定められた第2許容転送リンク数より現在張られている転送リンク数が小さいかを判断する第2転送リンク数判断手段と、前記第2転送リンク数判断手段により前記第2許容転送リンク数より前記現在張られている転送リンク数が小さくないと判断されると現在張られている転送リンクの少なくとも一つを削除する第2転送リンク削除手段と、を更に備えたことを特徴とする。
請求項6に記載のコンピュータプログラムは、ネットワーク上に散在する複数の計算資源を動的に結合しバーチャルマシンを構成する利用形態指向P2P型グリッドコンピューティングシステムにおける計算機に用いられるコンピュータプログラムであって、単方向の論理リンクである発信リンクを張った計算機を列記した発信対象計算機リストに基づき、各発信リンクを介して発信リンクを張った計算機に対して自身の作成した検索要求を行う検索要求ステップと、前記発信対象計算機リストを参照して検索の結果新たに発見され利用される計算機を該発信対象計算機リストに登録して発信リンクの張替えを行う発信リンク張替えステップと、をコンピュータに実行させることを特徴とする。
請求項7に記載のコンピュータプログラムは、前記発信リンク張替えステップにおいて発信リンクを張り替える際に予め定められた許容発信リンク数より現在張られている発信リンク数が小さいかを判断する発信リンク数判断ステップと、前記発信リンク数判断ステップにおいて前記許容発信リンク数より前記現在張られている発信リンク数が小さくないと判断されると現在張られている発信リンクの少なくとも一つを削除する発信リンク削除ステップと、をコンピュータに実行させることを特徴とする。
請求項8に記載のコンピュータプログラムは、前記発信リンク張替えステップにおいて発信リンクを張る対象となった計算機に対して前記発信対象計算機リストを含む転送リンク張替え要求を行う張替え要求ステップと、をコンピュータに実行させることを特徴とする。
請求項9に記載のコンピュータプログラムは、前記検索要求ステップにおいては、計算資源の静的状態あるいは動的状態に関する要件を示す検索キーによる検索要求を行い、前記検索要求の結果として、前記検索キーで示される要件を満たす他の計算機からの結果通知を受信する結果受信ステップと、をコンピュータに実行させることを特徴とする。
請求項10に記載のコンピュータプログラムは、ネットワーク上に散在する複数の計算資源を動的に結合しバーチャルマシンを構成する利用形態指向P2P型グリッドコンピューティングシステムにおける計算機に用いられるコンピュータプログラムであって、他の計算機から受け取った検索要求を、単方向の論理リンクである発信リンクを張った計算機を列記した発信対象計算機リストに基づいて各発信リンクを介して、さらに、双方向の論理リンクである転送リンクを張った計算機を列記した転送対象計算機リストに基づいて各転送リンクを介して、さらに他の計算機へ転送する検索要求転送ステップと、他の計算機から転送リンク張替え要求を受け取り、この受け取った転送リンク張替え要求に含まれる発信対象計算機リスト内に列記されている計算機を、前記転送対象計算機リストに登録して転送リンクの張替えを行う転送リンク張替えステップと、前記転送リンク張替えステップにより転送リンクを張る対象となった計算機に対して転送リンク張替え要求を行う張替え要求ステップと、をコンピュータに実行させることを特徴とする。
請求項11に記載のコンピュータプログラムは、前記転送リンク張替えステップにおいて転送リンクを張り替える際に予め定められた許容転送リンク数より現在張られている転送リンク数が小さいかを判断する転送リンク数判断ステップと、前記転送リンク数判断ステップにおいて前記許容転送リンク数より前記現在張られている転送リンク数が小さくないと判断されると現在張られている転送リンクの少なくとも一つを削除する転送リンク削除ステップと、をコンピュータに実行させることを特徴とする。
請求項12に記載のコンピュータプログラムは、自身の計算資源の静的状態あるいは動的状態を示す情報を収集する計算処理資源収集ステップと、前記収集した情報が示す計算資源の静的状態あるいは動的状態が、前記検索要求に含まれる検索キーが示す計算資源の静的状態あるいは動的状態に関する要件を満たす場合に結果通知を返す結果通知ステップと、前記結果通知に対応して処理の依頼を受け、依頼された処理を行う計算処理割当ステップと、をコンピュータに実行させることを特徴とする。
請求項13に記載のコンピュータプログラムは、ネットワーク上に散在する複数の計算資源を動的に結合しバーチャルマシンを構成する利用形態指向P2P型グリッドコンピューティングシステムにおける計算機に用いられるコンピュータプログラムであって、他の計算機から受け取った検索要求を、単方向の論理リンクである発信リンクを張った計算機を列記した発信対象計算機リストに基づいて各発信リンクを介して、さらに、双方向の論理リンクである転送リンクを張った計算機を列記した転送対象計算機リストに基づいて各転送リンクを介して、さらに他の計算機へ転送する検索要求転送ステップと、転送リンク張替え要求を受け取り、この受け取った転送リンク張替え要求の送信元の計算機を前記転送対象計算機リストに登録して転送リンクの張替えを行う転送リンク張替えステップと、をコンピュータに実行させることを特徴とする。
請求項14に記載のコンピュータプログラムは、前記転送リンク張替えステップにおいて転送リンクを張り替える際に予め定められた許容転送リンク数より現在張られている転送リンク数が小さいかを判断する転送リンク数判断ステップと、前記転送リンク数判断ステップにおいて前記許容転送リンク数より前記現在張られている転送リンク数が小さくないと判断されると現在張られている転送リンクの少なくとも一つを削除する転送リンク削除ステップと、をコンピュータに実行させることを特徴とする。
請求項15に記載のコンピュータプログラムは、自身の計算資源の静的状態あるいは動的状態を示す情報を収集する計算処理資源収集ステップと、前記収集した情報が示す計算資源の静的状態あるいは動的状態が、前記検索要求に含まれる検索キーが示す計算資源の静的状態あるいは動的状態に関する要件を満たす場合に結果通知を返す結果通知ステップと、前記結果通知に対応して処理の依頼を受け、依頼された処理を行う計算処理割当ステップと、をコンピュータに実行させることを特徴とする。
本発明によれば、検索元の計算機検索の結果発見され利用された計算機と発信リンクを張るため、発信リンクを張った後に自身の作成した検索要求を1ホップで以前の検索の結果発見され利用された計算機へ伝播させることが可能となり、発信リンクを張った後の検索を効率的に行うことが可能になる。また、転送リンクを張る発明においては、例えば類似した属性の計算機へ少ないホップ数で伝播することが可能になって転送リンクを張った後の検索を効率的に行うことが可能になる。
以下、本発明の好適な実施の形態について図面を参照しつつ説明する。
<グリッドコンピューティングシステムにおけるリンクの確立>
本実施の形態における利用形態指向P2P型グリッドコンピューティングシステムは、Gnutella(登録商標)などのピュア型のP2Pシステムを用いて構成されている。尚、利用形態指向P2P型グリッドコンピューティングシステムを構成する計算機(ピア)の名称をその立場に応じて適宜使い分ける。
本実施の形態は、下記に示す事項(時間的局所性、空間的局所性)を考慮し、各クライアントにとって高確率にヒットする計算資源を論理リンク空間上で局所化することにより検索効率を向上させるものである。
我々は計算機を利用するとき、ある時間の範囲内ではその利用目的が比較的限定される。例えば、ある数値流体計算を行うユーザは次の日も同じ計算資源を使って、数値流体計算を行う可能性が高いと考えられる。これは、本実施の形態の利用形態指向P2P型グリッドコンピューティングシステムにおいても同様のことが考えられる。即ち、ピア(クライアントピア)が数ホップを経由して計算資源を発見し利用したとすると、一度発見され利用された計算資源は、同じピア(クライアントピア)に、短時間の内に再び利用される可能性が高いと考えられる。尚、これをユーザの利用特徴の時間的局所性と呼ぶこととする。
また、クライアントが計算機を利用する目的は、趣味、職業などのクライアントの属性と高い相関がある。例えば、多くの工学部の学生は、レポートの作成のために表計算のアプリケーションを頻繁に利用する、或いは、CG(Computer Graphics)に興味があるユーザはCGの計算を可能とする環境を備えた計算資源を頻繁に必要とする等である。即ち、ユーザにとって、ネットワーク上に存在する計算資源の全てを必ずしも必要とするのではなく、ある局所的な計算資源群のみを必要としていると考えられる。
尚、この計算資源群から形成される空間をユーザの利用空間と呼び、その空間が局所的であることを空間的局所性と呼ぶ。
以下、本実施の形態の利用形態指向P2P型グリッドコンピューティングシステムにおける、上記時間的局所性を利用した論理リンクの再構築について図1を参照しつつ説明する。図1は利用形態指向P2P型グリッドコンピューティングシステムにおける時間的局所性を利用した動的リンクの再構築の概略を説明するための図である。
図1にはピアとして1a〜1eが図示されている。図1(a)の状態で、その一つのピア1aによって検索が行われ、ピア1dが発見されて利用されたとする。すると、検索を行ったピア(クライアントピア)1aは、ピア1dのIP(Intenet Protocol)アドレスをリストとして保持し、ピア1dをピア1aの発信ピアとして論理リンク(以下、発信リンクと言う。)を張る。この状態が図1(b)に示されている。これにより、これ以降、ピア(クライアントピア)1aの作成した検索要求は、ピア1aからピア1dに1ホップで伝播することになり、検索効率の向上が実現される。但し、図1(b)の発信リンクは、ピア(クライアントピア)1aにとって高確率でヒットするピアに接続するものであるが、ピア(クライアントピア)1aの発信ピアであるピア1dにとってピア1aは高確率にヒットする計算資源であることは保障されていないため、ピア1aからピア1dへの単方向リンクとする。
尚、新たに発信リンクを張ると予め定められた最大の許容発信リンク数を超えるような場合には、最近もっとも利用されていないピアの発信リンクを削除した後に新たな発信リンクを張る。
以下、本実施の形態の利用形態指向P2P型グリッドコンピューティングシステムにおける、上記空間的局所性を利用した論理リンクの再構築について図2を参照しつつ説明する。図2は利用形態指向P2P型グリッドコンピューティングシステムにおける空間的局所性を利用した動的リンクの再構築の概略を説明するための図である。
図2にはピアとして2a〜2jが図示されている。図2の状態で、その一つのピア2aによって検索が行われ、ピア2c,2f,2jが発見されて利用されたとする。すると、ピア2c,2f,2jは、互いのIPアドレスを取得し(この詳細は後述)、互いに論理リンク(以下、転送リンクと言う。)を張る。この状態が図2(b)に示されている。この転送リンクはリンクを張った時点では双方向リンクである。
尚、新たに転送リンクを張ると予め定められた最大の許容転送リンク数を超えるような場合には、転送リンクの構築が最も古いリンクを削除した後に新たな転送リンクを張る。
さらに、空間的局所性の連鎖による緩やかな関係を持つクラスタ(利用空間)の形成について図3を参照しつつ説明する。図3は空間的局所性の連鎖による緩やかな関係を持つクラスタの形成を説明するための図である。図3のピア間を結ぶ矢印は転送リンクを示している。
図3にはクラスタとしてクラスタ1A,1B,1Cが図示されており、クラスタ1A,1B,1Cは、夫々、検索元のピア(クライアントピア)が異なり、図2で説明した空間的局所性を利用した論理リンクの再構築により形成されたものである。
図3の例では、クラスタ1Aにはピア3a〜3gが含まれており、クラスタ1Bにはピア3f〜3lが含まれており、クラスタ1Cにはピア3l〜3pが含まれている。そして、ピア3f,3gの夫々はクラスタ1A,1Bの双方に含まれ、ピア3lはクラスタ1B,1Cの双方に含まれている。複数のクラスタに含まれているピアとそれに張られた転送リンクの存在とによって、例えば検索要求がクラスタ1Aのみ形成するピアからクラスタ1Bのみ形成するピアへ、クラスタ1Aを形成するピアからクラスタ1Cを形成するピアへ少ない数のホップで伝播することが可能になる。
例えば、クラスタ1Aとクラスタ1Bとの空間が重なりあっているため、クラスタ1Aの形成起源となったピア(クライアントピア)のユーザと、クラスタ1Bの形成起源となったピア(クライアントピア)のユーザとは、同じ趣味或いは同じ職業など共通した属性を持ったユーザ同士であると考えられる。このため、クラスタ1Aのユーザはクラスタ1Bに存在する計算資源をクラスタ1A,1B以外のクラスタに存在する計算資源より利用する可能性が高いと考えられる。このことから、検索要求がクラスタ1Aからクラスタ1Bへ少ない数のホップで伝播する本実施の形態のシステムは、検索効率の向上を実現したものと言える。
また、クラスタ1Aとクラスタ1Cとの空間は直接重なり合っていないが、クラスタ1Aとクラスタ1Cの夫々はクラスタ1Bと空間が重なりあっているため、例えば、クラスタ1Aのユーザはクラスタ1Cに存在する計算資源をクラスタ1A,1B,1C以外のクラスタに存在する計算資源より利用する可能性が高いと考えられる。このことから、検索要求がクラスタ1Aからクラスタ1Cへ少ない数のホップで伝播する本実施の形態のシステムは、検索効率の向上を実現したものと言える。
以下、本実施の形態における利用形態指向P2P型グリッドコンピューティングシステムにおいて行われる論理リンク(発信リンク、転送リンク)の張替え処理の手順について図面を参照しつつ説明する。
まず、ピア(クライアントピア)において行われる処理手順について図4を参照しつつ説明する。図4はクライアントピアの動作を示すフローチャートである。尚、発信リンクの張替えはキャッシュ機構内のブロック置換アルゴリズムとして有名なLRU(Least Recently Used)の考えに基づき、最近もっとも利用していないピアの論理リンク(発信リンク)を削除する。また、初期段階において他のピアと発信リンクの張られていない状態では手動で発信リンクを張るピアを設定し、或いは、検索要求をブロードキャストして発見され利用されたピアと発信リンクを張るようにする。
まず、計算資源を発見しようとするピア(クライアントピア)は、検索キーと検索範囲(ホップ数)を決定し、それに基づいた検索要求を発信リンクを介して発信リンクにより接続されたピアへ送信し、結果通知待ち状態になる(ステップS101)。尚、検索要求は転送リンクを介して順次転送される。その後、クライアントピアはヒットしたリソースピアからの結果通知を受け取る(ステップS102)。そして、再度検索を行うか否かを判断し(ステップS103)、再度検索を行う場合(S103:YES)、ステップS101の処理へ戻り、ステップS101〜ステップS103の処理を繰り返し行う。一方、再度検索を行わない場合(S103:NO)、ステップS104の処理へ進む。クライアントピアにおいて、ユーザは結果通知を利用して利用する計算資源の選択を行う(ステップS104)。
クライアントピアは、現時点の発信リンク数Dcurrentが予め設定した許容発信リンク数Dmax未満であるかを判断する(ステップS105)。そして、現時点の発信リンク数Dcurrentが許容発信リンク数Dmax未満でない場合(S105:NO)、最近もっとも利用していないピアの発信リンクを削除し(ステップS106)、ステップS107の処理へ進む。これは、あまり利用されないピアに張った発信リンクを削除して、ネットワークの負荷が大きくなりすぎることを回避するものである。一方、現時点の発信リンク数Dcurrentが許容発信リンク数Dmax未満である場合(S105:YES)、ステップS107の処理へ進む。
クライアントピアは、検索で新たにヒットし利用するリソースピアのIPアドレスを発信ピアIDリスト(発信対象計算機リスト)に登録し、そのリソースピアとの間で発信リンクを構築する(ステップS107)。続いて、クライアントピアは、検索で新たにヒットし利用するリソースピアに対して発信ピアIDリストを含む転送リンク張替え要求(第1転送リスト張替え要求)を行う(ステップS108)。その後、クライアントピアはリソースピアの計算資源を利用してジョブの実行を行う。
次に、リソースピアにおいて行われる処理手順について図5から図8を参照しつつ説明する。図5から図8はリソースピアの動作を示すフローチャートである。
図5に示すように、リソースピアは、他のピアからの接続要求待ち状態にあり(ステップS201)、他のピアから要求データを受け取る(ステップS202)。受け取った要求データが転送リンク張替え要求であるか否かを判断する(ステップS203)。転送リンク張替え要求でない場合(S203:NO)、資源探索処理(図6参照)を実行する(ステップS204)。一方、転送リンク張替え要求である場合(S204:YES)、ステップS205の処理へ進む。
クライアントピアは転送リンク張替え要求に発信ピアIDリストが含まれているかを判断する(ステップS205)。発信ピアIDリストが含まれている場合(S205:YES)、第1転送リンク張替え処理(図7参照)を実行する(ステップS206)。一方、発信ピアIDリストが含まれていない場合(S205:NO)、第2転送リンク張替え処理(図8参照)を実行する(ステップS207)。
資源探索処理(S204)では、図6に示すように、受け取った検索要求を転送する必要があるかを判断する(ステップS301)。転送する必要がある場合(S301:YES)、発信ピアIDリスト及び転送ピアIDリストを参照して発信リンク及び転送リンクを介して検索要求を転送し(ステップS302)、ステップS303の処理へ進む。一方、転送する必要がない場合(S301:NO)、ステップS303の処理へ進む。
クライアントピアは検索要求に含まれる検索キーを基に自身が検索にヒットするか(内容一致するか)を判断する(ステップS303)。内容一致しない場合(S303:NO)、接続要求待ち(図5のステップS201)へ戻る。一方、内容一致する場合(S303:YES)、ステップS304の処理へ進み、検索元のクライアントピアへ結果(自身が検索にヒットする旨など)を通知し(ステップS304)、接続要求待ち(図5のステップS201)へ戻る。
第1転送リンク張替え処理(S206)は、クライアントピアから転送リンク張替え要求を受け取った場合であり、図7に示すように、リソースピアは現時点の転送リンク数Fcurrentが予め設定した許容転送リンク数Fmax未満であるかを判断する(ステップS401)。そして、現時点の転送リンク数Fcurrentが許容転送リンク数Fmax未満でない場合(S401:NO)、転送リンク構築の最も古い転送リンクを削除し(ステップS402)、ステップS403の処理へ進む。これは、転送リンクの数が大きくならないようにして、ネットワークの負荷が大きくなりすぎることを回避するものである。一方、現時点の転送リンク数Fcurrentが許容転送リンク数Fmax未満である場合(S401:YES)、ステップS403の処理へ進む。
リソースピアは転送リンク張替え要求に含まれる発信ピアIDリストを参照してそれに含まれるピアのうち転送リンクを張っていないピアのIPアドレスを転送ピアIDリスト(第1転送対象計算機リスト)に登録し、そのピアとの間で転送リンクの構築を行う(ステップS403)。続いて、リソースピアは、新たに転送リンクを構築したピアに対して転送リンク張替え要求(第2転送リンク張替え要求)を行い(ステップS404)、接続要求待ち(図5のステップS201)へ戻る。但し、この転送リンク張替え要求にはクライアントピアが行う転送リンク張替え要求とは異なり、発信ピアIDリストが含まれていない。
第2転送リンク張替え処理(S207)は、クライアントピアによって新たに発見され利用されたリソースピアから転送リンク張替え要求を受け取った場合であり、図8に示すように、リソースピアは現時点の転送リンク数Fcurrentが予め設定した許容転送リンク数Fmax未満であるかを判断する(ステップS501)。そして、現時点の転送リンク数Fcurrentが許容転送リンク数Fmax未満でない場合(S501:NO)、転送リンク構築の最も古い転送リンクを削除し(ステップS502)、ステップS503の処理へ進む。これは、転送リンクの数が大きくならないようにして、ネットワークの負荷が大きくなりすぎることを回避するものである。一方、現時点の転送リンク数Fcurrentが許容転送リンク数Fmax未満である場合(S501:YES)、ステップS503の処理へ進む。
リソースピアは受け取った転送リンク張替え要求の発信元のピアのIPアドレスを転送ピアIDリスト(第2転送対象計算機リスト)に登録し、転送リンク張替え要求の発信元のピアとの間で転送リンクの構築を行い(ステップS503)、接続要求待ち(図5のステップS201)へ戻る。
以下、上述した処理を実現するために必要となるピアの機能について図9を参照しつつ説明する。図9はピアの機能を説明するための機能ブロック図である。
ピアは、クライアントピアとして動作する際の各種処理を行うクライアント処理部10と、リソースピアとして動作する際の各種処理を行うリソース処理部20として機能する各部を有する。
クライアント処理部10は、発信ピアIDリスト保持部10aと、検索要求処理部10bと、発信リンク数判断部10cと、発信リンク削除部10dと、発信リンク張替え部10eと、転送リンク張替え要求部10fとして機能する各部を有している。
発信ピアIDリスト保持部10aは、各発信リンクの接続先のピアのIPアドレスを列記した発信ピアIDリストを保持する。
検索要求処理部10bは、検索キーとホップ回数を含む検索要求を作成し、作成した検索要求を発信ピアIDリストを参照して発信リンクの張られたピアに対して発信リンクを介して送信し、リソースピアから結果通知を受け取る(ステップS101,S102,S103)。この検索要求処理部10bは再度検索を行うかの判断も行う(ステップS104)。
発信リンク数判断部10cは、現時点の発信リンク数Dcurrentが許容発信リンク数Dmax未満であるかを判断する(ステップS105)。
発信リンク削除部10dは、現時点の発信リンク数Dcurrentが許容発信リンク数Dmax未満でない場合に発信リンクの一つを削除する(ステップS106)。
発信リンク張替え部10eは、結果通知などを利用し検索の結果新たに発見され利用されるピアのIPアドレスを発信ピアIDリストに登録し、そのピアとの間で発信リンクを張る(ステップS107)。
転送リンク張替え要求部10fは、新たに発信リンクを張ったピアに対して発信ピアIDリストを含む転送リンク張替え要求を行う(ステップS108)。
リソース処理部20は、要求データ判断部21と、資源探査処理部22(ステップS204)と、転送ピアIDリスト保持部23と、第1転送リンク張替え処理部24(ステップS206)と、第2転送リンク張替え処理部25(ステップS207)として機能する各部を有している。
要求データ判断部21は、他のピアから要求データを受け取り、それが検索要求か転送リンク張替え要求かを判断し、さらに、転送リンク張替え要求に発信ピアIDリストが含まれているかを判断する(ステップS202,S203)。
資源探索処理部22は、転送する必要のあるピアに対して検索要求を転送する(ステップS301,S302)転送処理部22aと、検索処理(ステップS303,S304)を行う検索処理部22bとして機能する各部を有している。
転送ピアIDリスト保持部23は、各転送リンクの接続先のピアのIPアドレスを列記した転送ピアIDリスト(第1、第2転送対象計算機リスト)を保持する。尚、IPアドレスは登録された順が分かるように登録されている。
第1転送リンク張替え処理部24は、転送リンク数判断部24aと、転送リンク削除部24bと、転送リンク張替え部24cと、転送リンク張替え要求部24dとして機能する各部を有している。
転送リンク数判断部24aは、現時点の転送リンク数Fcurrentが許容転送リンク数Fmax未満であるかを判断する(ステップS401)。
転送リンク削除部24bは、現時点の転送リンク数Fcurrentが許容転送リンク数Fmax未満でない場合転送リンクの一つを削除する(ステップS402)。
転送リンク張替え部24cは、転送リンク張替え要求に含まれる発信ピアIDリストを参照して転送ピアIDリストに新たに転送先となるピアのIPアドレスを登録して、そのピアとの間で転送リンクを張る(ステップS403)。
転送リンク張替え要求部24dは、新たに転送リンクを張ったピアに対して、転送リンク張替え要求を行う(ステップS404)。
第2転送リンク張替え処理部25は、転送リンク数判断部25aと、転送リンク削除部25bと、転送リンク張替え部25cとして機能する各部を有している。
転送リンク数判断部25aは、現時点の転送リンク数Fcurrentが許容転送リンク数Fmax未満であるかを判断する(ステップS501)。
転送リンク削除部25bは、現時点の転送リンク数Fcurrentが許容転送リンク数Fmax未満でない場合転送リンクの一つを削除する(ステップS502)。
転送リンク張替え部25cは、転送リンク張替え要求の発信元のピアのIPアドレスを転送ピアIDリストに登録し、そのピアとの間で転送リンクを張る(ステップS503)。
以下、時間的局所性と空間的局所性を考慮して発信リンクと転送リンクとが張られた状態での検索要求の要求データの流れについて図10を参照しつつ説明する。図10は検索要求の要求データの流れを説明するための図である。但し、図10にはピアA〜Iが図示されており、現在の発信リンク及び転送リンクの状態が示されている。尚、ピア間の片方向の矢印は発信リンクを、両方向の矢印は転送リンクを示している。
ピアAにより、検索要求の要求データが作成され、要求データが送出される。この送出される要求データをピアB,C,Fの夫々が受け取り、要求データを登録する。
ピアBは受け取った要求データをピアE,Iへ転送し、ピアCは受け取ったピアD,Fへ転送し、ピアFは受け取った要求データをピアC,E,H,Gへ転送する。ピアFはピアCから受け取る要求データを既に受け取っているため、その要求データを破棄する。ピアCはピアFから受け取る要求データを既に受け取っているため、その要求データを破棄する。そして、はじめて要求データを受け取ったピアD,E,G,H,Iは受け取った要求データを登録する。
これを繰り返すことにより、要求データが次々と伝播することになる。
以上説明したように、本実施の形態によれば、上述した時間的局所性を考慮して発信リンクを張り、また、上述した空間的局所性を考慮して転送リンクを張っているので、発信リンクや転送リンクが張られた後は検索効率が向上するという利点が得られる。
以上、本発明の好適な実施の形態について説明したが、本発明は上述の実施の形態に限られるものではなく、特許請求の範囲に記載されている範囲において様々な設計変更が可能なものである。
例えば、上述した実施の形態では要求データを次に送る先のピアのIPアドレスのみを保持する構成にしているが、これに限らず、次に送る先のピアのIPアドレスを保持するとともに、2つ先のピアのIPアドレスを保持するようにしてもよい。この場合、耐障害性の向上が図られるという利点がある。
これを実現する仕組みについて図11を参照しつつ説明する。図11は2つ先のピア(次々候補)のIPアドレスを保持する仕組みを説明するための図である。但し、図11は図10の状態に対応している。尚、ピアAのみ次々候補を示している。
ここで、ピアAに着目する。ピアAは次候補(一つ先のピア)のピアB,C,Fに検索要求を送信する。これを受け取ったピアB,C,Fは、夫々、次候補をピアAへ送信する。
ピアAはピアBから次候補を受け取るとそれをピアBに関する次々候補として登録する。
ピアAはピアCから次候補を受け取ると、ピアCから受け取った次候補に含まれるピアのうち自身(ピアA)と自身の次候補にあるピアFを除いて、残ったピアをピアCに関する次々候補として登録する。
ピアAはピアFから次候補を受け取ると、ピアFから受け取った次候補に含まれるピアのうち自身の次候補にあるピアCを除いて、残ったピアをピアFに関する次々候補として登録する。
尚、上述した各処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上記各種処理を行ってもよい。尚、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。更に「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。更に、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
<グリッドコンピューティングシステムにおける計算資源の状態情報のやりとり:意味情報ネットワークSIONet(Semantic Information Oriented Network)を利用した場合の応用利用例>
次に、P2Pネットワークとして意味情報ネットワークを用いたグリッドコンピューティングシステムにおいて、計算資源の情報を検索する方法の例について説明する。この意味情報ネットワークでは、情報の意味に基づいてその情報の伝送を制御し、そのために、意味情報を用いた検索を実施する。具体的な例としては、SIONetと呼ばれる意味情報ネットワークを使用する。なお、SIONetは、既存のP2Pシステムの名称であり、SIONet自身については、[SIONetについての補足説明]の項で後述する。
このように、意味情報ネットワークを通信手段として、複数の計算資源が自己の状態情報をやり取りし、これに基づいて、所望の状態を有する計算資源を検索し、検索の結果得られる(複数の)計算資源に仕事(処理)を分散協調処理させることにより、ひとつの仮想的な計算機(グリッドコンピューティング)を実現する。このため、意味情報ネットワークにより計算資源の状態の情報を検索するために、以下に示すような機能の拡張や追加を行っている。
第1に、計算資源の検索手法を、単なるファイル名のマッピングから、“意味情報に基づく”計算資源検索手法へ拡張する。本手法を用いることによって、計算資源検索の収集パラメータ検索範囲をCPU負荷状態のみならず、ネットワーク負荷や実施可能なアプリケーションの種類など他の計算資源の状態も同時に検索可能とする。
第2に、P2P(Peer to Peer)システムにおけるコミュニティの概念を利用し、コミュニティとして、静的に計算資源のグループを構築し、使用可能なアプリケーション、セキュリティの度合いなどのポリシーに基づき区分する。コミュニティを跨った情報検索を制御できるP2Pシステムを利用することによって、これまでのブロードキャストによる検索よりも、不要なトラフィックを削減でき、効率の良い検索が可能になる。
第3に、P2Pシステムにおけるコミュニティへの参加認証機能を用いて、計算資源の参加脱退を管理することにより、計算資源を一般の利用者のPC等からも広く募ることを可能にする。
第4に、HTTP(HyperText Transfer Protocol )に基づくポータルサイトを構築し、ユーザからのグリッド計算処理の受付窓口とすることによって、一般ユーザのグリッドコンピューティング利用を簡易に実現可能とする。
以下、P2P技術のうちコミュニティの管理や構築を簡易に実現する機能を有するSIONetを用いてシステムを構築した例について図面を参照して説明する。
図12は、意味情報ネットワークを用いたグリッドコンピューティングシステムにおける計算資源の状態情報のやりとりについて説明するための図であり、図13は、図12に示すグリッドコンピューティングシステムの構成要素のそれぞれが有する機能を説明するための図である。グリッドコンピューティングシステムは、図12に示すように、計算資源101〜113、ポータルサイト120、および依頼元コンピュータ(ユーザ端末)130から構成される。
SIONetのエンティティである計算資源101〜113には、SIONetソフトウエア、グリッド用ミドルウエアソフトウエアをインストールし、これらのソフトウエアを起動させる。なお、SIONetにおいては、SIONetソフトウエアを起動した端末(計算資源)をSIONetエンティティ(単に「エンティティ」ともいう)と称する。
エンティティとして起動された計算資源は、SIONetのコミュニティ作成および参加機能を用いてグリッド計算用のコミュニティ(前述のクラスタに相当)を構成する(ここで、SIONetにおいては、一般のコミュニティをイベントプレースと称する)。イベントプレースは、計算資源の各々にインストールされたグリッドミドルウエアにより、自らの計算資源の状態やネットワーク特性等(後述)を、動的または静的に“意味情報”としてSIONetの機能である意味情報フィルタ(単に「フィルタ」ともいう)に定期的に登録する。
各々の計算資源の意味情報フィルタに登録される内容としては、計算資源状態に関しては、IPアドレス/システム管理者の名前/OSバージョン/CPU負荷/実施可能なアプリケーション/アーキテクチャタイプ/メモリ容量等がある。また、ネットワーク特性に関しては、バンド幅/レイテンシ/プロトコルなどがある。
また、エンティティとして起動された計算資源はポータルサイトからの問い合わせ(刺激)に対して、条件を満たした場合に、応答(発火)する。
なお、図14は、上述した計算資源におけるソフトウエア構造を図で示したものであり、計算資源(エンティティ)200は、SIONetエンティティとして機能し、計算資源200のソフトウエア構造は、各種OS201(Windows(登録商標)やUNIX(登録商標)など)を基礎にして、通信用ミドルウエア202(SOAP(Simple Object Access Protocol)など)、P2P−PF(プラットフォーム)203、SIONetAPI(Application Program Interface )204、P2Pミドルウエア211からなる階層構造を有している。
また、P2Pミドルウエア211には、意味情報に基づいてネットワークサービスを実行するためのディスカバリ・エンジン・コントローラ212が装備され、計算処理資源収集機能213、計算処理割当機能214、PF(プラットフォーム)連携機能215などが設けられる。計算処理資源収集機能213は、自端末の計算資源としての状態情報や、ネットワークの状態情報を意味情報フィルタへ登録する機能を有し、計算資源の状態情報としては、例えば、IPアドレス、システム管理者の名前、OS/バージョン、CPU負荷、アプリケーション、アーキテクチャタイプ、メモリなどが登録され、ネットワーク状態情報としては、バンド幅、レイテンシ、プロトコルなどが登録される。なお、PF(プラットフォーム)連携機能215には、認証PF、著作権保護PF、課金PFなどが含まれる。
ポータルサイト120は、グリッドコンピューティング用のポータルサイトであり、依頼元コンピュータ(ユーザ端末)130からのグリッドコンピューティング処理要求の受け付けを行い、バーチャルマシン(Virtual Machine)を構築する機能をもつ。
ポータルサイト120には、SIONetソフトウエア、グリッド用ミドルウエアソフトウエアをインストールし、SIONetエンティティとして動作する。また、その上位レイヤにおいてWebサービス機能とバーチャルマシン機能を構築する。
ポータルサイト120のバーチャルマシンの管理機能は、VMM(Virtual Machine Manager)が行う。Webサービス機能は、ユーザ(依頼元コンピュータ)からのグリッドコンピューティング処理を受け付ける機能であり、ユーザからの要求に応じて様々なバーチャルマシンを構成するためのパラメータを、メニューとして提供する。
バーチャルマシン機能は、ユーザからの計算要求に応じて与えられた処理を複数に分割したり、各計算資源に割り振った処理の経過や結果を管理する機能である。ユーザからの処理依頼内容に応じて、個々にバーチャルマシンの構成を決定する。
また、ポータルサイト120では、バーチャルマシンを実際に構成する計算資源を、ユーザからの要求に応じて効率よく検索するために、ユーザからの計算処理要求を“意味情報”として抽出し、SIONetの意味情報検索機能を利用して検索(刺激)する。また、ポータルサイトは、信頼性向上のため複数設置する。ユーザは指定されたURL(Uniform Resource Locator)によりポータルサイトへアクセスするが、DNS機能により、複数のポータルサイトアドレスのうち、ひとつのポータルサイトアドレスがラウンドロビンにより選択され、そのアドレスを有するポータルサイトへ接続が行われる。これによって、ポータルサイトの負荷分散が実現される。
なお、図15は、上述したポータルサイトにおけるソフトウエア構造を図で示したものであり、計算資源(グリッド用計算処理リソース)300は、SIONetエンティティとして機能し、ポータルサイト300のソフトウエア構造は、各種OS301(Windows(登録商標)やUNIX(登録商標)など)を基礎にして、通信用ミドルウエア302(SOAPなど)、P2P−PF(プラットフォーム)303、SIONetAPI(Application Program Interface )304、P2Pミドルウエア311、P2POPenAPI316からなる階層構造を有している。
また、P2Pミドルウエア311には、意味情報に基づいてネットワークサービスを実行するためのディスカバリ・エンジン・コントローラ312が装備され、計算処理資源収集機能313、計算処理割当機能314、PF(プラットフォーム)連携機能315などが設けられ、ユーザ要求を意味情報へ変換し検索(刺激)すると共に、発見された計算資源を選別し、計算処理を依頼する機能を有している。また、Webサービス機能317と、グリッド(Grid)VMマネージャ318、グリッド(Grid)VMシンセサイザ319、コンパイラ320などが設けられ、HTTPによりユーザからの計算依頼を受け付け、処理内容を分割可能な場合は、分割を行い、分割した場合は結果を集約する。なお、PF(プラットフォーム)連携機能315には、認証PF、著作権保護PF、課金PFなどが含まれる。
また、依頼元コンピュータ(ユーザ端末)130は、グリッドコンピューティングシステムに計算処理を依頼するユーザの端末である。ブラウザを介してHTTPでポータルサイト120へ接続し、グリッドコンピューティング計算処理要求を行う。計算処理自体は、グリッド(ネットワーク内)において実施されるため、端末スペックは問わず、ブラウザがインストールされていることだけが要求条件である。また、依頼元コンピュータ(ユーザ端末)130による計算処理依頼は、ポータルサイト120が提供するメニューを用いてパラメータ(例えば、アプリケーション、計算処理、処理料金など)を選択することにより実施される。
以上説明したSIONetを利用したグリッドコンピューティングシステムについての構成と特徴を、以下に整理して示しておく。
グリッドコンピューティングシステムでは、システムの構成要素であるエンティティのP2P(SIONet)API上にグリッド計算資源収集機能用ミドルウエアを構築している。このSIONet上のミドルウエアにて実現される“意味情報による検索機能”を用いることにより、計算処理依頼を依頼する依頼元コンピュータからの計算処理要求に対して、最適なバーチャルマシンを構築するための計算資源を、即時に効率よく発見できる。
計算資源とポータルサイトはともにSIONetのエンティティであり、計算資源は自端末の状態を意味情報として静的・動的にフィルタに登録する。グリッドリソース収集機能用ミドルウエアにおいて意味情報として登録される内容は、計算資源情報とネットワーク特性情報である。計算資源情報として意味情報化される内容は、IPアドレス、システム管理者の名前、OSとそのバージョン、CPU負荷、実施可能なアプリケーション、アーキテクチャタイプ、メモリ容量(総容量並びに空き容量)、ハードディスク容量(総容量並びに空き容量)等がある。また、ネットワーク特性として意味情報化される内容は、ネットワーク負荷/バンド幅/レイテンシ/プロトコルなどがある。
以上のような仕組みによって、これまでのシステムよりも、検索パラメータを多く持ち、かつその内容が計算資源の最新かつ最適な情報を示しているために、最適な計算資源を効率的に収集することができる。
また、SIONetのエンティティとなった計算資源は、グリッド計算資源として利用されるために、事前に静的な集合体であるコミュニティ(イベントプレース)を作成し、その構成員となっている必要がある。計算資源が、イベントプレースに静的に含まれ、自端末の状態を意味情報フィルタに保持しておくことによって、ポータルサイトでは、意味情報に基づく検索をかけ、最適な計算資源を、余計なトラフィックを増やさず、またディレクトリを必要とせず効果的に収集することができる。
さらに、認証機能によるイベントプレースへの入出力管理機能を用いることで、計算資源の登録/削除の管理が可能になる。よって、計算資源は、特別に用意したもののみならず、一般のユーザが使用しているような不特定多数の端末までも利用することが可能になる。
また、イベントプレースは、それを構成するエンティティが何らかの理由でダウンした場合も、その両隣りのエンティティが自動的にリンクをつなぎ接続を継続する機能を有している。従ってこのイベントプレースを用いることで、計算資源が何らかの理由でダウンした場合でも、その端末(計算資源)のみがイベントプレースから離脱することになり、システム全体には影響を及ぼさない。
さらに、イベントプレースを用いることで、アプリケーションやセキュリティ度に応じたコミュニティ(イベントプレース)の構築が可能になり、システムに多様性を持たせることが可能になる。
ポータルサイトは、依頼元コンピュータ(ユーザ端末)からの処理要求を受け付け、その要求を満足するバーチャルマシンを構成するための計算資源を意味情報として変換し、その意味情報を基にSIONetの機能を用いて検索する(ポータルサイトは、SIONetによる意味情報検索を行うために、予め計算資源と同じイベントプレースに参加している必要がある。)。
ポータルサイトからの計算資源検索には、計算資源の処理状況(例えば、CPU使用率、ネットワーク(NW)使用率に基づく統計情報による処理受付可能状態、メモリ容量、空きハードディスク容量)などを意味情報とそのパラメータとして与え、最適な計算資源を検索する(刺激)。
依頼元コンピュータ(ユーザ端末)からの計算処理要求受付を実施するポータルサイトは、障害時にもサービスを継続させる(信頼性向上)ため複数配備される。ユーザがどのポータルサイトを選択するかは、DNS機能を利用する。つまり、ユーザはURLを用いてポータルサイトへアクセスをするが、複数登録されているIPアドレスが、ラウンドロビンで応答されることによって、負荷の分散を行うと共に対障害性を向上させる。
ポータルサイトは、グリッドコンピューティング計算処理を依頼する依頼元コンピュータ(ユーザ端末)のスリム化のため、HTTPでの処理受付を実現し、ブラウザからアクセス可能な汎用性を実現する。
以上、意味情報ネットワークを用いて計算資源の状態情報をやりとりするグリッドコンピューティングシステムの構成と特徴について説明したが、以下において、より具体的な例を示して説明する。
図16は、SIONetネットワークの構成例について説明するための図であり、アプリケーションやセキュリティの度合いによってイベントプレースが複数に分割されている例を示している。図16に示す例では、4つのイベントプレースA〜Dがネットワーク中に含まれる例を示している。
ポータルサイト401〜403は、存在するすべてのイベントプレースA〜Dにまたがって存在している。依頼元コンピュータ(ユーザ端末)410からグリッドコンピューティング処理の依頼を受けたポータルサイトは、必要に応じて処理を分割した後、必要な計算資源を決定し、それらを意味情報によって検索する。ここで、ポータルサイトの要望する計算資源と関連のない情報を有するイベントプレースには、意味情報検索が波及しないため、検索トラフィックを削除することが可能である。
エンティティのそれぞれの詳細処理イメージを、図17、図18を参照して説明する。ここでは説明を簡単にするために、ひとつのイベントプレース内での処理の例を示す。図17および図18に示す例は、1台のポータルサイト501と、計算資源R1〜R6の6台にてイベントプレースを形成した場合のシステムであり、左端の依頼元コンピュータ(ユーザ端末)510がこのグリッドシステムへ処理を依頼するものであることを前提としている例を示している。
図17は、処理イメージを表すシーケンスの例を示す図である。図18は意味情報の例を示す図であり、依頼元コンピュータ510からの処理依頼を受けたポータルサイト501がバーチャルマシンを構築するため計算資源R1〜R6を検索するための条件と、その時の各々の計算資源R1〜R6の状態を示している。計算資源R1〜R6のこれらの状態は、意味情報としてフィルタF1〜F6へ登録されているものである。
最初に、計算資源R1〜R6及びポータルサイトにおける前処理について説明する。
まず、個々の計算資源R1〜R6では、SIONetのエンティティとして起動し、その上位にグリッドリソース検索・収集用のミドルウエアを起動する。このミドルウエアは動的または静的に、計算資源の負荷状況や実行できるアプリケーション名などを意味情報としてSIONetのフィルタF1〜F6へ登録する。SIONetエンティティとなった個々の計算資源R1〜R6は、一つのイベントプレース(グリッドイベントプレース)を静的に構成する。ここでは、図17および図18に示すような構成でイベントプレースは形成されているものとする。
また、ポータルサイト501もまたSIONetエンティティであり、計算資源群と同一のグリッドイベントプレースの一員である。ここでのポータルサイト501は、イベントプレース上において、図に示す場所に位置するものとする。
以下、図17を参照して、順を追って処理イメージを記述する。尚、計算資源R1、R4およびR6が条件(要件情報)を満たし、それ以外の計算資源R2、R3およびR5は条件を満たさない。
最初に、計算処理を依頼するグリッドユーザである依頼元コンピュータ510は、最寄りのポータルサイトをDNS機能(URL→IPアドレス変換機能)により発見し、グリッド計算処理の依頼をWebブラウザを用いて実施する。この時、実行するアプリケーション、セキュリティ度、ターンアラウンドタイムなどのバーチャルマシンを構成するためのパラメータを指定する。パラメータの指定は予めポータルサイト501に設定されたプルダウンメニューを用いて実施する(ステップS1)。
計算処理を受け付けたポータルサイト501は、計算処理依頼内容に応じて、並列処理できるものはタスクを分割する。さらに、依頼元コンピュータ(ユーザ端末)510から受け付けたパラメータを元に計算処理を実施するためのバーチャルマシンを構築するための必要な計算資源を算出する。これらの機能は、VMM(Virtual Machine Manager)によって実施される。またさらに、これら必要な計算資源を収集するための検索キーとしての意味情報を決定する(処理A:ステップS2)。
ポータルサイト501では、最適な計算資源を発見するため、処理Aにて決定された意味情報を用いてSIONet機能による検索を開始し、“意味情報による検索メッセージ”を計算資源R1へ送信する(刺激を与える)(ステップS3)。
計算資源R1は、ポータルサイト501から受信した“意味情報による検索メッセージ”をイベントプレースで接続されている次の計算資源R2へ転送する(刺激を転送する)(ステップS4)。
また、ポータルサイト501により刺激を受けた計算資源R1は、フィルタF1の内容がポータルサイトの刺激に対する条件を満たしているため、SIONet機能により“発火”する(発火A)。発火したという情報は、計算資源R1によって発火条件と共にポータルサイト501へ応答される。なお、発火条件は以下の通りである。CPU=Pent*u* 1.5GHz、CPU使用率=20%、OS=W*n200*、アプリケーション=P*v−Ra*、メモリ=128MB、HD=20GB、NW=100Mbps、NW使用率=30%である(ステップS5)。
計算資源R2は、受信した“意味情報による検索メッセージ”を、イベントプレースで接続されている次の計算資源R3および計算資源R4へそのまま転送する(刺激を転送する)(ステップS6)。なお、計算資源R2は、イベントプレースにおいて、その先に2つの接続先を持っているため、2箇所の計算資源R3及びR4へ刺激を転送する。計算資源R2自体は、そのフィルタF2の内容が、受信した刺激に対する要求条件を満たさないものがあるため、発火せず、そのため何もしない。また、計算資源R2からの刺激を受信した計算資源R3は、その先にイベントプレースに接続される計算資源が存在しないため刺激を転送しない上、フィルタF3の情報も刺激に対する要求条件を満たさないものがあるため、発火せず何もしない。
計算資源R2から刺激を受けた計算資源R4は、受信した“意味情報による検索メッセージ”を、イベントプレースで接続されている次の計算資源R5および計算資源R6へそのまま転送する(刺激を転送する)(ステップS7)。なお、計算資源R4は、イベントプレースにおいて、その先に2つの接続先を持っているため、2箇所へ刺激を転送する。
また、計算資源R4からの刺激を受信した計算資源R5および計算資源R6は、その先にイベントプレースに接続される計算資源が存在しないため刺激を転送せず、その上、計算資源R5は、フィルタF5の情報も刺激に対する要求条件を満たさないものがあるため、発火せず何もしない。
また、計算資源R4は、フィルタF4の内容が受信した刺激に対する条件を満たしているため、SIONet機能により“発火”する。なお、発火条件は以下の通りである。CPU=Pent*u* 850MHz、CPU使用率=30%、OS=W*n200*、アプリケーション=P*v−Ra*、メモリ=64MB、HD=8GB、NW=10Mbps、NW使用率=25%である(発火B)。発火したという情報は、計算資源R4によって発火条件と共に、ポータルサイト501に対してP2Pで応答される(ステップS8)。
また、計算資源R6は、フィルタF6の内容が受信した刺激に対する条件を満たしているため、SIONet機能により“発火”する。なお、発火条件は以下の通りである。CPU=Pent*u* 1.7GHz、CPU使用率=20%、OS=W*n200*、アプリケーション=P*v−Ra*、メモリ=256MB、HD=100GB、NW=10Mbps、NW使用率=15%である(発火C)。発火したという情報は、計算資源R6によって発火条件と共に、ポータルサイト501に対しP2Pで応答される。
ポータルサイト501は、計算資源からの発火応答を受信確認し(今回は、計算資源R1、R4、R6から3つの応答(ステップS5、S8、S9あり))、それらの応答発火条件をもとに、最適な計算資源を判別する。ここでは、VMMが必要な計算資源は“2台”と判定したため、最適な計算資源を発火条件上位から2つに絞り、計算資源R1ならびにR6と判定している。今回は、応答時間が優先内容として設定されているため、CPUのスペックと使用率、メモリ容量が計算資源R1およびR6を選定する基準となっている(処理B:ステップS10)。
ポータルサイト501では、処理Bの判定結果に基づき、計算処理を計算資源R1および計算資源R6へ割り当てる(ステップS11)。この割当は、「ポータルサイト=計算資源R1間」および「ポータルサイト=計算資源R6間」で直接P2Pにより実施される。
それから、処理Bにおいて計算資源R1に割り当てられた計算処理を、計算資源R1が実施し(処理C)、処理結果をポータルサイトへ応答(返信)する(ステップS12)。
この応答は、ポータルサイト=計算資源R1間で直接P2Pにより実施される。
また、処理Bにおいて計算資源R6に割り当てられた計算処理を、計算資源R6が実施し(処理D)、処理結果をポータルサイト501へ応答(返信)する(ステップS13)。この応答は、ポータルサイト=計算資源R6間で直接P2Pにより実施される。
その後、ポータルサイト501において、計算資源R1の処理Cと、計算資源R6の処理Dにおける処理結果を基に、全体の処理結果を統合する(処理E:ステップS14)。また、ポータルサイトは、処理Dの処理結果を、依頼元コンピュータ510へ報告する(ステップS15)。
なお、計算資源R4は、発火し応答したが、ポータルサイト501からの計算処理依頼がなかったため、タイムアウトにより初期状態へ遷移する(処理F:ステップS16)。
以上、意味情報ネットワークを用いて計算資源の状態情報をやりとりするグリッドコンピューティングシステムについて説明したが、意味情報ネットワークを構成して、意味情報により最適な計算資源を収集することにより、ディレクトリレスのメリットを活かしたまま、グリッドコンピューティングシステムの計算資源収集における検索条件を多様化することが可能となる。
また、オンデマンドで計算資源のステータス情報(CPU負荷だけでなく様々な情報)のアップデートが可能となり、リアルタイムに最適な計算資源を発見することができ、グリッドコンピューティングシステムの性能を向上することができる。
また、ディレクトリレスシステムとなることにより、計算資源とディレクトリ間の動的な情報交換やルックアップ手続きが削減され、余分なトラフィックの削減につながる。また、意味情報による転送機能とイベントプレースを用いることで、ブロードキャスト検索が改善され、さらにトラフィック量の軽減を図ることができる。
また、計算資源を処理するアプリケーションやセキュリティ度によってイベントプレースを分けることが可能になり、システムを多様化でき、サービスのバリエーションを増大させることが出来る。また、計算資源の個々の障害時においてもシステム全体に全く影響を与えず、サービスを継続することが可能になる。さらに、専用の計算資源以外にも一般ユーザの使用する端末も計算資源として使用することが可能になり、グリッドコンピューティングシステムのグローバル化に寄与する。
次に、前述のクライアントピアとしての依頼元コンピュータ及び前述のリソースピアとしての計算資源により、計算資源の状態情報をやりとりする場合の例を説明する。
ここでは、図19に示すようなグリッドコンピューティングシステムを想定する。同図において、依頼元コンピュータ610は計算資源600aと接続され、計算資源600aは、さらに、計算資源600b、600c、600dと接続されている。また、計算資源600bは計算資源600eと接続され、計算資源600dは計算資源600fと接続され、さらに、計算資源600fは計算資源600gと接続されいている。以下では、計算資源600a〜600gを総称して計算資源600と記載する。なお、計算資源600aは、ポータルサーバと同一の機能を備えた計算資源であってもよく、依頼元コンピュータ610がポータルサーバと同一であってもよい。また、計算資源のいずれかが依頼元コンピュータとなってもよい。
図20は、図19における依頼元コンピュータ610の資源探索処理フローを示す。
依頼元コンピュータ610は、検索キーとして、利用したい計算資源のシステム条件を示す要件情報の入力を受ける(ステップS21)。システム条件には、CPU使用率、メモリ残量、実行可能なアプリケーション等を用いることができ、例えば、「CPU使用率x%以下」などが入力される。
依頼元コンピュータ610は、要件情報の入力を受けると、自身に隣接する計算資源600aへ検索メッセージ(前述のクライアントピアが送出する検索要求に相当)を送信する(ステップS22)。刺激としての検索メッセージには、入力された要件情報を示す検索キーと、ネットワーク上で自らを識別できる識別子とが少なくとも含まれる。ネットワーク上で依頼元コンピュータ610自らを識別できる識別子としては、例えば、依頼元コンピュータ610のIPアドレスなどが用いられる。依頼元コンピュータ610は、検索メッセージの送信後に受信待ちタイマを起動し、検索メッセージの結果応答受信待ち状態になる(ステップS23)。依頼元コンピュータ610は、検索キーを満たした計算資源600から発火の通知としての結果応答データ(前述のリソースピアが送信する結果通知)を受信すると(ステップS24)、この結果応答データを内部に保存する(ステップS25)。そして、受信待ちタイマが0になるまで、検索キーを満たした計算資源600からの結果応答データの受信及び結果応答データの保存を繰り返す。依頼元コンピュータ610は、受信待ちタイマが0になると、結果応答受信待ち状態を終了し(ステップS26)、ステップS25において内部に保存していた受信結果一覧をディスプレイなどに表示する(ステップS27)。
図21は、計算資源600の検索メッセージ受信待ち処理フローを示す。
計算資源600は、電源投入時や、意味情報ネットワークに参加したときなどに、後述する計算資源情報取得処理(図22)により自身の備える計算資源の静的情報を収集し、フィルタに登録する(ステップS41)。静的情報は、時間経過により変化しないか、あるいは、短時間では変化しない情報であり、例えば、CPUのスペック、IPアドレス、OSの種類、実行可能なアプリケーション名、メモリ容量(総容量)、HD容量(総容量)、などである。なお、静的情報収集は、定期的にあるいは静的情報の変更時などに実行することでもよい。
静的情報をフィルタに登録した後、計算資源600は、依頼元コンピュータ610あるいは他の計算資源600から検索メッセージを受信する(ステップS42)。検索メッセージには、検索キーと、依頼元コンピュータ610の識別子が含まれる。計算資源600は、受信した検索メッセージを転送すべき他の計算資源600があるか否かを判断する(ステップS43)。検索メッセージを転送すべき計算資源600があった場合は(ステップS43:Yes)、受信した検索メッセージを転送する(ステップS44)。
続いて、計算資源600は、受信した検索メッセージに含まれる検索キーと、フィルタに登録されている静的情報をマッチングする(ステップS45)。具体的には、検索キーに含まれる静的情報と、自身のフィルタに登録されている静的情報が合致するか否かを判断する。検索キーに含まれる静的情報と、自身のフィルタに登録されている静的情報が合致しないと判断した場合には、次の検索メッセージの受信待ちとなる。
一方、検索キーに含まれる静的情報と、自身のフィルタに登録されている静的情報が合致すると判断した場合、計算資源600は、後述する計算資源情報取得処理(図22)により、自らの備える計算資源の動的情報を取得する(ステップS46)。この動的情報とは、逐次変化する情報であり、例えば、自身の現在のCPU使用率、メモリ残量、ネットワークの状態などである。計算資源600は、受信した検索メッセージに含まれる検索キーと、取得した動的情報をマッチングする(ステップS47)。具体的には、検索キーに含まれる動的情報と、自身の動的情報が合致するか否かを判断する。検索キーに含まれる動的情報と、自身の動的情報が合致しないと判断した場合(ステップS47:No)、次の検索メッセージの受信待ちとなる。一方、合致すると判断した場合(ステップS47:Yes)、計算資源600は、依頼元コンピュータ610に、自身の識別子と自身の計算資源の情報とを含む結果応答を送信する(ステップS48)。
図22は、計算資源600の計算資源情報取得処理フローを示す。
計算資源600は、自身の静的情報を収集し、テンポラリ領域に保持しておく(ステップS61)。その後、計算資源600はマルチスレッドによりスレッドを作成し、動的情報取得処理を実行する。
計算資源600は、動的情報取得処理における動的情報取得ループが開始されると(ステップS62)、自身の現在のCPU使用率、メモリ残量、ネットワークの状態など動的情報を取得する(ステップS63)。そして、取得した動的情報のデータを、テンポラリ領域に保持する(ステップS64)。計算資源600は、動的情報取得ループ終了条件を満たしていない場合、動的情報を取得し、保存するステップS63〜S64の処理を、例えば、10秒間隔などで周期的に繰り返す。また、動的情報取得ループ終了条件を満たした場合は、動的情報取得ループを終了する(ステップS65)。動的情報取得ループ終了条件とは、例えば、P2Pネットワークからの離脱などである。
一方、計算資源600は、ステップS61における静的情報の収集後、問合せ要求待ちループを開始し、図21で示される検索メッセージ受信待ち処理からの問合せの受信待ち状態となる(ステップS71)。計算資源600は、検索メッセージ受信待ち処理からの問合せを受信すると、問合せの種類による分岐を行う(ステップS72)。図21のステップS41から送信された静的情報の問合せであれば、ステップS61においてテンポラリ領域に保持していた静的情報を返信する(ステップS73)。また、図21のステップS46から送信された動的情報の問合せであれば、ステップS64においてテンポラリ領域に保持していた動的情報を返信する(ステップS74)。計算資源600は、問合せ要求待ちループ終了条件を満たしていない場合、問合せ要求の受信待ち状態となり、問合せ要求を受信し、情報を返送するステップS72〜S74の処理を繰り返す。また、問合せ要求待ちループ終了条件を満たした場合は、問合せ要求待ちループを終了する(ステップS75)。問合せ要求待ちループ終了条件とは、例えば、P2Pネットワークからの離脱などである。
なお、図20〜図22の処理により、依頼元コンピュータ610が検索キーを満たした計算資源600の一覧を表示した後は、図17のステップS10以降と同様の処理により、依頼元コンピュータ610は、計算処理を適切な計算資源600へ割り当て、計算資源600は、割当てられた計算処理を実施して、処理結果を依頼元コンピュータ610へ返送する。
[SIONetについての補足説明]
ここで、「SIONet」について、補足して説明しておく。
図23に示すように、SIONetは、意味情報(メタデータ)に基づいてイベントを配送するメタネットワークであり、ネットワーク上に超分散する不特定多数のエンティティの中から特定のエンティティを動的に検索・発見することが出来る。すなわら、SIONetは、従来のネットワークで用いていた宛先アドレス(誰に対して送信する)の代わりに、意味情報(どういう人に対して送信する)に基づいてイベントを配送するネットワークである。
SIONetでは、SIONetエンティティの定義として、パーソナルコンピュータ、ワークステーション、情報携帯端末、携帯電話などのあらゆるコンピュータを総称して、ホストと呼ぶ。さらに、SIONetソフトウエアを実装したホストを、「SIONetエンティティ」もしくは単に「エンティティ」と呼ぶ。エンティティは、SIONetソフトウエアを実装したホストを、SIONetにおける自律分散協調の単位として仮想化したものである。
また、エンティティは、SE(サービスエンティティ)、NE(ネットワークエンティティ)、SNE(サービスネットワークエンティティ)3つのタイプに分類される。
SE(サービスエンティティ)は、サービスとして振る舞うエンティティであり、P2Pアプリケーションをエンティティ内の内部エンティティとして仮想化したものである。
NE(ネットワークエンティティ)は、ネットワーク構成要素として振る舞うエンティティであり、SIONetを構築・運営するための内部エンティティであり、複数のNE(ネットワークエンティティ)が分散協調することにより、ネットワークが自己組織化される。
SNE(サービスネットワークエンティティ)は、サービスおよびネットワーク構成要素の両者の観点から振る舞うエンティティであり、ピュア型P2Pネットワークを構築する際に用いられ、これらが自律分散することにより、ネットワークを自己組織化する。
なお、図23に示すように、イベントは、意味情報(Semantic Information)とデータから構成され、意味情報としては、例えば、「東京近郊在住」、「クラシックミュージックが趣味の人」、「明治通りを今歩いている人」、「旅行のコンテンツ保有者」などがある。なお、イベントの構造については後述する。
また、図24は、SIONetのメカニズムについて説明するための図であり、SIONetは複数のイベントプレースからなり、イベントプレースには複数のエンティティが含まれる。また、SIONetは、SIONetの構成要素を含めたすべてのエンティティが自律分散協調することにより、ネットワークが自己組織化される自律分散協調ネットワーク(自律分散コンピュータ)である。SIONetのネットワーク構成要素となるネットワークエンティティとしては、「意味情報スイッチ(SI−SW)」、「意味情報ルータ(SI−R)」、「意味情報ゲートウエイ(SI−GW)」があり、その他の構成要素としては、「セッション」、「シェアードリンク(SL)」などがあり、これらが必要に応じて自己組織化することにより、セキュアーでスケーラブルなP2Pネットワークをボトムアップアプローチで構築することができる。
なお、意味情報スイッチ(SI−SW)は、意味情報に基づいて、イベントをスイッチングするスイッチング機構を提供するネットワークエンティティ(NE)であり、意味情報ルータ(SI−R)は、意味情報に基づいて、SI−SW間のイベントルーティング(イベント転送)を行うネットワークエンティティ(NE)であり、意味情報ゲートウェイ(SI−GW)は、イベントプレース間のイベント共有を実現するためのネットワークエンティティ(NE)である。
また、「セッション」とは、意味情報スイッチ(SI−SW)とサービスエンティティ(SE)間のコネクションであり、サービスエンティティ(SE)は、セッションを介してのみイベントの送受信を行うことができる。なお、セッションには、イベントの送信セッション、受信セッション、送受信セッションの3タイプがある。また、「シェアードリンク(共有リンク)」とは、複数の異なるエンティティ間において、双方向のイベント共有を行うための概念である。例えば、あるエンティティが他のエンティティに対して、シェアードリンク(SL: Shared Link)の確立要求を行うことによりエンティティグループ(イベントプレース)が形成される。
図25は、SIONetのイベントの構造の例を示す図であり、SIONetイベントは、制御情報部(CIPart(Control Information Part))と、意味情報部(SIPart(Semantic Information Part))と、データ部(DATAPart)から構成される。
制御情報部(CIPart)は、SIONetの実効制御用の制御フィールドであり、サービスエンティティ(SE)には開放されていない。意味情報部(SIPart)には、送信データの意味情報(語彙とその値)、および意味情報の語彙概念(イベントタイプ)が格納される。データ部(DATAPart)には、送信データ(テキストデータ、バイナリデータなど様々なデータやプログラム)が格納される。
なお、刺激とは、イベントを送信することである。反応とは、フィルタがイベントに合致することである。発火とは、合致したフィルタを登録したエンティティを起動してイベント通知することである。
また、図26は、意味情報スイッチとフィルタについて説明するための図であり、意味情報スイッチ(SI−SW)は、意味情報に基づきイベントをスイッチングするスイッチング機構を提供する。サービスエンティティ(SE)は、セッション(SI−SWとSE間のコネクション)を介してイベントの送受信を行う。
また、フィルタは、サービスエンティティ(SE)が、セッションを介してイベントの取得条件を意味情報スイッチ(SI−SW)に登録する内容のことである。取得したいイベントのイベントタイプ(イベントの語彙概念)や意味情報との照合条件を設定する。
また、図27は、イベントプレースと意味情報ゲートウエイについて説明するための図であり、イベントプレースは、意味情報スイッチ(SI−SW)の集合体である。
イベントプレースはグルーピンクの概念であり、セキュリティの保障単位、負荷分散の単位、グループのグループ化などとして利用される概念であり、以下の目的を達成する。
第1に、イベントの転送範囲を制限する。すなわち、刺激と発火に基づく連鎖反応の波及範囲を制限する。
第2に、イベントルーティングの対象範囲を制限する。シェアードリンクにより接続された意味情報スイッチ(SI−SW)の集合であり、イベントプレースことにリンクトポロジーやイベントルーティング方式を選択することができる。
第3に、意味情報体系の一意性が保障される空間であり、取り扱うイベントタイプの爆発的増大を抑止する。
また、意味情報ゲートウェイ(SI−GW)は、イベントプレース間のイベント共有を実現するためのネットワークエンティティ(NE)である。これにより、用途や目的の異なるイベントプレース間の連携が可能になる。
<グリッドコンピューティングシステムにおける原始的計算資源収集方法:ファイル交換用P2Pシステムを応用した場合の例>
次に、グリッドコンピューティングシステムにおける計算資源収集方法について説明する。グリッドコンピューティングシステムでは、上述するようにP2P(Peer to Peer)式の通信により、計算資源の状態情報を相互にやりとりする。また、各計算資源が自分自身の状態(CPU使用率など)に対応して、所定のファイル名のファイルを持っておく。また、P2Pでファイル交換するためのソフトウェア(例えば、Gnutella(登録商標)など)を用いてファイル名を検索することにより、依頼元コンピュータは、所定の状態にある計算資源を検索し、該当する状態の計算資源に対して仕事(処理)を依頼する。
図28は、計算資源収集方法を説明するためのグリッドコンピューティングシステムの構成を示す図であり、Gnutella(登録商標)などのピュア型P2Pシステムを用いて構成された例を示している。Gnutella(登録商標)におけるファイル名検索は、ファイル名検索が連鎖しながら実施されるという仕組みになっており、本発明のグリッドコンピューティングシステムでは、この機能を、計算資源の状態情報(例えば、CPU使用率)をファイル名により連鎖して検索できるように拡張したものである。
図28において、計算資源1001〜1013はGnutella Net(登録商標)にあらかじめ参加しており、CPU使用率をバックグランドで測定し、その値に対応するファイル名をピュア型P2Pのシステム(Gnutella(登録商標)など)の指定する所定のディレクトリに保存する。
計算処理を依頼する依頼元コンピュータ1020は、はじめにGnutella Net(登録商標)に参加し、その後に、プロセス(例えば、タスクなど)を割り当てるのに必要な空CPUを有する計算資源をGnutella Net(登録商標)へのブロードキャストにより検索する。要求を満足する計算資源1001〜1013は依頼元コンピュータ1020へ応答し、依頼元コンピュータ1020は最も相応しい計算資源へ計算処理プロセスの割り当てを実施する。
また、本発明のグリッドコンピューティングシステムでは、ピュア型P2Pシステムのファイル検索機能を、CPU使用率などの検索に応用するため、CPU使用率をファイル名にどのように反映するかがポイントとなる。
このため、計算資源1001〜1013は、定期的にバックグラウンドで自端末のCPU負荷(使用率)を測定する。さらに、その得られた値から、図29(a)に示す表1に基づいたファイル名をもつファイルを作成し、ピュア型P2Pシステム(Gnutella(登録商標)など)の指定するディレクトリに保存する。
図29に示す例では、作成するファイルのファイル名と検索キーとは次のような関係にある。例えば、CPU使用率が90%以上〜100%の場合、CPUがほとんど空いていないので、“ほとんど空きなし”以上の計算資源を検索する際に利用される検索キー“J”のみで検索可能になるように、作成するファイル名は、検索キー“J”を含み、他の検索キーを含まないファイル名“J”になる。また、CPU使用率が80%以上〜90%未満の場合、CPUが最低10%空いているので、“ほとんど空きなし”以上の計算資源を検索する際に利用される検索キー“J”及び“10%以上空き”の計算資源を検索する際に利用される検索キー“I”のみで検索可能になるように、作成するファイル名は、検索キー“J”と“I”とを含み、他の検索キーを含まないファイル名“IJ”になる。さらに、CPU使用率が70%以上〜80%未満の場合、CPUが最低20%空いているので、“ほとんど空きなし”以上の計算資源を検索する際に利用される検索キー“J”、“10%以上空き”の計算資源を検索する際に利用される検索キー“I”、及び“20%以上空き”の計算資源を検索する際に利用される検索キー“H”のみで検索可能になるように、作成するファイル名は、検索キー“J”と“I”と“H”とを含み、他の検索キーを含まないファイル名“HIJ”になる。
以上説明した処理を行うスクリプトを作成し、各計算資源1001〜1013上で実施させる。この機能により、定期的にCPU負荷の状態がファイル名として保存されるので、これをGnutella(登録商標)などのピュア型P2Pシステムを用いてファイル検索することにより、CPUの空き状態を考慮した計算資源の検索が可能になる。
また、依頼元コンピュータ1020からの計算資源1001〜1013の検索に際しては、図29(b)に示す表2に基づく検索キーを利用する。例えば、CPUが最低80%は遊休状態にある計算資源では、作成されるファイル名には、必ず“B”が含まれるので、依頼元コンピュータ20からは、“B”を検索キーとして検索すれば、CPU状態が80%以上遊休状態にある計算資源が発見される。そして、依頼元コンピュータ1020は発見された計算資源へ計算処理プロセスの割り当てを実施する。
上記グリッドコンピューティングシステムにおいては、グリッドコンピューティングシステムにおける計算資源収集機能を、ピュア型のP2Pシステムを用いて実現している。従来のグリッドコンピューティングシステムで一般的に利用されている管理サーバを用いるディレクトリ型の計算資源収集機能と比較して、画一的な情報提供者が存在しないブローカレス思想による情報検索手法を用いた本実施の形態では、計算資源の動的変動に対応可能であり、対障害性にも優れるグリッドコンピューティングシステムを構築できる。また本手法によりディレクトリが不要となるため、管理が容易になるというメリットも生じる。
また、上記実施の形態では、計算資源の状態情報として、CPU使用率を用いた例を示したが、これに限らず、メモリ容量や、計算速度や、通信速度などの各種の他の状態情報を使用することもでき、また、これらを組み合わせた状態情報を使用することもできる。
上述する計算資源及び依頼元コンピュータは、パーソナルコンピュータ、PDA、携帯電話等の計算機能とネットワーク接続機能を有するハードウエアならば名称・形態は問わない。また、ネットワークは有線、無線いずれの接続方法のものも含む。計算資源と依頼元コンピュータはジョブにより入れ替え可能である。
なお、上述した計算資源101〜113、200、600、1001〜1013、及び、依頼元コンピュータ130、410、510、610、1020、ならびに、ポータルサイト120、300、401〜403、501は、内部にコンピュータシステムを有している。そして、上述した計算資源101〜113、200、600、1001〜1013、及び、依頼元コンピュータ130、410、510、610、1020、ならびに、ポータルサイト120、300、401〜403、501の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上記各種処理を行ってもよい。尚、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。更に「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。更に、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
利用形態指向P2P型グリッドコンピューティングシステムにおける時間的局所性を利用した動的リンクの再構築の概略を説明するための図。 利用形態指向P2P型グリッドコンピューティングシステムにおける空間的局所性を利用した動的リンクの再構築の概略を説明するための図。 空間的局所性の連鎖による緩やかな関係を持つクラスタの形成を説明するための図。 クライアントピアの動作を示すフローチャート。 リソースピアの動作を示すフローチャート。 リソースピアの動作を示すフローチャート。 リソースピアの動作を示すフローチャート。 リソースピアの動作を示すフローチャート。 ピアの機能を説明するための機能ブロック図。 検索要求の要求データの流れを説明するための図。 2つ先のピアのIPアドレスを保持する仕組みを説明するための図。 意味情報ネットワークを用いて計算資源の状態情報をやりとりするグリッドコンピューティングシステムについて説明するための図。 図12のグリッドコンピューティングシステムの構成要素の機能について説明するための図。 図12の計算資源(エンティティ)におけるソフトウエア構造を示す図。 図12のポータルサイトにおけるソフトウエア構造を示す図。 計算資源の状態情報をやりとりするグリッドコンピューティングシステムのネットワークの構成例について説明するための図。 図16の処理イメージを表すシーケンスの例を示す図。 意味情報の例を示す図。 計算資源の状態情報をやりとりするグリッドコンピューティングシステムの構成例を示す図。 図19の依頼元コンピュータの動作を示すフローチャート。 図19の計算資源の動作を示すフローチャート。 図19の計算資源の動作を示すフローチャート。 SIONetの概要を示す図。 SIONetのメカニズムについて説明するための図。 イベントの構造の例を示す図。 意味情報スイッチとフィルタについて説明するための図。 イベントプレースと意味情報ゲートウエイについて説明するための図。 計算資源収集方法を説明するためのグリッドコンピューティングシステムについて説明するための図。 図28の計算資源が作成するファイル名と検索キーの例を示す図。
符号の説明
10 クライアント処理部、 10a 発信ピアIDリスト保持部、 10b 検索要求処理部、 10c 発信リンク数判断部、 10d 発信リンク削除部、 10e 発信リンク張替え部、 10f 転送リンク張替え要求部、 20 リソース処理部、 21 要求データ判断部、 22 資源探査処理部、 22a 転送処理部、 22b 検索処理部、 23 転送ピアIDリスト保持部、 24 第1転送リンク張替え処理部、 24a 転送リンク数判断部、 24b 転送リンク削除部、 24c 転送リンク張替え部、 24d 転送リンク張替え要求部、 25 第2転送リンク張替え処理部、 25a 転送リンク数判断部、 25b 転送リンク削除部、 25c 転送リンク張替え部、 101〜113 計算資源、 120 ポータルサイト、 130 依頼元コンピュータ、 200 計算資源、 300 ポータルサイト、 401〜403 ポータルサイト、 410 依頼元コンピュータ、 501 ポータルサイト、 510 依頼元コンピュータ、 600a〜600g 計算資源、 610 依頼元コンピュータ、 1001〜1013 計算資源、 1020 依頼元コンピュータ

Claims (15)

  1. ネットワーク上に散在する複数の計算資源を動的に結合しバーチャルマシンを構成する利用形態指向P2P型グリッドコンピューティングシステムにおいて、
    検索元の計算機は、
    単方向の論理リンクである発信リンクを張った計算機を列記した発信対象計算機リストを保持する発信対象計算機リスト保持手段と、
    前記発信対象計算機リストに基づいて各発信リンクを介して発信リンクを張った計算機に対して自身の作成した検索要求を行う検索要求手段と、
    前記発信対象計算機リストを参照して検索の結果新たに発見され利用される計算機を該発信対象計算機リストに登録して発信リンクの張替えを行う発信リンク張替え手段と、
    を備えていることを特徴とする利用形態指向P2P型グリッドコンピューティングシステム。
  2. 前記検索元の計算機は、
    前記発信リンク張替え手段により発信リンクを張り替える際に予め定められた許容発信リンク数より現在張られている発信リンク数が小さいかを判断する発信リンク数判断手段と、
    前記発信リンク数判断手段により前記許容発信リンク数より前記現在張られている発信リンク数が小さくないと判断されると現在張られている発信リンクの少なくとも一つを削除する発信リンク削除手段と、
    を更に備えたことを特徴とする請求項1に記載の利用形態指向P2P型グリッドコンピューティングシステム。
  3. 前記検索元の計算機は、
    前記発信リンク張替え手段により発信リンクを張る対象となった計算機に対して前記発信対象計算機リストを含む第1転送リンク張替え要求を行う第1張替え要求手段
    を更に備え、
    前記発信リンクを張る対象となった計算機は、
    論理リンクである転送リンクを張った計算機を列記した第1転送対象計算機リストを保持する第1転送対象計算機リスト保持手段と、
    前記発信対象計算機リストに基づいて各発信リンクを介して、前記第1転送対象計算機リストに基づいて各転送リンクを介して、計算機に対して受け取った検索要求を転送する第1検索要求転送手段と、
    前記検索元の計算機から受け取る前記第1転送リンク張替え要求に含まれる発信対象計算機リストに含まれる計算機を前記第1転送対象計算機リストに登録して転送リンクの張替えを行う第1転送リンク張替え手段と、
    前記第1転送リンク張替え手段により転送リンクを張る対象となった計算機に対して第2転送リンク張替え要求を行う第2張替え要求手段と、
    を備え、
    前記転送リンクを張る対象となった計算機は、
    論理リンクである転送リンクを張った計算機を列記した第2転送対象計算機リストを保持する第2転送対象計算機リスト保持手段と、
    前記発信対象計算機リストに基づいて各発信リンクを介して、前記第2転送対象計算機リストに基づいて各転送リンクを介して、計算機に対して受け取った検索要求を転送する第2検索要求転送手段と、
    前記第2転送リンク張替え要求の送信元の計算機を前記第2転送対象計算機リストに登録して転送リンクの張替えを行う第2転送リンク張替え手段と、
    を備えたことを特徴とする請求項1又は請求項2に記載の利用形態指向P2P型グリッドコンピューティングシステム。
  4. 前記発信リンクを張る対象となった計算機は、
    前記第1転送リンク張替え手段により転送リンクを張り替える際に予め定められた第1許容転送リンク数より現在張られている転送リンク数が小さいかを判断する第1転送リンク数判断手段と、
    前記第1転送リンク数判断手段により前記第1許容転送リンク数より前記現在張られている転送リンク数が小さくないと判断されると現在張られている転送リンクの少なくとも一つを削除する第1転送リンク削除手段と、
    を更に備えたことを特徴とする請求項3に記載の利用形態指向P2P型グリッドコンピューティングシステム。
  5. 前記転送リンクを張る対象となった計算機は、
    前記第2転送リンク張替え手段により転送リンクを張り替える際に予め定められた第2許容転送リンク数より現在張られている転送リンク数が小さいかを判断する第2転送リンク数判断手段と、
    前記第2転送リンク数判断手段により前記第2許容転送リンク数より前記現在張られている転送リンク数が小さくないと判断されると現在張られている転送リンクの少なくとも一つを削除する第2転送リンク削除手段と、
    を更に備えたことを特徴とする請求項3又は請求項4に記載の利用形態指向P2P型グリッドコンピューティングシステム。
  6. ネットワーク上に散在する複数の計算資源を動的に結合しバーチャルマシンを構成する利用形態指向P2P型グリッドコンピューティングシステムにおける計算機に用いられるコンピュータプログラムであって、
    単方向の論理リンクである発信リンクを張った計算機を列記した発信対象計算機リストに基づき、各発信リンクを介して発信リンクを張った計算機に対して自身の作成した検索要求を行う検索要求ステップと、
    前記発信対象計算機リストを参照して検索の結果新たに発見され利用される計算機を該発信対象計算機リストに登録して発信リンクの張替えを行う発信リンク張替えステップと、
    をコンピュータに実行させることを特徴とするコンピュータプログラム。
  7. 前記発信リンク張替えステップにおいて発信リンクを張り替える際に予め定められた許容発信リンク数より現在張られている発信リンク数が小さいかを判断する発信リンク数判断ステップと、
    前記発信リンク数判断ステップにおいて前記許容発信リンク数より前記現在張られている発信リンク数が小さくないと判断されると現在張られている発信リンクの少なくとも一つを削除する発信リンク削除ステップと、
    をコンピュータに実行させることを特徴とする請求項6に記載のコンピュータプログラム。
  8. 前記発信リンク張替えステップにおいて発信リンクを張る対象となった計算機に対して前記発信対象計算機リストを含む転送リンク張替え要求を行う張替え要求ステップと、
    をコンピュータに実行させることを特徴とする請求項6または請求項7に記載のコンピュータプログラム。
  9. 前記検索要求ステップにおいては、計算資源の静的状態あるいは動的状態に関する要件を示す検索キーによる検索要求を行い、
    前記検索要求の結果として、前記検索キーで示される要件を満たす他の計算機からの結果通知を受信する結果受信ステップと、
    をコンピュータに実行させることを特徴とする請求項6から請求項8のいずれかの項に記載のコンピュータプログラム。
  10. ネットワーク上に散在する複数の計算資源を動的に結合しバーチャルマシンを構成する利用形態指向P2P型グリッドコンピューティングシステムにおける計算機に用いられるコンピュータプログラムであって、
    他の計算機から受け取った検索要求を、単方向の論理リンクである発信リンクを張った計算機を列記した発信対象計算機リストに基づいて各発信リンクを介して、さらに、双方向の論理リンクである転送リンクを張った計算機を列記した転送対象計算機リストに基づいて各転送リンクを介して、さらに他の計算機へ転送する検索要求転送ステップと、
    他の計算機から転送リンク張替え要求を受け取り、この受け取った転送リンク張替え要求に含まれる発信対象計算機リスト内に列記されている計算機を、前記転送対象計算機リストに登録して転送リンクの張替えを行う転送リンク張替えステップと、
    前記転送リンク張替えステップにより転送リンクを張る対象となった計算機に対して転送リンク張替え要求を行う張替え要求ステップと、
    をコンピュータに実行させることを特徴とするコンピュータプログラム。
  11. 前記転送リンク張替えステップにおいて転送リンクを張り替える際に予め定められた許容転送リンク数より現在張られている転送リンク数が小さいかを判断する転送リンク数判断ステップと、
    前記転送リンク数判断ステップにおいて前記許容転送リンク数より前記現在張られている転送リンク数が小さくないと判断されると現在張られている転送リンクの少なくとも一つを削除する転送リンク削除ステップと、
    をコンピュータに実行させることを特徴とする請求項10に記載のコンピュータプログラム。
  12. 自身の計算資源の静的状態あるいは動的状態を示す情報を収集する計算処理資源収集ステップと、
    前記収集した情報が示す計算資源の静的状態あるいは動的状態が、前記検索要求に含まれる検索キーが示す計算資源の静的状態あるいは動的状態に関する要件を満たす場合に結果通知を返す結果通知ステップと、
    前記結果通知に対応して処理の依頼を受け、依頼された処理を行う計算処理割当ステップと、
    をコンピュータに実行させることを特徴とする請求項10または請求項11に記載のコンピュータプログラム。
  13. ネットワーク上に散在する複数の計算資源を動的に結合しバーチャルマシンを構成する利用形態指向P2P型グリッドコンピューティングシステムにおける計算機に用いられるコンピュータプログラムであって、
    他の計算機から受け取った検索要求を、単方向の論理リンクである発信リンクを張った計算機を列記した発信対象計算機リストに基づいて各発信リンクを介して、さらに、双方向の論理リンクである転送リンクを張った計算機を列記した転送対象計算機リストに基づいて各転送リンクを介して、さらに他の計算機へ転送する検索要求転送ステップと、
    転送リンク張替え要求を受け取り、この受け取った転送リンク張替え要求の送信元の計算機を前記転送対象計算機リストに登録して転送リンクの張替えを行う転送リンク張替えステップと、
    をコンピュータに実行させることを特徴とするコンピュータプログラム。
  14. 前記転送リンク張替えステップにおいて転送リンクを張り替える際に予め定められた許容転送リンク数より現在張られている転送リンク数が小さいかを判断する転送リンク数判断ステップと、
    前記転送リンク数判断ステップにおいて前記許容転送リンク数より前記現在張られている転送リンク数が小さくないと判断されると現在張られている転送リンクの少なくとも一つを削除する転送リンク削除ステップと、
    をコンピュータに実行させることを特徴とする請求項13に記載のコンピュータプログラム。
  15. 自身の計算資源の静的状態あるいは動的状態を示す情報を収集する計算処理資源収集ステップと、
    前記収集した情報が示す計算資源の静的状態あるいは動的状態が、前記検索要求に含まれる検索キーが示す計算資源の静的状態あるいは動的状態に関する要件を満たす場合に結果通知を返す結果通知ステップと、
    前記結果通知に対応して処理の依頼を受け、依頼された処理を行う計算処理割当ステップと、
    をコンピュータに実行させることを特徴とする請求項13または請求項14に記載のコンピュータプログラム。

JP2004343726A 2004-02-06 2004-11-29 利用形態指向p2p型グリッドコンピューティングシステム、及び、コンピュータプログラム Expired - Fee Related JP4170285B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004343726A JP4170285B2 (ja) 2004-02-06 2004-11-29 利用形態指向p2p型グリッドコンピューティングシステム、及び、コンピュータプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004030713 2004-02-06
JP2004343726A JP4170285B2 (ja) 2004-02-06 2004-11-29 利用形態指向p2p型グリッドコンピューティングシステム、及び、コンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2005251160A true JP2005251160A (ja) 2005-09-15
JP4170285B2 JP4170285B2 (ja) 2008-10-22

Family

ID=35031547

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004343726A Expired - Fee Related JP4170285B2 (ja) 2004-02-06 2004-11-29 利用形態指向p2p型グリッドコンピューティングシステム、及び、コンピュータプログラム

Country Status (1)

Country Link
JP (1) JP4170285B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006013992A1 (ja) * 2004-08-02 2006-02-09 Sony Computer Entertainment Inc. ネットワークシステム、管理コンピュータ、クラスタ管理方法およびコンピュータプログラム
JP2007188455A (ja) * 2006-01-16 2007-07-26 Sony Computer Entertainment Inc ネットワーク資源管理装置、ネットワーク資源管理システム、ネットワーク資源管理方法
JP2008217135A (ja) * 2007-02-28 2008-09-18 Mitsubishi Electric Corp 情報管理装置
JP2009528649A (ja) * 2007-04-04 2009-08-06 ビ−エイイ− システムズ パブリック リミテッド カンパニ− 分散コンピューティングに関する改良
JP2010505196A (ja) * 2006-09-29 2010-02-18 マイクロソフト コーポレーション 効率的に拡張可能なコンピューティングのための複数のピアグループ

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006013992A1 (ja) * 2004-08-02 2006-02-09 Sony Computer Entertainment Inc. ネットワークシステム、管理コンピュータ、クラスタ管理方法およびコンピュータプログラム
US8775622B2 (en) 2004-08-02 2014-07-08 Sony Corporation Computer-based cluster management system and method
JP2007188455A (ja) * 2006-01-16 2007-07-26 Sony Computer Entertainment Inc ネットワーク資源管理装置、ネットワーク資源管理システム、ネットワーク資源管理方法
JP2010505196A (ja) * 2006-09-29 2010-02-18 マイクロソフト コーポレーション 効率的に拡張可能なコンピューティングのための複数のピアグループ
JP2008217135A (ja) * 2007-02-28 2008-09-18 Mitsubishi Electric Corp 情報管理装置
JP2009528649A (ja) * 2007-04-04 2009-08-06 ビ−エイイ− システムズ パブリック リミテッド カンパニ− 分散コンピューティングに関する改良

Also Published As

Publication number Publication date
JP4170285B2 (ja) 2008-10-22

Similar Documents

Publication Publication Date Title
Su et al. Haggle: Seamless networking for mobile applications
KR100621092B1 (ko) P2p 프로토콜을 이용하여 어플리케이션을 공유하는 방법및 장치
EP3242463B1 (en) Content distribution method and system for mobile terminal application
US20080301017A1 (en) Formation and rearrangement of ad hoc networks
CN102333127A (zh) 资源下载方法、装置及系统
US11638138B2 (en) Device-to-device content providing method
JP4170285B2 (ja) 利用形態指向p2p型グリッドコンピューティングシステム、及び、コンピュータプログラム
Bok et al. Cooperative caching for efficient data search in mobile P2P networks
JP3857258B2 (ja) グリッドコンピューティングシステム、及びグリッドコンピューティングシステムにおける計算資源収集方法
Athanaileas et al. Optimized service selection for MANETs using an AODV-based service discovery protocol
Egbe et al. Context based service discovery algorithm for ad hoc mobile cloud
Bottazzi et al. Context-awareness for impromptu collaboration in MANETs
Bok et al. Cooperative caching for multimedia data in mobile P2P networks
JP3850378B2 (ja) エンティティ装置、アドホックネットワーク構築方法及びアドホックネットワーク構築プログラム並びにその記憶媒体
Niazi Self-organized customized content delivery architecture for ambient assisted environments
JP3974357B2 (ja) シェアードリンク設定方法、通信システム、エンティティ装置、およびそのコンピュータプログラムならびにその記録媒体
JP2005038339A (ja) グリッドコンピューティングシステム、及びグリッドコンピューティングシステムにおける計算資源収集方法
KR20070081210A (ko) 웹 보조 저장장치(웹 폴더)를 이용한 효과적인 분산 네트웍시스템(피투피 시스템)
Grigoras Service-oriented naming scheme for wireless ad hoc networks
JP2003032292A (ja) 意味情報スイッチ、意味情報ルータ、方法、記録媒体、プログラム
JP3977387B2 (ja) 意味情報スイッチ、意味情報ルータ、方法、記録媒体、プログラム
JP4028429B2 (ja) コンピュータ、イベントプレース探索方法、及び、コンピュータプログラム
De Pellegrini et al. Bionets architecture: from networks to serworks
Ucan et al. Dexferizer: A service for data transfer optimization
JP2003244249A (ja) 複数のネットワークを用いた高速ファイル転送方法及びそのシステム、該システムを構成する端末装置及びその制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070816

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070904

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080325

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080729

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080806

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4170285

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120815

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120815

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130815

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140815

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees