(57)【要約】【課題】情報処理システムにおける各モジュールの使用資源量の変化を的確に予測し、その変化に応じて使用資源量の制限を自律的に調整する。【解決手段】生成手段１０２は、格納手段１０１からモジュール毎のトランザクション発生量を取得し、過去のトランザクション処理量と使用資源量の相関関係を表す関数を用いて、トランザクション発生量の推移から予測される使用資源量の推移を生成する。割当手段１０３は、その使用資源量の推移に従って、モジュール毎の割当資源量を自動的に変動させる。【選択図】      図１
2004318474.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のアプリケーションプログラムからなるモジュールを複数有するシステムにおいて使用されるコンピュータ資源の量をモジュール毎に調整する資源調整装置であって、
複数のモジュールのそれぞれについて、過去のトランザクション発生量の推移を表すデータを格納する格納手段と、
前記格納手段から対象モジュールのトランザクション発生量の推移を表すデータを取得し、該対象モジュールの過去のトランザクション処理量と使用資源量の相関関係を表す関数におけるトランザクション処理量としてトランザクション発生量を用いることで、該対象モジュールのトランザクション発生量の推移から使用資源量の推移を生成する生成手段と、
生成された使用資源量の推移を予測される使用資源量の推移として用い、該予測される使用資源量の推移に従って、前記対象モジュールの割当資源量を自動的に変動させる割当手段と
を備えることを特徴とする資源調整装置。
【請求項２】
１つ以上のアプリケーションプログラムからなるモジュールを複数有するシステムにおいて使用されるコンピュータ資源の量をモジュール毎に調整するコンピュータのためのプログラムであって、
複数のモジュールのそれぞれについて過去のトランザクション発生量の推移を表すデータを格納する格納手段から、対象モジュールのトランザクション発生量の推移を表すデータを取得し、
前記対象モジュールの過去のトランザクション処理量と使用資源量の相関関係を表す関数におけるトランザクション処理量としてトランザクション発生量を用いることで、前記対象モジュールのトランザクション発生量の推移から使用資源量の推移を生成し、
生成された使用資源量の推移を予測される使用資源量の推移として用い、該予測される使用資源量の推移に従って、前記対象モジュールの割当資源量を自動的に変動させる
処理を前記コンピュータに実行させることを特徴とするプログラム。
【請求項３】
前記プログラムは、前記対象モジュールのトランザクション発生量の推移を表すデータから、複数種類のサイクルのそれぞれにおけるトランザクション発生量の推移を生成して画面上に表示し、オペレータからの指示に従って各サイクルにおけるトランザクション発生量の推移を合成することで、予測されるトランザクション発生量の推移を生成し、該予測されるトランザクション発生量の推移に前記関数を適用して前記使用資源量の推移を生成する処理を前記コンピュータに実行させることを特徴とする請求項２記載のプログラム。
【請求項４】
前記プログラムは、前記複数種類のサイクルのそれぞれにおいて、前記システム内の２つ以上のモジュールに関するトランザクション発生量の平均値および最大値の推移を生成して前記画面上に表示し、前記オペレータが選択した値を用いて各サイクルにおけるトランザクション発生量の推移を合成することで、前記予測されるトランザクション発生量の推移を生成する処理を前記コンピュータに実行させることを特徴とする請求項３記載のプログラム。
【請求項５】
前記プログラムは、前記生成された使用資源量の推移を画面上に表示し、オペレータが表示された使用資源量の推移を変更したとき、変更された使用資源量の推移を前記予測される使用資源量の推移として用いる処理を前記コンピュータに実行させることを特徴とする請求項２記載のプログラム。
【請求項６】
前記プログラムは、前記対象モジュールの使用資源量があらかじめ決められたボトルネック検出閾値に達したときから、該対象モジュールの使用資源量があらかじめ決められたボトルネック解消閾値に達するまでの間、該対象モジュールに優先的に資源を割り当てる処理を前記コンピュータに実行させることを特徴とする請求項２記載のプログラム。
【請求項７】
前記プログラムは、前記対象モジュールのトランザクション発生量があらかじめ決められたボトルネック検出閾値に達したときから、該対象モジュールのトランザクション発生量があらかじめ決められたボトルネック解消閾値に達するまでの間、該対象モジュールに優先的に資源を割り当てる処理を前記コンピュータに実行させることを特徴とする請求項２記載のプログラム。
【請求項８】
前記プログラムは、前記対象モジュールの予測される使用資源量があらかじめ決められた値に達したとき、該対象モジュールに対して子プロセスの生成を指示する処理を前記コンピュータに実行させることを特徴とする請求項２記載のプログラム。
【請求項９】
１つ以上のアプリケーションプログラムからなるモジュールを複数有するシステムにおいて使用されるコンピュータ資源の量をモジュール毎に調整する資源調整方法であって、
生成手段が、複数のモジュールのそれぞれについて過去のトランザクション発生量の推移を表すデータを格納する格納手段から、対象モジュールのトランザクション発生量の推移を表すデータを取得し、
前記生成手段が、前記対象モジュールの過去のトランザクション処理量と使用資源量の相関関係を表す関数におけるトランザクション処理量としてトランザクション発生量を用いることで、前記対象モジュールのトランザクション発生量の推移から使用資源量の推移を生成し、
割当手段が、生成された使用資源量の推移を予測される使用資源量の推移として用い、該予測される使用資源量の推移に従って、前記対象モジュールの割当資源量を自動的に変動させる
ことを特徴とする資源調整方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理システムの各モジュールが将来において使用するコンピュータ資源の量を予測し、モジュール毎の使用資源量の制限を自律的に調整する装置および方法に関する。
【０００２】
【従来の技術】
図１７は、従来の情報処理システムにおけるソフトウェアモジュールを示している。システム内にあるアプリケーションプログラム（業務）の集まりがモジュールであり、１つのモジュールは１つ以上のアプリケーションからなる。
【０００３】
図１７では、モジュール１は、業務１、業務２、および業務３の３つのアプリケーションからなり、モジュール２は、２つの業務のアプリケーションからなり、モジュール３は、１つの業務のアプリケーションからなっている。
【０００４】
このようなシステムにおいては、モジュール毎に使用資源量の制限を設けて資源量制御を行うことで、アプリケーションが使用する資源の消耗を回避し、可用性のある予測可能なレベルのサービスを実現することができる（例えば、非特許文献１、特許文献１、２、３、および４参照）。
【０００５】
【非特許文献１】
“Ｓｏｌａｒｉｓ  ９  Ｒｅｓｏｕｒｃｅ  Ｍａｎａｇｅｒ”、［ｏｎｌｉｎｅ］、Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ−製品  ＆サービス−Ｓｕｎ  ＯＮＥ  ソフトウェア−Ｓｏｌａｒｉｓ−Ｓｏｌａｒｉｓ９−データシート、［平成１５年３月１１日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｊｐ．ｓｕｎ．ｃｏｍ／ｓｏｆｔｗａｒｅ／ｓｏｌａｒｉｓ／ｄｓ／ｄｓ−ｓｒｍ／＞
【特許文献１】
特開２００２−２６８９２０号公報
【特許文献２】
特開２００２−３４２２６９号公報
【特許文献３】
特開２００１−０２２５９７号公報
【特許文献４】
特開平１０−１２４３３３号公報
【０００６】
【発明が解決しようとする課題】
しかしながら、上述した従来の資源量制御には、次のような問題がある。
従来の資源量制御では、モジュールをアプリケーションと関連付け、モジュールの使用資源量に制限を設定している。これにより、使用資源量が大きいアプリケーションには大きな割当資源量を設定し、使用資源量が小さいアプリケーションには小さな割当資源量を設定して、アプリケーションが使用する資源の消耗を回避することができる。
【０００７】
しかし、各アプリケーションの使用資源量は一定ではなく、分・時・週等により変化する。また、突発的に使用資源量が増加し、ボトルネックに陥ることもある。このような使用資源量の変化に対応するためには、システム管理者が使用資源量を随時監視し、状況に応じて制限の設定を一々変更しなければならない。
【０００８】
また、使用資源量はトランザクション処理量に比例し、必ずしもトランザクション発生量に比例するわけではないので、単に過去の使用資源量の推移を参照するだけでは、今後のトランザクション発生量に対する使用資源量を予測することはできない。
【０００９】
本発明の課題は、情報処理システムにおける各モジュールの使用資源量の変化を的確に予測し、その変化に応じて使用資源量の制限を自律的に調整する装置および方法を提供することである。
【００１０】
【課題を解決するための手段】
図１は、本発明の資源調整装置の原理図である。図１の資源調整装置は、格納手段１０１、生成手段１０２、および割当手段１０３を備え、１つ以上のアプリケーションプログラムからなるモジュールを複数有するシステムにおいて使用されるコンピュータ資源の量をモジュール毎に調整する。
【００１１】
格納手段１０１は、複数のモジュールのそれぞれについて、過去のトランザクション発生量の推移を表すデータを格納する。生成手段１０２は、格納手段１０１から対象モジュールのトランザクション発生量の推移を表すデータを取得し、対象モジュールの過去のトランザクション処理量と使用資源量の相関関係を表す関数におけるトランザクション処理量としてトランザクション発生量を用いることで、対象モジュールのトランザクション発生量の推移から使用資源量の推移を生成する。割当手段１０３は、生成された使用資源量の推移を予測される使用資源量の推移として用い、予測される使用資源量の推移に従って、対象モジュールの割当資源量を自動的に変動させる。
【００１２】
格納手段１０１には、例えば、モジュール毎に収集されたトランザクション発生量の測定値が格納されており、生成手段１０２は、調整対象となるモジュール（対象モジュール）のトランザクション発生量の測定値を格納手段１０１から取得する。次に、生成手段１０２は、対象モジュールの過去のトランザクション処理量と使用資源量の相関関係を表す関数に、トランザクション発生量の測定値をトランザクション処理量として代入することで、対象モジュールの使用資源量の推移を算出する。そして、割当手段１０３は、算出された使用資源量の推移に合わせて、今後の対象モジュールの割当資源量を自動的に変動させる。
【００１３】
このように、過去のトランザクション発生量をトランザクション処理量に当てはめて今後の使用資源量を算出することで、モジュール毎の使用資源量の変化を的確に予測することができる。また、予測された使用資源量の推移に従って割当資源量を変動させることで、モジュール毎の使用資源量の制限を自律的に変動させることができる。
【００１４】
格納手段１０１は、例えば、後述する図１５の外部記憶装置１５０５に対応し、生成手段１０２および割当手段１０３は、例えば、図１５のＣＰＵ（中央処理装置）１５０１およびメモリ１５０２の組み合わせに対応する。
【００１５】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態を詳細に説明する。
本実施形態では、コンピュータ資源を管理することができる情報処理システムにおいて、モジュール毎に使用資源量の制限に関するスケジューリングを行い、資源の有効利用、ボトルネックの回避、システム全体のキャパシティプランニング支援等を実現する。
【００１６】
資源調整装置は、各アプリケーションに関連付けたモジュール毎にトランザクション量（発生量・処理量）と使用資源量の測定値を蓄積し、トランザクション発生量の各サイクル（例えば、日、週、月）のパターン（平均値もしくは最大値）を求める。そして、得られた各サイクルのパターンを合成して、特定のサイクル単位（例えば、月単位）のトランザクション発生量の推移を算出する。
【００１７】
また、資源調整装置は、トランザクション処理量と使用資源量の関係を表す近似関数を求め、この近似関数を月単位のトランザクション発生量の推移に適用して、月単位の予測される使用資源量の推移を求める。ここでの近似関数は、通常用いられる実数の近似を一般化したものと考えればよい。すなわち、実数の近似値がある数値的な量を特定の桁精度で表すものとすれば、近似関数は単一もしくは複数のパラメータに依存した量を特定の精度で表すものと考える。
【００１８】
このようにして、今後の使用資源量をスケジューリングすることで、モジュール毎の使用資源量の制限を自動的かつ的確に変動させることができる。
また、資源調整装置は、各モジュールにボトルネック検出閾値を設定しておき、使用資源量がその閾値に達した場合に、そのモジュールに優先的に資源を割り当てる。これにより、ボトルネックを解消することができる。
【００１９】
資源調整装置の運用モードは、監視運用モードと自律運用モードの２つのモードに大別され、資源調整装置は、モジュール毎に必要な資源量をスケジューリングしてサーバの運用設計を行う。
【００２０】
監視運用モードでは、スケジューリングされた資源量を管理者（オペレータ）が変更することが可能であり、資源調整装置は、最終的に管理者により決定されたスケジュールに従って資源量を調整する。また、自律運用モードでは、モジュール単位でトランザクション量と使用資源量に関する統計情報を収集し、モジュールの状態を自動的に判断して、モジュール毎の資源配分を調整する。
【００２１】
図２は、監視運用モードの処理のフローチャートである。資源調整装置は、まず、モジュール単位でトランザクション量（発生量・処理量）と使用資源量に関する統計情報を収集する（ステップ２０１）。統計情報は、定期的に収集されて蓄積される。
【００２２】
次に、収集された統計情報からモジュール単位の割当資源量（必要資源量）を算出して、資源量のスケジュールを管理者に提示する（ステップ２０２）。
ここでは、まず、過去に蓄積されたトランザクション発生量から、各サイクル（日、週、月等）毎のトランザクション発生量の推移と、システム内の複数のモジュールに関するトランザクション発生量の平均値および最大値の推移を求め、管理者に提示する。管理者は、各サイクル毎に平均値または最大値を選択することで、トランザクションの推移の合成を指示する。
【００２３】
このとき、資源調整装置は、例えば、図３のような画面をディスプレイ上に表示する。図３の画面では、サイクルとして１日が選択されており、統計処理の期間として３日が選択されている。
【００２４】
折れ線グラフ３０１、３０２、および３０３は、それぞれ１２月１日、２日、および３日のあるモジュールにおけるトランザクション発生量の推移を表し、折れ線グラフ３０４は、この３日間におけるトランザクション発生量の平均値の推移を表し、折れ線グラフ３０５は、この３日間におけるトランザクション発生量の最大値の推移を表している。管理者は、マウス等のポインティングデバイスを用いて、表示された平均値または最大値（ＭＡＸ値）を選択し、操作が終了すればＯＫボタン３０６をクリックする。
【００２５】
同様にして、管理者は、他のサイクルについても平均値または最大値を選択し、資源調整装置は、選択された各サイクルの推移（パターン）を重ね合わせることで、今後の予測されるトランザクション発生量の推移を合成・算出する。
【００２６】
これにより、例えば、図４のような画面が表示される。図４の画面では、“日”および“週”の各サイクルのパターンを加味した今後の“月”に関するトランザクション発生量の推移が算出されている。
【００２７】
次に、資源調整装置は、過去のトランザクション処理量と使用資源量の相関関係を表す近似関数を生成する。例えば、近似関数として指数関数を用いた場合、Ａ、Ｂ、およびＣを定数として次のような近似式が生成される。
（使用資源量）＝Ａ＊（トランザクション処理量）Ｂ＋Ｃ
これにより、例えば、図５のような画面が表示される。図５の画面の横軸はトランザクション処理量を表し、縦軸は使用資源量を表している。
【００２８】
次に、この近似関数と今後のトランザクション発生量の推移から、今後の使用資源量のスケジュールを算出して、管理者に提示する。これにより、例えば、図６のような画面が表示される。図６の画面では、今後の“月”に関する使用資源量のスケジュールとして、折れ線グラフ６０１、６０２、および６０３が表示されている。折れ線グラフ６０１、６０２、および６０３は、それぞれモジュール＃１、＃２、および＃３のスケジュールを表す。
【００２９】
管理者は、こうして提示された使用資源量のスケジュールの設定を、必要に応じて変更することができる（ステップ２０３）。管理者は、例えば、画面上でポインティングデバイスを用いて折れ線グラフを上下にドラッグすることにより、スケジュールを変更する（ステップ２０４）。そして、操作が終了すればＯＫボタン６０４をクリックする。
【００３０】
資源調整装置は、スケジュールが変更されなかった場合は算出されたスケジュールに従って、スケジュールが変更された場合は変更後のスケジュールに従って、今後の割当資源量を自動的に変動させる（ステップ２０５）。
【００３１】
そして、その後の資源の割当状況を監視し、予測・設定された割当資源量と実際に使用された資源量とを比較して、比較結果を管理者に提示する（ステップ２０６）。管理者は、割当資源量と使用資源量が運用システムとして適合している場合には、監視運用モードから自律運用モードにモード変更を行うことができる。
【００３２】
図７は、自律運用モードの処理のフローチャートである。図７のステップ７０１の処理は、図２のステップ２０１の処理と同様である。資源調整装置は、収集された統計情報からモジュール単位の割当資源量を算出する（ステップ７０２）。
【００３３】
ここでは、まず、過去に蓄積されたトランザクション発生量から、次の時間単位（例えば、初期値は１時間）におけるトランザクション発生量を予測する。次に、監視運用モードの場合と同様に、過去のトランザクション処理量と使用資源量の相関関係を表す近似関数を生成する。そして、予測されたトランザクション発生量と近似関数から、次の時間単位で必要となる資源量を算出する。
【００３４】
次に、算出された資源量を割当資源量として設定し（ステップ７０３）、その後の資源の割当状況を監視する（ステップ７０４）。そして、予測・設定された割当資源量と実際に使用された資源量とを比較して、比較結果を管理者に提示する。
【００３５】
自律運用モードでは、監視運用モードとは異なり、割当資源量を管理者が変更しなくても、自動的に割当資源量が調整される。管理者は、割当資源量と使用資源量が運用システムとして適合していない場合には、自律運用モードから監視運用モードにモード変更を行うことができる。
【００３６】
また、資源調整装置は、各モジュールの将来における長期的な資源量予測も行うことが可能である。例えば、１年間の使用資源量を２ヶ月間隔で予測した場合、図８のようなスケジュールが画面上に表示される。図８の曲線８０１、８０２、および８０３は、それぞれモジュール＃１、＃２、および＃３の使用資源量のスケジュールを表す。
【００３７】
システム内のすべてのモジュールについて予測された使用資源量を合計して、そのスケジュールをグラフ表示すれば、管理者に対してシステム全体の総需要を提示することができ、キャパシティプランニングの支援が実現される。
【００３８】
次に、資源調整装置が行う処理についてより具体的に説明する。資源調整装置は、例えば、図９から図１４までに示すようなテーブルを用いて資源調整処理を行う。
【００３９】
図９のモジュール毎基本データテーブルには、モジュール毎に、以下の項目のデータが格納される。
モジュール名９０１（モジュール識別情報）
ＣＰＵ割当量９０２
メモリ割当量９０３
ボトルネックＣＰＵ使用量検出閾値９０４
ボトルネックＣＰＵ使用量解消閾値９０５
ボトルネックメモリ使用量検出閾値９０６
ボトルネックメモリ使用量解消閾値９０７
ボトルネックトランザクション発生量検出閾値９０８
ボトルネックトランザクション発生量解消閾値９０９
シーリングポイント９１０（子プロセス生成指示値）
図９では、Ｍｏｄｕｌｅ１およびＭｏｄｕｌｅ２の基本データが示されている。
【００４０】
図１０および図１１のモジュール毎統計データテーブルには、モジュール毎に、以下の項目のデータが格納される。
モジュール名１００１（モジュール識別情報）
取得間隔１００２（統計データを取得する時間間隔：可変）
取得時刻１００３
トランザクション発生量１００４
トランザクション処理量１００５
ＣＰＵ使用量１００６
ＣＰＵ割当量１００７
ＣＰＵ予測使用量１００８
メモリ使用量１００９
メモリ割当量１０１０
メモリ予測使用量１０１１
このうち、１００３〜１０１１の項目のデータは、取得時刻毎に繰り返し格納される。図１０および図１１では、Ｍｏｄｕｌｅ１の統計データが１０分毎に取得されており、２００３年３月１日の５つの時刻のデータが例示されている。
【００４１】
図１２および図１３のモジュール毎サイクル情報データテーブルには、モジュール毎に、以下の項目のデータが格納される。
モジュール名１２０１（モジュール識別情報）
サイクル期間１２０２
期間内間隔１２０３
時刻１２０４
トランザクション発生量１２０５
サイクル期間１３０１
期間内間隔１３０２
時刻１３０３
トランザクション発生量１３０４
このうち、１２０２〜１２０５の項目のデータは、サイクル期間１２０２により指定されるサイクル毎に繰り返し格納され、１２０４および１２０５の項目のデータは、さらに、期間内間隔１２０３により指定される時間間隔の時刻毎に繰り返し格納される。
【００４２】
また、１３０１〜１３０４の項目のデータは、複数のサイクルのデータを合成したデータを表し、サイクル期間１３０１としては、最も長いサイクル期間１２０２が設定され、期間内間隔１３０２としては、最も短いサイクル期間１２０２の期間内間隔１２０３が設定される。１３０３および１３０４の項目のデータは、期間内間隔１３０２により指定される時間間隔の時刻毎に繰り返し格納される。
【００４３】
図１２では、１日、１週間、および１ヶ月の各サイクルについて、期間内間隔の時刻毎にＭｏｄｕｌｅ１のトランザクション発生量が示されており、図１３では、１ヶ月分のトランザクション発生量の合成データが示されている。
【００４４】
図１４のモジュール毎資源予測データテーブルには、モジュール毎に、以下の項目のデータが格納される。
モジュール名１４０１（モジュール識別情報）
予測間隔１４０２（予測データの時間間隔：可変）
時刻１４０３
ＣＰＵ使用量予測１４０４
トランザクション発生量予測１４０５
このうち、１４０３〜１４０５の項目のデータは、予測間隔１４０２により指定される時間間隔の時刻毎に繰り返し格納される。図１４では、Ｍｏｄｕｌｅ１の資源予測データが１時間毎に生成されている。
【００４５】
資源調整装置は、まず、管理者からの指示に従って、図９のモジュール毎基本データテーブルのデータを設定する。次に、図１０および図１１のモジュール毎統計データテーブル内に、モジュール毎のトランザクション量（発生量・処理量）と、ＣＰＵおよびメモリの（使用量、割当量、予測使用量）を、取得間隔毎に蓄積する。以下の説明では、使用資源量としてＣＰＵ使用量に着目することにする。
【００４６】
次に、図３に示したように、過去のトランザクション発生量をサイクル（日、週、月等）毎に表示し、さらに平均値と最大値を計算して表示する。管理者がサイクル毎に平均値もしくは最大値を選択すると、選択された値を図１２のモジュール毎サイクル情報データテーブルに格納する。
【００４７】
その後、例えば、“月”のトランザクション発生量の推移に“週”や“日”のトランザクション発生量の推移を加味して合成することで、図４のような“月”のトランザクション発生量の推移を算出し、そのデータを図１３の合成データとして格納する。この合成データが、トランザクション発生量の予測データとなる。
【００４８】
なお、管理者は、合成データの生成に使用するサイクルの種類を選択することが可能であり、資源調整装置は、選択されたサイクルのトランザクション発生量のみを用いて合成データを生成する。例えば、管理者が“日”のサイクルのみを選択して“月”のトランザクション発生量の推移の予測を指示した場合、資源調整装置は、“日”のトランザクション発生量の推移を繰り返しコピーする等の方法で、“月”のトランザクション発生量の推移を合成する。
【００４９】
次に、モジュール毎統計データテーブル内の過去のトランザクション処理量とＣＰＵ使用量の関係から、図５および次式に示すような近似関数を求める。
（ＣＰＵ使用量）＝Ａ＊（トランザクション処理量）Ｂ＋Ｃ
次に、モジュール毎サイクル情報データテーブルに格納されている“月”の合成データにおけるトランザクション発生量を、近似関数のトランザクション処理量に代入して、“月”のＣＰＵ使用量の予測推移を計算する。
【００５０】
そして、図６に示したように、今後の予測されるＣＰＵ使用量をスケジューリングし、図１４のモジュール毎資源予測データテーブルにＣＰＵ使用量予測として格納する。また、予測されたトランザクション発生量は、トランザクション発生量予測としてモジュール毎資源予測データテーブルに格納される。その後、ＣＰＵ使用量予測のデータは、モジュール毎統計データテーブルのＣＰＵ予測使用量の項目に過去データとして書き込まれる。
【００５１】
また、モジュール毎統計データテーブルのＣＰＵ割当量は、ＣＰＵ使用量予測のデータを用いて算出され、通常は、ＣＰＵ割当量＝ＣＰＵ予測使用量（＝ＣＰＵ使用量予測）となる。
【００５２】
このような処理により、各サイクルを加味したモジュール毎の今後の使用資源量を的確に制限し、割当資源量を自動的に変動させることができる。したがって、システム全体の資源量を簡単に制御することが可能となる。
【００５３】
資源調整装置により計算された使用資源量のスケジュールにおいて、管理者は、過去の経験等から使用資源量の推移を変更することで、今後の資源量の制限に関する設定を柔軟に変更することができる。このような変更操作を許すことで、過去のサイクルだけからでは分からない資源量変動（例えば、企業の特別な日の使用資源量）に対しても、的確な制御を行うことができる。
【００５４】
例えば、図６が“月”のＣＰＵ使用量のスケジュールを示している場合、管理者は折れ線グラフを変形することで、モジュール毎にＣＰＵ使用量の予測値を変更することができる。変更結果は、図１４のモジュール毎資源予測データテーブルのＣＰＵ使用量予測として格納される。この場合、図１０および図１１のモジュール毎統計データテーブルの該当する取得時刻において、ＣＰＵ予測使用量≠ＣＰＵ割当量となる（例えば、図１０の２００３／３／１／１２：１０のデータ）。
【００５５】
また、資源調整装置は、直近のトランザクション発生量の測定値から直後のトランザクション発生量の予測値を求め、その予測値と近似関数を用いて直後の使用資源量を予測してもよい。これにより、より確実な今後の資源量の制限を自動的に設定することが可能となる。
【００５６】
上述の例では、今後のトランザクション発生量を予測しているが、過去のデータからでは計り知れない大量のトランザクションが突発的に発生することもある。そこで、資源調整装置は、直近（例えば、過去１時間）のトランザクション発生量を図１０および図１１のモジュール毎統計データテーブルから取得し、それを加味したトランザクション発生量の推移を生成する。
【００５７】
そして、上述の近似関数を、直近のトランザクション発生量を加味したトランザクション発生量の推移に当てはめ、直後（例えば、今後１時間）のＣＰＵ使用量を予測して、図１４のモジュール毎資源予測データテーブルのＣＰＵ使用量予測を書き換える。
【００５８】
このような予測方法によれば、直近のトランザクション発生量からより現時点に近い使用資源量を予測できるので、突発的にトランザクション発生量が増大した場合でも、的確な制御を行うことができる。
【００５９】
また、図９に示したように、モジュール毎に使用資源量割り当てのボトルネック検出閾値を設定しておけば、あるモジュールの使用資源量がその閾値に達したときに他のモジュールの資源を分け与えることができる。この処理は、使用資源量がボトルネック解消閾値に達するまで継続される。
【００６０】
このように、使用資源量が一定値に達したモジュールに対して資源を優先的に割り当てることで、ボトルネックを回避することができる。これにより、例えば、アプリケーションの極端なレスポンス遅延が防止され、システム全体の資源量が有効に活用される。
【００６１】
一例として、図１０および図１１のモジュール毎統計データテーブルにおいて、Ｍｏｄｕｌｅ１の直前のＣＰＵ使用量が、図９のモジュール毎基本データテーブル内のボトルネックＣＰＵ使用量検出閾値（６０％）に達した場合（２００３／３／１／１５：００）について説明する。この場合、資源調整装置は、図１４のモジュール毎資源予測データテーブルを書き換えることにより、Ｍｏｄｕｌｅ１の今後のＣＰＵ使用量予測を大きく設定し（例えば、８０％）、他のモジュールのＣＰＵ使用量予測を小さく設定する（例えば、２０％）。
【００６２】
その後、Ｍｏｄｕｌｅ１のＣＰＵ使用量が、モジュール毎基本データテーブル内のボトルネックＣＰＵ使用量解消閾値（４０％）に達すると（２００３／３／１／１８：００）、モジュール毎資源予測データテーブルの各モジュールのＣＰＵ使用量予測を元に戻す。
【００６３】
この例では、ボトルネックＣＰＵ使用量検出閾値およびボトルネックＣＰＵ使用量解消閾値を用いてボトルネック対策を行っているが、ＣＰＵ使用量が増大しても、トランザクション発生量とトランザクション処理量がほぼ同じであれば、ボトルネック対策を行う必要はない。
【００６４】
このように、あるモジュールが割当資源量を使い切っている場合でも、必ずしも資源が不足しているとは限らないので、使用資源量割り当てのボトルネック検出閾値を用いているだけでは、本当に他のモジュールの資源を分け与える必要があるかどうかが分からない。
【００６５】
そこで、ボトルネック検出閾値およびボトルネック解消閾値として、トランザクション発生量（例えば、処理待ち行列の長さ）を用いることが考えられる。例えば、処理待ち行列の長さを閾値として用いることで、本当に資源が不足している状況を検出することができ、緊急時の資源割り当てが可能となる。これにより、モジュールの処理の停滞が発生するまでは、他のモジュールの資源を奪わずにシステム運用を続けることができ、システム全体の資源量が有効に活用される。
【００６６】
一例として、図１０および図１１のモジュール毎統計データテーブルにおいて、Ｍｏｄｕｌｅ１の直前のトランザクション発生量が、図９のモジュール毎基本データテーブル内のボトルネックトランザクション発生量検出閾値（５００）に達した場合（２００３／３／１／１５：００）について説明する。この場合、資源調整装置は、図１４のモジュール毎資源予測データテーブルを書き換えることにより、Ｍｏｄｕｌｅ１の今後のＣＰＵ使用量予測を大きく設定し（例えば、８０％）、他のモジュールのＣＰＵ使用量予測を小さく設定する（例えば、２０％）。
【００６７】
その後、Ｍｏｄｕｌｅ１のトランザクション発生量が、モジュール毎基本データテーブル内のボトルネックトランザクション発生量解消閾値（３００）に達すると（２００３／３／１／１８：００）、モジュール毎資源予測データテーブルの各モジュールのＣＰＵ使用量予測を元に戻す。
【００６８】
モジュール毎基本データテーブル内のボトルネックＣＰＵ使用量検出／解消閾値とボトルネックトランザクション発生量検出／解消閾値を併用すると混乱を招くため、各モジュールの特性等を考慮して、いずれか一方を選択して使用することが望ましい。
【００６９】
また、図８に示したように、資源調整装置は、全モジュールの長期的な（未来の）合計需要を予測し、予測結果をグラフィカルユーザインタフェース（ＧＵＩ）の画面上に表示することで、管理者によるキャパシティプランニングを支援することができる。管理者は、提示された合計需要を参考にすることで、使用システムの構成変更等を適切に実行することが可能となる。
【００７０】
この場合、資源調整装置は、図１０および図１１のモジュール毎統計データテーブル内のトランザクション発生量を長期間（例えば、数ヶ月から１年間）にわたって取得し、その期間のトランザクション処理量と資源量（例えば、ＣＰＵ使用量）の関係を表す近似関数を生成する。
【００７１】
次に、取得したトランザクション発生量の推移を予測推移として用い、この予測推移に近似関数を適用して、今後の長期的な（例えば、１〜２年間）使用資源量を予測する。そして、全モジュールの予測結果を合計することでシステム全体の合計需要を算出して、管理者に提示する。
【００７２】
このように、キャパシティプランニング支援の場合は、トランザクション発生量の合成データの代わりに、長期間にわたって取得されたトランザクション発生量のデータがそのものを用いて予測が行われる。
【００７３】
また、資源調整装置は、あるモジュールの使用資源量の予測値が上昇した場合に、そのモジュール内のアプリケーションに対して子プロセス生成等を促す通知を行うこともできる。アプリケーションに対してこのような通知を行うことで、そのアプリケーションは、処理待ちのトランザクション量を削減するために敏速な対応を行うことが可能となる。
【００７４】
アプリケーションの中には、使用資源量をいくら与えても、プロセスの数が少ないためにトランザクション処理量が増えないようなポイントを持つものがある。そこで、そのポイントの使用資源量をシーリングポイントとして、図９のモジュール毎基本データテーブルに設定しておく。
【００７５】
そして、図１４のモジュール毎資源予測データテーブル内の該当モジュールの直近のＣＰＵ使用量予測が、モジュール毎基本データテーブル内のシーリングポイントに達した場合、資源調整装置は、該当モジュールへ子プロセス生成等の指示を与える。指示を受けたモジュールのアプリケーションが子プロセスを生成すれば、同時に処理できるトランザクションの数が増えるため、トランザクション処理量が増大する。
【００７６】
このような現象が発生するアプリケーションが複数ある場合、それらのアプリケーションの集合を１つのモジュールとして管理すれば、アプリケーションへの通知を効率よく行うことができる。
【００７７】
以上説明した実施形態では、主としてＣＰＵを資源として扱っているが、本発明の資源調整方法は、メモリ、ディスク領域、データ転送帯域幅等を含む任意のコンピュータ資源に対して適用可能である。
【００７８】
ところで、図１の資源調整装置は、例えば、図１５に示すような情報処理装置（コンピュータ）を用いて構成することができる。図１５の情報処理装置は、ＣＰＵ（中央処理装置）１５０１、メモリ１５０２、入力装置１５０３、出力装置１５０４、外部記憶装置１５０５、媒体駆動装置１５０６、ネットワーク接続装置１５０７を備え、それらはバス１５０８により互いに接続されている。
【００７９】
メモリ１５０２は、例えば、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）等を含み、処理に用いられるプログラムおよびデータを格納する。ＣＰＵ１５０１は、メモリ１５０２を利用してプログラムを実行することにより、必要な処理を行う。図９から図１４までに示した各種のテーブルは、メモリ１５０２に格納されたデータに対応する。
【００８０】
入力装置１５０３は、例えば、キーボード、ポインティングデバイス、タッチパネル等であり、オペレータからの指示や情報の入力に用いられる。出力装置１５０４は、例えば、ディスプレイ、プリンタ、スピーカ等であり、オペレータへの問い合わせや処理結果の出力に用いられる。
【００８１】
外部記憶装置１５０５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。情報処理装置は、この外部記憶装置１５０５に、上記プログラムおよびデータを格納しておき、必要に応じて、それらをメモリ１５０２にロードして使用する。外部記憶装置１５０５は、図９から図１４までに示した各種のテーブルを保存するためにも用いられる。
【００８２】
媒体駆動装置１５０６は、可搬記録媒体１５０９を駆動し、その記録内容にアクセスする。可搬記録媒体１５０９は、メモリカード、フレキシブルディスク、ＣＤ−ＲＯＭ（ｃｏｍｐａｃｔ  ｄｉｓｋ  ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ  ）、光ディスク、光磁気ディスク等の任意のコンピュータ読み取り可能な記録媒体である。オペレータは、この可搬記録媒体１５０９に上記プログラムおよびデータを格納しておき、必要に応じて、それらをメモリ１５０２にロードして使用する。
【００８３】
ネットワーク接続装置１５０７は、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、インターネット等の任意の通信ネットワークに接続され、通信に伴うデータ変換を行う。情報処理装置は、必要に応じて、上記プログラムおよびデータを外部の装置からネットワーク接続装置１５０７を介して受け取り、それらをメモリ１５０２にロードして使用する。
【００８４】
図１６は、図１５の情報処理装置にプログラムおよびデータを供給することのできるコンピュータ読み取り可能な記録媒体を示している。可搬記録媒体１５０９やサーバ１６０１のデータベース１６０３に格納されたプログラムおよびデータは、情報処理装置１６０２のメモリ１５０２にロードされる。サーバ１６０１は、そのプログラムおよびデータを搬送する搬送信号を生成し、ネットワーク上の任意の伝送媒体を介して情報処理装置１６０２に送信する。ＣＰＵ１５０１は、そのデータを用いてそのプログラムを実行し、必要な処理を行う。
【００８５】
（付記１）  １つ以上のアプリケーションプログラムからなるモジュールを複数有するシステムにおいて使用されるコンピュータ資源の量をモジュール毎に調整する資源調整装置であって、
複数のモジュールのそれぞれについて、過去のトランザクション発生量の推移を表すデータを格納する格納手段と、
前記格納手段から対象モジュールのトランザクション発生量の推移を表すデータを取得し、該対象モジュールの過去のトランザクション処理量と使用資源量の相関関係を表す関数におけるトランザクション処理量としてトランザクション発生量を用いることで、該対象モジュールのトランザクション発生量の推移から使用資源量の推移を生成する生成手段と、
生成された使用資源量の推移を予測される使用資源量の推移として用い、該予測される使用資源量の推移に従って、前記対象モジュールの割当資源量を自動的に変動させる割当手段と
を備えることを特徴とする資源調整装置。
【００８６】
（付記２）  １つ以上のアプリケーションプログラムからなるモジュールを複数有するシステムにおいて使用されるコンピュータ資源の量をモジュール毎に調整するコンピュータのためのプログラムであって、
複数のモジュールのそれぞれについて過去のトランザクション発生量の推移を表すデータを格納する格納手段から、対象モジュールのトランザクション発生量の推移を表すデータを取得し、
前記対象モジュールの過去のトランザクション処理量と使用資源量の相関関係を表す関数におけるトランザクション処理量としてトランザクション発生量を用いることで、前記対象モジュールのトランザクション発生量の推移から使用資源量の推移を生成し、
生成された使用資源量の推移を予測される使用資源量の推移として用い、該予測される使用資源量の推移に従って、前記対象モジュールの割当資源量を自動的に変動させる
処理を前記コンピュータに実行させることを特徴とするプログラム。
【００８７】
（付記３）  前記プログラムは、前記対象モジュールのトランザクション発生量の推移を表すデータから、複数種類のサイクルのそれぞれにおけるトランザクション発生量の推移を生成して画面上に表示し、オペレータからの指示に従って各サイクルにおけるトランザクション発生量の推移を合成することで、予測されるトランザクション発生量の推移を生成し、該予測されるトランザクション発生量の推移に前記関数を適用して前記使用資源量の推移を生成する処理を前記コンピュータに実行させることを特徴とする付記２記載のプログラム。
【００８８】
（付記４）  前記プログラムは、前記複数種類のサイクルのそれぞれにおいて、前記システム内の２つ以上のモジュールに関するトランザクション発生量の平均値および最大値の推移を生成して前記画面上に表示し、前記オペレータが選択した値を用いて各サイクルにおけるトランザクション発生量の推移を合成することで、前記予測されるトランザクション発生量の推移を生成する処理を前記コンピュータに実行させることを特徴とする付記３記載のプログラム。
【００８９】
（付記５）  前記プログラムは、前記生成された使用資源量の推移を画面上に表示し、オペレータが表示された使用資源量の推移を変更したとき、変更された使用資源量の推移を前記予測される使用資源量の推移として用いる処理を前記コンピュータに実行させることを特徴とする付記２記載のプログラム。
【００９０】
（付記６）  前記プログラムは、前記格納手段から前記対象モジュールの直近のトランザクション発生量の推移を表すデータを取得し、該直近のトランザクション発生量の推移から生成された使用資源量の推移を直後の予測される使用資源量の推移として用いて、該対象モジュールの直後の割当資源量を変動させる処理を前記コンピュータに実行させることを特徴とする付記２記載のプログラム。
【００９１】
（付記７）  前記プログラムは、前記対象モジュールの使用資源量があらかじめ決められたボトルネック検出閾値に達したときから、該対象モジュールの使用資源量があらかじめ決められたボトルネック解消閾値に達するまでの間、該対象モジュールに優先的に資源を割り当てる処理を前記コンピュータに実行させることを特徴とする付記２記載のプログラム。
【００９２】
（付記８）  前記プログラムは、前記対象モジュールのトランザクション発生量があらかじめ決められたボトルネック検出閾値に達したときから、該対象モジュールのトランザクション発生量があらかじめ決められたボトルネック解消閾値に達するまでの間、該対象モジュールに優先的に資源を割り当てる処理を前記コンピュータに実行させることを特徴とする付記２記載のプログラム。
【００９３】
（付記９）  前記プログラムは、前記対象モジュールの予測される使用資源量があらかじめ決められた値に達したとき、該対象モジュールに対して子プロセスの生成を指示する処理を前記コンピュータに実行させることを特徴とする付記２記載のプログラム。
【００９４】
（付記１０）  前記プログラムは、長期間にわたって予測される使用資源量の推移を含むキャパシティプランニング支援のための画面を表示する処理を前記コンピュータに実行させることを特徴とする付記２記載のプログラム。
【００９５】
（付記１１）  １つ以上のアプリケーションプログラムからなるモジュールを複数有するシステムにおいて使用されるコンピュータ資源の量をモジュール毎に調整するコンピュータのためのプログラムを記録した記録媒体であって、該プログラムは、
複数のモジュールのそれぞれについて過去のトランザクション発生量の推移を表すデータを格納する格納手段から、対象モジュールのトランザクション発生量の推移を表すデータを取得し、
前記対象モジュールの過去のトランザクション処理量と使用資源量の相関関係を表す関数におけるトランザクション処理量としてトランザクション発生量を用いることで、前記対象モジュールのトランザクション発生量の推移から使用資源量の推移を生成し、
生成された使用資源量の推移を予測される使用資源量の推移として用い、該予測される使用資源量の推移に従って、前記対象モジュールの割当資源量を自動的に変動させる
処理を前記コンピュータに実行させることを特徴とするコンピュータ読み取り可能な記録媒体。
【００９６】
（付記１２）  １つ以上のアプリケーションプログラムからなるモジュールを複数有するシステムにおいて使用されるコンピュータ資源の量をモジュール毎に調整するコンピュータのためのプログラムを搬送する搬送信号であって、該プログラムは、
複数のモジュールのそれぞれについて過去のトランザクション発生量の推移を表すデータを格納する格納手段から、対象モジュールのトランザクション発生量の推移を表すデータを取得し、
前記対象モジュールの過去のトランザクション処理量と使用資源量の相関関係を表す関数におけるトランザクション処理量としてトランザクション発生量を用いることで、前記対象モジュールのトランザクション発生量の推移から使用資源量の推移を生成し、
生成された使用資源量の推移を予測される使用資源量の推移として用い、該予測される使用資源量の推移に従って、前記対象モジュールの割当資源量を自動的に変動させる
処理を前記コンピュータに実行させることを特徴とする搬送信号。
【００９７】
（付記１３）  １つ以上のアプリケーションプログラムからなるモジュールを複数有するシステムにおいて使用されるコンピュータ資源の量をモジュール毎に調整する資源調整方法であって、
生成手段が、複数のモジュールのそれぞれについて過去のトランザクション発生量の推移を表すデータを格納する格納手段から、対象モジュールのトランザクション発生量の推移を表すデータを取得し、
前記生成手段が、前記対象モジュールの過去のトランザクション処理量と使用資源量の相関関係を表す関数におけるトランザクション処理量としてトランザクション発生量を用いることで、前記対象モジュールのトランザクション発生量の推移から使用資源量の推移を生成し、
割当手段が、生成された使用資源量の推移を予測される使用資源量の推移として用い、該予測される使用資源量の推移に従って、前記対象モジュールの割当資源量を自動的に変動させる
ことを特徴とする資源調整方法。
【００９８】
【発明の効果】
本発明によれば、トランザクション発生量の測定値から今後の使用資源量を予測することで、モジュール毎の使用資源量の制限を自律的かつ的確に変動させることができる。
【図面の簡単な説明】
【図１】本発明の資源調整装置の原理図である。
【図２】監視運用モードの処理のフローチャートである。
【図３】過去のトランザクション発生量の推移を示す図である。
【図４】今後のトランザクション発生量の推移を示す図である。
【図５】近似関数を示す図である。
【図６】使用資源量のスケジュールを示す図である。
【図７】自律運用モードの処理のフローチャートである。
【図８】キャパシティプランニング支援を示す図である。
【図９】モジュール毎基本データテーブルを示す図である。
【図１０】モジュール毎統計データテーブルを示す図（その１）である。
【図１１】モジュール毎統計データテーブルを示す図（その２）である。
【図１２】モジュール毎サイクル情報データテーブルを示す図（その１）である。
【図１３】モジュール毎サイクル情報データテーブルを示す図（その２）である。
【図１４】モジュール毎資源予測データテーブルを示す図である。
【図１５】情報処理装置の構成図である。
【図１６】記録媒体を示す図である。
【図１７】モジュールを示す図である。
【符号の説明】
１０１  格納手段
１０２  生成手段
１０３  割当手段
３０１、３０２、３０３、３０４、３０５、６０１、６０２、６０３  折れ線グラフ
３０６、６０４  ＯＫボタン
８０１、８０２、８０３  曲線
９０１、１００１、１２０１、１４０１  モジュール名
９０２、１００７  ＣＰＵ割当量
９０３、１０１０  メモリ割当量
９０４  ボトルネックＣＰＵ使用量検出閾値
９０５  ボトルネックＣＰＵ使用量解消閾値
９０６  ボトルネックメモリ使用量検出閾値
９０７  ボトルネックメモリ使用量解消閾値
９０８  ボトルネックトランザクション発生量検出閾値
９０９  ボトルネックトランザクション発生量解消閾値
９１０  シーリングポイント
１００２  取得間隔
１００３  取得時刻
１００４、１２０５、１３０４  トランザクション発生量
１００５  トランザクション処理量
１００６  ＣＰＵ使用量
１００８  ＣＰＵ予測使用量
１００９  メモリ使用量
１０１１  メモリ予測使用量
１２０２、１３０１  サイクル期間
１２０３、１３０２  期間内間隔
１２０４、１３０３、１４０３  時刻
１４０２  予測間隔
１４０４  ＣＰＵ使用量予測
１４０５  トランザクション発生量予測
１５０１  ＣＰＵ
１５０２  メモリ
１５０３  入力装置
１５０４  出力装置
１５０５  外部記憶装置
１５０６  媒体駆動装置
１５０７  ネットワーク接続装置
１５０８  バス
１５０９  可搬記録媒体
１６０１  サーバ
１６０２  情報処理装置
１６０３  データベース
【図１】
2004318474.tif 000003
【図２】
2004318474.tif 000004
【図３】
2004318474.tif 000005
【図４】
2004318474.tif 000006
【図５】
2004318474.tif 000007
【図６】
2004318474.tif 000008
【図７】
2004318474.tif 000009
【図８】
2004318474.tif 000010
【図９】
2004318474.tif 000011
【図１０】
2004318474.tif 000012
【図１１】
2004318474.tif 000013
【図１２】
2004318474.tif 000014
【図１３】
2004318474.tif 000015
【図１４】
2004318474.tif 000016
【図１５】
2004318474.tif 000017
【図１６】
2004318474.tif 000018
【図１７】
2004318474.tif 000019