(57)【要約】      （修正有）【課題】  クラスタシステムを構成する計算機の状態およびユーザの要求に応じて、アプリケーションと計算機の対応を動的に制御することのできるクラスタシステムを提供する。【解決手段】  クラスタシステムにおいて、計算機１００ａ〜１００ｃは、状態監視部４００ａ〜４００ｃと、負荷監視部３００ａ〜３００ｃと、クラスタソフト２００ａ〜２００ｃと、ユーザからの計算機に対するユーザ要求項目の情報、状態監視部４００ａ〜４００ｃからのアプリケーションの状態の情報、および負荷監視部３００ａ〜３００ｃからの計算機１００ａ〜１００ｃの負荷状態の情報に基づいて、ユーザ要求項目に対するユーザ満足度を最大化するアプリケーションの引き継ぎ先の計算機１００ａ〜１００ｃを決定し、アプリケーションの引き継ぎ先の計算機１００ａ〜１００ｃをクラスタソフト２００ａ〜２００ｃに指示する意思決定部６００ａ〜６００ｃとを有する。【選択図】  図１
2007018228.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションを実行可能な複数の計算機から構成され、
前記複数の計算機のそれぞれは、自身の計算機内で実行中の前記アプリケーションの状態を監視する状態監視部と、前記自身の計算機の負荷状態を監視する負荷監視部と、前記アプリケーションの他の計算機への引き継ぎ処理を行うクラスタ処理部と、ユーザからの前記自身の計算機に対するユーザ要求項目の情報、前記状態監視部からの前記アプリケーションの状態の情報、および前記複数の計算機の前記負荷監視部からの前記複数の計算機の負荷状態の情報に基づいて、前記ユーザ要求項目に対するユーザ満足度を最大化する前記アプリケーションの引き継ぎ先の計算機を決定し、前記アプリケーションの引き継ぎ先の計算機を前記クラスタ処理部に指示する意思決定部とを有することを特徴とするクラスタシステム。
【請求項２】
請求項１記載のクラスタシステムにおいて、
前記意思決定部は、ユーザ要求項目の情報、および前記複数の計算機の負荷状態の情報に基づいて、前記ユーザ要求項目に対するユーザ満足度を最大化する前記アプリケーションの引き継ぎ先の計算機を決定するための多目的計画問題を定式化し、多目的計画問題を解き、その解に基づいて、前記アプリケーションの引き継ぎ先の計算機を決定することを特徴とするクラスタシステム。
【請求項３】
請求項２記載のクラスタシステムにおいて、
前記意思決定部は、前記多目的計画問題を予め設定された制限時間の間、繰り返し解き、前記制限時間内に得られた前記ユーザ満足度を最大化する最適解に基づいて、前記アプリケーションの引き継ぎ先の計算機を決定することを特徴とするクラスタシステム。
【請求項４】
請求項１、２または３記載のクラスタシステムにおいて、
前記ユーザ要求項目の情報として、前記自身の計算機の負荷に対する許容範囲の上限値および下限値を動的に更新することを特徴とするクラスタシステム。
【請求項５】
複数のアプリケーションを実行可能な複数の計算機および前記アプリケーションの引き継ぎ先の計算機を決定する意思決定装置から構成され、
前記複数の計算機のそれぞれは、自己の計算機内で実行中の前記アプリケーションの状態を監視する状態監視部と、前記自己の計算機の負荷状態を監視する負荷監視部と、前記アプリケーションの他の計算機への引き継ぎ処理を行うクラスタ処理部とを有し、
前記意思決定装置は、ユーザからの前記複数の計算機に対するユーザ要求項目の情報、前記複数の計算機の前記状態監視部からの前記アプリケーションの状態の情報、および前記複数の計算機の前記負荷監視部からの前記計算機の負荷状態の情報に基づいて、前記ユーザ要求項目に対するユーザ満足度を最大化する前記アプリケーションの引き継ぎ先の計算機を決定し、前記アプリケーションの引き継ぎ先の計算機を前記計算機のクラスタ処理部に指示することを特徴とするクラスタシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の計算機から構成したクラスタシステム関し、特に、アプリケーションの引き継ぎに適用して有効な技術に関するものである。
【背景技術】
【０００２】
従来、クラスタシステムにおいては、複数の計算機で１つ以上のアプリケーションを実行し、アプリケーション、もしくはアプリケーションを実行中の計算機に障害が発生した場合、クラスタ内の他の計算機でアプリケーションを引き継いで実行する。アプリケーションを引き継いで実行する計算機を引き継ぎ計算機と呼ぶ。引き継ぎ計算機をクラスタシステム内で予め設定する方式は既に実用化されており、また、複数台の計算機の負荷情報を動的に読み取り、引き継ぎ先の計算機を動的に決定するシステムが特許文献１に記載されている。
【特許文献１】特開平１１−１８４８２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記特許文献１おいては、クラスタシステム内の複数台の計算機の負荷情報から、引き継ぎ先の計算機として最適なものを動的に決定するシステムが提案されているが、この方式には引き継ぎ先の計算機の決定において、その条件があらかじめ決まっており、ユーザの意思が反映されないという課題があった。
【０００４】
そこで、本発明の目的は、クラスタシステムを構成する計算機の状態およびユーザの要求に応じて、アプリケーションと計算機の対応を動的に制御することのできるクラスタシステムを提供することにある。
【課題を解決するための手段】
【０００５】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【０００６】
本発明によるクラスタシステムは、複数のアプリケーションを実行可能な複数の計算機から構成され、複数の計算機のそれぞれは、自身の計算機内で実行中のアプリケーションの状態を監視する状態監視部と、自身の計算機の負荷状態を監視する負荷監視部と、アプリケーションの他の計算機への引き継ぎ処理を行うクラスタ処理部と、ユーザからの自身の計算機に対するユーザ要求項目の情報、状態監視部からのアプリケーションの状態の情報、および複数の計算機の負荷監視部からの複数の計算機の負荷状態の情報に基づいて、ユーザ要求項目に対するユーザ満足度を最大化するアプリケーションの引き継ぎ先の計算機を決定し、アプリケーションの引き継ぎ先の計算機をクラスタ処理部に指示する意思決定部とを有するものである。
【０００７】
また、本発明によるクラスタシステムは、複数のアプリケーションを実行可能な複数の計算機およびアプリケーションの引き継ぎ先の計算機を決定する意思決定装置から構成され、複数の計算機のそれぞれは、自己の計算機内で実行中のアプリケーションの状態を監視する状態監視部と、自己の計算機の負荷状態を監視する負荷監視部と、アプリケーションの他の計算機への引き継ぎ処理を行うクラスタ処理部とを有し、意思決定装置は、ユーザからの複数の計算機に対するユーザ要求項目の情報、複数の計算機の状態監視部からのアプリケーションの状態の情報、および複数の計算機の負荷監視部からの計算機の負荷状態の情報に基づいて、ユーザ要求項目に対するユーザ満足度を最大化するアプリケーションの引き継ぎ先の計算機を決定し、アプリケーションの引き継ぎ先の計算機を計算機のクラスタ処理部に指示するものである。
【発明の効果】
【０００８】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【０００９】
本発明によれば、クラスタシステムを構成する計算機の状態およびユーザの要求に応じて、アプリケーションと計算機の対応を動的に制御できる。これにより、クラスタシステムの管理者がクラスタシステムの運用するための意思決定に要する負担を軽減し、効率的な高信頼システムの運用が可能になる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１１】
（実施の形態１）
＜クラスタシステムの構成＞
図１により、本発明の実施の形態１に係るクラスタシステムの構成について説明する。図１は本発明の実施の形態１に係るクラスタシステムの構成を示す構成図である。
【００１２】
図１において、クラスタシステムは、計算機１００ａ、１００ｂ、１００ｃの３台の計算機により構成されている。なお、図１においては、３台の計算機１００ａ、１００ｂ、１００ｃでクラスタシステムを構成する例を示しているが、システムの規模により、２台以上であれば何台の計算機を用いてクラスタシステムを構成するようにしてもよい。
【００１３】
それぞれの計算機１００ａ、１００ｂ、１００ｃでは、各計算機内で稼動中のアプリケーションの他のアプリケーションへの引き継ぎ処理を行うクラスタ処理部であるクラスタソフト２００ａ、２００ｂ、２００ｃが稼動している。
【００１４】
また、それぞれのクラスタソフト２００ａ、２００ｂ、２００ｃに付随する状態監視部４００ａ、４００ｂ、４００ｃと通信経路１０ａ、１０ｂ、１０ｃを用いて、各計算機内で稼動中のアプリケーションの状態を監視している。
【００１５】
状態監視部４００ａ、４００ｂ、４００ｃでの、アプリケーションの状態監視の結果は、通信経路３０ａ、３０ｂ、３０ｃを用いて、随時共用データ部５００ａ、５００ｂ、５００ｃに反映される。
【００１６】
クラスタシステム内には、クラスタソフト２００ａ、２００ｂ、２００ｃとは別に、各計算機の負荷状態を監視する負荷監視部３００ａ、３００ｂ、３００ｃが存在し、各計算機の負荷状態は、通信経路２０ａ、２０ｂ、２０ｃを用いて、随時共用データ部５００ａ、５００ｂ、５００ｃに反映される。
【００１７】
また、クラスタソフト２００ａ、２００ｂ、２００ｃおよび共用データ部５００ａ、５００ｂ、５００ｃは通信経路８００により各計算機間で接続され、それぞれの計算機で、クラスタシステムを構成する他の計算機の負荷情報やアプリケーションの状態を読み取ることができる。
【００１８】
また、各計算機内には、引き継ぎ先の計算機を決定するための意思決定部６００ａ、６００ｂ、６００ｃが存在する。各意思決定部６００ａ、６００ｂ、６００ｃは、ユーザからのユーザ要求項目７００ａ、７００ｂ、７００ｃを要求項目入力インタフェースである５０ａ、５０ｂ、５０ｃにより受け付け、また共用データ部から通信経路４０ａ、４０ｂ、４０ｃによりクラスタシステム内の各計算機の負荷情報を読み取る。
【００１９】
意思決定部６００ａ、６００ｂ、６００ｃは、これらの入力情報からユーザの要求項目を満たし、ユーザの満足度を最大化する最適なアプリケーションの引き継ぎ先を決定するための多目的計画問題を定式化する。意思決定部６００ａ、６００ｂ、６００ｃは定式化した上記多目的計画問題を解き、得られた解からアプリケーションの引き継ぎ先を決定する。意思決定部６００ａ、６００ｂ、６００ｃは、決定したアプリケーションの引き継ぎ先を、通信経路６０ａ、６０ｂ、６０ｃを用いてクラスタソフト２００ａ、２００ｂ、２００ｃに転送する。クラスタソフト２００ａ、２００ｂ、２００ｃは、意思決定部６００ａ、６００ｂ、６００ｃの連絡により、アプリケーションの引き継ぎ先の計算機を動的に更新する。
【００２０】
＜クラスタシステムの動作＞
次に、図２および図３により、本発明の実施の形態１に係るクラスタシステムの動作について説明する。図２は本発明の実施の形態１に係るクラスタシステムの動作を示すフローチャート、図３は本発明の実施の形態１に係るクラスタシステムの意思決定部における多目的計画問題の定式化を説明するための説明図である。
【００２１】
まず、クラスタシステムの各計算機１００ａ、１００ｂ、１００ｃの意思決定部６００（６００ａ、６００ｂ、６００ｃ）には、図３に示すように、それぞれ目的関数６１０（６１０ａ、６１０ｂ、６１０ｃ）、制約式６２０（６２０ａ、６２０ｂ、６２０ｃ）、制約式６３０（６３０ａ、６３０ｂ、６３０ｃ）が作成されている。
【００２２】
目的関数６１０（６１０ａ、６１０ｂ、６１０ｃ）は、クラスタシステムの負荷やＣＰＵ利用率を最小限にする等の要求項目として予め作成されている。この目的関数６１０（６１０ａ、６１０ｂ、６１０ｃ）は、要求項目によって１つの目的関数６１０を作成してもいいし、要求項目数にあわせて複数作成することもできる。
【００２３】
制約式６２０（６２０ａ、６２０ｂ、６２０ｃ）は、共用データ部５００（５００ａ、５００ｂ、５００ｃ）からクラスタシステムを構成する各計算機１００ａ、１００ｂ、１００ｃの現在の負荷情報を通信経路４０（４０ａ、４０ｂ、４０ｃ）により受け取り、各計算機１００ａ、１００ｂ、１００ｃの負荷の上限値等から決定して作成する。制約式６２０（６２０ａ、６２０ｂ、６２０ｃ）は、共用データ部５００（５００ａ、５００ｂ、５００ｃ）の情報から１つの制約式を決定して作成してもいいし、条件の数にあわせて複数作成することもできる。また、制約式６２０は、各計算機１００ａ、１００ｂ、１００ｃの負荷の負荷の下限値等から決定することもできる。
【００２４】
制約式６３０（６３０ａ、６３０ｂ、６３０ｃ）は、ユーザからのユーザ要求項目７００（７００ａ、７００ｂ、７００ｃ）から、各計算機１００ａ、１００ｂ、１００ｃの負荷の上限をどの程度までに抑えたい等のユーザの要求から決定して作成する。制約式６３０は、ユーザ要求項目から１つの制約式を決定して作成してもいいし、ユーザの要求項目数にあわせて複数作成することもできる。また、制約式６３０（６３０ａ、６３０ｂ、６３０ｃ）は、各計算機１００ａ、１００ｂ、１００ｃの負荷を最低でもある程度は維持するようにするために負荷の下限をどの程度までにしたいか等のユーザの要求から決定することもできる。
【００２５】
意思決定部６００（６００ａ、６００ｂ、６００ｃ）は、これらの目的関数６１０（６１０ａ、６１０ｂ、６１０ｃ）、制約式６２０（６２０ａ、６２０ｂ、６２０ｃ）、制約式６３０（６３０ａ、６３０ｂ、６３０ｃ）から多目的計画問題を定式化している。
【００２６】
そして、意思決定部６００（６００ａ、６００ｂ、６００ｃ）は、目的関数６１０（６１０ａ、６１０ｂ、６１０ｃ）、制約式６２０（６２０ａ、６２０ｂ、６２０ｃ）、制約式６３０（６３０ａ、６３０ｂ、６３０ｃ）からなる多目的計画問題を解くことにより、制約式６３０（６３０ａ、６３０ｂ、６３０ｃ）によるユーザ要求項目７００（７００ａ、７００ｂ、７００ｃ）に対するユーザ満足度が最大となるような最適解を求め、その最適解に基づいて、アプリケーションの引き継ぎ先の計算機を決定している。
【００２７】
このような意思決定部６００（６００ａ、６００ｂ、６００ｃ）が定式化した多目的計画問題からアプリケーションの引き継ぎ先の計算機を決定する動作としては、図３に示すように、まず、意思決定部６００（６００ａ、６００ｂ、６００ｃ）が引き継ぎ先計算機を決定するまでの制限時間は予め設定されており、制限時間の間は計算を続けるように動作しており、処理が開始すると、まず乱数により基準解を作成し（ステップＳ６０１）、ステップＳ６０１で作成された基準解を現在の最適解として設定する（ステップＳ６０２）。
【００２８】
そして、ステップＳ６０２で基準解設定後、多目的計画問題を解く（ステップＳ６０３）。なお、ステップＳ６０３における多目的計画問題を解く手法は、従来から一般的に行われている多目的計画問題を解く手法であり、ここでの詳細な説明は省略する。
【００２９】
そして、ステップＳ６０３により、得られた解によるユーザのユーザ満足度が現在までの最適解より上かどうか判定し（ステップＳ６０４）、ステップＳ６０４で得られた解によるユーザのユーザ満足度が現在までの最適解より上であると判定されると、ステップＳ６０４で得られた解を現在の最適解とする（ステップＳ６０５）。
【００３０】
そして、ステップＳ６０４で得られた解によるユーザのユーザ満足度が現在までの最適解より上でないと判定されるか、またはステップＳ６０５の処理が終わると、予め設定された制限時間をオーバーし、制限時間終了となったか判定し（ステップＳ６０６）、ステップＳ６０６で制限時間をオーバーしていなければ、再度ステップＳ６０３に戻り、多目的計画問題を解く。
【００３１】
また、ステップＳ６０６で制限時間をオーバーしていれば、制限時間終了なので、現在の最適解、すなわち、予め設定された制限時間内で多目的計画問題を解いた中で、最もユーザ満足度を満たす解からアプリケーションの引き継ぎ先の計算機を決定し（ステップＳ６０７）、処理を終了する。
【００３２】
以上のように、本実施の形態では、目的関数６１０、制約式６２０、およびユーザの要求から決定する制約式６３０から多目的計画問題を定式化し、その多目的計画問題を制限時間内で繰り返し解くことにより、ユーザ満足度を最大化してアプリケーションの引き継ぎ先の計算機を決定することができ、クラスタシステムを構成する計算機の状態およびユーザの要求に応じて、アプリケーションと計算機の対応を動的に制御することが可能である。これにより、クラスタシステムの管理者がクラスタシステムの運用するための意思決定に要する負担を軽減し、効率的な高信頼システムの運用が可能になる。
【００３３】
（実施の形態２）
実施の形態２は、実施の形態１において、各計算機１００ａ、１００ｂ、１００ｃに設けられた意思決定部６００ａ、６００ｂ、６００ｃの代わりに、通信経路８００に、各計算機１００ａ、１００ｂ、１００ｃのクラスタソフト２００ａ、２００ｂ、２００ｃを制御し、各計算機１００ａ、１００ｂ、１００ｃ上で稼動中のアプリケーションの引き継ぎ先の計算機を決定する意思決定装置を設けたものである。本実施の形態では、ユーザからの各計算機１００ａ、１００ｂ、１００ｃに対するユーザ要求項目は、意思決定装置に入力され、意思決定装置では、ユーザ要求項目に基づいて、各計算機１００ａ、１００ｂ、１００ｃにおけるアプリケーションの引き継ぎ先の計算機を決定している。
【００３４】
＜クラスタシステムの構成＞
図４により、本発明の実施の形態２に係るクラスタシステムの構成について説明する。図４は本発明の実施の形態２に係るクラスタシステムの構成を示す構成図である。
【００３５】
図４において、クラスタシステムの構成は、計算機１００ａ、１００ｂ、１００ｃに設けられた意思決定部６００ａ、６００ｂ、６００ｃの代わりに、通信経路８００に、意思決定装置９００を設け、意思決定装置９００にユーザからのユーザ要求項目９１０を入力する以外は実施の形態１と同様である。
【００３６】
意思決定装置９００は、通信経路８００を介して、計算機１００ａ、１００ｂ、１００ｃのクラスタソフト２００ａ、２００ｂ、２００ｃおよび共用データ部５００ａ、５００ｂ、５００ｃにアクセスし、共用データ部５００ａ、５００ｂ、５００ｃからクラスタシステム内の各計算機の負荷情報を読み取り、負荷情報や入力されたユーザ要求項目９１０の情報からユーザの要求項目を満たし、ユーザの満足度を最大化する最適なアプリケーションの引き継ぎ先を決定するための多目的計画問題を定式化する。意思決定装置９００は定式化した上記多目的計画問題を解き、得られた解からアプリケーションの引き継ぎ先を決定する。意思決定装置９００は、決定したアプリケーションの引き継ぎ先を、通信経路８００を用いてクラスタソフト２００ａ、２００ｂ、２００ｃに転送する。クラスタソフト２００ａ、２００ｂ、２００ｃは、意思決定装置９００の連絡により、アプリケーションの引き継ぎ先の計算機を動的に更新する。
【００３７】
＜クラスタシステムの動作＞
次に、本発明の実施の形態２に係るクラスタシステムの動作について説明する。
【００３８】
本実施の形態のクラスタシステムの動作は、通信経路８００に接続された意思決定装置９００が、実施の形態１での計算機１００ａ、１００ｂ、１００ｃに設けられた意思決定部６００ａ、６００ｂ、６００ｃの動作を行うこと以外は、実施の形態１と同様である。
【００３９】
なお、本実施の形態では、意思決定装置９００において、実施の形態１と同様に、各計算機１００ａ、１００ｂ、１００ｃの意思決定部６００ａ、６００ｂ、６００ｃのそれぞれの動作を別々に行い、計算機１００ａ、１００ｂ、１００ｃ毎にアプリケーションの引き継ぎ先の計算機を決定してもいいし、クラスタシステム全体の目的関数や、ユーザからのユーザ要求項目９１０による制約式によりクラスタシステム全体として、ユーザ満足度を最大化するアプリケーションの引き継ぎ先の計算機を決定するようにしてもよい。
【００４０】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００４１】
例えば、実施の形態１および実施の形態２では、目的関数や制約式により多目的計画問題を定式化し、多目的計画問題を解くことによりアプリケーションの引き継ぎ先の計算機を決定しているが、本発明は多目的計画問題に限らず、ユーザからのユーザ要求項目や共有データ部の情報などから、各計算機内で稼動中のアプリケーションの引き継ぎ先の計算機を決定し、ユーザ満足度を最大化するようにすれば、その関数や式、その解法のアルゴリズムなどはどのようなものを用いてもよい。
【産業上の利用可能性】
【００４２】
本発明は、複数の計算機から構成したクラスタシステム関する。特に、アプリケーションの引き継ぎに適用して有効な技術に関し、計算機間において、アプリケーションを切り替えるシステムに適用可能である。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施の形態１に係るクラスタシステムの構成を示す構成図である。
【図２】本発明の実施の形態１に係るクラスタシステムの動作を示すフローチャートである。
【図３】本発明の実施の形態１に係るクラスタシステムの意思決定部における多目的計画問題の定式化を説明するための説明図である。
【図４】本発明の実施の形態２に係るクラスタシステムの構成を示す構成図である。
【符号の説明】
【００４４】
１０ａ，１０ｂ，１０ｃ，２０ａ，２０ｂ，２０ｃ，３０ａ，３０ｂ，３０ｃ，４０ａ，４０ｂ，４０ｃ，５０ａ，５０ｂ，５０ｃ，６０ａ，６０ｂ，６０ｃ，８００…通信経路、１００ａ，１００ｂ，１００ｃ…計算機、２００ａ，２００ｂ，２００ｃ…クラスタソフト、３００ａ，３００ｂ，３００ｃ…負荷監視部、４００ａ，４００ｂ，４００ｃ…状態監視部、５００，５００ａ，５００ｂ，５００ｃ…共用データ部、６００，６００ａ，６００ｂ，６００ｃ…意思決定部、６１０…目的関数、６２０，６３０…制約式、７００，７００ａ，７００ｂ，７００ｃ、９１０…ユーザ要求項目、９００…意思決定装置。
【図１】
2007018228.tif 000003
【図２】
2007018228.tif 000004
【図３】
2007018228.tif 000005
【図４】
2007018228.tif 000006