(57)【要約】【課題】複数のクラスタを有する分散コンピューティングシステムにおいて、効率良くかつ簡易に複数のクラスタの稼働状態を改善する。【解決手段】構成管理マスタマシン２０１は、各クラスタ２０２Ａ〜２０２Ｄへのマスタマシン１０３とスレーブマシン１０４の追加および縮退を行うことができ、更にあるクラスタから他のクラスタにマスタマシン１０３とスレーブマシン１０４を移動させることができる。追加は、予備マシン１０６を各クラスタ２０２Ａ〜２０２Ｄのマスタマシン１０３またはスレーブマシン１０４とすることであり、縮退は各クラスタ２０２Ａ〜２０２Ｄのマスタマシン１０３またはスレーブマシン１０４を予備マシン１０６とすることである。移動は、あるクラスタでマスタマシン１０３またはスレーブマシン１０４を縮退し、他のクラスタへ縮退したマスタマシン１０３またはスレーブマシン１０４を追加することである。【選択図】図２
2013205859.tif 000002
【特許請求の範囲】
【請求項１】
複数のスレーブマシンと当該各スレーブマシンを管理するマスタマシンとを含む複数のクラスタと、複数の予備マシンを含む予備マシン群と、前記各クラスタを管理する構成管理マスタマシンで構成される分散コンピューティングシステムであって、
前記構成管理マスタマシンが、
前記予備マシン群に含まれる予備マシンを前記各クラスタにマスタマシンとして追加し、前記各クラスタに含まれるマスタマシンを前記予備マシン群に予備マシンとして縮退し、前記各クラスタに含まれるマスタマシンを他の前記クラスタにマスタマシンまたはスレーブマシンとして移動させる手段と、
前記各クラスタに含まれるマスタマシンに対して、前記予備マシン群に含まれる予備マシンを前記各クラスタにスレーブマシンとして追加する追加指示と、前記各クラスタに含まれるスレーブマシンを前記予備マシン群に予備マシンとして縮退する縮退指示と、前記各クラスタに含まれるスレーブマシンを他の前記クラスタにマスタマシンまたはスレーブマシンとして移動させる移動指示とを行う手段と、
を備え、
前記各クラスタに含まれるマスタマシンが、前記構成管理マスタマシンの追加指示に応じて前記予備マシン群に含まれる予備マシンを前記各クラスタにスレーブマシンとして追加し、前記構成管理マスタマシンの縮退指示に応じて前記各クラスタに含まれるスレーブマシンを前記予備マシン群に予備マシンとして縮退し、前記構成管理マスタマシンの移動指示に応じて前記各クラスタに含まれるスレーブマシンを他の前記クラスタにマスタマシンまたはスレーブマシンとして移動させる手段を備える、
ことを特徴とする分散コンピューティングシステム。
【請求項２】
前記構成管理マスタマシンが、
前記各クラスタ、前記各マスタマシンおよび前記各スレーブマシンの構成と稼働状態とを示す構成・稼働統計情報が格納されている構成・稼動統計情報データベースと、
手動と自動のいずれかを指定する指定情報と、前記指定情報によって自動が指定されている場合に追加、縮退および移動を行うルールとが格納されたルールテーブルと、
前記ルールテーブルに格納された指定情報によって手動が指定されている場合に、前記構成・稼働統計情報データベースに格納されている構成・稼働統計情報に基づいて、追加、縮退または移動を行うべきクラスタを推薦するレコメンド情報を作成し、作成された当該レコメンド情報を表示し、表示された前記レコメンド情報を見た管理者による指示を受け付けて、受け付けた当該指示に従って前記各マスタマシンの追加、縮退および移動を行い、前記各クラスタマシンの追加指示、縮退指示および移動指示を行う手段と、
前記ルールテーブルに格納された指定情報によって自動が指定されている場合に、前記構成・稼働統計情報データベースに格納されている構成・稼働統計情報と前記ルールテーブルに格納されたルールとに基づいて、前記各マスタマシンの追加、縮退および移動を行い、前記各クラスタマシンの追加指示、縮退指示および移動指示を行う手段と、
を備えることを特徴とする請求項１に記載の分散コンピューティングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のクラスタを有する分散コンピューティングシステムに関する。
【背景技術】
【０００２】
分散コンピューティングシステムにおけるクラスタの動的な構成変更は、既存の技術で既に実現されている（例えば、特許文献１参照）。
分散コンピューティングシステムは、例えば、マスタマシンと複数のスレーブマシンとを含むクラスタと、予備マシン群とで構成される。この分散コンピューティングシステムにおいて、構成管理マスタマシンが、クラスタのマスタマシンを監視し指示を出すことで、クラスタ構成の維持を行い、分散コンピューティングシステムからのマスタマシンおよびスレーブマシン縮退時には、予備マシン群という冗長化構成を維持したまま縮退を行う。
このように分散コンピューティングシステムへのマスタおよびスレーブの動的な構成変更時には、冗長化構成となるように構築することが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１１３４９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の分散コンピューティングシステムは、クラスタが一つであることが多い。このため、クラスタが一つの場合の管理、保守については良く知られている。今後もこのような単一のクラスタのみが存在するシステムは増え続けて行くと考えられる。
【０００５】
しかし、特許文献１に開示されているように、複数のクラスタを有するシステムも知られている。
しかしながら、複数のクラスタを管理する場合に効率良く運用する方法について周知であるとは言い難く、効率のいい管理方法が考えられ、実行されているとは言えない。
【０００６】
その問題点は以下の通りである。
第１の問題点は稼働していない予備マシン群に対してのみ、追加・縮退が行えるため、稼働していない（稼働させられない）予備マシン群を常に一定数保持しなければならないという点である。
稼働していない予備のマシンを複数台常に用意しておくことは費用、運用面から見て大きなデメリットとなる。
また、マシンの追加を行う際にマシンの準備（修理からセットアップなど利用可能となる状態まで）も行わなければならないというタイムラグも発生する。
第２の問題点は複数のクラスタを保持している場合に、全てのリソースを効率良く使用することが困難であるという点である。
例えば、一定期間使用しないクラスタがある場合や、リソースが余剰なクラスタがある一方で、リソースが不足となっているクラスタが存在する場合など、リソースがうまく活用されていない場合がある。
第３の問題点は第２の問題の延長であるが、どのように縮退・追加を行うとよいかを人間が判断しなければならないという点である。人による判断はコストがかかる上、人的ミスも発生しやすい。
【０００７】
本発明の目的は、効率良くかつ簡易に複数のクラスタの稼働状態を改善することができる分散コンピューティングシステムを提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の分散コンピューティングシステムは、
複数のスレーブマシンと当該各スレーブマシンを管理するマスタマシンとを含む複数のクラスタと、複数の予備マシンを含む予備マシン群と、前記各クラスタを管理する構成管理マスタマシンで構成される分散コンピューティングシステムであって、
前記構成管理マスタマシンが、
前記予備マシン群に含まれる予備マシンを前記各クラスタにマスタマシンとして追加し、前記各クラスタに含まれるマスタマシンを前記予備マシン群に予備マシンとして縮退し、前記各クラスタに含まれるマスタマシンを他の前記クラスタにマスタマシンまたはスレーブマシンとして移動させる手段と、
前記各クラスタに含まれるマスタマシンに対して、前記予備マシン群に含まれる予備マシンを前記各クラスタにスレーブマシンとして追加する追加指示と、前記各クラスタに含まれるスレーブマシンを前記予備マシン群に予備マシンとして縮退する縮退指示と、前記各クラスタに含まれるスレーブマシンを他の前記クラスタにマスタマシンまたはスレーブマシンとして移動させる移動指示とを行う手段と、
を備え、
前記各クラスタに含まれるマスタマシンが、前記構成管理マスタマシンの追加指示に応じて前記予備マシン群に含まれる予備マシンを前記各クラスタにスレーブマシンとして追加し、前記構成管理マスタマシンの縮退指示に応じて前記各クラスタに含まれるスレーブマシンを前記予備マシン群に予備マシンとして縮退し、前記構成管理マスタマシンの移動指示に応じて前記各クラスタに含まれるスレーブマシンを他の前記クラスタにマスタマシンまたはスレーブマシンとして移動させる手段を備える、
ことを特徴とする。
【０００９】
好ましくは、本発明の分散コンピューティングシステムは、
前記構成管理マスタマシンが、
前記各クラスタ、前記各マスタマシンおよび前記各スレーブマシンの構成と稼働状態とを示す構成・稼働統計情報が格納されている構成・稼動統計情報データベースと、
手動と自動のいずれかを指定する指定情報と、前記指定情報によって自動が指定されている場合に追加、縮退および移動を行うルールとが格納されたルールテーブルと、
前記ルールテーブルに格納された指定情報によって手動が指定されている場合に、前記構成・稼働統計情報データベースに格納されている構成・稼働統計情報に基づいて、追加、縮退または移動を行うべきクラスタを推薦するレコメンド情報を作成し、作成された当該レコメンド情報を表示し、表示された前記レコメンド情報を見た管理者による指示を受け付けて、受け付けた当該指示に従って前記各マスタマシンの追加、縮退および移動を行い、前記各クラスタマシンの追加指示、縮退指示および移動指示を行う手段と、
前記ルールテーブルに格納された指定情報によって自動が指定されている場合に、前記構成・稼働統計情報データベースに格納されている構成・稼働統計情報と前記ルールテーブルに格納されたルールとに基づいて、前記各マスタマシンの追加、縮退および移動を行い、前記各クラスタマシンの追加指示、縮退指示および移動指示を行う手段と、
を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、複数のクラスタを有する分散コンピューティングシステムにおいて、効率良くかつ簡易に複数のクラスタの稼働状態を改善することができる。
【図面の簡単な説明】
【００１１】
【図１】単一のクラスタを有する分散コンピューティングシステムにおける追加・縮退の一例を示す図である。
【図２】４つのクラスタを有する分散コンピューティングシステムにおける追加・縮退・移動の一例を示す図である。
【図３】構成管理マスタマシンが保持する構成・稼働統計情報ＤＢの構成の一例を示す図である。
【図４】縮退、追加、および移動を行う際の全体的な処理の流れの一例を示す図である。
【図５】図４のステップＳ１０５における追加の処理の流れの一例を示す図である。
【図６】図４のステップＳ１０６における移動の処理の流れの一例を示す図である。
【図７】図４のステップＳ１０３におけるリソース不足を判定する処理の流れの一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態に係る分散コンピューティングシステムについて図面を参照しながら詳細に説明する。なお、実施形態を説明する全図において、共通の構成要素には同一の符号を付し、繰り返しの説明を省略する。
【００１３】
図１は、単一のクラスタ１０２を有する分散コンピューティングシステム１００における追加・縮退の一例を示す。
分散コンピューティングシステム１００は、構成管理マスタマシン１０１と、クラスタ１０２と、予備マシン群１０５とで構成される。
クラスタ１０２は、マスタマシン１０３と、複数のスレーブマシン１０４（スレーブ１〜スレーブＮ）とを有する。予備マシン群１０５は、複数の予備マシン１０６を有する。
構成管理マスタマシン１０１と、マスタマシン１０３と、各スレーブマシン１０４と、各予備マシン１０６とは、コンピュータであって、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成されるメモリと、ハーディスク等で構成される記憶装置とを備える。構成管理マスタマシン１０１は、更に、キーボードやマウス等で構成される入力装置と、ディスプレイ等で構成される表示装置とを備える。構成管理マスタマシン１０１と、マスタマシン１０３と、各スレーブマシン１０４と、各予備マシン１０６とは、図示しないネットワークに接続されており、相互に通信することができる。
【００１４】
構成管理マスタマシン１０１は、クラスタ１０２と予備マシン群１０５とを監視対象としており、クラスタ１０２の構成情報を管理し、それを記憶装置に格納している。
また、構成管理マスタマシン１０１は、ルールテーブル１０９を記憶装置に格納している。ルールテーブル１０９には、追加と縮退を、管理者ユーザ１０８が手動で行うか、または構成管理マスタマシン１０１が自動で行うかを指定する指定情報、およびその指定情報によって自動が指定されている場合に、構成管理マスタマシン１０１が負荷状況やスケジュールを参照してマスタマシン１０３とスレーブマシン１０４の追加と縮退を行うルールとが記録されている。
構成管理マスタマシン１０１は、クラスタ１０２に1つ以上含まれるマスタマシン１０３に対して追加と縮退を行うことができる。また、構成管理マスタマシン１０１はマスタマシン１０３にスレーブマシン１０４の追加と縮退を指示することができ、マスタマシン１０３は、マスタマシン１０３から受けた指示に応じてスレーブマシン１０４に対して追加と縮退を行う。
なお、ここでは、構成管理マスタマシン１０１がマスタマシン１０３に、マスタマシン１０３がスレーブマシン１０４に対して追加と縮退を行う命令を出せる仕様にしているが、構成管理マスタマシン１０１がスレーブマシン１０４に対して直接命令を出すようにしても構わない。
【００１５】
マシンの追加は、予備マシン群１０５に含まれる予備マシン１０６をクラスタ１０２にマスタマシン１０３またはクラスタマシン１０４として追加するものである。
マシンの縮退は、例えばマスタマシン１０３やスレーブマシン１０４が故障した場合に、クラスタ１０２から故障したマスタマシン１０３または故障したスレーブマシン１０４を予備マシン群１０５に縮退するものである。
図１には、スレーブＮ１０４が故障したため、スレーブＮ１０４を故障マシン１０７として縮退させる例が示されている。縮退された故障マシン１０７は、故障個所を直して必要なセットアップを実施した後で、予備マシン１０６になる。当然、新規マシンが予備マシン群１０５に追加されていくことも考えられる。
【００１６】
図２は、４つのクラスタ２０２Ａ〜２０２Ｄを有する分散コンピューティングシステム２００における追加・縮退・移動の一例を示す。
分散コンピューティングシステム２００は、構成管理マスタマシン２０１と、４つのクラスタ２０２Ａ〜２０２Ｄと、予備マシン群１０５とで構成される。
分散コンピューティングシステム２００は、追加と縮退については分散コンピューティングシステム１００と同じである。分散コンピューティングシステム２００が分散コンピューティングシステム１００と異なる点は、４つのクラスタ２０２Ａ〜２０２Ｄを有する点と、構成管理マスタマシン２０１の処理機能に「移動」機能が追加された点である。
クラスタ２０２Ａ〜２０２Ｄは、図１のクラスタ１０２と同様に、マスタマシン１０３と、複数のスレーブマシン１０４（スレーブ１〜スレーブＭ，スレーブＮ）とで構成される。
構成管理マスタマシン２０１は、構成管理マスタマシン１０１と同様に、コンピュータであって、ＣＰＵと、ＲＡＭ等で構成されるメモリと、ハーディスク等で構成される記憶装置と、キーボードやマウス等で構成される入力装置と、ディスプレイ等で構成される表示装置とを備える。構成管理マスタマシン２０１と、マスタマシン１０３と、各スレーブマシン１０４と、各予備マシン１０６とは、図示しないネットワークに接続されており、相互に通信することができる。
構成管理マスタマシン２０１は、クラスタ２０２Ａ〜２０２Ｄと予備マシン群１０５とを監視対象としており、構成・稼動統計情報データベース（ＤＢ）２１１を記憶装置に格納している。構成・稼動統計情報ＤＢ２１１には各クラスタ２０２Ａ〜２０２Ｄ、各マスタマシン１０３および各スレーブマシン１０４の構成と稼働状態とを示す構成・稼働統計情報が格納されている。構成管理マスタマシン２０１は、各クラスタ２０２Ａ〜２０２Ｄと、各マスタマシン１０３と、各スレーブマシン１０４の稼動状態を定期的に収集し、構成・稼動統計情報データベース（ＤＢ）２１１に登録する。構成・稼動統計情報ＤＢ２１１については、図３を参照しながら後で詳細に説明する。
また、構成管理マスタマシン２０１は、ルールテーブル２０９を記憶装置に格納している。ルールテーブル２０９には、追加、縮退および移動を、管理者ユーザ１０８が手動で行うか、または構成管理マスタマシン２０１が自動で行うかを指定する指定情報、およびその指定情報によって自動が指定されている場合に、構成管理マスタマシン２０１が負荷状況やスケジュールを参照してマスタマシン１０３とスレーブマシン１０４の追加、縮退および移動を行うルールとが記録されている。
【００１７】
図２には、クラスタ２０２Ａからクラスタ２０２ＢにフレーブＮ１０４を移動させる例が示されている。ここでいう移動とは、構成管理マスタマシン２０１が、あるクラスタに含まれるマスタマシン１０３またはスレーブマシン１０４を他のクラスタにマスタマシン１０３またはスレーブマシン１０４として移動させる動作である。
たとえば、リソースが余剰なクラスタからリソースが不足しているクラスタにマスタマシン１０３またはスレーブマシン１０４を移動させる。また、一定期間稼動していないクラスタから稼動中のクラスタにマスタマシン１０３またはスレーブマシン１０４を移動させる。
ルールテーブル２０９に格納された指定情報によって手動が指定されている場合、構成管理マスタマシン２０１は、構成・稼働統計情報ＤＢ２１１に格納されている構成・稼働統計情報に基づいて、追加、縮退または移動を行うべきクラスタを推薦（レコメンド）するレコメンド情報を作成し、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）およびＣＵＩ（Ｃｈａｒａｃｔｅｒ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）２１０により、作成されたレコメンド情報をディスプレイ等に表示する。表示された前記レコメンド情報を見た管理者はキーボードやマウスを用いて追加、縮退または移動を指示する。構成管理マスタマシン２０１は、ＧＵＩおよびＣＵＩによりその指示を受け付けると、受け付けた指示に従って各マスタマシン１０３の追加、縮退および移動を行い、各マスタマシン１０３に各クラスタマシン１０４の追加、縮退および移動を指示する。
また、ルールテーブル２０９に格納された指定情報によって自動が指定されている場合、構成管理マスタマシン２０１は、構成・稼働統計情報ＤＢ２１１に格納されている構成・稼働統計情報とルールテーブル２０９に格納されたルールとに基づいて、各マスタマシン１０３の追加、縮退および移動を行い、各マスタマシン１０３に各クラスタマシン１０４の追加、縮退および移動を指示する。
【００１８】
図３は、構成管理マスタマシン２０１が保持する構成・稼働統計情報ＤＢ２１１の構成の一例を示す。
構成・稼働統計情報ＤＢ２１１は、マスタマシン１０３またはスレーブマシン１０４に関して、マスタ名３０１と、ＩＰアドレス３０２と、クラスタ名３０３と、ＣＰＵ３０４と、メモリ３０５と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ）３０６と、ＣＰＵ稼働率３０７と、メモリ利用率３０８と、ＨＤＤ利用率３０９と、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）稼働率３１０と、Ｈ／Ｗ（Ｈａｒｄｗａｒｅ）のトータル稼働時間３１１と、温度３１２と、予測・診断ツールの情報３１３との各フィールドを有する。
【００１９】
マスタ名３０１には、各クラスタマシン１０４が属するマスタマシン１０３の名前が格納される。マスタマシン１０３ではこのフィールドは空白である。ＩＰアドレス３０２には、各マスタマシン１０３または各クラスタマシン１０４のＩＰアドレスが格納される。クラスタ名３０３には各マスタマシン１０３または各クラスタマシン１０４が属するクラスタの名前が格納される。
ＣＰＵ３０４には、ＣＰＵの名称、型番、動作周波数等が格納される。メモリ３０５にはメモリの容量等が格納される。ＨＤＤ３０６にはハードディスクの容量とＩ／Ｏ性能等が格納される。ＣＰＵ稼働率３０７と、メモリ利用率３０８と、ＨＤＤ利用率３０９と、Ｉ／Ｏ稼働率３１０とには、各マスタマシン１０３または各スレーブマシン１０４の各ハードウェアの稼働率または利用率が格納される。Ｈ／Ｗのトータル稼働時間３１１には、各マスタマシン１０３または各スレーブマシン１０４の稼動時間が格納され、その値により各マスタマシン１０３または各スレーブマシン１０４の使用状況を知ることができる。温度３１２には各マスタマシン１０３または各スレーブマシン１０４の温度が格納される。予測・診断ツールの情報３１３には、各種の予測・診断ツールを使って各マスタマシン１０３または各スレーブマシン１０４を診断した結果が格納される。
構成管理マスタマシン２０１は、各マスタマシン１０３と各スレーブマシン１０４について稼動状態を定期的に収集し、ＣＰＵ稼働率３０７と、メモリ利用率３０８と、ＨＤＤ利用率３０９と、Ｉ／Ｏ稼働率３１０と、Ｈ／Ｗ（Ｈａｒｄｗａｒｅ）のトータル稼働時間３１１と、温度３１２と、予測・診断ツールの情報３１３とに登録する。
【００２０】
また、構成・稼働統計情報ＤＢ２１１は、クラスタ２０２Ａ〜２０２Ｄに関して、クラスタ名３１４と、クラスタのＣＰＵ稼働率３１５と、クラスタのメモリ利用率３１６と、クラスタのＨＤＤ利用率３１７と、クラスタのＩ／Ｏ稼働率３１８と、クラスタの実働時間３１９と、クラスタの状態３２０との各フィールドを有する。
クラスタ名３１４には、クラスタの名称が格納される。クラスタのＣＰＵ稼働率３１５と、クラスタのメモリ利用率３１６と、クラスタのＨＤＤ利用率３１７と、クラスタのＩ／Ｏ稼働率３１８とには、各クラスタに含まれる各マスタマシン１０３と各スレーブマシン１０４の各ハードウェアの稼働率または利用率の平均が格納される。クラスタの実働時間３１９には、各クラスタが稼動している時間が格納され、その値により各クラスタの使用状況を知ることができる。クラスタの状態３２０には、各クラスタが使用中であるか否かを示す情報が格納される。
構成管理マスタマシン２０１は、各マスタマシン１０３と各スレーブマシン１０４について定期的に収集する稼動状態に基づいて、各クラスタ２０２Ａ〜２０２ＤについてＣＰＵ稼働率３１５と、クラスタのメモリ利用率３１６と、クラスタのＨＤＤ利用率３１７と、クラスタのＩ／Ｏ稼働率３１８と、クラスタの実働時間３１９と、クラスタの状態３２０とを求めて登録する。
【００２１】
図４は、縮退、追加、および移動を行う際の全体的な処理の流れの一例を示す。
構成管理マスタマシン２０１は、まず、構成・稼働統計情報ＤＢ２１１に格納されている構成・稼働統計情報に基づいて、故障している、または故障しそうなマスタマシン１０３およびスレーブマシン１０４の有無を判別する（Ｓ１０１）。故障している、または故障しそうなマスタマシン１０３またはスレーブマシン１０４がある場合（Ｓ１０１：Ｙｅｓ）、構成管理マスタマシン２０１は、故障している、または故障しそうなマスタマシン１０３またはスレーブマシン１０４を縮退する（Ｓ１０２）。一方、故障している、および故障しそうなマスタマシン１０３またはスレーブマシン１０４がない場合（Ｓ１０１：Ｎｏ）、構成管理マスタマシン２０１はステップＳ１０２をスキップしてステップＳ１０３に進む。
次に、構成管理マスタマシン２０１は、リソースが不足しているクラスタ２０２Ａ〜２０２Ｄの有無を判別する（Ｓ１０３）。リソースが不足しているクラスタ２０２Ａ〜２０２Ｄがない場合（Ｓ１０３：Ｎｏ）、構成管理マスタマシン２０１は、ステップＳ１０６に進み、ＨＤＤ利用率の平準化を行う。なお、ステップＳ１０３については、図７を参照しながら後で詳細に説明する。
一方、リソースが不足しているクラスタ２０２Ａ〜２０２Ｄがある場合（Ｓ１０３：Ｙｅｓ）、構成管理マスタマシン２０１は、クラスタ毎に設定されているマスタマシン１０３の数とスレーブマシン１０４の数（以下、最低マシン数という。）を下回らないクラスタの有無を判別する（Ｓ１０４）。ここで、最低マシン数は、クラスタが一定期間使用されていないときは０に設定され、クラスタの使用が開始されるとき予め設定されている値に設定される。最低マシン数を下回らないクラスタが存在しない場合（Ｓ１０４：Ｎｏ）、構成管理マスタマシン２０１は、追加を行う（Ｓ１０５）。最低マシン数を下回らないクラスタが存在する場合（Ｓ１０４：Ｙｅｓ）には、構成管理マスタマシン２０１は、移動を行う（Ｓ１０６）。なお、ステップＳ１０５の追加と、ステップＳ１０６の移動については、それぞれ図５と図６を参照しながら後で詳細に説明する。
次に、構成管理マスタマシン２０１は、ＨＤＤの利用率の平準化を行う必要性の有無を判別する（Ｓ１０７）。平準化が必要でない場合（Ｓ１０７：Ｎｏ）には、構成管理マスタマシン２０１は処理を終える。平準化が必要な場合（Ｓ１０７：Ｙｅｓ）、構成管理マスタマシン２０１はＨＤＤの利用率の平準化を行う（Ｓ１０８）。なお、構成管理マスタマシン２０１は、ＨＤＤのＩ／Ｏ、ネットワークの帯域、ＣＰＵ利用率、メモリ利用率などを監視することで定量的かつ定期的に蓄積した履歴に基づいて各クラスタ２０２Ａ〜２０２Ｄがビジーか否かを判断し、各クラスタ２０２Ａ〜２０２Ｄがビジーでない時で、ＨＤＤの利用率の偏りがある場合に、ＨＤＤの利用率の平準化が必要と判断する。
構成管理マスタマシン２０１はステップＳ１０１からＳ１０８までの処理を定期的に繰り返す。この処理により、稼働中のクラスタ間でリソースの有効利用を行うことができる。
【００２２】
図５は、図４のステップＳ１０５における追加の処理の流れの一例を示す。
構成管理マスタマシン２０１は、追加できる予備マシン１０６が予備マシン群１０５にあるか否かをチェックする（Ｓ２０１）。追加可能な予備マシンがある場合（Ｓ２０１：Ｙｅｓ）、構成管理マスタマシン２０１は、図４のステップＳ１０２でマスタマシン１０３またはスレーブマシン１０４を縮退したクラスタ、または図４のＳ１０３でリソースが不足しているマスタマシン１０３およびスレーブマシン１０４があると判別したクラスタに予備マシン２０６を追加し（Ｓ２０２）、図４のステップＳ１０７に進む。一方、追加可能な予備マシンがない場合（Ｓ２０１：Ｎｏ）、構成管理マスタマシン２０１はステップＳ２０２をスキップして図４のステップＳ１０７に進む。
【００２３】
図６は、図４のステップＳ１０６における移動の処理の流れの一例を示す図である。
構成管理マスタマシン２０１は、図４のステップＳ１０４で最低マシン数を下回らないと判別したクラスタのマスタマシン１０３またはスレーブマシン１０４を縮退する（Ｓ３０１）。構成管理マスタマシン２０１は、図４のステップＳ１０２でマスタマシン１０３またはスレーブマシン１０４を縮退したクラスタ、または図４のステップＳ１０３でリソースが不足しているマスタマシン１０３およびスレーブマシン１０４があると判別したクラスタ（以下、移動先のクラスタという。）に縮退したマスタマシン１０３またはスレーブマシン１０４を追加する前に、縮退したマスタマシン１０３またはスレーブマシン１０４を利用可能な状態まで準備する（Ｓ３０２）。具体的には、移動先のクラスタに追加するための初期化とセットアップ等の処理を行う。ステップＳ３０２の処理では、構成管理マスタマシン２０１から移動先のクラスタについての情報を取得する必要がある。ステップＳ３０２の処理が終了した後に、準備済みのマスタマシン１０３またはスレーブマシン１０４を移動先のクラスタに追加し（Ｓ３０３）、図４のステップＳ１０７に進む。この処理により、稼働中のクラスタ間でリソースの有効利用を行うことができるようになる。
【００２４】
図７は、図４のステップＳ１０３におけるリソース不足を判定する処理の流れの一例を示す。
構成管理マスタマシン２０１は、構成・稼働統計情報ＤＢ２１１に格納されている構成・稼動統計情報に基づいて各クラスタについて合計のＨＤＤ容量とＨＤＤのＩ／Ｏ性能とＣＰＵ性能とメモリ容量とを求める（Ｓ４０１）。
次に、構成管理マスタマシン２０１は、ステップＳ４１０で求めたＨＤＤ容量と構成・稼働統計情報ＤＢ２１１のＨＤＤ利用率３１７とに基づいて各クラスタのＨＤＤ容量が足りているか否かを判別する（Ｓ４０２）。ＨＤＤ容量が足りないクラスタがある場合（Ｓ４０２：Ｎｏ）、構成管理マスタマシン２０１はそのクラスタと不足しているＨＤＤ容量を示す不足ＨＤＤ容量情報をクラスタ毎に求めてメモリに記憶する（Ｓ４０３）。一方、全てのクラスタのＨＤＤ容量が足りている場合（Ｓ４０２：Ｙｅｓ）、構成管理マスタマシン２０１はステップＳ４０３をスキップしてステップＳ４０４へ進む。
次に、構成管理マスタマシン２０１は、ステップＳ４１０で求めたＨＤＤのＩ／Ｏ性能と構成・稼働統計情報ＤＢ２１１のＩ／Ｏ稼動率３１８とに基づいて各クラスタのＨＤＤのＩ／Ｏ性能が足りているか否かを判別する（Ｓ４０４）。ＨＤＤのＩ／Ｏ性能が足りないクラスタがある場合（Ｓ４０４：Ｎｏ）、構成管理マスタマシン２０１は、そのクラスタと不足しているＨＤＤのＩ／Ｏ性能を示すＨＤＤの不足Ｉ／Ｏ性能情報をクラスタ毎に求めてメモリに記憶する（Ｓ４０５）。一方、全てのクラスタのＨＤＤのＩ／Ｏ性能が足りている場合（Ｓ４０４：Ｙｅｓ）、構成管理マスタマシン２０１はステップＳ４０５をスキップしてステップＳ４０６へ進む。
次に、構成管理マスタマシン２０１は、ステップＳ４１０で求めたＣＰＵ性能と構成・稼働統計情報ＤＢ２１１のＣＰＵ稼動率３１５とに基づいて各クラスタのＣＰＵ性能が足りているか否かを判別する（Ｓ４０６）。ＣＰＵ性能が足りないクラスタがある場合（Ｓ４０６：Ｎｏ）、構成管理マスタマシン２０１はそのクラスタと不足しているＣＰＵ性能を示す不足ＣＰＵ性能情報をクラスタ毎に求めてメモリに記憶する（Ｓ４０７）。一方、全てのクラスタのＣＰＵ性能が足りている場合（Ｓ４０６：Ｙｅｓ）、構成管理マスタマシン２０１はステップＳ４０７をスキップしてステップＳ４０８へ進む。
次に、構成管理マスタマシン２０１は、ステップＳ４１０で求めたメモリ容量と構成・稼働統計情報ＤＢ２１１のメモリ利用率３１６とに基づいて各クラスタのメモリ容量が足りているか否かを判別する（Ｓ４０８）。メモリ容量が足りないクラスタがある場合（Ｓ４０８：Ｎｏ）、構成管理マスタマシン２０１はそのクラスタと不足しているメモリ容量を示す不足メモリ容量情報をクラスタ毎に求めてメモリに記憶する（Ｓ４０９）。一方、全てのクラスタのメモリ容量が足りている場合（Ｓ４０８：Ｙｅｓ）、構成管理マスタマシン２０１はステップＳ４０９をスキップしてステップＳ４１０へ進む。
最後に、構成管理マスタマシン２０１は各クラスタについて不足ＨＤＤ容量情報とＨＤＤの不足Ｉ／Ｏ性能情報と不足ＣＰＵ性能情報と不足メモリ容量情報のいずれかがメモリに記憶されているか否か、すなわちリソースが不足しているクラスタの有無を判別する（Ｓ４１０）。リソースが不足しているクラスタがある場合（Ｓ４１０：Ｙｅｓ）、構成管理マスタマシン２０１は図４のステップＳ１０４へ進む。一方、リソースが不足しているクラスタがない場合（Ｓ４１０：Ｎｏ）、構成管理マスタマシン２０１は図４のステップＳ１０７へ進む。
【００２５】
以上説明したように、本発明によれば、ネットワークでつながれた分散コンピューティングシステムのクラスタに含まれるマスタマシンとスレーブマシンについて追加・縮退に加えて、更に移動を行うことによって効率の良い分散コンピューティング環境を構築でき、システムの管理者ユーザのメンテナンスの負担を大幅に軽減することができる。
【符号の説明】
【００２６】
１００  単一のクラスタを有する分散コンピューティングシステム
２００  ４つのクラスタを有する分散コンピューティングシステム
１０１、２０１  構成管理マスタマシン
１０２、２０２Ａ、２０２Ｂ、２０２Ｃ、２０２Ｄ  クラスタ
１０３  マスタマシン
１０４  スレーブマシン
１０５  予備マシン群
１０６  予備マシン
１０８  構成管理マスタマシンを操作する管理者ユーザ
１０９、２０９  ルールテーブル
２１０  構成管理マスタマシンを操作するＧＵＩおよびＣＵＩ
２１１  構成・稼働統計情報ＤＢ
【図１】
2013205859.tif 000003
【図２】
2013205859.tif 000004
【図３】
2013205859.tif 000005
【図４】
2013205859.tif 000006
【図５】
2013205859.tif 000007
【図６】
2013205859.tif 000008
【図７】
2013205859.tif 000009