(57)【特許請求の範囲】
【請求項１】
負荷の変化によって、リソースについてシステムの構成の変更を行うリソース制御部を備える計算機装置において、
前記リソース制御部は、
前記計算機装置のリソースの負荷の一定時間における変化を示す負荷時系列情報と、
前記システムの構成を変更した履歴を示す構成変更履歴と、
一定時間内において、前記計算機において入力される入力時系列情報と、前記負荷時系
列情報を用いて、前記リソースにおける負荷の予測値を算出する負荷予測規則と
を有し、
前記予測規則によって予測された負荷を処理するために必要なリソース量を算出し、
前記負荷の予測を処理するために必要なリソース量に適合するように前記システムの構
成を変更し、該システムの構成の変更の内容を前記構成変更履歴に記録し、
前記負荷予測の結果と前記変更後の実際の負荷を比較し、前記変更後のシステムの構成において、前記計算機の負荷が適切でないと判断した場合に、前記入力時系列情報と、前記負荷時系列情報と、前記構成変更履歴から、前記負荷予測規則の修正を行うことを特徴とする計算機装置。
【請求項２】
請求項１記載の計算機装置において、
前記計算機はさらに入力集計部を備え、
前記入力集計部は、
前記計算機に入力される電文の種類と、
該電文の種類とそれにより負荷に影響の及ぶ計算機の対応関係を示す入力分類用情報を有し、
前記計算機に入力される電文を前記入力分類用情報を用いて集計し、前記入力時系列情
報に記録することを特徴とする計算機装置。
【請求項３】
請求項２記載の計算機装置において、
前記入力分類情報は、前記電文の内容及び送信元の属性をさらに有することを特徴とする計算機装置。
【請求項４】
請求項３記載の計算機装置において、
前記計算機装置はさらにイベント管理部を備え、
前記イベント管理部は、
一定時間における負荷の変化に関係するイベントを示すイベント時系列情報を有し、
前記入力時系列情報を参照し、前記計算機装置に入力される情報の傾向の変化をイベントとして前記イベント時系列情報に記録し、
前記リソース制御部は、
前記負荷の予測の算出において、さらに前記イベント時系列情報を用いることを特徴とする計算機装置。
【請求項５】
請求項４記載の計算機装置において、
前記リソース制御部は、
負荷の変化が一定回数起こった場合に、前記システムの構成を変更し、該システムの変更を前記負荷予測規則に反映することを特徴とする計算機装置。
【請求項６】
負荷の変化によって、リソースについてシステムの構成の変更を行うリソース制御部を備える計算機装置の制御方法であって、
前記リソース制御部は、
前記計算機装置に一定時間において入力される入力時系列情報と、前記計算機装置のリソースの負荷の一定時間における変化を示す負荷時系列情報と、前記システム構成を変更した履歴を示す構成変更履歴と、一定時間における負荷変化の量の予測値を算出する規則である負荷予測規則から、一定時間内での前記リソースにおける負荷の予測値を算出する第１のステップと、
前記予測された負荷を処理するために必要なリソース量を算出する第２のステップと、  前記予測された負荷を処理するために必要なリソース量に適合するように前記システム
の構成を変更する第３のステップと、
前記システムの構成の変更の内容を前記構成履歴に記録する第４のステップと、
前記負荷の予測の結果と前記変更後の実際の負荷を比較し、前記変更後のシステムの構成において、前記計算機の負荷が適切でないと判断した場合に、前記入力時系列情報と、前記負荷時系列情報と、前記構成変更履歴から、前記負荷予測規則の修正を行う第５のステップと
を有することを特徴とする計算機装置の制御方法。
【請求項７】
請求項６記載の計算機装置の制御方法において、
前記計算機装置の備える入力集計部は、
前記計算機に入力される電文を、該電文の種類と、
該電文の種類とそれにより負荷に影響の及ぶ計算機の対応関係を示す入力分類情報を用いて集計する第６のステップと、
前記計算機装置に入力される電文を、前記入力時系列情報に記録する第７のステップと
を有することを特徴とする計算機装置の制御方法。
【請求項８】
請求項７記載の計算機装置の制御方法において、
前記入力分類情報は、前記電文の内容及び送信元の属性をさらに有することを特徴とする計算機装置の制御方法。
【請求項９】
請求項８記載の計算機装置の制御方法において、
前記計算機装置の備えるイベント管理部は、
前記入力時系列情報を参照し、前記計算機装置に入力される情報の傾向の変化をイベントとして、一定時間における負荷の変化に関係するイベントを示すイベント時系列情報に記録する第８のステップを有し、
前記第１のステップにおける負荷の予測の算出は、前記イベント時系列情報をさらに用いることを特徴とする計算機装置の制御方法。
【請求項１０】
請求項９記載の計算機装置の制御方法において、
前記第３のステップにおけるシステムの構成の変更は、負荷の変化が一定回数起こった場合に行い、該システムの変更を前記負荷予測規則に反映することを特徴とする計算機装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、負荷変動に伴い計算機リソースの再割り当てが必要な計算機装置に係わり、特に、この計算機リソースの最適な割り当て方式に関する。
【背景技術】
【０００２】
近年の計算機システムでは、Ｗｅｂ上のショッピング、証券取引やオンラインバンキングなど、ユーザ固有の事情や市場動向など、特定の条件下でのみ負荷が急激に増大するケースがある。このような場合には応答時間が遅くなり、あるいはシステムが停止に至ることもある。一方、このような一時的な負荷の増大に備えて常に十分な計算機リソースを用意しておくのはコスト面で非効率である。このため、急激な負荷の変動に対してサービスレベルの低下を招かない仕組みが求められている。
【０００３】
このような仕組みの一つとして、必要に応じてリソースを追加し、また不要になったリソースを解放して別の利用に備える方式が知られている（例えば、非特許文献１参照）。
【０００４】
この例では、サーバは定期的に過去の負荷情報を時系列情報として管理し、これとあらかじめ用意した規則を用いて負荷を予測し、また、必要に応じて予備ハードウェアの有効化および無効化を実施している。
【非特許文献１】IBM社のHotRod Demo．２００３年７月１５日検索  ＜参照URL:http://www-6.ibm.com/jp/autonomic/casestudies/hotrod.htm  ＞
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前記従来技術によれば、サーバは定期的に過去の負荷情報を時系列情報として管理し、これとあらかじめ用意した規則を用いて負荷を予測し、また、必要に応じて予備ハードウェアの有効化および無効化を実施している。
【０００６】
このような負荷予測を特定の関数やアルゴリズム等に従って適切に行なうために、パラメータの設定を適切に行なう必要があり、この設定には時間を要する。また、このようにしてパラメータを設定しても設定したパラメータが環境変化に伴ってすぐに役立たなくなる場合がある。
【０００７】
本発明は、これらの問題点に鑑みてなされたもので、負荷変動が発生してもリソースの割り当てを有効に行い、応答時間などのサービスレベルを所定値に維持することのできる計算機装置を提供する。
【課題を解決するための手段】
【０００８】
本発明は上記課題を解決するため、次のような手段を採用した。
【０００９】
負荷の変化によって、リソースについてシステムの構成の変更を行うリソース制御部を
備える計算機装置において、前記リソース制御部は、前記計算機装置のリソースの負荷の一定時間における変化を示す負荷時系列情報と、前記システムの構成を変更した履歴を示す構成変更履歴と、一定時間内において、前記計算機において入力される入力時系列情報と、前記負荷時系列情報を用いて、前記リソースにおける負荷の予測値を算出する負荷予測規則とを有し、前記予測規則によって予測された負荷を処理するために必要なリソース量を算出し、前記負荷の予測を処理するために必要なリソース量に適合するように前記システムの構成を変更し、該システムの構成の変更の内容を前記構成変更履歴に記録し、前記負荷予測の結果と前記変更後の実際の負荷を比較し、前記変更後のシステムの構成において、前記計算機の負荷が適切でないと判断した場合に、前記入力時系列情報と、前記負荷時系列情報と、前記構成変更履歴から、前記負荷予測規則の修正を行う。
【発明の効果】
【００１０】
本発明は、以上の構成を備えるため、負荷変動が発生してもリソースの割り当てを有効に行い、応答時間などのサービスレベルを所定値に維持することのできる計算機装置を提供することができる。
【発明を実施するための最良の形態】
【００１１】
以下、最良の実施形態を添付図面を参照しながら説明する。図１は、本発明による計算機装置の構成を説明する図である。計算機装置は、端末１〜端末４（１０１０〜１０４０）、集線装置（１１００）、ネットワーク（１５０１）、ユーザとの入出力インタフェースを管理するフロントエンドサーバ（１３１０）、サービスのロジックを実行するアプリケーションサーバ（１３２０）、およびサービスに必要なデータを管理するデータベースサーバ（１３３０）を備える。
【００１２】
集線装置（１１００）は、端末１〜端末４（１０１０〜１０４０）と接続し、ネットワーク（１５０１）を経由してフロントエンドサーバ（１３１０）と接続する。集線装置（１１００）は入力集計機能（１２００）（詳細は後述）を備え、外部記憶装置に格納した入力分類用情報（１２１０）および入力時系列情報（１２２０）にアクセス可能である。
【００１３】
フロントエンドサーバ（１３１０）はリソース制御機能（１４１０）（詳細は後述）を備え、外部記憶装置に格納した負荷時系列情報（１４１１）、負荷予測規則（１４１２）および構成変更履歴（１４１３）にアクセス可能である。アプリケーションサーバ（１３２０）は同様にリソース制御機能（１４２０）を備え、負荷時系列情報（１４２１）、負荷予測規則（１４２２）および構成変更履歴（１４２３）にアクセス可能である。データベースサーバ（１３３０）も同様にリソース制御機能（１４３０）を備え、負荷時系列情報（１４３１）、負荷予測規則（１４３２）および構成変更履歴（１４３３）にアクセス可能である。
【００１４】
図２は、計算機装置における情報の流れを説明する図である。図において、情報の流れ（１１〜２８）は、処理の流れに沿って発生する情報の移動を示す。
【００１５】
端末（１０１０〜１０４０）からのユーザ入力（１１）は、入力集計機能（１２００）により集計される。入力集計機能（１２００）は入力時系列情報（１２２０）に記録された過去の入力時系列情報（１８）を参照し、新たな入力に関する情報（１９）を追加登録する。
【００１６】
イベント管理機能（１５００）は、装置内を監視し、イベント時系列情報（１５１０）から得られる過去のイベント情報（２５）を参照して、負荷の変動に関係するイベントの発生を監視する。イベント管理機能（１５００）によって負荷の変動に関係すると判定された新規イベント（２４）はイベント時系列情報（１５１０）に登録する。イベント管理機能（１５００）は、入力時系列情報（１２２０）を参照して過去の入力情報（２３）を適宜取得し、入力情報に関する傾向の変化等についても新規イベント（２４）としてイベント時系列情報（１５１０）に登録する。
【００１７】
また、ユーザ入力（１１）はフロントエンドサーバ（１３１０）にそのままの形式の電文（１２）として転送し処理する。このフロントエンドサーバ（１３１０）による処理の際、必要に応じてアプリケーションサーバ（１３２０）に要求（１３）を転送し処理する。アプリケーションサーバ（１３２０）における処理の際、さらに必要に応じてデータベースサーバ（１３３０）に要求（１４）を転送し処理する。データベースサーバ（１３３０）による処理の結果（１５）はアプリケーションサーバ（１３２０）に返され、さらにアプリケーションサーバ（１３２０）による処理の結果（１６）はフロントエンドサーバ（１３１０）に返され、フロントエンドサーバ（１３１０）による処理の結果は応答（１７）として端末（１０１０〜１０４０）に送られる。これらの処理が実行される間、サーバ（１３１０、１３２０、１３３０）の負荷は変動する。
【００１８】
フロントエンドサーバ（１３１０）のリソース制御機能（１４１０）は、負荷時系列情報（１４１１）に加え、入力時系列情報（１２２０）に記録された負荷予測用情報（２０）、イベント時系列情報（１５１０）に記録された負荷予測用情報（２６）等を合わせて将来のシステム負荷の値を予測する。このフロントエンドサーバ（１３１０）における負荷予測には、専用の負荷予測規則（１４１２）を用いる。また、これらの予測結果に基づき、リソース制御機能（１４１０）はフロントエンドサーバ（１３１０）のリソース量を変更する。リソース制御機能（１４１０）は、このリソース量変更が適切であったかどうか検証を実施し、その結果に基づき負荷予測規則（１４１２）を修正する。
【００１９】
なお、アプリケーションサーバ（１３２０）のリソース制御機能（１４２０）およびデータベースサーバ（１３３０）のリソース制御機能（１４３０）におけるデータ参照および処理の動きは、フロントエンドサーバ（１３１０）のリソース制御機能（１４１０）と同様である。
【００２０】
次に、図３、図４および図５を用いて、本発明による計算機装置が扱う情報の内容について説明する。
【００２１】
図３は、負荷時系列情報を説明する図である。時系列表（３０００）は負荷の種類ごとに時間による変化を記録するものである。ここでは例として、ＣＰＵ使用率の時間変化を示すＣＰＵ使用率表（３１００）およびメモリ使用量の時間変化を示すメモリ使用量表（３２００）を有する。
【００２２】
ＣＰＵ使用率表（３１００）は、時刻値の並び（３１１０）および負荷値（ＣＰＵ使用率）の並び（３１２０）からなる。時刻値の並び（３１１０）は値ｔ１〜ｔ５（３１１１〜３１１５）から構成され、負荷値の並び（３１２０）は値Ｌｃｐｕ１〜Ｌｃｐｕ５（３１２１〜３１２５）から構成される。メモリ使用量表（３２００）も同様に、時刻値の並び（３２１０）および負荷値（メモリ使用率）の並び（３２２０）からなる。時刻値の並び（３２１０）は値ｔ１〜ｔ５（３２１１〜３２１５）から構成され、負荷値の並び（３２２０）は値Ｌｍｅｍ１〜Ｌｍｅｍ５（３２２１〜３２２５）から構成される。
【００２３】
図４は、入力分類情報を説明する図である。入力電文分類表（４０００）は、入力電文の種類と、それにより負荷に影響の及ぶサーバ（１３１０、１３２０、１３３０）との対応関係を示し、要求の種類の並び（４０１０）および影響の及ぶサーバの指定の並び（４０２０）からなる。要求の種類の並び（４０１０）は、要求の種類を示す項目（４０１１〜４０１５、以下省略）から構成され、影響の及ぶサーバの指定の並び（４０２０）は、影響の及ぶサーバの指定（４０２１〜４０２５、以下略）の組から構成される。
【００２４】
この例では、要求の種類を示す項目（４０２１〜４０２５）の示す内容は、以下の３通りとする。
【００２５】
（１）Ｆ（４０２１）：フロントエンドサーバ（１３１０）のみ影響する。
【００２６】
（２）Ｆ＋Ａ（４０２２、４０２３）：フロントエンドサーバ（１３１０）およびアプリケーションサーバ（１３２０）に影響する。
【００２７】
（３）Ｆ＋Ａ＋Ｄ（４０２４、４０２５）：フロントエンドサーバ（１３１０）、アプリケーションサーバ（１３２０）、データベースサーバ（１３３０）のすべてのサーバに影響する。
【００２８】
図５は、入力電文の時系列情報の形式を説明する図である。時系列情報をあらわす表（５０００）は、単位時間あたりの電文到着数の推移を入力電文の種類ごとにまとめたものであり、電文ｒｅｑ１の到着数の推移を示すｒｅｑ１到着数表（５１００）および電文ｒｅｑ２に対応する表（５２００）を含む。ｒｅｑ１到着数表（５１００）は、時刻値の並び（５１１０）および到着数の並び（５１２０）を含む。時刻値の並び（５１１０）は、単位時間Δｔで区切られた時刻ｔ１〜ｔ５（５１１１〜５１１５）からなる。また、到着数の並び（５１２０）は、時刻ｔ１〜ｔ５それぞれについて、その前の時間Δｔの間のｒｅｑ１の到着数ｃｎｔ１１〜ｃｎｔ１５（５１２１〜５１２５）を記録したものである。ｒｅｑ２到着数表（５２００）も同様に、時刻値の並び（５２１０）および到着数の並び（５２２０）を含み、時刻値の並び（５２１０）は時刻ｔ１〜ｔ５（５２１１〜５２１５）から、到着数の並び（５２２０）は、到着数ｃｎｔ２１〜ｃｎｔ２５（５２２１〜６２２５）から構成される。
【００２９】
図６は、本発明におけるサーバシステムのソフトウェア構成を説明する図である。入力集計機能（６０００）は、入力電文解析分類機能（６０１０）および入力電文情報時事系列情報集計する機能（６０２０）を備える。
【００３０】
入力電文解析分類機能（６０１０）は、入力電文の解析および図４に示す分類表に従った分類を行なう。入力電文情報時事系列集計機能（６０２０）は、入力電文を種類別に集計し、図５に示すような時系列情報（１２２０）として記録する。
【００３１】
サーバ（１３１０、１３２０、１３３０）内のリソース制御機能（１４１０、１４２０、１４３０）は、負荷時系列情報作成機能（６１１０）、負荷予測機能（６１２０）、リソース割当量決定機能（６１３０）、リソース再割り当てのためのシステム構成変更機能（６１４０）、および負荷予測規則修正機能（６１５０）の各機能を備える。
【００３２】
負荷時系列情報作成機能（６１１０）は、サーバ負荷情報の採取、集計、および記録を行ない、図３に示す負荷時系列情報を生成する。負荷予測機能（６１２０）は、将来のサーバ負荷量の予測を行なう。リソース割当量決定機能（６１３０）は、サーバ負荷量の予測値に対して、これを処理するのに必要なリソース量を決定する。システム構成変更機能（６１４０）は、必要なリソース量を割り当てるためのシステム構成変更を行なう。負荷予測規則修正機能（６１５０）は、負荷予測機能（６１２０）の行なった予測の結果を評価し、必要に応じて負荷予測規則（１４１２、１４２２、１４３２）の修正を行なう。
【００３３】
次に、図７、図８を用いてサーバ（１３１０、１３２０、１３３０）のリソース使用率を制御し、サービスレベルを維持するための処理を説明する。
【００３４】
図７は、入力集計機能（１２００）の処理を説明する図である。まず、端末プロトコル等の通信規則を元に要求入力となる電文を解析し、これを構成する要素に分解する（ステップ７０１０）。次に、この解析結果と入力分類用情報（１２１０）をもとに入力電文を分類する（ステップ７０２０）。入力分類用情報（１２１０）は具体的には、図４の入力電文分類表（４０００）に示すような内容を持ち、入力電文の種類と、それにより付加に影響の及びサーバがどれであるかの対応関係を示す。
なお、入力分類用情報（１２１０）は、システムの運転開始前にあらかじめ用意しておく。
【００３５】
最後に、分類された項目ごとに入力電文を集計し、要求入力の時刻情報とともに図５に示すように入力時系列情報（１２２０）に記録する（ステップ６０２０）。
【００３６】
図８は、リソース制御機能（１４１０，１４２０，１４３０）の処理を説明する図である。フロントエンドサーバ（１３１０）、アプリケーションサーバ（１３２０）およびデータベースサーバ（１３３０）内のリソース制御機能(それぞれ１４１０、１４２０、１４３０)について、処理の流れを説明する。
【００３７】
上記３種類のサーバ（１３１０，１３２０，１３３０）は、いずれにおいてもリソース制御の流れは同様であるため、以下の説明ではフロントエンドサーバ内のリソース制御機能(１４１０)を例として説明する。
【００３８】
まず、フロントエンドサーバ（１３１０）の負荷情報を採取し（ステップ８０１０）、図３に示すように負荷時系列情報（１４１１）への記録を行なう（ステップ８０２０）。
【００３９】
次に、図５に示す入力時系列情報（１２２０）、図３に示す負荷時系列情報（１４１１）および負荷予測規則（１４１２）をもとに、システム内の各リソースについて、あらかじめ定めた時間の範囲（たとえば現時刻から３０分以内）における最小使用量の予測値計算を行なう（ステップ６１２０）。
【００４０】
次に、この予測負荷を処理するために必要なリソース量を算出する（ステップ６１３０）。この算出値と現在のシステムの持つリソース量とを比較する（ステップ８０５０）。もし異なる場合には、算出したリソース量に適合するようシステム構成の変更を実施し（ステップ８０６０）、変更の内容を構成変更履歴（１４１３）に記録する（ステップ８０７０）。
【００４１】
次に、負荷時系列情報（１４１１）とこの構成変更履歴（１４１３）を照合し（ステップ８０８０）、構成変更後の負荷が適切に維持されていないと判断できる場合には、負荷時系列情報（１４１１）、構成変更履歴（１４１３）に入力時系列情報（１２２０）も加えて、負荷予測規則（１４１２）の内容の修正を行なう（ステップ８０９０）。
【００４２】
これ以降は、その修正結果をもとに上記の手順（ステップ８０３０〜８０７０）を繰り返してリソース制御を行なう。
【００４３】
図９は、入力電文の増大によりＣＰＵ負荷が増大した場合の処理を説明する図である。フロントエンドサーバ（１３１０）には、ＣＰＵリソースとしてＣＰＵ１１（１３１１）、ＣＰＵ１２（１３１２）が割り当てられており、負荷増大時に備えて予備ＣＰＵ１１〜予備ＣＰＵ１３（１４１１〜１４１３）が用意されている。
【００４４】
同様に、アプリケーションサーバ（１３２０）にはＣＰＵ２１〜ＣＰＵ２３（１３２１〜１３２３）が割り当てられており、予備ＣＰＵ２１〜予備ＣＰＵ２３（１４２１〜１４２３）が用意されている。データベースサーバ（１３３０）にはＣＰＵ３１〜ＣＰＵ３３（１３３１〜１３３３）が割り当てられており、予備ＣＰＵ３１〜予備ＣＰＵ３３（１４３１〜１４３３）が用意されている。
【００４５】
端末１〜端末４（１０１０〜１０４０）から集線装置（１１００）内の入力集計機能（１２００）対して、それぞれ端末１（１０１０）から種別ｒｅｑ１（４０１１）の電文１（１１０１）が、端末４（１０４０）から種別ｒｅｑ２（４０１２）の電文２（１１０２）が送られ、入力集計機能（１２００）によってｒｅｑ１の到着数は表（５１００）に、ｒｅｑ２の到着数は表（５２００）に記録される。サーバ（１３１０，１３２０，１３３０）は処理を実行し、負荷の推移は時系列表（３０００）に記録される。このとき、「フロントエンドサーバ（１３１０）およびアプリケーションサーバ（１３２０）にかかるＣＰＵ負荷の推移Ｌｃｐｕ１〜Ｌｃｐｕ５（３１２１〜３１２５）が時刻ｔ１〜ｔ５（３１１１〜３１１５）の間で増加傾向にある」という状態を仮定する。
【００４６】
さらに、過去において、同様の種類の電文が到着し、サーバに同様の負荷増加傾向が見られたとき、その１時間後にフロントエンドサーバ（１３１０）の負荷が１ＣＰＵ相当分程度増大し、アプリケーションサーバ（１３２０）の負荷が２ＣＰＵ相当分増大したといった事象が記録されており、これがフロントエンドサーバおよびアプリケーションサーバの負荷予測規則（１４１２、１４２２）に反映されている、とする。
【００４７】
このときフロントエンドサーバおよびアプリケーションサーバのリソース制御機能（１４１０、１４２０）は入力集計機能（１２００）から現況に関する情報を受け取り、負荷予測規則（１４１２、１４２２）から「フロントエンドサーバ（１３１０）およびアプリケーションサーバ（１３２０）において負荷の増大が起きる」と結論付け、フロントエンドサーバ（１３１０）への割当てＣＰＵ数を１、アプリケーションサーバ（１３２０）へのＣＰＵ割当て数を２だけ追加する。すなわち、フロントエンドサーバ上の予備ＣＰＵ１１（１４１１）を新たにＣＰＵ１３（１３１３）として稼動させ、アプリケーションサーバ上の予備ＣＰＵ２１（１４２１）と予備ＣＰＵ２２（１４２２）を、それぞれ新たにＣＰＵ２４（１３２４）、ＣＰＵ２５（１３２５）として稼動させる。
【００４８】
その後、上記と同様のケースにおいてフロントエンドサーバ（１３１０）にかかる負荷が増大しない事例が十分な回数確認された場合には、フロントエンドサーバの負荷予測規則修正機能（６１５０−１）によって、フロントエンドサーバ（１３１０）の負荷予測規則（１４１２）を修正する。これにより、これ以降、この例で示した条件において、「フロントエンドサーバ（１３１０）のＣＰＵ負荷が増加する」という予測は行なわれなくなる。
【００４９】
図１０は、入力電文の減少によりＣＰＵ負荷が減少した場合の処理を説明する図である。図９で示したようなＣＰＵ負荷の一時的増大からしばらく時間が経過した後、端末（１０１０〜１０４０）から集線装置（１１００）内の入力集計機能（１２００） に送られる電文のうち、種別ｒｅｑ１（４０１１）および種別ｒｅｑ２（４０１２）がなくなり、フロントエンドサーバ（１３１０）およびアプリケーションサーバ（１３２０）への負荷も一時的増大前の水準まで減少した状態を仮定する。
【００５０】
さらに、「過去においてこのような負荷の減少があった場合、その後急激にフロントエンドサーバ（１３１０）およびアプリケーションサーバ（１３２０）の負荷がピーク時に戻る、という事例は記録されておらず、種別ｒｅｑ１（４０１１）および種別ｒｅｑ２（４０１２）がなくなった後の前述のような負荷の減少が、フロントエンドサーバおよびアプリケーションサーバの負荷予測規則（１４１２、１４２２）に反映されている」とする。この時、リソース制御機能（１４１０、１４２０）はそれぞれ入力集計機能（１２００）から現況に関する情報を受け取り、負荷予測規則（１４１２、１４２２）から「負荷の減少が起きる」と結論付け、フロントエンドサーバ（１３１０）への割当てＣＰＵ数を１だけ、アプリケーションサーバ（１３２０）へのＣＰＵ割当て数を２だけ減少させる。すなわち、フロントエンドサーバ上のＣＰＵ１３（１３１３）を稼動停止させ、予備ＣＰＵ１１（１４１１）として待機状態にするとともに、アプリケーションサーバ上のＣＰＵ２４（１３２４）、ＣＰＵ２５（１３２５）を稼動停止させ、予備ＣＰＵ２１（１４２１）、予備ＣＰＵ２２（１４２２）として待機状態にする。
【００５１】
その後、フロントエンドサーバ（１３１０）にかかる負荷がピーク時の高さまで戻るようなケースが何度かあった場合には、負荷予測規則修正機能（６１５０−１）によって、フロントエンドサーバ（１３１０）の負荷予測規則（１４１２）は修正され、以降この例のような条件を満たしてもすぐに「ＣＰＵ負荷がこのまま低い状態で安定する」という予測は行なわれなくなる。
【００５２】
次に、図１１と図１２を用いて、1台の計算機を複数の論理計算機に分割する構成において、入力電文量の変動によりＣＰＵ負荷が増大または減少する場合の処理を説明する。この例は、図９および図１０で示したと同様にフロントエンドサーバ（１３１０）、アプリケーションサーバ（１３２０）、およびデータベースサーバ（１３３０）が論理計算機として一つのサーバ（１３００）内に構成されている場合を示すものである。
【００５３】
まず、図１１は、1台の計算機を複数の論理計算機に分割する構成において、入力電文の増加によりＣＰＵ負荷が増大した場合の処理を示す図である。フロントエンドサーバ（１３１０）にはＣＰＵリソースとしてＣＰＵ１１（１３１１）、ＣＰＵ１２（１３１２）が割り当てられている。同様に、アプリケーションサーバ（１３２０）にはＣＰＵ２１〜ＣＰＵ２３（１３２１〜１３２３）が、データベースサーバ（１３３０）にはＣＰＵ３１〜ＣＰＵ３３（１３３１〜１３３３）が割り当てられている。図９の例では予備ＣＰＵは各サーバに備えられていたが、この図１１の例では予備ＣＰＵはサーバ（１３００）が持つ共通の予備ＣＰＵ１〜予備ＣＰＵ６（１４１１〜１４１６）として管理される。
【００５４】
図９の例と同様の前提のもと、フロントエンドサーバ（１３１０）およびアプリケーションサーバ（１３２０）へのＣＰＵ割当てを増やす場合、この図１１の例では予備ＣＰＵ１（１４１１）をフロントエンドサーバ（１３１０）のＣＰＵ１３（１３１３）に、予備ＣＰＵ２（１４１２）と予備ＣＰＵ３（１４１３）をアプリケーションサーバ（１３２０）のＣＰＵ２４（１３２４）とＣＰＵ２５（１３２５）にそれぞれ割り当てる。それ以外の処理は図９の例と同様である。
【００５５】
図１２は、1台の計算機を複数の論理計算機に分割する構成において、入力電文の減少によりＣＰＵ負荷が減少した場合の処理を説明する図である。なお、図１２に示すシステムの構成は図１１と同じである。
【００５６】
図１０の例と同様の前提のもと、フロントエンドサーバ（１３１０）およびアプリケーションサーバ（１３２０）へのＣＰＵ割当てを減らす場合、図１２の例スでは、フロントエンドサーバ（１３１０）のＣＰＵ１３（１３１３）を予備ＣＰＵ１（１４１１）に、アプリケーションサーバ（１３２０）のＣＰＵ２４、ＣＰＵ２５（１３２４、１３２５）を予備ＣＰＵ２、予備ＣＰＵ３（１４１２、１４１３）にそれぞれ戻す。それ以外の処理は図１０の例と同様である。
【００５７】
次に、図１３と図１４を用いて、グリッドコンピュータやブレードサーバのように、複数の計算機から構成される計算機システムにおいて、入力電文量の変動によりＣＰＵ負荷が増大または減少する場合を説明する。
【００５８】
まず、図１３は、複数の計算機から構成される計算機システムにおいて、入力電文の増加によりＣＰＵ負荷が増大した場合の処理を示す図である。計算機装置は、フロントエンドサーバ（１３１０）、アプリケーションサーバ（１３２０）、データベースサーバ（１３３０）、および予備計算機１〜予備計算機６（１７１１〜１７１６）から構成される。計算機１１〜計算機３３（１６１１〜１６１２、１６２１〜１６２３、１６３１〜１６３３）および予備計算機１〜予備計算機６（１７１１〜１７１６）は、具体的にはラック内に納められたブレードサーバの集合、あるいはネットワーク接続によってグリッドコンピュータとして構成されたサーバの集合、などといった形態をとる。フロントエンドサーバ（１３１０）にはＣＰＵ、メモリ等のリソースを備える計算機１１（１６１１）、計算機１２（１６１２）が割り当てられている。同様に、アプリケーションサーバ（１３２０）には計算機２１〜計算機２３（１６２１〜１６２３）が、データベースサーバ（１３３０）には計算機３１〜計算機３３（１６３１〜１６３３）が割り当てられている。
【００５９】
図９の例と同様の前提のもと、フロントエンドサーバ（１３１０）およびアプリケーションサーバ（１３２０）へのＣＰＵ割当てを増やす場合、図１３の例では予備計算機１（１７１１）をフロントエンドサーバ（１３１０）の計算機１３（１６１３）に、予備計算機２、予備計算機３（１７１２、１７１３）をアプリケーションサーバ（１３２０）の計算機２４、計算機２５（１６２４、１６２５）にそれぞれ割り当てる。それ以外の処理の流れは図９の例と同様である。
【００６０】
図１４は、複数の計算機から構成される計算機システムにおいて、入力電文の減少によりＣＰＵ負荷が減少した場合の処理を説明する図である。なお、図１４に示すシステムの構成は図１３と同じである。
【００６１】
図１０の例と同様の前提のもと、フロントエンドサーバ（１３１０）およびアプリケーションサーバ（１３２０）へのＣＰＵ割当てを減らす場合、図１４のケースではフロントエンドサーバ（１３１０）の計算機１３（１６１３）を予備計算機１（１７１１）に、アプリケーションサーバ（１３２０）の計算機２４、計算機２５（１６２４、１６２５）を予備計算機２、予備計算機３（１７１２、１７１３）にそれぞれ戻す。それ以外の処理の図１０の例と同様である。
【００６２】
最後に、再び図１３と図１４を用いて、入力電文量の変動によりメモリ負荷が増大または減少する場合の処理を説明する。
【００６３】
まず、図１３を用いて、入力電文の増加によりメモリ負荷が増大した場合の処理を示す。端末１〜端末４（１０１０〜１０４０）から集線装置（１１００）内の入力集計機能（１２００） に、端末１（１０１０）から種別ｒｅｑ１（４０１１）の電文１（１１０１）が、端末４（１０４０）から種別ｒｅｑ２（４０１２）の電文２（１１０２）が送られ、入力集計機能（１２００）によってｒｅｑ１の到着数は表（５１００）に、ｒｅｑ２の到着数は表（５２００）に記録される。サーバ（１３１０，１３２０，１３３０）は処理を実行し、負荷の推移は時系列表（３０００）に記録される。このとき、「フロントエンドサーバ（１３１０）およびアプリケーションサーバ（１３２０）にかかるメモリ負荷の推移Ｌｍｅｍ１〜Ｌｍｅｍ５（３２２１〜３２２５）が時刻ｔ１〜ｔ５（３２１１〜３２１５）の間で増加傾向にある」という状態を仮定する。
【００６４】
さらに、過去において、同様の種類の電文が到着し、サーバに同様の負荷増加傾向が見られたとき、その１時間後にフロントエンドサーバ（１３１０）のメモリ負荷が計算機１台に相当する分増大、アプリケーションサーバ（１３２０）のメモリ負荷が計算機２台に相当する分増大した、といった事象が記録されており、これがフロントエンドサーバおよびアプリケーションサーバの負荷予測規則（１４１２、１４２２）に反映されている、とする。このときフロントエンドサーバおよびアプリケーションサーバのリソース制御機能（１４１０、１４２０）は入力集計機能（１２００）から現況に関する情報を受け取り、負荷予測規則（１４１２、１４２２）から「フロントエンドサーバ（１３１０）およびアプリケーションサーバ（１３２０）において負荷の増大が起きる」と結論付け、フロントエンドサーバ（１３１０）への計算機割当て数を１、アプリケーションサーバ（１３２０）への計算機割当て数を２だけ追加する。すなわち、予備計算機１（１７１１）を新たに計算機１３（１６１３）として稼動させ、予備計算機２（１７１２）と予備計算機３（１７１３）を、それぞれ新たに計算機２４（１６２４）、計算機２５（１６２５）として稼動させる。
【００６５】
その後、上記と同様のケースにおいてフロントエンドサーバ（１３１０）にかかる負荷が増大しない事例が十分な回数確認された場合には、フロントエンドサーバの負荷予測規則修正機能（６１５０−１）によって、フロントエンドサーバ（１３１０）の負荷予測規則（１４１２）は修正される。このため、これ以降、この例で示した条件において、「フロントエンドサーバ（１３１０）のメモリ負荷が増加する」という予測は行なわれなくなる。
【００６６】
次に、図１４を用いて、メモリ負荷が減少した場合の処理を説明する。図１３で示したメモリ負荷の一時的増大のケースからしばらく時間が経過した後、端末（１０１０〜１０４０）から集線装置（１１００）内の入力集計機能（１２００） に送られる電文のうち、種別ｒｅｑ１（４０１１）および種別ｒｅｑ２（４０１２）のものがなくなり、フロントエンドサーバ（１３１０）およびアプリケーションサーバ（１３２０）への負荷も一時的増大前の水準まで減少した状態を仮定する。
【００６７】
さらに、「過去においてこのような負荷の減少があった場合、その後急激にフロントエンドサーバ（１３１０）およびアプリケーションサーバ（１３２０）の負荷がピーク時に戻る、という事例は記録されておらず、
種別ｒｅｑ１（４０１１）および種別ｒｅｑ２（４０１２）がなくなった後の前述のような
負荷の減少が、フロントエンドサーバおよびアプリケーションサーバの負荷予測規則（１４１２、１４２２）に反映されている」とする。この時、リソース制御機能（１４１０、１４２０）はそれぞれ入力集計機能（１２００）から現況に関する情報を受け取り、負荷予測規則（１４１２、１４２２）から「負荷の減少が起きる」と結論付け、フロントエンドサーバ（１３１０）への割当て計算機数を計算機１台に相当する分減少、アプリケーションサーバ（１３２０）の負荷が計算機２台に相当する分だけ減少させる。すなわち、フロントエンドサーバ上の計算機１３（１６１３）を稼動停止させ、予備計算機１（１７１１）として待機状態にするとともに、アプリケーションサーバ上の計算機２４（１６２４）、計算機２５（１６２５）を稼動停止させ、予備計算機２（１７１２）、予備計算機３（１７１３）として待機状態にする。
【００６８】
その後、フロントエンドサーバ（１３１０）にかかる負荷がピーク時の高さまで戻るようなケースが何度かあった場合には、負荷予測規則修正機能（６１５０−１）によって、フロントエンドサーバ（１３１０）の負荷予測規則（１４１２）は修正され、以降この例のような条件を満たしてもすぐに「メモリ負荷がこのまま低い状態で安定する」という予測は行なわれなくなる。
【００６９】
以上の結果、システムの負荷予測の精度が向上し、システムの応答時間などのユーザに提供するサービスレベルをより確実に維持できるようになる。
【００７０】
以上説明したように、本実施形態によれば、複数のサーバから構成され、負荷変動を考慮した計算機装置において、受信側のサーバは、端末から入力される電文の内容、種類、送信元などの属性および到着数、あるいはその変動、負荷予測規則等をもとに将来の負荷を予測し、これに必要な計算機リソースを確保する。その後、さらに電文を受信し処理を行う。その際、実際に発生した負荷を測定する。そして、負荷予測の結果と実際に発生した負荷変動を比較し、その結果に基づき負荷予測に用いる規則を修正する。この結果、負荷予測の精度を向上することができる
【図面の簡単な説明】
【００７１】
【図１】本発明による計算機装置の構成を説明する図である。
【図２】計算機装置における情報の流れを説明する図である。
【図３】負荷時系列情報を説明する図である。
【図４】入力分類情報を説明する図である。
【図５】入力電文の時系列情報の形式を説明する図である。
【図６】本発明におけるサーバシステムのソフトウェア構成を説明する図である。
【図７】入力集計機能の処理を説明する図である。
【図８】リソース制御機能の処理を説明する図である。
【図９】入力電文の増大によりＣＰＵ負荷が増大した場合の処理を説明する図である。
【図１０】入力電文の減少によりＣＰＵ負荷が減少した場合の処理を説明する図である。
【図１１】1台の計算機を複数の論理計算機に分割する構成において、入力電文の増加によりＣＰＵ負荷が増大した場合の処理を示す図である。
【図１２】1台の計算機を複数の論理計算機に分割する構成において、入力電文の減少によりＣＰＵ負荷が減少した場合の処理を説明する図である。
【図１３】複数の計算機から構成される計算機システムにおいて、入力電文の増加によりＣＰＵ負荷が増大した場合の処理を示す図である。
【図１４】複数の計算機から構成される計算機システムにおいて、入力電文の減少によりＣＰＵ負荷が減少した場合の処理を説明する図である。
【符号の説明】
【００７２】
１０１０、１０２０、１０３０、１０４０：端末
１１００  集線装置
１２００  入力集計機能
１２１０  入力分類用情報
１２２０  入力時系列情報
１３００  サーバ
１３１０  フロントエンドサーバ
１３２０  アプリケーションサーバ
１３３０  データベースサーバ
１４１０，１４２０，１４３０  リソース制御機能
１４１１，１４２１，１４３１  負荷時系列情報
１４１２，１４２２，１４３２  負荷予測規則
１４１３，１４２３，１４３３  構成変更履歴
１５００  イベント管理機能
１５１０  イベント時系列情報
【図１】
0003993848.tif 000002
【図２】
0003993848.tif 000003
【図３】
0003993848.tif 000004
【図４】
0003993848.tif 000005
【図５】
0003993848.tif 000006
【図６】
0003993848.tif 000007
【図７】
0003993848.tif 000008
【図８】
0003993848.tif 000009
【図９】
0003993848.tif 000010
【図１０】
0003993848.tif 000011
【図１１】
0003993848.tif 000012
【図１２】
0003993848.tif 000013
【図１３】
0003993848.tif 000014
【図１４】
0003993848.tif 000015