説明

計算機管理装置、計算機管理方法及び計算機管理プログラム

【課題】負荷分散を容易に行える計算機管理装置を提供すること。
【解決手段】各計算機3,4,5から通知される各計算機の負荷情報201に基づいて、各計算機における将来の負荷の値である負荷予測値を算出し、負荷予測値が所定の閾値を上回るか否かを判定する将来負荷予測部7と、将来負荷予測部によって負荷予測値が所定の閾値を上回ると判定された計算機を将来過負荷状態になる対象計算機として検出し、各計算機のCPU負荷、メモリ使用量、及びデータ通信量に基づいて、対象計算機で動作している少なくとも一つのソフトウェアコンポーネントの割付先の計算機を決定するソフトウェア割付部8と、対象計算機及び割付先の計算機に対して、割り付けたソフトウェアコンポーネントの情報を通知する通知部9とを具備する計算機管理装置1を提供する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、航空機等の管制局に置かれた計算機システムの負荷予測及び負荷分散に関するものである。
【背景技術】
【0002】
従来、計算機システムの可用性を高める方法として、計算機の負荷を監視し、負荷が増大した場合には、他の計算機に処理を実行させる、負荷分散方法が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−15950号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1の発明では、個々のアプリケーションソフトウェアの処理時間、処理開始時刻、処理期限等の情報に基づいて、アプリケーションソフトウェアの負荷をモニタし、これに基づいて負荷分散を行うため、リアルタイムで負荷分散の処理を行うには処理が煩雑化する等の問題があった。
【0005】
本発明は、上記問題を解決するためになされたもので、計算機の負荷分散を容易に行うことのできる計算機管理装置及び計算機管理システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明は以下の手段を採用する。
本発明は、複数の計算機と情報伝達媒体を介して接続される計算機管理装置であって、各前記計算機から通知される各前記計算機の負荷情報に基づいて、各前記計算機における将来の負荷の値である負荷予測値を算出し、該負荷予測値が所定の閾値を上回るか否かを判定する将来負荷予測手段と、該将来負荷予測手段によって前記負荷予測値が所定の閾値を上回ると判定された計算機を将来過負荷状態になる対象計算機として検出し、各前記計算機のCPU負荷、メモリ使用量、及びデータ通信量に基づいて、該対象計算機で動作している少なくとも一つのソフトウェアコンポーネントの割付先の計算機を決定するソフトウェア割付手段と、該対象計算機及び前記割付先の計算機に対して、割り付けたソフトウェアコンポーネントの情報を通知する通知手段とを具備することを特徴とする計算機管理装置を提供する。
【0007】
このような構成によれば、各計算機上で動作するアプリケーションの状態ではなく、各計算機のCPU負荷、メモリ使用量、データ通信量に基づいて計算機毎に将来の負荷を予測するので、各計算機の将来の稼働状態を容易に予測することができる。さらに、将来過負荷状態になると判断された計算機で稼働しているソフトウェアコンポーネントを、計算機が過負荷状態になる前に別の計算機に移動させることができるので、各計算機が過負荷状態になることを未然に防ぐことが可能となる。これにより、計算機の可用性を高めることができる。
【0008】
上記計算機管理装置において、ソフトウェアコンポーネントが一つの計算機においてアクティブ状態で動作している場合に、該ソフトウェアコンポーネントと同一のソフトウェアコンポーネントを他の少なくとも一つの計算機においてスタンバイ状態で動作させており、前記ソフトウェア割付手段は、アクティブ状態で動作させるソフトウェアコンポーネントの割付先計算機と、スタンバイ状態で動作させるソフトウェアコンポーネントの割付先計算機とを決定することとしてもよい。
【0009】
このように、ソフトウェアコンポーネントの割付においては、アクティブ状態で動作させる計算機とスタンバイ状態で動作させる計算機とが決定されるので、常にソフトウェアコンポーネントを二重化することができる。これにより、計算機システムの可用性を更に向上させることが可能となる。
【0010】
上記計算機管理装置において、前記ソフトウェア割付手段は、前記対象計算機上で動作している各ソフトウェアコンポーネントのCPU負荷、メモリ負荷、及びデータ通信量の負荷と、前記CPU負荷、前記メモリ負荷、及び前記データ通信量に対する所定の重みづけ係数と、前記ソフトウェアコンポーネント毎に設定されている移動優先度とに基づいて、ソフトウェアコンポーネント毎に移動スコアを算出し、該移動スコアが大きいソフトウェアコンポーネントを優先的に他の計算機に割り付けることとしてもよい。
【0011】
このように、前記過負荷状態であると判断された計算機上で動作しているソフトウェアコンポーネント毎に計算機にかかる負荷の指標である移動スコアを算出し、移動スコアが高いソフトウェアコンポーネントから優先的に割付先の計算機を選定する。これにより、リアルタイム処理要求度の低いソフトウェアコンポーネント、かつ、負荷が大きいソフトウェアコンポーネントを優先的に別の計算機に移動させることができ、ソフトウェアコンポーネントの移動に伴う計算機の処理中断の影響を小さくするとともに、将来過負荷状態になると判断された計算機の負荷を効率的に軽減させることが可能となる。
【0012】
上記計算機管理装置において、前記将来負荷予測手段は、各前記計算機の過去の負荷情報をパラメータの一つとする数式モデルを用いて前記負荷予測値を算出することとしてもよい。
【0013】
このように、計算機の過去の負荷情報に基づいて、各計算機にかかる将来の負荷を予測するので、より現実に近い将来の負荷予測を行うことができ、将来の負荷予測の精度を向上させることが可能となる。上記数学モデルは、例えば、ラグランジュの補間多項式等である。
【0014】
上記計算機管理装置において、前記将来負荷予測手段は、各計算機のCPU負荷、メモリ使用量、及びデータ通信量に基づいて各前記計算機の負荷予測値を算出することとしてもよい。
【0015】
このように、各計算機のCPU負荷、メモリ負荷、及びデータ通信量に基づいて、各計算機にかかる将来の負荷を予測するので、各計算機の稼働状態を詳細に把握することができ、負荷分散の精度を向上させることが可能となる。
【0016】
本発明は、複数の計算機と情報伝達媒体を介して接続される計算機管理装置であって、 各前記計算機から通知される障害発生情報に基づいて、障害が発生している計算機を検出する障害監視手段と、障害の発生が検出された計算機上で動作していた各ソフトウェアコンポーネントの割付先計算機を各前記計算機のCPU負荷、メモリ使用量、及びデータ通信量に基づいて決定するソフトウェア割付手段と、前記割付先の計算機に対して、割り付けたソフトウェアコンポーネントの情報を通知する通知手段とを具備する計算機管理装置を提供する。
【0017】
このような構成によれば、各計算機から通知される障害情報に基づいて、各計算機における障害の発生をモニタしており、障害が発生している計算機が検出された場合には、前記障害が発生した計算機で動作していた各ソフトウェアコンポーネントの割付を行うので、ソフトウェアコンポーネントの割付の切り替えを速やかに行うことが可能となる。これにより計算機システムの可用性を向上させることが可能となる。
【0018】
上記計算機管理装置において、前記ソフトウェア割付手段は、各前記計算機にかかるCPU負荷、メモリ負荷、及びデータ通信量のそれぞれについて算出される負荷予測値と、前記CPU負荷、前記メモリ負荷、及び前記データ通信量に対する所定の重みづけ係数とに基づいて、計算機毎に重み付き将来負荷を算出し、前記重み付き将来負荷が小さい計算機に対して優先的に前記ソフトウェアコンポーネントを割り付けることとしてもよい。
【0019】
このように、各計算機のCPU負荷、メモリ負荷、及びデータ通信量のそれぞれについて算出される負荷予測値と、前記CPU負荷、前記メモリ負荷、及び前記データ通信量に対する所定の重みづけ係数とに基づいて、計算機毎に重み付き将来負荷を算出する。この重み付き将来負荷は、値が小さいほど、計算機における将来の負荷が小さいことを示す指標である。従って、前記重み付き将来負荷が小さい計算機をソフトウェアコンポーネントの割付先計算機として優先的に選定することにより、将来の負荷が小さい計算機にソフトウェアコンポーネントを実行させることができる。これにより、負荷分散を効率的に行え、計算機システムの可用性を向上させることが可能となる。
【0020】
本発明は、複数の計算機と上記計算機管理装置とを備えることを特徴とする計算機管理システムを提供する。
【0021】
上記計算機管理システムにおいて、前記計算機管理装置が二重化されていることとしてもよい。
【0022】
計算機管理装置が二重化されていることにより、アクティブ状態で動作している計算機管理装置が故障した場合であっても、2台目の計算機管理装置が動作するため、計算機管理システム自体は継続して動作させることが可能となる。
【0023】
本発明は、各前記計算機から通知される各前記計算機の負荷情報に基づいて、各前記計算機における将来の負荷の値である負荷予測値を算出し、該負荷予測値が所定の閾値を上回るか否かを判定する過程と、前記負荷予測値が所定の閾値を上回るか否かを判定する過程によって前記負荷予測値が所定の閾値を上回ると判定された計算機を、将来過負荷状態になる対象計算機として検出し、各前記計算機のCPU負荷、メモリ使用量、及びデータ通信量に基づいて、該対象計算機で動作している少なくとも一つのソフトウェアコンポーネントの割付先の計算機を決定する過程と、前記対象計算機及び前記割付先の計算機に対して、割り付けたソフトウェアコンポーネントの情報を通知する過程とを有することを特徴とする計算機管理方法を提供する。
【0024】
本発明は、各前記計算機から通知される各前記計算機の負荷情報に基づいて、各前記計算機における将来の負荷の値である負荷予測値を算出し、該負荷予測値が所定の閾値を上回るか否かを判定する処理と、前記負荷予測値が所定の閾値を上回るか否かを判定する処理によって前記負荷予測値が所定の閾値を上回ると判定された計算機を、将来過負荷状態になる対象計算機として検出し、各前記計算機のCPU負荷、メモリ使用量、及びデータ通信量に基づいて、前記対象計算機で動作している少なくとも一つのソフトウェアコンポーネントの割付先の計算機を決定する処理と、前記対象計算機及び前記割付先の計算機に対して、割り付けたソフトウェアコンポーネントの情報を通知する処理とをコンピュータに実行させるための計算機管理プログラムを提供する。
【0025】
本発明は、各前記計算機から通知される障害発生情報に基づいて、障害が発生している計算機を検出する過程と、障害の発生が検出された計算機上で動作していた各ソフトウェアコンポーネントの割付先計算機を各前記計算機のCPU負荷、メモリ使用量、及びデータ通信量に基づいて決定する過程と、前記割付先の計算機に対して、割り付けたソフトウェアコンポーネントの情報を通知する過程とを有する計算機管理方法を提供する。
【0026】
本発明は、各前記計算機から通知される障害発生情報に基づいて、障害が発生している計算機を検出する処理と、障害の発生が検出された計算機上で動作していた各ソフトウェアコンポーネントの割付先計算機を各前記計算機のCPU負荷、メモリ使用量、及びデータ通信量に基づいて決定する処理と、前記割付先の計算機に対して、割り付けたソフトウェアコンポーネントの情報を通知する処理とをコンピュータに実行させるための計算機管理プログラムを提供する。
【発明の効果】
【0027】
本発明によれば、計算機の負荷分散を容易に行うことができるという効果を奏する。
【図面の簡単な説明】
【0028】
【図1】本発明の第1の実施形態に係る計算機システムの構成の一例を示した機能ブロック図である。
【図2】ラグランジュの補間多項式により将来負荷を算出する方法を説明するためのグラフである。
【図3】ソフトウェアコンポーネントを選定する方法を説明するための図である。
【図4】ソフトウェアコンポーネントを動作させる計算機を選定する方法を説明するための図である。
【図5】本発明の第1の実施形態に係る計算機管理方法のフローチャートを示した図である。
【図6】本発明の第2の実施形態に係る計算機システムの構成の一例を示した機能ブロック図である。
【発明を実施するための形態】
【0029】
以下、本発明の計算機管理装置の実施形態について、〔第1の実施形態〕、〔第2の実施形態〕の順に図面を参照して詳細に説明する。
【0030】
〔第1の実施形態〕
図1は、本実施形態に係る計算機管理システムの概略構成を示した機能ブロック図である。
図1に示すように、本実施形態に係る計算機システム20は、複数の計算機3,4,5及び計算機管理装置1とを備えている。各計算機3,4,5及び計算機管理装置1とは、互いに情報伝達媒体2を介して接続されており、双方向通信が可能な構成とされている。
【0031】
計算機システム20において、共通のソフトウェアコンポーネントが複数の計算機に搭載されており、1つの計算機においてソフトウェアコンポーネントがアクティブ状態で動作している場合には、必ずそれと同じソフトウェアコンポーネントが少なくとも1つの他の計算機においてスタンバイ状態で動作するようになっている。アクティブ状態とは、ソフトウェアコンポーネントが稼動している状態である。一方、スタンバイ状態とは、通常は予備のコンポーネントとして待機しており、アクティブ状態のコンポーネントが使用不可或いは停止された場合に、前記アクティブ状態に代えて速やかに動作を継続して行わせるための準備状態である。
【0032】
さらに、ソフトウェアコンポーネントがアクティブ状態で動作している計算機は、同一ソフトウェアコンポーネントがスタンバイ状態で動作している計算機に対し、アクティブ状態で動作しているソフトウェアコンポーネントが保有している情報を定期的に通知しており、アクティブ状態で動作しているソフトウェアコンポーネントと、スタンバイ状態で動作しているソフトウェアコンポーネントとの間において、保有する情報は共通となっている。このように、同じソフトウェアコンポーネントを複数の計算機に搭載し、アクティブ状態とスタンバイ状態で動作させることにより、冗長性が確保され、アクティブ状態で動作させる計算機の切り替えを速やかに行うことが可能となる。
【0033】
本実施形態においては、図1に示されているように、計算機3において、ソフトウェアコンポーネントA及びソフトウェアコンポーネントBを共にアクティブ状態で動作させ、計算機4において、ソフトウェアコンポーネントAをスタンバイ状態で動作させ、計算機5において、ソフトウェアコンポーネントBをスタンバイ状態で動作させている状態を想定している。
【0034】
各計算機3,4,5は、それぞれ共通処理部11を備えている。この共通処理部11は、自身の計算機のCPU負荷、メモリ使用量及びデータ通信量を定期的にモニタし、このモニタ結果である負荷情報201を計算機管理装置1に通知する。
さらに共通処理部11は、計算機管理装置1から停止指示205が通知されると、自身の上で動作している当該ソフトウェアコンポーネントに対し、該指示に従い、ソフトウェアコンポーネントの停止処理を実施する。また、計算機管理装置1から生成指示203が通知されると、該指示に従い、ソフトウェアコンポーネントの生成処理を実施する。
【0035】
計算機管理装置1は、将来負荷予測部(将来負荷予測手段)7、ソフトウェア割付部(ソフトウェア割付手段)8、及び通知部(通知手段)9を備えている。
将来負荷予測部7は、各計算機3,4,5から通知される各計算機の負荷情報201に基づいて、各計算機3,4,5における将来の負荷の値である負荷予測値を算出し、この負荷予測値が所定の閾値を上回るか否かを判定する。負荷予測値が所定の閾値を上回る計算機がある場合には、将来過負荷状態になると判断し、その計算機の情報をソフトウェア割付部8に出力する。
【0036】
具体的には、計算機3,4,5からそれぞれ通知された負荷情報201と、それ以前に将来負荷予測部7に通知された負荷情報201である将来負荷予測部7が保存している過去の負荷情報200とを用いて、所定の演算式により負荷予測値を算出する。該演算式は、例えば、補間多項式である。
より具体的には、将来負荷予測部7は、ラグランジュの補間多項式を用いることにより、負荷予測値を算出する。例えば、将来の負荷を算出する将来の時刻をt、過去の負荷計測値をl、過去の負荷計測時刻をt、次数をnとした場合、将来時刻tにおける将来負荷値L(t)は、公知の数式であるn次のラグランジュ補間多項式(1)式及び(2)式により得ることができる。
【数1】

