(57)【要約】  ＳＬＡを満足するためのリソース量が過剰にならないように安全率を算出することができるリソース管理システムを提供する。余剰率計算手段５２は、品質に関する要求値と、ＳＬＡを満足すべきシステムで実測された品質を表す実測値のデータ群とに基づいて達成率を計算し、達成率から遵守率を減算して、余剰率を計算する。安全率導出手段５３は、余剰率が０となるという条件を満たすシステムへの割り当てリソース量を、余剰率を用いて計算し、割り当てリソース量と、定常状態でのシステムの単位時間当たりの使用リソース量とに基づいて、安全率を計算する。
2011138854.tif 000002
【特許請求の範囲】
【請求項１】
サービスレベルアグリーメントで定められた品質に関する要求値と、前記サービスレベルアグリーメントを満足すべきシステムで実測された前記品質を表す実測値のデータ群とに基づいて、前記要求値を満足している前記実測値の割合である達成率を計算し、前記要求値を満足していなければならない前記実測値の割合としてサービスレベルアグリーメントで定められた遵守率を前記達成率から減算した値である余剰率を計算する余剰率計算手段と、
前記余剰率が０となるという条件を満たす前記システムへの割り当てリソース量を前記余剰率を用いて計算し、前記割り当てリソース量と、定常状態での前記システムの単位時間当たりの使用リソース量とに基づいて、安全率を計算する安全率導出手段とを備える
ことを特徴とするリソース管理システム。
【請求項２】
安全率導出手段は、余剰率が０となるという条件を満たすシステムへの割り当てリソース量をＴとし、定常状態での前記システムの単位時間当たりの使用リソース量をＵとしたときに、（Ｔ／Ｕ）−１を計算することにより、安全率を計算する
請求項１に記載のリソース管理システム。
【請求項３】
安全率導出手段は、
サービスレベルアグリーメントを満足すべきシステムにおける単位時間当たりの使用リソース量をＲとし、前記Ｒを変数とする達成率の関数をＰ（Ｒ）とし、余剰率をｎとしたときに、Ｐ（Ｔ）−ｎ＝０をＴに関して解くことによって、余剰率が０となるという条件を満たす前記システムへの割り当てリソース量を計算する
請求項１または請求項２に記載のリソース管理システム。
【請求項４】
安全率導出手段は、定常状態でのシステムの単位時間当たりの使用リソース量として、前記システムで実測された値を用いる
請求項１から請求項３のうちのいずれか１項に記載のリソース管理システム。
【請求項５】
安全率導出手段は、定常状態でのシステムに対する単位時間当たりのリクエスト数の実測値の平均値を計算し、単位時間当たりのリクエスト数を変数とする単位時間当たりの使用リソース量の関数に前記平均値を代入することによって、定常状態でのシステムの単位時間当たりの使用リソース量を求める
請求項１から請求項３のうちのいずれか１項に記載のリソース管理システム。
【請求項６】
サービスレベルアグリーメントで定められた品質に関する要求値と、前記サービスレベルアグリーメントを満足すべきシステムで実測された前記品質を表す実測値のデータ群とに基づいて、前記要求値を満足している前記実測値の割合である達成率を計算し、
前記要求値を満足していなければならない前記実測値の割合としてサービスレベルアグリーメントで定められた遵守率を前記達成率から減算した値である余剰率を計算し、
前記余剰率が０となるという条件を満たす前記システムへの割り当てリソース量を前記余剰率を用いて計算し、前記割り当てリソース量と、定常状態での前記システムの単位時間当たりの使用リソース量とに基づいて、安全率を計算する
ことを特徴とするリソース管理方法。
【請求項７】
余剰率が０となるという条件を満たすシステムへの割り当てリソース量をＴとし、定常状態での前記システムの単位時間当たりの使用リソース量をＵとしたときに、（Ｔ／Ｕ）−１を計算することにより、安全率を計算する
請求項６に記載のリソース管理方法。
【請求項８】
コンピュータに、
サービスレベルアグリーメントで定められた品質に関する要求値と、前記サービスレベルアグリーメントを満足すべきシステムで実測された前記品質を表す実測値のデータ群とに基づいて、前記要求値を満足している前記実測値の割合である達成率を計算し、前記要求値を満足していなければならない前記実測値の割合としてサービスレベルアグリーメントで定められた遵守率を前記達成率から減算した値である余剰率を計算する余剰率計算処理、および、
前記余剰率が０となるという条件を満たす前記システムへの割り当てリソース量を前記余剰率を用いて計算し、前記割り当てリソース量と、定常状態での前記システムの単位時間当たりの使用リソース量とに基づいて、安全率を計算する安全率導出処理
を実行させるためのリソース管理プログラム。
【請求項９】
コンピュータに、
安全率導出処理で、余剰率が０となるという条件を満たすシステムへの割り当てリソース量をＴとし、定常状態での前記システムの単位時間当たりの使用リソース量をＵとしたときに、（Ｔ／Ｕ）−１を計算することにより、安全率を計算させる
請求項８に記載のリソース管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータのリソースを管理するリソース管理システム、リソース管理方法およびリソース管理プログラムに関し、特に、リソースが過剰に割り当てられる状態を防止するリソース管理システム、リソース管理方法およびリソース管理プログラムに関する。
【背景技術】
【０００２】
サービスレベルアグリーメント（Service Level Agreement ，以下、ＳＬＡと記す。）とは、コンピュータシステムによるサービスの品質や内容に関する取り決めであり、サービス提供者とサービス委託者との間で契約等によって定められる。一般に、コンピュータシステムを用いてサービスを提供するサービス提供者（より具体的にはコンピュータシステムの管理者）は、ＳＬＡを維持するために必要なコンピュータのリソース量を勘と経験に基づいて設定している。このとき、管理者は、リソース不足にならないように安全率を加味してリソース量を設定する。例えば、コンピュータシステムの評価において、適切なリソース量を“Ｆ”として算出した場合であっても、安全率αを加味し、Ｆ×（１＋α）を、必要なリソース量として決定する。例えば、α＝０．５であるならば、評価したリソース量の１．５倍のリソースを必要リソース量として決定する。なお、単位時間当たりのリクエスト数を変数とする必要リソース量の関数を予め定めておき、単位時間当たりのリクエスト数を与えることで、上記の“Ｆ”を算出することができる。【０００３】
また、「リソース量を設定する」とは、必要なリソース量としてコンピュータシステムで確保することである。【０００４】
ＳＬＡで品質が規定される項目の中には、遵守率が定められる場合もある。遵守率は、ＳＬＡで品質に関する要求値が規定される項目（例えば、Elapsed Time等）において、その要求値を満たしているべき実測値の割合である。リクエストに応じて処理を実行するコンピュータシステムのElapsed Timeに関して遵守率が定められる場合を例にして説明する。例えば、「単位時間当たりの最大リクエスト数はＸである」等の条件（Ａとする。）のもとで、Elapsed Timeが３秒以内と定められる場合に、Elapsed Timeに関する遵守率として９０％等の値が定められているとする。この場合、条件Ａが成立している状態で、Elapsed Timeの実測値のうち、９０％以上の実測値が要求値を満足していれば（すなわち、３秒以内であれば）、残りの実測値に関しては要求値を越えていても、ＳＬＡは満足されていることを意味する。上記の例では、「３秒以内」がElapsed Timeに関する要求値であり、「９０％」が遵守率である。【０００５】
なお、Elapsed Timeとは、リクエストに応じてコンピュータシステムがタスクを開始してからそのタスクを終了するまでの経過時間である。以下、Elapsed Timeを、「経過時間」と記す。【０００６】
また、コンピュータのリソース管理に関する技術が、例えば、特許文献１等に記載されている。特許文献１に記載されたコンピュータリソース管理支援システムは、リソース不足状態が発生している場合に、リソースを回収し、リソース不足状態が発生していない場合に、複数のアプリケーションプログラムの各々に対して、ＳＬＡ情報に基づいて必要リソース量を割り当てる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−２９３２８３号公報（段落０００６等）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ＳＬＡを満足するために必要なコンピュータのリソース量を、安全率を考慮して人間が定めようとすると、「コンピュータシステムの運用時にリソース不足が生じてはならない」と考える人間の心理的要因が働き、安全率の値を大きくする傾向が生じる。すると、設定されるリソース量も大きくなり、その結果、ＳＬＡに対して過剰なリソース量が設定され、リソースの利用率が上がらなくなってしまう。【０００９】
そこで、本発明は、ＳＬＡを満足するためのリソース量が過剰にならないように安全率を算出することができるリソース管理システム、リソース管理方法およびリソース管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明によるリソース管理システムは、サービスレベルアグリーメントで定められた品質に関する要求値と、サービスレベルアグリーメントを満足すべきシステムで実測された品質を表す実測値のデータ群とに基づいて、要求値を満足している実測値の割合である達成率を計算し、要求値を満足していなければならない実測値の割合としてサービスレベルアグリーメントで定められた遵守率を達成率から減算した値である余剰率を計算する余剰率計算手段と、余剰率が０となるという条件を満たすシステムへの割り当てリソース量を余剰率を用いて計算し、割り当てリソース量と、定常状態でのシステムの単位時間当たりの使用リソース量とに基づいて、安全率を計算する安全率導出手段とを備えることを特徴とする。【００１１】
また、本発明によるリソース管理方法は、サービスレベルアグリーメントで定められた品質に関する要求値と、サービスレベルアグリーメントを満足すべきシステムで実測された品質を表す実測値のデータ群とに基づいて、要求値を満足している実測値の割合である達成率を計算し、要求値を満足していなければならない実測値の割合としてサービスレベルアグリーメントで定められた遵守率を達成率から減算した値である余剰率を計算し、余剰率が０となるという条件を満たすシステムへの割り当てリソース量を余剰率を用いて計算し、割り当てリソース量と、定常状態でのシステムの単位時間当たりの使用リソース量とに基づいて、安全率を計算することを特徴とする。【００１２】
また、本発明によるリソース管理プログラムは、コンピュータに、サービスレベルアグリーメントで定められた品質に関する要求値と、サービスレベルアグリーメントを満足すべきシステムで実測された品質を表す実測値のデータ群とに基づいて、要求値を満足している実測値の割合である達成率を計算し、要求値を満足していなければならない実測値の割合としてサービスレベルアグリーメントで定められた遵守率を達成率から減算した値である余剰率を計算する余剰率計算処理、および、余剰率が０となるという条件を満たすシステムへの割り当てリソース量を余剰率を用いて計算し、割り当てリソース量と、定常状態でのシステムの単位時間当たりの使用リソース量とに基づいて、安全率を計算する安全率導出処理を実行させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ＳＬＡを満足するためのリソース量が過剰にならないように安全率を算出することができる。
【図面の簡単な説明】
【００１４】
【図１】単位時間当たりのリクエスト数に応じた使用リソース量と達成率との関係を表すグラフである。
【図２】定常状態における達成率Ｐ（ｒ）が遵守率と等しくなるように、全体的に余剰率ｎだけ達成率を低下させた状態を示す説明図である。
【図３】本発明のリソース管理システムの実施形態の例を示すブロック図である。
【図４】データ記憶手段２に記憶される時系列データの例を示す説明図である。
【図５】本発明の処理経過の例を示すフローチャートである。
【図６】本発明のリソース管理システムの最小構成の例を示すブロック図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態を図面を参照して説明する。
【００１６】
まず、本発明の処理の概要について説明する。
ＳＬＡを満たすように運用されるコンピュータシステムに関して、コンピュータシステムへの単位時間当たりのリクエスト数を変数とする単位時間当たりのリソース量の関数が予め定められているとする。以下、この関数をｆ（ａ）と記す。ここで、“ａ”は、上記のコンピュータシステムに対する単位時間当たりのリクエスト数を表す変数である。ｆ（ａ）は、単位時間当たりのリクエスト数に応じた単位時間当たりのリソース量である。また、単位時間当たりのリクエスト数の最大値は、予め、ＳＬＡにおいて定められているとする。ＳＬＡで規定された単位時間当たりのリクエスト数の最大値をａｍａｘと記す。ここで、ＳＬＡを満たすために必要なリソース量（以下、必要リソース量と記す。）を、安全率αを加味して定めるとすると、必要リソース量は、ｆ（ａｍａｘ）×（１＋α）と表される。本発明では、安全率として、リソースを過剰に多く設定しないような適切な安全率αを算出する。
【００１７】
なお、上記の関数ｆ（ａ）は、予め定められる関数である。ｆ（ａ）は、例えば、最小二乗法等により予め導出しておけばよい。
【００１８】
また、ＳＬＡにおいて、品質に関する要求値が規定される項目として、「経過時間（Elapsed Time）」が含まれていて、経過時間に関して遵守率が定められているとする。また、単位時間当たりの最大リクエスト数が定められ、単位時間当たりのリクエスト数がその最大値以下であるという前提のもとで、上記の遵守率が定められているものとする。このような経過時間に関するＳＬＡの一例として、例えば、「単位時間当たりの最大リクエスト数が３０００Ｔｘ／Ｓという条件のもとで、経過時間に対する要求値は３秒であり、経過時間の遵守率は９０％である。」という内容のＳＬＡが挙げられる。なお、１秒当たりのリクエスト数を「Ｔｘ／Ｓ」という単位で表している。この例では、経過時間の実測値のうち、３秒以内のものが９０％以上あれば、ＳＬＡを満たすことになる。換言すれば、経過時間が３秒以内に収まったリクエスト数がリクエスト数全体の９０％以上であれば、経過時間が３秒を越えたリクエストが存在したとしても、ＳＬＡを満たすことになる。すなわち、全てのリクエストに関して、経過時間が３秒以内である必要はない。
【００１９】
本発明において、適切なαを求める際には、コンピュータシステムは、定常状態で運用され、単位時間当たりのリクエスト数は、ＳＬＡで定められた最大値（上記の例では３０００Ｔｘ／Ｓ）以下となっているものとする。
【００２０】
また、ＳＬＡで規定された要求値を満足している実測値の割合を「達成率」と呼ぶ。そして、達成率から遵守率を減算した値を余剰率と記す。達成率が遵守率よりも大きければ、余剰率は正となる。例えば、上記のように遵守率が９０％と定められていて、３秒以下に該当する経過時間の実測値の割合（すなわち達成率）が９５％であったとする。この場合、余剰率は、９５％−９０％＝５％となる。
【００２１】
図１は、単位時間当たりのリクエスト数に応じた使用リソース量と、達成率との関係を表すグラフである。図１において縦軸は、達成率を表す。横軸は、単位時間当たりの使用リソース量を表す。単位時間当たりのリクエスト数が多いほど、使用リソース量が増える。そして、単位時間当たりのリクエスト数が多いほど、リソースに対する負荷が増加していることになるので、図１に示すように、使用リソース量が増加するにつれて、達成率は低下する。例えば、単位時間当たりのリクエスト数が増加するにつれて、使用リソース量やリソースの負荷が増加し、リソース待ちが発生するなどして、達成率は低下する。横軸で示される使用リソース量をＲで表すと、達成率は、Ｐ（Ｒ）という関数で表される。関数Ｐ（Ｒ）は、予め与えられる関数である。Ｐ（Ｒ）は、例えば、最小二乗法等により予め導出しておけばよい。関数Ｐ（Ｒ）を達成率関数と記す。
【００２２】
図１において、“ｒ”は、定常状態における使用リソース量である。この使用リソース量に応じた達成率Ｐ（ｒ）から遵守率を減算した値が、余剰率ｎとなる（図１参照）。また、図１に示す“Ｒａ”は、単位時間当たりのリクエスト数が増え、達成率が０％になったときにおける使用リソース量である。“Ｒａ”は、リソースを使い切ったときのリソース量であるということが言える。コンピュータシステムのリソース量として、“Ｒａ”を設定することにより、定常状態では、達成率Ｐ（ｒ）を実現することができる。
【００２３】
Ｐ（ｒ）が遵守率と等しければ、ＳＬＡを満足する最適なリソース量が設定されていると言える。しかし、図１に示す例では、定常状態において達成率Ｐ（ｒ）が遵守率を上回っている。すなわち、図１に示す例では、リソース量が最適なリソース量よりも多くなっていて、リソースの余剰が生じている状態となっている。
【００２４】
図２は、定常状態における達成率Ｐ（ｒ）が遵守率と等しくなるように、全体的に余剰率ｎだけ達成率を低下させた状態を表している。達成率Ｐ（ｒ）が遵守率と等しくなるように、全体的に達成率を低下させた状態を破線で示している。この破線で表される関数において、達成率が０％になるときの使用リソース量をＲａ’とする。コンピュータシステムに設定するリソース量として、Ｒａ’を設定することにより、定常状態では、Ｐ（ｒ）が遵守率と等しくなる。すなわち、Ｒａ’がＳＬＡに応じて設定すべき最適なリソース量であるということができる。
【００２５】
図２で破線で表した関数は、関数Ｐ（Ｒ）を全体に渡って、余剰率ｎだけ低下させたものであるので、以下に示す式（１）が成立する。
【００２６】
Ｐ（Ｒａ’）−ｎ＝０          式（１）
【００２７】
式（１）において“ｎ”は、余剰率である。関数Ｐ（Ｒ）は既知の関数であるので、定常状態における余剰率ｎを計算し、式（１）をＲａ’に関して解くことにより、最適なリソース量を計算することができる。
【００２８】
さらに、定常状態における単位時間当たりのリクエスト数をＮ（Ｔｘ／Ｓ）とすると、式（１）を解くことによって得られたＲ’は、以下に示す式（２）のように表すことができる。
【００２９】
ｆ（Ｎ）×（１＋α）＝Ｒａ’          式（２）
【００３０】
式（２）を安全率αに関して解くことによって、最適なリソース量を算出するための安全率αを計算することができる。
【００３１】
式（２）において、ｆ（Ｎ）は、定常状態における単位時間当たりの使用リソース量を表している。定常状態における単位時間当たりの使用リソース量として、単位時間当たりの使用リソース量の実測値を用いてもよい。あるいは、定常状態における単位時間当たりのリクエスト数Ｎを関数ｆ（ａ）における変数ａに代入することによってｆ（Ｎ）を計算してもよい。
【００３２】
以下、本発明のリソース管理システムの構成および処理経過を具体的に説明する。図３は、本発明のリソース管理システムの実施形態の例を示すブロック図である。本発明のリソース管理システムは、安全率算出手段１と、データ記憶手段２とを備える。
【００３３】
データ記憶手段２は、リクエストに応じて処理を行うコンピュータシステム３における経過時間（Elapsed Time）や、使用リソース量を逐次記憶していく記憶装置である。また、データ記憶手段２は、予め定められた達成率関数Ｐ（Ｒ）も記憶する。既に説明したように、達成率関数Ｐ（Ｒ）は、使用リソース量Ｒを変数とする達成率の関数であり、例えば、最小二乗法等により予め定められている。
【００３４】
安全率算出手段１は、データ記憶手段２に記憶された情報と、入力されるデータとに基づいて、コンピュータシステム３における最適なリソース量を算出するための安全率αを計算する。
【００３５】
コンピュータシステム３は、本発明のリソース管理システムとは別に設けられるシステムであり、コンピュータシステム３自身に入力されるリクエストに応じて処理を行う。コンピュータシステム３には、安全率αの初期値から定められたリソースが割り当てられ、そのリソースを用いて、リクエストに応じた処理を行う。また、コンピュータシステム３は、リクエストに応じた実行した処理の経過時間（Elapsed Time）の実測値と、単位時間当たりの使用リソース量の実測値とを、時間経過に伴って、時刻順に、データ記憶手段２に記憶させていく。また、コンピュータシステム３は、単位時間当たりのリクエスト数の実測値も、時間順に、データ記憶手段２に記憶させていく。このとき、コンピュータシステム３は、単位時間当たりの使用リソース量の実測値と、単位時間当たりのリクエスト数の実測値とを対応づけて記憶させる。
【００３６】
ここで、安全率αから設定量が定められるリソースの種類は、特に限定されないが、そのようなリソースとして、例えば、ＣＰＵ、メモリ、ディスク記憶装置、通信ネットワークリソース等が挙げられる。ＣＰＵに関しては、使用リソース量は、例えば、ＣＰＵ使用率で表される。また、メモリやディスク記憶装置に関しては、使用リソース量は、例えば、メモリ使用率や、ディスク記憶装置の使用率で表される。また、通信ネットワークリソースに関しては、使用リソース量は、例えば、通信ネットワークを介して外部のルータ（図示略）に送信している単位時間当たりのデータ量等で表される。
【００３７】
コンピュータシステム３は、時間経過に伴い、経過時間（Elapsed Time）の実測値と、使用リソース量の実測値とをデータ記憶手段２に記憶させる。従って、データ記憶手段２には、図４に示すように、経過時間の実測値の時系列データと、単位時間当たりの使用リソース量の実測値の時系列データが蓄積されていく。また、コンピュータシステム３は、単位時間当たりのリクエスト数の実測値もデータ記憶手段２に記憶させるので、単位時間当たりのリクエスト数の実測値の時系列データ（図４において図示略）も蓄積される。使用リソース量の時系列データに含まれる個々の値と、リクエスト数の時系列データに含まれる個々の値とは、同じ時間に計測されたものとして対応している。
【００３８】
コンピュータシステム３は、定常状態で運用されるが、使用リソース量の実測値は一定値とは限らず、変動する。安全率算出手段１は、例えば、使用リソース量の実測値の中から、最適な値を選択すればよい。
【００３９】
安全率算出手段１は、余剰率計算手段１１と、安全率調整手段１２とを備える。
【００４０】
余剰率計算手段１１には、コンピュータシステム３に関して定められた経過時間（Elapsed Time）の要求値と、遵守率と、コンピュータシステム３における初期状態のリソース量を計算するために用いられた安全率αの初期値とが入力される。経過時間に対する要求値および遵守率は、ＳＬＡで規定された値である。なお、ＳＬＡでは、「単位時間当たりの最大リクエスト数が３０００Ｔｘ／Ｓという条件のもとで、経過時間の要求値は３秒であり、経過時間の遵守率は９０％である。」等のように、単位時間当たりの最大リクエスト数が定められていてもよい。コンピュータシステム３は、定常状態で運用され、単位時間当たりのリクエスト数がＳＬＡで定められた最大値を超えることはない。
【００４１】
余剰率計算手段１１は、経過時間に対する要求値と、データ記憶手段２に記憶された経過時間の時系列データ（図４参照）とを比較して、達成率を計算する。そして、余剰率計算手段１１は、計算した達成率から、入力された遵守率を減算することにより、余剰率ｎを計算する。
【００４２】
安全率調整手段１２は、予め定められた達成率関数Ｐ（Ｒ）と、余剰率計算手段１１に計算された余剰率を用いて、式（１）をＲａ’に関して解く。Ｒａ’は、ＳＬＡに応じた最適なリソースの割当量である。
【００４３】
さらに、安全率調整手段１２は、定常状態における使用リソース量と、Ｒａ’（コンピュータシステム３に対する最適なリソース割当量）とを用いて、式（２）を安全率αに関して解く。安全率調整手段１２は、例えば、使用リソース量の時系列データから、単位時間当たりの使用リソース量を求め、その値を式（２）におけるｆ（Ｎ）として用いればよい。また、安全率調整手段１２には、予め、定常状態における単位時間当たりのリクエスト数Ｎが入力される。このＮは、実測値ではなく、例えば、ＳＬＡにおいて「単位時間当たりのリクエスト数の最大値」として定められた値が入力される。この場合、定常状態において単位時間当たりのリクエスト数としてとり得る値の最大値が、Ｎとして入力されることになる。
【００４４】
安全率調整手段１２は、単位時間当たりの使用リソース量として最適な値を、以下のようにして選択すればよい。安全率調整手段１２は、予め入力されたＮ（上記の例では、ＳＬＡで定められた単位時間当たりのリクエスト数の最大値）に最も近いリクエスト数の実測値に対応する使用リソース量の実測値を選択する。すなわち、安全率調整手段１２は、予め与えられたＮに最も近いリクエスト数の実測値が計測された時間と同じ時間に計測された使用リソース量の実測値を選択する。安全率調整手段１２は、この使用リソース量の実測値を、式（２）におけるｆ（Ｎ）として用いる。
【００４５】
また、予め入力されたＮと近い値となるリクエスト数の実測値が複数個存在する場合、安全率調整手段１２は、それらの各実測値に対応する使用リソース量の各実測値の平均値を算出して、その平均値を式（２）におけるｆ（Ｎ）として用いてもよい。すなわち、安全率調整手段１２は、予め与えられたＮに近い値となっているリクエスト数の実測値が計測された時間と同じ時間に計測された使用リソース量の平均値をｆ（Ｎ）として用いてもよい。なお、安全率調整手段１２は、入力されたＮとの差が予め定められた閾値以内となっているリクエスト数の実測値を、Ｎに近い値の実測値として検出すればよい。
【００４６】
また、上記の説明では、Ｎが入力される場合について説明したが、Ｎが入力されなくてもよい。この場合、安全率調整手段１２は、以下のようにして式（２）におけるｆ（Ｎ）の値を算出すればよい。安全率調整手段１２は、単位時間当たりのリクエスト数の時系列データの中からＫ個の連続する実測値毎に、そのＫ個の実測値の平均値を計算する。この平均値は、単位時間のＫ倍の時間帯に着目した場合の単位時間当たりのリクエスト数である。なお、Ｋは、例えば、予め安全率調整手段１２に入力されていればよい。安全率調整手段１２は、連続するＫ個の実測値毎に、実測値の平均を算出したならば、その平均値が最大となっているＫ個の実測値の組を特定する。特定されたＫ個の実測値が計測された時間帯は、定常状態において、単位時間当たりのリクエスト数がピークになった時間帯である。安全率調整手段１２は、その時間帯に計測された使用リソース量の平均値を算出する。具体的には、上記のように特定した連続するＫ個のリクエスト数の実測値に対応する使用リソース量の実測値を特定し、その平均値を算出すればよい。安全率調整手段１２は、このＫ個の使用リソース量の実測値の平均値を、式（２）におけるｆ（Ｎ）として用いてもよい。
【００４７】
なお、本実施形態では、単位時間当たりの使用リソース量として実測値を用いる場合を例にして説明しているが、安全率調整手段１２は、予め定められた関数ｆ（ａ）を用いて、定常状態における単位時間当たりの使用リソース量を計算してもよい。この場合、安全率調整手段１２は、単位時間当たりのリクエスト数の時系列データを用いて、単位時間当たりのリクエスト数の平均値を計算し、その平均値を、定常状態における単位時間当たりのリクエスト数Ｎとする。そして、安全率調整手段１２は、関数ｆ（ａ）における変数ａにＮを代入し、式（２）を安全率αに関して解けばよい。このとき、関数ｆ（ａ）は、安全率算出手段１に外部から入力されてもよい。あるいは、達成率関数Ｐ（Ｒ）と同様に、予め、データ記憶手段２に記憶されてもよい。
【００４８】
安全率調整手段１２は、式（２）をαに関して解く場合、以下の式（３）を計算すればよい。
【００４９】
α＝｛Ｒａ’／ｆ（Ｎ）｝−１          式（３）
【００５０】
なお、安全率調整手段１２は、計算された余剰率ｎが負である場合、入力された安全率の値を増加させる。
【００５１】
安全率算出手段１（具体的には、余剰率算出手段１１および安全率調整手段１２）は、例えば、リソース管理プログラムに従って動作するコンピュータのＣＰＵによって実現される。この場合、コンピュータのプログラム記憶装置（図示略）がリソース管理プログラムを記憶し、ＣＰＵがそのプログラムに従って、余剰率算出手段１１および安全率調整手段１２として動作すればよい。また、余剰率算出手段１１および安全率調整手段１２がそれぞれ別のユニットで実現されていてもよい。なお、ここで述べたコンピュータは、図３に示したコンピュータシステム３とは別のコンピュータである。
【００５２】
次に、動作について説明する。
図５は、本発明の処理経過の例を示すフローチャートである。なお、データ記憶手段２には、コンピュータシステム３によって、経過時間の実測値の時系列データおよび使用リソース量の実測値の時系列データが記憶されているものとする。また、単位時間当たりのリクエスト数の実測値の時系列データもデータ記憶手段２に記憶されているものとする。また、余剰率算出手段１１には、ＳＬＡで規定された経過時間の要求値（例えば、「３秒以下」等）や遵守率（例えば、９０％等）が入力されているものとする。また、安全率αの初期値も入力されているものとする。また、安全率調整手段１２には、定常状態における単位時間当たりのリクエスト数Ｎが入力されているものとする。
【００５３】
余剰率算出手段１１は、データ記憶手段２に記憶された経過時間の実測値の時系列データ（図４参照）と、経過時間に対する要求値とを比較し、達成率を計算する（ステップＳ１）。余剰率算出手段１１は、経過時間の時系列データに含まれる個々の実測値のうち、経過時間に対する要求値を満たしている実測値の数をカウントする。例えば、経過時間に対する要求値が「３秒以下」であれば、図４に示すｅ１，ｅ２，・・・のうち、３秒以下となっている実測値の個数をカウントする。そして、全実測値の個数に対する、要求値を満たす実測値の個数の割合を達成率として計算する。
【００５４】
次に、余剰率算出手段１１は、ステップＳ１で計算した達成率から、入力された遵守率を減算することによって、余剰率ｎを計算する（ステップＳ２）。余剰率算出手段１１は、計算した余剰率ｎと、安全率の初期値とを安全率調整手段１２に渡す。
【００５５】
安全率調整手段１２は、ステップＳ２で計算された余剰率が正であるか否かを判定する（ステップＳ３）。余剰率が正であれば（ステップＳ３におけるＹｅｓ）、ステップＳ４以降の処理を実行する。
【００５６】
ステップＳ４において、安全率調整手段１２は、予めデータ記憶手段２に記憶された達成率関数Ｐ（Ｒ）と、ステップＳ２で計算された余剰率ｎとを用いて、ＳＬＡに応じた最適なコンピュータシステム３のリソース割当量Ｒａ’（図２参照）を計算する（ステップＳ４）。すなわち、安全率調整手段１２は、式（１）をＲａ’について解く。Ｐ（Ｒ）の逆関数Ｐ−１をデータ記憶手段２に予め記憶させておき、安全率調整手段１２は、Ｐ−１（ｎ）を計算することによってＲａ’を求めてもよい。
【００５７】
次に、安全率調整手段１２は、データ記憶手段２に記憶された使用リソース量の実測値の時系列データ（図４参照）および単位時間当たりのリクエスト数の実測値の時系列データ（図４において図示略）と、ステップＳ４で計算したＲａ’とを用いて、最適なリソース量を算出するための安全率αを計算する（ステップＳ５）。具体的には、安全率調整手段１２は、予め入力されたＮに最も近いリクエスト数の実測値に対応する使用リソース量の実測値を選択する。この使用リソース量の実測値は、式（２）や式（３）におけるｆ（Ｎ）に相当する。安全率調整手段１２は、選択した使用リソース量の実測値を、式（３）におけるｆ（Ｎ）に代入し、Ｒａ’にステップＳ４で計算した値を代入して、式（３）を計算し、安全率αを求めればよい。このαが、コンピュータシステム３における最適なリソース量を計算するための安全率である。ステップＳ５の後、リソース管理システムは、処理を終了する。また、既に説明したように、予め入力されたＮと近い値となるリクエスト数の実測値が複数個存在する場合、安全率調整手段１２は、それらに対応する使用リソース量の各実測値の平均値を算出し、その平均値を式（３）におけるｆ（Ｎ）に代入してもよい。
【００５８】
また、ｆ（Ｎ）の他の導出方法として、安全率調整手段１２は、単位時間当たりのリクエスト数の時系列データの中からＫ個の連続する実測値毎に、そのＫ個の実測値の平均値を計算し、その値が最大となるＫ個の実測値に対応する使用リソース量の実測値を特定し、その平均値を式（３）におけるｆ（Ｎ）に代入してもよい。この場合、Ｎは、入力されていなくてよい。
【００５９】
また、ステップＳ３において、余剰率が正でないと判定した場合（ステップＳ３におけるＮｏ）、安全率調整手段１２は、事前に入力された安全率の初期値をｋ倍することによって、新たな安全率αを計算し（ステップＳ６）、処理を終了する。ただし、余剰率が０である場合には、安全率調整手段１２は、ステップＳ６を実行せずに処理を終了する。余剰率が負であるということは、安全率の初期値に基づいて割り当てられたコンピュータシステム３のリソース量が少ないことを意味する。よって、安全率をｋ倍することによって、安全率の値を増加させ、コンピュータシステム３に割り当てるべき十分なリソース量が算出されるようにする。また、余剰率が０ということは、最適な安全率が定められているということができ、安全率を計算し直すことなく処理を終了してよい。
【００６０】
本実施形態によれば、達成率が遵守率よりも高い場合に、余剰率に相当する分だけリソース量が減少するようにして、コンピュータシステム３における最適リソース量を計算し、その最適リソース量に合わせて安全率を計算するので、ＳＬＡで定められた遵守率に応じた安全率を求めることができる。すなわち、過剰なリソース量を算出するような安全率の導出を防止して、適切な安全率を求めることができる。
【００６１】
本発明による安全率算出と、人間の勘や経験に基づく安全率決定とを比較する。人間が勘や経験に基づいて安全率を決定する場合には、「リソース不足を回避する」という心理的要因により、安全率を大きくしがちであり、その結果、コンピュータシステム３に割り当てるリソース量が過剰になってしまう。一方、本発明によれば、上記のように、遵守率を満足し、また、リソース量が過剰にならないような適切な安全率を計算することができる。なお、遵守率が満足されていれば、一部のリクエストに関する経過時間が要求値を越えていても、ＳＬＡは維持されていることになる。
【００６２】
コンピュータシステムの管理者は、ステップＳ５またはステップＳ６で計算された安全率から、コンピュータシステム３に対して割り当てるべきリソース量を計算し直して、コンピュータシステム３に対するリソース割り当てを行ってもよい。この割り当てを、リソース管理システムが行ってもよい。
【００６３】
また、上記のフローチャートの説明では、使用リソース量ｆ（Ｎ）として、実測値を用いた。既に説明したように、定常状態における使用リソース量ｆ（Ｎ）は、予め定められた関数ｆ（ａ）における変数ａに、定常状態における単位時間当たりのリクエスト数Ｎを代入して計算してもよい。この場合、安全率調整手段１２は、ステップＳ５において、単位時間当たりのリクエスト数の実測値の平均値を計算し、その値をＮとすればよい。そして、安全率調整手段１２は、式（３）を計算することによって、安全率αを計算すればよい。
【００６４】
また、図５に示すフローチャートでは、ステップＳ５またはステップＳ６を行ったときに、処理を終了する場合を示したが、本発明のリソース管理システムは、一定期間毎にステップＳ１以降の処理を繰り返して、安全率αの計算を繰り返してもよい。このとき、ステップＳ２や、ステップＳ５では、一定期間毎の時系列データを用いる。例えば、ある一定期間における安全率を計算する際には、ステップＳ１において、余剰率算出手段１１は、その期間内における経過時間の実測値から達成率を計算し、ステップＳ５においても、安全率調整手段１２は、その期間内における使用リソース量の時系列データから実測値を選択し、安全率を計算する。また、一旦安全率を計算したら、コンピュータシステム３に対して割り当てるべきリソース量をその安全率から計算し直して、コンピュータシステム３に反映する。
【００６５】
次に、本発明の最小構成について説明する。図６は、本発明のリソース管理システムの最小構成の例を示すブロック図である。本発明のリソース管理システム５１は、余剰率計算手段５２と、安全率導出手段５３とを備える。
【００６６】
余剰率計算手段５２（例えば、実施形態における余剰率計算手段１１）は、サービスレベルアグリーメントで定められた品質に関する要求値（例えば、経過時間に関する要求値）と、サービスレベルアグリーメントを満足すべきシステム（例えば、コンピュータシステム３）で実測された品質を表す実測値のデータ群（例えば、経過時間の時系列データ）とに基づいて、要求値を満足している実測値の割合である達成率を計算し、要求値を満足していなければならない実測値の割合としてサービスレベルアグリーメントで定められた遵守率を達成率から減算した値である余剰率を計算する。
【００６７】
安全率導出手段５３（例えば、安全率調整手段１２）は、余剰率が０となるという条件を満たすシステムへの割り当てリソース量（例えば、Ｒａ’）を余剰率を用いて計算し、割り当てリソース量と、定常状態でのシステムの単位時間当たりの使用リソース量（例えば、ｆ（Ｎ））とに基づいて、安全率を計算する。
【００６８】
そのような構成により、ＳＬＡを満足するためのリソース量が過剰にならないように安全率を算出することができる。
【００６９】
また、上記の実施形態では、安全率導出手段５３が、余剰率が０となるという条件を満たすシステムへの割り当てリソース量をＴとし、定常状態でのシステムの単位時間当たりの使用リソース量をＵとしたときに、（Ｔ／Ｕ）−１を計算することにより（例えば、式（３）の計算を行うことにより）、安全率を計算する構成が開示されている。
【００７０】
また、上記の実施形態では、安全率導出手段５３が、サービスレベルアグリーメントを満足すべきシステムにおける単位時間当たりの使用リソース量をＲとし、Ｒを変数とする達成率の関数をＰ（Ｒ）とし、余剰率をｎとしたときに、Ｐ（Ｔ）−ｎ＝０をＴに関して解くことによって、余剰率が０となるという条件を満たすシステムへの割り当てリソース量を計算する構成が開示されている。
【００７１】
また、上記の実施形態では、安全率導出手段５３が、定常状態でのシステムの単位時間当たりの使用リソース量として、実測された値を用いる構成が開示されている。
【００７２】
また、上記の実施形態では、安全率導出手段５３が、定常状態でのシステムに対する単位時間当たりのリクエスト数の実測値の平均値を計算し、単位時間当たりのリクエスト数を変数とする単位時間当たりの使用リソース量の関数にその平均値を代入することによって、定常状態でのシステムの単位時間当たりの使用リソース量を求める構成が開示されている。
【００７３】
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００７４】
（付記１）サービスレベルアグリーメントで定められた品質に関する要求値と、前記サービスレベルアグリーメントを満足すべきシステムで実測された前記品質を表す実測値のデータ群とに基づいて、前記要求値を満足している前記実測値の割合である達成率を計算し、前記要求値を満足していなければならない前記実測値の割合としてサービスレベルアグリーメントで定められた遵守率を前記達成率から減算した値である余剰率を計算する余剰率計算部と、前記余剰率が０となるという条件を満たす前記システムへの割り当てリソース量を前記余剰率を用いて計算し、前記割り当てリソース量と、定常状態での前記システムの単位時間当たりの使用リソース量とに基づいて、安全率を計算する安全率導出部とを備えることを特徴とするリソース管理システム。
【００７５】
（付記２）安全率導出部は、余剰率が０となるという条件を満たすシステムへの割り当てリソース量をＴとし、定常状態での前記システムの単位時間当たりの使用リソース量をＵとしたときに、（Ｔ／Ｕ）−１を計算することにより、安全率を計算する付記１に記載のリソース管理システム。
【００７６】
（付記３）安全率導出部は、サービスレベルアグリーメントを満足すべきシステムにおける単位時間当たりの使用リソース量をＲとし、前記Ｒを変数とする達成率の関数をＰ（Ｒ）とし、余剰率をｎとしたときに、Ｐ（Ｔ）−ｎ＝０をＴに関して解くことによって、余剰率が０となるという条件を満たす前記システムへの割り当てリソース量を計算する付記１または付記２に記載のリソース管理システム。
【００７７】
（付記４）安全率導出部は、定常状態でのシステムの単位時間当たりの使用リソース量として、前記システムで実測された値を用いる付記１から付記３のうちのいずれかに記載のリソース管理システム。
【００７８】
（付記５）安全率導出部は、定常状態でのシステムに対する単位時間当たりのリクエスト数の実測値の平均値を計算し、単位時間当たりのリクエスト数を変数とする単位時間当たりの使用リソース量の関数に前記平均値を代入することによって、定常状態でのシステムの単位時間当たりの使用リソース量を求める付記１から付記３のうちのいずれかに記載のリソース管理システム。
【００７９】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【００８０】
この出願は、２０１０年５月６日に出願された日本特許出願２０１０−１０６４９２を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用の可能性】
【００８１】
本発明は、コンピュータシステムに設定するリソース量を算出する際に用いる安全率の計算に好適に適用される。
【符号の説明】
【００８２】
１  安全率算出手段
２  データ記憶手段
１１  余剰率計算手段
１２  安全率調整手段
【図１】
2011138854.tif 000003
【図２】
2011138854.tif 000004
【図３】
2011138854.tif 000005
【図４】
2011138854.tif 000006
【図５】
2011138854.tif 000007
【図６】
2011138854.tif 000008
【国際調査報告】
2011138854.tif 000009
2011138854.tif 000010