(57)【要約】【課題】あるサービスの実行に関する負荷のみが高い場合に、そのサービスを他の計算機でも確実に実行できるようにすることで、サービスレベルの低下を防ぐ。【解決手段】ストレージ装置１３には計算機をブートするのに必要なサービス＃１〜＃３用のブートイメージが記憶される。ブートイメージ切替制御部１１１は、計算機のブートに使用されるサービス＃ｋ用のブートイメージを計算機システムで実行されるサービスの負荷に応じて選択すると共に選択されたブートイメージでブートされる計算機１１-jをシステム内の計算機１１-1〜１１-4の中から選択する。ブートイメージ割当部１１２-iは、ブートイメージ切替制御部１１１によって選択された計算機をブートするブートイメージを、ストレージ装置１３に記憶されているブートイメージのうちの当該切替制御部１１１によって選択されたブートイメージに切り替える。【選択図】      図１
2005071242.tif 000002
【特許請求の範囲】
【請求項１】
複数の計算機を備え、複数種類のサービスを実行可能な計算機システムにおいて、
計算機をブートするのに必要な、オペレーティングシステム及び前記複数種類のサービスのうちの少なくとも１つを実現するための当該オペレーティングシステムのもとで動作可能な少なくとも１つのアプリケーションを含む複数種類のブートイメージを記憶したストレージ装置と、
計算機のブートに使用されるブートイメージの切り替えを制御するブートイメージ切替制御手段であって、計算機のブートに使用されるブートイメージを、前記計算機システムで実行されるサービスの負荷または提供時間帯に応じて選択すると共に選択されたブートイメージでブートされる計算機を前記複数の計算機の中から選択するブートイメージ切替制御手段と、
前記ブートイメージ切替制御手段によって選択された計算機をブートするブートイメージを、前記ストレージ装置に記憶されているブートイメージのうち前記ブートイメージ切替制御手段によって選択されたブートイメージに切り替えるブートイメージ切替手段と
を具備することを特徴とする計算機システム。
【請求項２】
計算機を起動・停止する計算機起動停止手段であって、前記ブートイメージ切替手段によって計算機のブートイメージが切り替えられる場合に、そのブートイメージ切り替え前に当該計算機を停止し、そのブートイメージ切り替え後に当該計算機を起動する計算機起動停止手段を更に具備することを特徴とする請求項１記載の計算機システム。
【請求項３】
計算機をハイバネーション状態に設定する計算機ハイバネーション手段であって、前記ブートイメージ切替手段によって計算機のブートイメージが切り替えられる場合に、そのブートイメージ切り替え前に当該計算機をハイバネーション状態に設定する計算機ハイバネーション手段と、
計算機を起動・停止する計算機起動停止手段であって、前記ブートイメージ切替手段によって計算機のブートイメージが切り替えられる場合に、そのブートイメージ切り替え後に当該計算機を起動する計算機起動停止手段とを更に具備することを特徴とする請求項１記載の計算機システム。
【請求項４】
前記ブートイメージ切替制御手段は、前記選択されたブートイメージでブートされる計算機を、最も負荷の少ないサービスを実行中の計算機の中から選択することを特徴とする請求項１記載の計算機システム。
【請求項５】
前記複数の計算機と前記ストレージ装置とを接続するストレージエリアネットワークを更に具備し、
前記ブートイメージ切替手段は前記ブートイメージ切替制御手段によって選択された計算機に、前記ストレージ装置に記憶されているブートイメージのうち前記ブートイメージ切替制御手段によって選択されたブートイメージを割り当てるブートイメージ割当手段であることを特徴とする請求項１記載の計算機システム。
【請求項６】
前記複数の計算機と前記ブートイメージ切替手段とを接続するネットワークを更に具備し、
前記ブートイメージ切替手段は前記ブートイメージ切替制御手段によって選択された計算機に、前記ストレージ装置に記憶されているブートイメージのうち前記ブートイメージ切替制御手段によって選択されたブートイメージを前記ネットワークを介してコピーするブートイメージコピーサーバであることを特徴とする請求項１記載の計算機システム。
【請求項７】
通常は使用されない予備計算機を含む複数の計算機を備え、複数種類のサービスを実行可能な計算機システムにおいて、
計算機をブートするのに必要な、オペレーティングシステム及び前記複数種類のサービスのうちの少なくとも１つを実現するための当該オペレーティングシステムのもとで動作可能な少なくとも１つのアプリケーションを含む複数種類のブートイメージを記憶したストレージ装置と、
計算機のブートに使用されるブートイメージの切り替えを制御するブートイメージ切替制御手段であって、計算機のブートに使用されるブートイメージを、前記計算機システムで実行されるサービスの負荷または提供時間帯に応じて選択すると共に選択されたブートイメージでブートされる計算機を前記複数の計算機の中から前記予備計算機を優先させて選択するブートイメージ切替制御手段と、
前記ブートイメージ切替制御手段によって選択された計算機をブートするブートイメージを、前記ストレージ装置に記憶されているブートイメージのうち前記ブートイメージ切替制御手段によって選択されたブートイメージに切り替えるブートイメージ切替手段と
を具備することを特徴とする計算機システム。
【請求項８】
前記ブートイメージ切替制御手段は、前記複数の計算機の中に使用可能な予備計算機が存在しない場合には、当該ブートイメージ切替制御手段によって選択されたブートイメージでブートされる計算機を前記複数の計算機のうちの他の計算機の中から選択することを特徴とする請求項７記載の計算機システム。
【請求項９】
複数の計算機と、計算機をブートするのに必要な、オペレーティングシステム及び前記複数種類のサービスのうちの少なくとも１つを実現するための当該オペレーティングシステムのもとで動作可能な少なくとも１つのアプリケーションを含む複数種類のブートイメージを記憶したストレージ装置とを備えた、複数種類のサービスを実行可能な計算機システムに適用される動的ブートイメージ切替プログラムであって、
前記計算機に、
計算機のブートに使用されるブートイメージを、前記計算機システムで実行されるサービスの負荷または提供時間帯に応じて選択するステップと、
選択されたブートイメージでブートされる計算機を前記複数の計算機の中から選択するステップと、
選択された計算機をブートするブートイメージを、前記ストレージ装置に記憶されているブートイメージのうちの選択されたブートイメージに動的に切り替えるステップと
を実行させるための動的ブートイメージ切替プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント端末から要求されたサービスを実行するための計算機システムに係り、特に複数のサービスを複数の計算機により分散して実行するのに好適な計算機システム及び動的ブートイメージ切替プログラムに関する。
【背景技術】
【０００２】
近年、計算機上でアプリケーションプログラムを実行することにより、ユーザ（クライアント端末）にサービスを提供する計算機システムが運用されている。この種のシステムでは、継続したサービスの提供が必須になっている。これに伴い、サービス（業務）を実行している計算機にも高い可用性（サーバ稼働率、業務稼働率）が求められる。そこで、複数の計算機をクラスタ構成として、稼働状態にある計算機で障害が発生しても、その障害が発生した計算機で実行されていたサービス（業務）をシステム内の他の計算機に引き継がせる（フェイルオーバする）ことでシステム全体が停止するのを防止する、クラスタシステムと呼ばれる計算機システムが知られている（例えば、非特許文献１参照）。この非特許文献１に記載された計算機システム（クラスタシステム）では、当該システムを構成する計算機の負荷状態を監視し、その負荷状態をもとにクライアント端末からの実行要求を最適な計算機（ノード）に割り当てることによりシステムの性能向上が図られている。
【０００３】
また近年は、１つの筐体内に数十〜数百もの計算機ノードを含む高密度型の計算機シ
ステムが市販されている。このような計算機システムでは、プロビジョニングノード（provisioning node）と呼ばれる予備の計算機が含まれることが多い。一般に、予備計算機は通常は使用されず、通常使用している計算機が故障した場合の代替計算機（代替ノード）として使用される。具体的には、故障した計算機で実行されていたオペレーティングシステムを含むブートイメージを、オペレータ操作により予備計算機のブートイメージとして設定し、当該予備計算機を起動することにより、当該予備計算機を故障した計算機の代わりとして使用する。
【非特許文献１】金子哲夫、森良哉、「クラスタソフトウェア」、東芝レビュー、Vol.54 No.12(1999)、p.18-21
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記したように、非特許文献１に記載された計算機システム（クラスタシステム）では、当該システムを構成する計算機の負荷状態をもとに、クライアント端末からの実行要求が最適な計算機に割り当てられる。しかしながら従来の計算機システムでは、当該システムが提供するサービスを実行可能な計算機は、サービス毎に固定されている。このようなシステムとして、サービスＡを実行可能な計算機が計算機ａ１及びａ２の２台で、サービスＢを実行可能な計算機が計算機ｂ１及びｂ２の２台で、サービスＣを実行可能な計算機が計算機ｃ１及びｃ２の２台であるシステムを想定する。このシステムでは、特定のサービス、例えばサービスＡの実行に関する負荷のみが高い場合にも、当該サービスＡを、計算機ａ１及びａ２以外の計算機、つまり計算機ｂ１，ｂ２，ｃ１またはｃ２に割り当てて実行させることができない。。この場合、クライアント端末からのサービスＡの実行要求に対する応答時間の低下等、サービスレベルの低下を招く。
【０００５】
本発明は上記事情を考慮してなされたものでその目的は、あるサービスの実行に関する負荷が高い場合に、そのサービスを他の計算機でも確実に実行できるようにすることで、当該サービスの要求に対する応答時間を向上して、サービスレベルの低下を防ぐことができる計算機システム及び動的ブートイメージ切替プログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明の１つの観点によれば、複数の計算機を備え、複数種類のサービスを実行可能な計算機システムが提供される。この計算機システムは、計算機をブートするのに必要な、オペレーティングシステム及び上記複数種類のサービスのうちの少なくとも１つを実現するための当該オペレーティングシステムのもとで動作可能な少なくとも１つのアプリケーションを含む複数種類のブートイメージを記憶したストレージ装置と、計算機のブートに使用されるブートイメージの切り替えを制御するブートイメージ切替制御手段であって、計算機のブートに使用されるブートイメージを、上記計算機システムで実行されるサービスの負荷または提供時間帯に応じて選択すると共に選択されたブートイメージでブートされる計算機を前記複数の計算機の中から選択するブートイメージ切替制御手段と、このブートイメージ切替制御手段によって選択された計算機をブートするブートイメージを、上記ストレージ装置に記憶されているブートイメージのうち上記ブートイメージ切替制御手段によって選択されたブートイメージに切り替えるブートイメージ切替手段とを備えることを特徴とする。
【０００７】
このような構成の計算機システムにおいては、当該システムで実行されるサービスの負荷または提供時間帯に応じて選択されたブートイメージで、他のサービスを実行中の計算機がブートされる。このため、あるサービスの負荷が高くなった場合、或いは、あるサービスに対するクライアントからの要求が多くなることが予測される時間帯となった場合に、そのサービスを、他のサービスを実行中の計算機で実行させることができるようになり、クライアントからの当該サービスの要求に対する応答時間を向上して、サービスレベルの低下を防ぐことができる。しかも、ブートイメージは、アプリケーションと当該アプリケーションが実行可能なオペレーティングシステムを含んでいる。このため、選択されたブートイメージで選択された計算機をブートした場合に、当該計算機で当該ブートイメージに含まれているアプリケーションを正しく実行できないといった不具合が発生するのを防止できる。ここで、選択されたブートイメージでブートされる計算機を、最も負荷の少ないサービスを実行中の計算機の中から選択すると良い。
【０００８】
また、ブートイメージ切替制御手段によって選択された計算機をブートするブートイメージを、上記ブートイメージ切替制御手段によって選択されたブートイメージに切り替えるのに、上記複数の計算機と上記ストレージ装置とを接続するストレージエリアネットワークを設け、上記ブートイメージ切替手段を、上記ストレージ装置に記憶されているブートイメージのうちの上記選択されたブートイメージを上記選択された計算機に対して割り当てる、ブートイメージ割当手段として機能させると良い。
【０００９】
また、上記複数の計算機と上記ストレージ装置とを接続するネットワークを設け、上記ブートイメージ切替手段を、上記ストレージ装置に記憶されているブートイメージのうちの上記選択されたブートイメージを上記選択された計算機にコピーする、ブートイメージコピーサーバとして機能させても良い。
【００１０】
また、上記計算機システムを、通常は使用されない予備計算機を含む複数の計算機を備えた計算機システムとして構成すると共に、選択されたブートイメージでブートされる計算機を上記複数の計算機の中から上記ブートイメージ切替制御手段が選択する際に、上記予備計算機が優先的に選択される構成とすると良い。
【発明の効果】
【００１１】
本発明によれば、あるサービスの負荷が高くなった場合、或いは、あるサービスに対するクライアントからの要求が多くなることが予測される特定の時間帯となった場合に、そのサービスを、他のサービスを実行中の計算機で実行させることができることから、クライアントからの当該サービスの要求に対する応答時間を向上して、サービスレベルの低下を防ぐことができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明をクラスタシステムに適用した実施の形態につき図面を参照して説明する。
【００１３】
［第１の実施形態］
図１は本発明の第１の実施形態に係るクラスタシステムの構成を示すブロック図である。図１のクラスタシステムは、例えば４台の計算機１１-1(＃１)〜１１-4（＃４）から構成される、負荷分散が可能な計算機システムである。図１のクラスタシステムでは、３種類のサービス（アプリケーション）＃１，＃２，＃３が実行可能である。
【００１４】
計算機１１-1〜１１-4はストレージエリアネットワーク（以下、ＳＡＮ(Storage Area Network)と称する）１２に接続されている。ＳＡＮ１２には、ストレージ装置１３も接続されている。ストレージ装置１３の記憶領域は、サービス＃１用のブートイメージを記憶するための記憶部（サービス＃１用ブートイメージ記憶部）１３０-1と、サービス＃２用のブートイメージを記憶するための記憶部（サービス＃２用ブートイメージ記憶部）１３０-2と、サービス＃３用のブートイメージを記憶するための記憶部（サービス＃３用ブートイメージ記憶部）１３０-3とに分けて管理される。
【００１５】
サービス＃１用ブートイメージ記憶部１３０-1はディスク装置１３１-11，１３１-12から構成されている。同様に、サービス＃２用ブートイメージ記憶部１３０-2はディスク装置１３１-21，１３１-22から構成され、サービス＃３用ブートイメージ記憶部１３０-3はディスク装置１３１-31，１３１-32から構成されている。計算機１１-1〜１１-4とストレージ装置１３内のディスク装置１３１-11，１３１-12，１３１-21，１３１-22，１３１-31，１３１-32とはＳＡＮ１２によって接続されている。また、計算機１１-1〜１１-4は、ネットワーク１４によって相互接続されている。このネットワーク１４にはクライアント端末（図示せず）も接続されている。
【００１６】
ディスク装置１３１-11，１３１-12には、サービス＃１用のブートイメージ＃Ｂ１１，＃Ｂ１２が予め記憶されている。ディスク装置１３１-21，１３１-22には、サービス＃２用のブートイメージ＃Ｂ２１，＃Ｂ２２が予め記憶され、ディスク装置１３１-31，１３１-32には、サービス＃３用のブートイメージ＃Ｂ３１，＃Ｂ３２が予め記憶されている。つまりストレージ装置１３には、ブートイメージ＃Ｂ１１，＃Ｂ１２，＃Ｂ２１，＃Ｂ２２，＃Ｂ３１，＃Ｂ３２が記憶されている。計算機１１-1〜１１-4は、ＳＡＮ１２を介して接続されたストレージ装置１３に記憶されているブートイメージを用いることで、当該ブートイメージを自身が有するディスク（つまりローカルディスク）にコピーすることなくブートすることが可能である。このような機能を、ＳＡＮブートと呼ぶ。
【００１７】
ブートイメージ＃Ｂ１１，＃Ｂ１２には、当該ブートイメージ＃Ｂ１１，＃Ｂ１２によってブートされる計算機に割り当てられるホスト名“comp-11”，“comp-12”（を示す情報）が設定されている。ブートイメージ＃Ｂ２１，＃Ｂ２２には、当該ブートイメージ＃Ｂ２１，＃Ｂ２２によってブートされる計算機に割り当てられるホスト名“comp-21”，“comp-22”が設定され、ブートイメージ＃Ｂ３１，＃Ｂ３２には、当該ブートイメージ＃Ｂ３１，＃Ｂ３２によってブートされる計算機に割り当てられるホスト名“comp-31”，“comp-32”が設定されている。ディスク装置１３１-kl（ｋ＝１〜３，l＝１，２）に記憶されているサービス＃ｋ用のブートイメージ＃Ｂｋｌは、サービス＃ｋを実現するためのアプリケーション＃ｋと、当該アプリケーション＃ｋが動作可能なオペレーティングシステム＃ｋｌとを含む。つまりディスク装置１３１-klは、“comp-kl”のブートディスク装置（ブートディスク）として用いられる。なお、オペレーティングシステム＃ｋ１及び＃ｋ２の基本構成は同一であるものとする。但し、オペレーティングシステム＃ｋ１及び＃ｋ２に設定されているホスト名及びＩＰ（Internet Protocol）アドレスは異なる。
【００１８】
計算機１１-1〜１１-4は、それぞれブートイメージ切替制御部１１１-1〜１１１-4と、ブートイメージ割当部１１２-1〜１１２-4と、ブートイメージ管理部１１３-1〜１１３-4と、計算機起動停止部１１４-1〜１１４-4と、サービス実行管理部１１５-1〜１１５-4と、計算機ハイバネーション部１１６-1〜１１６-4とを備えている。
【００１９】
ブートイメージ切替制御部１１１-i（ｉ＝１〜４）は、計算機１１-j（ｊ＝１〜４，但しj≠ｉ）をブートするブートイメージの切り替えを制御する。ブートイメージ切替制御部１１１-iは、計算機１１-jをブートするブートイメージを切り替えるか否かの判断も行う。ブートイメージ切替制御部１１１-iは、この判断を、計算機システムにより提供されるサービス種類毎のサービス実行に起因するシステム全体の負荷（以下、サービスの実行負荷もしくはサービスの負荷と称する）またはサービスの提供時間帯に基づいて行う。サービス種類毎のサービスの実行負荷（サービスの負荷）には、単位時間に実行されているクライアントからの当該サービスに対する要求の数、クライアントからの当該サービスに対する単位時間当たりの要求の数、または当該サービスを実行する計算機の平均的な負荷を用いることができる。そのためブートイメージ切替制御部１１１-iは、図１のシステムが提供可能なサービスの種類毎に、そのサービスの実行負荷（サービスの負荷）を監視するサービス負荷監視手段（図示せず）を有している。
【００２０】
ブートイメージ割当部１１２-iは、ブートイメージ切替制御部１１１-iの制御のもとで、計算機１１-jのブートに使用するブートイメージを切り替える。ブートイメージ管理部１１３-iは、ストレージ装置１３に記憶されている各ブートイメージ＃Ｂ１１，＃Ｂ１２〜＃Ｂ３１，＃Ｂ３２がシステム内の計算機１１-1〜１１-4の何れをブートするのに用いられているかを管理する。この管理のための情報（ここでは、ブートイメージ管理テーブルと呼ばれる管理情報）は、ストレージ装置１３に記憶される。
【００２１】
計算機起動停止部１１４-iは、計算機１１-jの起動と停止を行う。サービス実行管理部１１５-iは、システムが提供可能な各サービス（アプリケーション）＃１〜＃３がシステム内の計算機１１-1〜１１-4のうちの何れの計算機で実行されているかを管理する。計算機ハイバネーション部１１６-iは、計算機１１-jのブートに使用するブートイメージが切り替えられる場合に、その切り替えに先立ち当該計算機１１-jをハイバネーション状態に設定する。ここでのハイバネーション状態とは、計算機１１-jのブートに使用するブートイメージが切り替えられる場合に、そのブートイメージ切り替え前の当該計算機１１-1〜１１-4の状態を示す情報（状態情報）を当該計算機１１-1〜１１-4の記憶装置、例えばディスク装置（つまりローカルディスク装置）に保存することで、その後当該計算機１１-jが元のブートイメージでブートされた際に、ディスク装置に保存されていた状態情報に基づいて当該計算機１１-jを上記ブートイメージ切り替え前の状態から動作開始可能とする状態をいう。
【００２２】
ブートイメージ切替制御部１１１-1〜１１１-4はネットワーク１４を介して互いに通信しながら一体となって同期（連携）して動作することで、計算機１１-1〜１１-4にまたがって存在する１つの仮想的なブートイメージ切替制御部１１１として機能する。同様に、ブートイメージ管理部１１３-1〜１１３-4及びサービス実行管理部１１５-1〜１１５-4はネットワーク１４を介して互いに通信しながら一体となって同期して動作することで、それぞれ、計算機１１-1〜１１-4にまたがって存在する１つの仮想的なブートイメージ管理部１１３及びサービス実行管理部１１５として機能する。
【００２３】
次に、図１のシステムにおける動作について、ブートイメージの切り替えを例に、図２のフローチャート並びに図３及び図４の動作説明図を参照して説明する。  
今、図１のシステム内の計算機１１-1，１１-2，１１-3，１１-4が、図３において矢印３１，３２，３３，３４で示されるように、ブートイメージ＃Ｂ１１，＃Ｂ１２，＃Ｂ２１，＃Ｂ３１でブートされているものとする。ここで、ブートイメージ＃Ｂ１１，＃Ｂ１２はサービス＃１用であり、ブートイメージ＃Ｂ２１はサービス＃２用であり、ブートイメージ＃Ｂ３１はサービス＃３用である。つまり図３の例では、図１のシステムが提供可能な３種類のサービスのうち、サービス＃１は２台の計算機１１-1及び１１-2で実行され、サービス＃２，＃３はそれぞれ１台の計算機１１-3，１１-4で実行されている。
【００２４】
このような状態で、サービス＃２の負荷（実行負荷）が高まってきたものとする。つまり、図１のシステムに対してサービス＃２を要求する数（サービス＃２を要求するクライアント端末の数）が増加してきたものとする。ここで、図１のシステムが提供可能なサービス＃１〜＃３の負荷は、ブートイメージ切替制御部１１１（のサービス負荷監視手段）が、クライアント端末からの各サービスの要求に対する応答時間を監視（して、例えばその平均値を算出）することにより取得される。
【００２５】
ブートイメージ切替制御部１１１は、サービス＃ｋ（ｋ＝１〜３）の負荷（応答時間）が基準値（基準時間）より高い（長い）場合、サービス＃ｋの負荷（応答時間）が大幅に増加しており、サービス＃ｋのサービスレベルが大幅に低下しているものと判断する。つまりブートイメージ切替制御部１１１は、各サービス＃ｋの負荷（応答時間）を監視することで、当該各サービス＃ｋのサービスレベルを監視し（ステップＳ１）、当該各サービス＃ｋの負荷（応答時間）を基準値（基準時間）と比較することで、当該各サービス＃ｋのサービスレベルが予め定められた条件（サービスレベル条件）を満足しているか否かを判定する（ステップＳ２）。ここでは、サービスレベル条件として、「応答時間がＲms以内であること」という条件を適用し、クライアント端末からのサービス＃ｋの要求に対する応答時間（サービスレベル）がＲmsを超えた場合には、サービスレベル条件を満足しないと判定される。
【００２６】
全てのサービス＃１〜＃３で、サービスレベルがサービスレベル条件を満足している場合、ブートイメージ切替制御部１１１は、上記ステップＳ１及びＳ２を繰り返す。これに対し、サービスレベルがサービスレベル条件を満足していないサービスが存在する場合、ブートイメージ切替制御部１１１はそのサービスをサービス＃Ｘとする。ここでは、サービス＃１〜＃３のうちのサービス＃２のサービスレベルがサービスレベル条件を満足しないものとする。この場合、ブートイメージ切替制御部１１１は、サービス＃Ｘとしてサービス＃２を検出する。
【００２７】
ブートイメージ切替制御部１１１は、サービスレベルがサービスレベル条件を満足しないサービス＃Ｘ（＝＃２）を検出すると、サービスレベルがサービスレベル条件を最も満足しているサービス＃Ｙを探す（ステップＳ３）。ここでは、サービス＃Ｙとしてサービス＃１が検出されたものとする。
【００２８】
次にブートイメージ切替制御部１１１は、サービス＃Ｙ（＝＃１）を実行している計算機をサービス実行管理部１１５に問い合わせる（ステップＳ４）。この問い合わせを受けて、サービス実行管理部１１５は、自身が管理しているサービス＃Ｙ（＝＃１）を実行している計算機をブートイメージ切替制御部１１１に通知する。ブートイメージ切替制御部１１１は、サービス実行管理部１１５から通知されたサービス＃Ｙ（＝＃１）を実行している全ての計算機の中から、ブートイメージを切り替える計算機１１-j（＃ｊ）を選択する（ステップＳ５）。ここでは、計算機１１-j（＃ｊ）として、計算機１１-1，１１-2のうちの計算機１１-2（＃２）が選択されたものとする。また、上記ブートイメージ切替制御部１１１の動作が、計算機１１-i（ｉ＝１〜４、但しｉ≠ｊ）内のブートイメージ切替制御部１１１-iによって実現されているものとする。
【００２９】
次にブートイメージ切替制御部１１１（１１１-i）は、計算機１１-i内の計算機ハイバネーション部１１６-iにより計算機１１-j（＝１１-2）をハイバネーション状態に設定させる（ステップＳ６）。次にブートイメージ切替制御部１１１は、サービス＃Ｘ（＝＃２）用のブートイメージのうち、現在使用されていないブートイメージをブートイメージ管理部１１３に問い合わせる（ステップＳ７）。この問い合わせを受けて、ブートイメージ管理部１１３は、サービス＃Ｘ（＝＃２）用のブートイメージのうち、現在使用されていないブートイメージ＃ＢＸＺをブートイメージ切替制御部１１１に通知する。サービス＃Ｘがサービス＃２であるこの例では、サービス＃２（＃Ｘ）用のブートイメージ＃Ｂ２１，＃Ｂ２２のうちのブートイメージ＃Ｂ２２が、ブートイメージ管理部１１３からブートイメージ切替制御部１１１に通知される。
【００３０】
ブートイメージ切替制御部１１１は、上記ステップＳ６でハイバネーション状態に設定された計算機１１-2（１１-j）に、ブートイメージ管理部１１３から通知されたサービス＃２（＃Ｘ）用のブートイメージ＃Ｂ２２（＃ＢＸＺ）を計算機１１-i内のブートイメージ割当部１１２-iによってリンク（割り当て）させる（ステップＳ８）。即ち計算機１１-1は、計算機１１-2（１１-j）に割り当てるブートイメージを、サービス＃１用のブートイメージ＃Ｂ１２からサービス＃２（＃Ｘ）用のブートイメージ＃Ｂ２２（＃ＢＸＺ）にブートイメージ割当部１１２-iによって切り替えさせる。この処理は、ブートイメージ管理部１１３によって管理され、且つストレージ装置１３に記憶されている管理情報（つまり、ブートイメージ＃Ｂ１１，＃Ｂ１２〜＃Ｂ３１，＃Ｂ３２と当該ブートイメージでブートされる計算機との関係を示すブートイメージ管理テーブル）のうち、ブートイメージ＃Ｂ２２（＃ＢＸＺ）でブートされる計算機を指定する情報を（該当する計算機がないことを示す情報から）上記ステップＳ６でハイバネーション状態に設定された計算機１１-2（１１-j）を指定する情報に変更すると共に、ブートイメージ＃Ｂ１２でブートされる計算機を指定する情報を、該当する計算機がないことを示す情報に変更することで実現される。
【００３１】
次にブートイメージ切替制御部１１１は、ステップＳ５で選択された計算機１１-j（＝１１-2）を、計算機１１-i内の計算機起動停止部１１４-iにより起動させることで、当該計算機１１-j（＝１１-2）を、上記ステップＳ８で当該計算機１１-j（＝１１-2）に割り当てられたブートイメージ＃Ｂ２２（＃ＢＸＺ）でブートさせる（ステップＳ９）。
【００３２】
これにより本実施形態では、負荷が高くなったサービス＃２を、図３に示した計算機１１-3の１台だけが実行する状態から、図４において矢印４２及び３３で示されるように、計算機１１-2及び１１-3の２台が実行する状態に動的に変えることができる。即ち本実施形態では、システムが提供する各サービスの負荷（実行負荷）に応じて、当該サービスを実行する計算機の構成を動的に変化させることができる。これにより、サービスの応答時間の低下等、サービスレベルの低下を防ぐことができる。しかも本実施形態では、サービス＃２（＃Ｘ）を実現するアプリケーション＃２（＃Ｘ）と当該アプリケーション＃２（＃Ｘ）が実行可能なオペレーティングシステム＃２（＃Ｘ）とを含むブートイメージ＃Ｂ２２（＃ＢＸＺ）で、計算機１１-2（１１-j）をブートしている。このため、計算機１１-2（１１-j）において、オペレーティングシステムの種類、或いはバージョンが異なる等の要因でアプリケーション＃２（＃Ｘ）を正しく実行できないといった不具合が発生するのを防止できる。
【００３３】
本実施形態において、新たにサービス＃２（＃Ｘ）を実行する計算機１１-2（１１-j）、即ち新たにサービス＃２（＃Ｘ）用のブートイメージ＃Ｂ２２（＃ＢＸＺ）でブートされた計算機１１-2（１１-j）は、システムが提供可能な他のサービス＃１，＃３のうち、最も負荷の低い（サービスレベルがサービスレベル条件を最も満足している）サービス＃１（＃Ｙ）を実行していた計算機である。したがって、サービス＃１（＃Ｙ）の負荷（サービスレベル）は高くなる（低下する）ものの、それ以上に、負荷（サービスレベル）が大幅に高くなった（低下した）サービス＃２（＃Ｘ）の負荷（サービスレベル）を改善する利点の方が大きい。
【００３４】
また本実施形態では、計算機１１-j（＝１１-2）のブートに使用するブートイメージをサービス＃Ｘ（＝＃２）用のブートイメージ＃ＢＸＺ（＝＃Ｂ２２）に切り替える場合に、当該計算機１１-j（＝１１-2）がハイバネーション状態に設定される。このため、その後計算機１１-j（＝１１-2）のブートに使用するブートイメージが元のサービス＃Ｙ（＝＃１）用のブートイメージに再度切り替えられた場合、先のサービス＃Ｙ（＝＃１）用のブートイメージからサービス＃Ｘ（＝＃２）用のブートイメージ＃ＢＸＺ（＝＃Ｂ２２）への切り替え直前の状態から、当該計算機１１-j（＝１１-2）を動作させることができる。ここで、計算機１１-j（＝１１-2）をブートイメージ切り替え直前の状態から動作させる必要がないならば、上記ステップＳ６で当該計算機１１-j（＝１１-2）を計算機ハイバネーション部１１６-iによりハイバネーション状態に設定する代わりに、当該計算機１１-j（＝１１-2）を計算機起動停止部１１４-iにより停止させれば良い。この場合、計算機１１-j（＝１１-2）を停止させた状態で、ブートイメージ割当部１１２-iを用いて当該計算機１１-j（＝１１-2）のブートイメージを切り替えさせ、しかる後に改めて計算機起動停止部１１４-iによって当該計算機１１-j（＝１１-2）を起動させれば良い。
【００３５】
なお、上記の例とは異なって、サービス＃３の負荷が高くなって、当該サービス＃３のサービスレベルがサービスレベル条件を満足しなくなった場合には、サービス＃３用のブートイメージ＃Ｂ３１，＃Ｂ３２のうち、現在使用されていないブートイメージ＃Ｂ３２で計算機１１-2がブートされることになる。
【００３６】
［第２の実施形態］
次に、本発明の第２の実施形態について説明する。図５は本発明の第２の実施形態に係るクラスタシステムの構成を示すブロック図であり、図１中の構成要素と同様の要素には、同一符号を付してある。図５のクラスタシステムは、例えば５台の計算機５１-1(＃１)〜５１-5（＃５）から構成される、負荷分散が可能な計算機システムである。図５の状態では、計算機５１-1〜５１-4は図１のシステム内の計算機１１-1〜１１-4と同様に稼働状態にあるのに対し、計算機５１-5は、プロビジョニングノード（provisioning node）と呼ばれる予備計算機として配置されているものとする。この状態では、計算機５１-5は停止状態にある。図５のクラスタシステムでは、図１のクラスタシステムと同様に、３種類のサービス（アプリケーション）＃１，＃２，＃３が実行可能である。図５のクラスタシステムでは、サービス＃１〜＃３のうちの何れか、例えば前記第１の実施形態と同様にサービス＃２の負荷が高くなった場合、まず予備計算機５１-5に当該サービス＃２用のブートイメージを割り当てて、当該計算機５１-5でもそのサービス＃２を実行させる。この点で、第２の実施形態は、別のサービスを実行していた計算機のブートイメージがサービス＃２用のブートイメージに切り替えられる第１の実施形態とは異なる。
【００３７】
計算機５１-1〜５１-5のうちの計算機５１-1〜５１-4は、図１のシステムにおける計算機１１-1〜１１-4と同様に、それぞれブートイメージ切替制御部１１１-1〜１１１-4と、ブートイメージ割当部１１２-1〜１１２-4と、ブートイメージ管理部１１３-1〜１１３-4と、計算機起動停止部１１４-1〜１１４-4と、サービス実行管理部１１５-1〜１１５-4とを備えている。一方、計算機５１-1〜５１-5のうちの計算機５１-5（予備計算機５１-5））も、（上記ブートイメージ切替制御部１１１-1〜１１１-4と、ブートイメージ割当部１１２-1〜１１２-4と、ブートイメージ管理部１１３-1〜１１３-4と、計算機起動停止部１１４-1〜１１４-4と、サービス実行管理部１１５-1〜１１５-4とに相当する）ブートイメージ切替制御部１１１-5と、ブートイメージ割当部１１２-5と、ブートイメージ管理部１１３-5と、計算機起動停止部１１４-5と、サービス実行管理部１１５-5とを備えている。計算機５１-1〜５１-5はまた、システム内の予備計算機を管理する予備計算機管理部５１６-1〜５１６-5を備えている。
【００３８】
ブートイメージ切替制御部１１１-1〜１１１-5は、図１中のブートイメージ切替制御部１１１に相当する、１つの仮想的なブートイメージ切替制御部５１１を構成する。同様に、ブートイメージ管理部１１３-1〜１１３-5は、図１中のブートイメージ管理部１１３に相当する、１つの仮想的なブートイメージ管理部５１３を構成し、サービス実行管理部１１５-1〜１１５-5は、図１中のサービス実行管理部１１５に相当する、１つの仮想的なサービス実行管理部５１５を構成する。予備計算機管理部５１６-1〜５１６-5はネットワーク１４を介して互いに通信しながら一体となって同期して動作することで、計算機１１-1〜１１-5にまたがって存在する１つの仮想的な予備計算機管理部５１６として機能する。
【００３９】
次に、図５のシステムにおける動作について、ブートイメージの切り替えを例に、図６のフローチャートを参照して説明する。  
ブートイメージ切替制御部５１１は、図１中のブートイメージ切替制御部１１１と同様に、各サービス＃ｋの負荷（応答時間）を監視することで、当該各サービス＃ｋのサービスレベルを監視する（ステップＳ１１）。そしてブートイメージ切替制御部５１１は、各サービス＃ｋの負荷（応答時間）を基準値（基準時間）と比較することで、当該各サービス＃ｋのサービスレベルがサービスレベル条件を満足しているか否かを判定する（ステップＳ１２）。
【００４０】
今、サービス＃２が計算機５１-3だけで実行されており、当該サービス＃２の負荷が高まった結果、当該サービス＃２のサービスレベルがサービスレベル条件を満足しなくなったものとする。この場合、ブートイメージ切替制御部５１１は、サービスレベルがサービスレベル条件を満足しないサービス＃Ｘとしてサービス＃２を検出する。するとブートイメージ切替制御部５１１は、利用可能な予備計算機を予備計算機管理部５１６に問い合わせる（ステップＳ１３）。この問い合わせを受けて、予備計算機管理部５１６は、自身が管理している例えば全ての予備計算機をブートイメージ切替制御部５１１に通知する。なお、全ての予備計算機が何れもサービスの実行に使用されている場合には、利用可能な予備計算機が存在しないことが予備計算機管理部５１６からブートイメージ切替制御部５１１に通知される。
【００４１】
ブートイメージ切替制御部５１１は、予備計算機管理部５１６から利用可能な予備計算機が通知された場合（ステップＳ１４）、その通知された全ての予備計算機の中から、サービス＃２の実行に使用する予備計算機５１-j（＃ｊ）を選択する（ステップＳ１５）。ここでは、予備計算機は計算機５１-5（＃５）の１台だけであることから、当該計算機５１-5（＃５）がサービス＃２の実行に使用する予備計算機５１-j（＃ｊ）として選択される。
【００４２】
次にブートイメージ切替制御部５１１は、サービス＃Ｘ（＝＃２）用のブートイメージのうち、現在使用されていないブートイメージをブートイメージ管理部５１３に問い合わせる（ステップＳ１６）。この問い合わせを受けて、ブートイメージ管理部５１３は、サービス＃Ｘ（＝＃２）用のブートイメージのうち、現在使用されていないブートイメージ＃ＢＸＺをブートイメージ切替制御部５１１に通知する。ここでは、サービス＃２（＃Ｘ）用のブートイメージ＃Ｂ２１，＃Ｂ２２のうちのブートイメージ＃Ｂ２２が、ブートイメージ管理部５１３からブートイメージ切替制御部５１１に通知されたものとする。ブートイメージ切替制御部５１１は、上記ステップＳ１５でサービス＃２（＃Ｘ）用に選択された予備計算機５１-5（５１-j）に、ブートイメージ管理部５１３から通知されたサービス＃２（＃Ｘ）用のブートイメージ＃Ｂ２２（＃ＢＸＺ）をブートイメージ割当部５１２-iによってリンクさせる（ステップＳ１７）。ここでは、予備計算機５１-5（５１-j）は停止状態にあることから、当該計算機５１-5にサービス＃２（＃Ｘ）用のブートイメージをリンクさせる際に、当該計算機５１-5をハイバネーション状態に設定させる、または当該計算機５１-5を停止させる必要がない。
【００４３】
次にブートイメージ切替制御部１１１は、計算機５１-i内の計算機起動停止部５１４-iにより当該計算機５１-j（＝５１-5）を起動させることで、当該計算機５１-j（＝５１-5）を、上記ステップＳ１６で当該計算機５１-j（＝５１-5）にリンクされたサービス＃Ｘ（＝＃２）用のブートイメージ＃ＢＸＺ（＝＃Ｂ２２）でブートさせる（ステップＳ１８）。これにより、負荷が高くなったサービス＃Ｘ（＝＃２）を、計算機５１-3の１台だけが実行する状態から、計算機５１-3及び５１-j（＝５１-5）の２台が実行する状態に動的に変えることができる。ここでは、負荷が高くなったサービス＃Ｘ（＝＃２）を新たに実行する計算機として別のサービス＃Ｙを実行中の計算機を用いる必要がないため、当該サービス＃Ｙの実行に何ら影響を及ぼす虞がない。
【００４４】
一方、利用可能な予備計算機が存在しないことが予備計算機管理部５１６からブートイメージ切替制御部５１１に対して通知された場合、当該ブートイメージ切替制御部５１１は、前記第１の実施形態におけるステップＳ３〜Ｓ９（図２参照）に相当する制御（ステップＳ１９）を行う。即ちブートイメージ切替制御部５１１は、サービスレベルがサービスレベル条件を最も満足しているサービス＃Ｙを探し、そのサービス＃Ｙ（例えばサービス＃１）を実行している計算機の中からブートイメージ＃ＢＸＺ（＝＃Ｂ２２）に切り替える計算機５１-j（例えば計算機５１-2）を選択する。そしてブートイメージ切替制御部５１１は、選択した計算機５１-j（＝５１-2）をハイバネーション状態に設定させた後、または当該計算機５１-j（＝５１-2）を停止させた後に、当該計算機５１-j（＝５１-2）にブートイメージ＃ＢＸＺ（＝＃Ｂ２２）をリンクさせて、当該計算機５１-j（＝５１-2）を起動する。
【００４５】
［第３の実施形態］
次に、本発明の第３の実施形態について説明する。図７は本発明の第３の実施形態に係るクラスタシステムの構成を示すブロック図であり、図１中の構成要素と同様の要素には、同一符号を付してある。図７のクラスタシステムが、図１のクラスタシステムと異なる第１の点は、計算機１１-1〜１１-4が計算機７１-1〜７１-4と置き換えられていることである。この計算機７１-1〜７１-4には、ブートイメージ割当部１１２-1〜１１２-4に代えてブートイメージコピー要求部７１２-1〜７１２-4が設けられている。計算機７１-1〜７１-4内の他の構成要素は、図１中の計算機１１-1〜１１-4と同様である。図７のクラスタシステムが、図１のクラスタシステムと異なる第２の点は、ＳＡＮ１２に代えて、ブートイメージコピーサーバ７２と、当該ブートイメージコピーサーバ７２を計算機１１-1〜１１-4と接続するネットワーク７３とが設けられていることである。ブートイメージコピーサーバ７２はストレージ装置１３とも接続されている。サーバ７２は、ブートイメージ切替制御部５１１の制御に従うブートイメージコピー要求部７１２-1〜７１２-4の何れかからの要求に応じて、計算機１１-1〜１１-4のうちの指定された計算機が有するローカルディスク（図示せず）に、ストレージ装置１３に記憶されているブートイメージのうちの指定されたブートイメージをコピー（インストール）する。この指定計算機のローカルディスクへの指定ブートイメージのコピーにより、当該指定計算機を指定ブートイメージでブートすることができる。このブートイメージコピーサーバ７２によるブートイメージのコピー（インストール）機能を、リモートディプロイメント（remote deployment）と呼ぶ。
【００４６】
次に、図７のシステムにおける動作について、ブートイメージの切り替えを例に、図２のフローチャートを援用して説明する。  
今、図７のシステム内の計算機７１-1，７１-2，７１-3，７１-4が、前記第１の実施形態における計算機１１-1，１１-2，１１-3，１１-4と同様に、ブートイメージ＃Ｂ１１，＃Ｂ１２，＃Ｂ２１，＃Ｂ３１でブートされているものとする。但し、計算機７１-1，７１-2，７１-3，７１-4は、第１の実施形態における計算機１１-1，１１-2，１１-3，１１-4とは異なって、当該計算機７１-1，７１-2，７１-3，７１-4のローカルディスクにコピーされたブートイメージ＃Ｂ１１，＃Ｂ１２，＃Ｂ２１，＃Ｂ３１によってブートされている。
【００４７】
ブートイメージ切替制御部１１１は、前記第１の実施形態と同様に、ブートイメージの切り替えを制御する。即ちブートイメージ切替制御部１１１は、各サービス＃ｋのサービスレベルを監視して、当該各サービス＃ｋのサービスレベルがサービスレベル条件を満足しているか否かを判定する動作（つまり図２のフローチャート中のステップＳ１，Ｓ２に相当する動作）を行う。
【００４８】
今、前記第１の実施形態と同様にサービス＃２の負荷が高まった結果、サービス＃２のサービスレベルがサービスレベル条件を満足しなくなったものとする。この場合、ブートイメージ切替制御部１１１は、サービスレベルがサービスレベル条件を満足しないサービス＃Ｘとしてサービス＃２を検出する。するとブートイメージ切替制御部１１１は、サービスレベルがサービスレベル条件を最も満足しているサービス＃Ｙ（ここではサービス＃１）を探し、そのサービス＃Ｙ（＝＃１）を実行している計算機の中からサービス＃Ｘ用のブートイメージ＃ＢＸＺに切り替える計算機７１-j（＃ｊ）、例えば計算機７１-2（＃２）を選択する動作（つまり図２のフローチャート中のステップＳ３〜Ｓ５に相当する動作）を行う。そしてブートイメージ切替制御部１１１は、選択した計算機７１-j（＝７１-2）をブートするブートイメージを、（サービス＃１用のブートイメージ＃Ｂ１２から）現在使用されていないサービス＃Ｘ用のブートイメージ＃ＢＸＺ（ここではサービス＃２用のブートイメージ＃Ｂ２２）に切り替えるための制御（つまり図２のフローチャート中のステップＳ６〜Ｓ９に相当する制御）を行う。但し、本実施形態では、第１の実施形態とは異なってＳＡＮブートではなくて、ブートイメージコピーサーバ７２によるリモートディプロイメントによりブートイメージが切り替えられる。即ちブートイメージ切替制御部１１１は、サービス＃Ｘを実行する計算機７１-j（＝７１-2）を選択すると、当該計算機７１-j（＝７１-2）を計算機１１-ｉ内の計算機ハイバネーション部１１６-iによりハイバネーション状態に設定させる、この状態で、ブートイメージ切替制御部１１１は、計算機１１-ｉ内のブートイメージコピー要求部７１２-iによりブートイメージコピーサーバ７２に対して、サービス＃Ｘ（＝＃２）用のブートイメージ＃ＢＸＺ（＝＃Ｂ２２）を計算機７１-j（＝７１-2）のローカルディスクにコピーするように要求させる。そしてブートイメージ切替制御部１１１は、ブートイメージコピーサーバ７２によりサービス＃Ｘ（＝＃２）用のブートイメージ＃ＢＸＺ（＝＃Ｂ２２）が計算機７１-j（＝７１-2）のローカルディスクにコピーされると、計算機１１-ｉ内の計算機起動停止部１１４-iにより当該計算機７１-j（＝７１-2）を起動させる。これにより計算機７１-j（＝７１-2）が、サービス＃Ｘ（＝＃２）用のブートイメージ＃ＢＸＺ（＝＃Ｂ２２）でブートされ、サービス＃Ｘ（＝＃２）の応答時間の低下等、サービス＃Ｘ（＝＃２）のサービスレベルの低下を防ぐことができる。
【００４９】
［第４の実施形態］
次に、本発明の第４の実施形態について説明する。図８は本発明の第４の実施形態に係るクラスタシステムの構成を示すブロック図であり、図５または図７中の構成要素と同様の要素には、同一符号を付してある。図８のクラスタシステムが、図５のクラスタシステムと異なる点は、図７のクラスタシステムが、図１のクラスタシステムと異なる点と同様である。即ち図８のクラスタシステムでは、図５のクラスタシステムにおける計算機５１-1〜５１-5が計算機８１-1〜８１-5に置き換えられている。計算機８１-5は、計算機５１-5と同様に予備計算機である。計算機８１-1〜８１-5には、ブートイメージ割当部１１２-1〜１１２-5に代えてブートイメージコピー要求部７１２-1〜７１２-5が設けられている。計算機８１-1〜８１-5内の他の構成要素は、図５中の計算機５１-1〜５１-5と同様である。また、図８のクラスタシステムでは、ＳＡＮ１２に代えて、ブートイメージコピーサーバ７２と、当該ブートイメージコピーサーバ７２を計算機１１-1〜１１-4と接続するネットワーク７３とが設けられている。
【００５０】
次に、図８のシステムにおける動作について、ブートイメージの切り替えを例に、図６のフローチャートを援用して説明する。  
ブートイメージ切替制御部５１１は、各サービス＃ｋのサービスレベルを監視して、当該各サービス＃ｋのサービスレベルがサービスレベル条件を満足しているか否かを判定する動作（つまり図６のフローチャート中のステップＳ１１，Ｓ１２に相当する動作）を行う。今、前記第２の実施形態と同様にサービス＃２の負荷が高まった結果、サービス＃２のサービスレベルがサービスレベル条件を満足しなくなったものとする。この場合、ブートイメージ切替制御部５１１は、サービスレベルがサービスレベル条件を満足しないサービス＃Ｘとしてサービス＃２を検出する。
【００５１】
するとブートイメージ切替制御部５１１は、利用可能な予備計算機の中からサービス＃Ｘ（＃２）の実行に使用する予備計算機５１-j（＃ｊ）、例えば計算機５１-5（＃５）を選択する動作（つまり図６のフローチャート中のステップＳ１３〜Ｓ１５に相当する動作）を行う。そしてブートイメージ切替制御部５１１は、選択された予備計算機５１-j（＝５１-5）を現在使用されていないサービス＃Ｘ用のブートイメージ＃ＢＸＺ（ここではサービス＃２用のブートイメージ＃Ｂ２２）でブートするための制御（つまり図６のフローチャート中のステップＳ１６〜Ｓ１８に相当する制御）を行う。但し、本実施形態では、第２の実施形態とは異なってＳＡＮブートではなくて、ブートイメージコピーサーバ７２によるリモートディプロイメントにより、予備計算機５１-j（＝５１-5）がサービス＃Ｘ（＝＃２）用のブートイメージ＃ＢＸＺ（＝＃Ｂ２２）でブートされる。
【００５２】
一方、利用可能な予備計算機が存在しない場合には、図６のフローチャート中のステップＳ１９に相当する制御（つまり、図２のフローチャート中のステップＳ３〜Ｓ９に相当する制御）が行われる。これにより、サービスレベルがサービスレベル条件を最も満足しているサービス＃Ｙ（例えばサービス＃１）を実行している計算機の中から、サービス＃Ｘ（＝＃２）を実行する計算機５１-j（例えば計算機５１-2）が選択される。そして、選択された計算機５１-j（＝５１-2）をブートするブートイメージがサービス＃Ｘ（＝＃２）用のブートイメージ＃ＢＸＺ（＝＃Ｂ２２）に切り替えられる。但し、ここでも、第２の実施形態とは異なってＳＡＮブートではなくて、ブートイメージコピーサーバ７２によるリモートディプロイメントにより、計算機５１-j（＝５１-2）がブートイメージ＃ＢＸＺ（＝＃Ｂ２２）でブートされる。
【００５３】
［変形例］
次に、上記第１乃至第４の実施形態の変形例について説明する。上記第１、第２、第３または第４の実施形態に係るシステム（図１、図５、図７または図８に示すシステム）では、サービス＃Ｘの負荷（実行負荷）が増大したために当該サービス＃Ｘのサービスレベル（ここでは応答時間）がサービスレベル条件を満足しなくなった場合に、当該サービス＃Ｘ（つまり、負荷が基準値を超えたサービス＃Ｘ）を実行する新たな計算機として、別のサービスを実行中の計算機（図１、図５、図７または図８のシステム）、或いは予備計算機（図５または図８のシステム）が選択される構成が適用されている。そして、選択された計算機のブートイメージがサービス＃Ｘ用のブートイメージに切り替えられる、或いは選択された予備計算機がサービス＃Ｘ用のブートイメージでブートされる。しかし、図１、図５、図７または図８のシステムが、例えばサービス毎に当該サービスの負荷のピーク時間帯が予め予測されるシステムである場合には、サービスの負荷（サービスレベル）を監視しなくても、サービスが提供される時間帯に応じて、当該サービスを実行する新たな計算機（予備計算機）がブートイメージ切替制御部（１１１または５１１）によって選択されて、その選択された計算機（予備計算機）に当該サービス＃Ｘ用のブートイメージが割り当てられる構成とすることも可能である。
【００５４】
そこで、このような構成を、図１のクラスタシステムに適用した変形例におけるブートイメージ切り替えの一例について、図９を参照して説明する。なお、図９では、計算機１１-1〜１１-4以外の構成要素については省略されている。また、本変形例におけるシステムは、説明を簡略化するために、上記実施形態とは異なって２種類のサービス＃１，＃２だけが実行可能であるものとする。
【００５５】
まず、図９（ａ）は、計算機１１-1〜１１-4のうちの計算機１１-1〜１１-3がサービス＃１用のブートイメージでブートされ、計算機１１-4のみがサービス＃２用のブートイメージでブートされている状態を示す。つまり図９（ａ）では、３台の計算機１１-1〜１１-3でサービス＃１が実行され、１台の計算機１１-4でサービス＃２が実行されている。
【００５６】
図９（ｂ）は図９（ａ）の状態から遷移した状態を示し、計算機１１-1のみがサービス＃１用のブートイメージでブートされ、計算機１１-2〜１１-4がサービス＃２用のブートイメージでブートされている状態を示す。つまり図９（ｂ）では、１台の計算機１１-1でサービス＃１が実行され、３台の計算機１１-2〜１１-4でサービス＃２が実行されている。
【００５７】
図９（ｃ）は図９（ｂ）の状態から遷移した状態であって、図９（ａ）と同一の状態に戻っていることを示す。図９（ｄ）は図９（ｃ）の状態から遷移した状態であって、図９（ｂ）と同一の状態に戻っていることを示す。
【００５８】
図９の例では、システム内のサービス＃１及び＃２を実行する計算機の台数Ｐ：Ｑ（Ｐ，Ｑはそれぞれサービス＃１，＃２を実行する計算機の台数）は、時間の経過に伴って３：１→１：３→３：１→１：３→…のように遷移する。このようなケースは、例えばサービス＃１は日本向けサービス、サービス＃２は米国向けサービスといった場合のように、時差のためにサービス毎の負荷のピーク時間帯がずれる場合に発生する。
【００５９】
そこで、サービス＃１用のブートイメージでブートされる計算機の台数と、サービス＃２用のブートイメージでブートされる計算機の台数とを、サービスが提供される時間帯に応じてブートイメージ切替制御部１１１の制御により変更することで、即ちシステムが提供する各サービスの提供時間帯に応じて、当該サービスを実行する計算機の構成を動的に変化させることで、全体としてシステムに必要な計算機の台数を少なくすることができる。このことは、図５、図７または図８のシステムにおいても同様である。
【００６０】
上記各実施形態及びその変形例では、１つの計算機で１つのサービス（アプリケーション）が実行されることを前提としている。しかし、ブートイメージに、オペレーティングシステムと当該オペレーティングシステムのもとで動作可能な複数のアプリケーションを含めることにより、１つの計算機で複数のサービスを実行することも可能である。
【００６１】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００６２】
【図１】本発明の第１の実施形態に係るクラスタシステムの構成を示すブロック図。
【図２】同第１の実施形態におけるブートイメージ切り替えの手順を示すフローチャート。
【図３】同第１の実施形態におけるブートイメージ切り替えの動作説明図。
【図４】同第１の実施形態におけるブートイメージ切り替えの動作説明図。
【図５】本発明の第２の実施形態に係るクラスタシステムの構成を示すブロック図。
【図６】同第２の実施形態におけるブートイメージ切り替えの手順を示すフローチャート。
【図７】本発明の第３の実施形態に係るクラスタシステムの構成を示すブロック図。
【図８】本発明の第４の実施形態に係るクラスタシステムの構成を示すブロック図。
【図９】システムが提供する各サービスの提供時間帯に応じて、当該サービスを実行する計算機の構成を動的に変化させる、本発明の実施形態の変形例を説明するための図。
【符号の説明】
【００６３】
１１-1〜１１-4，５１-1〜５１-4，７１-1〜７１-4，８１-1〜８１-4…計算機、１２…ＳＡＮ（ストレージエリアネットワーク）、１３…ストレージ装置、１４，７３…ネットワーク、５１-5，８１-5…予備計算機、７２…ブートイメージコピーサーバ（ブートイメージ切替手段）、１１１，１１１-1〜１１１-5…ブートイメージ切替制御部、１１２-1〜１１２-5…ブートイメージ割当部（ブートイメージ切替手段）、１１３，１１３-1〜１１３-5…ブートイメージ管理部、１１４-1〜１１４-5…計算機起動停止部、１１５，１１５-1〜１１５-5…サービス実行管理部、１１６-1〜１１６-4…計算機ハイバネーション部、５１５，５１６-1〜５１６-5…予備計算機管理部、７１２-1〜７１２-5…ブートイメージコピー要求部（ブートイメージ切替手段）。
【図１】
2005071242.tif 000003
【図２】
2005071242.tif 000004
【図３】
2005071242.tif 000005
【図４】
2005071242.tif 000006
【図５】
2005071242.tif 000007
【図６】
2005071242.tif 000008
【図７】
2005071242.tif 000009
【図８】
2005071242.tif 000010
【図９】
2005071242.tif 000011