(57)【要約】  レスポンスタイム差分演算／リクエスト数換算手段（５２３）は、レスポンスタイム監視結果、レスポンスタイム目標値、数量モデルおよび性能仕様情報に基づいて、スループット変化分を算出する。サーバ選択手段（５２４）は、取得した数量モデルに、性能仕様情報を順次代入し、プールサーバごとにスループットを算出して、スループット変化分よりも大きく、かつ最も近い値を示すスループットに対応するプールサーバを選択し、選択したプールサーバ（５０２）に対して構成変更制御を実行するようプロビジョニング手段（５１３）に指示する。プロビジョニング手段（５１３）は、プールサーバ（５０２）に対し、アプリケーションサーバとして機能するよう構成を変更する。【特許請求の範囲】
【請求項１】
クライアントからのリクエストを割り振る負荷分散装置のために、使用可能なサーバ資源量を計算する資源量計算システムであって、
サーバの性能を示す性能情報をサーバごとに記憶する性能情報記憶手段（５２１）と、
前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶する数量モデル記憶手段（５２２）と、
特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得する監視手段（５１１）と、
前記監視手段（５１１）によって取得された前記現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記数量モデル記憶手段（５２２）に記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出する差分量算出手段（５２３）と、
サービスを実行していない一または複数の予備サーバの性能情報と前記目標応答時間とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記目標応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出する処理量算出手段（５２３）と、
前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するサーバ選択手段（５２４）と、
前記サーバ選択手段（５２４）によって選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置（３３０３）に対してサーバの設定変更に関する情報を出力する設定変更手段（５１３）と
を備えたことを特徴とする資源量計算システム。
【請求項２】
単位時間当たりの負荷は、単位時間あたりのリクエスト数である、請求項１に記載の資源量計算システム。
【請求項３】
差分量算出手段は、あらかじめ時系列に指定された目標応答時間をもとに、現在における目標応答時間に対応する単位時間当たりの負荷と所定時間だけ将来の時点における目標応答時間に対応する単位時間当たりの負荷との差を示す差分量を算出する、請求項１に記載の資源量計算システム。
【請求項４】
サーバ選択手段（５２４）は、差分量が正の値である場合に、一または複数の予備サーバについて、処理量の組み合わせが差分量よりも大きくかつ最も近い値を有する予備サーバを選択し、差分量が負の値である場合に、一または複数の実行サーバについて、処理量の組み合わせが差分量の絶対値よりも小さくかつ最も近い値を有する実行サーバを選択し、
設定変更手段（５１３）は、差分量が正の値である場合に、前記サーバ選択手段（５２４）によって選択された予備サーバが特定のサービスを実行するように設定し、差分量が負の値である場合に、前記サーバ選択手段（５２４）によって選択された実行サーバが特定のサービスの実行を停止するように設定する、請求項１に記載の資源量計算システム。
【請求項５】
クライアントからのリクエストを割り振る負荷分散装置のために、使用可能なサーバ資源量を計算する資源量計算システムであって、
サーバの性能を示す性能情報をサーバごとに記憶する性能情報記憶手段（３３２１）と、
前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶する数量モデル記憶手段（３３２２）と、
特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得する監視手段（３３１１）と、
前記監視手段（３３１１）によって取得された前記現在の単位時間当たりの負荷および応答時間と蓄積されている単位時間当たりの負荷の過去の履歴とをもとに、所定時間だけ将来の時点において予測される単位時間当たりの負荷の増加数または減少数を示す差分量を算出する差分量予測手段（３３２３）と、
サービスを実行していない一または複数の予備サーバの性能情報と前記現在の応答時間とをもとに、前記数量モデル記憶手段（３３２２）に記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記現在の応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出する処理量算出手段（３３２３）と、
前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するサーバ選択手段（３３２４）と、
前記サーバ選択手段（３３２４）によって選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置（３３０３）に対してサーバの設定変更に関する情報を出力する設定変更手段と
を備えたことを特徴とする資源量計算システム。
【請求項６】
差分量算出手段（３３２３）は、監視手段（３３１１）によって取得された前記現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記数量モデル記憶手段（３３２２）に記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出する機能を更に有する、請求項５に記載の資源量計算システム。
【請求項７】
単位時間当たりの負荷は、単位時間あたりのリクエスト数である、請求項６に記載の資源量計算システム。
【請求項８】
差分量算出手段（３３２３）は、
あらかじめ時系列に指定された目標応答時間をもとに、現在における目標応答時間に対応する単位時間当たりの負荷と所定時間だけ将来の時点における目標応答時間に対応する単位時間当たりの負荷との差を示す差分量を算出する、請求項７に記載の資源量計算システム。
【請求項９】
サーバ選択手段（３３２４）は、差分量が正の値である場合に、一または複数の予備サーバについて、処理量の組み合わせが差分量よりも大きくかつ最も近い値を有する予備サーバを選択し、差分量が負の値である場合に、一または複数の実行サーバについて、処理量の組み合わせが差分量の絶対値よりも小さくかつ最も近い値を有する実行サーバを選択し、
設定変更手段（３３１３）は、差分量が正の値である場合に、前記サーバ選択手段（３３２４）によって選択された予備サーバが特定のサービスを実行するように設定し、差分量が負の値である場合に、前記サーバ選択手段（３３２４）によって選択された実行サーバが特定のサービスの実行を停止するように設定する、請求項５項に記載の資源量計算システム。
【請求項１０】
クライアントからのリクエストを割り振る負荷分散装置のために、使用可能なサーバ資源量を計算する資源量計算方法であって、
サーバの性能を示す性能情報をサーバごとに記憶するステップと、
前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶するステップと、
特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得するステップと、
前記取得ステップで取得された現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出するステップと、
サービスを実行していない一または複数の予備サーバの性能情報と前記目標応答時間とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記目標応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出するステップと、
前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するステップと、
前記サーバ選択手段によって選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力するステップとを有することを特徴とする資源量計算方法。
【請求項１１】
数量モデル記憶ステップで、単位時間あたりのリクエスト数である単位時間当たりの負荷を記憶する
請求項１０に記載の資源量計算方法。
【請求項１２】
クライアントからのリクエストを割り振る負荷分散装置のために、使用可能なサーバ資源量を計算する資源量計算方法であって、
サーバの性能を示す性能情報をサーバごとに記憶するステップと、
前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶するステップと、
特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得するステップと、
前記取得ステップで取得された前記現在の単位時間当たりの負荷および応答時間と蓄積されている単位時間当たりの負荷の過去の履歴とをもとに、所定時間だけ将来の時点において予測される単位時間当たりの負荷の増加数または減少数を示す差分量を算出するステップと、
前記算出ステップで、サービスを実行していない一または複数の予備サーバの性能情報と前記現在の応答時間とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記現在の応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出するステップと、
前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するステップと、
設定変更手段が、前記サーバ選択手段によって選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力するステップとを有する
ことを特徴とする資源量計算方法。
【請求項１３】
前記取得ステップで取得された現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出するステップを更に有する、請求項１２に記載の資源量計算システム。
【請求項１４】
数量モデル記憶ステップで、単位時間あたりのリクエスト数である単位時間当たりの負荷を記憶する、請求項１２に記載の資源量計算方法。
【請求項１５】
クライアントからのリクエストを割り振り可能なサーバ資源量を計算するコンピュータに搭載される資源量計算プログラムであって、
前記コンピュータに、
サーバの性能を示す性能情報をサーバごとに記憶する性能情報記憶処理と、
前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶する数量モデル記憶処理と、
特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得する監視処理と、
取得された前記現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出する差分量算出処理と、
サービスを実行していない一または複数の予備サーバの性能情報と前記目標応答時間とをもとに、記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記目標応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出する処理量算出処理と、
前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するサーバ選択処理と、
選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力する設定変更処理と
を実行させるための資源量計算プログラム。
【請求項１６】
数量モデル記憶処理で、単位時間あたりのリクエスト数である単位時間当たりの負荷を記憶する処理を実行させる、請求項１５に記載の資源量計算プログラム。
【請求項１７】
クライアントからのリクエストを割り振り可能なサーバ資源量を計算するコンピュータに搭載される資源量計算プログラムであって、
前記コンピュータに、
サーバの性能を示す性能情報をサーバごとに記憶する性能情報記憶処理と、
前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶する数量モデル記憶処理と、
特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得する監視処理と、
取得された前記現在の単位時間当たりの負荷および応答時間と蓄積されている単位時間当たりの負荷の過去の履歴とをもとに、所定時間だけ将来の時点において予測される単位時間当たりの負荷の増加数または減少数を示す差分量を算出する差分量予測処理と、
サービスを実行していない一または複数の予備サーバの性能情報と前記現在の応答時間とをもとに、記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記現在の応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出する処理量算出処理と、
前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するサーバ選択処理と、
選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力する設定変更処理と
を実行させるための資源量計算プログラム。
【請求項１８】
前記コンピュータに、取得された前記現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出する差分量算出処理を更に実行させる、請求項１７に記載の資源量計算プログラム。
【請求項１９】
数量モデル記憶処理で、単位時間あたりのリクエスト数である単位時間当たりの負荷を記憶する処理を実行させる、請求項１７に記載の資源量計算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、資源量計算システム、方法およびプログラムに関し、特にサービス品質を目標とするレベルに近づけるため、あるいはアクセス数増加によるサービス品質の劣化を抑制するための資源量計算システム、方法およびプログラムに関する。
【背景技術】
【０００２】
ネットワーク上で、コンテンツやアプリケーション等のサービスを提供するサーバには、時にサービス消費者から大きな負荷が与えられる。こういったサーバに対するサービスリクエスト負荷を軽減する方法として、サーバ負荷分散装置を利用する方法が知られている。サーバ負荷分散装置に、サービスが配備されたサーバの宛先アドレスを登録することで、サーバ負荷分散装置が受信した各種サービスのリクエストは、登録されたサーバに転送、またはリダイレクトされ、リクエストによる負荷が分散される。【０００３】
リクエストの転送、あるいはリダイレクトの際に、サーバ負荷分散装置に到来したリクエストをサーバに割り振る方式として、どのサーバにも均一にリクエストが割り振られるラウンドロビン方式と、各サーバの負荷計測結果に応じて、リクエストを割り振る重みを変更する重み付きラウンドロビン方式などがある。ここで、「重み」とは、リクエストを分配する割合を意味する。重み付きラウンドロビン方式を利用することで、サーバ性能が不均一な場合であってもリクエスト負荷を均等に割り当てることが可能となる。また、この負荷分散装置に登録する宛先アドレスのリストを変化させることでサーバ一台あたりの負荷を変化させることが可能である。すなわち、宛先アドレスをリストに追加したり削除したりすることによって、１サーバあたりの負荷が増減する。【０００４】
サーバ資源管理システムの一例が、米国特許出願公開公報第２００４／０１８１７９４号、及び、Ｅ．Ｌａｓｓｅｔｔｒｅ  他，“Ｄｙｎａｍｉｃ  Ｓｕｒｇｅ  Ｐｒｏｔｅｃｔｉｏｎ：Ａｎ  Ａｐｐｒｏａｃｈ  ｔｏ  Ｈａｎｄｌｉｎｇ  Ｕｎｅｘｐｅｃｔｅｄ  Ｗｏｒｋｌｏａｄ  Ｓｕｒｇｅｓ  ｗｉｔｈ  Ｒｅｓｏｕｒｃｅ  Ａｃｔｉｏｎｓ  ｔｈａｔ  Ｈａｖｅ  Ｌｅａｄ  Ｔｉｍｅｓ”，「ＤＳＯＭ２００３，ＬＮＣＳ  ２８６７」，Ｓｐｒｉｎｇｅｒ出版，２００３年１０月，ｐ．８２−９２に記載されている。図１８は、従来のサーバ資源管理システムの構成例を示すブロック図である。【０００５】
図１８に示すように、従来のサーバ資源管理システムは、管理対象システム１１０とそれを管理する管理システム１００とを備える。管理対象システム１１０は、特定のサービスを提供するアプリケーションサーバ１１１と、複数のサービスに利用され得るプールサーバ１１２とを含む。管理システム１００は、サービスのレスポンスタイムやスループットといったアプリケーションサーバの負荷を監視する監視手段１０１と、過去の負荷のデータから将来の負荷を予測する負荷予測手段１０２と、この予測される負荷に対し、サービス管理者により指定されるサービスレベル目標値１０４を満たすために必要な資源量を計算する資源容量計画手段１０３と、サーバを決定するサーバ決定手段１０５と、そのサーバや関連するネットワークの構成を変更するプロビジョニング手段１０６とを含む。【０００６】
このような構成を有する従来のサーバ資源管理システムは次のように動作する。すなわち、アプリケーションサーバ１１１に対して要求を行うクライアントが増加すると、定常的にアプリケーションサーバの負荷を監視している監視手段１０１は、その負荷情報を負荷予測手段１０２に送信する。負荷予測手段１０２は、プロビジョニング手段１０６がサーバをプールサーバ１１２からアプリケーションサーバ１１１に変更するのにかかる時間分だけ将来の時間における負荷を予測し、資源容量計画手段１０３に送信する。資源容量計画手段１０３は、将来予測される負荷をアプリケーションサーバ５０１が受け付けた際に、サービス管理者が設定するサービスレベル目標値１０４を満たすことができるか否かを判断する。サービスレベル目標値１０４を満たすことができる場合には、サーバ決定手段１０５に対して何もデータを送信せず、満たすことができないと判断された場合には、これを満たすために必要なサーバ台数を算出し、サーバ決定手段１０５に対して送信する。サーバ決定手段１０５は、その台数分だけプールサーバ１１２の中からサーバを選択し、プロビジョニング手段１０６にそのサーバ情報を送信する。プロビジョニング手段１０６は、指定されたプールサーバ１１２内のサーバをアプリケーションサーバ１１１に設定変更する。このような動作により、従来システムは突発的なリクエスト数の増加が発生しても、アプリケーションサーバ１１１のサービスレベルをサービスレベル目標値１０４にあわせることが可能となる。なお、以下の説明では、サービスが単位時間あたりに受け付けるリクエスト数と処理するリクエスト数とをスループットと表現する。【０００７】
従来のサーバ資源管理システムでは、管理対象のアプリケーションサーバやプールサーバの性能が均一でない環境下では、突発的なアクセス数増加が発生した場合にサービスレベルが低下してしまう、もしくは稼働率が低下してしまうという問題がある。【０００８】
その理由は、サービスレベル維持に必要な資源としてサーバ台数のみが算出され、サーバ毎の計算能力の違いが考慮されていないことにある。サーバ台数のみが算出される必要資源量の計算過程において考慮されるサーバ性能が、サーバ資源管理システムに存在しているサーバ環境のサーバ性能と異なると、必要以上に高性能なサーバが割り当てられる、もしくは性能不十分なサーバが割り当てられてしまうという問題がある。【０００９】
従来のサーバ資源管理システムでは、突発的なアクセス数増加が発生した場合に、サービスリクエストの負荷を予測する精度が悪くなり、適切な資源量を有するサーバ資源を割り当てられず、サービスレベルの劣化や稼働率の低下が起こってしまうという問題もある。【００１０】
その理由は、以下の通りである。従来方式ではサーバの台数で資源量の調整を行うため、サーバの構成変更をする際に複数台のサーバを制御することが多くなる。複数のサーバの制御を平行に実行することは可能であるが、負荷分散装置等の共有資源を制御する際には逐次的に処理が行われる必要があるため、サーバ制御に費やされる時間は、制御するサーバの台数に依存して決まる。従来方式では、予測の段階でこの制御時間に相当する時間分だけ将来のリクエスト数を予測するが、その予測結果によって予測すべき時刻が変化してしまうため、予測の精度が悪くなる。
【発明の開示】
【００１１】
そこで、本発明は、突発的なアクセス数増加が発生した場合、あるいはサービスレベルの監視結果と目標値が乖離している場合に、必要十分なサーバ性能仕様と台数との組み合わせを計算することのできる資源量計算システム、資源量計算方法および資源量計算プログラムを提供することを目的とする。
【００１２】
本発明は、第１の視点において、クライアントからのリクエストを割り振る負荷分散装置のために、使用可能なサーバ資源量を計算する資源量計算システムであって、サーバの性能を示す性能情報をサーバごとに記憶する性能情報記憶手段と、前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶する数量モデル記憶手段と、特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得する監視手段と、前記監視手段によって取得された前記現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出する差分量算出手段と、サービスを実行していない一または複数の予備サーバの性能情報と前記目標応答時間とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記目標応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出する処理量算出手段と、前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するサーバ選択手段と、前記サーバ選択手段によって選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力する設定変更手段とを備えたことを特徴とする資源量計算システムを提供する。
【００１３】
本発明は、第２の視点において、クライアントからのリクエストを割り振る負荷分散装置のために、使用可能なサーバ資源量を計算する資源量計算システムであって、サーバの性能を示す性能情報をサーバごとに記憶する性能情報記憶手段と、前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶する数量モデル記憶手段と、特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得する監視手段と、前記監視手段によって取得された前記現在の単位時間当たりの負荷および応答時間と蓄積されている単位時間当たりの負荷の過去の履歴とをもとに、所定時間だけ将来の時点において予測される単位時間当たりの負荷の増加数または減少数を示す差分量を算出する差分量予測手段と、サービスを実行していない一または複数の予備サーバの性能情報と前記現在の応答時間とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記現在の応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出する処理量算出手段と、前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するサーバ選択手段と、前記サーバ選択手段によって選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力する設定変更手段とを備えたことを特徴とする資源量計算システムを提供する。
【００１４】
第２の視点の資源量計算システムでは、差分量算出手段は、前記監視手段によって取得された前記現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出する機能を更に有してもよい。
【００１５】
本発明の第１及び第２の視点の計算機システムでは、単位時間当たりの負荷は、例えば、単位時間あたりのリクエスト数である。
【００１６】
差分量算出手段は、あらかじめ時系列に指定された目標応答時間をもとに、現在における目標応答時間に対応する単位時間当たりの負荷と所定時間だけ将来の時点における目標応答時間に対応する単位時間当たりの負荷との差を示す差分量を算出してもよい。
【００１７】
サーバ選択手段は、差分量が正の値である場合に、一または複数の予備サーバについて、処理量の組み合わせが差分量よりも大きくかつ最も近い値を有する予備サーバを選択し、差分量が負の値である場合に、一または複数の実行サーバについて、処理量の組み合わせが差分量の絶対値よりも小さくかつ最も近い値を有する実行サーバを選択し、設定変更手段は、差分量が正の値である場合に、サーバ選択手段によって選択された予備サーバが特定のサービスを実行するように設定し、差分量が負の値である場合に、サーバ選択手段によって選択された実行サーバが特定のサービスの実行を停止するように設定してもよい。
【００１８】
本発明は、第３の視点において、クライアントからのリクエストを割り振る負荷分散装置のために、使用可能なサーバ資源量を計算する資源量計算方法であって、サーバの性能を示す性能情報をサーバごとに記憶するステップと、前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶するステップと、特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得するステップと、前記取得ステップで取得された現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出するステップと、サービスを実行していない一または複数の予備サーバの性能情報と前記目標応答時間とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記目標応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出するステップと、前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するステップと、前記サーバ選択手段によって選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力するステップとを有することを特徴とする資源量計算方法を提供する。
【００１９】
本発明は、第４の視点において、クライアントからのリクエストを割り振る負荷分散装置のために、使用可能なサーバ資源量を計算する資源量計算方法であって、サーバの性能を示す性能情報をサーバごとに記憶するステップと、前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶するステップと、特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得するステップと、前記取得ステップで取得された前記現在の単位時間当たりの負荷および応答時間と蓄積されている単位時間当たりの負荷の過去の履歴とをもとに、所定時間だけ将来の時点において予測される単位時間当たりの負荷の増加数または減少数を示す差分量を算出するステップと、前記算出ステップで、サービスを実行していない一または複数の予備サーバの性能情報と前記現在の応答時間とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記現在の応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出するステップと、前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するステップと、設定変更手段が、前記サーバ選択手段によって選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力するステップとを有することを特徴とする資源量計算方法を提供する。
【００２０】
第４の視点の資源量計算方法は、前記取得ステップで取得された現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出するステップを更に有していてもよい。
【００２１】
第３及び第４の視点の資源量計算方法では、数量モデル記憶手段が、単位時間あたりのリクエスト数である単位時間当たりの負荷を記憶するように構成されていてもよい。
【００２２】
本発明は、第５の視点において、クライアントからのリクエストを割り振り可能なサーバ資源量を計算するコンピュータに搭載される資源量計算プログラムであって、前記コンピュータに、
サーバの性能を示す性能情報をサーバごとに記憶する性能情報記憶処理と、前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶する数量モデル記憶処理と、特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得する監視処理と、取得された前記現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出する差分量算出処理と、サービスを実行していない一または複数の予備サーバの性能情報と前記目標応答時間とをもとに、記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記目標応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出する処理量算出処理と、前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するサーバ選択処理と、選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力する設定変更処理とを実行させるための資源量計算プログラムを提供する。
【００２３】
本発明は、第６の視点において、クライアントからのリクエストを割り振り可能なサーバ資源量を計算するコンピュータに搭載される資源量計算プログラムであって、前記コンピュータに、
サーバの性能を示す性能情報をサーバごとに記憶する性能情報記憶処理と、前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶する数量モデル記憶処理と、特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得する監視処理と、取得された前記現在の単位時間当たりの負荷および応答時間と蓄積されている単位時間当たりの負荷の過去の履歴とをもとに、所定時間だけ将来の時点において予測される単位時間当たりの負荷の増加数または減少数を示す差分量算出する差分量予測処理と、サービスを実行していない一または複数の予備サーバの性能情報と前記現在の応答時間とをもとに、記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記現在の応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出する処理量算出処理と、前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するサーバ選択処理と、選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力する設定変更処理とを実行させるための資源量計算プログラムを提供する。
【００２４】
本発明の第６の視点のプログラムでは、前記コンピュータに、取得された前記現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出する差分量算出処理を更に実行させてもよい。
【００２５】
本発明の第５及び第６の視点のプログラムでは、数量モデル記憶処理で、単位時間あたりのリクエスト数である単位時間当たりの負荷を記憶する処理を実行させるようにしてもよい。
【００２６】
あらかじめ時系列に指定された目標応答時間をもとに、現在における目標応答時間に対応する単位時間当たりの負荷と所定時間だけ将来の時点における目標応答時間に対応する単位時間当たりの負荷との差を示す差分量を算出してもよい。
【００２７】
差分量が正の値である場合に、一または複数の予備サーバについて、処理量の組み合わせが差分量よりも大きくかつ最も近い値を有する予備サーバを選択し、差分量が負の値である場合に、一または複数の実行サーバについて、処理量の組み合わせが差分量の絶対値よりも小さくかつ最も近い値を有する実行サーバを選択し、差分量が正の値である場合に、選択された予備サーバが特定のサービスを実行するように設定し、差分量が負の値である場合に、選択された実行サーバが特定のサービスの実行を停止するように設定してもよい。
【００２８】
本発明によるサーバ必要資源量計算システムは、管理対象のサービスが配備されたサーバを監視する監視手段や、共有のプールサーバを当該サービス向けに構成変更するプロビジョニング手段と共に利用される。そして、サーバ選択手段と、サービス特性記憶部と、資源性能仕様記憶部とを備え、サービスレベル目標値を維持する目的に利用する際には、レスポンスタイム差分演算手段も備える。
【００２９】
そして、サーバ選択手段は、与えられたスループット変化分から、そのスループット分を処理可能なサーバの組み合わせを選択する。入力として受け付けるスループット変化分は、レスポンスタイム差分演算手段が、レスポンスタイムの監視結果と目標値との差分から、サービス特性記憶部に格納されたレスポンスタイムとスループットとの関係を用いてスループット変化分に換算したものであったり、あるいはスループットの監視結果から予測されるスループット変化分であったりする。
【００３０】
サーバ選択手段がスループット変化分を相殺するようなサーバの組み合わせを選ぶには、資源性能仕様記憶部に格納されたプールサーバ内のサーバ性能をもとに、スループット変化分に相当するサーバを決定する。このような構成を採用することにより本発明の目的を達成することができる。
【００３１】
本発明によれば、管理対象のサーバが同一のサーバ性能仕様を有していない場合でも、突発的なサービス負荷の上昇があった際に、レスポンスタイムの低下や、サーバの稼働率の低下を防止することができるという効果がある。その理由は、本発明によりリクエスト数の増加を抑圧するために、もしくはサービスレベルの目標値と現状値との乖離を低減するために必要十分な性能・数のサーバを選択することができるためである。
【００３２】
また、突発的なサービス負荷の上昇があった際に、より適切な時刻におけるサービスリクエスト数を予測することになるため、レスポンスタイムの劣化や、サーバの稼働率の低下をより抑えることができる。その理由は、以下による。本発明では、必要なサーバの台数を算出するだけではなく、サーバの性能仕様も踏まえてサーバを選択するため、平行して制御するサーバ台数を確率的に減らすことができる。すなわち、構成変更に要する時間の分散を低くすることになるため、事前にサービスリクエスト数を予測すべき時刻をより適切に求めることができる。そのため、サービス負荷の上昇があった際に、より適切にサービスリクエスト数を予測することができる。
【図面の簡単な説明】
【００３３】
【図１】は、本発明によるサーバ資源管理システムの第１の実施の形態を示すブロック図である。
【図２】は、性能仕様情報の例を示すテーブルである。
【図３】は、サービス情報の例を示すテーブルである。
【図４】は、モデル情報の例を示す説明図である。
【図５】は、サーバ選択手段が性能仕様とスループットとの関係を示す数量モデルを取得するための情報を示す図である。
【図６】は、負荷予測手段がスループット変化分を算出する場合の本実施の形態の動作を示すフローチャートである。
【図７】レスポンスタイム差分演算／リクエスト数換算手段がスループット変化分を算出する場合の本実施の形態の動作を示すフローチャートである。
【図８】は、第１の実施の形態における信号伝達の流れを表すブロック線図である。
【図９】は、サーバ選択手段の動作を示すフローチャートである。
【図１０】は、サーバ選択手段の動作を示すフローチャートである。
【図１１】は、管理対象システムの構成例を示すブロック図である。
【図１２】は、クラスタおよびプールサーバ用ドメインの性能仕様情報を例示するグラフである。
【図１３】は、サーバ状態の特性を示すグラフである。
【図１４】は、サービス情報の例を示すグラフである。
【図１５】は、本発明によるサーバ資源管理システムの第２の実施の形態を示すブロック図である。
【図１６】は、レスポンスタイムの目標値を時系列情報として入力した際の設定状況を示す線図である。
【図１７】は、第２の実施の形態における信号伝達の流れを表すブロック線図である。
【図１８】は、従来のサーバ資源管理システムの構成例を示すブロック図である。
【発明を実施するための最良の形態】
【００３４】
［実施の形態１］
以下、本発明の第１の実施の形態を図面を参照して説明する。図１は、本発明によるサーバ資源管理システムの第１の実施の形態を示すブロック図である。図１に示すサーバ資源管理システムは、管理対象システム５００と、管理対象システム５００を管理する管理システム５１０と、管理システム５１０に対して管理対象サービスのサービスレベルを入力するサービスレベル入力手段５３０とを備える。【００３５】
管理対象システム５００は、インターネット等の通信ネットワーク５５１を介してクライアント５４０と通信可能である。管理システム５１０は、インターネット等の通信ネットワーク５５２および通信ネットワーク５５３を介して、それぞれ管理対象システム５００およびサービスレベル入力手段５３０と通信可能に接続される。【００３６】
管理対象システム５００は、サービスアプリケーションが配備され、負荷分散装置によって割り当てられたサービスを実行するアプリケーションサーバ５０１と、特定のサービスアプリケーションには使われず、他のサービスと共有されるプールサーバ５０２と、アプリケーションに対するリクエストを各アプリケーションサーバに分散させる負荷分散装置５０３とを備える。【００３７】
管理システム５１０は、アプリケーションサーバ５０１、プールサーバ５０２および負荷分散装置５０３を監視する監視手段５１１と、サービスの品質維持に必要なサーバを計算する資源容量計画手段５２０と、複数のサービスで共有されるプールサーバ５０２に特定のサービスアプリケーションプログラムの配備や、負荷分散装置５０３に対するサーバアドレスの登録などの構成制御を行うプロビジョニング手段５１３とを備える。管理システム５１０がサーバ装置で実現される場合には、監視手段５１１と資源容量計画手段５２０とプロビジョニング手段５１３とは、サーバ装置に搭載されるＣＰＵが、ＲＯＭ等の記憶手段に格納されている、それらの機能を実現するためのプログラムを実行することによって実現される。【００３８】
さらに、資源容量計画手段５２０は、過去の負荷特性などを元に将来のリクエスト数等の負荷を予測する負荷予測手段５２５と、レスポンスタイム差分演算／リクエスト数換算手段（差分量算出／処理量算出手段）５２３と、サービス特性記憶部（数量モデル記憶手段）５２２と、資源性能仕様記憶部（性能情報記憶手段）５２１と、サーバ選択手段５２４とを備える。【００３９】
資源性能仕様記憶部５２１は、あらかじめ図２に例示する性能仕様情報を格納する。性能仕様情報は、アプリケーションサーバおよびプールサーバ等のサーバ資源を一意に識別する資源ＩＤと、サーバ資源に割り当てられているサービスを示すサービス割当（サービスＩＤ)と、サーバ資源の性能仕様１〜ｎとを含む情報である。サービス割当および性能仕様は、資源ＩＤに対応付けられて格納される情報である。性能仕様１〜ｎは、例えば、ＣＰＵクロック数やメインメモリ容量などを示す１つまたは複数の情報である。【００４０】
サービス特性記憶部５２２は、あらかじめサービス特性を示すサービス情報およびモデル情報を格納する。図３に例示するサービス情報は、サービスＩＤと、数量モデル（モデルＩＤ）と、係数と、定数とを含む情報である。図４に示すモデル情報は、各サーバ資源の性能仕様、各サーバ資源に到来する単位時間あたりのアクセス数を示すスループットおよびアクセス数に応じた平均的なレスポンスタイムの３つの状態の関係を示す数量モデルを含む情報である。【００４１】
レスポンスタイムは、性能仕様およびスループットの関数として表される。これらの関係は、サービスに応じて、数量モデルのテンプレートと、そのモデルの係数ベクトルとで管理される。すなわち、図３に示すサービス情報と図４に示すモデル情報とから、各サービスに応じた数量モデルを得ることができる。なお、モデル情報には、レスポンス差分演算／リクエスト数換算手段５２３の処理に応じて、数量モデル８０２に加えて、数量モデル８０２をサーバ性能仕様を一定としてスループットで偏微分した数量モデル８０３が含まれていても良い。【００４２】
監視手段５１１は、アプリケーションサーバ５０１を監視し、各アプリケーションサーバに割り当てられた管理対象のサービスごとに、１処理あたりの応答時間を示すレスポンスタイムを取得して、監視したアプリケーションサーバ５０１の識別子とレスポンスタイム監視結果とをレスポンスタイム差分演算／リクエスト数換算手段５２３に出力する。同様に、監視手段５１１は、単位時間あたりのリクエスト数であるスループットを取得して、スループット監視結果として負荷予測手段５２５に出力する。【００４３】
レスポンスタイム差分演算／リクエスト数換算手段５２３は、管理対象となるサービスに関する値であってサービスレベル入力手段５３０によって出力されたレスポンスタイム目標値と、監視手段５１１が管理対象となるサービスが配備されたある一つのアプリケーションサーバ５０１を監視することによって得られるレスポンスタイム監視結果と、監視したアプリケーションサーバ５０１の識別子とを入力として受け付ける。【００４４】
レスポンスタイム差分演算／リクエスト数換算手段５２３は、監視手段５１１によって出力された識別子に基づいて、資源性能仕様記憶部５２１を検索し、対応する性能仕様情報を取得する。そして、レスポンスタイム目標値、レスポンスタイム監視結果、性能仕様情報およびサービス特性記憶部５２２から得られるサービス特性からスループット変化分を算出する。【００４５】
スループット変化分は、レスポンスタイム目標値を実現するために、プールサーバに振り分けるべきスループットを示す値である。スループット変化分の算出方法には、差分演算を行った後にレスポンスタイムとリクエスト数のメトリック変換を行う第１の方法と、レスポンスタイムとリクエスト数のメトリック変換を行った後に差分演算を行う第２の方法が存在する。【００４６】
レスポンスタイム差分演算／リクエスト数換算手段５２３によるスループット変化分の第１の算出方法について以下に説明する。レスポンスタイム差分演算／リクエスト数換算手段５２３は、まず、レスポンスタイムの目標値と監視結果との差分を演算し、レスポンスタイム変化分を算出する。次に、サービス特性記憶部５２２から、当該サービスに関する数量モデル８０３を取得する。数量モデル８０３は、スループットの変化分に対するレスポンスタイムの変化分を示す数式であるため、取得した数量モデル８０３に、前述のレスポンスタイム変化分と、図３に示す係数の値と、当該サーバのサーバ性能仕様とを代入することにより、スループットの変化分を取得する。【００４７】
次に、スループット変化分の第２の算出方法について以下に説明する。レスポンスタイム差分演算／リクエスト数換算手段５２３は、まず、サービス特性記憶部５２２から、当該サービスに関する数量モデル８０２を取り出す。取得した数量モデル８０２に、図３に示す係数および定数の値と、当該サーバのサーバ性能仕様とともに、レスポンスタイムの目標値と監視結果とをそれぞれ入力し、それぞれのスループットを算出する。レスポンスタイムの目標値および監視結果に対するスループット算出結果の差分を取ることで、スループットの変化分を取得する。【００４８】
レスポンスタイム差分演算／リクエスト数換算手段５２３は、このようにして全アプリケーションサーバに渡ってスループット変化分を算出し、算出したスループット変化分を全て加算してサーバ選択手段５２４に対して出力する。この時、サービスレベル入力手段５３０から受け取ったレスポンスタイム目標値を同時に出力する。この値は、レスポンスタイム監視結果で代替しても良い。【００４９】
負荷予測手段５２５は、監視手段５１１によって出力されたスループット監視結果に基づいて、所定の時間だけ将来の時点までに予測されるスループットの増加数あるいは減少数を算出し、スループット変化分としてサーバ選択手段５２４に出力する。なお、所定の時間とは、例えば、プロビジョニング手段５１３がプロビジョニングに要する時間等である。この計算は、蓄積されたスループットの過去の履歴に基づいて、ＡＲＩＭＡモデルや状態空間モデルなどの良く知られた時系列予測方式を用いて行っても良い。負荷予測手段５２５は、スループット変化分とともに、監視手段５１１から受け取ったレスポンスタイム監視結果を同時にサーバ選択手段５２４に渡す。なお、レスポンスタイム監視結果をレスポンスタイム目標値で代替しても良い。【００５０】
サーバ選択手段５２４は、レスポンスタイム差分演算／リクエスト数換算手段５２３によって出力されるスループット変化分およびレスポンスタイム目標値、または負荷予測手段５２５によって出力されるスループット変化分およびレスポンスタイム監視結果と、監視したサーバの性能特性を入力として受付ける。そして、サーバ選択手段５２４は、受け付けたスループット変化分に対応するサーバの性能・台数を算出し、算出されたサーバに対して構成変更制御を実行するようプロビジョニング手段５１３に対して指示する。【００５１】
図５は、サーバ選択手段５２４が性能仕様とスループットとの関係を示す数量モデルを取得する処理を説明するための説明図である。なお、図５には、サーバ選択手段５２４が、負荷予測手段５２５によって出力されるスループット変化分およびレスポンスタイム監視結果を受け付けた場合を例示する。式９０１は、レスポンスタイムとしてレスポンスタイム監視結果が代入されることを示す式であり、式９０２は、スループットおよびサーバ性能仕様の関数であるレスポンスタイムを示す数式である。式９０２は、例えば、サービス特性記憶部５２２から取得される数量モデルであって、図４に示す数量モデル８０２に対応する。サーバ選択手段５２４は、式９０１と式９０２の連立式９０３を計算し、性能仕様とスループットとの関係を示す数量モデルを取得する。【００５２】
なお、サーバ選択手段５２４が、レスポンスタイム差分演算／リクエスト数換算手段５２３によって出力されるスループット変化分およびレスポンスタイム目標値を受け付けた場合には、レスポンスタイムとしてレスポンスタイム目標値が代入される。【００５３】
サーバ選択手段５２４は、取得した数量モデルに、図２に例示する性能仕様情報に含まれる性能仕様１〜ｎを順次代入し、資源ＩＤごとにスループットを算出する。ここで、サーバ選択手段５２４は、サービス割当が”Ｐｏｏｌ”であるプールサーバ５０２の性能仕様１〜ｎを代入するものとする。サーバ選択手段５２４は、算出したスループットのうち、出力されたスループット変化分よりも大きく、かつ最も近い値を示すスループットに対応する資源ＩＤを出力する。【００５４】
なお、サーバ選択手段５２４は、サーバの性能・台数の算出に用いるスループット変化分に対し、事前に次の換算処理を行っても良い。換算処理は、受け付けたスループット変化分に一定の比例係数を掛けた成分と、スループットを時間軸で積分した成分に一定の比例係数を掛けた成分と、スループットを時間軸で微分した成分に一定の比例係数を掛けた成分とを加算する処理である。換算処理を行うことで、制御の発振防止による安定化や制御の収束時間の短縮化という効果を得ることができる。【００５５】
プロビジョニング手段５１３は、サーバ選択手段５２４から出力された資源ＩＤを有するプールサーバ５０２に対し、アプリケーションサーバとして機能するよう構成を変更する。【００５６】
次に、図面を参照して第１の実施の形態の動作について説明する。以下、スループット変化分を、負荷予測手段５２５が算出する場合と、レスポンスタイム差分演算／リクエスト数換算手段５２３が算出する場合とに分けて説明する。図６および図７は、それぞれ、負荷予測手段５２５およびレスポンスタイム差分演算／リクエスト数換算手段５２３がスループット変化分を算出する場合の本実施の形態の動作を示すフローチャートである。【００５７】
第１の全体の動作として、図６を参照して負荷予測手段５２５がスループット変化分を算出する場合の本実施の形態の動作について説明する。監視手段５１１が、管理対象のサービスに関するアプリケーションサーバ５０１を監視し、そのサービスの単位時間辺りのリクエスト数であるスループットを監視する（ステップＳ１０１）。監視手段５１１は、スループットを、負荷分散装置５０３を監視することによって得ても良い。【００５８】
負荷予測手段５２５は、スループット監視結果をもとに、プロビジョニング手段５１３がプロビジョニングを終えるために必要な時間の間のスループット数の変化分を予測する（ステップＳ１０２）。【００５９】
サーバ選択手段５２４は、このスループット変化分に相当する資源の種類や台数を計算する（ステップＳ１０３）。サーバ選択手段５２４は、スループット変化分に相当するサーバ資源がないかを判定し（ステップＳ１０４）、ない場合（Ｙｅｓ）には処理を終了し、ある場合（Ｎｏ）には、プロビジョニング手段５１３が、ステップＳ１０３において得られたサーバ資源の構成変更を実行する（ステップＳ１０５）。【００６０】
図８は、第１の実施の形態における信号伝達の流れを表すブロック線図である。スループット１２１０、レスポンスタイム目標値１２０４およびレスポンスタイム制御結果１２０２は、伝達される信号である。スループット監視１２０９およびレスポンスタイム監視１２０３は、図１における監視手段５１１で、スループット増加予測１２０８は負荷予測手段５２５で、レスポンスタイムの監視結果とレスポンスタイム目標値１２０４との差分計算およびメトリック変換１２０５はレスポンスタイム差分演算／リクエスト数換算手段５２３で、サーバ選択１２０６はサーバ選択手段５２４で、プロビジョニング１２０７はプロビジョニング手段５１３で、制御対象１２０１はアプリケーションサーバ５０１およびプールサーバ５０２で、それぞれ実現される機能である。【００６１】
ステップＳ１０１からＳ１０５の処理は、図８に示すブロック線図において、スループット監視１２０９がスループット１２１０を監視し、この結果を利用してスループット増加予測１２０８がスループットの増加分を算出し、サーバ選択１２０６がスループットの増加分を相殺できるサーバ性能仕様を持ったサーバの組み合わせを選択し、プロビジョニング１２０７がプロビジョニングする流れで表される。【００６２】
次に、第２の全体の動作として、図７を参照してレスポンスタイム差分演算／リクエスト数換算手段５２３がスループット変化分を算出する場合の本実施の形態の動作について説明する。監視手段５１１が、管理対象のサービスに関するアプリケーションサーバ５０１を監視し、そのサービスのレスポンスタイムを監視する（ステップＳ２０１）。監視手段５１１は、レスポンスタイムを、負荷分散装置５０３を監視することによって得ても良い。【００６３】
資源容量計画手段５２０のレスポンスタイム差分演算／リクエスト数換算手段５２３は、レスポンスタイムの監視結果、サービスレベル入力手段５３０から入力されたレスポンスタイム目標値、サービス特性記憶部５２２に予め格納された当該サービスに関するサービス特性およびアプリケーションサーバ５０１の性能仕様情報に基づいてスループット変化分を算出する（ステップＳ２０２）。なお、前述したとおり、スループット変化分の算出方法には、差分演算を行った後にレスポンスタイムとリクエスト数のメトリック変換を行う第１の方法と、レスポンスタイムとリクエスト数のメトリック変換を行った後に差分演算を行う第２の方法が存在する。【００６４】
サーバ選択手段５２４は、スループット変化分に相当する資源の種類および台数を算出する（ステップＳ２０３）。サーバ選択手段５２４は、スループット変化分に相当するサーバ資源がないかを判定し（ステップＳ２０４）、ない場合（Ｙｅｓ）には処理を終了し、ある場合（Ｎｏ）には、プロビジョニング手段５１３が、ステップＳ２０３において得られたサーバ資源の構成変更を実行する（ステップＳ２０５）。【００６５】
ステップＳ２０１からＳ２０５の処理は、図８に示すブロック線図において、レスポンスタイム監視１２０３が制御対象１２０１のレスポンスタイムを監視し、メトリック変換１２０５がレスポンスタイムの監視結果とレスポンスタイム目標値１２０４との差分を算出して、これをスループット変化分に換算し、サーバ選択１２０６がスループット変化分を相殺できるサーバ性能仕様を持ったサーバの組み合わせを選択し、プロビジョニング１２０７がプロビジョニングする流れで表される。【００６６】
なお、負荷予測手段５２５がスループット変化分を算出する場合の動作は、フィードフォワード制御に該当する。フィードフォワード制御は、制御対象となるシステム等の制御を乱す外的な作用（外乱）を予測して、外乱を相殺するよう制御することにより、制御対象を安定に保つ制御方式である。本実施の形態では、スループットの増加等が外乱にあたり、予測したスループット変化分を振り分けるのに最適なプールサーバを選択する。フィードフォワード制御方式による場合は、突発的な外乱が生じた場合であっても、大きな影響が現れる前に対応できるという効果がある。【００６７】
また、レスポンスタイム差分演算／リクエスト数換算手段５２３がスループット変化分を算出する場合の動作は、フィードバック制御に該当する。フィードバック制御は、制御対象の状態を目標の状態に近づけるよう制御する制御方式である。本実施の形態では、目標と現状との差分であるスループット変化分を振り分けるのに最適なプールサーバを選択する。フィードバック制御方式による場合は、制御対象が目標の状態に近い状態になるという効果がある。負荷予測手段５２５とレスポンスタイム差分演算／リクエスト数換算手段５２３とは、併用されてもよく、どちらか一方のみが実装されてもよい。【００６８】
次に、資源容量計画手段５２０の動作について説明する。資源容量計画手段５２０の動作は、本処理と前処理とに分かれる。本処理は、サーバ選択手段５２４による処理であり、スループット変化分とレスポンスタイムとを入力として受ける処理である。前処理は、第１の全体の動作では負荷予測手段５２５による処理、第２の全体の動作ではレスポンスタイム差分演算／リクエスト数換算手段５２３による処理である。第２の全体の動作では、監視結果と目標値との差分演算とともに、レスポンスタイムからリクエスト数へのメトリック変換が行われる。【００６９】
図９は、サーバ選択手段５２４の動作を示すフローチャートである。以下、前処理として、負荷予測手段５２５による処理が行われた場合を例示して説明する。サーバ選択手段５２４は、負荷予測手段５２５からスループット変化分とレスポンスタイム監視結果とを受け付けると（ステップＳ３０１）、サービス特性記憶部５２２から管理対象の当該サービスに関する数量モデル９０２（図５参照。）を取得し、レスポンスタイム監視結果９０１（図５参照。）との連立式９０３（図５参照）を立てる。数量モデル９０２は、例えば、図４に示す数量モデル８０２である。連立式９０３は、管理対象の負荷分散装置５０３を重み付けラウンドロビンで動作させているために、立てることのできる連立式である。連立式９０３を解くことにより、サーバ性能仕様とスループットとの関係を導くことができる（ステップＳ３０２）。【００７０】
なお、前処理として、レスポンスタイム差分演算／リクエスト数換算手段５２３による処理が行われた場合には、ステップＳ３０１において、サーバ選択手段５２４は、レスポンスタイム差分演算／リクエスト数換算手段５２３からスループット変化分とレスポンスタイム目標値とを受け付け、数量モデル９０２とレスポンスタイム目標値との連立式を立てる。【００７１】
次に、サーバ選択手段５２４は、ステップＳ３０１において受け付けたスループット変化分の値が正であるか否かを判定する（ステップＳ３０３）。スループット変化分が正であるときは（ＹＥＳ）、資源性能仕様記憶部５２１に格納される性能仕様情報のサービス割当がＰｏｏｌであるものを検索し（ステップＳ３０４）、スループット変化分が負であるときは（ＮＯ）、サービス割当が当該サービスの名前であるものを検索して（ステップＳ３０５）、資源ＩＤと性能仕様との組み合わせを取得する（ステップＳ３０６）。【００７２】
サーバ選択手段５２４は、ステップＳ３０６において、資源ＩＤと性能仕様との組み合わせの取得に成功した場合はステップＳ３０７に移行し、失敗した場合には一連の処理を終了する。ステップＳ３０７において、取得したサーバの資源ＩＤと性能仕様の組み合わせに対して、前述の連立式９０３より得られたサーバ性能仕様とスループットとの関係式を適用し、サーバの資源ＩＤ毎に対応するスループットを算出する（ステップＳ３０７）。【００７３】
サーバ選択手段５２４は、この資源ＩＤとスループットの組み合わせを利用し、入力として受け付けたスループット変化分と値が近くなるような、サーバ資源ＩＤの組み合わせを算出する（ステップＳ３０８）。例えば、スループット変化分が正である場合には、スループット変化分よりも大きくかつ最も近い値を有するスループットの組み合わせを算出し、スループット変化分が負である場合には、スループット変化分の絶対値よりも小さくかつ最も近い値を有するスループットの組み合わせを算出してもよい。【００７４】
最後に、スループット変化分が正であるか否かを判定する（ステップＳ３０９）。ステップＳ３０９において、スループット変化分が正であるときは（ＹＥＳ）、プロビジョニング手段に対して、これらのサーバ資源ＩＤの組み合わせの追加を指示し（ステップＳ３１０）、負である場合には（ＮＯ）、これらのサーバ資源ＩＤの組み合わせの削除を指示して（ステップＳ３１１）、一連の処理を終了する。ここで、追加とはプールサーバをアプリケーションサーバに変更する構成変更を指し、削除とはアプリケーションサーバからプールサーバに変更する構成変更を指す。【００７５】
図９のステップＳ３０８における組み合わせを求める方式は、例えば図１０に示すフローチャートに示すステップであっても良い。まず、サーバ選択手段５２４は、受け付けたスループット変化分を残存スループット変化分を表す局所変数として格納し（ステップＳ４０１）、この残存スループット変化分より大きく最も近いスループットを持つサーバ資源ＩＤを選ぶ（ステップＳ４０２）。【００７６】
サーバ選択手段５２４は、結果が存在するか否かを判定し（ステップＳ４０３）、結果が存在する時（ＹＥＳ）、このサーバ資源ＩＤをサーバＩＤリストを表す局所変数に保持する（ステップＳ４０４）。さらに、結果のサーバ資源ＩＤと対応するスループットを残存スループット変化分から差し引く（ステップＳ４０５）。そして、再度ステップＳ４０２の処理を行う。ステップＳ４０３のサーバ資源ＩＤの検索結果評価で、検索結果が存在しなかった場合には、サーバ資源ＩＤリストに存在するサーバ資源ＩＤを求める組み合わせとする（ステップＳ４０６）。【００７７】
次に、具体的な実施例を用いて第１の実施の形態の動作を説明する。図１１は、管理対象システムの構成例を示すブロック図である。図１１に例示する管理対象システムは、負荷分散装置２００３と、特定のサービスとして「サービス１」を提供する複数のサーバを有するクラスタ２０１０と、特定のサービスの提供は行わないプールサーバ用ドメイン２０２０とを備える。負荷分散装置２００３は、ネットワーク２００２を介して、クライアント２００１と通信可能に接続される。【００７８】
プールサーバ用ドメイン２０２０は、高性能サーバ２０２３，２０２４と、低性能サーバ２０２１，２０２２とを有するものとする。一方、サービス１を提供するクラスタ２０１０は、２台の高性能サーバ２０１２，２０１３と、１台の低性能サーバ２０１１とを有するものとする。また、サーバ２０１１〜２０１３のある時点におけるスループットやレスポンスタイムなどの値を示す情報を、サーバ状態２０３１〜２０３３と表記する。サーバ状態２０３１〜２０３３は、監視手段５１１によって取得される情報である。【００７９】
図１２は、資源性能仕様記憶部５２１に格納されるクラスタ２０１０およびプールサーバ用ドメイン２０２０の性能仕様情報を例示する説明図である。図１２に例示する性能仕
様情報は、資源ＩＤと、サービス割当と、性能仕様としてＣＰＵクロック数とを含む。【００８０】
監視手段５１１によって、サーバ２０１１〜２０１３のサーバ状態２０３１〜２０３３が収集される。また、サーバ状態の履歴情報から回帰分析処理を用いて数量モデルの係数や定数が計算された結果が、サービス特性記憶部５２２に格納されるものとする。例えば、サーバ２０１１〜２０１３から収集された過去のサーバ状態２０３１〜２０３３が、サーバ資源の性能仕様であるＣＰＵクロック数毎に分類した場合に、図１３に例示するグラフに表される特性を持っているとすると、サービス特性記憶部５２２には、図１４に例示するサービス情報が格納される。図１４に例示するサービス情報に含まれる数量モデル２３０２は、図４に示すモデル情報に含まれる数量モデル８０２に対応するものとする。【００８１】
また、サービスレベル入力手段５３０から資源容量計画５２０のレスポンスタイム差分演算／リクエスト数換算手段５２３に対して、レスポンスタイム目標値が１．０秒であると与えられたとする。なお、本実施例の説明では、レスポンスタイム差分演算／リクエスト数換算手段５２３がスループット変化分を算出する場合を例示して説明する。【００８２】
図１１に示す管理対象サーバ２０１１〜２０１３が、それぞれサーバ状態２０３１〜２０３３で示される状態である時点において、監視手段５１１が管理対象サーバ２０１１〜２０１３を監視したとする。【００８３】
レスポンス差分演算／リクエスト数換算手段５２３は、レスポンスタイムの差分計算の後にスループットに換算する手段をとる場合、図４の数量モデル８０３の偏微分式を取り出す。まず、差分演算では、管理対象サーバ２０１１〜２０１３に対して、レスポンスタイム目標値と監視結果との差分、すなわちレスポンスタイムの変化が、管理対象サーバ２０１１〜２０１３に対して、それぞれ０．５秒、０．２秒、０．１秒と算出される。【００８４】
次に、スループット変化に対するレスポンスタイムの変化は、数量モデル８０３に、図１２に例示する性能仕様情報に含まれる性能仕様と、図１４に例示するサービス情報に含まれる係数とを代入することによって、管理対象サーバ２０１１〜２０１３に対して、それぞれ０．０１８，０．００９６，０．００９６と算出される。【００８５】
例えば、管理対象サーバ２０１１の場合は以下のように計算される。管理対象サーバ２０１１にはサービス１が割り当てられていて、その数量モデルはモデル１であることから、数量モデル８０３は、ｄ（レスポンスタイム）／ｄ（スループット）＝係数１＋係数２×ＣＰＵクロック数となる。数量モデル８０３に、図１２に例示する性能仕様情報に含まれる性能仕様と、図１４に例示するサービス情報に含まれる係数とを代入する。管理対象サーバ２０１１の性能仕様（ＣＰＵクロック数）は、１．８であり、係数１は０．０３０、係数２は−０．００６８である。したがって、ｄ（レスポンスタイム）／ｄ（スループット）＝０．０３０−０．００６８×１．８＝０．０１８と算出される。【００８６】
ｄ（レスポンスタイム）／ｄ（スループット）を算出した式に、レスポンスタイムの変化「ｄ（レスポンスタイム）」を代入することによって、スループット変化分「ｄ（スループット）」が求められ、管理対象サーバ２０１１〜２０１３に対してそれぞれ２８，２１，１０となる。例えば、管理対象サーバ２０１１の場合は以下のように計算される。ｄ（レスポンスタイム）／ｄ（スループット）＝０．０１８より、ｄ（スループット）＝ｄ（レスポンスタイム）／０．０１８となる。ｄ（レスポンスタイム）はレスポンスタイム変化分であるから、０．５を代入すると、ｄ（スループット）＝０．５／０．０１８＝２８と算出される。【００８７】
各アプリケーションサーバについて計算されたスループット変化分の値を足し合わせると、２８＋２１＋１０＝５９となる。これがスループット変化分として、サーバ選択手段５２４に渡される。【００８８】
次に、サーバ選択手段５２４は、算出されたスループット変化分「５９」を低減可能な性能仕様を持ったサーバの組み合わせを選択する。ここでは、レスポンスタイム目標値１．０も同時に渡されるものとする。【００８９】
まず、図４の数量モデル８０２に対して、レスポンスタイムの目標値１．０と、図１４に例示するサービス情報に含まれる係数および定数とを代入すると、スループットとサーバ性能仕様との関係式が得られる。スループット変化分「５９」は正の数であるため、図１２に示す性能仕様情報からサービス割当がプールであるものを選択する。この場合は、サーバ２０２１、サーバ２０２２、サーバ２０２３、サーバ２０２４が選択される。【００９０】
選択されたそれぞれの資源ＩＤに関して、それぞれの性能仕様を数量モデル８０２に入力する。これによって各サーバに対応するスループットは、それぞれ２２，２２，８２，８２となる。【００９１】
例えば、サーバ２０２１の場合は以下のように計算される。新たにサービス１を割り当てるサーバを求めることから、数量モデル８０２は、レスポンスタイム＝係数１×スループット＋係数２×スループット×ＣＰＵクロック数＋係数３×ＣＰＵクロック数＋定数となる。レスポンスタイムの目標値は１．０であって、係数１は０．０３０、係数２は−０．００６８、係数３は−０．３３、定数は１．２０である（図１４参照。）ことから、数量モデル８０２に代入すると、スループットとサーバ性能仕様との関係式として、１．０＝０．０３０×スループット−０．００６８×スループット×ＣＰＵクロック数−０．３３×ＣＰＵクロック数＋１．２０が得られる。【００９２】
ここで、サーバ２０２１の性能仕様（ＣＰＵクロック数）は、１．８である（図１２参照。）ことから、１．０＝０．０３０×スループット−０．００６８×スループット×１．８−０．３３×１．８＋１．２０となる。これより、スループット＝２２と求められる。【００９３】
求められたスループットの値の組み合わせとしては、サーバ２０２１とサーバ２０２２の組み合わせで４４、サーバ２０２３あるいはサーバ２０２４単体で８２となるが、スループット変化分５９より大きく最小であるのは、サーバ２０２３、あるいはサーバ２０２４のどちらかを単体で選択した場合であるため、これを制御対象のサーバとして選択する。またスループット変化分は正の数であるため、制御内容は、プールサーバをアプリケーションサーバに変更する追加制御となる。【００９４】
以上は、第１の全体の動作を示す実施例であるが、第２の全体の動作では、負荷予測手段５２５を用いた制御ループが構成される。例えば、プロビジョニング手段５１３が、プールサーバ５０２をアプリケーションサーバ５０１に構成変更するのに要する時間が１分であるとすると、負荷予測手段５２５は、サービス１を提供するアプリケーションサーバに到来するスループットの１分後の増加数を過去の履歴などから予測する。【００９５】
現在、図１１に示す状態であるとすると、クラスタ２０１０には、管理対象サーバ２０１１〜２０１３のスループットの合計である５０＋１００＋８０＝２３０のスループットが到来し処理されている。ここで、負荷予測手段５２５によって、過去の履歴から１分後のスループットが３００になると予測されたとすると、スループット変化分として３００−２３０＝７０が予測されたこととなる。この時、サーバ選択手順５２４には、図１１に示す各サーバのレスポンスタイムの平均値１．３も同時に入力されるものとする。【００９６】
図４に示す数量モデル８０２に、レスポンスタイムの平均値１．３とを代入するとともに、図１４に示す係数及び定数のパラメータ値を代入すると、スループットとサーバ性能仕様との関係式が得られる。【００９７】
次に、スループット変化数が正であることから、図１２に示す性能仕様情報からサーバ割当がプールであるものが検索され、サーバ２０２１、サーバ２０２２、サーバ２０２３、サーバ２０２４が選択される。それぞれのサーバ性能仕様を、前述のスループットとサーバ性能仕様との関係式に代入することにより、各サーバについてのスループットがそれぞれ３９，３９，１１０，１１０と求められる。【００９８】
例えば、サーバ２０２１の場合は以下のように計算される。新たにサービス１を割り当てるサーバを求めることから、数量モデル８０２は、レスポンスタイム＝係数１×スループット＋係数２×スループット×ＣＰＵクロック数＋係数３×ＣＰＵクロック数＋定数となる。レスポンスタイムの目標値は１．３であって、係数１は０．０３０、係数２は−０．００６８、係数３は−０．３３、定数は１．２０である（図１４参照。）ことから、数量モデル８０２に代入すると、スループットとサーバ性能仕様との関係式として、１．３＝０．０３０×スループット−０．００６８×スループット×ＣＰＵクロック数−０．３３×ＣＰＵクロック数＋１．２０が得られる。【００９９】
ここで、サーバ２０２１の性能仕様（ＣＰＵクロック数）は、１．８である（図１２参照。）ことから、１．３＝０．０３０×スループット−０．００６８×スループット×１．８−０．３３×１．８＋１．２０となる。これより、スループット＝３９と求められる。【０１００】
求められたスループットの値の組み合わせのうち、予測されたスループット変化分７０を超えて、最も小さいものはサーバ２０２１とサーバ２０２２の組み合わせで７８である。そのため、これら２つのサーバが選択され、スループット変化分が正であることから、選択されたサーバに関する追加制御が実行される。【０１０１】
以上に説明したように、第１の実施の形態によれば、管理対象の負荷分散装置を重み付きラウンドロビンアルゴリズムでユーザからのリクエストを割り振るように動作させるとともに、管理システムが、スループットとサーバ性能仕様に対するレスポンスタイムの関係式、各サーバの性能仕様、サーバのレスポンスタイム監視結果と目標値とから算出されるスループット変化分または予測されるスループット変化分とから、サーバのスループット変化分を相殺するような性能仕様を持ったサーバの組み合わせを算出することができる。したがって、スループットが時間的に変動したり、サーバの性能が均一でない環境下において、突発的なアクセス数増加が発生した場合であっても、サービスレベルの劣化が少なく、必要十分なサーバをサービスに割り当てることができるという効果がある。【０１０２】
［実施の形態２］
次に、本発明の第２の実施の形態を図面を参照して説明する。図１５は、本発明によるサーバ資源管理システムの第２の実施の形態を示すブロック図である。図１５に示すサーバ資源管理システムは、管理対象システム３３００と、管理対象システム３３００を管理する管理システム３３１０と、管理システム３３１０に対して管理対象サービスのサービスレベルを入力するサービスレベル入力手段３３３０とを備える。【０１０３】
管理対象システム３３００は、インターネット等の通信ネットワーク３３５１を介してクライアント３３４０と通信可能である。管理システム３３１０は、インターネット等の通信ネットワーク３３５２および通信ネットワーク３３５３を介して、それぞれ管理対象システム３３００およびサービスレベル入力手段３３３０と通信可能に接続される。【０１０４】
管理対象システム３３００は、サービスアプリケーションが配備され、負荷分散装置によって割り当てられたサービスを実行するアプリケーションサーバ３３０１と、特定のサービスアプリケーションには使われず、他のサービスと共有されるプールサーバ３３０２と、アプリケーションに対するリクエストを各アプリケーションサーバに分散させる負荷分散装置３３０３とを備える。【０１０５】
管理システム３３１０は、アプリケーションサーバ３３０１、プールサーバ３３０２および負荷分散装置３３０３を監視する監視手段３３１１と、サービスの品質維持に必要なサーバを計算する資源容量計画手段３３２０と、複数のサービスで共有されるプールサーバ３３０２に特定のサービスアプリケーションプログラムの配備や、負荷分散装置３３０３に対するサーバアドレスの登録などの構成制御を行うプロビジョニング手段（設定変更手段）３３１３とを備える。【０１０６】
さらに、資源容量計画手段３３２０は、レスポンス先読み／スループット換算手段（差分量予測／処理量算出手段）３３２３と、サービス特性記憶部３３２２と、資源性能仕様記憶部３３２１と、サーバ選択手段３３２４とを備える。【０１０７】
図１６は、サービスの管理者がレスポンスタイムの目標値を時系列情報として入力した際の設定状況を示す説明図である。レスポンスタイムの目標値は、サービス管理者等によって、サービスレベル入力手段３３３０からレスポンス先読み／スループット換算手段３３２３に入力される。図１６には、レスポンスタイムの目標値が、８時までは１．２秒、８時以降は０．８秒と設定された場合が例示されている。【０１０８】
レスポンス先読み／スループット換算手段３３２３は、サービスレベル入力手段３３３０から入力されたレスポンスタイムの目標値のうち、現在時刻におけるレスポンスタイムの目標値と、プロビジョニング手段３３１３がプロビジョニングに要する時間分だけ現在より先のレスポンスタイムの目標値とを取得する。レスポンス先読み／スループット換算手段３３２３は、将来のレスポンスタイムの目標値と現在のレスポンスタイムの目標値との比較およびスループット変換処理を行う。【０１０９】
上記のレスポンス先読み／スループット換算手段３３２３の処理は、第１の実施の形態におけるレスポンス差分演算／リクエスト数換算手段５２３の処理において、現在のレスポンスタイムの目標値をレスポンスタイムの監視結果に、将来のレスポンスタイムをレスポンスタイムの目標値に置き換えた処理と同じである。すなわち、レスポンスタイムの目標値の差分を演算し、それを各サーバの性能仕様情報とサービス特性とともに数量モデルに代入して、スループットの変化分を出力する方式と、各サーバの性能仕様情報とサービス特性とレスポンスタイムの差分とを数量モデルにそれぞれ入力し、得られたそれぞれのスループットの差分を取る方式である。【０１１０】
上記のいずれかの方式によって得られたスループット変化分は、サーバ選択手段３３２４に入力され、第１の実施の形態におけるサーバ選択手段５２４と同一の処理が行われる。【０１１１】
図１７は、第２の実施の形態における信号伝達の流れを表すブロック線図である。スループット３２１０、レスポンスタイム目標値スケジュール３２０４およびレスポンスタイム制御結果３２０２は、伝達される信号である。スループット監視３２０９およびレスポンスタイム監視３２０３は、図１５における監視手段３３１１で、スループット増加予測３２０８およびメトリック変換１２０５はレスポンス先読み／スループット換算手段３３２３で、サーバ選択３２０６はサーバ選択手段３３２４で、プロビジョニング３２０７はプロビジョニング手段３３１３で、制御対象３２０１はアプリケーションサーバ３３０１およびプールサーバ３３０２で、それぞれ実現される機能である。【０１１２】
図１７に示すブロック線図における流れは、レスポンスタイム目標値スケジュール３２０４が入力され、レスポンスタイム先読み機構３２１１によって取得された将来の時点でのレスポンスタイム目標値と現在のレスポンスタイム目標値との差分が、スループットにメトリック変換され、これに対応する性能・台数のサーバのプロビジョニングが制御対象に施されるという流れと対応している。【０１１３】
次に、具体的な実施例を用いて第２の実施の形態の動作を説明する。以下の説明では、管理対象のアプリケーションサーバは、図１１に示す３台の管理対象サーバ２０１１，２０１２，２０１３であるものとする。ただし、そのサーバ上のサービスレベルの値は、２０３１，２０３２，２０３３とは異なるものであるとする。【０１１４】
また、図１６に示すように、サービスレベル入力手段３３３０から、レスポンスタイム目標値が８時に１．２秒から０．８秒に変更される設定がされているものとする。サービス特性記憶部が、サーバ２０１１〜２０１３のサービス情報およびモデル情報として、図１４に示すサービス情報と図４に示すモデル情報とを格納するものとし、資源性能仕様記憶部３３２１が、図１２に示す性能仕様情報を格納するものとして以下の説明を行う。【０１１５】
まず、レスポンス先読み／スループット換算手段３３２３が、現在のレスポンスタイムとプロビジョニングに要する時間だけ将来のレスポンスタイムの値を監視する。現在の時刻が図１６に示す時刻３１０１に相当するときのレスポンスタイム目標値は１．２であり、プロビジョニング手段が処理に要する時間３１０２だけ将来の時刻３１０３におけるレスポンスタイム目標値は０．８であることから、レスポンスタイムの差分は、０．４となる。【０１１６】
数量モデル８０３、図１２に示す性能仕様、算出したレスポンスタイムの変化分およびレスポンスタイムの将来の目標値から、当該スループット変化分を相殺しうるサーバの組み合わせを第１の実施の形態と同様に算出する。【０１１７】
まず、レスポンス先読み／スループット換算手段３３２３が、スループット変化分を算出する。すなわち、数量モデル８０３と図１２に示す性能仕様とから、スループット変化に対するレスポンスタイムの変化は、それぞれ、０．０１８，０．００９６，０．００９６と算出される。【０１１８】
例えば、管理対象サーバ２０１１の場合は以下のように計算される。管理対象サーバ２０１１にはサービス１が割り当てられていて、その数量モデルはモデル１であることから、数量モデル８０３は、ｄ（レスポンスタイム）／ｄ（スループット）＝係数１＋係数２×ＣＰＵクロック数となる。数量モデル８０３に、図１２に例示する性能仕様情報に含まれる性能仕様と、図１４に例示するサービス情報に含まれる係数とを代入する。管理対象サーバ２０１１の性能仕様（ＣＰＵクロック数）は、１．８であり、係数１は０．０３０、係数２は−０．００６８である。したがって、ｄ（レスポンスタイム）／ｄ（スループット）＝０．０３０−０．００６８×１．８＝０．０１８と算出される。【０１１９】
ｄ（レスポンスタイム）／ｄ（スループット）を算出した式に、レスポンスタイムの変化分「ｄ（レスポンスタイム）」を代入することによって、スループット変化分「ｄ（スループット）」が求められ、管理対象サーバ２０１１〜２０１３に対してそれぞれ２２，４２，４２となる。【０１２０】
例えば、管理対象サーバ２０１１の場合は以下のように計算される。ｄ（レスポンスタイム）／ｄ（スループット）＝０．０１８より、ｄ（スループット）＝ｄ（レスポンスタイム）／０．０１８となる。ｄ（レスポンスタイム）はレスポンスタイム変化分であるから、０．４を代入すると、ｄ（スループット）＝０．４／０．０１８＝２２と算出される。【０１２１】
各アプリケーションサーバについて計算されたスループット変化分の値を足し合わせると、２２＋４２＋４２＝１０６となる。これがスループット変化分として、サーバ選択手段５２４に出力される。【０１２２】
次に、サーバ選択手段５２４は、出力されたスループット変化分に対応するサーバを選択する。まず、将来のレスポンスタイム目標値０．８を数量モデル８０２に入力し、さらにサービス割当がプールであるサーバの性能仕様情報を代入して、各サーバに関するスループットを算出すると、それぞれ１１，１１，６１，６１となる。【０１２３】
例えば、サーバ２０２１の場合は以下のように計算される。新たにサービス１を割り当てるサーバを求めることから、数量モデル８０２は、レスポンスタイム＝係数１×スループット＋係数２×スループット×ＣＰＵクロック数＋係数３×ＣＰＵクロック数＋定数となる。将来のレスポンスタイム目標値は０．８であって、係数１は０．０３０、係数２は−０．００６８、係数３は−０．３３、定数は１．２０である（図１４参照。）ことから、数量モデル８０２に代入すると、スループットとサーバ性能仕様との関係式として、０．８＝０．０３０×スループット−０．００６８×スループット×ＣＰＵクロック数−０．３３×ＣＰＵクロック数＋１．２０が得られる。【０１２４】
ここで、サーバ２０２１の性能仕様（ＣＰＵクロック数）は、１．８である（図１２参照。）ことから、０．８＝０．０３０×スループット−０．００６８×スループット×１．８−０．３３×１．８＋１．２０となる。これより、スループット＝１１と求められる。【０１２５】
スループット変化分は１０６であるため、これを超え最小の数となる組み合わせは、サーバ２０２３とサーバ２０２４の両方を割り当てることとなる。この割当は、スループット変化が正であるために、追加処理となる。【０１２６】
以上に説明したように、第２の実施の形態によれば、第１の実施の形態による効果に加えて、将来のレスポンスタイムの目標値と現在のレスポンスタイムの目標値との差分からスループット変化分を算出することから、予測されるスループット変化分を振り分けるフィードフォワード制御によって、必要十分なサーバ資源を割り当てることができるという効果がある。【０１２７】
第１の実施形態と第２の実施形態とを組み合わせることが可能である。例えば、第２の実施形態を示す図１５において、レスポンス先読み／スループット換算手段３３２３が、図１に示したレスポンス差分演算手段／リクエスト数換算手段５２３の機能を更に備えていてもよい。この場合、監視手段３３１１によって取得された現在の単位時間当たりの負荷および応答時間と、あらかじめ指定された目標応答時間と、実行サーバの性能情報とをもとに、数量モデル記憶手段３３２２に記憶された特定のサービスに対応した数量モデルを用いて、実行サーバにおける現在の単位時間当たりの負荷と目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出する機能と、監視手段３３２２によって取得された現在の単位時間当たりの負荷および応答時間と、蓄積されている単位時間当たりの負荷の過去の履歴とをもとに、所定時間だけ将来の時点において予測される単位時間当たりの負荷の増加数または減少数を示す差分量を算出する機能とを有し、双方の機能を、予め設定された設定に応じて、或いは、自動的に切り替える。【０１２８】
以上、本発明をその好適な実施形態例に基づいて説明したが、本発明の資源量計算システム、方法、及び、プログラムは、上記実施形態例の構成にのみ限定されるものではなく、上記実施形態例の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
【産業上の利用可能性】
【０１２９】
本発明は、ネットワークを介してサーバがサービス消費者にサービスを提供する際に、サービスのレスポンスタイムを維持するために効果的に適用できる。
【図１】
2007034826.tif 000002
【図２】
2007034826.tif 000003
【図３】
2007034826.tif 000004
【図４】
2007034826.tif 000005
【図５】
2007034826.tif 000006
【図６】
2007034826.tif 000007
【図７】
2007034826.tif 000008
【図８】
2007034826.tif 000009
【図９】
2007034826.tif 000010
【図１０】
2007034826.tif 000011
【図１１】
2007034826.tif 000012
【図１２】
2007034826.tif 000013
【図１３】
2007034826.tif 000014
【図１４】
2007034826.tif 000015
【図１５】
2007034826.tif 000016
【図１６】
2007034826.tif 000017
【図１７】
2007034826.tif 000018
【図１８】
2007034826.tif 000019
【手続補正書】
【提出日】平成19年1月31日(2007.1.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
クライアントからのリクエストを割り振る負荷分散装置のために、使用可能なサーバ資源量を計算する資源量計算システムであって、
サーバの性能を示す性能情報をサーバごとに記憶する性能情報記憶手段（５２１）と、
前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶する数量モデル記憶手段（５２２）と、
特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得する監視手段（５１１）と、
前記監視手段（５１１）によって取得された前記現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記数量モデル記憶手段（５２２）に記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出する差分量算出手段（５２３）と、
サービスを実行していない一または複数の予備サーバの性能情報と前記目標応答時間とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記目標応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出する処理量算出手段（５２３）と、
前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するサーバ選択手段（５２４）と、
前記サーバ選択手段（５２４）によって選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置（３３０３）に対してサーバの設定変更に関する情報を出力する設定変更手段（５１３）と
を備えたことを特徴とする資源量計算システム。
【請求項２】
単位時間当たりの負荷は、単位時間あたりのリクエスト数である、請求項１に記載の資源量計算システム。
【請求項３】
差分量算出手段は、あらかじめ時系列に指定された目標応答時間をもとに、現在における目標応答時間に対応する単位時間当たりの負荷と所定時間だけ将来の時点における目標応答時間に対応する単位時間当たりの負荷との差を示す差分量を算出する、請求項１に記載の資源量計算システム。
【請求項４】
サーバ選択手段（５２４）は、差分量が正の値である場合に、一または複数の予備サーバについて、処理量の組み合わせが差分量よりも大きくかつ最も近い値を有する予備サーバを選択し、差分量が負の値である場合に、一または複数の実行サーバについて、処理量の組み合わせが差分量の絶対値よりも小さくかつ最も近い値を有する実行サーバを選択し、
設定変更手段（５１３）は、差分量が正の値である場合に、前記サーバ選択手段（５２４）によって選択された予備サーバが特定のサービスを実行するように設定し、差分量が負の値である場合に、前記サーバ選択手段（５２４）によって選択された実行サーバが特定のサービスの実行を停止するように設定する、請求項１に記載の資源量計算システム。
【請求項５】
クライアントからのリクエストを割り振る負荷分散装置のために、使用可能なサーバ資源量を計算する資源量計算システムであって、
サーバの性能を示す性能情報をサーバごとに記憶する性能情報記憶手段（３３２１）と、
前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶する数量モデル記憶手段（３３２２）と、
特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得する監視手段（３３１１）と、
前記監視手段（３３１１）によって取得された前記現在の単位時間当たりの負荷および応答時間と蓄積されている単位時間当たりの負荷の過去の履歴とをもとに、所定時間だけ将来の時点において予測される単位時間当たりの負荷の増加数または減少数を示す差分量を算出する差分量予測手段（３３２３）と、
サービスを実行していない一または複数の予備サーバの性能情報と前記現在の応答時間とをもとに、前記数量モデル記憶手段（３３２２）に記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記現在の応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出する処理量算出手段（３３２３）と、
前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するサーバ選択手段（３３２４）と、
前記サーバ選択手段（３３２４）によって選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置（３３０３）に対してサーバの設定変更に関する情報を出力する設定変更手段と
を備えたことを特徴とする資源量計算システム。
【請求項６】
差分量算出手段（３３２３）は、監視手段（３３１１）によって取得された前記現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記数量モデル記憶手段（３３２２）に記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出する機能を更に有する、請求項５に記載の資源量計算システム。
【請求項７】
単位時間当たりの負荷は、単位時間あたりのリクエスト数である、請求項６に記載の資源量計算システム。
【請求項８】
差分量算出手段（３３２３）は、
あらかじめ時系列に指定された目標応答時間をもとに、現在における目標応答時間に対応する単位時間当たりの負荷と所定時間だけ将来の時点における目標応答時間に対応する単位時間当たりの負荷との差を示す差分量を算出する、請求項７に記載の資源量計算システム。
【請求項９】
サーバ選択手段（３３２４）は、差分量が正の値である場合に、一または複数の予備サーバについて、処理量の組み合わせが差分量よりも大きくかつ最も近い値を有する予備サーバを選択し、差分量が負の値である場合に、一または複数の実行サーバについて、処理量の組み合わせが差分量の絶対値よりも小さくかつ最も近い値を有する実行サーバを選択し、
設定変更手段（３３１３）は、差分量が正の値である場合に、前記サーバ選択手段（３３２４）によって選択された予備サーバが特定のサービスを実行するように設定し、差分量が負の値である場合に、前記サーバ選択手段（３３２４）によって選択された実行サーバが特定のサービスの実行を停止するように設定する、請求項５項に記載の資源量計算システム。
【請求項１０】
クライアントからのリクエストを割り振る負荷分散装置のために、使用可能なサーバ資源量を計算する資源量計算方法であって、
サーバの性能を示す性能情報をサーバごとに記憶するステップと、
前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶するステップと、
特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得するステップと、
前記取得ステップで取得された現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出するステップと、
サービスを実行していない一または複数の予備サーバの性能情報と前記目標応答時間とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記目標応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出するステップと、
前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するステップと、
前記サーバ選択手段によって選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力するステップとを有することを特徴とする資源量計算方法。
【請求項１１】
数量モデル記憶ステップで、単位時間あたりのリクエスト数である単位時間当たりの負荷を記憶する
請求項１０に記載の資源量計算方法。
【請求項１２】
クライアントからのリクエストを割り振る負荷分散装置のために、使用可能なサーバ資源量を計算する資源量計算方法であって、
サーバの性能を示す性能情報をサーバごとに記憶するステップと、
前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶するステップと、
特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得するステップと、
前記取得ステップで取得された前記現在の単位時間当たりの負荷および応答時間と蓄積されている単位時間当たりの負荷の過去の履歴とをもとに、所定時間だけ将来の時点において予測される単位時間当たりの負荷の増加数または減少数を示す差分量を算出するステップと、
前記算出ステップで、サービスを実行していない一または複数の予備サーバの性能情報と前記現在の応答時間とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記現在の応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出するステップと、
前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するステップと、
設定変更手段が、前記サーバ選択手段によって選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力するステップとを有する
ことを特徴とする資源量計算方法。
【請求項１３】
前記取得ステップで取得された現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記数量モデル記憶手段に記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出するステップを更に有する、請求項１２に記載の資源量計算システム。
【請求項１４】
数量モデル記憶ステップで、単位時間あたりのリクエスト数である単位時間当たりの負荷を記憶する、請求項１２に記載の資源量計算方法。
【請求項１５】
クライアントからのリクエストを割り振り可能なサーバ資源量を計算するコンピュータに搭載される資源量計算プログラムであって、
前記コンピュータに、
サーバの性能を示す性能情報をサーバごとに記憶する性能情報記憶処理と、
前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶する数量モデル記憶処理と、
特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得する監視処理と、
取得された前記現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出する差分量算出処理と、
サービスを実行していない一または複数の予備サーバの性能情報と前記目標応答時間とをもとに、記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記目標応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出する処理量算出処理と、
前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するサーバ選択処理と、
選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力する設定変更処理と
を実行させるための資源量計算プログラム。
【請求項１６】
数量モデル記憶処理で、単位時間あたりのリクエスト数である単位時間当たりの負荷を記憶する処理を実行させる、請求項１５に記載の資源量計算プログラム。
【請求項１７】
クライアントからのリクエストを割り振り可能なサーバ資源量を計算するコンピュータに搭載される資源量計算プログラムであって、
前記コンピュータに、
サーバの性能を示す性能情報をサーバごとに記憶する性能情報記憶処理と、
前記クライアントからの単位時間当たりの負荷とサーバが提供するサービスの応答時間と前記性能情報との関係を示す数量モデルをサービスごとに記憶する数量モデル記憶処理と、
特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位時間当たりの負荷および前記特定のサービスの現在の応答時間を取得する監視処理と、
取得された前記現在の単位時間当たりの負荷および応答時間と蓄積されている単位時間当たりの負荷の過去の履歴とをもとに、所定時間だけ将来の時点において予測される単位時間当たりの負荷の増加数または減少数を示す差分量を算出する差分量予測処理と、
サービスを実行していない一または複数の予備サーバの性能情報と前記現在の応答時間とをもとに、記憶された前記特定のサービスに対応した数量モデルを用いて、前記予備サーバが前記現在の応答時間において処理可能な単位時間当たりの負荷を示す処理量を算出する処理量算出処理と、
前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するサーバ選択処理と、
選択されたサーバに対して前記特定のサービスを実行させまたは停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力する設定変更処理と
を実行させるための資源量計算プログラム。
【請求項１８】
前記コンピュータに、取得された前記現在の単位時間当たりの負荷および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、記憶された前記特定のサービスに対応した数量モデルを用いて、前記実行サーバにおける前記現在の単位時間当たりの負荷と前記目標応答時間を実現するための単位時間当たりの負荷との差を示す差分量を算出する差分量算出処理を更に実行させる、請求項１７に記載の資源量計算プログラム。
【請求項１９】
数量モデル記憶処理で、単位時間あたりのリクエスト数である単位時間当たりの負荷を記憶する処理を実行させる、請求項１７に記載の資源量計算プログラム。
【請求項２０】
負荷分散装置がクライアントからのリクエストを割り振り可能なサーバ資源量を計算する資源量計算システムであって、
特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位負荷量および前記特定のサービスの現在の応答時間を取得する監視手段と、
前記監視手段によって取得された前記現在の単位負荷量および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記実行サーバにおける前記現在の単位負荷量と前記目標応答時間を実現するための単位負荷量との差を示す差分量を算出する差分量算出手段と、
サービスを実行していない一または複数の予備サーバの性能情報と前記目標応答時間とをもとに、前記予備サーバが前記目標応答時間において処理可能な単位負荷量を示す処理量を算出する処理量算出手段と、前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するサーバ選択手段と、
前記サーバ選択手段によって選択されたサーバに対して前記特定のサービスを実行させ、または停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力する設定変更手段と
を備えたことを特徴とする資源量計算システム。
【請求項２１】
負荷分散装置がクライアントからのリクエストを割り振り可能なサーバ資源量を計算する資源量計算方法であって、
特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位負荷量および前記特定のサービスの現在の応答時間を取得するステップと、
前記取得された前記現在の単位負荷量および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記実行サーバにおける前記現在の単位負荷量と前記目標応答時間を実現するための単位負荷量との差を示す差分量を算出するステップと、
サービスを実行していない一または複数の予備サーバの性能情報と前記目標応答時間とをもとに、前記予備サーバが前記目標応答時間において処理可能な単位負荷量を示す処理量を算出するステップと、
前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択するステップと、
前記選択されたサーバに対して前記特定のサービスを実行させ、または停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力するステップと
を有することを特徴とする資源量計算方法。
【請求項２２】
負荷分散装置がクライアントからのリクエストを割り振り可能なサーバ資源量を計算するコンピュータに搭載されるプログラムであって、
特定のサービスを実行している一または複数の実行サーバが受け付けている現在の単位負荷量および前記特定のサービスの現在の応答時間を取得する処理と、
前記取得された前記現在の単位負荷量および応答時間とあらかじめ指定された目標応答時間と前記実行サーバの性能情報とをもとに、前記実行サーバにおける前記現在の単位負荷量と前記目標応答時間を実現するための単位負荷量との差を示す差分量を算出する処理と、
サービスを実行していない一または複数の予備サーバの性能情報と前記目標応答時間とをもとに、前記予備サーバが前記目標応答時間において処理可能な単位負荷量を示す処理量を算出する処理と、
前記差分量を相殺する処理量の実行サーバまたは予備サーバを選択する処理と、
前記選択されたサーバに対して前記特定のサービスを実行させ、または停止させる設定変更を行うとともに、前記負荷分散装置に対してサーバの設定変更に関する情報を出力する処理と
を有することを特徴とするプログラム。
【国際調査報告】
2007034826.tif 000020
2007034826.tif 000021
2007034826.tif 000022
2007034826.tif 000023