【0037】
図2は、横軸が時刻、縦軸が負荷率(単位はパーセント)を示したグラフである。負荷率とは、各計算機のCPU負荷、メモリ使用量、データ通信量が完全に使用された状態を100パーセントとした場合に、各計算機で実際にモニタされたCPU負荷、メモリ使用量、データ通信量の割合(単位はパーセント)をいう。
過去の負荷率計測値と現在時刻の負荷率計測値が得られているとすると、例えば次数を3とした場合、前回、前々回、前前々回の負荷率計測値に基づいて、将来負荷算出時刻tにおける将来負荷率L(t)は、以下の(3)式で与えられる。(3)式において、将来負荷を算出する将来時刻はt、今回から3回前の負荷率計測時刻はt〜t、今回から3回前の負荷率計測値はl〜l、負荷計測周期はT、将来負荷算出時刻と現在時刻との差はTdである。T及びTdは、構成定義記憶部10に定義されており、適宜変更可能な値とされている。
【数2】

【0038】
例えば、計算機3の負荷予測値L(t)´が、所定の閾値を上回る場合には、計算機3は、将来過負荷状態となると予測され、その結果がソフトウェア割付部8に出力される。
【0039】
このように、将来負荷予測部7は、将来的に過負荷になる計算機を特定するので、各計算機が過負荷になる前に、過負荷になりそうな計算機を検出することが可能となる。また、アプリケーションを考慮せずに、CPU負荷、メモリ使用量、データ通信量により将来の負荷を予測するので、アプリケーションを考慮して将来の負荷を予測する場合に比べて少ない処理量で各計算機における将来の負荷を予測することができる。
【0040】
ソフトウェア割付部8は、将来過負荷状態になると判断された計算機において、ソフトウェアコンポーネント毎にCPU負荷、メモリ負荷、及びデータ通信量のそれぞれの負荷値と、当該CPU負荷、当該メモリ負荷、及び当該データ通信量に対する所定の重みづけ係数と、ソフトウェアコンポーネント毎に設定されている移動優先度とに基づいて、ソフトウェアコンポーネント毎に移動スコアを算出し、移動スコアが大きいソフトウェアコンポーネントから順に、割付先の計算機を決定し、その結果を通知部9に出力する。
【0041】
具体的には、図3に示すように、計算機3におけるソフトウェアコンポーネント毎にCPU負荷、メモリ使用量、データ通信量のそれぞれに対する現在の負荷を算出し、CPU負荷には所定のCPU負荷の重み係数を、現在のメモリ使用量には所定のメモリ使用量の重み係数を、現在のデータ通信量には所定のデータ通信量の重み係数をそれぞれ積算し、この積算結果の和を、当該ソフトウェアコンポーネントの重み付き負荷Bとして算出する。続いて、この重み付き負荷Bと、当該ソフトウェアコンポーネントの所定の移動優先度とを積算し、移動スコアを算出する。この移動スコアは、当該ソフトウェアコンポーネントが計算機にかける負荷の指標であり、移動スコアが大きいほど、計算機にかかる負荷が大きいソフトウェアコンポーネントであるとみなすことができる。
【0042】
続いて、当該ソフトウェアコンポーネントを移動する計算機を決定する。具体的には、当該ソフトウェアコンポーネントを動作させる計算機を、将来の計算機の負荷状態に基づいて選定する。
より具体的には、図4のように、将来負荷予測部7によって算出された各計算機の負荷予測値と、構成定義記憶部10に格納されているCPU負荷の重み係数、メモリ使用量の重み係数、データ通信量の重み係数とを積算したものを重み付き将来負荷Cとして算出し、この重み付き将来負荷Cの値により、動作させる計算機を選定する。重み付き将来負荷Cは、計算機の将来の負荷の大きさを示す指標であり、値が小さいほど将来の負荷が小さいと予測されることを意味するので、重み付き将来負荷Cの値が小さい計算機を、当該ソフトウェアコンポーネントを動作させる計算機として選定することにより、負荷の小さい計算機に効率的にソフトウェアコンポーネントを割り付けることができる。
【0043】
例えば、将来負荷予測部7により、計算機3が将来過負荷になると予測され、計算機3においてアクティブ状態で動作しているソフトウェアコンポーネントBを別の計算機に割り付けることとする場合、ソフトウェア割付部8は、計算機毎に重み付き将来負荷を求め、この重み付き将来負荷に基づいて計算機3で動作しているアクティブ状態のソフトウェアコンポーネントBを動作させる計算機を選定する。これにより、ソフトウェアコンポーネントBが正常に動作し、リソースを確保できる計算機を割付先の計算機として選定することができる。なお、このとき、将来過負荷状態になると判定された計算機や、冗長化が確保できないスタンバイ状態のソフトウェアコンポーネントが動作する計算機は、動作させる計算機にするか否かの選定から除外するとよい。従って、本実施形態においては、計算機4がアクティブ状態のソフトウェアコンポーネントBを動作させる計算機として選定される。
【0044】
通知部9は、将来過負荷状態になると判定された計算機及びソフトウェアコンポーネントの割付先の計算機に対して、ソフトウェアコンポーネントの割り付けに関する情報を通知する。例えば、通知部9は、ソフトウェアコンポーネントBをアクティブ状態で動作している計算機3に対し、停止指示205を出力し、ソフトウェアコンポーネントBを新たにアクティブ状態で動作させる計算機4に対し、生成指示203を出力する。
【0045】
構成定義記憶部10には、ソフトウェアコンポーネントの初期配置、ソフトウェアコンポーネントの優先度及び計算機リソースの最大許容負荷等の情報が予め格納されている。具体的には、各計算機3,4,5における、各ソフトウェアコンポーネントの動作状態(アクティブ状態及びスタンバイ状態)を示すソフトウェアコンポーネントの初期配置、ソフトウェアコンポーネントを移動させる優先度、各計算機にかかるCPU負荷、メモリ使用量及びデータ通信量の最大許容負荷等の情報が予め格納されている。
【0046】
次に、本実施形態に係る計算機管理装置の作用について説明する。ここでは、説明の便宜上、計算機3においてソフトウェアコンポーネントA及びソフトウェアコンポーネントBがアクティブ状態で動作しており、計算機4において、ソフトウェアコンポーネントAがスタンバイ状態で動作しており、計算機5において、ソフトウェアコンポーネントBをスタンバイ状態で動作している場合を想定して説明を行う。
まず、計算機3の共通処理部11により、定期的に自身のCPU負荷、メモリ容量、データ通信量がモニタされ、モニタ結果が負荷情報201として、計算機管理装置1に出力される。
【0047】
同様に、計算機4、5の共通処理部11により、各計算機4,5のモニタ結果が負荷情報201として計算機管理装置1に出力される。計算機管理装置1の将来負荷予測部7が保有している過去のCPU負荷、メモリ使用量、データ通信量である過去の負荷情報200が読み出され、この過去の負荷情報200と各計算機3、4、5から通知された負荷情報201とから、計算機毎にCPU負荷、メモリ使用量、データ通信量のそれぞれについて、予測負荷値が算出される。算出されたそれぞれの予測負荷値は所定の閾値と比較され、比較の結果、予測負荷値が所定の閾値よりも大きい場合には、この計算機の情報がソフトウェア割付部8に出力される。例えば、計算機3の予測負荷値が閾値よりも大きかった場合には、計算機3の情報がソフトウェア割付部8に出力される。
【0048】
ソフトウェア割付部8では、将来負荷予測部7によって将来過負荷状態になると判定された計算機3で動作しているソフトウェアコンポーネントA、Bの中から移動させるソフトウェアコポーネントを選定する。この結果、ソフトウェアコンポーネントBが選定された場合には、続いて、このソフトウェアコンポーネントBの割付先計算機を選定する。この結果、ソフトウェアコンポーネントBをアクティブ状態で作動させる計算機として、計算機4が選定される。新たなソフトウェアコンポーネントの割付に関する情報は、割付計画202として、通知部9に出力される。これにより、計算機4に対し、ソフトウェアコンポーネントBに関する生成指示203が通知され、ソフトウェアコンポーネントBがアクティブ状態で動作していた計算機3に対し、停止指示205が通知される。
【0049】
計算機4の共通処理部11では、通知部9から取得した生成指示203に基づいて、ソフトウェアコンポーネントBをアクティブ状態として生成する生成処理204が実行される。計算機3の共通処理部11では、通知部9から取得した停止指示205に基づいて、アクティブ状態のソフトウェアコンポーネントBに対し、処理を停止する停止処理206が実行される。上記処理が実行されることにより、計算機3におけるソフトウェアコンポーネントBは停止され、計算機4のソフトウェアコンポーネントBはアクティブ状態で動作する。
【0050】
なお、上述した実施形態では、計算機管理装置としてハードウェアによる処理を前提としていたが、このような構成に限定される必要はない。例えば、別途ソフトウェアにて処理する構成も可能である。この場合、計算機管理装置は、CPU、RAM等の主記憶装置、上記処理の全て或いは一部を実現させるためのプログラムが記録されたコンピュータ読み取り可能な記録媒体を備えている。そして、CPUが上記記憶媒体に記録されているプログラムを読み出して、情報の加工・演算処理を実行することにより、上述の計算機管理装置と同様の処理を実現させる。
ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【0051】
以下、CPUが計算機管理プログラムを実行することにより実現される計算機管理方法の処理手順について図5を参照して説明する。
まず、各計算機において、自身のCPU負荷、メモリ使用量、データ通信量の負荷情報をモニタする(図5のステップSA1)。次に、モニタされた負荷情報と過去の負荷情報とから将来の負荷値を予測する(ステップSA2)。予測された負荷値は、閾値と比較される(ステップSA3)。予測負荷値が閾値を上回る場合には、ソフトウェアコンポーネントの割付に関する計画が決定される(ステップSA4)。決定された割付に関する計画に基づいて、処理対象となる計算機に処理の指示が通知される(ステップSA5)。ステップSA5で通知された指示内容に適する処理が施され、本処理を終了する(ステップSA6)。
【0052】
以上説明してきたように、本実施形態に係る計算機管理装置及び計算機管理システムによれば、各計算機にかかるCPU負荷、メモリ使用量、データ通信量を含む計算機のリソース情報である負荷情報を監視し、現在の負荷情報と過去の負荷情報とから、将来の負荷を予測することで、過負荷状態になる計算機を容易に予測し、過負荷状態になると予測された計算機で動作するソフトウェアコンポーネントを、計算機リソースに余裕のある計算機に割り付けの変更を行うことができる。これにより、過負荷状態であることに起因する計算機システムの問題が発生する前に、ソフトウェアコンポーネントを移動させ、各計算機にかかる負荷を分散させることが可能となるため、計算機システムとしての可用性及び信頼性を向上させることが可能となる。
また、アプリケーションを考慮せずに、CPU負荷、メモリ使用量、データ通信量により将来の負荷を予測するので、アプリケーションを考慮して将来の負荷を予測する場合に比べて処理量を低減させることができる。
さらに、同じソフトウェアコンポーネントを複数の計算機に搭載し、アクティブ状態とスタンバイ状態で動作させることにより、常に冗長性が確保され、アクティブ状態で動作させる計算機の切り替えを速やかに行える。
【0053】
なお、本実施形態では、負荷予測値を算出する際において、多項式の次数を3としたが、これに限られない。例えば、多項式の次数を4として、今回から4回前の負荷率計測値を将来負荷を算出するパラメータとして用いてもよいこととする。
また、ソフトウェアコンポーネント毎のCPU負荷、メモリ負荷、及びデータ通信量のそれぞれの負荷値から移動スコアを算出する過程において、当該CPU負荷、当該メモリ負荷、及び当該データ通信量のそれぞれの負荷値のかわりに、当該CPU負荷、当該メモリ負荷、及び当該データ通信量の負荷予測値を算出し用いてもよいこととする。
【0054】
〔第2の実施形態〕
本実施形態においては、計算機管理システムが各計算機の障害発生を監視しており、発生した障害に応じて、ソフトウェアコンポーネントの割り付け変更を行う点で上記第1の実施形態と異なる。以下、本実施形態に係る計算機管理システムについて図6を使用し、第1の実施形態と共通する点については説明を省略し、異なる点について主に説明する。
【0055】
本実施形態においては、図6に示されているように、計算機3において、ソフトウェアコンポーネントA及びソフトウェアコンポーネントBを共にアクティブ状態で動作させ、計算機4において、ソフトウェアコンポーネントAをスタンバイ状態で動作させ、計算機5において、ソフトウェアコンポーネントBをスタンバイ状態で動作させていることを想定している。各計算機3、4、5は、障害の発生を検出する障害監視部(障害監視手段)15を備えている。
【0056】
例えば、計算機3の障害監視部15は、計算機3のソフトウェアコンポーネントAの障害発生を検出すると障害情報301を計算機管理装置1及び他の計算機に通知する。障害情報301を取得した各計算機3、4、5のうち、障害が発生した計算機で動作していたソフトウェアコンポーネントAをスタンバイ状態で動作させていた計算機4は、該当する自身のソフトウェアコンポーネントAをスタンバイ状態からアクティブ状態に切替を行う切替処理303を実行する。この結果、該当するソフトウェアコンポーネントAが、アクティブ状態で動作することとなる。
【0057】
計算機管理装置1は、障害情報301を取得すると、冗長性を確保するため、障害が発生した計算機で動作していたソフトウェアコンポーネントAを新たにスタンバイ状態で動作させる割付先計算機を選定する。この選定方法としては、上述した第1の実施形態で述べた方法を採用することができる。なお、選定にあたり、将来過負荷状態になると判定された計算機や、冗長化が確保できないアクティブ状態のソフトウェアコンポーネントAが動作する計算機、およびハードウェアに障害の可能性があるソフトウェアコンポーネントAの障害が発生した計算機は、動作させる計算機にするか否かの選定から除外するとよい。本実施形態では、計算機5が選定される。計算機管理装置1は、選定された計算機5に対し、新たにソフトウェアコンポーネントAを生成し、スタンバイ状態で動作させるための生成指示306を出力する。生成指示306を取得した計算機5は、該当するソフトウェアコンポーネントAをスタンバイ状態で動作させるための、生成処理307を実行する。また、計算機3は、障害を発生したソフトウェアコンポーネントAを終了させる終了処理302を実行する。
【0058】
このように、本実施形態に係る計算機管理システムによれば、障害の発生を検出すると、障害が発生した計算機で動作していたソフトウェアコンポーネントをスタンバイ状態で動作させていた計算機が、該当するソフトウェアコンポーネントをスタンバイ状態からアクティブ状態に速やかに切り替えを行う。これにより、障害が発生した場合であっても、ソフトウェアコンポーネントの切り替えが速やかに行われるので、処理を継続して行うことができる。このため、計算機システムの可用性及び信頼性を向上させることが可能となる。
【符号の説明】
【0059】
1 計算機管理装置
2 情報伝達媒体
3 計算機
4 計算機
5 計算機
7 将来負荷予測部
8 ソフトウェア割付部
9 通知部
10 構成定義記憶部
11 共通処理部
15 障害監視部
201 負荷情報
202 割付計画
203 生成指示
204 生成処理
205 停止指示
206 停止処理
301 障害情報
302 終了処理
303 切替処理
306 生成指示
307 生成処理


