JP4170285B2 - Usage-oriented P2P grid computing system and computer program - Google Patents
Usage-oriented P2P grid computing system and computer program Download PDFInfo
- Publication number
- JP4170285B2 JP4170285B2 JP2004343726A JP2004343726A JP4170285B2 JP 4170285 B2 JP4170285 B2 JP 4170285B2 JP 2004343726 A JP2004343726 A JP 2004343726A JP 2004343726 A JP2004343726 A JP 2004343726A JP 4170285 B2 JP4170285 B2 JP 4170285B2
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Description
本発明は、ネットワーク上に散在する複数の計算リソースを動的に結合しバーチャルマシンを構成する利用形態指向P2P型グリッド(Grid)コンピューティングシステム、及び、コンピュータプログラムに関する。 The present invention relates to a usage-oriented P2P grid (Grid) computing system and a computer program that dynamically combine a plurality of computing resources scattered on a network to configure a virtual machine.
P2P(Peer to peer)とは、個々のコンピュータがサーバを介さないで対等にやり取りするネットワークの仕組みであり、主にファイル共有のための検索を目的として利用されている。
P2Pでのファイル検索の方法は、2種類に大別される。その一つは、情報のみを一元的に管理するサーバを利用し、サーバに問い合わせをしてからファイルの実体をダウンロードしにいくハイブリッド型方式(Napster(登録商標)方式とも呼ばれる。)である。もう一つは、サーバを用いずに検索からダウンロードまで行うピュア型方式(Gnutella(登録商標)方式とも呼ばれる。)である(非特許文献1参照)。
There are two types of file search methods in P2P. One of them is a hybrid system (also called a Napster (registered trademark) system) that uses a server that manages only information centrally, inquires of the server, and then downloads a file entity. The other is a pure type system (also referred to as Gnutella (registered trademark) system) that performs search to download without using a server (see Non-Patent Document 1).
P2Pは、ファイル共有をその主たる目的としているため、検索の最適化に対しては、検索対象となるファイルのレプリカを各所に持たせる手法により、実現されている。
ストリーミングデータを共有するシェアキャストという方式では、ストリーミングデータファイルを転送する度に、転送を担ったマシンがそのレプリカを保持している。
このような手法では、グリッドコンピューティングの計算リソース収集という目的では効率化にならない。また、Winny(登録商標)と呼ばれるP2Pソフトでは、検索キーと呼ばれるメタデータを配布して、自分の存在を広く公開しているが、この手法では最初の計算機の検索を効率化できるだけで、それ以降の検索を効率化するに至っていない。
Since P2P is mainly intended for file sharing, search optimization is realized by a method in which replicas of files to be searched are provided at various locations.
In a method called share cast that shares streaming data, each time a streaming data file is transferred, the machine responsible for the transfer holds the replica.
Such a method is not efficient for the purpose of collecting computing resources of grid computing. In addition, P2P software called Winny (registered trademark) distributes metadata called search keys to widely disclose their existence, but this method can only make the first computer search more efficient. Subsequent searches have not been streamlined.
そこで、本発明は、2回目以降の検索を効率的に行うことを可能にする利用形態指向P2P型グリッドコンピューティングシステム、及び、コンピュータプログラムを提供することを目的とする。 Therefore, an object of the present invention is to provide a usage-oriented P2P type grid computing system and a computer program that enable efficient second and subsequent searches.
請求項1に記載の利用形態指向P2P型グリッドコンピューティングシステムは、ネットワーク上に散在する複数の計算資源を動的に結合しバーチャルマシンを構成する利用形態指向P2P型グリッドコンピューティングシステムにおいて、検索元の計算機は、単方向の論理リンクである発信リンクを張った計算機を列記した発信対象計算機リストを保持する発信対象計算機リスト保持手段と、前記発信対象計算機リストに基づいて各発信リンクを介して発信リンクを張った計算機に対して自身の作成した検索要求を行う検索要求手段と、前記発信対象計算機リストを参照して検索の結果新たに発見され利用される計算機を該発信対象計算機リストに登録して発信リンクの張替えを行う発信リンク張替え手段と、前記発信リンク張替え手段により発信リンクを張る対象となった計算機に対して前記発信対象計算機リストを含む第1転送リンク張替え要求を行う第1張替え要求手段と、を備え、前記発信リンクを張る対象となった計算機は、論理リンクである転送リンクを張った計算機を列記した第1転送対象計算機リストを保持する第1転送対象計算機リスト保持手段と、検索元の計算機から送信され、他の計算機により転送された検索要求を受け取り、前記第1転送対象計算機リストに基づいて各転送リンクを介して、計算機に対して受け取った検索要求を転送する第1検索要求転送手段と、前記検索元の計算機から受け取る前記第1転送リンク張替え要求に含まれる発信対象計算機リストに含まれる計算機を前記第1転送対象計算機リストに登録して転送リンクの張替えを行う第1転送リンク張替え手段と、前記第1転送リンク張替え手段により転送リンクを張る対象となった計算機に対して発信対象計算機リストが含まれない第2転送リンク張替え要求を行う第2張替え要求手段と、を備え、前記転送リンクを張る対象となった計算機は、論理リンクである転送リンクを張った計算機を列記した第2転送対象計算機リストを保持する第2転送対象計算機リスト保持手段と、検索元の計算機から送信された検索要求、または、検索元の計算機から送信され他の計算機により転送された検索要求を受け取り、前記第2転送対象計算機リストに基づいて各転送リンクを介して、計算機に対して受け取った検索要求を転送する第2検索要求転送手段と、前記第2転送リンク張替え要求の送信元の計算機を前記第2転送対象計算機リストに登録して転送リンクの張替えを行う第2転送リンク張替え手段と、を備えていることを特徴とする。
The utilization form-oriented P2P type grid computing system according to
請求項2に記載の利用形態指向P2P型グリッドコンピューティングシステムは、前記検索元の計算機は、前記発信リンク張替え手段により発信リンクを張り替える際に予め定められた許容発信リンク数より現在張られている発信リンク数が小さいかを判断する発信リンク数判断手段と、前記発信リンク数判断手段により前記許容発信リンク数より前記現在張られている発信リンク数が小さくないと判断されると現在張られている発信リンクの少なくとも一つを削除する発信リンク削除手段と、を更に備えたことを特徴とする。 The utilization form-oriented P2P grid computing system according to claim 2, wherein the search source computer is currently stretched from a predetermined allowable number of outgoing links when the outgoing links are changed by the outgoing link changing means. Outgoing link number judging means for judging whether the number of outgoing outgoing links is small, and when the outgoing link number judging means judges that the currently outgoing outgoing link number is not smaller than the allowable outgoing link number, And further comprising: outgoing link deleting means for deleting at least one of outgoing outgoing links.
請求項3に記載の利用形態指向P2P型グリッドコンピューティングシステムは、前記発信リンクを張る対象となった計算機は、前記第1転送リンク張替え手段により転送リンクを張り替える際に予め定められた第1許容転送リンク数より現在張られている転送リンク数が小さいかを判断する第1転送リンク数判断手段と、前記第1転送リンク数判断手段により前記第1許容転送リンク数より前記現在張られている転送リンク数が小さくないと判断されると現在張られている転送リンクの少なくとも一つを削除する第1転送リンク削除手段と、を更に備えたことを特徴とする。 The utilization form-oriented P2P type grid computing system according to claim 3 , wherein the computer to which the outgoing link is to be extended is a predetermined first when the transfer link is changed by the first transfer link changing means. First transfer link number determination means for determining whether the number of currently transferred transfer links is smaller than the allowable transfer link number, and the first transfer link number determination means for determining whether the current transfer link number is extended from the first allowable transfer link number. And a first transfer link deleting means for deleting at least one of the currently established transfer links when it is determined that the number of transfer links is not small.
請求項4に記載の利用形態指向P2P型グリッドコンピューティングシステムは、前記転送リンクを張る対象となった計算機は、前記第2転送リンク張替え手段により転送リンクを張り替える際に予め定められた第2許容転送リンク数より現在張られている転送リンク数が小さいかを判断する第2転送リンク数判断手段と、前記第2転送リンク数判断手段により前記第2許容転送リンク数より前記現在張られている転送リンク数が小さくないと判断されると現在張られている転送リンクの少なくとも一つを削除する第2転送リンク削除手段と、を更に備えたことを特徴とする。 The utilization form-oriented P2P type grid computing system according to claim 4 , wherein the computer to which the transfer link is to be extended has a predetermined second when the transfer link is changed by the second transfer link changing means. Second transfer link number determination means for determining whether or not the number of transfer links currently extended is smaller than the number of allowable transfer links, and the current extension of the number of transfer links from the second allowable transfer link number by the second transfer link number determination means. And a second transfer link deleting means for deleting at least one of the currently established transfer links when it is determined that the number of transfer links is not small.
請求項5に記載のコンピュータプログラムは、ネットワーク上に散在する複数の計算資源を動的に結合しバーチャルマシンを構成する利用形態指向P2P型グリッドコンピューティングシステムにおける計算機に用いられるコンピュータプログラムであって、単方向の論理リンクである発信リンクを張った計算機を列記した発信対象計算機リストに基づき、各発信リンクを介して発信リンクを張った計算機に対して自身の作成した検索要求を行う検索要求ステップと、前記発信対象計算機リストを参照して検索の結果新たに発見され利用される計算機を該発信対象計算機リストに登録して発信リンクの張替えを行う発信リンク張替えステップと、前記発信リンク張替えステップにおいて発信リンクを張る対象となった計算機に対して前記発信対象計算機リストを含む転送リンク張替え要求を行う張替え要求ステップと、をコンピュータに実行させることを特徴とする。
The computer program according to
請求項6に記載のコンピュータプログラムは、前記発信リンク張替えステップにおいて発信リンクを張り替える際に予め定められた許容発信リンク数より現在張られている発信リンク数が小さいかを判断する発信リンク数判断ステップと、前記発信リンク数判断ステップにおいて前記許容発信リンク数より前記現在張られている発信リンク数が小さくないと判断されると現在張られている発信リンクの少なくとも一つを削除する発信リンク削除ステップと、をコンピュータに実行させることを特徴とする。
The computer program according to
請求項7に記載のコンピュータプログラムは、前記検索要求ステップにおいては、計算資源の静的状態あるいは動的状態に関する要件を示す検索キーによる検索要求を行い、前記検索要求の結果として、前記検索キーで示される要件を満たす他の計算機からの結果通知を受信する結果受信ステップと、をコンピュータに実行させることを特徴とする。
The computer program according to
請求項8に記載のコンピュータプログラムは、ネットワーク上に散在する複数の計算資源を動的に結合しバーチャルマシンを構成する利用形態指向P2P型グリッドコンピューティングシステムにおける計算機に用いられるコンピュータプログラムであって、他の計算機から受け取った検索要求を、双方向の論理リンクである転送リンクを張った計算機を列記した転送対象計算機リストに基づいて各転送リンクを介して、さらに他の計算機へ転送する検索要求転送ステップと、他の計算機から転送リンク張替え要求を受け取り、この受け取った転送リンク張替え要求に含まれる発信対象計算機リスト内に列記されている計算機を、前記転送対象計算機リストに登録して転送リンクの張替えを行う転送リンク張替えステップと、前記転送リンク張替えステップにより転送リンクを張る対象となった計算機に対して発信対象計算機リストが含まれない転送リンク張替え要求を行う張替え要求ステップと、をコンピュータに実行させることを特徴とする。
A computer program according to
請求項9に記載のコンピュータプログラムは、前記転送リンク張替えステップにおいて転送リンクを張り替える際に予め定められた許容転送リンク数より現在張られている転送リンク数が小さいかを判断する転送リンク数判断ステップと、前記転送リンク数判断ステップにおいて前記許容転送リンク数より前記現在張られている転送リンク数が小さくないと判断されると現在張られている転送リンクの少なくとも一つを削除する転送リンク削除ステップと、をコンピュータに実行させることを特徴とする。
10. The computer program according to
請求項10に記載のコンピュータプログラムは、自身の計算資源の静的状態あるいは動的状態を示す情報を収集する計算処理資源収集ステップと、前記収集した情報が示す計算資源の静的状態あるいは動的状態が、前記検索要求に含まれる検索キーが示す計算資源の静的状態あるいは動的状態に関する要件を満たす場合に結果通知を返す結果通知ステップと、前記結果通知に対応して処理の依頼を受け、依頼された処理を行う計算処理割当ステップと、をコンピュータに実行させることを特徴とする。
The computer program according to
請求項11に記載のコンピュータプログラムは、ネットワーク上に散在する複数の計算資源を動的に結合しバーチャルマシンを構成する利用形態指向P2P型グリッドコンピューティングシステムにおける計算機に用いられるコンピュータプログラムであって、他の計算機から受け取った検索要求を、双方向の論理リンクである転送リンクを張った計算機を列記した転送対象計算機リストに基づいて各転送リンクを介して、さらに他の計算機へ転送する検索要求転送ステップと、転送リンク張替え要求を受け取り、この受け取った転送リンク張替え要求の送信元の計算機を前記転送対象計算機リストに登録して転送リンクの張替えを行う転送リンク張替えステップと、をコンピュータに実行させることを特徴とする。 The computer program according to claim 11 is a computer program used for a computer in a usage-oriented P2P type grid computing system that dynamically combines a plurality of computing resources dispersed on a network to constitute a virtual machine, a search request received from another computer, via a respective transfer links based on the transfer target computer list enumerating computer pitched forward link is a bidirectional logical links, further search request transfer to be transferred to another computer Causing the computer to execute a step and a transfer link switching step of receiving the transfer link switching request, registering the computer that has transmitted the received transfer link switching request in the transfer target computer list, and transferring the transfer link. It is characterized by.
請求項12に記載のコンピュータプログラムは、前記転送リンク張替えステップにおいて転送リンクを張り替える際に予め定められた許容転送リンク数より現在張られている転送リンク数が小さいかを判断する転送リンク数判断ステップと、前記転送リンク数判断ステップにおいて前記許容転送リンク数より前記現在張られている転送リンク数が小さくないと判断されると現在張られている転送リンクの少なくとも一つを削除する転送リンク削除ステップと、をコンピュータに実行させることを特徴とする。 13. The computer program according to claim 12 , wherein when the transfer link is replaced in the transfer link replacement step, it is determined whether or not the number of transfer links currently extended is smaller than a predetermined allowable transfer link number. And a transfer link deletion that deletes at least one of the currently established transfer links when it is determined that the currently established transfer link number is not smaller than the allowable transfer link number in the transfer link number determining step. And causing the computer to execute the steps.
請求項13に記載のコンピュータプログラムは、自身の計算資源の静的状態あるいは動的状態を示す情報を収集する計算処理資源収集ステップと、前記収集した情報が示す計算資源の静的状態あるいは動的状態が、前記検索要求に含まれる検索キーが示す計算資源の静的状態あるいは動的状態に関する要件を満たす場合に結果通知を返す結果通知ステップと、前記結果通知に対応して処理の依頼を受け、依頼された処理を行う計算処理割当ステップと、をコンピュータに実行させることを特徴とする。
The computer program according to
本発明によれば、検索元の計算機検索の結果発見され利用された計算機と発信リンクを張るため、発信リンクを張った後に自身の作成した検索要求を1ホップで以前の検索の結果発見され利用された計算機へ伝播させることが可能となり、発信リンクを張った後の検索を効率的に行うことが可能になる。また、転送リンクを張る発明においては、例えば類似した属性の計算機へ少ないホップ数で伝播することが可能になって転送リンクを張った後の検索を効率的に行うことが可能になる。 According to the present invention, in order to establish an outgoing link with a computer that has been discovered and used as a result of a computer search as a search source, a search request created by itself after the outgoing link is established is discovered and used as a result of a previous search in one hop. It is possible to propagate to a computer that has been set up, and it is possible to efficiently perform a search after setting up an outgoing link. In the invention of establishing a transfer link, for example, it is possible to propagate to a computer having a similar attribute with a small number of hops, and it is possible to efficiently perform a search after the transfer link is established.
以下、本発明の好適な実施の形態について図面を参照しつつ説明する。 Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings.
<グリッドコンピューティングシステムにおけるリンクの確立>
本実施の形態における利用形態指向P2P型グリッドコンピューティングシステムは、Gnutella(登録商標)などのピュア型のP2Pシステムを用いて構成されている。尚、利用形態指向P2P型グリッドコンピューティングシステムを構成する計算機(ピア)の名称をその立場に応じて適宜使い分ける。
<Establishing links in grid computing systems>
The usage-oriented P2P grid computing system in the present embodiment is configured using a pure P2P system such as Gnutella (registered trademark). Note that the names of computers (peers) constituting the usage form-oriented P2P-type grid computing system are properly used according to their positions.
本実施の形態は、下記に示す事項(時間的局所性、空間的局所性)を考慮し、各クライアントにとって高確率にヒットする計算資源を論理リンク空間上で局所化することにより検索効率を向上させるものである。 This embodiment considers the following items (temporal locality, spatial locality) and improves search efficiency by localizing computing resources that hit each client with high probability on the logical link space. It is something to be made.
我々は計算機を利用するとき、ある時間の範囲内ではその利用目的が比較的限定される。例えば、ある数値流体計算を行うユーザは次の日も同じ計算資源を使って、数値流体計算を行う可能性が高いと考えられる。これは、本実施の形態の利用形態指向P2P型グリッドコンピューティングシステムにおいても同様のことが考えられる。即ち、ピア(クライアントピア)が数ホップを経由して計算資源を発見し利用したとすると、一度発見され利用された計算資源は、同じピア(クライアントピア)に、短時間の内に再び利用される可能性が高いと考えられる。尚、これをユーザの利用特徴の時間的局所性と呼ぶこととする。 When we use computers, their purpose of use is relatively limited within a certain time range. For example, it is considered that a user who performs a certain numerical fluid calculation is likely to perform a numerical fluid calculation the same day using the same calculation resource. The same can be considered for the usage pattern-oriented P2P grid computing system of the present embodiment. That is, if a peer (client peer) discovers and uses computational resources via several hops, the computational resources once discovered and used are reused by the same peer (client peer) within a short time. The possibility is high. This is called the temporal locality of the user's usage characteristics.
また、クライアントが計算機を利用する目的は、趣味、職業などのクライアントの属性と高い相関がある。例えば、多くの工学部の学生は、レポートの作成のために表計算のアプリケーションを頻繁に利用する、或いは、CG(Computer Graphics)に興味があるユーザはCGの計算を可能とする環境を備えた計算資源を頻繁に必要とする等である。即ち、ユーザにとって、ネットワーク上に存在する計算資源の全てを必ずしも必要とするのではなく、ある局所的な計算資源群のみを必要としていると考えられる。
尚、この計算資源群から形成される空間をユーザの利用空間と呼び、その空間が局所的であることを空間的局所性と呼ぶ。
The purpose of the client using the computer is highly correlated with the client attributes such as hobbies and occupations. For example, many engineering students often use spreadsheet applications to create reports, or users with an interest in CG (Computer Graphics) have an environment that allows them to calculate CG. Needing resources frequently. That is, it is considered that the user does not necessarily need all the computing resources existing on the network, but only a certain local computing resource group.
Note that a space formed from this group of computing resources is called a user's use space, and that space is local is called spatial locality.
以下、本実施の形態の利用形態指向P2P型グリッドコンピューティングシステムにおける、上記時間的局所性を利用した論理リンクの再構築について図1を参照しつつ説明する。図1は利用形態指向P2P型グリッドコンピューティングシステムにおける時間的局所性を利用した動的リンクの再構築の概略を説明するための図である。 Hereinafter, reconfiguration of a logical link using the temporal locality in the usage-oriented P2P type grid computing system of the present embodiment will be described with reference to FIG. FIG. 1 is a diagram for explaining an outline of dynamic link reconfiguration using temporal locality in a usage-oriented P2P grid computing system.
図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への単方向リンクとする。
尚、新たに発信リンクを張ると予め定められた最大の許容発信リンク数を超えるような場合には、最近もっとも利用されていないピアの発信リンクを削除した後に新たな発信リンクを張る。
FIG. 1
Note that if a new outgoing link exceeds a predetermined maximum allowable outgoing link number, a new outgoing link is established after deleting a peer outgoing link that has not been used most recently.
以下、本実施の形態の利用形態指向P2P型グリッドコンピューティングシステムにおける、上記空間的局所性を利用した論理リンクの再構築について図2を参照しつつ説明する。図2は利用形態指向P2P型グリッドコンピューティングシステムにおける空間的局所性を利用した動的リンクの再構築の概略を説明するための図である。 Hereinafter, restructuring of a logical link using the spatial locality in the usage-oriented P2P type grid computing system of the present embodiment will be described with reference to FIG. FIG. 2 is a diagram for explaining an outline of dynamic link reconfiguration using spatial locality in the usage-oriented P2P grid computing system.
図2にはピアとして2a〜2jが図示されている。図2の状態で、その一つのピア2aによって検索が行われ、ピア2c,2f,2jが発見されて利用されたとする。すると、ピア2c,2f,2jは、互いのIPアドレスを取得し(この詳細は後述)、互いに論理リンク(以下、転送リンクと言う。)を張る。この状態が図2(b)に示されている。この転送リンクはリンクを張った時点では双方向リンクである。
尚、新たに転送リンクを張ると予め定められた最大の許容転送リンク数を超えるような場合には、転送リンクの構築が最も古いリンクを削除した後に新たな転送リンクを張る。
FIG. 2
Note that when a new transfer link is established, the predetermined maximum allowable transfer link number is exceeded, a new transfer link is established after deleting the oldest link.
さらに、空間的局所性の連鎖による緩やかな関係を持つクラスタ(利用空間)の形成について図3を参照しつつ説明する。図3は空間的局所性の連鎖による緩やかな関係を持つクラスタの形成を説明するための図である。図3のピア間を結ぶ矢印は転送リンクを示している。 Further, the formation of a cluster (usage space) having a loose relationship based on a chain of spatial locality will be described with reference to FIG. FIG. 3 is a diagram for explaining the formation of a cluster having a gradual relationship by a spatial locality chain. The arrows connecting the peers in FIG. 3 indicate transfer links.
図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を形成するピアへ少ない数のホップで伝播することが可能になる。
FIG. 3 shows
In the example of FIG. 3, the
例えば、クラスタ1Aとクラスタ1Bとの空間が重なりあっているため、クラスタ1Aの形成起源となったピア(クライアントピア)のユーザと、クラスタ1Bの形成起源となったピア(クライアントピア)のユーザとは、同じ趣味或いは同じ職業など共通した属性を持ったユーザ同士であると考えられる。このため、クラスタ1Aのユーザはクラスタ1Bに存在する計算資源をクラスタ1A,1B以外のクラスタに存在する計算資源より利用する可能性が高いと考えられる。このことから、検索要求がクラスタ1Aからクラスタ1Bへ少ない数のホップで伝播する本実施の形態のシステムは、検索効率の向上を実現したものと言える。
For example, because the space between the
また、クラスタ1Aとクラスタ1Cとの空間は直接重なり合っていないが、クラスタ1Aとクラスタ1Cの夫々はクラスタ1Bと空間が重なりあっているため、例えば、クラスタ1Aのユーザはクラスタ1Cに存在する計算資源をクラスタ1A,1B,1C以外のクラスタに存在する計算資源より利用する可能性が高いと考えられる。このことから、検索要求がクラスタ1Aからクラスタ1Cへ少ない数のホップで伝播する本実施の形態のシステムは、検索効率の向上を実現したものと言える。
In addition, although the space between the
以下、本実施の形態における利用形態指向P2P型グリッドコンピューティングシステムにおいて行われる論理リンク(発信リンク、転送リンク)の張替え処理の手順について図面を参照しつつ説明する。 In the following, the procedure of the reconfiguration process of the logical link (outgoing link, transfer link) performed in the usage pattern oriented P2P type grid computing system in the present embodiment will be described with reference to the drawings.
まず、ピア(クライアントピア)において行われる処理手順について図4を参照しつつ説明する。図4はクライアントピアの動作を示すフローチャートである。尚、発信リンクの張替えはキャッシュ機構内のブロック置換アルゴリズムとして有名なLRU(Least Recently Used)の考えに基づき、最近もっとも利用していないピアの論理リンク(発信リンク)を削除する。また、初期段階において他のピアと発信リンクの張られていない状態では手動で発信リンクを張るピアを設定し、或いは、検索要求をブロードキャストして発見され利用されたピアと発信リンクを張るようにする。 First, a processing procedure performed in a peer (client peer) will be described with reference to FIG. FIG. 4 is a flowchart showing the operation of the client peer. In addition, the replacement of the outgoing link is based on the idea of LRU (Least Recently Used), which is well known as a block replacement algorithm in the cache mechanism, and the logical link (outgoing link) of the least recently used peer is deleted. In the initial stage, when the outgoing link is not established with other peers, manually set up the peer that establishes the outgoing link, or broadcast the search request to establish the outgoing link with the peer that was discovered and used. To do.
まず、計算資源を発見しようとするピア(クライアントピア)は、検索キーと検索範囲(ホップ数)を決定し、それに基づいた検索要求を発信リンクを介して発信リンクにより接続されたピアへ送信し、結果通知待ち状態になる(ステップS101)。尚、検索要求は転送リンクを介して順次転送される。その後、クライアントピアはヒットしたリソースピアからの結果通知を受け取る(ステップS102)。そして、再度検索を行うか否かを判断し(ステップS103)、再度検索を行う場合(S103:YES)、ステップS101の処理へ戻り、ステップS101〜ステップS103の処理を繰り返し行う。一方、再度検索を行わない場合(S103:NO)、ステップS104の処理へ進む。クライアントピアにおいて、ユーザは結果通知を利用して利用する計算資源の選択を行う(ステップS104)。 First, a peer (client peer) seeking a computing resource determines a search key and a search range (the number of hops), and sends a search request based on the search key to a peer connected by the outgoing link via the outgoing link. The result notification wait state is entered (step S101). The search request is sequentially transferred via the transfer link. Thereafter, the client peer receives a result notification from the hit resource peer (step S102). Then, it is determined whether or not the search is performed again (step S103). When the search is performed again (S103: YES), the process returns to step S101, and the processes of steps S101 to S103 are repeated. On the other hand, when the search is not performed again (S103: NO), the process proceeds to step S104. In the client peer, the user selects a calculation resource to be used by using the result notification (step S104).
クライアントピアは、現時点の発信リンク数Dcurrentが予め設定した許容発信リンク数Dmax未満であるかを判断する(ステップS105)。そして、現時点の発信リンク数Dcurrentが許容発信リンク数Dmax未満でない場合(S105:NO)、最近もっとも利用していないピアの発信リンクを削除し(ステップS106)、ステップS107の処理へ進む。これは、あまり利用されないピアに張った発信リンクを削除して、ネットワークの負荷が大きくなりすぎることを回避するものである。一方、現時点の発信リンク数Dcurrentが許容発信リンク数Dmax未満である場合(S105:YES)、ステップS107の処理へ進む。 The client peer determines whether the current outgoing link count Dcurrent is less than the preset allowable outgoing link count Dmax (step S105). If the current outgoing link count Dcurrent is not less than the allowable outgoing link count Dmax (S105: NO), the outgoing link of the least recently used peer is deleted (step S106), and the process proceeds to step S107. This is to prevent the network load from becoming excessively large by deleting outgoing links that are set to peers that are not frequently used. On the other hand, if the current outgoing link count Dcurrent is less than the allowable outgoing link count Dmax (S105: YES), the process proceeds to step S107.
クライアントピアは、検索で新たにヒットし利用するリソースピアのIPアドレスを発信ピアIDリスト(発信対象計算機リスト)に登録し、そのリソースピアとの間で発信リンクを構築する(ステップS107)。続いて、クライアントピアは、検索で新たにヒットし利用するリソースピアに対して発信ピアIDリストを含む転送リンク張替え要求(第1転送リスト張替え要求)を行う(ステップS108)。その後、クライアントピアはリソースピアの計算資源を利用してジョブの実行を行う。 The client peer registers the IP address of the resource peer that is newly hit and used in the search in the outgoing peer ID list (sender target computer list), and establishes the outgoing link with the resource peer (step S107). Subsequently, the client peer makes a transfer link replacement request (first transfer list replacement request) including the outgoing peer ID list to the resource peer that is newly hit and used in the search (step S108). Thereafter, the client peer executes the job using the computing resource of the resource peer.
次に、リソースピアにおいて行われる処理手順について図5から図8を参照しつつ説明する。図5から図8はリソースピアの動作を示すフローチャートである。
図5に示すように、リソースピアは、他のピアからの接続要求待ち状態にあり(ステップS201)、他のピアから要求データを受け取る(ステップS202)。受け取った要求データが転送リンク張替え要求であるか否かを判断する(ステップS203)。転送リンク張替え要求でない場合(S203:NO)、資源探索処理(図6参照)を実行する(ステップS204)。一方、転送リンク張替え要求である場合(S204:YES)、ステップS205の処理へ進む。
Next, a processing procedure performed in the resource peer will be described with reference to FIGS. 5 to 8 are flowcharts showing the operation of the resource peer.
As shown in FIG. 5, the resource peer is waiting for a connection request from another peer (step S201), and receives request data from the other peer (step S202). It is determined whether or not the received request data is a transfer link replacement request (step S203). If it is not a transfer link replacement request (S203: NO), a resource search process (see FIG. 6) is executed (step S204). On the other hand, if it is a transfer link replacement request (S204: YES), the process proceeds to step S205.
クライアントピアは転送リンク張替え要求に発信ピアIDリストが含まれているかを判断する(ステップS205)。発信ピアIDリストが含まれている場合(S205:YES)、第1転送リンク張替え処理(図7参照)を実行する(ステップS206)。一方、発信ピアIDリストが含まれていない場合(S205:NO)、第2転送リンク張替え処理(図8参照)を実行する(ステップS207)。 The client peer determines whether or not the outgoing peer ID list is included in the transfer link switching request (step S205). If the calling peer ID list is included (S205: YES), the first transfer link reassignment process (see FIG. 7) is executed (step S206). On the other hand, if the calling peer ID list is not included (S205: NO), the second transfer link reassignment process (see FIG. 8) is executed (step S207).
資源探索処理(S204)では、図6に示すように、受け取った検索要求を転送する必要があるかを判断する(ステップS301)。転送する必要がある場合(S301:YES)、発信ピアIDリスト及び転送ピアIDリストを参照して発信リンク及び転送リンクを介して検索要求を転送し(ステップS302)、ステップS303の処理へ進む。一方、転送する必要がない場合(S301:NO)、ステップS303の処理へ進む。
クライアントピアは検索要求に含まれる検索キーを基に自身が検索にヒットするか(内容一致するか)を判断する(ステップS303)。内容一致しない場合(S303:NO)、接続要求待ち(図5のステップS201)へ戻る。一方、内容一致する場合(S303:YES)、ステップS304の処理へ進み、検索元のクライアントピアへ結果(自身が検索にヒットする旨など)を通知し(ステップS304)、接続要求待ち(図5のステップS201)へ戻る。
In the resource search process (S204), as shown in FIG. 6, it is determined whether it is necessary to transfer the received search request (step S301). If transfer is necessary (S301: YES), the search request is transferred via the transmission link and the transfer link with reference to the transmission peer ID list and the transfer peer ID list (step S302), and the process proceeds to step S303. On the other hand, if it is not necessary to transfer (S301: NO), the process proceeds to step S303.
Based on the search key included in the search request, the client peer determines whether it hits the search (contents match) (step S303). If the contents do not match (S303: NO), the process returns to waiting for a connection request (step S201 in FIG. 5). On the other hand, if the contents match (S303: YES), the process proceeds to the process of step S304, the result is notified to the search source client peer (eg, that the search hits itself) (step S304), and a connection request is waited (FIG. 5). Return to step S201).
第1転送リンク張替え処理(S206)は、クライアントピアから転送リンク張替え要求を受け取った場合であり、図7に示すように、リソースピアは現時点の転送リンク数Fcurrentが予め設定した許容転送リンク数Fmax未満であるかを判断する(ステップS401)。そして、現時点の転送リンク数Fcurrentが許容転送リンク数Fmax未満でない場合(S401:NO)、転送リンク構築の最も古い転送リンクを削除し(ステップS402)、ステップS403の処理へ進む。これは、転送リンクの数が大きくならないようにして、ネットワークの負荷が大きくなりすぎることを回避するものである。一方、現時点の転送リンク数Fcurrentが許容転送リンク数Fmax未満である場合(S401:YES)、ステップS403の処理へ進む。 The first transfer link transfer process (S206) is a case where a transfer link transfer request is received from the client peer, and as shown in FIG. 7, the resource peer has an allowable transfer link number Fmax preset by the current transfer link number Current. It is judged whether it is less than (step S401). If the current transfer link number Current is not less than the allowable transfer link number Fmax (S401: NO), the oldest transfer link for transfer link construction is deleted (step S402), and the process proceeds to step S403. This is to prevent the load on the network from becoming too large by preventing the number of transfer links from increasing. On the other hand, when the current transfer link number Current is less than the allowable transfer link number Fmax (S401: YES), the process proceeds to step S403.
リソースピアは転送リンク張替え要求に含まれる発信ピアIDリストを参照してそれに含まれるピアのうち転送リンクを張っていないピアのIPアドレスを転送ピアIDリスト(第1転送対象計算機リスト)に登録し、そのピアとの間で転送リンクの構築を行う(ステップS403)。続いて、リソースピアは、新たに転送リンクを構築したピアに対して転送リンク張替え要求(第2転送リンク張替え要求)を行い(ステップS404)、接続要求待ち(図5のステップS201)へ戻る。但し、この転送リンク張替え要求にはクライアントピアが行う転送リンク張替え要求とは異なり、発信ピアIDリストが含まれていない。 The resource peer refers to the outgoing peer ID list included in the transfer link reassignment request and registers the IP addresses of peers included in the peer that do not have the transfer link in the transfer peer ID list (first transfer target computer list). Then, a transfer link is established with the peer (step S403). Subsequently, the resource peer makes a transfer link replacement request (second transfer link replacement request) to the peer that has newly constructed the transfer link (step S404), and returns to the connection request wait (step S201 in FIG. 5). However, unlike the transfer link switching request made by the client peer, this transfer link switching request does not include the outgoing peer ID list.
第2転送リンク張替え処理(S207)は、クライアントピアによって新たに発見され利用されたリソースピアから転送リンク張替え要求を受け取った場合であり、図8に示すように、リソースピアは現時点の転送リンク数Fcurrentが予め設定した許容転送リンク数Fmax未満であるかを判断する(ステップS501)。そして、現時点の転送リンク数Fcurrentが許容転送リンク数Fmax未満でない場合(S501:NO)、転送リンク構築の最も古い転送リンクを削除し(ステップS502)、ステップS503の処理へ進む。これは、転送リンクの数が大きくならないようにして、ネットワークの負荷が大きくなりすぎることを回避するものである。一方、現時点の転送リンク数Fcurrentが許容転送リンク数Fmax未満である場合(S501:YES)、ステップS503の処理へ進む。 The second transfer link transfer process (S207) is a case where a transfer link transfer request is received from a resource peer newly discovered and used by a client peer. As shown in FIG. It is determined whether the Current is less than the preset allowable transfer link number Fmax (step S501). If the current transfer link number Current is not less than the allowable transfer link number Fmax (S501: NO), the oldest transfer link of the transfer link construction is deleted (step S502), and the process proceeds to step S503. This is to prevent the load on the network from becoming too large by preventing the number of transfer links from increasing. On the other hand, when the current transfer link number Current is less than the allowable transfer link number Fmax (S501: YES), the process proceeds to step S503.
リソースピアは受け取った転送リンク張替え要求の発信元のピアのIPアドレスを転送ピアIDリスト(第2転送対象計算機リスト)に登録し、転送リンク張替え要求の発信元のピアとの間で転送リンクの構築を行い(ステップS503)、接続要求待ち(図5のステップS201)へ戻る。 The resource peer registers the IP address of the source peer of the received transfer link reconfiguration request in the transfer peer ID list (second transfer target computer list), and establishes the transfer link with the source peer of the transfer link reconfiguration request. Construction is performed (step S503), and the process returns to the connection request wait (step S201 in FIG. 5).
以下、上述した処理を実現するために必要となるピアの機能について図9を参照しつつ説明する。図9はピアの機能を説明するための機能ブロック図である。
ピアは、クライアントピアとして動作する際の各種処理を行うクライアント処理部10と、リソースピアとして動作する際の各種処理を行うリソース処理部20として機能する各部を有する。
Hereinafter, the function of the peer necessary for realizing the above-described processing will be described with reference to FIG. FIG. 9 is a functional block diagram for explaining the function of the peer.
The peer includes each unit that functions as a
クライアント処理部10は、発信ピアIDリスト保持部10aと、検索要求処理部10bと、発信リンク数判断部10cと、発信リンク削除部10dと、発信リンク張替え部10eと、転送リンク張替え要求部10fとして機能する各部を有している。
発信ピアIDリスト保持部10aは、各発信リンクの接続先のピアのIPアドレスを列記した発信ピアIDリストを保持する。
検索要求処理部10bは、検索キーとホップ回数を含む検索要求を作成し、作成した検索要求を発信ピアIDリストを参照して発信リンクの張られたピアに対して発信リンクを介して送信し、リソースピアから結果通知を受け取る(ステップS101,S102,S103)。この検索要求処理部10bは再度検索を行うかの判断も行う(ステップS104)。
The
The calling peer ID
The search request processing unit 10b creates a search request including the search key and the number of hops, and transmits the created search request to the peer with the outgoing link via the outgoing link with reference to the outgoing peer ID list. The result notification is received from the resource peer (steps S101, S102, S103). The search request processing unit 10b also determines whether to perform a search again (step S104).
発信リンク数判断部10cは、現時点の発信リンク数Dcurrentが許容発信リンク数Dmax未満であるかを判断する(ステップS105)。
発信リンク削除部10dは、現時点の発信リンク数Dcurrentが許容発信リンク数Dmax未満でない場合に発信リンクの一つを削除する(ステップS106)。
発信リンク張替え部10eは、結果通知などを利用し検索の結果新たに発見され利用されるピアのIPアドレスを発信ピアIDリストに登録し、そのピアとの間で発信リンクを張る(ステップS107)。
The outgoing link
The outgoing
The outgoing
転送リンク張替え要求部10fは、新たに発信リンクを張ったピアに対して発信ピアIDリストを含む転送リンク張替え要求を行う(ステップS108)。
The transfer link
リソース処理部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アドレスは登録された順が分かるように登録されている。
The
The request
The resource
The transfer peer ID
第1転送リンク張替え処理部24は、転送リンク数判断部24aと、転送リンク削除部24bと、転送リンク張替え部24cと、転送リンク張替え要求部24dとして機能する各部を有している。
転送リンク数判断部24aは、現時点の転送リンク数Fcurrentが許容転送リンク数Fmax未満であるかを判断する(ステップS401)。
転送リンク削除部24bは、現時点の転送リンク数Fcurrentが許容転送リンク数Fmax未満でない場合転送リンクの一つを削除する(ステップS402)。
転送リンク張替え部24cは、転送リンク張替え要求に含まれる発信ピアIDリストを参照して転送ピアIDリストに新たに転送先となるピアのIPアドレスを登録して、そのピアとの間で転送リンクを張る(ステップS403)。
転送リンク張替え要求部24dは、新たに転送リンクを張ったピアに対して、転送リンク張替え要求を行う(ステップS404)。
The first transfer link
The transfer link
The transfer
The transfer link switching unit 24c refers to the outgoing peer ID list included in the transfer link switching request, registers the IP address of the new transfer destination peer in the transfer peer ID list, and transfers the transfer link with the peer. (Step S403).
The transfer link
第2転送リンク張替え処理部25は、転送リンク数判断部25aと、転送リンク削除部25bと、転送リンク張替え部25cとして機能する各部を有している。
転送リンク数判断部25aは、現時点の転送リンク数Fcurrentが許容転送リンク数Fmax未満であるかを判断する(ステップS501)。
転送リンク削除部25bは、現時点の転送リンク数Fcurrentが許容転送リンク数Fmax未満でない場合転送リンクの一つを削除する(ステップS502)。
転送リンク張替え部25cは、転送リンク張替え要求の発信元のピアのIPアドレスを転送ピアIDリストに登録し、そのピアとの間で転送リンクを張る(ステップS503)。
The second transfer link
The transfer link
The transfer
The transfer
以下、時間的局所性と空間的局所性を考慮して発信リンクと転送リンクとが張られた状態での検索要求の要求データの流れについて図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は受け取った要求データを登録する。
これを繰り返すことにより、要求データが次々と伝播することになる。
Hereinafter, a flow of request data for a search request in a state where an outgoing link and a forward link are extended in consideration of temporal locality and spatial locality will be described with reference to FIG. FIG. 10 is a diagram for explaining the flow of request data for a search request. However, peers A to I are shown in FIG. 10, and the current outgoing link and transfer link states are shown. Note that a one-way arrow between peers indicates an outgoing link, and a two-way arrow indicates a transfer link.
The request data for the search request is created by the peer A, and the request data is sent out. Each of the peers B, C, and F receives the transmitted request data and registers the request data.
Peer B forwards the received request data to peers E and I, peer C forwards the received request data to peers D and F, and peer F forwards the received request data to peers C, E, H, and G. Since the peer F has already received the request data received from the peer C, the peer F discards the request data. Since peer C has already received the request data received from peer F, it discards the request data. Then, the peers D, E, G, H, and I that have received the request data for the first time register the received request data.
By repeating this, the request data is propagated one after another.
以上説明したように、本実施の形態によれば、上述した時間的局所性を考慮して発信リンクを張り、また、上述した空間的局所性を考慮して転送リンクを張っているので、発信リンクや転送リンクが張られた後は検索効率が向上するという利点が得られる。 As described above, according to the present embodiment, the outgoing link is set in consideration of the temporal locality described above, and the transfer link is extended in consideration of the spatial locality described above. After the link or the transfer link is established, there is an advantage that the search efficiency is improved.
以上、本発明の好適な実施の形態について説明したが、本発明は上述の実施の形態に限られるものではなく、特許請求の範囲に記載されている範囲において様々な設計変更が可能なものである。
例えば、上述した実施の形態では要求データを次に送る先のピアの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に関する次々候補として登録する。
Although the preferred embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments, and various design changes can be made within the scope described in the claims. is there.
For example, in the above-described embodiment, only the IP address of the peer to which request data is next sent is held. However, the present invention is not limited to this. The IP address of the next peer may be held. In this case, there is an advantage that fault tolerance can be improved.
A mechanism for realizing this will be described with reference to FIG. FIG. 11 is a diagram for explaining a mechanism for holding the IP addresses of two peers (candidates). However, FIG. 11 corresponds to the state of FIG. Only peer A shows candidates one after another.
Here, pay attention to peer A. Peer A transmits a search request to peers B, C, and F of the next candidate (one peer ahead). The peers B, C, and F that have received this transmit the next candidates to the peer A, respectively.
When peer A receives the next candidate from peer B, it registers it as a candidate for peer B one after another.
When Peer A receives the next candidate from Peer C, it excludes itself (Peer A) and Peer F in its next candidate among the peers included in the next candidate received from Peer C, and the remaining peers are related to Peer C. Register as candidates one after another.
When the peer A receives the next candidate from the peer F, the peer A registers the remaining peers as candidates for the peer F one after another, except for the peer C included in the next candidate received from the peer F.
尚、上述した各処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上記各種処理を行ってもよい。尚、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。更に「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。 It should be noted that a program for realizing the functions of each processing unit described above is recorded on a computer-readable recording medium, the program recorded on the recording medium is read into a computer system, and executed to execute the above-described various processes. You may go. The “computer system” here includes an OS and hardware such as peripheral devices. The “computer system” includes a WWW system having a homepage providing environment (or display environment). The “computer-readable recording medium” refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM, and a CD-ROM, and a storage device such as a hard disk built in the computer system. Further, the “computer-readable recording medium” refers to a volatile memory (RAM) in a computer system that becomes a server or a client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. In addition, those holding programs for a certain period of time are also included.
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。更に、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。 The program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.
<グリッドコンピューティングシステムにおける計算資源の状態情報のやりとり:意味情報ネットワークSIONet(Semantic Information Oriented Network)を利用した場合の応用利用例>
次に、P2Pネットワークとして意味情報ネットワークを用いたグリッドコンピューティングシステムにおいて、計算資源の情報を検索する方法の例について説明する。この意味情報ネットワークでは、情報の意味に基づいてその情報の伝送を制御し、そのために、意味情報を用いた検索を実施する。具体的な例としては、SIONetと呼ばれる意味情報ネットワークを使用する。なお、SIONetは、既存のP2Pシステムの名称であり、SIONet自身については、[SIONetについての補足説明]の項で後述する。
<Exchange of state information of computing resources in grid computing system: Application usage example when using semantic information network SIONet (Semantic Information Oriented Network)>
Next, an example of a method for searching for information on computing resources in a grid computing system using a semantic information network as a P2P network will be described. In this semantic information network, transmission of the information is controlled based on the meaning of the information, and for this purpose, a search using the semantic information is performed. As a specific example, a semantic information network called SIONet is used. SIONet is the name of an existing P2P system, and SIONet itself will be described later in the section “Supplemental explanation about SIONet”.
このように、意味情報ネットワークを通信手段として、複数の計算資源が自己の状態情報をやり取りし、これに基づいて、所望の状態を有する計算資源を検索し、検索の結果得られる(複数の)計算資源に仕事(処理)を分散協調処理させることにより、ひとつの仮想的な計算機(グリッドコンピューティング)を実現する。このため、意味情報ネットワークにより計算資源の状態の情報を検索するために、以下に示すような機能の拡張や追加を行っている。 In this way, a plurality of computing resources exchange their own state information using the semantic information network as a communication means, and based on this, the computing resources having a desired state are searched and obtained as a result of the search (several). A virtual computer (grid computing) is realized by distributing and coordinating work (processing) to computing resources. For this reason, the following functions are expanded or added in order to retrieve information on the status of computing resources through the semantic information network.
第1に、計算資源の検索手法を、単なるファイル名のマッピングから、“意味情報に基づく”計算資源検索手法へ拡張する。本手法を用いることによって、計算資源検索の収集パラメータ検索範囲をCPU負荷状態のみならず、ネットワーク負荷や実施可能なアプリケーションの種類など他の計算資源の状態も同時に検索可能とする。
第2に、P2P(Peer to Peer)システムにおけるコミュニティの概念を利用し、コミュニティとして、静的に計算資源のグループを構築し、使用可能なアプリケーション、セキュリティの度合いなどのポリシーに基づき区分する。コミュニティを跨った情報検索を制御できるP2Pシステムを利用することによって、これまでのブロードキャストによる検索よりも、不要なトラフィックを削減でき、効率の良い検索が可能になる。
First, the computational resource search method is expanded from simple file name mapping to a computational resource search method “based on semantic information”. By using this method, it is possible to search not only the CPU load status but also the status of other calculation resources such as the network load and the types of applications that can be executed in the collection parameter search range of the calculation resource search.
Second, using a community concept in a P2P (Peer to Peer) system, a group of computing resources is statically constructed as a community, and is divided based on policies such as available applications and security levels. By using a P2P system that can control information search across communities, unnecessary traffic can be reduced and efficient search can be performed as compared with conventional search by broadcast.
第3に、P2Pシステムにおけるコミュニティへの参加認証機能を用いて、計算資源の参加脱退を管理することにより、計算資源を一般の利用者のPC等からも広く募ることを可能にする。
第4に、HTTP(HyperText Transfer Protocol )に基づくポータルサイトを構築し、ユーザからのグリッド計算処理の受付窓口とすることによって、一般ユーザのグリッドコンピューティング利用を簡易に実現可能とする。
Thirdly, by managing the participation and withdrawal of computing resources using the community participation authentication function in the P2P system, it becomes possible to widely recruit computing resources from general users' PCs and the like.
Fourthly, by constructing a portal site based on HTTP (HyperText Transfer Protocol) and using it as a reception window for grid calculation processing from the user, it is possible to easily implement grid computing for general users.
以下、P2P技術のうちコミュニティの管理や構築を簡易に実現する機能を有するSIONetを用いてシステムを構築した例について図面を参照して説明する。
図12は、意味情報ネットワークを用いたグリッドコンピューティングシステムにおける計算資源の状態情報のやりとりについて説明するための図であり、図13は、図12に示すグリッドコンピューティングシステムの構成要素のそれぞれが有する機能を説明するための図である。グリッドコンピューティングシステムは、図12に示すように、計算資源101〜113、ポータルサイト120、および依頼元コンピュータ(ユーザ端末)130から構成される。
Hereinafter, an example in which a system is constructed using SIONet having a function of easily realizing community management and construction among P2P technologies will be described with reference to the drawings.
FIG. 12 is a diagram for explaining the exchange of state information of computing resources in a grid computing system using a semantic information network, and FIG. 13 is provided in each component of the grid computing system shown in FIG. It is a figure for demonstrating a function. As shown in FIG. 12, the grid computing system includes computing resources 101 to 113, a
SIONetのエンティティである計算資源101〜113には、SIONetソフトウエア、グリッド用ミドルウエアソフトウエアをインストールし、これらのソフトウエアを起動させる。なお、SIONetにおいては、SIONetソフトウエアを起動した端末(計算資源)をSIONetエンティティ(単に「エンティティ」ともいう)と称する。 SIONet software and grid middleware software are installed in the computational resources 101 to 113 which are SIONet entities, and these software are started. In SIONet, a terminal (calculation resource) that starts SIONet software is referred to as a SIONet entity (also simply referred to as “entity”).
エンティティとして起動された計算資源は、SIONetのコミュニティ作成および参加機能を用いてグリッド計算用のコミュニティ(前述のクラスタに相当)を構成する(ここで、SIONetにおいては、一般のコミュニティをイベントプレースと称する)。イベントプレースは、計算資源の各々にインストールされたグリッドミドルウエアにより、自らの計算資源の状態やネットワーク特性等(後述)を、動的または静的に“意味情報”としてSIONetの機能である意味情報フィルタ(単に「フィルタ」ともいう)に定期的に登録する。
各々の計算資源の意味情報フィルタに登録される内容としては、計算資源状態に関しては、IPアドレス/システム管理者の名前/OSバージョン/CPU負荷/実施可能なアプリケーション/アーキテクチャタイプ/メモリ容量等がある。また、ネットワーク特性に関しては、バンド幅/レイテンシ/プロトコルなどがある。
The computing resource activated as an entity constitutes a community for grid calculation (corresponding to the above-described cluster) using the SIONet community creation and participation function (herein, in SIONet, a general community is referred to as an event place). ). The event place is semantic information that is a function of SIONet by dynamically or statically “semantic information” of the state of the computational resource and network characteristics (described later) by grid middleware installed in each computational resource. Register regularly with filters (also called simply “filters”).
The contents registered in the semantic information filter of each computing resource include, for the computing resource status, IP address / system administrator name / OS version / CPU load / applicable application / architecture type / memory capacity, etc. . As for network characteristics, there are bandwidth / latency / protocol and the like.
また、エンティティとして起動された計算資源はポータルサイトからの問い合わせ(刺激)に対して、条件を満たした場合に、応答(発火)する。 The computing resource activated as an entity responds (fires) to an inquiry (stimulation) from the portal site when the condition is satisfied.
なお、図14は、上述した計算資源におけるソフトウエア構造を図で示したものであり、計算資源(エンティティ)200は、SIONetエンティティとして機能し、計算資源200のソフトウエア構造は、各種OS201(Windows(登録商標)やUNIX(登録商標)など)を基礎にして、通信用ミドルウエア202(SOAP(Simple Object Access Protocol)など)、P2P−PF(プラットフォーム)203、SIONetAPI(Application Program Interface )204、P2Pミドルウエア211からなる階層構造を有している。
FIG. 14 is a diagram showing a software structure in the above-described calculation resource. The calculation resource (entity) 200 functions as a SIONet entity, and the software structure of the
また、P2Pミドルウエア211には、意味情報に基づいてネットワークサービスを実行するためのディスカバリ・エンジン・コントローラ212が装備され、計算処理資源収集機能213、計算処理割当機能214、PF(プラットフォーム)連携機能215などが設けられる。計算処理資源収集機能213は、自端末の計算資源としての状態情報や、ネットワークの状態情報を意味情報フィルタへ登録する機能を有し、計算資源の状態情報としては、例えば、IPアドレス、システム管理者の名前、OS/バージョン、CPU負荷、アプリケーション、アーキテクチャタイプ、メモリなどが登録され、ネットワーク状態情報としては、バンド幅、レイテンシ、プロトコルなどが登録される。なお、PF(プラットフォーム)連携機能215には、認証PF、著作権保護PF、課金PFなどが含まれる。
Further, the P2P middleware 211 is equipped with a discovery engine controller 212 for executing a network service based on semantic information, and includes a calculation processing
ポータルサイト120は、グリッドコンピューティング用のポータルサイトであり、依頼元コンピュータ(ユーザ端末)130からのグリッドコンピューティング処理要求の受け付けを行い、バーチャルマシン(Virtual Machine)を構築する機能をもつ。
ポータルサイト120には、SIONetソフトウエア、グリッド用ミドルウエアソフトウエアをインストールし、SIONetエンティティとして動作する。また、その上位レイヤにおいてWebサービス機能とバーチャルマシン機能を構築する。
ポータルサイト120のバーチャルマシンの管理機能は、VMM(Virtual Machine Manager)が行う。Webサービス機能は、ユーザ(依頼元コンピュータ)からのグリッドコンピューティング処理を受け付ける機能であり、ユーザからの要求に応じて様々なバーチャルマシンを構成するためのパラメータを、メニューとして提供する。
バーチャルマシン機能は、ユーザからの計算要求に応じて与えられた処理を複数に分割したり、各計算資源に割り振った処理の経過や結果を管理する機能である。ユーザからの処理依頼内容に応じて、個々にバーチャルマシンの構成を決定する。
The
The
The virtual machine management function of the
The virtual machine function is a function that divides a process given in response to a calculation request from a user into a plurality of parts and manages the progress and result of the process allocated to each calculation resource. The configuration of the virtual machine is determined individually according to the content of the processing request from the user.
また、ポータルサイト120では、バーチャルマシンを実際に構成する計算資源を、ユーザからの要求に応じて効率よく検索するために、ユーザからの計算処理要求を“意味情報”として抽出し、SIONetの意味情報検索機能を利用して検索(刺激)する。また、ポータルサイトは、信頼性向上のため複数設置する。ユーザは指定されたURL(Uniform Resource Locator)によりポータルサイトへアクセスするが、DNS機能により、複数のポータルサイトアドレスのうち、ひとつのポータルサイトアドレスがラウンドロビンにより選択され、そのアドレスを有するポータルサイトへ接続が行われる。これによって、ポータルサイトの負荷分散が実現される。
In addition, the
なお、図15は、上述したポータルサイトにおけるソフトウエア構造を図で示したものであり、計算資源(グリッド用計算処理リソース)300は、SIONetエンティティとして機能し、ポータルサイト300のソフトウエア構造は、各種OS301(Windows(登録商標)やUNIX(登録商標)など)を基礎にして、通信用ミドルウエア302(SOAPなど)、P2P−PF(プラットフォーム)303、SIONetAPI(Application Program Interface )304、P2Pミドルウエア311、P2POPenAPI316からなる階層構造を有している。
FIG. 15 is a diagram showing the software structure in the portal site described above. The calculation resource (grid calculation processing resource) 300 functions as a SIONet entity. The software structure of the
また、P2Pミドルウエア311には、意味情報に基づいてネットワークサービスを実行するためのディスカバリ・エンジン・コントローラ312が装備され、計算処理資源収集機能313、計算処理割当機能314、PF(プラットフォーム)連携機能315などが設けられ、ユーザ要求を意味情報へ変換し検索(刺激)すると共に、発見された計算資源を選別し、計算処理を依頼する機能を有している。また、Webサービス機能317と、グリッド(Grid)VMマネージャ318、グリッド(Grid)VMシンセサイザ319、コンパイラ320などが設けられ、HTTPによりユーザからの計算依頼を受け付け、処理内容を分割可能な場合は、分割を行い、分割した場合は結果を集約する。なお、PF(プラットフォーム)連携機能315には、認証PF、著作権保護PF、課金PFなどが含まれる。
The P2P middleware 311 is equipped with a
また、依頼元コンピュータ(ユーザ端末)130は、グリッドコンピューティングシステムに計算処理を依頼するユーザの端末である。ブラウザを介してHTTPでポータルサイト120へ接続し、グリッドコンピューティング計算処理要求を行う。計算処理自体は、グリッド(ネットワーク内)において実施されるため、端末スペックは問わず、ブラウザがインストールされていることだけが要求条件である。また、依頼元コンピュータ(ユーザ端末)130による計算処理依頼は、ポータルサイト120が提供するメニューを用いてパラメータ(例えば、アプリケーション、計算処理、処理料金など)を選択することにより実施される。
The request source computer (user terminal) 130 is a user terminal that requests the grid computing system to perform calculation processing. Connect to the
以上説明したSIONetを利用したグリッドコンピューティングシステムについての構成と特徴を、以下に整理して示しておく。
グリッドコンピューティングシステムでは、システムの構成要素であるエンティティのP2P(SIONet)API上にグリッド計算資源収集機能用ミドルウエアを構築している。このSIONet上のミドルウエアにて実現される“意味情報による検索機能”を用いることにより、計算処理依頼を依頼する依頼元コンピュータからの計算処理要求に対して、最適なバーチャルマシンを構築するための計算資源を、即時に効率よく発見できる。
The configuration and characteristics of the grid computing system using SIONet described above will be summarized below.
In the grid computing system, middleware for a grid computing resource collection function is constructed on the P2P (SIONEt) API of an entity that is a component of the system. By using the “semantic information search function” realized by the middleware on SIONet, it is possible to construct an optimal virtual machine in response to a calculation processing request from a requesting computer requesting a calculation processing request. Computation resources can be discovered immediately and efficiently.
計算資源とポータルサイトはともにSIONetのエンティティであり、計算資源は自端末の状態を意味情報として静的・動的にフィルタに登録する。グリッドリソース収集機能用ミドルウエアにおいて意味情報として登録される内容は、計算資源情報とネットワーク特性情報である。計算資源情報として意味情報化される内容は、IPアドレス、システム管理者の名前、OSとそのバージョン、CPU負荷、実施可能なアプリケーション、アーキテクチャタイプ、メモリ容量(総容量並びに空き容量)、ハードディスク容量(総容量並びに空き容量)等がある。また、ネットワーク特性として意味情報化される内容は、ネットワーク負荷/バンド幅/レイテンシ/プロトコルなどがある。 The computing resource and the portal site are both SIENet entities, and the computing resource registers the state of its own terminal as semantic information in a filter statically and dynamically. The contents registered as semantic information in the middleware for the grid resource collection function are calculation resource information and network characteristic information. The contents converted into semantic information as the computing resource information include IP address, system administrator name, OS and version, CPU load, executable application, architecture type, memory capacity (total capacity and free capacity), hard disk capacity ( Total capacity and free capacity). Further, the contents converted into semantic information as network characteristics include network load / bandwidth / latency / protocol and the like.
以上のような仕組みによって、これまでのシステムよりも、検索パラメータを多く持ち、かつその内容が計算資源の最新かつ最適な情報を示しているために、最適な計算資源を効率的に収集することができる。
また、SIONetのエンティティとなった計算資源は、グリッド計算資源として利用されるために、事前に静的な集合体であるコミュニティ(イベントプレース)を作成し、その構成員となっている必要がある。計算資源が、イベントプレースに静的に含まれ、自端末の状態を意味情報フィルタに保持しておくことによって、ポータルサイトでは、意味情報に基づく検索をかけ、最適な計算資源を、余計なトラフィックを増やさず、またディレクトリを必要とせず効果的に収集することができる。
さらに、認証機能によるイベントプレースへの入出力管理機能を用いることで、計算資源の登録/削除の管理が可能になる。よって、計算資源は、特別に用意したもののみならず、一般のユーザが使用しているような不特定多数の端末までも利用することが可能になる。
With the above-mentioned mechanism, it has more search parameters than the previous system, and the contents indicate the latest and optimal information of the calculation resources, so the optimal calculation resources can be collected efficiently. Can do.
In addition, since the computing resource that becomes the entity of SIONet is used as a grid computing resource, it is necessary to create a community (event place) that is a static aggregate in advance and be a member of the community. . The calculation resource is statically included in the event place, and the state of the terminal is stored in the semantic information filter, so the portal site performs a search based on the semantic information and allocates the optimal calculation resource to the extra traffic. It is possible to collect effectively without increasing the directory and without the need for a directory.
Furthermore, by using an input / output management function for an event place using an authentication function, management of registration / deletion of computing resources can be performed. Accordingly, the computing resource can be used not only for specially prepared resources but also for an unspecified number of terminals used by general users.
また、イベントプレースは、それを構成するエンティティが何らかの理由でダウンした場合も、その両隣りのエンティティが自動的にリンクをつなぎ接続を継続する機能を有している。従ってこのイベントプレースを用いることで、計算資源が何らかの理由でダウンした場合でも、その端末(計算資源)のみがイベントプレースから離脱することになり、システム全体には影響を及ぼさない。
さらに、イベントプレースを用いることで、アプリケーションやセキュリティ度に応じたコミュニティ(イベントプレース)の構築が可能になり、システムに多様性を持たせることが可能になる。
In addition, the event place has a function of automatically connecting the two adjacent entities and continuing the connection even when the entity constituting the event place goes down for some reason. Therefore, by using this event place, even if the computational resource goes down for some reason, only that terminal (computational resource) will leave the event place and will not affect the entire system.
Furthermore, by using an event place, it is possible to construct a community (event place) according to the application and the security level, and it is possible to give diversity to the system.
ポータルサイトは、依頼元コンピュータ(ユーザ端末)からの処理要求を受け付け、その要求を満足するバーチャルマシンを構成するための計算資源を意味情報として変換し、その意味情報を基にSIONetの機能を用いて検索する(ポータルサイトは、SIONetによる意味情報検索を行うために、予め計算資源と同じイベントプレースに参加している必要がある。)。
ポータルサイトからの計算資源検索には、計算資源の処理状況(例えば、CPU使用率、ネットワーク(NW)使用率に基づく統計情報による処理受付可能状態、メモリ容量、空きハードディスク容量)などを意味情報とそのパラメータとして与え、最適な計算資源を検索する(刺激)。
The portal site accepts a processing request from a requesting computer (user terminal), converts a computing resource for configuring a virtual machine that satisfies the request as semantic information, and uses the SIONet function based on the semantic information. (The portal site needs to participate in the same event place as the calculation resource in advance in order to perform semantic information search by SIONet).
In computing resource search from the portal site, the processing status of computing resources (for example, CPU usage rate, processing acceptance status based on statistical information based on network (NW) usage rate, memory capacity, free hard disk capacity), etc. Given that parameter, search for the optimal computational resource (stimulus).
依頼元コンピュータ(ユーザ端末)からの計算処理要求受付を実施するポータルサイトは、障害時にもサービスを継続させる(信頼性向上)ため複数配備される。ユーザがどのポータルサイトを選択するかは、DNS機能を利用する。つまり、ユーザはURLを用いてポータルサイトへアクセスをするが、複数登録されているIPアドレスが、ラウンドロビンで応答されることによって、負荷の分散を行うと共に対障害性を向上させる。 A plurality of portal sites that accept calculation processing requests from a requesting computer (user terminal) are deployed in order to continue the service even in the event of a failure (improvement of reliability). The DNS function is used to determine which portal site the user selects. That is, the user accesses the portal site using the URL, but a plurality of registered IP addresses are responded by round robin, thereby distributing the load and improving the fault tolerance.
ポータルサイトは、グリッドコンピューティング計算処理を依頼する依頼元コンピュータ(ユーザ端末)のスリム化のため、HTTPでの処理受付を実現し、ブラウザからアクセス可能な汎用性を実現する。 The portal site realizes processing acceptance by HTTP in order to reduce the requesting computer (user terminal) that requests grid computing calculation processing, and realizes versatility accessible from a browser.
以上、意味情報ネットワークを用いて計算資源の状態情報をやりとりするグリッドコンピューティングシステムの構成と特徴について説明したが、以下において、より具体的な例を示して説明する。 The configuration and characteristics of the grid computing system that exchanges the status information of the computing resources using the semantic information network has been described above. A more specific example will be described below.
図16は、SIONetネットワークの構成例について説明するための図であり、アプリケーションやセキュリティの度合いによってイベントプレースが複数に分割されている例を示している。図16に示す例では、4つのイベントプレースA〜Dがネットワーク中に含まれる例を示している。 FIG. 16 is a diagram for explaining a configuration example of the SIONet network, and shows an example in which the event place is divided into a plurality according to the application and the degree of security. In the example shown in FIG. 16, four event places A to D are included in the network.
ポータルサイト401〜403は、存在するすべてのイベントプレースA〜Dにまたがって存在している。依頼元コンピュータ(ユーザ端末)410からグリッドコンピューティング処理の依頼を受けたポータルサイトは、必要に応じて処理を分割した後、必要な計算資源を決定し、それらを意味情報によって検索する。ここで、ポータルサイトの要望する計算資源と関連のない情報を有するイベントプレースには、意味情報検索が波及しないため、検索トラフィックを削除することが可能である。
The
エンティティのそれぞれの詳細処理イメージを、図17、図18を参照して説明する。ここでは説明を簡単にするために、ひとつのイベントプレース内での処理の例を示す。図17および図18に示す例は、1台のポータルサイト501と、計算資源R1〜R6の6台にてイベントプレースを形成した場合のシステムであり、左端の依頼元コンピュータ(ユーザ端末)510がこのグリッドシステムへ処理を依頼するものであることを前提としている例を示している。 The detailed processing image of each entity will be described with reference to FIGS. 17 and 18. Here, in order to simplify the explanation, an example of processing in one event place is shown. The example shown in FIGS. 17 and 18 is a system in a case where an event place is formed by one portal site 501 and six computing resources R1 to R6, and a request source computer (user terminal) 510 on the left end has a system. The example is based on the premise that processing is requested to this grid system.
図17は、処理イメージを表すシーケンスの例を示す図である。図18は意味情報の例を示す図であり、依頼元コンピュータ510からの処理依頼を受けたポータルサイト501がバーチャルマシンを構築するため計算資源R1〜R6を検索するための条件と、その時の各々の計算資源R1〜R6の状態を示している。計算資源R1〜R6のこれらの状態は、意味情報としてフィルタF1〜F6へ登録されているものである。
FIG. 17 is a diagram illustrating an example of a sequence representing a processing image. FIG. 18 is a diagram showing an example of semantic information. The portal site 501 that has received a processing request from the requesting
最初に、計算資源R1〜R6及びポータルサイトにおける前処理について説明する。
まず、個々の計算資源R1〜R6では、SIONetのエンティティとして起動し、その上位にグリッドリソース検索・収集用のミドルウエアを起動する。このミドルウエアは動的または静的に、計算資源の負荷状況や実行できるアプリケーション名などを意味情報としてSIONetのフィルタF1〜F6へ登録する。SIONetエンティティとなった個々の計算資源R1〜R6は、一つのイベントプレース(グリッドイベントプレース)を静的に構成する。ここでは、図17および図18に示すような構成でイベントプレースは形成されているものとする。
また、ポータルサイト501もまたSIONetエンティティであり、計算資源群と同一のグリッドイベントプレースの一員である。ここでのポータルサイト501は、イベントプレース上において、図に示す場所に位置するものとする。
First, preprocessing in the calculation resources R1 to R6 and the portal site will be described.
First, the individual calculation resources R1 to R6 are activated as SIONet entities, and the middleware for grid resource search / collection is activated at the upper level. This middleware dynamically or statically registers the load status of computing resources, the name of an application that can be executed, and the like as semantic information in the filters S1 to F6 of SIONet. The individual computing resources R1 to R6 that have become SIONet entities statically configure one event place (grid event place). Here, it is assumed that the event place is formed with the configuration shown in FIGS. 17 and 18.
The portal site 501 is also a SIONet entity and is a member of the same grid event place as the computing resource group. The portal site 501 here is assumed to be located at the place shown in the figure on the event place.
以下、図17を参照して、順を追って処理イメージを記述する。尚、計算資源R1、R4およびR6が条件(要件情報)を満たし、それ以外の計算資源R2、R3およびR5は条件を満たさない。
最初に、計算処理を依頼するグリッドユーザである依頼元コンピュータ510は、最寄りのポータルサイトをDNS機能(URL→IPアドレス変換機能)により発見し、グリッド計算処理の依頼をWebブラウザを用いて実施する。この時、実行するアプリケーション、セキュリティ度、ターンアラウンドタイムなどのバーチャルマシンを構成するためのパラメータを指定する。パラメータの指定は予めポータルサイト501に設定されたプルダウンメニューを用いて実施する(ステップS1)。
Hereinafter, with reference to FIG. 17, a processing image is described in order. The calculation resources R1, R4 and R6 satisfy the condition (requirement information), and the other calculation resources R2, R3 and R5 do not satisfy the condition.
First, the requesting
計算処理を受け付けたポータルサイト501は、計算処理依頼内容に応じて、並列処理できるものはタスクを分割する。さらに、依頼元コンピュータ(ユーザ端末)510から受け付けたパラメータを元に計算処理を実施するためのバーチャルマシンを構築するための必要な計算資源を算出する。これらの機能は、VMM(Virtual Machine Manager)によって実施される。またさらに、これら必要な計算資源を収集するための検索キーとしての意味情報を決定する(処理A:ステップS2)。
ポータルサイト501では、最適な計算資源を発見するため、処理Aにて決定された意味情報を用いてSIONet機能による検索を開始し、“意味情報による検索メッセージ”を計算資源R1へ送信する(刺激を与える)(ステップS3)。
The portal site 501 that has received the calculation process divides the tasks that can be processed in parallel according to the calculation process request content. Further, calculation resources necessary for constructing a virtual machine for performing calculation processing are calculated based on parameters received from the request source computer (user terminal) 510. These functions are implemented by a VMM (Virtual Machine Manager). Furthermore, semantic information as a search key for collecting these necessary calculation resources is determined (process A: step S2).
In the portal site 501, in order to find the optimal calculation resource, the search by the SIONet function is started using the semantic information determined in the process A, and a “search message by semantic information” is transmitted to the calculation resource R 1 (stimulus (Step 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)。
The calculation resource R1 transfers the “search message based on semantic information” received from the portal site 501 to the next calculation resource R2 connected at the event place (transfers the stimulus) (step S4).
Further, the calculation resource R1 stimulated by the portal site 501 is “ignited” by the SIONet function (ignition A) because the content of the filter F1 satisfies the conditions for the stimulation of the portal site. The information that the fire has occurred is returned to the portal site 501 together with the firing condition by the calculation resource R1. The ignition conditions are as follows. CPU = Pent * u * 1.5 GHz, CPU usage rate = 20%, OS = W * n200 *, application = P * v-Ra *, memory = 128 MB, HD = 20 GB, NW = 100 Mbps, NW usage rate = 30 % (Step S5).
計算資源R2は、受信した“意味情報による検索メッセージ”を、イベントプレースで接続されている次の計算資源R3および計算資源R4へそのまま転送する(刺激を転送する)(ステップS6)。なお、計算資源R2は、イベントプレースにおいて、その先に2つの接続先を持っているため、2箇所の計算資源R3及びR4へ刺激を転送する。計算資源R2自体は、そのフィルタF2の内容が、受信した刺激に対する要求条件を満たさないものがあるため、発火せず、そのため何もしない。また、計算資源R2からの刺激を受信した計算資源R3は、その先にイベントプレースに接続される計算資源が存在しないため刺激を転送しない上、フィルタF3の情報も刺激に対する要求条件を満たさないものがあるため、発火せず何もしない。 The calculation resource R2 transfers the received “search message based on semantic information” as it is to the next calculation resource R3 and the calculation resource R4 connected at the event place (stimulus is transferred) (step S6). Note that since the calculation resource R2 has two connection destinations in the event place, the stimulus is transferred to the two calculation resources R3 and R4. The computation resource R2 itself does not ignite and therefore does nothing because the content of the filter F2 does not satisfy the requirements for the received stimulus. The calculation resource R3 that has received the stimulus from the calculation resource R2 does not transfer the stimulus because there is no calculation resource connected to the event place, and the information of the filter F3 does not satisfy the requirement for the stimulus. There is no fire and nothing is done.
計算資源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で応答される。
The calculation resource R4 that receives the stimulus from the calculation resource R2 transfers the received “search message based on semantic information” to the next calculation resource R5 and the calculation resource R6 connected at the event place as they are (transfers the stimulus). (Step S7). Since the calculation resource R4 has two connection destinations in the event place, the calculation resource R4 transfers the stimulus to two places.
In addition, the calculation resource R5 and the calculation resource R6 that have received the stimulus from the calculation resource R4 do not transfer the stimulus because there is no calculation resource connected to the event place ahead of the calculation resource R4. Since some information of F5 does not satisfy the requirement for stimulation, it does not ignite and does nothing.
Further, since the content of the filter F4 satisfies the condition for the received stimulus, the calculation resource R4 “fires” by the SIONet function. The ignition conditions are as follows. CPU = Pent * u * 850 MHz, CPU usage rate = 30%, OS = W * n200 *, application = P * v-Ra *, memory = 64 MB, HD = 8 GB, NW = 10 Mbps, NW usage rate = 25% Yes (ignition B). Information that it has ignited is returned to the portal site 501 by P2P together with the igniting condition by the computing resource R4 (step S8).
Further, since the content of the filter F6 satisfies the condition for the received stimulus, the calculation resource R6 is “fired” by the SIONet function. The ignition conditions are as follows. CPU = Pent * u * 1.7 GHz, CPU usage rate = 20%, OS = W * n200 *, application = P * v-Ra *, memory = 256 MB, HD = 100 GB, NW = 10 Mbps, NW usage rate = 15 % (Ignition C). Information that it has ignited is returned to the portal site 501 by P2P together with the igniting condition by the calculation resource R6.
ポータルサイト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により実施される。
The portal site 501 receives and confirms the firing response from the computing resource (this time, three responses from the computing resources R1, R4, and R6 (there are steps S5, S8, and S9)), and based on the response firing conditions. Determine the optimal computing resource. Here, since it is determined that the number of calculation resources that require the VMM is “two”, the optimal calculation resources are narrowed down to the top two from the firing conditions, and are determined as the calculation resources R1 and R6. Since the response time is set as the priority content this time, the CPU specifications, usage rate, and memory capacity are the criteria for selecting the calculation resources R1 and R6 (Process B: Step S10).
The portal site 501 allocates the calculation process to the calculation resource R1 and the calculation resource R6 based on the determination result of the process B (step S11). This allocation is performed directly by P2P in “between portal site = computation resource R1” and “between portal site = computation resource R6”.
それから、処理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)。
Then, the calculation resource R1 executes the calculation process assigned to the calculation resource R1 in the process B (process C), and the process result is returned (returned) to the portal site (step S12).
This response is performed by P2P directly between the portal site = the computing resource R1.
In addition, the calculation process assigned to the calculation resource R6 in the process B is executed by the calculation resource R6 (process D), and the process result is returned (returned) to the portal site 501 (step S13). This response is performed by P2P directly between the portal site = the computing resource R6.
Thereafter, in the portal site 501, the entire processing results are integrated based on the processing results of the processing resource R1 and the processing resource R6 (processing E: step S14). Further, the portal site reports the processing result of processing D to the requesting computer 510 (step S15).
なお、計算資源R4は、発火し応答したが、ポータルサイト501からの計算処理依頼がなかったため、タイムアウトにより初期状態へ遷移する(処理F:ステップS16)。 The calculation resource R4 ignites and responds, but since there is no calculation processing request from the portal site 501, a transition is made to the initial state due to timeout (process F: step S16).
以上、意味情報ネットワークを用いて計算資源の状態情報をやりとりするグリッドコンピューティングシステムについて説明したが、意味情報ネットワークを構成して、意味情報により最適な計算資源を収集することにより、ディレクトリレスのメリットを活かしたまま、グリッドコンピューティングシステムの計算資源収集における検索条件を多様化することが可能となる。
また、オンデマンドで計算資源のステータス情報(CPU負荷だけでなく様々な情報)のアップデートが可能となり、リアルタイムに最適な計算資源を発見することができ、グリッドコンピューティングシステムの性能を向上することができる。
The grid computing system that exchanges the status information of the computing resources using the semantic information network has been described above. However, by constructing the semantic information network and collecting the optimal computing resources based on the semantic information, a directoryless merit is achieved. This makes it possible to diversify the search conditions for collecting computing resources of the grid computing system.
In addition, it is possible to update the status information (not only the CPU load, but also various information) of computing resources on demand, so that optimal computing resources can be found in real time and the performance of the grid computing system can be improved. it can.
また、ディレクトリレスシステムとなることにより、計算資源とディレクトリ間の動的な情報交換やルックアップ手続きが削減され、余分なトラフィックの削減につながる。また、意味情報による転送機能とイベントプレースを用いることで、ブロードキャスト検索が改善され、さらにトラフィック量の軽減を図ることができる。 In addition, the directory-less system reduces dynamic information exchange and lookup procedures between computing resources and directories, leading to a reduction in extra traffic. In addition, by using a transfer function based on semantic information and an event place, broadcast search can be improved and traffic volume can be further reduced.
また、計算資源を処理するアプリケーションやセキュリティ度によってイベントプレースを分けることが可能になり、システムを多様化でき、サービスのバリエーションを増大させることが出来る。また、計算資源の個々の障害時においてもシステム全体に全く影響を与えず、サービスを継続することが可能になる。さらに、専用の計算資源以外にも一般ユーザの使用する端末も計算資源として使用することが可能になり、グリッドコンピューティングシステムのグローバル化に寄与する。 In addition, it becomes possible to divide event places according to applications for processing computing resources and the degree of security, so that the system can be diversified and service variations can be increased. In addition, even in the event of an individual failure of a computing resource, the service can be continued without affecting the entire system. Furthermore, in addition to dedicated computing resources, terminals used by general users can be used as computing resources, contributing to the globalization of grid computing systems.
次に、前述のクライアントピアとしての依頼元コンピュータ及び前述のリソースピアとしての計算資源により、計算資源の状態情報をやりとりする場合の例を説明する。
ここでは、図19に示すようなグリッドコンピューティングシステムを想定する。同図において、依頼元コンピュータ610は計算資源600aと接続され、計算資源600aは、さらに、計算資源600b、600c、600dと接続されている。また、計算資源600bは計算資源600eと接続され、計算資源600dは計算資源600fと接続され、さらに、計算資源600fは計算資源600gと接続されいている。以下では、計算資源600a〜600gを総称して計算資源600と記載する。なお、計算資源600aは、ポータルサーバと同一の機能を備えた計算資源であってもよく、依頼元コンピュータ610がポータルサーバと同一であってもよい。また、計算資源のいずれかが依頼元コンピュータとなってもよい。
Next, an example in which the status information of the computing resource is exchanged between the requesting computer as the client peer and the computing resource as the resource peer will be described.
Here, a grid computing system as shown in FIG. 19 is assumed. In the figure, a
図20は、図19における依頼元コンピュータ610の資源探索処理フローを示す。
依頼元コンピュータ610は、検索キーとして、利用したい計算資源のシステム条件を示す要件情報の入力を受ける(ステップS21)。システム条件には、CPU使用率、メモリ残量、実行可能なアプリケーション等を用いることができ、例えば、「CPU使用率x%以下」などが入力される。
FIG. 20 shows a resource search processing flow of the
The
依頼元コンピュータ610は、要件情報の入力を受けると、自身に隣接する計算資源600aへ検索メッセージ(前述のクライアントピアが送出する検索要求に相当)を送信する(ステップS22)。刺激としての検索メッセージには、入力された要件情報を示す検索キーと、ネットワーク上で自らを識別できる識別子とが少なくとも含まれる。ネットワーク上で依頼元コンピュータ610自らを識別できる識別子としては、例えば、依頼元コンピュータ610のIPアドレスなどが用いられる。依頼元コンピュータ610は、検索メッセージの送信後に受信待ちタイマを起動し、検索メッセージの結果応答受信待ち状態になる(ステップS23)。依頼元コンピュータ610は、検索キーを満たした計算資源600から発火の通知としての結果応答データ(前述のリソースピアが送信する結果通知)を受信すると(ステップS24)、この結果応答データを内部に保存する(ステップS25)。そして、受信待ちタイマが0になるまで、検索キーを満たした計算資源600からの結果応答データの受信及び結果応答データの保存を繰り返す。依頼元コンピュータ610は、受信待ちタイマが0になると、結果応答受信待ち状態を終了し(ステップS26)、ステップS25において内部に保存していた受信結果一覧をディスプレイなどに表示する(ステップS27)。
When the
図21は、計算資源600の検索メッセージ受信待ち処理フローを示す。
計算資源600は、電源投入時や、意味情報ネットワークに参加したときなどに、後述する計算資源情報取得処理(図22)により自身の備える計算資源の静的情報を収集し、フィルタに登録する(ステップS41)。静的情報は、時間経過により変化しないか、あるいは、短時間では変化しない情報であり、例えば、CPUのスペック、IPアドレス、OSの種類、実行可能なアプリケーション名、メモリ容量(総容量)、HD容量(総容量)、などである。なお、静的情報収集は、定期的にあるいは静的情報の変更時などに実行することでもよい。
FIG. 21 shows a search message reception waiting process flow of the computing resource 600.
The computing resource 600 collects static information of its own computing resources by a computing resource information acquisition process (FIG. 22), which will be described later, when the power is turned on or when it participates in a semantic information network and registers it in the filter ( Step S41). Static information is information that does not change over time or does not change in a short time. For example, CPU specifications, IP address, OS type, executable application name, memory capacity (total capacity), HD Capacity (total capacity), etc. Note that the static information collection may be executed periodically or when the static information is changed.
静的情報をフィルタに登録した後、計算資源600は、依頼元コンピュータ610あるいは他の計算資源600から検索メッセージを受信する(ステップS42)。検索メッセージには、検索キーと、依頼元コンピュータ610の識別子が含まれる。計算資源600は、受信した検索メッセージを転送すべき他の計算資源600があるか否かを判断する(ステップS43)。検索メッセージを転送すべき計算資源600があった場合は(ステップS43:Yes)、受信した検索メッセージを転送する(ステップS44)。
After registering the static information in the filter, the computing resource 600 receives a search message from the requesting
続いて、計算資源600は、受信した検索メッセージに含まれる検索キーと、フィルタに登録されている静的情報をマッチングする(ステップS45)。具体的には、検索キーに含まれる静的情報と、自身のフィルタに登録されている静的情報が合致するか否かを判断する。検索キーに含まれる静的情報と、自身のフィルタに登録されている静的情報が合致しないと判断した場合には、次の検索メッセージの受信待ちとなる。
一方、検索キーに含まれる静的情報と、自身のフィルタに登録されている静的情報が合致すると判断した場合、計算資源600は、後述する計算資源情報取得処理(図22)により、自らの備える計算資源の動的情報を取得する(ステップS46)。この動的情報とは、逐次変化する情報であり、例えば、自身の現在のCPU使用率、メモリ残量、ネットワークの状態などである。計算資源600は、受信した検索メッセージに含まれる検索キーと、取得した動的情報をマッチングする(ステップS47)。具体的には、検索キーに含まれる動的情報と、自身の動的情報が合致するか否かを判断する。検索キーに含まれる動的情報と、自身の動的情報が合致しないと判断した場合(ステップS47:No)、次の検索メッセージの受信待ちとなる。一方、合致すると判断した場合(ステップS47:Yes)、計算資源600は、依頼元コンピュータ610に、自身の識別子と自身の計算資源の情報とを含む結果応答を送信する(ステップS48)。
Subsequently, the computing resource 600 matches the search key included in the received search message with the static information registered in the filter (step S45). Specifically, it is determined whether or not the static information included in the search key matches the static information registered in its own filter. If it is determined that the static information included in the search key and the static information registered in its own filter do not match, it waits for reception of the next search message.
On the other hand, when it is determined that the static information included in the search key matches the static information registered in its own filter, the calculation resource 600 performs its own calculation resource information acquisition process (FIG. 22) to be described later. The dynamic information of the computing resource provided is acquired (step S46). This dynamic information is information that changes sequentially, such as its current CPU usage rate, remaining memory capacity, and network status. The computing resource 600 matches the search key included in the received search message with the acquired dynamic information (step S47). Specifically, it is determined whether or not the dynamic information included in the search key matches its own dynamic information. If it is determined that the dynamic information included in the search key and its own dynamic information do not match (step S47: No), it waits for reception of the next search message. On the other hand, when it is determined that they match (step S47: Yes), the computing resource 600 transmits a result response including its own identifier and information about its own computing resource to the requesting computer 610 (step S48).
図22は、計算資源600の計算資源情報取得処理フローを示す。
計算資源600は、自身の静的情報を収集し、テンポラリ領域に保持しておく(ステップS61)。その後、計算資源600はマルチスレッドによりスレッドを作成し、動的情報取得処理を実行する。
計算資源600は、動的情報取得処理における動的情報取得ループが開始されると(ステップS62)、自身の現在のCPU使用率、メモリ残量、ネットワークの状態など動的情報を取得する(ステップS63)。そして、取得した動的情報のデータを、テンポラリ領域に保持する(ステップS64)。計算資源600は、動的情報取得ループ終了条件を満たしていない場合、動的情報を取得し、保存するステップS63〜S64の処理を、例えば、10秒間隔などで周期的に繰り返す。また、動的情報取得ループ終了条件を満たした場合は、動的情報取得ループを終了する(ステップS65)。動的情報取得ループ終了条件とは、例えば、P2Pネットワークからの離脱などである。
FIG. 22 shows a calculation resource information acquisition process flow of the calculation resource 600.
The computing resource 600 collects its own static information and stores it in the temporary area (step S61). Thereafter, the computing resource 600 creates a thread by multithreading and executes dynamic information acquisition processing.
When the dynamic information acquisition loop in the dynamic information acquisition process is started (step S62), the computing resource 600 acquires dynamic information such as its current CPU usage rate, remaining memory capacity, and network status (step S62). S63). Then, the acquired dynamic information data is held in the temporary area (step S64). If the dynamic resource acquisition loop termination condition is not satisfied, the computing resource 600 periodically repeats the processing of steps S63 to S64 for acquiring and storing dynamic information at intervals of 10 seconds, for example. If the dynamic information acquisition loop termination condition is satisfied, the dynamic information acquisition loop is terminated (step S65). The dynamic information acquisition loop end condition is, for example, leaving from the P2P network.
一方、計算資源600は、ステップS61における静的情報の収集後、問合せ要求待ちループを開始し、図21で示される検索メッセージ受信待ち処理からの問合せの受信待ち状態となる(ステップS71)。計算資源600は、検索メッセージ受信待ち処理からの問合せを受信すると、問合せの種類による分岐を行う(ステップS72)。図21のステップS41から送信された静的情報の問合せであれば、ステップS61においてテンポラリ領域に保持していた静的情報を返信する(ステップS73)。また、図21のステップS46から送信された動的情報の問合せであれば、ステップS64においてテンポラリ領域に保持していた動的情報を返信する(ステップS74)。計算資源600は、問合せ要求待ちループ終了条件を満たしていない場合、問合せ要求の受信待ち状態となり、問合せ要求を受信し、情報を返送するステップS72〜S74の処理を繰り返す。また、問合せ要求待ちループ終了条件を満たした場合は、問合せ要求待ちループを終了する(ステップS75)。問合せ要求待ちループ終了条件とは、例えば、P2Pネットワークからの離脱などである。 On the other hand, after collecting the static information in step S61, the computing resource 600 starts a query request waiting loop, and enters a waiting state for receiving a query from the search message reception waiting process shown in FIG. 21 (step S71). When receiving a query from the search message reception waiting process, the computational resource 600 branches according to the type of query (step S72). If the inquiry is for static information transmitted from step S41 in FIG. 21, the static information held in the temporary area in step S61 is returned (step S73). If the inquiry is for dynamic information transmitted from step S46 in FIG. 21, the dynamic information held in the temporary area in step S64 is returned (step S74). When the query request wait loop termination condition is not satisfied, the computing resource 600 enters a query request reception wait state, receives the query request, and repeats the processing of steps S72 to S74 for returning information. If the query request wait loop termination condition is satisfied, the query request wait loop is terminated (step S75). The query request wait loop end condition is, for example, a departure from the P2P network.
なお、図20〜図22の処理により、依頼元コンピュータ610が検索キーを満たした計算資源600の一覧を表示した後は、図17のステップS10以降と同様の処理により、依頼元コンピュータ610は、計算処理を適切な計算資源600へ割り当て、計算資源600は、割当てられた計算処理を実施して、処理結果を依頼元コンピュータ610へ返送する。
20 to 22, after the
[SIONetについての補足説明]
ここで、「SIONet」について、補足して説明しておく。
図23に示すように、SIONetは、意味情報(メタデータ)に基づいてイベントを配送するメタネットワークであり、ネットワーク上に超分散する不特定多数のエンティティの中から特定のエンティティを動的に検索・発見することが出来る。すなわら、SIONetは、従来のネットワークで用いていた宛先アドレス(誰に対して送信する)の代わりに、意味情報(どういう人に対して送信する)に基づいてイベントを配送するネットワークである。
[Supplementary explanation about SIONet]
Here, “SIONEt” will be supplementarily described.
As shown in FIG. 23, SIONet is a metanetwork that distributes events based on semantic information (metadata), and dynamically searches for a specific entity from a large number of unspecified entities that are super-distributed on the network.・ Can be discovered. In other words, SIONet is a network that delivers an event based on semantic information (sending to whom) instead of the destination address (sending to whom) used in the conventional network.
SIONetでは、SIONetエンティティの定義として、パーソナルコンピュータ、ワークステーション、情報携帯端末、携帯電話などのあらゆるコンピュータを総称して、ホストと呼ぶ。さらに、SIONetソフトウエアを実装したホストを、「SIONetエンティティ」もしくは単に「エンティティ」と呼ぶ。エンティティは、SIONetソフトウエアを実装したホストを、SIONetにおける自律分散協調の単位として仮想化したものである。 In SIONet, as a definition of SIONet entity, all computers such as personal computers, workstations, portable information terminals, and mobile phones are collectively referred to as hosts. Furthermore, a host on which SIONet software is installed is referred to as “SIONE entity” or simply “entity”. An entity is a virtualization of a host on which SIONet software is installed as a unit of autonomous distributed cooperation in SIONet.
また、エンティティは、SE(サービスエンティティ)、NE(ネットワークエンティティ)、SNE(サービスネットワークエンティティ)3つのタイプに分類される。
SE(サービスエンティティ)は、サービスとして振る舞うエンティティであり、P2Pアプリケーションをエンティティ内の内部エンティティとして仮想化したものである。
NE(ネットワークエンティティ)は、ネットワーク構成要素として振る舞うエンティティであり、SIONetを構築・運営するための内部エンティティであり、複数のNE(ネットワークエンティティ)が分散協調することにより、ネットワークが自己組織化される。
SNE(サービスネットワークエンティティ)は、サービスおよびネットワーク構成要素の両者の観点から振る舞うエンティティであり、ピュア型P2Pネットワークを構築する際に用いられ、これらが自律分散することにより、ネットワークを自己組織化する。
Entities are classified into three types: SE (service entity), NE (network entity), and SNE (service network entity).
The SE (service entity) is an entity that behaves as a service, and is a virtualized P2P application as an internal entity within the entity.
The NE (network entity) is an entity that behaves as a network component, is an internal entity for constructing and operating SIONets, and a plurality of NEs (network entities) are distributed and coordinated to self-organize the network. .
An SNE (service network entity) is an entity that behaves from the viewpoint of both a service and a network component, and is used when constructing a pure P2P network, and self-organizes the network by autonomously distributing them.
なお、図23に示すように、イベントは、意味情報(Semantic Information)とデータから構成され、意味情報としては、例えば、「東京近郊在住」、「クラシックミュージックが趣味の人」、「明治通りを今歩いている人」、「旅行のコンテンツ保有者」などがある。なお、イベントの構造については後述する。 As shown in FIG. 23, the event is composed of semantic information and data. As the semantic information, for example, “resident in the suburbs of Tokyo”, “person who enjoys classical music”, “Meiji-dori There are “people walking now”, “travel content holders” and so on. The event structure will be described later.
また、図24は、SIONetのメカニズムについて説明するための図であり、SIONetは複数のイベントプレースからなり、イベントプレースには複数のエンティティが含まれる。また、SIONetは、SIONetの構成要素を含めたすべてのエンティティが自律分散協調することにより、ネットワークが自己組織化される自律分散協調ネットワーク(自律分散コンピュータ)である。SIONetのネットワーク構成要素となるネットワークエンティティとしては、「意味情報スイッチ(SI−SW)」、「意味情報ルータ(SI−R)」、「意味情報ゲートウエイ(SI−GW)」があり、その他の構成要素としては、「セッション」、「シェアードリンク(SL)」などがあり、これらが必要に応じて自己組織化することにより、セキュアーでスケーラブルなP2Pネットワークをボトムアップアプローチで構築することができる。 FIG. 24 is a diagram for explaining the SIONet mechanism. The SIONet includes a plurality of event places, and the event place includes a plurality of entities. Further, SIONet is an autonomous distributed cooperative network (autonomous distributed computer) in which the network is self-organized when all entities including the components of SIONet perform autonomous distributed cooperation. Network entities that are SIONet network components include "semantic information switch (SI-SW)", "semantic information router (SI-R)", and "semantic information gateway (SI-GW)". Elements include “session”, “shared link (SL)”, and the like, and by self-organizing as necessary, a secure and scalable P2P network can be constructed by a bottom-up approach.
なお、意味情報スイッチ(SI−SW)は、意味情報に基づいて、イベントをスイッチングするスイッチング機構を提供するネットワークエンティティ(NE)であり、意味情報ルータ(SI−R)は、意味情報に基づいて、SI−SW間のイベントルーティング(イベント転送)を行うネットワークエンティティ(NE)であり、意味情報ゲートウェイ(SI−GW)は、イベントプレース間のイベント共有を実現するためのネットワークエンティティ(NE)である。 The semantic information switch (SI-SW) is a network entity (NE) that provides a switching mechanism for switching events based on semantic information, and the semantic information router (SI-R) is based on semantic information. The network entity (NE) that performs event routing (event transfer) between SI and SW, and the semantic information gateway (SI-GW) is a network entity (NE) for realizing event sharing between event places. .
また、「セッション」とは、意味情報スイッチ(SI−SW)とサービスエンティティ(SE)間のコネクションであり、サービスエンティティ(SE)は、セッションを介してのみイベントの送受信を行うことができる。なお、セッションには、イベントの送信セッション、受信セッション、送受信セッションの3タイプがある。また、「シェアードリンク(共有リンク)」とは、複数の異なるエンティティ間において、双方向のイベント共有を行うための概念である。例えば、あるエンティティが他のエンティティに対して、シェアードリンク(SL: Shared Link)の確立要求を行うことによりエンティティグループ(イベントプレース)が形成される。 The “session” is a connection between the semantic information switch (SI-SW) and the service entity (SE), and the service entity (SE) can transmit and receive events only through the session. There are three types of sessions: an event transmission session, a reception session, and a transmission / reception session. The “shared link” is a concept for performing bidirectional event sharing between a plurality of different entities. For example, an entity group (event place) is formed when a certain entity requests establishment of a shared link (SL) to another entity.
図25は、SIONetのイベントの構造の例を示す図であり、SIONetイベントは、制御情報部(CIPart(Control Information Part))と、意味情報部(SIPart(Semantic Information Part))と、データ部(DATAPart)から構成される。
制御情報部(CIPart)は、SIONetの実効制御用の制御フィールドであり、サービスエンティティ(SE)には開放されていない。意味情報部(SIPart)には、送信データの意味情報(語彙とその値)、および意味情報の語彙概念(イベントタイプ)が格納される。データ部(DATAPart)には、送信データ(テキストデータ、バイナリデータなど様々なデータやプログラム)が格納される。
なお、刺激とは、イベントを送信することである。反応とは、フィルタがイベントに合致することである。発火とは、合致したフィルタを登録したエンティティを起動してイベント通知することである。
FIG. 25 is a diagram illustrating an example of the structure of an SIONet event. The SIONet event includes a control information part (CIPart (Control Information Part)), a semantic information part (SIPart (Semantic Information Part)), and a data part ( DATATAP).
The control information part (CIPart) is a control field for effective control of SIONet and is not open to the service entity (SE). The semantic information part (SIPart) stores semantic information (vocabulary and its value) of transmission data and a lexical concept (event type) of semantic information. The data part (DATATAPart) stores transmission data (various data and programs such as text data and binary data).
In addition, a stimulus is transmitting an event. A response is that the filter matches the event. Firing means starting an entity that has registered a matched filter and notifying an event.
また、図26は、意味情報スイッチとフィルタについて説明するための図であり、意味情報スイッチ(SI−SW)は、意味情報に基づきイベントをスイッチングするスイッチング機構を提供する。サービスエンティティ(SE)は、セッション(SI−SWとSE間のコネクション)を介してイベントの送受信を行う。 FIG. 26 is a diagram for explaining the semantic information switch and the filter. The semantic information switch (SI-SW) provides a switching mechanism for switching events based on the semantic information. The service entity (SE) transmits and receives events via a session (connection between SI-SW and SE).
また、フィルタは、サービスエンティティ(SE)が、セッションを介してイベントの取得条件を意味情報スイッチ(SI−SW)に登録する内容のことである。取得したいイベントのイベントタイプ(イベントの語彙概念)や意味情報との照合条件を設定する。 The filter is a content that the service entity (SE) registers the event acquisition condition in the semantic information switch (SI-SW) through the session. Set the event type (event vocabulary concept) of the event you want to acquire and the matching condition with the semantic information.
また、図27は、イベントプレースと意味情報ゲートウエイについて説明するための図であり、イベントプレースは、意味情報スイッチ(SI−SW)の集合体である。
イベントプレースはグルーピンクの概念であり、セキュリティの保障単位、負荷分散の単位、グループのグループ化などとして利用される概念であり、以下の目的を達成する。
第1に、イベントの転送範囲を制限する。すなわち、刺激と発火に基づく連鎖反応の波及範囲を制限する。
第2に、イベントルーティングの対象範囲を制限する。シェアードリンクにより接続された意味情報スイッチ(SI−SW)の集合であり、イベントプレースことにリンクトポロジーやイベントルーティング方式を選択することができる。
第3に、意味情報体系の一意性が保障される空間であり、取り扱うイベントタイプの爆発的増大を抑止する。
FIG. 27 is a diagram for explaining the event place and the semantic information gateway, and the event place is an aggregate of semantic information switches (SI-SW).
The event place is a concept of glue pink, which is a concept used as a security guarantee unit, a unit of load distribution, grouping of groups, etc., and achieves the following objectives.
First, the event transfer range is limited. That is, it limits the spread of chain reactions based on stimulation and ignition.
Second, the target range of event routing is limited. It is a set of semantic information switches (SI-SW) connected by a shared link, and a link topology or event routing method can be selected as an event place.
Third, it is a space that guarantees the uniqueness of the semantic information system, and suppresses the explosive increase in the event types handled.
また、意味情報ゲートウェイ(SI−GW)は、イベントプレース間のイベント共有を実現するためのネットワークエンティティ(NE)である。これにより、用途や目的の異なるイベントプレース間の連携が可能になる。 The semantic information gateway (SI-GW) is a network entity (NE) for realizing event sharing between event places. As a result, it is possible to link event places having different uses and purposes.
<グリッドコンピューティングシステムにおける原始的計算資源収集方法:ファイル交換用P2Pシステムを応用した場合の例>
次に、グリッドコンピューティングシステムにおける計算資源収集方法について説明する。グリッドコンピューティングシステムでは、上述するようにP2P(Peer to Peer)式の通信により、計算資源の状態情報を相互にやりとりする。また、各計算資源が自分自身の状態(CPU使用率など)に対応して、所定のファイル名のファイルを持っておく。また、P2Pでファイル交換するためのソフトウェア(例えば、Gnutella(登録商標)など)を用いてファイル名を検索することにより、依頼元コンピュータは、所定の状態にある計算資源を検索し、該当する状態の計算資源に対して仕事(処理)を依頼する。
<Primary Computing Resource Collection Method in Grid Computing System: Example of Application of P2P System for File Exchange>
Next, a calculation resource collection method in the grid computing system will be described. In the grid computing system, as described above, the state information of the computing resources is mutually exchanged by P2P (Peer to Peer) type communication. Each computing resource has a file with a predetermined file name corresponding to its own state (CPU usage rate, etc.). Further, by searching for a file name using software for exchanging files with P2P (for example, Gnutella (registered trademark)), the requesting computer searches for a computing resource in a predetermined state, and the corresponding state Request work (processing) for the computing resource.
図28は、計算資源収集方法を説明するためのグリッドコンピューティングシステムの構成を示す図であり、Gnutella(登録商標)などのピュア型P2Pシステムを用いて構成された例を示している。Gnutella(登録商標)におけるファイル名検索は、ファイル名検索が連鎖しながら実施されるという仕組みになっており、本発明のグリッドコンピューティングシステムでは、この機能を、計算資源の状態情報(例えば、CPU使用率)をファイル名により連鎖して検索できるように拡張したものである。 FIG. 28 is a diagram showing a configuration of a grid computing system for explaining a calculation resource collecting method, and shows an example configured using a pure P2P system such as Gnutella (registered trademark). The file name search in Gnutella (registered trademark) has a mechanism in which file name searches are performed in a chained manner. In the grid computing system of the present invention, this function is used for status information (for example, CPU) of computing resources. (Use rate) is extended so that it can be searched by chaining by file name.
図28において、計算資源1001〜1013はGnutella Net(登録商標)にあらかじめ参加しており、CPU使用率をバックグランドで測定し、その値に対応するファイル名をピュア型P2Pのシステム(Gnutella(登録商標)など)の指定する所定のディレクトリに保存する。
In FIG. 28, the
計算処理を依頼する依頼元コンピュータ1020は、はじめにGnutella Net(登録商標)に参加し、その後に、プロセス(例えば、タスクなど)を割り当てるのに必要な空CPUを有する計算資源をGnutella Net(登録商標)へのブロードキャストにより検索する。要求を満足する計算資源1001〜1013は依頼元コンピュータ1020へ応答し、依頼元コンピュータ1020は最も相応しい計算資源へ計算処理プロセスの割り当てを実施する。
The requesting
また、本発明のグリッドコンピューティングシステムでは、ピュア型P2Pシステムのファイル検索機能を、CPU使用率などの検索に応用するため、CPU使用率をファイル名にどのように反映するかがポイントとなる。 Further, in the grid computing system of the present invention, the file search function of the pure P2P system is applied to the search of the CPU usage rate, etc., so how to reflect the CPU usage rate in the file name is a point.
このため、計算資源1001〜1013は、定期的にバックグラウンドで自端末のCPU負荷(使用率)を測定する。さらに、その得られた値から、図29(a)に示す表1に基づいたファイル名をもつファイルを作成し、ピュア型P2Pシステム(Gnutella(登録商標)など)の指定するディレクトリに保存する。
For this reason, the
図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”になる。 In the example shown in FIG. 29, the file name of the file to be created and the search key have the following relationship. For example, when the CPU usage rate is 90% to 100%, the CPU is almost free, so that it is possible to search only with the search key “J” used when searching for a calculation resource of “almost free” or more. Thus, the file name to be created includes a search key “J” and a file name “J” that does not include other search keys. Further, when the CPU usage rate is 80% or more and less than 90%, the CPU is at least 10% free. Therefore, the search keys “J” and “ The file name to be created includes the search keys “J” and “I” so that the search can be made only with the search key “I” used when searching for a calculation resource of “10% or more free”. The file name does not include the search key “IJ”. Further, when the CPU usage rate is 70% or more and less than 80%, the CPU is at least 20% free. Therefore, the search keys “J”, “ Search is possible only with the search key “I” used when searching for a calculation resource of “10% or more free” and the search key “H” used when searching for a calculation resource of “20% or more free”. Thus, the file name to be created is the file name “HIJ” that includes the search keys “J”, “I”, and “H” and does not include other search keys.
以上説明した処理を行うスクリプトを作成し、各計算資源1001〜1013上で実施させる。この機能により、定期的にCPU負荷の状態がファイル名として保存されるので、これをGnutella(登録商標)などのピュア型P2Pシステムを用いてファイル検索することにより、CPUの空き状態を考慮した計算資源の検索が可能になる。
A script that performs the processing described above is created and executed on each of the
また、依頼元コンピュータ1020からの計算資源1001〜1013の検索に際しては、図29(b)に示す表2に基づく検索キーを利用する。例えば、CPUが最低80%は遊休状態にある計算資源では、作成されるファイル名には、必ず“B”が含まれるので、依頼元コンピュータ20からは、“B”を検索キーとして検索すれば、CPU状態が80%以上遊休状態にある計算資源が発見される。そして、依頼元コンピュータ1020は発見された計算資源へ計算処理プロセスの割り当てを実施する。
Further, when searching for the
上記グリッドコンピューティングシステムにおいては、グリッドコンピューティングシステムにおける計算資源収集機能を、ピュア型のP2Pシステムを用いて実現している。従来のグリッドコンピューティングシステムで一般的に利用されている管理サーバを用いるディレクトリ型の計算資源収集機能と比較して、画一的な情報提供者が存在しないブローカレス思想による情報検索手法を用いた本実施の形態では、計算資源の動的変動に対応可能であり、対障害性にも優れるグリッドコンピューティングシステムを構築できる。また本手法によりディレクトリが不要となるため、管理が容易になるというメリットも生じる。 In the grid computing system, the computing resource collection function in the grid computing system is realized using a pure P2P system. Compared with the directory-type computing resource collection function that uses a management server that is generally used in conventional grid computing systems, an information retrieval method based on a brokerless concept in which there is no uniform information provider is used. In the present embodiment, it is possible to construct a grid computing system that can cope with dynamic fluctuations in computing resources and has excellent fault tolerance. In addition, since this method eliminates the need for a directory, there is a merit that management becomes easy.
また、上記実施の形態では、計算資源の状態情報として、CPU使用率を用いた例を示したが、これに限らず、メモリ容量や、計算速度や、通信速度などの各種の他の状態情報を使用することもでき、また、これらを組み合わせた状態情報を使用することもできる。 In the above embodiment, an example in which the CPU usage rate is used as the status information of the calculation resource is shown. However, the present invention is not limited to this, and various other status information such as a memory capacity, a calculation speed, and a communication speed. Can also be used, and state information combining these can also be used.
上述する計算資源及び依頼元コンピュータは、パーソナルコンピュータ、PDA、携帯電話等の計算機能とネットワーク接続機能を有するハードウエアならば名称・形態は問わない。また、ネットワークは有線、無線いずれの接続方法のものも含む。計算資源と依頼元コンピュータはジョブにより入れ替え可能である。 The name and form of the computing resource and the requesting computer are not limited as long as they are hardware having a computing function and a network connection function such as a personal computer, a PDA, and a mobile phone. The network includes both wired and wireless connection methods. The computing resource and the requesting computer can be replaced by a job.
なお、上述した計算資源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)のように、一定時間プログラムを保持しているものも含むものとする。
The calculation resources 101 to 113, 200, 600, 1001 to 1013, the
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。更に、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。 The program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.
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 依頼元コンピュータ
10 client processing unit, 10a outgoing peer ID list holding unit, 10b search request processing unit, 10c outgoing link number judgment unit, 10d outgoing link deletion unit, 10e outgoing link reassignment unit, 10f transfer link renewal request unit, 20 resource processing unit, 21 request data determination unit, 22 resource search processing unit, 22a transfer processing unit, 22b search processing unit, 23 transfer peer ID list holding unit, 24 first transfer link reassignment processing unit, 24a transfer link number determination unit, 24b transfer link deletion , 24c transfer link switching unit, 24d transfer link switching request unit, 25 second transfer link switching processing unit, 25a transfer link number determination unit, 25b transfer link deletion unit, 25c transfer link switching unit, 101-113 computing resources, 120 Portal site, 130 Requester computer, 2 0 computational resources, 300 portals, 401-403
Claims (13)
検索元の計算機は、
単方向の論理リンクである発信リンクを張った計算機を列記した発信対象計算機リストを保持する発信対象計算機リスト保持手段と、
前記発信対象計算機リストに基づいて各発信リンクを介して発信リンクを張った計算機に対して自身の作成した検索要求を行う検索要求手段と、
前記発信対象計算機リストを参照して検索の結果新たに発見され利用される計算機を該発信対象計算機リストに登録して発信リンクの張替えを行う発信リンク張替え手段と、
前記発信リンク張替え手段により発信リンクを張る対象となった計算機に対して前記発信対象計算機リストを含む第1転送リンク張替え要求を行う第1張替え要求手段と、
を備え、
前記発信リンクを張る対象となった計算機は、
論理リンクである転送リンクを張った計算機を列記した第1転送対象計算機リストを保持する第1転送対象計算機リスト保持手段と、
検索元の計算機から送信され、他の計算機により転送された検索要求を受け取り、前記第1転送対象計算機リストに基づいて各転送リンクを介して、計算機に対して受け取った検索要求を転送する第1検索要求転送手段と、
前記検索元の計算機から受け取る前記第1転送リンク張替え要求に含まれる発信対象計算機リストに含まれる計算機を前記第1転送対象計算機リストに登録して転送リンクの張替えを行う第1転送リンク張替え手段と、
前記第1転送リンク張替え手段により転送リンクを張る対象となった計算機に対して発信対象計算機リストが含まれない第2転送リンク張替え要求を行う第2張替え要求手段と、
を備え、
前記転送リンクを張る対象となった計算機は、
論理リンクである転送リンクを張った計算機を列記した第2転送対象計算機リストを保持する第2転送対象計算機リスト保持手段と、
検索元の計算機から送信された検索要求、または、検索元の計算機から送信され、他の計算機により転送された検索要求を受け取り、前記第2転送対象計算機リストに基づいて各転送リンクを介して、計算機に対して受け取った検索要求を転送する第2検索要求転送手段と、
前記第2転送リンク張替え要求の送信元の計算機を前記第2転送対象計算機リストに登録して転送リンクの張替えを行う第2転送リンク張替え手段と、
を備え
ていることを特徴とする利用形態指向P2P型グリッドコンピューティングシステム。 In a usage-oriented P2P-type grid computing system that dynamically combines a plurality of computing resources scattered on a network to form a virtual machine,
The search source calculator is
A transmission target computer list holding means for holding a transmission target computer list that lists computers with outgoing links that are unidirectional logical links;
Search request means for making a search request created by itself for a computer that has established an outgoing link via each outgoing link based on the outgoing computer list;
Outgoing link reassigning means for registering newly used computers as a result of search with reference to the outgoing computer list and registering outgoing computers in the outgoing computer list, and for changing outgoing links,
First reassignment requesting means for performing a first transfer link reassignment request including the outgoing call target computer list to a computer to which an outgoing link is to be extended by the outgoing link replacement means;
With
The computer targeted for the outgoing link is
First transfer target computer list holding means for holding a first transfer target computer list listing computers with transfer links that are logical links;
A first search request received from a search source computer and transferred by another computer is received, and the received search request is transferred to the computer via each transfer link based on the first transfer target computer list. Search request forwarding means;
First transfer link replacement means for registering a computer included in the transmission target computer list included in the first transfer link replacement request received from the search source computer in the first transfer target computer list and performing transfer link replacement; ,
Second reassignment requesting means for making a second transfer link reassignment request that does not include a transmission target computer list for a computer to which a transfer link is established by the first transfer link reassigning means;
With
The computer for which the transfer link is established is
Second transfer target computer list holding means for holding a second transfer target computer list listing computers with transfer links that are logical links;
Search request transmission from the search source computer, or transmitted from the search source computer receives a search request transferred by the other computers, via a respective transfer links based on said second transfer target computer list, Second search request transfer means for transferring the search request received to the computer;
Second transfer link switching means for registering the computer that is the transmission source of the second transfer link switching request in the second transfer target computer list and switching the transfer link;
A utilization form-oriented P2P type grid computing system comprising:
前記発信リンク張替え手段により発信リンクを張り替える際に予め定められた許容発信リンク数より現在張られている発信リンク数が小さいかを判断する発信リンク数判断手段と、
前記発信リンク数判断手段により前記許容発信リンク数より前記現在張られている発信リンク数が小さくないと判断されると現在張られている発信リンクの少なくとも一つを削除する発信リンク削除手段と、
を更に備えたことを特徴とする請求項1に記載の利用形態指向P2P型グリッドコンピューティングシステム。 The search source computer is:
Outgoing link number judgment means for judging whether or not the outgoing link number currently stretched is smaller than the predetermined allowable outgoing link number when the outgoing link is replaced by the outgoing link replacement means;
Outgoing link deletion means for deleting at least one of outgoing outgoing links when it is determined by the outgoing link number judging means that the number of outgoing outgoing links is not smaller than the allowable outgoing link number;
The usage-oriented P2P type grid computing system according to claim 1, further comprising:
前記第1転送リンク張替え手段により転送リンクを張り替える際に予め定められた第1許容転送リンク数より現在張られている転送リンク数が小さいかを判断する第1転送リンク数判断手段と、
前記第1転送リンク数判断手段により前記第1許容転送リンク数より前記現在張られている転送リンク数が小さくないと判断されると現在張られている転送リンクの少なくとも一つを削除する第1転送リンク削除手段と、
を更に備えたことを特徴とする請求項1または請求項2に記載の利用形態指向P2P型グリッドコンピューティングシステム。 The computer targeted for the outgoing link is
First transfer link number determination means for determining whether the number of transfer links currently extended is smaller than a predetermined first allowable transfer link number when the transfer link is changed by the first transfer link change means;
If the first transfer link number determination means determines that the currently established transfer link number is not smaller than the first allowable transfer link number, the first transfer link number deletion means deletes at least one of the currently established transfer links. A transfer link deletion means;
The usage-oriented P2P type grid computing system according to claim 1 or 2 , further comprising:
前記第2転送リンク張替え手段により転送リンクを張り替える際に予め定められた第2許容転送リンク数より現在張られている転送リンク数が小さいかを判断する第2転送リンク数判断手段と、
前記第2転送リンク数判断手段により前記第2許容転送リンク数より前記現在張られている転送リンク数が小さくないと判断されると現在張られている転送リンクの少なくとも一つを削除する第2転送リンク削除手段と、
を更に備えたことを特徴とする請求項1から請求項3のいずれかの項に記載の利用形態指向P2P型グリッドコンピューティングシステム。 The computer for which the transfer link is established is
Second transfer link number determination means for determining whether the number of transfer links currently extended is smaller than a predetermined second allowable transfer link number when transferring the transfer link by the second transfer link replacement means;
When the second transfer link number determination means determines that the currently established transfer link number is not smaller than the second allowable transfer link number, the second transfer link number determining unit deletes at least one of the currently established transfer links. A transfer link deletion means;
The utilization form-oriented P2P type grid computing system according to any one of claims 1 to 3 , further comprising:
単方向の論理リンクである発信リンクを張った計算機を列記した発信対象計算機リストに基づき、各発信リンクを介して発信リンクを張った計算機に対して自身の作成した検索要求を行う検索要求ステップと、
前記発信対象計算機リストを参照して検索の結果新たに発見され利用される計算機を該発信対象計算機リストに登録して発信リンクの張替えを行う発信リンク張替えステップと、
前記発信リンク張替えステップにおいて発信リンクを張る対象となった計算機に対して前記発信対象計算機リストを含む転送リンク張替え要求を行う張替え要求ステップと、
をコンピュータに実行させることを特徴とするコンピュータプログラム。 A computer program used for a computer in a usage-oriented P2P type grid computing system that dynamically combines a plurality of computing resources scattered on a network to form a virtual machine,
A search request step for making a search request created by itself to a computer having an outgoing link via each outgoing link based on a list of outgoing computers that lists the computers having outgoing links that are unidirectional logical links; and ,
An outgoing link renewal step of registering a computer to be newly discovered and used as a result of a search with reference to the outgoing computer list and renewing the outgoing link by registering in the outgoing computer list;
A reassignment request step for performing a transfer link reassignment request including the outgoing call target computer list for the computer that is the target of the outgoing link renewal step in the outgoing link renewal step;
A computer program for causing a computer to execute.
前記発信リンク数判断ステップにおいて前記許容発信リンク数より前記現在張られている発信リンク数が小さくないと判断されると現在張られている発信リンクの少なくとも一つを削除する発信リンク削除ステップと、
をコンピュータに実行させることを特徴とする請求項5に記載のコンピュータプログラム。 An outgoing link number determination step for determining whether the outgoing link number currently extended is smaller than the predetermined allowable outgoing link number when the outgoing link is changed in the outgoing link replacement step;
An outgoing link deletion step of deleting at least one of outgoing outgoing links when it is determined that the outgoing outgoing link number is not smaller than the allowable outgoing link number in the outgoing outgoing link number judging step;
The computer program according to claim 5 , wherein the computer is executed.
前記検索要求の結果として、前記検索キーで示される要件を満たす他の計算機からの結果通知を受信する結果受信ステップと、
をコンピュータに実行させることを特徴とする請求項5または請求項6に記載のコンピュータプログラム。 In the search request step, a search request is made with a search key indicating a requirement regarding a static state or a dynamic state of a computing resource,
As a result of the search request, a result receiving step of receiving a result notification from another computer that satisfies the requirements indicated by the search key;
Computer program according to claim 5 or claim 6, characterized in that to execute the computer.
他の計算機から受け取った検索要求を、双方向の論理リンクである転送リンクを張った計算機を列記した転送対象計算機リストに基づいて各転送リンクを介して、さらに他の計算機へ転送する検索要求転送ステップと、
他の計算機から転送リンク張替え要求を受け取り、この受け取った転送リンク張替え要求に含まれる発信対象計算機リスト内に列記されている計算機を、前記転送対象計算機リストに登録して転送リンクの張替えを行う転送リンク張替えステップと、
前記転送リンク張替えステップにより転送リンクを張る対象となった計算機に対して発信対象計算機リストが含まれない転送リンク張替え要求を行う張替え要求ステップと、
をコンピュータに実行させることを特徴とするコンピュータプログラム。 A computer program used for a computer in a usage-oriented P2P type grid computing system that dynamically combines a plurality of computing resources scattered on a network to form a virtual machine,
A search request received from another computer, via a respective transfer links based on the transfer target computer list enumerating computer pitched forward link is a bidirectional logical links, further search request transfer to be transferred to another computer Steps,
Transfer that receives a transfer link replacement request from another computer, registers the computers listed in the transmission target computer list included in the received transfer link replacement request in the transfer target computer list, and performs transfer link replacement Link re-linking step,
A reassignment request step for making a transfer link reassignment request that does not include the outgoing computer list for the computer that is the target of the transfer link reassignment step,
A computer program for causing a computer to execute.
前記転送リンク数判断ステップにおいて前記許容転送リンク数より前記現在張られている転送リンク数が小さくないと判断されると現在張られている転送リンクの少なくとも一つを削除する転送リンク削除ステップと、
をコンピュータに実行させることを特徴とする請求項8に記載のコンピュータプログラム。 A transfer link number determining step for determining whether the number of transfer links currently extended is smaller than a predetermined allowable transfer link number when transferring the transfer link in the transfer link replacement step;
A transfer link deletion step of deleting at least one of the currently established transfer links when it is determined that the currently established transfer link number is not smaller than the allowable transfer link number in the transfer link number determining step;
The computer program according to claim 8 , wherein the computer is executed.
前記収集した情報が示す計算資源の静的状態あるいは動的状態が、前記検索要求に含まれる検索キーが示す計算資源の静的状態あるいは動的状態に関する要件を満たす場合に結果通知を返す結果通知ステップと、
前記結果通知に対応して処理の依頼を受け、依頼された処理を行う計算処理割当ステップと、
をコンピュータに実行させることを特徴とする請求項8または請求項9に記載のコンピュータプログラム。 A computing resource collection step for collecting information indicating a static state or a dynamic state of the own computing resource;
Result notification that returns a result notification when the static state or dynamic state of the computational resource indicated by the collected information satisfies the requirements regarding the static state or dynamic state of the computational resource indicated by the search key included in the search request Steps,
A calculation processing assignment step for receiving a request for processing in response to the result notification and performing the requested processing;
Computer program according to claim 8 or claim 9, characterized in that to execute the computer.
他の計算機から受け取った検索要求を、双方向の論理リンクである転送リンクを張った計算機を列記した転送対象計算機リストに基づいて各転送リンクを介して、さらに他の計算機へ転送する検索要求転送ステップと、
転送リンク張替え要求を受け取り、この受け取った転送リンク張替え要求の送信元の計算機を前記転送対象計算機リストに登録して転送リンクの張替えを行う転送リンク張替えステップと、
をコンピュータに実行させることを特徴とするコンピュータプログラム。 A computer program used for a computer in a usage-oriented P2P type grid computing system that dynamically combines a plurality of computing resources scattered on a network to form a virtual machine,
A search request received from another computer, via a respective transfer links based on the transfer target computer list enumerating computer pitched forward link is a bidirectional logical links, further search request transfer to be transferred to another computer Steps,
A transfer link switching step for receiving a transfer link switching request, registering the computer that has transmitted the received transfer link switching request in the transfer target computer list and transferring the transfer link; and
A computer program for causing a computer to execute.
前記転送リンク数判断ステップにおいて前記許容転送リンク数より前記現在張られている転送リンク数が小さくないと判断されると現在張られている転送リンクの少なくとも一つを削除する転送リンク削除ステップと、
をコンピュータに実行させることを特徴とする請求項11に記載のコンピュータプログラム。 A transfer link number determining step for determining whether the number of transfer links currently extended is smaller than a predetermined allowable transfer link number when transferring the transfer link in the transfer link replacement step;
A transfer link deletion step of deleting at least one of the currently established transfer links when it is determined that the currently established transfer link number is not smaller than the allowable transfer link number in the transfer link number determining step;
The computer program according to claim 11 , wherein the computer is executed.
前記収集した情報が示す計算資源の静的状態あるいは動的状態が、前記検索要求に含まれる検索キーが示す計算資源の静的状態あるいは動的状態に関する要件を満たす場合に結果通知を返す結果通知ステップと、
前記結果通知に対応して処理の依頼を受け、依頼された処理を行う計算処理割当ステップと、
をコンピュータに実行させることを特徴とする請求項11または請求項12に記載のコンピュータプログラム。 A computing resource collection step for collecting information indicating a static state or a dynamic state of the own computing resource;
Result notification that returns a result notification when the static state or dynamic state of the computational resource indicated by the collected information satisfies the requirements regarding the static state or dynamic state of the computational resource indicated by the search key included in the search request Steps,
A calculation processing assignment step for receiving a request for processing in response to the result notification and performing the requested processing;
And characterized by causing a computer to execute the claim 11 or a computer program according to claim 12.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004343726A JP4170285B2 (en) | 2004-02-06 | 2004-11-29 | Usage-oriented P2P grid computing system and computer program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004030713 | 2004-02-06 | ||
JP2004343726A JP4170285B2 (en) | 2004-02-06 | 2004-11-29 | Usage-oriented P2P grid computing system and computer program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005251160A JP2005251160A (en) | 2005-09-15 |
JP4170285B2 true JP4170285B2 (en) | 2008-10-22 |
Family
ID=35031547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004343726A Expired - Fee Related JP4170285B2 (en) | 2004-02-06 | 2004-11-29 | Usage-oriented P2P grid computing system and computer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4170285B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006013992A1 (en) * | 2004-08-02 | 2006-02-09 | Sony Computer Entertainment Inc. | Network system, management computer, cluster management method, and computer program |
JP5100011B2 (en) * | 2006-01-16 | 2012-12-19 | 株式会社ソニー・コンピュータエンタテインメント | Network resource management apparatus, network resource management system, and network resource management method |
US7881316B2 (en) * | 2006-09-29 | 2011-02-01 | Microsoft Corporation | Multiple peer groups for efficient scalable computing |
JP5117739B2 (en) * | 2007-02-28 | 2013-01-16 | 三菱電機株式会社 | Information management device |
US20100235843A1 (en) * | 2007-04-04 | 2010-09-16 | Bae Systems Plc. | Improvements relating to distributed computing |
-
2004
- 2004-11-29 JP JP2004343726A patent/JP4170285B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005251160A (en) | 2005-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Su et al. | Haggle: Seamless networking for mobile applications | |
US10200465B2 (en) | Method and system for content delivery of mobile terminal applications | |
US20110087783A1 (en) | Allocating resources of a node in a server farm | |
CN1692616A (en) | Network traffic control in peer-to-peer environments | |
JP2021513265A (en) | Blockchain-based systems and methods for propagating data over networks | |
US20120265822A1 (en) | System and method for sharing mobile internet service | |
CN102333127A (en) | Resource downloading method, device and system | |
US11638138B2 (en) | Device-to-device content providing method | |
JP4170285B2 (en) | Usage-oriented P2P grid computing system and computer program | |
Bok et al. | Cooperative caching for efficient data search in mobile P2P networks | |
JP3857258B2 (en) | Grid computing system and method for collecting computing resources in grid computing system | |
D'Angelo et al. | Mobile computing in digital ecosystems: Design issues and challenges | |
Egbe et al. | Context based service discovery algorithm for ad hoc mobile cloud | |
Athanaileas et al. | Optimized service selection for MANETs using an AODV-based service discovery protocol | |
Bok et al. | Cooperative caching for multimedia data in mobile P2P networks | |
KR101041092B1 (en) | Effective p2p system by using web folder | |
JP2004258747A (en) | Connection destination peer selecting device and method | |
Niazi | Self-organized customized content delivery architecture for ambient assisted environments | |
JP2005038339A (en) | Grid computing system and computing resource collection method for grid computing system | |
JP3974357B2 (en) | Shared link setting method, communication system, entity device, computer program thereof, and recording medium thereof | |
JP2004266653A (en) | Entity device, method and program for ad hoc network construction, and its storage medium | |
Grigoras | Service-oriented naming scheme for wireless ad hoc networks | |
JP2014203329A (en) | Storage system, node device, and data management method | |
JP2003032292A (en) | Semantic information switch, semantic information router, method, storage medium and program | |
JP3977387B2 (en) | Semantic information switch, semantic information router, method, recording medium, program |
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 |