(57)【要約】【課題】  クラスタ間でリソースを融通することにおいて、リソース探索にかかる通信量と処理量を低減できるリソース探索方法、クラスタシステム、計算機、及び、クラスタの提供。【解決手段】  複数のクラスタ１・・・ｎは、それぞれリソース１２・・・１３、２１・・・２３、ｎ１・・・ｎ３を備え、計算機５０は、グリッドマネージャー５０ａと、複数クラスタ条件情報格納手段５０ｂを備える。各クラスタ１・・・ｎは、自クラスタ内の各リソースの条件情報を、自クラスタの条件情報として集約し、集約された条件情報は、複数クラスタ条件情報格納手段５０ｂに格納される。  あるクラスタから、所望の条件を満たすリソースを探索する際に、まず、計算機５０へ該所望の条件を送信し、複数クラスタ条件情報格納手段５０ｂから、この条件に適合するクラスタの候補を探索する。次に、得られたクラスタの候補へ該所望の条件を送信し、適合するリソースを探索する。【選択図】図１
2006023948.tif 000002
【特許請求の範囲】
【請求項１】
各々が一つ以上の計算機プログラムの動作に必要な計算機資源であるリソースを備える複数のクラスタと、前記複数のクラスタのそれぞれと接続される計算機とを備えたクラスタシステムで、前記複数のクラスタのうち第１のクラスタからの所望の条件に適合するリソースを、他のクラスタのリソースから探索するリソース探索方法であって、
前記他のクラスタのそれぞれによって、自クラスタ内の各リソースの条件情報を、自クラスタの条件情報として集約し、集約された該条件情報と自クラスタを識別するクラスタ識別情報とを対応付けたクラスタ条件情報を前記計算機へ格納させるために送信するリソース情報集約ステップと、
前記計算機によって、前記第１のクラスタから送信される前記所望の条件を受信し、格納している前記他のクラスタのぞれぞれのクラスタ条件情報から、前記所望の条件に適合するクラスタ条件情報に対応するクラスタ識別情報を得て、前記第１のクラスタへ該クラスタ識別情報を送信する候補クラスタ探索ステップと、
前記第１のクラスタによって、前記クラスタ識別情報で特定される他のクラスタの少なくとも一つへ、前記所望の条件を送信し、適合するリソースを探索するリソース探索ステップとを備えることを特徴とするリソース探索方法。
【請求項２】
前記条件情報は主部と述部との組からなることを特徴とする請求項１記載のリソース探索方法。
【請求項３】
前記リソース情報集約ステップで集約された前記条件情報は、そのクラスタ内にも格納させるようにしたことを特徴とする請求項１または請求項２のリソース探索方法。
【請求項４】
前記リソース情報集約ステップは、前記各条件情報のうち前記主部の数値範囲指定で示される条件情報の値の上限値及び下限値をクラスタ条件情報における上限値および下限値とすることを特徴とする請求項１乃至請求項３記載のリソース探索方法。
【請求項５】
前記他のクラスタのそれぞれは、前記各条件情報のうち非数値で示される条件情報の値をノードとして置換するための知識ベースを備え、前記リソース情報集約ステップで集約する際に、非数値で示される条件情報の値を前記知識ベースによってノード化し、各ノード間の経路長を用いて集約するようにしたことを特徴とする請求項１乃至請求項３記載のリソース探索方法。
【請求項６】
各々が一つ以上のリソースを備える複数のクラスタと、前記複数のクラスタのそれぞれと接続される計算機とを備えたクラスタシステムにおいて、
前記複数のクラスタのそれぞれは、
自クラスタ内の各リソースの条件情報を格納する第１格納手段と、
前記第１格納手段に格納される自クラスタ内の各リソースの条件情報を、自クラスタの条件情報として集約する集約手段と、
前記集約手段によって集約された該条件情報と自クラスタを識別するクラスタ識別情報とを対応付けたクラスタ条件情報を送信する送信手段と、
条件情報を付加した検索要求受けると、前記第１格納手段を前記条件情報で検索し、適合するリソースを示す情報を得る第１検索手段とを備え、
前記計算機は、
前記クラスタのそれぞれから、前記集約手段で集約されたクラスタの条件情報のそれぞれを格納する第２格納手段と、
条件情報を付加した検索要求受けると、前記第２格納手段を前記条件情報で検索し、適合するクラスタを識別する情報を得る第２検索手段とを備えたことを特徴とするクラスタシステム。
【請求項７】
各々が一つ以上のリソースを備える複数のクラスタと接続される計算機であって、
前記複数のクラスタのそれぞれから、自クラスタ内の各リソースの条件情報を、自クラスタの条件情報として集約されたクラスタの条件情報のそれぞれを格納する格納手段と、
条件情報を付加した検索要求受けると、前記格納手段を前記条件情報で検索し、適合するクラスタを識別する情報を得る検索手段と、
前記検索手段によって得られた該クラスタを識別する情報を検索要求元へ送信する送信手段とを備えたことを特徴とする計算機。
【請求項８】
計算機と接続されるクラスタにおいて、
自クラスタ内の各リソースの条件情報を格納する格納手段と、
前記格納手段に格納される自クラスタ内の各リソースの条件情報を、自クラスタの条件情報として集約する集約手段と、
前記集約手段によって集約された該条件情報と自クラスタを識別するクラスタ識別情報とを対応付けたクラスタ条件情報を前記計算機へ送信する送信手段と、
条件情報を付加した検索要求受けると、前記格納手段を前記条件情報で検索し、適合するリソースを示す情報を得る検索手段と、
前記検索手段によって得られた該リソースを識別する情報を検索要求元へ送信する送信手段とを備えたことを特徴とするクラスタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラスタシステムにおけるリソースの融通の際に、効率的にリソースを探索するためのリソース探索方法、クラスタシステム、計算機、及び、クラスタに関する。
【背景技術】
【０００２】
クラスタシステムは、計算機やディスクなどのコンピュータ資源（以下、リソースと称す）を一括管理して、必要に応じてアプリケーションへの割り当てを行うことで、信頼性・処理性能・リソースの利用率などの向上を図るシステムである。そして、クラスタシステムは、クラスタ内の一台または複数台の計算機上でミドルウェアまたはＯＳの一モジュールとしてクラスタマネージャを動作させリソースの管理をさせる形態で実現される。
【０００３】
通常のクラスタシステムは、一つのクラスタ内に閉じたリソースの割り当てを行うものである。しかし近年、処理対象のデータの増大やコスト低減要求によって、一つのクラスタ内だけではリソースが足りない場合に、クラスタ間でリソースの融通（以下、リソース融通と称す）を行うことで、リソース不足に対処したいという要求が現れている。
【０００４】
一般に、アプリケーションを動作させるには、特定のＣＰＵや特定のＯＳが要求される。計算機などのリソースは、この要求を満たすものでなければ利用できない。そのためクラスタ間でリソース融通を行う場合、利用可能なリソースを、クラスタ間をまたがって探索する機構が必要になる。探索の際には、アプリケーションが要求するＣＰＵやＯＳの種類などのリソースについての情報(以下、リソース情報と称す)を条件として指定する。
【０００５】
なお、この条件の中には、ＣＰＵの種類のように条件を満たすか満たさないかに二分される離散的な条件と、ＣＰＵのクロック数のように最低条件を満たした上でなるべく大きいものがよいといった連続的な条件とがある。
【０００６】
従来の単一クラスタ内でのリソース探索については、希望する条件を細かく指定し、その条件に該当するリソースをあらゆるリソースの中から探索するという手法が取られている。現在検討されているクラスタ間リソース融通は、上記のような単一クラスタ内でのリソース探索方法をそのままクラスタ間に拡大したものである。具体的には、借りる側のクラスタが希望するリソースの条件を細かく指定して、その条件に該当するリソースをあらゆるクラスタのあらゆるリソースから探索するというものである。
【０００７】
探索される対象となるリソース情報の格納方法については、従来は、例えば特許文献１に記載されるシステム・レジストリのように、複数クラスタからなるシステム全体の情報をそのまま格納する機構を有し、クラスタ内で格納される情報も共通部分についてはシステム全体の情報との一貫性を維持する方法が知られている。
【特許文献１】特開２００２−４９６０１公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述した単一クラスタ内でのリソース探索方法をそのままクラスタ間に拡大したものでは、クラスタをまたがる融通においてリソースの条件を細かく指定し、その条件に該当するあらゆるリソースの情報をあらゆるクラスタについてやりとりするため、通信量や処理量が大きいという問題点があった。
【０００９】
従って、本発明は上記問題点を解決するためになされたもので、クラスタ間でリソースを融通することにおいて、リソース探索にかかる通信量と処理量を低減できるリソース探索方法、クラスタシステム、計算機、及び、クラスタを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、各々が一つ以上のリソースを備える複数のクラスタと、前記複数のクラスタのそれぞれと接続される計算機とを備えたクラスタシステムで、前記複数のクラスタのうち第１のクラスタからの所望の条件に適合するリソースを、他のクラスタのリソースから探索するリソース探索方法であって、前記他のクラスタのそれぞれによって、自クラスタ内の各リソースの条件情報を、自クラスタの条件情報として集約し、集約された該条件情報と自クラスタを識別するクラスタ識別情報とを対応付けたクラスタ条件情報を前記計算機へ格納させるために送信するリソース情報集約ステップと、前記計算機によって、前記第１のクラスタから送信される前記所望の条件を受信し、格納している前記他のクラスタのぞれぞれのクラスタ条件情報から、前記所望の条件に適合するクラスタ条件情報に対応するクラスタ識別情報を得て、前記第１のクラスタへ該クラスタ識別情報を送信する候補クラスタ探索ステップと、前記第１のクラスタによって、前記クラスタ識別情報で特定される他のクラスタの少なくとも一つへ、前記所望の条件を送信し、適合するリソースを探索するリソース探索ステップとを備えるようにした。
【００１１】
また、本発明は、各々が一つ以上のリソースを備える複数のクラスタと、前記複数のクラスタのそれぞれと接続される計算機とを備えたクラスタシステムにおいて、前記複数のクラスタのそれぞれは、自クラスタ内の各リソースの条件情報を格納する第１格納手段と、前記第１格納手段に格納される自クラスタ内の各リソースの条件情報を、自クラスタの条件情報として集約する集約手段と、前記集約手段によって集約された該条件情報と自クラスタを識別するクラスタ識別情報とを対応付けたクラスタ条件情報を送信する送信手段と条件情報を付加した検索要求受けると、前記第１格納手段を前記条件情報で検索し、適合するリソースを示す情報を得る第１検索手段とを備え、前記計算機は、前記クラスタのそれぞれから、前記集約手段で集約されたクラスタの条件情報のそれぞれを格納する第２格納手段と、条件情報を付加した検索要求受けると、前記第２格納手段を前記条件情報で検索し、適合するクラスタを識別する情報を得る第２検索手段とを備えた。
【００１２】
また、本発明は、各々が一つ以上のリソースを備える複数のクラスタと接続される計算機であって、前記複数のクラスタのそれぞれから、自クラスタ内の各リソースの条件情報を、自クラスタの条件情報として集約されたクラスタの条件情報のそれぞれを格納する格納手段と、条件情報を付加した検索要求受けると、前記格納手段を前記条件情報で検索し、適合するクラスタを識別する情報を得る検索手段と、前記検索手段によって得られた該クラスタを識別する情報を検索要求元へ送信する送信手段とを備えた。
【００１３】
また、本発明は、計算機と接続されるクラスタにおいて、自クラスタ内の各リソースの条件情報を格納する格納手段と、前記格納手段に格納される自クラスタ内の各リソースの条件情報を、自クラスタの条件情報として集約する集約手段と、前記集約手段によって集約された該条件情報と自クラスタを識別するクラスタ識別情報とを対応付けたクラスタ条件情報を前記計算機へ送信する送信手段と、条件情報を付加した検索要求受けると、前記格納手段を前記条件情報で検索し、適合するリソースを示す情報を得る検索手段と、前記検索手段によって得られた該リソースを識別する情報を検索要求元へ送信する送信手段とを備えた。
【発明の効果】
【００１４】
本発明によれば、クラスタ探索によって絞り込んだクラスタを対象にリソース探索を行うため、クラスタ間リソース融通のためのリソース探索にかかる通信量と処理量を低減することができる。
【発明を実施するための最良の形態】
【００１５】
以下に本発明の実施の形態を、図面を参照しながら説明する。
【００１６】
本実施の形態では、相互にリソース融通を行うクラスタ群全体をグリッドと呼ぶ。図１は、本実施の形態のグリッドの全体構成を示している。
【００１７】
グリッド１００は、複数のクラスタ１、２、…、ｎとそれを管理する１つのグリッドマネージャ５０ａが動作する計算機５０を有し、それらがネットワーク４０によって接続されている。複数の同様なクラスタ１、２、…、ｎの中で、クラスタ１を用いてクラスタの構成を説明する。
【００１８】
クラスタ１は、リソース管理部１ａが動作する計算機１１と、リソース管理部１ａによって管理されるリソース１２、・・・、１３を備える。リソース１２、・・・、１３は、計算機上に構成されるサービスが必要とするコンピュータ資源であり、本実施の形態では計算機乃至ディスクであって、各クラスタ１、２、…、ｎには一つ以上のリソースが含まれている。なお、本実施形態にかかわらず、計算機を利用したサービスにとって必要な計算機資源であれば、例えばプリンタや通信機器、映像機器などの入出力装置、あるいは例えばソフトウェアライセンス情報といった単なるデータも本発明のリソースとすることとができる。リソース管理部１ａは、クラスタ１内のリソース検索を行うリソース検索手段１ｂと、クラスタ１内のリソースについてリソース毎の条件情報（以下、リソース条件情報と称す）を格納するリソース条件情報格納手段１ｃと、クラスタ１内の各リソースの各リソース条件情報に含む条件を種別ごとに集約された条件情報（以下、クラスタ条件情報と称す）を格納するクラスタ条件情報格納手段１ｄと、リソース条件情報格納手段１ｃに格納されたリソース条件情報からクラスタ条件情報格納手段１ｄに格納するためのクラスタ条件情報へ集約するリソース条件情報集約手段１ｅとを備える。
【００１９】
なお、リソース管理部１ａは、図１のようにリソース１２、・・・、１３とは別の計算機上で動作させてもよいし、リソース１２、・・・、１３の何れかの計算機上で動作させてもよい。なお、クラスタ２、３、…、ｎの構成も上述したクラスタ１と同様であるので、その説明は省略する。
【００２０】
グリッド１００には、グリッドマネージャ５０ａと複数クラスタ条件情報格納手段５０ｂとを有する計算機５０が設けられ、グリッドマネージャ５０ａは、クラスタ１、２、…、ｎ間のリソース融通の仲介を行う。このグリッドマネージャ５０ａは、ミドルウェアまたはＯＳの一モジュールとして実現される。なお、ここでは、グリッドマネージャ５０ａは、クラスタ１、２、・・・、ｎに属さない独立した計算機５０上で動作させるようにしたが、クラスタ１、２、・・・、ｎに属する何れかの計算機で動作させてもよい。
【００２１】
複数クラスタ条件情報格納手段５０ｂは、クラスタ１、２、・・・、ｎのリソース管理部１ａ、２ａ、・・・、ｎａへのポインタと該ポインタに対応するクラスタのクラスタ条件情報とを組として格納しており、必要に応じてそのポインタを利用してリソース管理部１ａ、２ａ、…、ｎａと通信できる。ポインタは、グリッドマネージャ５０ａの設定ファイルなどに記述しておいて、グリッドマネージャ５０ａの計算機５０が起動時に読み込んでもよい。または、クラスタ１、２、…、ｎがグリッド１００に参加する際に、リソース管理部１ａ、２ａ、…、ｎａがグリッドマネージャ５０ａに対して参加要求を送信して知らせてもよい。ポインタとしては、たとえばＴＣＰ／ＩＰプロトコルの場合はＩＰアドレスとポート番号が利用できる。
【００２２】
図２には、リソース条件情報格納手段１ｃに格納されるリソース条件情報の例を示し、図３には、クラスタ条件情報格納手段１ｄに格納されるクラスタ条件情報の例を示す。
【００２３】
各条件情報は、上２行が識別情報、のこりの行が条件となり、各条件は、ここでは条件式で示している。識別情報部分は左の列が情報名、右の列が対応する値であり、条件式は、左の列が条件式の主部であり、右の列が述部である。述部はさらに述語と引数からなる。述語は、“＝”、“≦”、“≧”、“ｉｓ−ｏｎｅ−ｏｆ”のいずれかである。“＝”は、主部と引数が等しいことを示す。“≦”は、主部の上限が引数の数値であることを示す。“≧”は、主部の下限が引数の数値であることを示す。“ｉｓ−ｏｎｅ−ｏｆ”は、ひとつ以上の任意個の引数をとり、主部がそれらの引数のいずれかに等しいことを示す。また、本実施の形態では単一の条件情報中の複数の条件式はその積を値とする。
【００２４】
次に、以上のような構成のグリッド１００におけるリソース探索方法を説明する。図４は、本実施の形態のリソース探索方法の動作を示すフローチャートである。図４の一番左の列は、他のクラスタからリソースを借りるクラスタ１のリソース管理部１ａの動作を示しており、その隣の列はグリッドマネージャ５０ａの動作を示している。グリッドマネージャ５０ａの右側の複数のリソース管理部は自分のリソースをクラスタ１に貸すクラスタ２、３、…、ｎのリソース管理部２ａ、３ａ、・・・、ｎａの動作を示している。
【００２５】
クラスタ１、２、…、ｎのクラスタ条件情報格納手段１ｄ、２ｄ、…、ｎｄに格納されるクラスタ条件情報は、グリッドマネージャ５０ａの複数クラスタ条件情報格納手段５０ｂにも重複して格納される。このため、クラスタ条件情報の一貫性の確保のために、クラスタ条件情報の転送が必要になる。そこで、クラスタ条件情報は、例えば一定時間ごとにクラスタ１、２、…、ｎのクラスタ条件情報格納手段１ｄ、２ｄ、…、ｎｄからグリッドマネージャ５０ａの複数クラスタ条件情報格納手段５０ｂに転送されることとする。なお、クラスタ条件情報に更新日時を付与しておけば、前回の転送時から更新された条件式のみを転送して、更新されていない条件式の転送を省略して転送量や処理量を減らすこともできる。
【００２６】
本実施の形態のリソース探索方法は、大別すると、三つのステップ、即ち、情報集約ステップＳ１００、候補クラスタ探索ステップＳ２００、および該当リソース探索ステップＳ３００より成る。
【００２７】
まず、情報集約ステップＳ１００を説明する。なお、クラスタ１・・・ｎは、同様の情報集約ステップＳ１００の動作が行われるため、以下では、クラスタ１を代表として説明する。情報集約ステップＳ１００では、個々の探索に先だって、リソース条件情報集約手段１ｅによりリソース条件情報格納手段１ｃに格納されている各リソース条件情報の条件式（条件）を集約し、クラスタ条件情報格納手段１ｄに格納する処理を行う。情報集約ステップＳ１０の詳細を図５に示す。
【００２８】
まず、リソース条件情報集約手段１ｅは、リソース条件情報格納部１ｃに格納されている識別情報のＲｅｓｏｕｒｃｅＴｙｐｅの値の一覧を取得し、ＲｅｓｏｕｒｃｅＴｙｐｅの値から一つ選択する（Ｓ１０１）。次に、選択したＲｅｓｏｕｒｃｅＴｙｐｅの値を持つ各条件情報に含まれる全ての条件式をリソース条件情報格納手段１ｃから取り出して一時的に格納する（Ｓ１０２）。条件式の主部の一覧を取得し、条件式の主部を一つ選択する（Ｓ１０３）。なお、この選択の前に、この主部に対する上限値Ｒと下限値ｒとの変数を用意し、初期値としてＲ＝−∞とｒ＝∞を設定しておく。次に、選択された条件式の主部を備える条件式を一つ選択する（Ｓ１０４）。
【００２９】
選択した条件式の述部を確認する（Ｓ１０５）。述部が、“＝数値”の場合、“≦数値”の場合、“≧数値”の場合、“数値でない（ｉｓ−ｏｎｅ−ｏｆ）”場合に応じて、以下の処理が行われる。述部が、“＝数値”の場合には、上限値Ｒと比較し、大きいほうの値を上限値Ｒとするとともに、下限値ｒと比較し、小さいほうの値を下限値ｒとする（Ｓ１０６）。述部が、“≦数値”の場合には、上限値Ｒと比較し、大きいほうの値を上限値Ｒとする（Ｓ１０７）。述部が、“≧数値”の場合には、下限値ｒと比較し、小さいほうの値を下限値ｒとする（Ｓ１０８）。述部が、“数値でない（ｉｓ−ｏｎｅ−ｏｆ）”場合には、述部の値を一時保存する（Ｓ１０９）。
【００３０】
次に、一時的に格納した条件式に、述部が未確認のものがあるか否か判断し（Ｓ１１０）、未確認のものがあれば、ステップＳ１０３に戻り、一時的に格納した条件式の述部をすべて確認するまで、処理を繰り返す。
【００３１】
一方未確認のものが無ければ、次に、上限値Ｒ＝−∞と下限値ｒ＝∞の場合はそれぞれ値が無かったものとした上で、（１）上限値Ｒと下限値ｒとの何れも無いか（述部は数値を取らなかったことを意味する）、（２）何れかのみあるか、（３）上限値Ｒと下限値ｒとが有って上限値Ｒと下限値ｒとが等しいか、（４）上限値Ｒと下限値ｒとが有って上限値Ｒと下限値ｒとが等しくないかを確認する（Ｓ１１１）。
【００３２】
この結果、上記（１）の場合、一つのｉｓ−ｏｎｅ−ｏｆを述語とし、保存されている値全てを引数とする条件式を生成し（Ｓ１１２）、上記（２）の場合、“主部≦上限値”または“主部≧下限値”とを条件式として生成し（Ｓ１１３）、上記（３）の場合、“主部＝数値（＝上限値or下限値）”を条件式として生成し（Ｓ１１４）、上記（４）の場合、“主部≦上限値”と“主部≧下限値”とを積とした条件式を生成し（Ｓ１１５）。出力された条件式は、一時的に保持しておく（Ｓ１１６）。
【００３３】
以上で一つの条件主部に対する処理が終わり、未だ他の未処理の条件主部が有るか否かを確認し（Ｓ１１７）、有れば、ステップＳ１０２に戻り、未処理の条件主部がなくなるまで処理を繰り返す。
【００３４】
一方、ステップＳ１１７で未処理の条件主部がなくなったと確認された場合には、以上で一つのＲｅｓｏｕｒｃｅＴｙｐｅの値に対する処理が終わり、ステップＳ１１６で一時保持した条件式に基づいて、このＲｅｓｏｕｃｅＴｙｐｅの値のクラスタ条件情報として、クラスタ条件情報格納手段１ｄに格納する（Ｓ１１８）
そして、未だ他の未処理のＲｅｓｏｕｒｃｅＴｙｐｅの値があるかを確認し（Ｓ１１９）、有れば、ステップＳ１０１に戻り未処理のＲｅｓｏｕｃｅＴｙｐｅの値がなくなるまで処理を繰り返す。
【００３５】
全てのＲｅｓｏｕｒｃｅＴｙｐｅ値について以上の処理が終了する（Ｓ１１９のＹＥＳ）と、クラスタ１内の全てのリソースに対しリソース集約処理を終えたことになる。
【００３６】
図４に戻って、各リソース管理部１ａ、・・・、ｎａは、クラスタ条件情報格納手段１ｄに格納された全てのクラスタ条件情報をグリッドマネージャ５０ａに送信する。グリッドマネージャ５０ａは、受信したクラスタ条件情報を複数クラスタ条件情報格納手段５０ｂに格納／更新する（Ｓ１２１）。
【００３７】
先に示した図３は、図２のリソース条件情報を上記で説明したリソ−ス集約を行った後のクラスタ条件情報を示した例であり、ここではＭａｘＢａｎｄｗｉｄｔｈについては条件が論理和により集約され単純となっており、ＣＰＵについて、条件が論理和によって集約されていることが示されている。
【００３８】
次に、候補クラスタ探索ステップＳ２００を説明する。
【００３９】
まず、クラスタ１のリソース管理部１ａは、所望する条件情報を設定したクラスタ探索要求をグリッドマネージャ５０ａに対して発行する（Ｓ２０１）。リソース管理部１ａからのクラスタ探索要求をグリッドマネージャ５０ａが受信すると、複数クラスタ条件情報格納手段５０ｂを検索し（Ｓ２０２）、マッチしたものを貸し出し可能なリソースをもつ可能性の有るクラスタとし、その（それら）クラスタを示すポインタを候補クラスタ情報として、リソース管理部１ａに送信する（Ｓ２０３）。クラスタリソース管理部１ａは、候補クラスタ情報を受信する（Ｓ２０４）。
【００４０】
次に、該当リソース探索ステップＳ３００を説明する。
【００４１】
リソース管理部１ａは、受信した候補クラスタ情報の全部または一部に対して、所望する条件情報を設定したリソース探索要求を送信する（Ｓ３０１）。なお、ここで設定した条件情報は、ステップＳ２０１のクラスタ探索要求時の条件情報と同じである。図４では、二つのクラスタ２、３が候補クラスタとなっているため、どちらのクラスタ２、３へもリソース探索要求が送信されているが、一般には候補クラスタとなっている一部のクラスタのみへリソース探索が送信すればよい。
【００４２】
より多くの候補クラスタに対してリソース探索要求を送信すれば、より好ましいリソースを見つけることができる可能性が高くなり、一部のクラスタのみへリソース探索が送信すれば、リソース探索の送信および処理のコストの効率化が図れる。
【００４３】
リソース管理部２ａ、３ａは、リソース探索要求を受け取ると（Ｓ３０２）、リソース探索要求の条件情報を読み出して、それぞれリソース検索手段２ｂ、２ｃを用いてリソース情報格納手段２ｃ、３ｃを検索し（Ｓ３０３）、各自クラスタ内の該当するリソースを検索し、該当するリソース情報をリソース管理部１ａに送信する（Ｓ３０４）。リソース管理部１ａは、それぞれ、リソース情報を受信し（Ｓ３０５）、リソーズ情報が示すリソースから一つ選択する（Ｓ３０６）。この選択は、もっとも優れた該当リソース情報のリソースを選択する方法でも良いし、最も早く受信したリソース情報のリソースを選択する方法や、任意のリソースを不作為に選択する方法でも良い。
【００４４】
以上によりリソース探索を容易に行うことができる。これで探索し選択したリソースに対し、リソース融通の依頼を行う、等すれば良い。
【００４５】
以上のようにした本実施の形態のリソース探索方法によれば、各クラスタ内のリソースの条件情報を各クラスタ内で集約し、これをグリッドマネージャ５０ａに登録するから、リソース融通を受けたいクラスタ（リソース）からグリッドマネージャ５０ａへクラスタ探索要求を行うだけで、条件の合うリソースを備えている可能性の有る（高い）クラスタ候補を得ることが出来るから、全てのクラスタを探索することなくリソース融通を受けるリソースを見つけやすくなった。
【００４６】
なお、複数クラスタ条件情報格納手段５０ｂに登録される複数クラスタ条件情報は、情報集約ステップＳ１０によって簡略化されているため、一部の候補クラスタへ該当リソース探索ステップＳ３０で探索しても、リソースが発見できない場合がある。しかし、一方で探索要求されているリソースを有するクラスタは候補クラスタ探索ステップＳ２０で必ず候補クラスタのひとつとして選択される。したがって、該当リソース探索ステップＳ３０で全部の候補クラスタに対して、該当リソース探索要求を送信すれば、要求リソースが存在する場合には確実にリソース探索によって発見することができる。
【００４７】
また、一部の候補クラスタへの該当リソース探索ステップＳ３０による該当リソース探索要求の送信を、該当リソースを発見できるか候補クラスタが尽きるかまで繰り返すこともできる。このような複数の候補クラスタへの探索は該当リソース探索ステップにおける通信量を増加させるが、個々のクラスタに多数のリソースが存在していることを前提とすると、情報集約ステップＳ１０によって個々のクラスタのリソース管理部からグリッドマネージャに送信される通信量を削減することができ、さらにリソース探索全体の処理量をも低減することができる。
【００４８】
なお、本実施例においてリソース条件情報集約手段１ｅは、クラスタに属しているが、これをグリッドマネージャ側に設置してクラスタマネージャからグリッドマネージャに送信する情報をリソース条件情報とし、集約処理をグリッドマネージャ側で行うようにしてもよい。この場合は、通信量は低減しないが、処理量低減については同等の効果を得られる。
【００４９】
次に、上記実施の形態の変形例を以下に説明する。
【００５０】
図６は、この変形例の構成を示すものであり、上記実施の形態の図１と比較からリソース管理部１ａ、・・・、ｎａに知識ベース格納手段１ｆ、・・・、ｎｆを追加で備えた点が構成上の違いであり、また、リソース集約ステップＳ１００内のステップＳ１１２を、後述する図１０に示す、より高度なリソース集約方法で行うようにしたところに違いがある。
【００５１】
この変形例では、主部が引数の部分集合であることを示す新たな述語“ｉｓ−ｓｕｂｓｅｔ−ｏｆ”を追加したことにより、クラスタ条件情報は、図７に示すように上記実施の形態に比べて単純な構成で実現される。
【００５２】
図８は、知識ベース格納手段１ｆ、・・・、ｎｆに格納される知識情報の例である。知識ベースは、有向非環グラフとして表現され、集合の包含関係において含まれる集合を表現する子ノードから含む集合を表現する親ノードへ矢印がひかれる。図８の例ではＣＰＵＡｒｃｈ−ＸはＣＰＵＭｏｄｅｌ−Ａ、ＣＰＵＭｏｄｅｌ−Ｂ、ＣＰＵＭｏｄｅｌ−Ｃ、およびＣＰＵＭｏｄｅｌ−Ｄからなる集合であること、ＣＰＵＡｒｃｈ−ＹはＣＰＵＭｏｄｅｌ−ＥおよびＣＰＵＭｏｄｅｌ−Ｆからなる集合であること、ＣＰＵＶｅｎｄｏｒ−ＩはＣＰＵＭｏｄｅｌ−Ａ、ＣＰＵＭｏｄｅｌ−ＢおよびＣＰＵＭｏｄｅｌ−Ｄからなる集合であること、ＣＰＵＶｅｎｄｏｒ−ＪはＣＰＵＭｏｄｅｌ−ＣおよびＣＰＵＭｏｄｅｌＥからなる集合であること、ＣＰＵＶｅｎｄｏｒ−ＫはＣＰＵＭｏｄｅｌ−Ｆからなる集合であること、ＣＰＵＴｙｐｅ−ＭはＣＰＵＡｒｃｈ−ＸおよびＣＰＵＡｒｃｈ−Ｙからなる集合であることをグラフ構造によって示している。
【００５３】
本変形例は、上記実施の形態と比較し、図５のフローにおけるステップＳ１１２に変え、図１０の簡略化処理を行う点に特徴があり、この点について説明する。
【００５４】
簡略化処理では、まず、知識ベース格納手段１ｆを参照して、述部が“数値でない”場合に保存した値（以下、保存値と呼ぶ）を表現するノードを得る（Ｓ６１）。なお、知識ベース中に存在しない値は簡略化の対象外とする。
【００５５】
次に、得たノードから知識ベースのグラフを親方向に全ての経路をたどる。このとき、経路上の各ノードに、［（数値，数値，…，数値），数値］という情報を記録する（Ｓ６２）。（数値，数値，…，数値）は、起点となるノードの情報であり、ステップＳ１０９で一時保存された各保存値の添字に用いる。［（数値，数値，…，数値），数値］の最後の数値は最大経路長であり、ノードをたどる際に、更新する。この場合において、起点は［（１），０］，［（２），０］，…，［（ｎ），０］となる。例えば、図２のリソース条件情報のＣＰＵについて、図８の知識ベースを用いて生成したグラフは、図９のようになる。
【００５６】
経路をたどり終えたあとに残されたノードの情報に、［（１，２，…，ｎ），ｘ］という値のノードが存在するか否か確認し（Ｓ６３）、存在する場合、そのノードは、各保存値の全てを含む集合に対応している。図９では、ＣＰＵＡｒｃｈ−ＸとＣＰＵＴｙｐｅ−Ｍのノードが該当する。そのようなノードは、一般に複数存在するので、それらのうち始点からの最大経路長が最短のものを選び、保存値をその値で書き換える（Ｓ６５）。図９では、ＣＰＵＡｒｃｈ−Ｘが該当し、ＣＰＵＭｏｄｅｌ−Ａ、ＣＰＵＭｏｄｅｌ−Ｂ、ＣＰＵＭｏｄｅｌ−Ｃからなる各保存値は、一つのＣＰＵＡｒｃｈ−Ｘに書き換えられる。
【００５７】
一方、［（１，２，…，ｎ），ｘ］という値のノードが存在しない場合、合流点と始点からノードを複数選ぶことによって、１からｎまでを全て含む集合を作ることができる。これらのノード集合のうちノード数が最小のものを選択する（Ｓ６４）。選択した最小のものから最大経路長が最短のものを選び、保存値をその値で置き換える（Ｓ６５）。
【００５８】
そして、主部が引数の部分集合であることを示す述語“ｉｓ−ｓｕｂｓｅｔ−ｏｆ”を
述部とし、保存値を引数とする条件式を生成する（Ｓ６６）。なお、保存値が複数の場合は引数の和集合が引数であるとする。
【００５９】
以上の条件主部ごとの処理を全ての条件主部について行って出力された条件式の集合を注目しているＲｅｓｏｕｒｃｅＴｙｐｅ値のクラスタ条件情報としてクラスタ条件情報格納手段１ｄに格納する。
【００６０】
以上説明した変形例を利用することにより、上記実施の形態で得られる効果に加えて、条件情報の集約処理によってクラスタ探索にかかる通信量と処理量をさらに低減することができる。
【００６１】
なお、本実施例においてリソース条件情報集約手段１ｅおよび知識ベース格納手段１ｆはクラスタに属しているが、これをグリッドマネージャ側に設置してクラスタマネージャからグリッドマネージャに送信する情報をリソース条件情報とし、集約処理をグリッドマネージャ側で行うことにしてもよい。その場合は通信量は低減しないが、処理量低減については同等の効果を得られる。
【図面の簡単な説明】
【００６２】
【図１】本発明の実施形態に係るクラスタシステムの構成を示すブロック図である。
【図２】本発明の実施形態に用いられるリソース条件情報の例を示す図である。
【図３】本発明の実施形態に用いられるクラスタ条件情報の例を示す図である。
【図４】本発明の実施形態に係るリソース探索動作を示すフローチャート。
【図５】本発明の実施形態に係る情報集約動作を示すフローチャート。
【図６】変形例に係るクラスタシステムの構成を示すブロック図である。
【図７】変形例に用いられるクラスタ条件情報の例を示す図である。
【図８】変形例に用いられる知識ベース情報の例を示す図である。
【図９】変形例に用いられる配列要素簡略化動作で用いられるグラフの例を示す図である。
【図１０】変形例に係る簡略化動作を示すフローチャート。
【符号の説明】
【００６３】
１、２、・・・、ｎ・・・クラスタ
１ａ、２ａ、・・・、ｎａ・・・リソース管理部
１ｂ、２ｂ、・・・、ｎｂ・・・リソース検索手段
１ｃ、２ｃ、・・・、ｎｃ・・・リソース条件情報格納手段
１ｄ、２ｄ、・・・、ｎｄ・・・クラスタ条件情報格納手段
１ｅ、２ｅ、・・・、ｎｅ・・・リソース条件情報集約手段
１ｆ、２ｆ、・・・、ｎｆ・・・知識ベース格納手段
１２、１３、２２、２３、・・・、ｎ２、ｎ３・・・リソース
４０・・・ネットワーク
５０・・・計算機
５０ａ・・・グリッドマネージャ
５０ｂ・・・複数クラスタ条件情報格納手段
１００・・・グリッド
【図１】
2006023948.tif 000003
【図２】
2006023948.tif 000004
【図３】
2006023948.tif 000005
【図４】
2006023948.tif 000006
【図５】
2006023948.tif 000007
【図６】
2006023948.tif 000008
【図７】
2006023948.tif 000009
【図８】
2006023948.tif 000010
【図９】
2006023948.tif 000011
【図１０】
2006023948.tif 000012