(57)【要約】      （修正有）【課題】頻繁にアクセスされる仮想サーバのリソースの確保を円滑に行う制御プログラムを提供する。【解決手段】コンピュータに、管理対象の複数の仮想サーバそれぞれの、データ処理要求から応答までの時間である応答時間を収集し、応答時間及び複数の仮想サーバそれぞれに対応づけられた要求応答時間に基づき、複数の仮想サーバそれぞれについて応答率を生成し、応答率及び複数の仮想サーバそれぞれについて設定されたリソース割当閾値に基づき、複数の仮想サーバそれぞれに対するハードウェアリソースの割当制御を実行する。複数の仮想サーバに含まれる特定の仮想サーバに対する、割当制御の連続実施回数が第１の閾値を超える場合は、特定の仮想サーバのリソース割当閾値を減少する、処理を実行させる。【選択図】図３
2015156234.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
管理対象の複数の仮想サーバそれぞれの、データ処理要求から応答までの時間である応答時間を収集し、
前記応答時間、および、前記複数の仮想サーバそれぞれに対応づけられた要求応答時間に基づき、前記複数の仮想サーバそれぞれについて応答率を生成し、
前記応答率、および、前記複数の仮想サーバそれぞれについて設定されたリソース割当閾値に基づき、前記複数の仮想サーバそれぞれに対するハードウェアリソースの割当制御を実行し、
前記複数の仮想サーバに含まれる特定の仮想サーバに対する、前記割当制御の連続実施回数が第１の閾値を超える場合は、前記特定の仮想サーバの前記リソース割当閾値を減少する、
処理を実行させる、ことを特徴とするリソース制御プログラム。
【請求項２】
コンピュータに、
管理対象の複数の仮想サーバそれぞれの、データ処理要求から応答までの時間である応答時間を収集し、
前記応答時間、および、前記複数の仮想サーバそれぞれに対応づけられた要求応答時間に基づき、前記複数の仮想サーバそれぞれについて応答率を生成し、
前記応答率、および、前記複数の仮想サーバそれぞれについて設定されたリソース回収閾値に基づき、前記複数の仮想サーバそれぞれに対するハードウェアリソースの回収制御を実行し、
前記複数の仮想サーバに含まれる特定の仮想サーバに対する、前記回収制御の連続実施回数が第２の閾値を超える場合は、前記特定の仮想サーバの前記リソース回収閾値を増加する、
処理を実行させる、ことを特徴とするリソース制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リソース制御装置、リソース制御方法、及びリソース制御プログラムに関する。
【背景技術】
【０００２】
サーバの仮想化が知られている。サーバの仮想化とは、サーバが仮想化ソフトウェアを実行することで、１台のサーバで複数のＯＳ（Operating System）の実行を可能にする技術である。サーバの仮想化は、複数のＯＳのそれぞれに１台のサーバのハードウェアリソースを割り当てることで実現され、このようにして実行されるＯＳを「ゲストＯＳ」と称する。
【０００３】
ハードウェアリソースの割り当てには、ゲストＯＳ毎のＣＰＵ（Central Processing Unit）使用率の割り当て、又は、ゲストＯＳ毎のメモリ又はディスク装置への入出力の割り当てがある。ゲストＯＳに割り当てられたハードウェアリソースは、ゲストＯＳを実行する「仮想サーバ」と称される。「仮想サーバ」との対比として、仮想化ソフトウェアを実行するとともにハードウェアリソースを提供するサーバを、「物理サーバ」と称する。
【０００４】
データセンタではいくつもの物理サーバが配置されるので、データセンタは、多数の仮想サーバをユーザに提供することができる。その結果、データセンタでは、データセンタ全体で保有する複数の物理サーバによるハードウェアリソースを、複数の仮想サーバに割り当てる運用管理が行われる。なお、ハードウェアリソースを仮想サーバに割り当てることを、「プロビジョニング」と称する。
【０００５】
上記のような運用管理を行う方法の一つとして、構成管理データベース（ＣＭＤＢ：Configuration Management Database）を用いる方法がある。ＣＭＤＢは、仮想サーバや、サービス等の構成要素（ＣＩ：Configuration Item）とその属性を記録し、ＣＩ同士の関係を記録するデータベースである。ＣＭＤＢを用いる方法では、データセンタ内のハードウェアリソース、又は、アプリケーションサービス等のサービスを構成要素としてＣＭＤＢに記録する。ＣＭＤＢは、記録した構成要素を用いてデータセンタ全体の中で、サービスを実行する各仮想サーバに割り当てられるハードウェアリソースの必要性を評価し、その評価に応じてハードウェアリソースの割り当て又は回収を行う。サービスを実行する必要性評価に応じたハードウェアリソースの割り当て又は回収によって、ＣＭＤＢは、サービスを実行する各仮想サーバの実際の運用上の役割および状況に即したハードウェアリソースの割り当てを自動的に行うことができる。上記のような、自動的にハードウェアリソースを、仮想サーバに割り当てることを、「自動プロビジョニング」と言う。
【０００６】
自動プロビジョニングの一つとして、各サーバにおけるハードウェアリソースの使用状況や応答時間を調査するものがある。すなわち、あらかじめ応答時間の閾値を設定しておき、その閾値以上又は以下となった場合に、ハードウェアリソースの割り当て又は回収を行う。
【０００７】
図１は、応答時間の閾値に基づいて、ハードウェアリソースの割り当てを行う自動プロビジョニングの一例を示す図である。図１に示すグラフ２０００の縦軸は、仮想サーバの応答時間超過率である。横軸は、時刻である。応答時間超過率は、観測点で示される定期的な時刻に計算される。応答時間超過率とは、観測された応答時間を要求応答時間で除算したものであり、要求応答時間は、ＳＬＡ（Service Level Agreement）で定義される。曲線２０１０は、あるサービスを提供する仮想サーバの応答時間超過率の時間推移を示す。
【０００８】
図１に示す割り当て閾値は、仮想サーバに対して新たなハードウェアリソースを割り当てるための閾値である。仮想サーバの応答時間超過率が割り当て閾値以上になる場合、仮想サーバの処理能力を上げる必要があるので、仮想サーバに新たなハードウェアリソースの割り当てが行われる。図１に示す回収閾値は、仮想サーバからハードウェアリソースの回収を行う閾値である。図１において、仮想サーバの応答時間超過率が回収閾値以下になる場合、仮想サーバに過剰なハードウェアリソースが割り当てられているので、仮想サーバからハードウェアリソースが回収される。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００５−１７４２０１号公報
【特許文献２】特開２００８−２１７２８５号公報
【特許文献３】特開２００５−１８２６４１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
図２は、図１に示す自動プロビジョニングが実行される情報システムの一例を示す図である。図２に示す情報システムは、Ｗｅｂサーバ、アプリケーションサーバ（アプリサーバ）、ＤＢ（Data Base）サーバからなる３つのシステムが、それぞれ別個のサービスを、クライアントコンピュータを利用するユーザに提供している。図１に示すような自動プロビジョニング方式は、割り当て閾値と回収閾値との間に、個々の仮想サーバの応答時間が収まるように、ハードウェアリソースの管理がなされる。しかしながら、図２に示す全ウェブサーバに、図１に示すプロビジョニング方式が一様に適用されると、利用ユーザ数が多く且つ重要なサービスを担う仮想サーバも、そうでない仮想サーバも全て同じようにハードウェアリソースの割り当て又は回収が行われてしまう。
【００１１】
つまり、利用ユーザ数の多いサービスを提供する仮想サーバに対するハードウェアリソースの割り当て不足や、利用ユーザ数の少ないサービスを提供する仮想サーバに対する過剰な割り当てが起こる。その結果、より多くのユーザに応答時間の悪化を経験させ、データセンタに対する信頼性を落とすことになる。このように、データセンタ全体の仮想サーバの運用上の役割および状況を考慮した上で各仮想サーバに対してハードウェアリソース割り当てを行うことができないため、限られたハードウェアリソースの中で利用ユーザ数が多いサービスの応答時間の品質を優先的に確保することができない。
【００１２】
一つの側面では、本発明は、頻繁にアクセスされる仮想サーバのリソースの確保を円滑に行うことを目的とする。
【課題を解決するための手段】
【００１３】
一実施形態によれば、リソース制御プログラムが提供される。前記リソース制御プログラムは、コンピュータに、管理対象の複数の仮想サーバそれぞれの、データ処理要求から応答までの時間である応答時間を収集し、前記応答時間、および、前記複数の仮想サーバそれぞれに対応づけられた要求応答時間に基づき、前記複数の仮想サーバそれぞれについて応答率を生成する、処理を実行させる。
【００１４】
さらに、前記リソース制御プログラムは、前記応答率、および、前記複数の仮想サーバそれぞれについて設定されたリソース割当閾値に基づき、前記複数の仮想サーバそれぞれに対するハードウェアリソースの割当制御を実行し、前記複数の仮想サーバに含まれる特定の仮想サーバに対する、前記割当制御の連続実施回数が第１の閾値を超える場合は、前記特定の仮想サーバの前記リソース割当閾値を減少する、処理を実行させる。
【発明の効果】
【００１５】
一態様においては、頻繁にアクセスされる仮想サーバのリソースの確保を円滑に行うことができる。
【図面の簡単な説明】
【００１６】
【図１】図１は、応答時間の閾値に基づいて、ハードウェアリソースの割り当てを行う自動プロビジョニングの一例を示す図である。
【図２】図２は、図１に示す自動プロビジョニングが実行される情報システムの一例
【図３】図３は、仮想サーバの応答時間超過率と、仮想サーバへのハードウェアリソースの割り当て又は回収との関係を示す図である。
【図４】図４は、情報システムの一例を説明する図である。
【図５】図５は、リソース制御装置のハードウェア構成の一例を示す図である。
【図６】図６は、記憶部のメモリマップの一例を示す図である。
【図７】図７は、リソース制御装置の機能構成ブロックの一例を示す図である。
【図８Ａ】図８Ａは、ＣＭＤＢ内の構成情報の一例を示す図である。
【図８Ｂ】図８Ｂは、ＣＭＤＢ内の構成情報の一例を示す図である。
【図９】図９は、リソース割り当て制御情報の一例を示す図である。
【図１０】図１０は、要求応答時間情報の一例を示す図である。
【図１１】図１１は、優先度算出部及びリソース割り当て制御部が行う処理の概要を説明する図である。
【図１２】図１２は、プロビジョニング管理部と、ゲストＯＳとの関係の一例を示す図である。
【図１３】図１３は、リソース制御装置による処理の全体概要を示すフローチャートである。
【図１４】図１４は、優先度の算出フローの一例を示す図である。
【図１５Ａ】図１５Ａは、リソース割り当て量を制御処理の一例を示すフローチャートである。
【図１５Ｂ】図１５Ｂは、リソース割り当て量を制御処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１７】
利用ユーザ数が多いサービスの応答時間の品質を優先的に確保することができない原因として、各仮想サーバが、担うサービス、及び、ユーザ数を考慮した上で、ハードウェアリソースの割り当てがされていないことがある。そのため、データセンタ内の各仮想サーバの実際のサービス及びユーザ数に即したハードウェアリソース配分を行うことで、ユーザ数の多いサービスを提供する仮想サーバに対するリソース不足や、あまり使用されない仮想サーバに対するリソース余りを回避できる。これにより、多くのユーザの利用するサービスの応答時間の品質が優先的に確保され、信頼感の向上につながる。
【００１８】
以下、図面を参照して、リソース制御装置、リソース制御方法、及びリソース制御プログラムを説明する。
【００１９】
〔１〕優先度を用いたハードウェアリソースの割り当てと回収
初めに、優先度を用いたハードウェアリソースの割り当てと回収について、図３を用いて説明する。図３は、仮想サーバの応答時間超過率と、仮想サーバへのハードウェアリソースの割り当て又は回収との関係を示す図である。応答時間超過率とは、観測された応答時間を要求応答時間で除算したものであり、要求応答時間は、ＳＬＡで定義される。ＳＬＡとは、データセンタの所有者が、ユーザに対してサービスの品質を保証する契約である。ＳＬＡには、回線の最低通信速度やネットワーク内の平均遅延時間、利用不能時間の上限など、サービス品質の保証項目や、それらを実現できなかった場合の利用料金の減額に関する規定などが含まれる。応答時間は、例えば、観測点で観察した仮想サーバとクライアントコンピュータとの間に確立したコネクションにおいて、クライアントコンピュータからのデータ要求から応答が返却されるまでの時間のことである。応答時間超過率は、ユーザからの要求に対する仮想サーバの応答時間の一例であり、また、ユーザ要求に対する仮想サーバの処理能力の一例である。なお、観測点とは、所定の時間間隔のサンプリングポイントのことである。
【００２０】
優先度とは、ハードウェアリソース割り当てを要求する頻度を決定するパラメータである。優先度が高い仮想サーバほど、仮想サーバの処理能力が割り当て閾値以上となった後に、より短時間で当該仮想サーバにリソースの割り当てがなされる。また、優先度が高い仮想サーバほど、仮想サーバの処理能力が回収閾値以下となった後に、より長時間で当該仮想サーバからリソースが回収される。
【００２１】
図３に示す応答時間超過率の時間推移を示す曲線１１５は、ハードウェアリソース割り当ての優先度の高い仮想サーバの応答時間超過率の時間推移を示す。図３に示す応答時間超過率の時間推移を示す曲線１２５は、ハードウェアリソース割り当ての優先度の低い仮想サーバの応答時間超過率の時間推移を示す。
【００２２】
図３に示す観測点は、応答時間超過率の観測を行った時刻を示す。割り当て閾値以上又は回収閾値以下になった後に連続する観測点の数を、「カウント数」と称する。優先度は、カウント数によって定義付けることができる。曲線１１５は割り当て閾値を超えてから２カウント後にハードウェアリソースの割り当てを開始し、曲線１２５は割り当て閾値を越えてから５カウント後にハードウェアリソースの割り当てを開始することを示している。同様に、曲線１１５は回収閾値を越えてから５カウント後にハードウェアリソースの回収を行い、曲線１２５は回収閾値を越えてから２カウント後にハードウェアリソースの回収を行うことを示している。下記に示す表１は、優先度を、割り当てカウント閾値と、回収カウント閾値とで定義した例である。なお、表１は、図６、図７、及び図９を用いて後述するリソース割り当て制御情報に相当する。
【００２３】
【表１】
2015156234.tif 000003
【００２４】
割り当てカウント値とは、各仮想サーバの応答時間超過率がそれぞれ割り当て閾値以上になった観測値の数であり、割り当てカウント閾値とは、ハードウェアリソースの割り当てを行うか否かの判断を行うための境界値である。割り当てカウント値が、割り当てカウント閾値に達した場合、割り当てカウントの観測対象となった仮想サーバに対してハードウェアリソースの割り当てがなされる。
【００２５】
回収カウント値とは、各仮想サーバの応答時間超過率がそれぞれ回収閾値以下になった観測値の数であり、回収カウント閾値とは、ハードウェアリソースの回収を行うか否かの判断を行うための境界値である。回収カウント値が、回収カウント閾値に達した場合、回収カウントの観測対象となった仮想サーバに対してハードウェアリソースの回収がなされる。
【００２６】
表１では、優先度の数が大きいほど優先度が高いことを示す。表１に示すｎは、最大緊急優先度を示す。図３の曲線１１５に示す優先度の高い仮想サーバは、優先度が「５」であり、図３の曲線１２５に示す優先度の低い仮想サーバは、緊急優先度が「２」である。
【００２７】
表１を参照すると、最大優先度ｎを「６」とすると、優先度「５」の場合、曲線１１５に示す優先度の高い仮想サーバは、割り当てカウント閾値が「６−４＝２」となり、回収カウント閾値が「５」になる。また、優先度「２」の場合、曲線１２５に示す優先度の低い仮想サーバは、回収カウント閾値が「６−２＝４」となり、回収カウント閾値が「２」になる。
【００２８】
したがって、曲線１１５に示す優先度の高い仮想サーバは、割り当てカウント閾値が「２」であるため、２つの連続する観測点で応答時間超過率が割り当て閾値以上になるとき、仮想サーバにハードウェアリソースの割り当てが行われる。一方、図３に示す曲線１２５は、割り当てカウント閾値が「５」であるため、５つの連続する観測点で応答時間超過率が割り当て閾値以上になるとき、優先度の低い仮想サーバにハードウェアリソースの割り当てが行われる。このように、優先度の高い仮想サーバの方が、応答時間超過率がリソース割り当て閾値以上となると、ハードウェアリソースの割り当てが早期になされる。
【００２９】
また、曲線１１５に示す優先度の高い仮想サーバは、回収カウント閾値が「５」であるため、５つの連続する観測点で応答時間超過率が回収閾値以下になるとき、仮想サーバからハードウェアリソースが回収される。一方、図３に示す曲線１２５は、回収カウント閾値が「２」であるため、２つの連続する観測点で応答時間超過率が回収閾値以下になるとき、優先度の低い仮想サーバからハードウェアリソースが回収される。このように、優先度の高い仮想サーバの方が、応答時間超過率がリソース回収閾値以下となると、ハードウェアリソースの回収が遅れてなされる。
【００３０】
このように、優先度の高い仮想サーバは、ユーザからの要求に対するアプリケーション実行に伴う応答時間が長くなると、優先度の低い仮想サーバと比して、より迅速にハードウェアリソースの割り当てがなされる。そして、優先度の高い仮想サーバは、ユーザからの要求に対するアプリケーション実行に伴う応答時間が短くなっても、優先度の低い仮想サーバと比して、ハードウェアリソースの回収が遅くなる。したがって、利用ユーザ数の多いサービスを実行する仮想サーバの優先度を、利用ユーザ数の少ないサービスを実行する仮想サーバより高く設定することで、応答時間の品質を優先的に確保することができる。
【００３１】
以下では、表１及び図３を用いて示した優先度に応じたハードウェアリソースの割り当てを行うリソース制御装置を含む〔２〕情報システムの構成、〔３〕リソース制御装置のハードウェア構成、〔４〕リソース制御装置の機能構成を説明する。さらに、〔５〕プロビジョニング管理部及び物理サーバ、〔６〕リソース制御装置が実行するリソース制御処理のフローチャートについて順に説明する。
【００３２】
〔２〕情報システムの構成
図４は、情報システムの一例を説明する図である。情報システム３００は、リソース制御装置（ハードウェアリソース割り当て装置）５００、及び、物理サーバ４００を有する。物理サーバ４００は、クライアントコンピュータとしてのクライアント１００とインターネット等のネットワーク２００を介して接続する。情報システム３００は、例えば、データセンタに配置される。
【００３３】
データセンタに配置される情報システム３００に対してアクセスするクライアント１００の数は、多い。そのため、クライアント１００の台数は、図４に示す「１」台に限定されず、複数台となってもよい。また、物理サーバ４００の台数もデータセンタに配置されるサーバの数に相当するため、物理サーバ４００の台数は、図４に示す「１」台に限定されず、複数台となってもよい。
【００３４】
物理サーバ４００は、複数の仮想サーバを実現し、クライアント１００にサービスを提供する。リソース制御装置５００は、物理サーバ４００が実現する複数の仮想サーバに対して、ハードウェアリソースの割り当て又は回収を行う。
【００３５】
クライアント１００は、ネットワーク２００を介して、仮想サーバが提供するサービスに対する要求を、物理サーバ４００に送信する。クライアント１００は、図４には示さない、ＣＰＵ（Central Processing Unit）、メインメモリ、ＮＩＣ（Network Interface Card）、及び、図４に示すディスプレイ１０３及び入力装置１０６を有する。入力装置１０６は、例えば、キーボードである。クライアント１００のＣＰＵは、Ｗｅｂブラウザを実行し、入力装置１０６からの入力情報に従って物理サーバ４００への要求を生成する。クライアント１００のＣＰＵは、ＮＩＣを制御して、要求を送信し、要求に対する応答を物理サーバ４００から受信する。クライアント１００のＣＰＵは、物理サーバ４００から応答を受信すると、Ｗｅｂブラウザを実行して、応答をディスプレイ１０３に表示する。
【００３６】
〔３〕リソース制御装置のハードウェア構成
次に、リソース制御装置のハードウェア構成について説明する。図５は、リソース制御装置のハードウェア構成の一例を示す図である。図５に示すように、リソース制御装置５００は、処理部５１０、記憶部５２０、通信部５３０、補助記憶部５４０、ドライブ部５５０、及びＩ／Ｏコントローラ５６０を有する。なお、リソース制御装置５００は、後に説明する図７のように、プロビジョニング管理部３５０を含んでもよい。
【００３７】
処理部５１０は、Ｉ／Ｏコントローラ５６０を介して、通信部５３０、補助記憶部５４０、及びドライブ部５５０に接続する。処理部５１０は、記憶部５２０に記憶されたプログラムを実行することで、記憶部５２０からデータをロードし、ロードしたデータを演算して、記憶部５２０に演算結果をストアする。処理部５１０は、例えば、ＣＰＵである。
【００３８】
Ｉ／Ｏコントローラ５６０は、処理部５１０と、他の接続装置との接続を制御する装置である。Ｉ／Ｏコントローラ５６０は、例えば、ＰＣＩ  Ｅｘｐｒｅｓｓ（Peripheral Component Interconnect Express）などの規格に従って動作する。
【００３９】
記憶部５２０は、データやプログラムを記憶する装置である。記憶部５２０は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）である。図６は、記憶部のメモリマップの一例を示す図である。図６に示すように、記憶部５２０は、ＣＭＤＢ１１０、リソース割り当て制御情報１２０、要求応答時間情報１３０、及びプログラム９９０を格納する。ＣＭＤＢ１１０、リソース割り当て制御情報１２０は、要求応答時間情報１３０、図９を用いて、それぞれ後述する。プログラム９９０は、図３を用いて示したように、優先度に応じたハードウェアリソースの割り当てを行うためのハードウェアリソース割り当てプログラムである。処理部５１０は、プログラム９９０を実行することで、後述するリソース制御処理〔６〕に示すように、仮想サーバに対するハードウェアリソースの割り当て制御を行う。
【００４０】
通信部５３０は、通信経路としてのネットワークと接続し、ネットワークに接続された他の情報処理装置との間でデータを送受信する装置である。通信部５３０は、例えば、ＮＩＣ（Network Interface Controller）である。
【００４１】
補助記憶部５４０は、電源供給が無くても情報を保持可能であり、記憶部５２０に格納されるプログラム及びデータを記憶する非揮発性の装置である。補助記憶部５４０は、磁気ディスクを用いたディスクアレイ、又は、フラッシュメモリを用いたＳＳＤ（Solid State Drive）等である。
【００４２】
ドライブ部５５０は、例えば、フロッピー（登録商標）ディスクやＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＤＶＤ（Digital Versatile Disc）などの記憶媒体５９０を読み書きする装置である。ドライブ部５５０は、記憶媒体５９０を回転させるモータや記憶媒体５９０上でデータを読み書きするヘッド等を含む。なお、記憶媒体５９０は、プログラムを格納することができる。ドライブ部５５０は、ドライブ部５５０にセットされた記憶媒体５９０からプログラム９９０を読み出す。処理部５１０は、ドライブ部５５０により読み出されたプログラム９９０を、記憶部５２０又は補助記憶部５４０に格納する。
【００４３】
入力部５７０は、入力信号を処理部５１０に出力する装置であり、例えば、キーボードやマウスである。出力部５８０は、処理部５１０から出力される出力信号を表示する装置であり、例えば、ディスプレイである。
【００４４】
なお、物理サーバ４００は、上記したリソース制御装置５００のハードウェア構成と同様のハードウェア構成を有してもよい。ただし、物理サーバ４００の記憶部は、仮想化ソフトウェア、複数のＯＳ、及び、仮想サーバが提供するサービスのためのプログラムを格納する。
【００４５】
〔４〕リソース制御装置の機能構成
図７は、リソース制御装置の機能構成ブロックの一例を示す図である。リソース制御装置（ハードウェアリソース割り当て装置）５００は、ＣＭＤＢ１１０、リソース割り当て制御情報１２０、要求応答時間情報１３０、優先度算出部１４０、リソース割り当て制御部１５０、応答時間管理部１６０、及び、アクセス数管理部１７０を有する。優先度算出部１４０、リソース割り当て制御部１５０、応答時間管理部１６０、及び、アクセス数管理部１７０は、処理部５１０が、プログラム９９０を実行することで実現されるユニットである。リソース制御装置５００は、物理サーバ４００に関する構成情報および運用状況の情報を、ＣＭＤＢ１１０に収集する。リソース制御装置５００は、ＣＭＤＢ１１０に収集したアクセス数を元に物理サーバ４００にある各仮想サーバの優先度を算出するとともに、応答時間及び算出した優先度に基づいて物理サーバ４００にハードウェアリソースの割り当てを行う。このように、リソース制御装置５００は、リソースの割り当てを行うととともに、優先度を動的に算出することができる。
【００４６】
プロビジョニング管理部３５０は、少なくとも１つの物理サーバ４００からなるハードウェアリソースを、ハードウェアリソースプール３２０として管理する。ここで、図７において、プロビジョニング管理部３５０は、ハードウェアリソース割り当て装置（リソース制御装置５００）に含めて描かれているが、リソース制御装置５００とは別の物理サーバとして設けることもできる。
【００４７】
複数の仮想サーバ３７０は、物理サーバ４００が仮想化ソフトウェアを実行することで生成される仮想サーバである。各仮想サーバは、上記したように、プロビジョニング管理部３５０によりハードウェアリソースが割り当て又は回収され、Ｗｅｂサーバ、アプリケーションサーバ、ＤＢサーバ等のサーバとして動作する。
【００４８】
図７に示す機能構成ブロックを、図８〜図１０にそれぞれ示すＣＭＤＢ１１０内の構成情報、リソース割り当て制御情報１２０、及び要求応答時間情報１３０の詳細例を参照して説明する。
【００４９】
〔４．１〕応答時間管理部
応答時間管理部１６０は、物理サーバ４００で実現される各仮想サーバによる外部クライアントのアクセスに対する応答時間を観測し、観測した応答時間をＣＭＤＢ１１０内の構成情報に格納する。アクセス数管理部１７０は、物理サーバ４００に対する外部アクセス数を観測し、観測した外部アクセス数をＣＭＤＢ１１０内の構成情報８００に格納する。なお、構成情報の設定値は、ＳＬＡで定義される。
【００５０】
図８Ａ及び図８Ｂは、ＣＭＤＢ内の構成情報の一例を示す図である。図８Ａに示す構成情報８００は、ＣＩ種別として「サーバドメイン」、「サーバ」、及び「サービス」が登録される。構成情報８００で管理されるサーバは、仮想サーバである。
【００５１】
「サーバドメイン」ＣＩには、「ドメインＩＤ」と「ドメイン名」との対応関係が登録される。「サーバ」ＣＩには、「サーバＩＰアドレス」と、「サーバ名」と、「種別」と、「単位時間アクセス数」との対応関係が登録される。仮想サーバの種別によって、単位時間アクセス数とは、例えば、単位時間にクライアントから要求され且つ確立したコネクションの数であり、仮想サーバの種別によって単位時間アクセス数は変わる。「単位時間アクセス数」は優先度の算出に利用され、「単位時間アクセス数」が高い仮想サーバは、利用ユーザ数の多いサービスを提供する仮想サーバであるので、高い優先度が設定される。
【００５２】
「サービス」ＣＩには、「サービスＩＤ」と「サービス名」と「重要度」との対応関係が記録される。「重要度」は、ＳＬＡに基づく設定値である。サービスによって、重要度は変わる。
【００５３】
図８Ｂに示す構成情報８５０は、「サーバドメイン」と、「サーバ名」と、「サービスＩＤ」との対応関係が記録される。図８Ｂに示される例では、ドメインＩＤが「１」のサーバドメインは、「Ｗｅｂ  ＳＶ」、「Ａｐｐ  ＳＶ」、「ＤＢ  ＳＶ」の仮想サーバから構成される。「Ｗｅｂ  ＳＶ」、「Ａｐｐ  ＳＶ」、「ＤＢ  ＳＶ」の仮想サーバは、それぞれ「１、２」、「３」、「４」のサービスＩＤで特定されるサービスを提供する。
【００５４】
〔４．２〕優先度算出部
優先度算出部１４０は、構成情報に格納されたアクセス数を参照して、ＣＭＤＢ１１０から各仮想サーバの優先度の計算に必要な属性値を取得して、優先度を算出する。優先度算出部１４０は、単位時間当たりのアクセス数が多いほど、優先度を高く設定する。優先度算出部１４０は、算出した優先度を、リソース割り当て制御情報１２０に格納する。優先度算出部１４０は、図８Ａの構成情報８００に記録される「重要度」及び「単位時間アクセス数」を用いて、「設計偏差値」及び「実態偏差値」をそれぞれ算出し、「設計偏差値」及び「実態偏差値」から優先度を算出する。
【００５５】
優先度は、データセンタ全体における各仮想サーバの応答時間をもとに、算出することで、各仮想サーバのハードウェアリソースの実際の必要性を優先度に反映し、利用ユーザ数の多いサービスをリアルタイムで確認することができる。
【００５６】
優先度は、例えば、以下のように定義される。
優先度＝（設計偏差値＋実態偏差値）／２  ・・・（式１）
式１の２つの変数の意味を以下に示す。
【００５７】
設計偏差値は、サービスと仮想サーバの運用体制の中で評価される各仮想サーバの重要度の指標である。設計偏差値は、ＳＬＡで定義されうる。設計偏差値は、ＳＬＡに基づいて決定できるので、データセンタを利用するユーザに対して、応答時間の品質を優先的に確保するというきめ細やかなサービスを提供できる。設計偏差値は、構成情報８００のサービスＣＩの「重要度」から算出される。例えば、図８Ａの構成情報８００に示すように、サービスＣＩのサービス名によって、重要度は変わる。設計偏差値は、ＣＭＤＢ１１０内の構成情報の重要度を参照して、データセンタ全体で実行されるサービスの全重要度を母集団として、各重要度が母集団の中でどれくらいの位置にあるか示す偏差値である。
【００５８】
実態偏差値は、各仮想サーバが外部からどの程度利用されているかにより評価される各仮想サーバの重要度の指標である。実態偏差値は、構成情報８００のサーバＣＩの「単位時間アクセス数」から算出される。実態偏差値は、データセンタ全体で実行される仮想サーバに対する「単位時間アクセス数」を母集団として、各仮想サーバが母集団の中でどれくらいの位置にあるかを示す偏差値である。
【００５９】
なお、実態偏差値の算出におけるＣＭＤＢ１１０の果たす役割は、単に応答時間やアクセス数を提供するだけではない。優先度は、ＣＭＤＢ１１０が管理する構成情報８００のサーバＣＩの「サーバ種別」も考慮することで、種別によるアクセス数の偏りを排除して算出される。これにより、ユーザにそれぞれ特有のサービスを提供している各ドメインが、データセンタ全体のアクセス数の中でどの程度のアクセス数を有しているかを、定量化することが可能となる。
【００６０】
上記の式１に示すように、ＳＬＡで定義可能な設計偏差値と、定量的なアクセス数に基づく実態偏差値によって優先度を定義してもよいし、実態偏差値のみで優先度をきめてもよい。なお、式１に示すように設計偏差値を優先度の操作変数とした場合、利用ユーザ数の多いサービスに対する応答時間の品質を優先的に確保することに加えて、ユーザに対してＳＬＡに基づく応答時間の品質を提供することが可能になる。
【００６１】
優先度算出部１４０は、各仮想サーバに設計偏差値と実態偏差値の平均値が大きいほど高い優先度を設定し、それに応じて割り当てカウント閾値および回収カウント閾値を決定する。各カウント閾値は、例えば優先度に応じて以下のようにランク分けして設定される。なお、ある仮想サーバの単位時間あたりのアクセス数−全仮想サーバの単位時間あたりのアクセス数の平均をｘ、全仮想サーバの単位時間あたりのアクセス数の標準偏差をσとする。
【００６２】
【表２】
2015156234.tif 000004
【００６３】
優先度算出部１４０は、算出された優先度を元に、各仮想サーバに割り当て又は回収カウント閾値を決定し、リソース割り当て制御情報１２０に登録する。
【００６４】
図９は、リソース割り当て制御情報の一例を示す図である。リソース割り当て制御情報１２０は、表１に示したリソース割り当て制御情報と異なり、「割り当てカウント閾値」と、「回収カウント閾値」と、「優先度」との対応関係に加えて、「サーバＩＰアドレス」を含む。「サーバＩＰアドレス」により仮想サーバの構成情報８００及び８５０と関係付けられるので、優先度算出部１４０は、構成情報８００及び８５０に基づいて算出した優先度を、リソース割り当て制御情報１２０に仮想サーバ毎に登録することができる。
【００６５】
「割り当てカウント閾値」と、「回収カウント閾値」は、図３で説明したように、各仮想サーバの応答時間超過率がそれぞれ割り当て閾値以上になった又は回収閾値以下になった観測値の数（割り当て／回収カウント値）に対して適用される。
【００６６】
割り当て／回収カウント値には以下の性質を持たせる。
・観測された応答時間超過率が回収閾値未満の場合には回収カウント値に１を加え、割り当て閾値以上の場合には割り当てカウント値に１を加える。
・観測された応答時間超過率が前回の観測値との比較において、割り当て閾値を上から下にまたぐ場合には割り当てカウント値を０に、回収閾値を下から上にまたぐ場合には回収カウント値を０にする。
・ハードウェアリソースが割り当てされたら割り当てカウント値を、回収されたら回収カウント値をそれぞれ０にする。
【００６７】
〔４．３〕リソース割り当て制御部
リソース割り当て制御部１５０は、要求応答時間情報１３０内の要求応答時間と、応答時間管理部１６０が観測した応答時間を比較し、リソース割り当て制御情報１２０の内容に基づいて、各仮想サーバに対するハードウェアリソースの割り当て又は回収を決定する。決定した結果はプロビジョニング管理部３５０に伝えられ、プロビジョニング管理部３５０によって、物理サーバ４００内の各仮想サーバに対してハードウェアリソース割り当て又は回収が行われる。
【００６８】
リソース割り当て制御部１５０は、応答時間管理部１６０を通して各仮想サーバの応答時間を参照し、要求応答時間情報１３０内の要求応答時間に対する超過率（応答時間超過率）を求める。
【００６９】
図１０は、要求応答時間情報の一例を示す図である。要求応答時間情報１３０は、「サービスＩＤ」と、「サービス名」と、「要求応答時間［ｍｓ］」との対応関係が登録される。なお、要求応答時間は、ＳＬＡに基づく設定値である。
【００７０】
リソース割り当て制御部１５０は、図３に示すように、応答時間超過率が、割り当て閾値以上になるか否かと、回収閾値以下になるか否かを計算する。そして、リソース割り当て制御部１５０は、応答時間超過率が、割り当て閾値以上になった場合、又は、回収閾値以下になった場合、連続して割り当て閾値以上又は回収閾値以下になる観測点の回数（割り当て又は回収カウント値）をカウントする。
【００７１】
なお、応答時間超過率は次のように定義する。
応答時間超過率＝観測された応答時間／要求応答時間  ・・・（式２）
なお、上記したように要求応答時間は、要求応答時間情報１３０内に登録されており、ＳＬＡにより決定される値である。
【００７２】
リソース割り当て制御部１５０は、以下の定義に従い、ハードウェアリソースの割り当て又は回収を行う。ある仮想サーバについて、連続割り込み回数（回収閾値）≧回収カウント閾値の条件が成立する場合、リソース割り当て制御部１５０は、当該仮想サーバに関して前回の割り当てハードウェアリソースを回収する。ある仮想サーバについて、割り当てカウント値≧割り当てカウント閾値の条件が成立する場合、リソース割り当て制御部１５０は、当該仮想サーバに関してハードウェアリソースの割り当てを行う。リソース割り当て制御部１５０は、上記以外の条件の場合、ハードウェアリソースの割り当て又は回収は行わない。
【００７３】
また、リソース割り当て制御部１５０は、割り当てカウント閾値又は回収カウント閾値に対してフィードバックによる補正量を加えることができる。リソース割り当て制御部１５０は、所定のサンプリングタイムにより応答時間超過率を観測する。応答時間超過率が前回観測値より今回観測値が大きく変化した場合、ユーザからのアクセスが大きく変化したことを示すので、リソース割り当て制御部１５０は、大きな補正量により、カウント閾値を大きく変化させて、ハードウェアリソース割り当て又は回収を早くする。
【００７４】
リソース割り当て制御部１５０は、応答時間が長くなるように変化する場合、割り当てカウント閾値が小さくなるように補正し、又は、応答時間が短くなるように変化する場合、回収カウント閾値が小さくなるように補正する
【００７５】
例えば、以下のような、超過率の前回の観測値と今回の観測値の条件の組み合わせ表から、「（割り当てカウント閾値の補正量、回収カウント閾値の補正量）」を求める。
【００７６】
【表３】
2015156234.tif 000005
【００７７】
超過域：  応答時間超過率≧割り当て閾値、を満たす領域
余剰域：  応答時間超過率≦回収閾値、を満たす領域
平常域：  上記２つ以外の領域
【００７８】
リソース割り当て制御部１５０は、求めた補正量を割り当て／回収カウント閾値に加算する。ただし、補正後の閾値が０以下になる場合は１とし、７以上になる場合は６とする。
【００７９】
前回の観測において応答時間超過率が「超過域」又は「平常域」にある仮想サーバが、今回の観察で応答時間超過率が「超過域」になる場合、リソース割り当て制御部１５０は、割り当てカウント閾値を「−１」に補正する。割り当てカウント閾値が減ることで、リソース割り当て制御部１５０は、応答時間超過率が「超過域」になる仮想サーバに対して、補正の無い場合と比してより迅速なハードウェアリソースの割り当てを行う。
【００８０】
前回の観測において応答時間超過率が「余剰域」にある仮想サーバが、今回の観察で応答時間超過率が「超過域」になる場合、前回の観測からユーザからのアクセスが急激に増えたことを示す。リソース割り当て制御部１５０は、割り当てカウント閾値を「−２」補正した閾値で、ハードウェアリソースの割り当てを行うことで、応答時間超過率が「余剰域」から「超過域」になる仮想サーバに対して、前回の観測で応答時間超過率が「超過域」又は「平常域」である場合より、迅速なハードウェアリソースの割り当てを行う。
【００８１】
前回の観測において応答時間超過率が「超過域」にある仮想サーバが、今回の観察で応答時間超過率が「平常域」になる場合、リソース割り当て制御部１５０は、回収カウント閾値を「−１」に補正する。回収カウント閾値が減ることで、応答時間超過率が「余剰域」である仮想サーバに対して、補正の無い場合と比してより迅速なハードウェアリソースの回収を行う。
【００８２】
前回の観測において応答時間超過率が「余剰域」にある仮想サーバが、今回の観察で応答時間超過率が「平常域」になる場合、前回の観測からユーザからのアクセスが増えたことを示す。リソース割り当て制御部１５０は、割り当てカウント閾値を「−１」補正した閾値で、ハードウェアリソースの割り当てを行うことで、応答時間超過率が「余剰域」から「平常域」になる仮想サーバに対して、前回の観測で応答時間超過率が「超過域」又は「平常域」である場合より、迅速なハードウェアリソースの割り当てを行う。
【００８３】
前回の観測において応答時間超過率が「超過域」にある仮想サーバが、今回の観察で応答時間超過率が「余剰域」になる場合、前回の観測からユーザからのアクセスが急激に減ったことを示す。リソース割り当て制御部１５０は、回収カウント閾値を「−２」補正した閾値で、ハードウェアリソースの回収を行うことで応答時間超過率が「超過域」から「余剰域」になる仮想サーバに対して、前回の観測で応答時間超過率が「平常域」又は「余剰域」にある場合より、迅速なハードウェアリソースの回収を行う。
【００８４】
前回の観測において応答時間超過率が「平常域」又は「余剰域」にある仮想サーバが、今回の観察で応答時間超過率が「余剰域」になる場合、リソース割り当て制御部１５０は、回収カウント閾値を「−１」補正する。回収カウント閾値が減ることで、応答時間超過率が「余剰域」である仮想サーバに対して、補正の無い場合と比してより迅速なハードウェアリソースの回収を行う。
【００８５】
図１１は、優先度算出部及びリソース割り当て制御部が行う処理の概要を説明する図である。図１１を用いて、優先度の算出からハードウェアリソースの割り当て又は回収の決定までの手順を説明する。
【００８６】
優先度算出部１４０は、ＣＭＤＢ１１０内の情報を用いて、各仮想サーバの優先度を算出する（Ｓ９０１）。リソース割り当て制御部１５０は、リソース割り当て制御情報１２０を参照して、割り当て又は回収カウント閾値を決定する（Ｓ９０２）。当該ステップでは、リソース割り当て制御部１５０は、補正した割り当て又は回収カウント閾値を用いてもよい。リソース割り当て制御部１５０は、要求応答時間情報１３０を参照して応答時間超過率を算出し、応答時間超過率が割り当て閾値以上の期間又は回収閾値以下の期間がどの程度の時間であるかを判断することで、ハードウェアリソースの割り当て又は回収を判定する（Ｓ９０３）。リソース割り当て制御部１５０は、判定に基づいてプロビジョニング管理部３５０にハードウェアリソースの割り当て又は回収を依頼する（Ｓ９０４）。また、リソース割り当て制御部１５０は、応答時間超過率から割り当て又は回収カウントの補正量を決定する（Ｓ９０５）。
【００８７】
〔５〕プロビジョニング管理部及び物理サーバ
図１２は、プロビジョニング管理部と、ゲストＯＳとの関係の一例を示す図である。プロビジョニング管理部３５０は、少なくとも１つの物理サーバ４００からなるハードウェアリソースを、ハードウェアリソースプール３２０として管理する。ハードウェアリソースプール３２０は、ハードウェアリソースを仮想化し、準備した複数の仮想サーバである仮想イメージプール３２５を構成する。データセンタ内の物理サーバ４００は、仮想化技術によって複数の仮想サーバとしての仮想イメージプール３２５として管理される。ユーザ数が増えるなどにより、仮想サーバに必要な機能又は能力が増えた場合は、それに応じて動的にハードウェアリソースプール３２０から、ゲストＯＳへのハードウェアリソースの割り当てを増やすことで、データセンタ内のハードウェアリソースが有効に活用される。
【００８８】
プロビジョニング管理部３５０は、例えば、ハードウェアリソース割り当て装置（リソース制御装置５００）に含まれ、ハードウェアリソース割り当て又は回収依頼に従って、仮想サーバにハードウェアリソースを割り当てる。なお、プロビジョニング管理部３５０は、物理サーバ４００が仮想化ソフトウェアを実行することで、各仮想サーバによるハードウェアリソースへの入出力を制御し、仮想サーバに対するハードウェアリソースの割り当てを変更する。
【００８９】
例えば、仮想サーバに対するハードウェアリソースの新規割り当ては、ある仮想サーバに対するＣＰＵ使用率の割り当ての増加や、仮想サーバに割り当てられる物理メモリの容量の増加である。また、仮想サーバに対するハードウェアリソースの回収は、ある仮想サーバに対するＣＰＵ使用率の割り当ての低下や、仮想サーバに割り当てられる物理メモリの容量の低下である。なお、プロビジョニング管理部３５０は、リソース制御装置５００とは別の物理サーバとして設けることもできる。
【００９０】
〔６〕リソース制御処理
図１３は、リソース制御装置による処理の全体概要を示すフローチャートである。まず、リソース割り当て制御部１５０は、応答時間超過率が割り当て閾値以上又は回収閾値以下の仮想サーバがあるか否か判断する（Ｓ１００１）。応答時間超過率が割り当て閾値以上又は回収閾値以下の仮想サーバがある場合（Ｓ１００１  Ｙ）、優先度算出部１４０は、仮想サーバごとに優先度を算出する（Ｓ１００２）。なお、優先度の算出処理の詳細は、図１４を用いて、後述する。次に、リソース割り当て制御部１５０は、各仮想サーバの優先度に基づいて、リソースの割り当て又は回収を行う（Ｓ１００３）。リソース割り当て制御部１５０は、ハードウェアリソースプール３２０において割り当てられていない未割り当てリソースが基準値を割り込んでいるか否か判断する（Ｓ１００４）。未割り当てリソースが基準値を割り込んでいる場合（Ｓ１００４  Ｙ）、リソース割り当て制御部１５０は、回収されていない仮想サーバの中で優先度が最も低いもののうち、応答時間超過率が１以下の仮想サーバからリソース回収して（Ｓ１００５）、処理を終了する。また、未割り当てリソースが基準値を割り込んでいない場合（Ｓ１００４  Ｎ）、リソース割り当て制御部１５０は、処理を終了する。
【００９１】
図１４は、優先度の算出フローの一例を示す図である。優先度算出部１４０は、ＣＭＤＢ１１０内の構成情報を用いて、各仮想サーバの優先度を算出する。具体的な処理工程は以下の通りである。
【００９２】
まず、後述するＳ１１０１〜Ｓ１１０３を実行することで、設計偏差値が計算される。優先度算出部１４０は、ＣＭＤＢ１１０内に格納されたサーバＣＩを検索する（Ｓ１１０１）。優先度算出部１４０は、ＣＭＤＢ１１０内の構成情報８５０によって各サーバＣＩに関連付けられたサービスＣＩの重要度の合計を算出する（Ｓ１１０２）。優先度算出部１４０は、重要度の合計値を元に偏差値を算出し、設計偏差値として記憶部５２０に記憶する（Ｓ１１０３）。
【００９３】
次に、後述するＳ１１１１〜Ｓ１１１３を実行することで、実態偏差値を計算される。優先度算出部１４０は、ＣＭＤＢ１１０内の構成情報８５０にあるサーバＣＩの単位時間アクセス数を参照する（Ｓ１１１１）。優先度算出部１４０は、ＣＭＤＢ１１０に格納された構成情報を用いて、仮想サーバの種別ごとに分類した上で、単位時間あたりのアクセス数の偏差値を算出する（Ｓ１１１２）。優先度算出部１４０は、サーバ種別ごとに偏差値を求めることで、サーバ種別の違いによるアクセス数の偏りを打ち消すことができる。全ての仮想サーバについて計算が終了していない場合（Ｓ１１１３  Ｎ）、再度Ｓ１１０１に戻り偏差値の計算を繰り返す。全ての仮想サーバについて計算が終了した場合（Ｓ１１１３  Ｙ）、優先度算出部１４０は、検索対象とするサーバ種別を設定し（Ｓ１１２１）、ＣＭＤＢ１１０内に格納されたドメインＣＩを検索する（Ｓ１１２２）。優先度算出部１４０は、ドメインＣＩに関連づけられたサーバＣＩのうち、検索対象のサーバ種別に該当するものを検索する（Ｓ１１２３）。優先度算出部１４０は、検索された仮想サーバについて、アクセス数密度の記録ファイルを元にアクセス数密度偏差値を算出し、実態偏差値として記録する（Ｓ１１２４）。優先度算出部１４０は、ＣＭＤＢ１１０内において実態偏差値が未登録のサーバ種別が存在するか否か判断する（Ｓ１１２５）。実態偏差値が未登録のサーバ種別は存在する場合（Ｓ１１２５  Ｙ）、優先度算出部１４０は、Ｓ１１２１に戻り、再度、実態偏差値を記録する。実態偏差値が未登録のサーバ種別が無い場合（Ｓ１１２５  Ｎ）、優先度算出部１４０は、ＣＭＤＢ１１０内に格納されたドメインＣＩを検索する（Ｓ１１３１）。そして、優先度算出部１４０は、サーバＣＩの設計偏差値と実態偏差値の平均値を元にランク分けを行い、サーバの優先度を設定して（Ｓ１１３２）、処理を終了する。
【００９４】
図１５Ａ及び図１５Ｂは、リソース割り当て量を制御処理の一例を示すフローチャートである。リソース割り当て制御部は、要求応答時間情報及びリソース割り当て制御情報内のデータを参照して、リソース割り当て又は回収のタイミングおよび量を決定する。具体的な処理工程は以下の通りである。
【００９５】
まず、リソース割り当て制御部１５０は、構成情報内の各仮想サーバの優先度から、割り当て又は回収カウント閾値を求める（Ｓ１２０１）。リソース割り当て制御部１５０は、各仮想サーバの応答時間超過率をチェックする（Ｓ１２０２）。リソース割り当て制御部１５０は、前回の応答時間超過率および優先度から補正量を求め、補正量を割り当て又は回収カウント閾値に加える（Ｓ１２０３）。リソース割り当て制御部１５０は、応答時間超過率が割り当て閾値以上か否か判断する（Ｓ１２０４）。
【００９６】
応答時間超過率が割り当て閾値以上の場合（Ｓ１２０４  Ｙ）、リソース割り当て制御部１５０は、割り当てカウント値に「１」を加算する（Ｓ１２０５）。リソース割り当て制御部１５０は、割り当てカウント値が閾値以上であるか否か判断する（Ｓ１２０６）。割り当てカウント値が閾値以上である場合（Ｓ１２０６  Ｙ）、リソース割り当て制御部１５０は、割り当てカウント値を「０」にして、割り当てフラグを設定して（Ｓ１２０７）、ステップＳ１２１３に示す処理を実行する。
【００９７】
応答時間超過率が割り当て閾値以上ではない場合（Ｓ１２０４  Ｎ）、リソース割り当て制御部１５０は、応答時間超過率が回収閾値以下か否かを判断する（Ｓ１２０８）。応答時間超過率が回収閾値以下の場合（Ｓ１２０８  Ｙ）、リソース割り当て制御部１５０は、回収カウント値に「１」を加算する（Ｓ１２０９）。応答時間超過率が回収閾値を下回っていない場合（Ｓ１２０８  Ｎ）、リソース割り当て制御部１５０は、リソース割り当て制御部１５０は、回収カウント値及び割り当てカウント値を「０」にして（Ｓ１２１２）、ステップＳ１２１３に示す処理を実行する。
【００９８】
次に、リソース割り当て制御部１５０は、回収カウント値が閾値以上であるか否か判断する（Ｓ１２１０）。回収カウント値が閾値以上である場合（Ｓ１２１０  Ｙ）、リソース割り当て制御部１５０は、回収カウント値を「０」にして、回収フラグを設定し（Ｓ１２１１）、ステップＳ１２１３に示す処理を実行する。回収カウント値が閾値以上である場合（Ｓ１２１０  Ｎ）、リソース割り当て制御部１５０は、ステップＳ１２１３に示す処理を実行する。
【００９９】
ステップＳ１２１３では、リソース割り当て制御部１５０は、全ての仮想サーバのチェックを完了したか否かを判断する。全ての仮想サーバのチェックを完了していない場合（Ｓ１２１３  Ｎ）、Ｓ１２０１に示す処理を実行する。全ての仮想サーバのチェックを完了した場合（Ｓ１２１３  Ｙ）、リソース割り当て制御部１５０は、回収フラグが設定された仮想サーバに前回割り当てられたリソースを回収し（Ｓ１２２１）、割り当てフラグが設定された仮想サーバにリソースを割り当てする（Ｓ１２２２）。なお、Ｓ１２２１及びＳ１２２２の処理は、リソース割り当て制御部１５０が、プロビジョニング管理部３５０に、リソース割り当て又は回収依頼を要求し、プロビジョニング管理部３５０が、仮想サーバに対してハードウェアリソースの割り当て又は回収を行う。リソース割り当て制御部１５０は、全仮想サーバの割り当てフラグと回収フラグをクリアして（Ｓ１２２３）、リソース割り当て又は回収処理フローを終了する。
【０１００】
以上の実施形態に関し、更に以下の付記を開示する。
（付記１）
仮想サーバへの処理の要求に対する応答特性の劣化の程度が所定の第１の程度より大きくなると、前記仮想サーバに割り当てるハードウェアリソースを増大させる制御を行う制御手段を備え、
前記制御手段は、前記仮想サーバへのアクセス頻度の増大に応じて、前記所定の第１の程度をより小さい劣化の第２の程度に変更する制御を行う、
ことを特徴とするリソース制御装置。
【０１０１】
（付記２）
前記制御手段は、前記仮想サーバへの処理の要求に対する応答特性の劣化の程度が前記所定の第１の程度よりも小さい劣化の程度である所定の第３の程度より小さくなると、前記仮想サーバに割り当てるハードウェアリソースを減少させる制御を行い、また、前記制御手段は、前記仮想サーバへのアクセス頻度の増大に応じて、前記所定の第３の程度をより大きい劣化の第４の程度に変更する制御を行う、
ことを特徴とする付記１に記載のリソース制御装置。
【０１０２】
（付記３）
前記制御手段は、前記仮想サーバへの処理の要求に対する応答特性の劣化の程度が、前記第２の程度よりも大きくなると、前記所定の第１の程度より大きくなったときより短い時間で、当該仮想サーバに割り当てるハードウェアリソースを増大させる、
ことを特徴とする付記１または２に記載のリソース制御装置。
【０１０３】
（付記４）
前記制御手段は、前記仮想サーバへの処理の要求に対する応答特性の劣化の程度が、前記第４の程度よりも小さくなると、前記所定の第３の程度より小さくなったときより長い時間で、当該仮想サーバに割り当てるハードウェアリソースを減少させる、
ことを特徴とする請求項１〜３のいずれか１項に記載のリソース制御装置。
【０１０４】
（付記５）
前記仮想サーバへのアクセス頻度の増減に対応する優先度を格納する記憶部を、さらに、有することを特徴とする請求項１〜４のいずれか１項に記載のリソース制御装置。
【０１０５】
（付記６）
前記優先度は、複数の仮想サーバに対してそれぞれ設定され、
前記制御手段は、前記複数の仮想サーバを、当該各仮想サーバの優先度に応じて制御する、
ことを特徴とする請求項５に記載のリソース制御装置。
【０１０６】
（付記７）
仮想サーバへの処理の要求に対する応答特性の劣化の程度が所定の第１の程度より大きくなると、前記仮想サーバに割り当てるハードウェアリソースを増大させる制御を行い、また、
前記仮想サーバへのアクセス頻度の増大に応じて、前記所定の第１の程度をより小さい劣化の第２の程度に変更して制御を行う、
ことを特徴とするリソース制御方法。
【０１０７】
（付記８）
さらに、前記仮想サーバへの処理の要求に対する応答特性の劣化の程度が前記所定の第１の程度よりも小さい劣化の程度である所定の第３の程度より小さくなると、前記仮想サーバに割り当てるハードウェアリソースを減少させる制御を行い、また、
前記仮想サーバへのアクセス頻度の増大に応じて、前記所定の第３の程度をより大きい劣化の第４の程度に変更する制御を行う、
ことを特徴とする付記７に記載のリソース制御方法。
【０１０８】
（付記９）
仮想サーバに対するハードウェアリソースの割り当て量を制御するためのリソース制御プログラムであって、コンピュータに、
仮想サーバへの処理の要求に対する応答特性の劣化の程度が所定の第１の程度より大きくなると、前記仮想サーバに割り当てるハードウェアリソースを増大させる制御を行い、また、
前記仮想サーバへのアクセス頻度の増大に応じて、前記所定の第１の程度をより小さい劣化の第２の程度に変更して制御を行う、処理を実行させることを特徴とするリソース制御プログラム。
【０１０９】
（付記１０）
さらに、前記コンピュータに、
前記仮想サーバへの処理の要求に対する応答特性の劣化の程度が前記所定の第１の程度よりも小さい劣化の程度である所定の第３の程度より小さくなると、前記仮想サーバに割り当てるハードウェアリソースを減少させる制御を行い、また、
前記仮想サーバへのアクセス頻度の増大に応じて、前記所定の第３の程度をより大きい劣化の第４の程度に変更する制御を行う、処理を実行させることを特徴とする付記９に記載のリソース制御プログラム。
【符号の説明】
【０１１０】
１００    クライアント
１１０    ＣＭＤＢ
１２０    リソース割り当て制御情報
１３０    要求応答時間情報
１４０    優先度算出部
１５０    リソース割り当て制御部
１６０    応答時間管理部
１７０    アクセス数管理部
２００    ネットワーク
３００    情報システム
３２０    ハードウェアリソースプール
３５０    プロビジョニング管理部
４００    サーバ
５００    リソース制御装置
９９０    プログラム
【図１】
2015156234.tif 000006
【図２】
2015156234.tif 000007
【図３】
2015156234.tif 000008
【図４】
2015156234.tif 000009
【図５】
2015156234.tif 000010
【図６】
2015156234.tif 000011
【図７】
2015156234.tif 000012
【図８Ａ】
2015156234.tif 000013
【図８Ｂ】
2015156234.tif 000014
【図９】
2015156234.tif 000015
【図１０】
2015156234.tif 000016
【図１１】
2015156234.tif 000017
【図１２】
2015156234.tif 000018
【図１３】
2015156234.tif 000019
【図１４】
2015156234.tif 000020
【図１５Ａ】
2015156234.tif 000021
【図１５Ｂ】
2015156234.tif 000022
【手続補正書】
【提出日】平成27年5月20日(2015.5.20)
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
一実施形態によれば、リソース制御プログラムが提供される。前記リソース制御プログラムは、コンピュータに、管理対象の複数の仮想サーバそれぞれに対するコネクションの、データ処理要求から応答までの時間である応答時間を収集し、前記複数の仮想サーバそれぞれの前記応答時間、および、前記複数の仮想サーバそれぞれについて規定された要求応答時間に基づき、前記複数の仮想サーバそれぞれについて応答率を生成する、処理を実行させる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
さらに、前記リソース制御プログラムは、コンピュータに、前記応答率、および、前記複数の仮想サーバそれぞれについて設定されたリソース割当閾値に基づき、前記複数の仮想サーバそれぞれに対するハードウェアリソースの割当制御を実行し、前記複数の仮想サーバに含まれる特定の仮想サーバに対する、前記割当制御の連続実施回数が第１の閾値を超える場合は、前記特定の仮想サーバの前記リソース割当閾値を減少する、処理を実行させる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１０３
【補正方法】変更
【補正の内容】
【０１０３】
（付記４）
前記制御手段は、前記仮想サーバへの処理の要求に対する応答特性の劣化の程度が、前記第４の程度よりも小さくなると、前記所定の第３の程度より小さくなったときより長い時間で、当該仮想サーバに割り当てるハードウェアリソースを減少させる、
ことを特徴とする付記１〜３のいずれか１項に記載のリソース制御装置。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１０４
【補正方法】変更
【補正の内容】
【０１０４】
（付記５）
前記仮想サーバへのアクセス頻度の増減に対応する優先度を格納する記憶部を、さらに、有することを特徴とする付記１〜４のいずれか１項に記載のリソース制御装置。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０１０５
【補正方法】変更
【補正の内容】
【０１０５】
（付記６）
前記優先度は、複数の仮想サーバに対してそれぞれ設定され、
前記制御手段は、前記複数の仮想サーバを、当該各仮想サーバの優先度に応じて制御する、
ことを特徴とする付記５に記載のリソース制御装置。
【手続補正７】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータに、
管理対象の複数の仮想サーバそれぞれに対するコネクションの、データ処理要求から応答までの時間である応答時間を収集し、
前記複数の仮想サーバそれぞれの前記応答時間、および、前記複数の仮想サーバそれぞれについて規定された要求応答時間に基づき、前記複数の仮想サーバそれぞれについて応答率を生成し、
前記応答率、および、前記複数の仮想サーバそれぞれについて設定されたリソース割当閾値に基づき、前記複数の仮想サーバそれぞれに対するハードウェアリソースの割当制御を実行し、
前記複数の仮想サーバに含まれる特定の仮想サーバに対する、前記割当制御の連続実施回数が第１の閾値を超える場合は、前記特定の仮想サーバの前記リソース割当閾値を減少する、
処理を実行させる、ことを特徴とするリソース制御プログラム。
【請求項２】
請求項１記載のリソース制御プログラムであって、
前記コンピュータに、さらに、
前記応答率、および、前記複数の仮想サーバそれぞれについて設定されたリソース回収閾値に基づき、前記複数の仮想サーバそれぞれに対するハードウェアリソースの回収制御を実行し、
前記複数の仮想サーバに含まれる特定の仮想サーバに対する、前記回収制御の連続実施回数が第２の閾値を超える場合は、前記特定の仮想サーバの前記リソース回収閾値を増加する、
処理を実行させる、ことを特徴とするリソース制御プログラム。
【請求項３】
コンピュータに、
管理対象の複数の仮想サーバそれぞれに対するコネクションの、データ処理要求から応答までの時間である応答時間を収集し、
前記複数の仮想サーバそれぞれの前記応答時間、および、前記複数の仮想サーバそれぞれについて規定された要求応答時間に基づき、前記複数の仮想サーバそれぞれについて応答率を生成し、
前記応答率、および、前記複数の仮想サーバそれぞれについて設定されたリソース回収閾値に基づき、前記複数の仮想サーバそれぞれに対するハードウェアリソースの回収制御を実行し、
前記複数の仮想サーバに含まれる特定の仮想サーバに対する、前記回収制御の連続実施回数が第２の閾値を超える場合は、前記特定の仮想サーバの前記リソース回収閾値を増加する、
処理を実行させる、ことを特徴とするリソース制御プログラム。
【請求項４】
管理対象の複数の仮想サーバそれぞれに対するコネクションの、データ処理要求から応答までの時間である応答時間を収集し、
前記複数の仮想サーバそれぞれの前記応答時間、および、前記複数の仮想サーバそれぞれについて規定され、記憶装置に記憶された要求応答時間に基づき、前記複数の仮想サーバそれぞれについて応答率を生成し、
前記応答率、および、前記複数の仮想サーバそれぞれについて設定され、前記記憶装置に記憶されたリソース割当閾値に基づき、前記複数の仮想サーバそれぞれに対するハードウェアリソースの割当制御を実行し、
前記複数の仮想サーバに含まれる特定の仮想サーバに対する、前記割当制御の連続実施回数が第１の閾値を超える場合は、前記特定の仮想サーバの前記リソース割当閾値を減少する、
ことを特徴とするリソース制御方法。
【請求項５】
請求項４記載のリソース制御方法であって、さらに、
前記応答率、および、前記複数の仮想サーバそれぞれについて設定され、前記記憶装置に記憶されたリソース回収閾値に基づき、前記複数の仮想サーバそれぞれに対するハードウェアリソースの回収制御を実行し、
前記複数の仮想サーバに含まれる特定の仮想サーバに対する、前記回収制御の連続実施回数が第２の閾値を超える場合は、前記特定の仮想サーバの前記リソース回収閾値を増加する、
ことを特徴とするリソース制御方法。
【請求項６】
管理対象の複数の仮想サーバそれぞれに対するコネクションの、データ処理要求から応答までの時間である応答時間を収集し、
前記複数の仮想サーバそれぞれの前記応答時間、および、前記複数の仮想サーバそれぞれについて規定され、記憶装置に記憶された要求応答時間に基づき、前記複数の仮想サーバそれぞれについて応答率を生成し、
前記応答率、および、前記複数の仮想サーバそれぞれについて設定され、前記記憶装置に記憶されたリソース回収閾値に基づき、前記複数の仮想サーバそれぞれに対するハードウェアリソースの回収制御を実行し、
前記複数の仮想サーバに含まれる特定の仮想サーバに対する、前記回収制御の連続実施回数が第２の閾値を超える場合は、前記特定の仮想サーバの前記リソース回収閾値を増加する、
ことを特徴とするリソース制御方法。
【請求項７】
管理対象の複数の仮想サーバそれぞれに対するコネクションの、データ処理要求から応答までの時間である応答時間を収集する応答時間管理部と、
前記複数の仮想サーバそれぞれの前記応答時間、および、前記複数の仮想サーバそれぞれについて規定され、記憶装置に記憶された要求応答時間に基づき、前記複数の仮想サーバそれぞれについて応答率を生成する優先度算出部と、
前記応答率、および、前記複数の仮想サーバそれぞれについて設定され、前記記憶装置に記憶されたリソース割当閾値に基づき、前記複数の仮想サーバそれぞれに対するハードウェアリソースの割当制御を実行するリソース割り当て制御部と、を備え、
前記優先度算出部は、前記複数の仮想サーバに含まれる特定の仮想サーバに対する、前記割当制御の連続実施回数が第１の閾値を超える場合は、前記特定の仮想サーバの前記リソース割当閾値を減少する、
ことを特徴とするリソース制御装置。
【請求項８】
請求項７記載のリソース制御装置であって、
前記リソース割り当て制御部は、さらに、前記応答率、および、前記複数の仮想サーバそれぞれについて設定され、前記記憶装置に記憶されたリソース回収閾値に基づき、前記複数の仮想サーバそれぞれに対するハードウェアリソースの回収制御を実行し、
前記優先度算出部は、さらに、前記複数の仮想サーバに含まれる特定の仮想サーバに対する、前記回収制御の連続実施回数が第２の閾値を超える場合は、前記特定の仮想サーバの前記リソース回収閾値を増加する、
ことを特徴とするリソース制御装置。
【請求項９】
管理対象の複数の仮想サーバそれぞれに対するコネクションの、データ処理要求から応答までの時間である応答時間を収集する応答時間管理部と、
前記複数の仮想サーバそれぞれの前記応答時間、および、前記複数の仮想サーバそれぞれについて規定され、記憶装置に記憶された要求応答時間に基づき、前記複数の仮想サーバそれぞれについて応答率を生成する優先度算出部と、
前記応答率、および、前記複数の仮想サーバそれぞれについて設定され、前記記憶装置に記憶されたリソース回収閾値に基づき、前記複数の仮想サーバそれぞれに対するハードウェアリソースの回収制御を実行するリソース割り当て制御部と、を備え、
前記優先度算出部は、前記複数の仮想サーバに含まれる特定の仮想サーバに対する、前記回収制御の連続実施回数が第２の閾値を超える場合は、前記特定の仮想サーバの前記リソース回収閾値を増加する、
ことを特徴とするリソース制御装置。