【特許請求の範囲】
【請求項1】
複数の計算機と情報伝達媒体を介して接続される計算機管理装置であって、
各前記計算機から通知される各前記計算機の負荷情報に基づいて、各前記計算機における将来の負荷の値である負荷予測値を算出し、該負荷予測値が所定の閾値を上回るか否かを判定する将来負荷予測手段と、
該将来負荷予測手段によって前記負荷予測値が所定の閾値を上回ると判定された計算機を将来過負荷状態になる対象計算機として検出し、各前記計算機のCPU負荷、メモリ使用量、及びデータ通信量に基づいて、前記対象計算機で動作している少なくとも一つのソフトウェアコンポーネントの割付先の計算機を決定するソフトウェア割付手段と、
前記対象計算機及び前記割付先の計算機に対して、割り付けたソフトウェアコンポーネントの情報を通知する通知手段と
を具備することを特徴とする計算機管理装置。
【請求項2】
ソフトウェアコンポーネントが一つの計算機においてアクティブ状態で動作している場合に、該ソフトウェアコンポーネントと同一のソフトウェアコンポーネントを他の少なくとも一つの計算機においてスタンバイ状態で動作させており、前記ソフトウェア割付手段は、アクティブ状態で動作させるソフトウェアコンポーネントの割付先計算機と、スタンバイ状態で動作させるソフトウェアコンポーネントの割付先計算機とを決定することを特徴とする請求項1に記載の計算機管理装置。
【請求項3】
前記ソフトウェア割付手段は、前記対象計算機上で動作している各ソフトウェアコンポーネントのCPU負荷、メモリ負荷、及びデータ通信量の負荷と、前記CPU負荷、前記メモリ負荷、及び前記データ通信量に対する所定の重みづけ係数と、前記ソフトウェアコンポーネント毎に設定されている移動優先度とに基づいて、ソフトウェアコンポーネント毎に移動スコアを算出し、該移動スコアが大きいソフトウェアコンポーネントを優先的に他の計算機に割り付けることを特徴とする請求項1または請求項2に記載の計算管理装置。
【請求項4】
前記将来負荷予測手段は、各前記計算機の過去の負荷情報をパラメータの一つとする数式モデルを用いて前記負荷予測値を算出することを特徴とする請求項1から請求項3のいずれかに記載の計算機管理装置。
【請求項5】
前記将来負荷予測手段は、各計算機のCPU負荷、メモリ使用量、及びデータ通信量に基づいて各前記計算機の負荷予測値を算出することを特徴とする請求項1から請求項4のいずれかに記載の計算機管理装置。
【請求項6】
複数の計算機と情報伝達媒体を介して接続される計算機管理装置であって、
各前記計算機から通知される障害発生情報に基づいて、障害が発生している計算機を検出する障害監視手段と、
障害の発生が検出された計算機上で動作していた各ソフトウェアコンポーネントの割付先計算機を各前記計算機のCPU負荷、メモリ使用量、及びデータ通信量に基づいて決定するソフトウェア割付手段と、
前記割付先の計算機に対して、割り付けたソフトウェアコンポーネントの情報を通知する通知手段と
を具備する計算機管理装置。
【請求項7】
前記ソフトウェア割付手段は、各前記計算機にかかるCPU負荷、メモリ負荷、及びデータ通信量のそれぞれについて算出される負荷予測値と、前記CPU負荷、前記メモリ負荷、及び前記データ通信量に対する所定の重みづけ係数とに基づいて、計算機毎に重み付き将来負荷を算出し、
該重み付き将来負荷が小さい計算機に対して優先的に前記ソフトウェアコンポーネントを割り付けることを特徴とする請求項1から請求項6のいずれかに記載の計算機管理装置。
【請求項8】
複数の計算機と、
請求項1から請求項6のいずれかに記載の計算機管理装置と
を備えることを特徴とする計算機管理システム。
【請求項9】
前記計算機管理装置が、二重化されていることを特徴とする請求項8に記載の計算機管理システム。
【請求項10】
各前記計算機から通知される各前記計算機の負荷情報に基づいて、各前記計算機における将来の負荷の値である負荷予測値を算出し、該負荷予測値が所定の閾値を上回るか否かを判定する過程と、
該負荷予測値が所定の閾値を上回るか否かを判定する過程によって前記負荷予測値が所定の閾値を上回ると判定された計算機を、将来過負荷状態になる対象計算機として検出し、各前記計算機のCPU負荷、メモリ使用量、及びデータ通信量に基づいて、該対象計算機で動作している少なくとも一つのソフトウェアコンポーネントの割付先の計算機を決定する過程と、
該対象計算機及び前記割付先の計算機に対して、割り付けたソフトウェアコンポーネントの情報を通知する過程と
を有することを特徴とする計算機管理方法。
【請求項11】
各前記計算機から通知される各前記計算機の負荷情報に基づいて、各前記計算機における将来の負荷の値である負荷予測値を算出し、該負荷予測値が所定の閾値を上回るか否かを判定する処理と、
該負荷予測値が所定の閾値を上回るか否かを判定する処理によって前記負荷予測値が所定の閾値を上回ると判定された計算機を、将来過負荷状態になる対象計算機として検出し、各前記計算機のCPU負荷、メモリ使用量、及びデータ通信量に基づいて、該対象計算機で動作している少なくとも一つのソフトウェアコンポーネントの割付先の計算機を決定する処理と、
該対象計算機及び前記割付先の計算機に対して、割り付けたソフトウェアコンポーネントの情報を通知する処理と
をコンピュータに実行させる計算機管理プログラム。
【請求項12】
各前記計算機から通知される障害発生情報に基づいて、障害が発生している計算機を検出する過程と、
障害の発生が検出された計算機上で動作していた各ソフトウェアコンポーネントの割付先計算機を各前記計算機のCPU負荷、メモリ使用量、及びデータ通信量に基づいて決定する過程と、
前記割付先の計算機に対して、割り付けたソフトウェアコンポーネントの情報を通知する過程と
を有する計算機管理方法。
【請求項13】
各前記計算機から通知される障害発生情報に基づいて、障害が発生している計算機を検出する処理と、
障害の発生が検出された計算機上で動作していた各ソフトウェアコンポーネントの割付先計算機を各前記計算機のCPU負荷、メモリ使用量、及びデータ通信量に基づいて決定する処理と、
前記割付先の計算機に対して、割り付けたソフトウェアコンポーネントの情報を通知する処理と
をコンピュータに実行させる計算機管理プログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2011−129071(P2011−129071A)
【公開日】平成23年6月30日(2011.6.30)
【国際特許分類】
【出願番号】特願2009−289805(P2009−289805)
【出願日】平成21年12月21日(2009.12.21)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成18年3月28日付け)平成17年度 防衛庁試作研究「艦載型戦闘指揮システム主要構成要素の研究試作」、産業技術力強化法第19条の適用を受けるもの
【出願人】(000006208)三菱重工業株式会社 (10,378)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】