(57)【要約】データセンタ内のサーバの各ネットワークサービスへの配分を負荷分散装置に対して人手によらずリアルタイムに自動的に行う方法を提供する。各ネットワークサービスに到着する要求量の変動の様子を監視し，要求量の一定時間経過後の値を予測し，その要求量予測値の大きさに応じて当該ネットワークサービスに対するサーバの割当量を制御することができる。ここで、当該ネットワークサービスに対して割り当てられるサーバの量は，要求量予測値が示す量のトラフィックが当該ネットワークサービスに到着した場合に，利用者端末に対する応答時間の平均が運用管理者が予め定めた応答時間閾値以下となるように定められる。また、サーバの増減を１台ずつ行う度，予測値に基づく応答時間が所定の範囲に入るかを判定するため，ネットワークサービスの運用に必要な最低限のサーバ台数によりサーバ群を構成することができる。
2004092971.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された複数の利用者端末と、
前記ネットワークに接続され、前記複数の利用者端末からの要求を処理する複数のサーバを含むサーバ群を有するネットワークシステムにおける前記サーバ群の台数調整方法であって、
所定時間毎の前記複数の利用者端末からの要求数を蓄積し、
蓄積された過去の要求数に基づいて、時間と要求数の特性を関数として求め、
前記関数に将来の時間を代入して将来の要求数を予測し、
前記複数の利用者端末からの要求数が所定の確率分布に従うと仮定した場合の前記複数のサーバ１台あたりの平均応答時間と要求数の関係式に、前記予測された要求数を代入して前記複数のサーバ１台あたりの第一の平均応答時間を求め、
前記第一の平均応答時間が正の値でありかつ予め設定された閾値以下の範囲に含まれるかを判定し、
前記判定の結果に応じて前記サーバ群に含まれるサーバの台数を増減させることを特徴とするサーバ群の台数調整方法。
【請求項２】
請求の範囲１において、
前記判定の結果、前記平均応答時間が前記範囲に含まれる場合、（ａ）前記サーバ群に含まれるサーバを１台選択し、
（ｂ）前記選択されたサーバを除外したサーバ群を仮定し、
（ｃ）前記仮定されたサーバ群に含まれる複数のサーバ１台あたりの第二の平均応答時間を求め、
（ｄ）前記第二の平均応答時間が前記範囲に含まれるか判定する新たな判定を行い、
（ｅ）前記新たな判定の結果、前記第二の平均応答時間が前記範囲に含まれる場合、前記選択されたサーバを前記サーバ群の構成から除外する、ことを特徴とするサーバ群の台数調整方法。
【請求項３】
請求の範囲２において、
前記（ｅ）の後、再び前記（ａ）から前記（ｅ）を繰り返し行い、前記新たな判定の結果、前記第二の平均応答時間が前記範囲に含まれなくなるまで、前記サーバ群に含まれる複数のサーバを１台ずつ構成から除外することを特徴とするサーバ群の台数調整方法。
【請求項４】
請求の範囲１において、
さらに、前記ネットワークに接続された複数の未使用サーバを含む未使用サーバ群を有し、
前記判定の結果、前記平均応答時間が前記範囲に含まれない場合、前記未使用サーバ群に含まれるサーバを１台選択し、
前記選択されたサーバを前記サーバ群に追加することを特徴とするサーバ群の台数調整方法。
【請求項５】
請求の範囲４において、
（ｆ）前記選択されたサーバが追加された後の新たなサーバ群において、該新たなサーバ群に含まれる複数のサーバ１台あたりの第三の平均応答時間を求め、
（ｇ）前記第三の平均応答時間が前記範囲に含まれるか判定する新たな判定を行い、
（ｈ）前記新たな判定の結果、前記第三の平均応答時間が前記範囲に含まれない場合、前記未使用サーバ群に含まれるサーバを１台選択し、
（ｉ）前記選択されたサーバを前記新たなサーバ群に追加し、
前記（ｉ）の後、再び前記（ｆ）から前記（ｉ）を繰り返し行い、前記新たな判定の結果、前記第三の平均応答時間が前記範囲に含まれるまで、前記サーバ群に前記未使用サーバ群に含まれるサーバを１台ずつ追加することを特徴とするサーバ群の台数調整方法。
【請求項６】
ネットワークに接続された複数の利用者端末と、
前記ネットワークに接続され、前記利用者端末からの要求を処理する複数のサーバを含むサーバ群と、
前記ネットワークに接続され、所定時間間隔毎の前記利用者端末からの要求数と前記要求数の振分率と前記サーバ群の構成情報とを蓄積する蓄積手段を含む負荷分散装置と、
前記ネットワークに接続された資源割当制御装置を有するネットワークシステムにおける資源割当制御装置に、
前記負荷分散装置に蓄積された過去の要求数に基づいて、時間と要求数の特性を関数として求めさせ、
前記関数に将来の時間を代入して将来の要求数を予測させ、
前記複数の利用者端末からの要求数が所定の確率分布に従うと仮定した場合の前記複数のサーバ１台あたりの平均応答時間と要求数の関係式に、前記予測された要求数を代入して前記複数のサーバ１台あたりの第一の平均応答時間を求めさせ、
前記第一の平均応答時間が正の値でありかつ予め設定された閾値以下の範囲に含まれるかを判定させ、
前記判定の結果に応じて前記サーバ群に含まれるサーバの台数を増減させるよう前記構成情報を変更させることを特徴とするプログラム。
【請求項７】
請求の範囲６において、
前記判定の結果、前記平均応答時間が前記範囲に含まれる場合、（ａ）前記サーバ群に含まれるサーバを１台選択させ、
（ｂ）前記選択されたサーバを除外したサーバ群を仮定させ、
（ｃ）前記仮定されたサーバ群に含まれる複数のサーバ１台あたりの第二の平均応答時間を求めさせ、
（ｄ）前記第二の平均応答時間が前記範囲に含まれるか判定する新たな判定を行わせ、
（ｅ）前記新たな判定の結果、前記第二の平均応答時間が前記範囲に含まれる場合、前記選択されたサーバを前記構成情報から削除させる、ことを特徴とするプログラム。
【請求項８】
請求の範囲７において、
前記（ｅ）の後、再び前記（ａ）から前記（ｅ）を行い、前記新たな判定の結果、前記第二の平均応答時間が前記範囲に含まれなくなるまで、前記サーバ群に含まれる複数のサーバを１台ずつ前記構成情報から削除させることを特徴とするプログラム。
【請求項９】
請求の範囲６において、
さらに、前記ネットワークに接続された複数の未使用サーバを含む未使用サーバ群を有し、
前記判定の結果、前記平均応答時間が前記範囲に含まれない場合、前記未使用サーバ群に含まれるサーバを１台選択させ、
前記選択されたサーバを前記構成情報に追加させることを特徴とするプログラム。
【請求項１０】
請求の範囲９において、
（ｆ）前記選択されたサーバが追加された後の新たなサーバ群において、該新たなサーバ群に含まれる複数のサーバ１台あたりの第三の平均応答時間を求めさせ、
（ｇ）前記第三の平均応答時間が前記範囲に含まれるか判定する新たな判定を行わせ、
（ｈ）前記新たな判定の結果、前記第三の平均応答時間が前記範囲に含まれない場合、前記未使用サーバ群に含まれるサーバを１台選択させ、
（ｉ）前記選択されたサーバを前記新たなサーバ群に追加させ、
前記（ｉ）の後、再び前記（ｆ）から前記（ｉ）を行わせ、前記新たな判定の結果、前記第三の平均応答時間が前記範囲に含まれるまで、前記構成情報に前記未使用サーバ群に含まれるサーバを１台ずつ追加させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】  本発明は、ネットワークサービスを提供する複数のサーバが一定水準の応答時間を達成するために、そのネットワークサービスに割り当てるサーバ群の構成を動的に変更する方法に関する。
【背景技術】  現在インターネット等のネットワークを介して多様なネットワークサービスが提供されている。このネットワークサービスを提供する事業者である、インターネットサービスプロバイダ（ＩＳＰ）、アプリケーションサービスプロバイダ（ＡＳＰ）等のいわゆるサービスプロバイダ（ｘＳＰ）は、ネットワークサービスを提供するためのサーバの維持、管理を自社で行わず、データセンタ事業者に外部委託する場合がある。
データセンタ事業者は、自社のデータセンタに複数のサーバを有し、その一部をネットワークサービス毎に割り当てる。すなわちネットワークサービス毎に複数のサーバからなるサーバ群が形成され、ネットワークサービスへのサービス要求が対応するサーバ群に所属するいずれかのサーバにより処理される。またデータセンタ事業者は、各ｘＳＰとの契約において信頼性、保守性、可用性やサービス利用者への応答時間等のサービスレベルを一定水準以上に保証する。
ネットワークサービスに割り当てられるサーバ台数が多すぎると、稼働率の低いサーバが存在することになり、サーバの有効活用が図られない。逆に、サーバ台数が少なすぎるとサービスレベルを一定以上に保証することができない。また、サーバに対する負荷は、ネットワークに接続された複数の利用者端末からのサービス要求数に応じて増減し時々刻々と変動するため、データセンタで提供されるネットワークサービスが複数であれば、ネットワークサービス間で負荷の大小に差が生じる。そこでデータセンタ事業者は、保証したサービスレベルを下回らない程度に、負荷の軽いネットワークサービスに割り当てられたサーバ、あるいは未使用のサーバを負荷の重いネットワークサービスに再配置することでサーバ群の構成を変更し、保有するサーバを有効活用する。
このような構成変更を可能とするために、データセンタ事業者はデータセンタ事業者の有する複数のサーバの前段に負荷分散装置を設置し、その負荷分散装置の設定を変更することで、特定のサーバをあるネットワークサービスを提供するサーバ群に追加し、逆にあるネットワークサービスを提供するサーバ群から特定のサーバを削除する。また負荷分散装置は、予め設定された振分率に応じて、利用者端末からのサービス要求を振り分けることで、サーバ群に所属するサーバへの負荷を分散させることも行う。
負荷分散装置の設定は、データセンタの運用管理者の経験や判断に基づいて手動で変更されたり、また現在の動作状況に応じて（ＣＰＵ稼働率から）サービスレベルが一定水準以上であるかが判定され、負荷分散装置の設定が自動的に変更されるものが提案されている（特許文献１参照）。
しかしながら、ネットワークサービスへの負荷は時間帯や季節的要因、人為的要因などによって複雑に変動し、その変勧はネットワークサービス毎に異なるため、従来の負荷分散装置の設定を手動で設定する方法において、運用管理者がその経験や判断だけでその変動パターンを正確に予測することは困難である。また、従来の方法は、負荷分散装置の設定を人手によらずリアルタイムに自動的に行うことを可能にするものではあるが、より多くのサーバを将来必要とするのか、それともより少ないサーバで済むのか判断せずに、現在の動作状況と設定されたサービスレベルのみに応じてサーバが割り当てられる。従って、現在の動作状況に応じて割り当てられたサーバが必ずしも将来において最適なものとはなっていないという課題を有していた。
（特許文献１）    特開２００２−２４１９２号公報
【発明の開示】
本発明の目的は、ネットワークサービスに割り当てられた複数のサーバの構成を利用者端末からの要求数に応じて動的に制御することを可能にする方法およびプログラムを提供することにある。また、各ネットワークサービスに到着する要求数の変動の様子から、一定時間経過後の到着要求数を予測し、その予測値に応じて各ネットワークサービスに対するサーバの割り当てを制御する方法およびプログラムを提供することにある。
上記目的は、ネットワークに接続された複数の利用者端末と、前記ネットワークに接続され、前記複数の利用者端末からの要求を処理する複数のサーバを含むサーバ群を有するネットワークシステムにおける前記サーバ群の台数調整方法であって、所定時間毎の前記複数の利用者端末からの要求数を蓄積し、蓄積された過去の要求数に基づいて、時間と要求数の特性を関数として求め、前記関数に将来の時間を代入して将来の要求数を予測し、前記複数の利用者端末からの要求数が所定の確率分布に従うと仮定した場合の前記複数のサーバ１台あたりの平均応答時間と要求数の関係式に、前記予測された要求数を代入して前記複数のサーバ１台あたりの第一の平均応答時間を求め、前記第一の平均応答時間が正の値でありかつ予め設定された閾値以下の範囲に含まれるかを判定し、前記判定の結果に応じて前記サーバ群に含まれるサーバの台数を増減させることを特徴とするサーバ群の台数調整方法を提供する請求の範囲１に記載の発明により達成される。
また、上記目的は、請求の範囲１において、前記判定の結果、前記平均応答時間が前記範囲に含まれる場合、（ａ）前記サーバ群に含まれるサーバを１台選択し、（ｂ）前記選択されたサーバを除外したサーバ群を仮定し、（ｃ）前記仮定されたサーバ群に含まれる複数のサーバ１台あたりの第二の平均応答時間を求め、（ｄ）前記第二の平均応答時間が前記範囲に含まれるか判定する新たな判定を行い、（ｅ）前記新たな判定の結果、前記第二の平均応答時間が前記範囲に含まれる場合、前記選択されたサーバを前記サーバ群の構成から除外する、ことを特徴とするサーバ群の台数調整方法を提供する請求の範囲２に記載の発明により達成される。
また、上記目的は、請求の範囲２において、前記（ｅ）の後、再び前記（ａ）から前記（ｅ）を繰り返し行い、前記新たな判定の結果、前記第二の平均応答時間が前記範囲に含まれなくなるまで、前記サーバ群に含まれる複数のサーバを１台ずつ構成から除外することを特徴とするサーバ群の台数調整方法を提供する請求の範囲３に記載の発明により達せされる。
また、上記目的は、請求の範囲１において、さらに、前記ネットワークに接続された複数の未使用サーバを含む未使用サーバ群を有し、前記判定の結果、前記平均応答時間が前記範囲に含まれない場合、前記未使用サーバ群に含まれるサーバを１台選択し、前記選択されたサーバを前記サーバ群に追加することを特徴とするサーバ群の台数調整方法を提供する請求の範囲４に記載の発明により達成される。
また、上記目的は、請求の範囲４において、（ｆ）前記選択されたサーバが追加された後の新たなサーバ群において、該新たなサーバ群に含まれる複数のサーバ１台あたりの第三の平均応答時間を求め、（ｇ）前記第三の平均応答時間が前記範囲に含まれるか判定する新たな判定を行い、（ｈ）前記新たな判定の結果、前記第三の平均応答時間が前記範囲に含まれない場合、前記未使用サーバ群に含まれるサーバを１台選択し、（ｉ）前記選択されたサーバを前記新たなサーバ群に追加し、前記（ｉ）の後、再び前記（ｆ）から前記（ｉ）を繰り返し行い、前記新たな判定の結果、前記第三の平均応答時間が前記範囲に含まれるまで、前記サーバ群に前記未使用サーバ群に含まれるサーバを１台ずつ追加することを特徴とするサーバ群の台数調整方法を提供する請求の範囲５に記載の発明により達成される。
また、上記目的は、ネットワークに接続された複数の利用者端末と、前記ネットワークに接続され、前記利用者端末からの要求を処理する複数のサーバを含むサーバ群と、前記ネットワークに接続され、所定時間毎の前記利用者端末からの要求数と前記要求数の振分率と前記サーバ群の構成情報とを蓄積する蓄積手段を含む負荷分散装置と、前記ネットワークに接続された資源割当制御装置を有するネットワークシステムにおける資源割当制御装置に、前記負荷分散装置に蓄積された過去の要求数に基づいて、時間と要求数の特性を関数として求めさせ、前記関数に将来の時間を代入して将来の要求数を予測させ、前記複数の利用者端末からの要求数が所定の確率分布に従うと仮定した場合の前記複数のサーバ１台あたりの平均応答時間と要求数の関係式に、前記予測された要求数を代入して前記複数のサーバ１台あたりの第一の平均応答時間を求めさせ、前記第一の平均応答時間が正の値でありかつ予め設定された閾値以下の範囲に含まれるかを判定させ、前記判定の結果に応じて前記サーバ群に含まれるサーバの台数を増減させるよう前記構成情報を変更させることを特徴とするプログラムを提供する請求の範囲６に記載の発明により達成される。
また、上記目的は、請求の範囲６において、前記判定の結果、前記平均応答時間が前記範囲に含まれる場合、（ａ）前記サーバ群に含まれるサーバを１台選択させ、（ｂ）前記選択されたサーバを除外したサーバ群を仮定させ、（ｃ）前記仮定されたサーバ群に含まれる複数のサーバ１台あたりの第二の平均応答時間を求めさせ、（ｄ）前記第二の平均応答時間が前記範囲に含まれるか判定する新たな判定を行わせ、（ｅ）前記新たな判定の結果、前記第二の平均応答時間が前記範囲に含まれる場合、前記選択されたサーバを前記構成情報から削除させる、ことを特徴とするプログラムを提供する請求の範囲７に記載の発明により達成される。
また、上記目的は、請求の範囲７において、前記（ｅ）の後、再び前記（ａ）から前記（ｅ）を行い、前記新たな判定の結果、前記第二の平均応答時間が前記範囲に含まれなくなるまで、前記サーバ群に含まれる複数のサーバを１台ずつ前記構成情報から削除させることを特徴とするプログラムを提供する請求の範囲８に記載の発明により達成される。
また、上記目的は、請求の範囲６において、さらに、前記ネットワークに接続された複数の未使用サーバを含む未使用サーバ群を有し、前記判定の結果、前記平均応答時間が前記範囲に含まれない場合、前記未使用サーバ群に含まれるサーバを１台選択させ、前記選択されたサーバを前記構成情報に追加させることを特徴とするプログラムを提供する請求の範囲９に記載の発明により達成される。
また、上記目的は、請求の範囲９において、（ｆ）前記選択されたサーバが追加された後の新たなサーバ群において、該新たなサーバ群に含まれる複数のサーバ１台あたりの第三の平均応答時間を求めさせ、（ｇ）前記第三の平均応答時間が前記範囲に含まれるか判定する新たな判定を行わせ、（ｈ）前記新たな判定の結果、前記第三の平均応答時間が前記範囲に含まれない場合、前記未使用サーバ群に含まれるサーバを１台選択させ、（ｉ）前記選択されたサーバを前記新たなサーバ群に追加させ、前記（ｉ）の後、再び前記（ｆ）から前記（ｉ）を行わせ、前記新たな判定の結果、前記第三の平均応答時間が前記範囲に含まれるまで、前記構成情報に前記未使用サーバ群に含まれるサーバを１台ずつ追加させることを特徴とするプログラムを提供する請求の範囲１０に記載の発明により達成される。
【図面の簡単な説明】  図１は、本発明の実施形態におけるシステム全体の構成例を説明する図である。
図２は、負荷分散装置の構成例を示すブロック図である。
図３は、利用者端末として使用される携帯電話、ＰＤＡ等の携帯端末の構成例を示すブロック図である。
図４は、サーバの構成例を示すブロック図である。
図５は、負荷分散装置のＲＡＭに格納されるサーバ群構成情報のデータ構成例を示す図である。
図６は、負荷分散装置のＲＡＭに格納される統計情報のデータ構成例を示す図である。
図７は、資源割当制御装置のＲＡＭに格納されるデータセンタ構成情報のデータ構成例を示す図である。
図８は、資源割当制御装置のＲＡＭに格納される、基準クロック周波数のＣＰＵを搭載したサーバが毎秒処理する要求数をアプリケーション毎に格納した表のデータ構成例を示す図である。
図９は、サーバ群新規作成処理を説明するフローチャートである。
図１０、図１１は、サーバ割当調整処理を説明するフローチャートである。
図１２は、最小二乗法を利用した予測の方法を説明する図である。
【発明を実施するための最良の形態】  以下、本発明の実施の形態について図面に従って説明する。しかしながら、本発明の技術的範囲はかかる実施の形態に限定されるものではない。
本発明の実施形態を、本発明の方法が適用されるシステム全体の構成例、前記システムに含まれる装置の構成例、前記システムに含まれる装置に格納されるデータ構成例、本発明の方法を説明する動作フローの順に説明する。まず本発明の方法が適用されるシステム全体の構成例を説明する。
図１は、本発明の実施形態におけるシステム全体の構成例を説明する図である。本発明の実施形態では簡単化のために、ネットワークサービスを提供するサーバはすべてウェブサーバが稼動するサーバとして説明する。利用者端末は閲覧したいホームページアドレスを含むｈｔｔｐリクエストをサービス要求として送信し、ウェブサーバは該当するホームページアドレスに対応するコンテンツを利用者端末に送信する。
まず、複数の利用者端末１とデータセンタ３内の複数のサーバ１０を接続するネットワーク２が存在する。ネットワーク２は、有線、無線を問わない。ネットワーク２はＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）でもＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）でも、また、ネットワーク２はＬＡＮやＷＡＮを相互接続したインターネットでも構わない。
利用者端末１としてはＰＣ（パーソナルコンピュータ）や携帯電話、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）等の携帯端末が利用される。データセンタ３内の複数のサーバ１０は、提供するネットワークサービス毎にグループ化される。
例えば、図１にはネットワークサービスを提供するサーバ群７１〜７３が存在し、サーバ群７１、７２はウェブサーバとして別々のネットワークサービスを提供する。サーバ群７３はどのネットワークサービスにも割り当てられていない未使用サーバ群である。データセンタ内の複数のサーバ１０はそれぞれ、センタ内ＬＡＮ６に接続される。センタ内ＬＡＮ６は、無線、有線を問わない。
利用者端末１から送信される要求を、その要求に対応するネットワークサービスを提供するサーバ群に所属するサーバ１０が処理し、結果を利用者端末に応答することでネットワークサービスが提供される。例えば、サーバ群７１がＡ社のホームページコンテンツを提供するものであれば、利用者端末からの閲覧要求（ｈｔｔｐリクエスト）としてＡ社のホームページアドレスを送信した利用者端末に対して、サーバ群７１のいずれかのサーバがそのアドレスに対応するコンテンツを送信する。
また、データセンタ内のサーバの前段には負荷分散装置４が備えられ、その負荷分散装置４はセンタ内ＬＡＮ６とネットワーク２に接続される。負荷分散装置４は、利用者端末からの要求に対応するサーバ群を決定し、そのサーバ群に所属するサーバの負荷を特定のサーバに集中させないために、後述する振分率に応じて、利用者端末からの要求を振り分ける。
さらに、負荷分散装置４は、ネットワーク２を介して送信される要求（ｈｔｔｐリクエスト）の個数をサーバ群７ごとに一定時間間隔で集計し統計情報として蓄積する。また、他にサーバ群７に所属させるサーバ１０を追加、削除してサーバ群７の構成を制御するための資源割当制御装置５がセンタ内ＬＡＮ６に接続される。
なお、図１では、図示しないが負荷分散装置４とネットワーク２の間にゲートウエイ、ルータ、ファイアウォール等を備えた構成とすることも可能である。また、同じく図示しないが、サーバの内部に備えられたハードディスクで不足の場合、サーバ１０の外部にディスクアレイ等の蓄積装置が接続されていてもよい。
次に図１のシステムに含まれる装置の構成例を説明する。
図２は、負荷分散装置４の構成例を示すブロック図である。ＣＰＵ２１は負荷分散装置４における制御を実行する。ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２２には、負荷分散装置４の初期化時に実行されるプログラムや初期化に必要なデータ、初期化時にＲＡＭ２３に転送される制御プログラムが記録される。
ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２３には、制御プログラムや制御プログラム実行時の作業結果等のデータが格納される。通信装置２４は、ネットワーク２やセンタ内ＬＡＮ６と接続するためのインタフェースを備え、ネットワーク２やセンタ内ＬＡＮ６を介して接続された装置とのデータの送受信を可能にする。これらが、図２のように接続線２５により接続される。
図３は、利用者端末１として使用される携帯電話、ＰＤＡ等の携帯端末の構成例を示すブロック図である。ＣＰＵ３１は携帯端末における制御を実行する。ＲＯＭ３２には、携帯端末の初期化時に実行されるプログラムや初期化に必要なデータ、初期化時にＲＡＭ３４に転送される制御プログラムが記録される。
ＲＡＭ３４には、制御プログラムや制御プログラム実行時の作業結果等のデータが格納される。通信装置３５は、ネットワーク２やセンタ内ＬＡＮ６と接続するためのインタフェースを備え、ネットワーク２やセンタ内ＬＡＮ６を介して接続された装置とのデータの送受信を可能にする。
入力装置３６は、キーパッドやペン型入力装置等であり、利用者が各種命令やデータの入力に使用する。表示装置３３は、液晶画面等であり、利用者にＣＰＵ３１の制御結果等を表示する。これらが、図３のように接続線３７により接続される。
図４は、資源割当制御装置５の構成例を示すブロック図である。ＣＰＵ４１は資源割当制御装置５における制御を実行する。ＲＯＭ４２には、資源割当制御装置５の初期化時に実行されるプログラムや初期化に必要なデータが格納される。ハードディスク４６には、資源割当制御装置５を制御するためのＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やデータが格納される。
ＲＡＭ４５には、ＯＳ実行時の作業結果等のデータが格納される。通信装置４８は、ネットワーク２やセンタ内ＬＡＮ６と接続するためのインタフェースを備え、ネットワーク２やセンタ内ＬＡＮ６を介して接続された装置とのデータの送受信を可能にする。
入力装置４７は、キーボードやマウス等であり、利用者が各種命令やデータの入力に使用する。表示装置４３は、液晶モニタやＣＲＴ等であり、利用者にＣＰＵの制御結果等を表示する。光学ドライブ４４は、ＣＤやＤＶＤ、ＭＯといったメディアへのデータ書き込み、あるいは読み出しに使用される。
ただし、管理者がネットワークを介して接続されたサーバ１０から資源割当制御装置５にログインし遠隔操作ができるので、入力装置４７、表示装置４３を備えていない構成でも構わない。なお、サーバ１０や利用者端末１として使用されるＰＣも、その構成は、図４と同じである。
次に、システムに含まれる装置に格納されるデータ構成例を説明する。
図５は、負荷分散装置４のＲＡＭ２３に格納されるサーバ群構成情報のデータ構成例を示す図である。サーバ群構成情報として、サーバ群名５１、代表ＩＰアドレス５２、応答時間閾値５３、所属サーバ情報であるサーバ名５４、ＩＰアドレス５５、振分率５６がサーバ群毎に格納される。
サーバ群名５１は、サーバ群７を特定するための管理名である。代表ＩＰアドレス５２は、ＩＰｖ４であれば３２ビット、ＩＰｖ６であれば１２８ビットからなる数字で、そのサーバ群７が提供するネットワークサービスのために外部に公開されるＩＰアドレスである。すなわち、サーバ群７１が提供するネットワークサービスが利用される場合は、利用者端末１はサーバ群７１の代表ＩＰアドレス５２に対し要求（ｈｔｔｐリクエスト）を送信し、サーバ群７２が提供するネットワークサービスが利用される場合は、利用者端末１はサーバ群７２の代表ＩＰアドレス５２に対し要求を送信する。
代表ＩＰアドレス５２は、グローバルＩＰアドレスが使用されるが、ネットワークサービスが限られた組織内に対するものであればプライベートＩＰアドレスが使用されることもできる。応答時間閾値５３は、ｘＳＰがデータセンタとの契約にあたり要求するサービスレベルの１つで、利用者端末１への応答時間が応答時間閾値５３を下回らないようデータセンタ事業者はそのネットワークサービスを提供するサーバ群７にサーバ１０を割り当て、データセンタ３を管理する。
所属サーバ情報のサーバ名５４は、各サーバ群７に所属するサーバ１０を特定するための管理名である。ＩＰアドレス５５は、サーバ名５４に対応するサーバのＩＰアドレスである。ＩＰアドレス５５は、プライベートＩＰアドレスが使用されるが、保有するグローバルＩＰアドレスに余りがあるのであればグローバルＩＰアドレスが使用されることもできる。
振分率５６は、サーバ群７の代表ＩＰアドレス５２に対する利用者端末１からの要求を、所属するサーバ１０が処理する割合である。負荷分散装置４は、このサーバ群構成情報を利用して、利用者端末１から送信される要求（ｈｔｔｐリクエスト）のあて先ＩＰアドレスに一致する代表ＩＰアドレスを検索してサーバ群７を特定し、そのサーバ群７の所属サーバ情報の振分率５６を基にその要求を処理するサーバを選択し、その要求のあて先ＩＰアドレスを選択されたサーバのＩＰアドレス５５に変換することにより、その要求を振分率を基に選択されたサーバに転送する。
例えば、図５には、２つのサーバ群に関する情報が格納されている。サーバ群Ａは代表ＩＰアドレス５２がＧＩＰ１で、応答時間閾値５３がＴ１、サーバ名５４がＷＥＢ−Ａ、ＷＥＢ−Ｂ、ＷＥＢ−Ｃ、ＷＥＢ−Ｄなる４台のサーバが所属し、ＩＰアドレス５５はそれぞれＰＩＰ１、ＰＩＰ２、ＰＩＰ３、ＰＩＰ４、振分率５６はそれぞれ０．５、０．３、０．１、０．１である。すなわち、１０回の要求の内、５回はＷＥＢ−Ａが、３回はＷＥＢ−Ｂが、１回はＷＥＢ−Ｃが１回はＷＥＢ−Ｄが処理することになる。図５には、同様にサーバ群Ｂの代表ＩＰアドレス５２や、所属する３台のサーバについての情報が格納されている。
図６は、負荷分散装置４のＲＡＭ２３に格納される統計情報のデータ構成例を示す図である。統計情報として、到着した要求数を一定時間間隔で集計した値がサーバ群毎に格納される。例えば、図６では、毎秒の到着要求数が格納され、時間６１Ｔ１〜Ｔ２の間にサーバ群ＡにＲ１１個の要求が、サーバ群ＢにＲ２１個の要求が到着したことが格納される。最新データは図６の下方に追加される。こうして現在時刻から見て直前ｎ秒分（ｎは自然数）の到着要求数６２の情報が格納される。
図７は、資源割当制御装置５のＲＡＭ４５に格納されるデータセンタ構成情報のデータ構成例を示す図である。データセンタ構成情報には、ネットワークサービスに割り当てられていない未使用サーバを含めた各サーバ１０のサーバ名７１、ＩＰアドレス７２、ＣＰＵクロック速度７３、所属サーバ群名７４が格納される。サーバ名７１、ＩＰアドレス７２については、図５のサーバ名５４、ＩＰアドレス５５と同じである。
ＣＰＵクロック速度７３は、サーバ１０に搭載されたＣＰＵ４１のクロック周波数を基準クロック周波数で割った値が格納される。本発明の実施形態においては、基準クロック周波数を１ＧＨｚとする。サーバ１０に搭載されたクロック周波数が基準クロック周波数の何倍かがＣＰＵクロック速度７３からわかる。複数のＣＰＵ４１を搭載しているサーバ１０については、クロック周波数の合計値を基準クロック周波数で割った値が格納される。
基準クロック周波数（１ＧＨｚ）のＣＰＵを搭載したサーバにおける平均要求処理数をμとすれば、ＣＰＵクロック速度７３の値にμを掛けた値が、そのサーバにおける平均要求処理数として算出される。所属サーバ群名７４は、各サーバ名７１のサーバ１０が所属するサーバ群７を特定する。
図５のサーバ群構成情報と異なりデータセンタ構成情報には未使用サーバの情報も格納される。例えば、図７では、サーバ名７１がＷＥＢ−Ｈ、ＷＥＢ−Ｉ、ＷＥＢ−Ｊ、ＷＥＢ−Ｋの４台のサーバが未使用サーバであることがわかる。
図８は、資源割当制御装置５のＲＡＭ４５に格納される、基準クロック周波数（１ＧＨｚ）のＣＰＵ４１を搭載したサーバが毎秒処理する要求数をＷｅｂサーバソフト８１毎に格納した表のデータ構成例を示す図である。例えば、図８では、ウェブサーバソフトとしてアプリケーションＡ１を使用した場合、基準クロック周波数（１ＧＨｚ）のＣＰＵ４１を搭載したサーバに複数のｈｔｔｐリクエストを送信した結果、毎秒Ｃ１個の要求が処理され、アプリケーションＡｎを使用した場合、基準クロック周波数のＣＰＵ４１を搭載したサーバに複数のｈｔｔｐリクエストを送信した結果、毎秒Ｃｎ個の要求が処理されることがわかる。このデータは事前に収集され、予め資源割当制御装置に入力される。
次に、本発明の方法を説明する動作フローについて説明する。
図９は、サーバ群新規作成処理を説明するフローチャートである。新たなネットワークサービスを提供する場合、まずそのネットワークサービスを提供するサーバ群が定義されないと運用が開始されない。そこで本処理が実行される。
まず資源割当制御装置５は、サーバ群新規作成要求を受信する（Ｓ９１）。通常サーバ群７の新規作成は、運用管理者の発意によるものであり、ここでは、運用管理者が資源割当制御装置５に備えられた入力装置４７にて入力したコマンドが受信される。コマンドの引数として、新規作成するサーバ群の名前、割り当てるサーバの初期台数、応答時間閾値も合わせて受信する。
次に、新規作成するサーバ群名、割り当てるサーバの初期台数、応答時間閾値を記憶する（Ｓ９２）。ステップＳ９２は、コマンドの引数として受信したこれらの情報を資源割当制御装置５に備えられたＲＡＭ４５に一時的に格納する。
次に、新規作成されたサーバ群にステップＳ９１で受信した初期台数分のサーバを追加するようデータセンタ構成情報を更新する（Ｓ９３）。ステップＳ９３は、図７のデータセンタ構成情報において、所属サーバ群名７４が「未使用」となっているサーバのエントリからステップＳ９１で受信した初期台数分のサーバを選択し、選択されたサーバの所属サーバ群名７４の欄をステップＳ９１で受信した新規作成するサーバ群の名前に変更すればよい。
そして、新規作成したサーバ群に割り当てるべき代表ＩＰアドレスと、サーバ群に属する各サーバの振分率を決定する（Ｓ９４）。代表ＩＰアドレスと振分率は負荷分散装置４に設定されるが、資源割当制御装置５にて決定する。
代表ＩＰアドレスの決定は、資源割当制御装置５のハードディスク内に（専ら代表ＩＰアドレスとして使用されるために）記憶されている未使用ＩＰアドレスの集合の中から任意の一つを選び出すことによって行う。振分率の初期値の決定法は、振分率の和が１であれば、特に制限がないため、例えば、１をステップＳ９１で受信した初期台数で割った値をそれぞれのサーバの振分率として決定すればよい。
ステップＳ９４が済むと、負荷分散装置に新たな構成情報を送信し（Ｓ９５）、サーバ群新規作成処理を終了する。ステップＳ９５では、ステップＳ９２で記憶された新規作成するサーバ群名、代表ＩＰアドレス、応答時間閾値、ステップＳ９３で選択された初期台数分のサーバ名、そしてステップＳ９４で決定された振分率が資源割当制御装置により負荷分散装置に送信される。
サーバ群を新規作成する場合は図９の処理が実行されるが、既存のサーバ群に所属するサーバがネットワークサービスを提供するために最適かを判定するために、資源割当制御装置５は次のサーバ割当調整処理を行う。ここでは、サーバ群の処理能力を測る数値としてＣＰＵクロック周波数を使用し、サーバ群の処理能力を向上させるために単純にサーバの台数を増加させるものとする。
図１０、図１１は、サーバ割当調整処理を説明するフローチャートである。資源割当制御装置５は定期的にサーバ割当調整処理を実行し、各ネットワークサービスを提供するサーバ群に割り当てられたサーバが最適かを判定する。本処理の前に予め図８の表データが入力されているものとする。
まず、ネットワークサービスを提供するサーバ群を１つ選択する（Ｓ１０１）。資源割当制御装置５は、図７のデータセンタ構成情報の所属サーバ群名７４を参照し、「未使用」以外のサーバ群名を１つ選択する。
そしてステップＳ１０１で選択されたサーバ群の６０秒後の到着要求数を予測する（Ｓ１０２）。ステップＳ１０２では、まず、資源割当制御装置５が、負荷分散装置４に対し、ステップＳ１０１で選択されたサーバ群の最新３００秒分の到着要求数を要求し、負荷分散装置４は、図６の統計情報を参照し、対応するサーバ群の最新３００秒分の到着要求数６２を資源割当制御装置５に送信する。そして、現在から６０秒後の到着要求数を、取得した３００秒分の到着要求数を基に最小二乗法を利用し予測する。
図１２は、最小二乗法を利用した予測の方法を説明する図である。図１２は、横軸に時間（秒）、縦軸に到着要求数（個）を取り、３００秒分のデータを１秒間隔で座標平面にプロットする。その座標平面上で、プロットした各点から縦軸方向の距離が最小となる直線を最小二乗法により求める。
即ち、その直線をＹ＝α＊Ｘ＋βと表した時のα、βをそれぞれ求める。そして求められた直線の式にＸ＝６０を代入したものが６０秒後の到着要求数の予測値である。計算された予測値が０より小さくなる場合は、６０秒後の予測値は０であるとする。なお図１２では、各時間間隔の到着数を、その時間間隔の中点における到着数としてプロットしてある。
なお、ステップＳ１０２においては６０秒後の到着要求数を予測したが、これに限定されるものではなく、運用管理者の方針により決定することができる。また、６０秒後の到着要求数を予測するのに最新３００秒分のデータを使用したが、これに限定されるものではない。本実施形態では、予測する将来時刻と現在時刻との差の５倍分のデータを目安として用いている。
図１０に戻り説明を続ける。次に、ステップＳ１０２で予測された到着要求数に基づき、ステップＳ１０１で選択されたサーバ群に所属するサーバ１台あたりの６０秒後の平均応答時間Ｔを算出する（Ｓ１０３）。
応答時間Ｔは次式（Ａ）により算出される。
2004092971.tif 000003
ただし、μはステップＳ１０１で選択されたサーバ群に所属するサーバで使用されるＷｅｂサーバソフトの基準クロック周波数における毎秒の平均要求処理数であり、図８を参照すれば求まる値である。Ｒは、ステップＳ１０１で選択されたサーバ群に対する６０秒後の到着要求数であり、ステップＳ１０２で予測された値である。ｆｉは、ステップＳ１０１で選択されたサーバ群に所属するｎ台のサーバにおけるｉ番目のサーバの相対クロック倍率であり、図７のデータセンタ構成情報のＣＰＵクロック速度７３から求まる値である。
式（Ａ）の導出法は以下の通りである。ステップＳ１０１で選択されたサーバ群全体を待ち行列理論における単一の窓口とすると、その窓口における毎秒あた
2004092971.tif 000004
要求数Ｒとなる。
待ち行列への要求到着がポアソンモデルに従うとすると、到着した要求が待ち行列の中で待たされる時間は、
2004092971.tif 000005
となる。ここで、ρは、待ち行列理論における窓口稼働率であり、任意の時点において窓口がビジーである確率である。
ポアソンモデルにおいては、ρ＜１の時に待ち行列が溢れない、つまりどんなに時間が経過しても待ち行列の長さはある一定の長さ以下に保たれることが保証されている。また、この待ち時間は、ステップＳ１０１で選択されたサーバ群に属するサーバの平均応答時間Ｔを意味する。そこで、前記サーバの平均応答時間として最悪値をとると仮定すると、ρ＜１であることから、
2004092971.tif 000006
とおくことができる。これが式（Ａ）である。
なお、ステップＳ１０１で選択されたサーバ群に属するｉ番目のサーバの応答時間は以下のようにして導出できる。前記サーバ群のｉ番目のサーバを待ち行列理論における窓口とすると、その窓口における毎秒あたりの要求処理数は、ｆｉ×μ、窓口への要求数到着頻度は、サーバ群全体に対する到着要求数Ｒに、ｉ番目のサーバの振分率ｒｉを掛けたｒｉ×Ｒとなる。
従って、前述した式（Ａ）の導出手順と同様の導出法により、前記サーバ群に属するｉ番目のサーバの応答時間Ｔｉは、
2004092971.tif 000007
と求まる。
そして、ステップＳ１０３で算出された応答時間Ｔが予め設定された応答時間閾値Ｔｐに対し、０≦Ｔ≦Ｔｐを満たすか判定する（Ｓ１０４）。ステップＳ１０４で応答時間Ｔがその範囲（０≦Ｔ≦Ｔｐ）に入れば、ｘＳＰとの契約において保証したサービスレベルを満たしてはいるが、もしかすると割り当てられたサーバが過剰であり、サーバ削減の余地があるかもしれないことを意味する。
そこで、ステップＳ１０４で応答時間Ｔが所定の範囲内に入る場合、そのサーバ群に所属する任意のサーバを１台選択する（Ｓ１０５）。そして、ステップＳ１０５で選択されたサーバをステップＳ１０１で選択されたサーバ群から外した構成を仮定し、仮定した新たな構成において、再度将来の応答時間Ｔを計算する（Ｓ１０６）。ステップＳ１０６は、ステップＳ１０３と同じく式（Ａ）を用いて算出できる。
そして、ステップＳ１０６で算出された応答時間が応答時間閾値Ｔｐに対し、０≦Ｔ≦Ｔｐを満たすか判定する（Ｓ１０７）。仮定した新たな構成においては、サーバが１台減っているため、分母の値が小さくなり、応答時間Ｔは前回の計算（ステップＳ１０３）より大きくなる。従って、その大きくなった値がまた０≦Ｔ≦Ｔｐを満たせば、サーバを１台削除しても問題ないことになる。
そこで、ステップＳ１０７で、０≦Ｔ≦Ｔｐを満たす場合、実際にステップＳ１０５で選択されたサーバを未使用サーバに追加し（Ｓ１０８）、サーバの削減を実行する。ステップＳ１０８は、図７のデータセンタ構成情報において、ステップＳ１０５で選択されたサーバに対応する所属サーバ群名７４を未使用に更新することで、ステップＳ１０１で選択されたサーバ群の構成からそのサーバを外すことを意味する。
ステップＳ１０８が済むと、さらなるサーバ削減の余地がないかを判定するためステップＳ１０５に戻り処理を行う。ステップＳ１０７で、応答時間Ｔが０≦Ｔ≦Ｔｐを満たさない場合、現在の構成が必要最小限であることがわかるため構成変更を行わず、次の処理に進み（図１１に移る）、振分率を算出する（Ｓ１０９）。
図１１のステップＳ１０９では、サーバ群に属する各サーバの振分率を後述する方法で計算することにより、同一サーバ群に属する各サーバの応答時間が互いに等しくなるようにする。同一サーバ群に属する各サーバの応答時間がそろっていない場合、サーバ群全体を平均して求めたサーバの平均応答時間は応答時間閾値以下であっても、一部のサーバの応答時間が応答時間閾値を越えてしまうことがある。従って、同一サーバ群に属する各サーバの応答時間が互いに等しくなるように、各サーバの振分率を制御する必要がある。
図１１のステップＳ１０９の振分率は、式（Ｃ）により算出される。
2004092971.tif 000008
ただし、ｒｉはｉ番目のサーバの振分率、ｎはサーバ群に所属するサーバの台数、μはステップＳ１０１で選択されたサーバ群に所属するサーバで使用されるＷｅｂサーバソフトの基準クロック周波数における毎秒の平均要求処理数、ＲはステップＳ１０１で選択されたサーバ群全体に対する６０秒後の到着要求数であり、ステップＳ１０２で予測された値である。ｆｉはステップＳ１０１で選択されたサーバ群に所属するｎ台のサーバにおけるｉ番目のサーバの相対クロック倍率であり、図７のデータセンタ構成情報のＣＰＵクロック速度７３を参照すれば求まる。
式（Ｃ）の導出法は以下の通りである。式（Ｂ）より、ｉ番目のサーバの応答時間Ｔｉは、
2004092971.tif 000009
である。ここで、ｎ台のサーバの応答時間がすべて等しいと仮定すると、Ｔ１＝Ｔ２＝．．．＝Ｔｎが成り立つから、
2004092971.tif 000010
すなわち
2004092971.tif 000011
が成り立つ。
式（Ｄ）を変形し、ｒｉをｒ１で書き表すと、
2004092971.tif 000012
であるから、結局
2004092971.tif 000013
が成り立つ。式（Ｅ）の両辺を添え字について１からｎまでについて和を取ると、
2004092971.tif 000014
そして、式（Ｆ）を式（Ｅ）に代入すれば、
2004092971.tif 000015
となり、式（Ｃ）が導出される。
ステップＳ１０９が済むと、資源割当制御装置５は新たな構成情報を負荷分散装置４に送信し、負荷分散装置４は受信した構成情報でサーバ群構成情報を更新する（Ｓ１１０）。ステップＳ１１０は、まず資源割当制御装置５が、ステップＳ１０１で選択されたサーバ群名、図７のデータセンタ構成情報を参照して得られるそのサーバ群に所属するサーバ名７１、ＩＰアドレス７２、ステップＳ１０９で計算された振分率を負荷分散装置４に送信する。
そして、負荷分散装置４が、受信したサーバ群名に対応するサーバ所属情報をそれぞれ受信した情報に対応する箇所を更新すればよい。そして、すべてのサーバ群について、そのサーバ群に所属するサーバの割当が妥当かを判定するステップＳ１０２以降の処理を完了したか判定し（Ｓ１１１）、まだ未判定のサーバ群が存在する場合、ステップＳ１０１に戻り処理を続ける。ステップＳ１１１ですべてのサーバ群について判定が完了していれば処理を終了する。
図１０のステップＳ１０４で、応答時間Ｔが０≦Ｔ≦Ｔｐの範囲に入らない場合、未使用サーバに所属する任意のサーバを１台選択する（Ｓ１１２）。そして、ステップＳ１１２で選択されたサーバをそのサーバ群に追加する（Ｓ１１３）。
ステップＳ１０４で所定の範囲に入らないのは、到着要求数がサーバ群の処理能力を超える場合、つまり式（Ａ）の分母が負になる場合か、あるいは到着要求数はサーバ群の処理能力の範囲内だが要求される応答時間を下回るほど負荷が高い場合であり、いずれにせよサーバの台数を増やし処理能力を上げる必要がある。そこで、ステップＳ１１２で任意の未使用サーバが選択され、ステップＳ１１３でその選択されたサーバがステップＳ１０１で選択されたサーバ群に追加される。
ステップＳ１１３の処理は、図７のデータセンタ構成情報において、ステップＳ１１２で選択されたサーバに対応する所属サーバ群名７４を「未使用」からステップＳ１０１で選択されたサーバ群名に資源割当制御装置５が更新すればよい。そして、新たな構成における将来の応答時間Ｔを式（Ａ）により再度計算する（Ｓ１１４）。
ステップＳ１１４で算出された応答時間Ｔが、所定の範囲（０≦Ｔ≦Ｔｐ）に入るかを再度判定する（Ｓ１１５）。ステップＳ１１５において、１台追加してもまだ所定の範囲に入らなければ未だｘＳＰとの契約において保証したサービスレベルを満たしておらず、更なるサーバ追加を行うためにステップＳ１１２に戻り処理を続ける。ステップＳ１１５で所定の範囲に入れば、ステップＳ１０９に進み振分率の計算を行う。
なお、本処理を実行中にサーバ群新規作成要求があれば、資源割当制御装置５が、図９のサーバ群新規作成処理を割り込み処理として実行するよう設定することもできる。
以上説明した本発明の実施形態によれば、本発明ではデータセンタ内のサーバの各ネットワークサービスへの配分を負荷分散装置に対して人手によらずリアルタイムに自動的に行う方法を提供することができる。また、各ネットワークサービスに到着する要求量の変動の様子を監視し、要求量の一定時間経過後の値を予測し、その要求量予測値の大きさに応じて当該ネットワークサービスに対するサーバの割当量を制御することができる。
よって運用管理者の負担を軽減でき、少ない運用管理者による運用を可能にする。また、経験の浅い運用管理者による運用も可能にする。ここで、当該ネットワークサービスに対して割り当てられるサーバの量は、要求量予測値が示す量のトラフィックが当該ネットワークサービスに到着した場合に、利用者端末に対する応答時間の平均が運用管理者が予め定めた応答時間閾値以下となるように定められる。
よって、ｘＳＰ等データセンタ事業者の顧客との契約等において守るべきサービスレベルを一定水準以上に維持することを可能にする。また、サーバの増減を１台ずつ行う度、予測値に基づく応答時間が所定の範囲に入るかを判定するため、ネットワークサービスの運用に必要な最低限のサーバ台数によりサーバ群を構成することができ、データセンタ事業者は保有するサーバ資源を最大限効率的に運用することが可能である。
以上説明した本発明の実施形態においては、サーバアプリケーションをウェブサーバとし、利用者端末からの要求をｈｔｔｐリクエストとしたが、サーバにて他のアプリケーションプログラムが使用され、利用者端末がそのアプリケーションプログラムに対するリクエストを送信し、サーバがリクエストに対するリプライを利用者端末に送信するものであれば、その場合にも本発明の適用が可能である。なお、本発明の実施形態においては、サーバ群の処理能力を測る数値としてＣＰＵクロック周波数を使用し、サーバ群の処理能力を調整するために単純にサーバの台数を増減させたが、ＣＰＵ、メモリ、ハードディスクといった計算機資源を個々に数値化して個々の計算機資源を増減させる場合にも本発明の適用が可能である。
また、本発明の実施形態においては、基準クロック周波数を１ＧＨｚとしたが、これに限定されるものではない。その場合基準クロック周波数として定めたクロック周波数を搭載したサーバにおけるアプリケーション毎の平均処理数を事前に収集し、図８の様に予め資源割当制御装置に入力すれば、本発明が適用可能である。
本発明の保護範囲は、上記の実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
【産業上の利用の可能性】
以上説明した本発明の実施形態によれば、本発明ではデータセンタ内のサーバの各ネットワークサービスへの配分を負荷分散装置に対して人手によらずリアルタイムに自動的に行う方法を提供することができる。また、各ネットワークサービスに到着する要求量の変動の様子を監視し、要求量の一定時間経過後の値を予測し、その要求量予測値の大きさに応じて当該ネットワークサービスに対するサーバの割当量を制御することができる。
【図１】
2004092971.tif 000016
【図２】
2004092971.tif 000017
【図３】
2004092971.tif 000018
【図４】
2004092971.tif 000019
【図５】
2004092971.tif 000020
【図６】
2004092971.tif 000021
【図７】
2004092971.tif 000022
【図８】
2004092971.tif 000023
【図９】
2004092971.tif 000024
【図１０】
2004092971.tif 000025
【図１１】
2004092971.tif 000026
【図１２】
2004092971.tif 000027
【手続補正書】
【提出日】平成17年4月25日(2005.4.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークに接続された複数の利用者端末と、  前記ネットワークに接続され、前記利用者端末からの要求を処理する複数のサーバを含むサーバ群と、  前記ネットワークに接続され、所定時間間隔毎の前記利用者端末からの要求数と前記要求数の振分率と前記サーバ群の構成情報とを蓄積する蓄積手段を含む負荷分散装置と、  前記ネットワークに接続された資源割当制御装置を有するネットワークシステムにおける資源割当制御装置に、  前記負荷分散装置に蓄積された過去の要求数に基づいて、時間と要求数の特性を関数として求めさせ、  前記関数に将来の時間を代入して将来の要求数を予測させ、  前記複数の利用者端末からの要求数が所定の確率分布に従うと仮定した場合の前記複数のサーバ１台あたりの平均応答時間と要求数の関係式に、前記予測された要求数を代入して前記複数のサーバ１台あたりの第一の平均応答時間を求めさせ、  前記第一の平均応答時間が正の値でありかつ予め設定された閾値以下の範囲に含まれるかを判定させ、  前記判定の結果に応じて前記サーバ群に含まれるサーバの台数を増減させるよう前記構成情報を変更させることを特徴とするプログラム。
【請求項２】
請求項１において、  前記判定の結果、前記平均応答時間が前記範囲に含まれる場合、(a)前記サーバ群に含まれるサーバを１台選択させ、  (b)前記選択されたサーバを除外したサーバ群を仮定させ、  (c)前記仮定されたサーバ群に含まれる複数のサーバ１台あたりの第二の平均応答時間を求めさせ、  (d)前記第二の平均応答時間が前記範囲に含まれるか判定する新たな判定を行わせ、  (e)前記新たな判定の結果、前記第二の平均応答時間が前記範囲に含まれる場合、前記選択されたサーバを前記構成情報から削除させる、ことを特徴とするプログラム。
【請求項３】
請求項２において、  前記(e)の後、再び前記(a)から前記(e)を行い、前記新たな判定の結果、前記第二の平均応答時間が前記範囲に含まれなくなるまで、前記サーバ群に含まれる複数のサーバを１台ずつ前記構成情報から削除させることを特徴とするプログラム。
【請求項４】
請求項１において、  さらに、前記ネットワークに接続された複数の未使用サーバを含む未使用サーバ群を有し、  前記判定の結果、前記平均応答時間が前記範囲に含まれない場合、前記未使用サーバ群に含まれるサーバを１台選択させ、  前記選択されたサーバを前記構成情報に追加させることを特徴とするプログラム。
【請求項５】
ネットワークに接続された複数の利用者端末と、  前記ネットワークに接続され、前記複数の利用者端末からの要求を処理する複数のサーバを含むサーバ群を有するネットワークシステムにおける前記サーバ群の台数調整方法であって、  所定時間毎の前記複数の利用者端末からの要求数を蓄積し、  蓄積された過去の要求数に基づいて、時間と要求数の特性を関数として求め、  前記関数に将来の時間を代入して将来の要求数を予測し、  前記複数の利用者端末からの要求数が所定の確率分布に従うと仮定した場合の前記複数のサーバ１台あたりの平均応答時間と要求数の関係式に、前記予測された要求数を代入して前記複数のサーバ１台あたりの第一の平均応答時間を求め、  前記第一の平均応答時間が正の値でありかつ予め設定された閾値以下の範囲に含まれるかを判定し、  前記判定の結果に応じて前記サーバ群に含まれるサーバの台数を増減させることを特徴とするサーバ群の台数調整方法。
【国際調査報告】
2004092971.tif 000028
2004092971.tif 000029
2004092971.tif 000030
2004092971.tif 000031