(57)【要約】【課題】必要な処理性能を持つコンピュータのシステム構成の中の価格が最小となるものを自動的かつ短時間で決定する。【解決手段】システム構成を、４つのパラメータ、（ＣＰＵ性能、ＣＰＵ性能、主記憶容量、Ｉ／Ｏ処理速度）で表現し、トランザクション処理の応答時間に関する一定の制約条件のもとで、価格が最小となる４つのパラメータを、ラグランジュの未定乗数法等による数値解法を利用して導出する。一方で、システムが有するＣＰＵの１つが同時に実行できるジョブ数も最適化する。図示例では、応答時間がＡ以上である確率がＢ以下であるシステム構成で価格が最小となる構成を導出している。【選択図】　　　図３
2004030292.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムへの処理要求発生頻度とコンピュータのシステム構成とから処理要求を出してからその処理が終了するまでの応答時間を予測し、システム構成からその価格を計算し、与えられた応答時間Ａと処理要求全体に対してその応答時間がＡ以上となる処理の確率として与えられた確率Ｂとに対して、確率がＢ以下となるシステム構成のうち、最も安価なシステム構成を導出することを特徴とするシステム構成導出方法。
【請求項２】
コンピュータシステムへの処理要求発生頻度とコンピュータのシステム構成とから処理要求を出してからその処理が終了するまでの応答時間を予測し、システム構成からその価格を計算し、与えられた応答時間Ｃと処理要求全体に対してその応答時間がＣ以下となる処理の確率として与えられた確率Ｄとに対して、確率がＤ以上となるシステム構成のうち、最も安価なシステム構成を導出することを特徴とするシステム構成導出方法。
【請求項３】
コンピュータシステム構成から応答時間を予測し、システム構成からその価格を計算し、処理要求を出してからその処理が終了するまでの応答時間として与えられた応答時間Ａ、処理要求全体に対してその応答時間がＡ以上となる処理の確率として与えられた確率Ｂ及びジョブの処理要求の到着率Ｅに対して、応答時間がＡ以上である確率がＢ以下であるシステム構成のうち、最も安価なシステム構成を導出することを特徴とするシステム構成導出方法。
【請求項４】
コンピュータシステムへの処理要求発生頻度とコンピュータのシステム構成とから処理要求を出してからその処理が終了するまでの応答時間を予測し、システム構成からその価格を計算し、与えられた応答時間Ａと処理要求全体に対してその応答時間がＡ以上となる処理の確率Ｂとに対して、確率がＢ以下となるシステム構成のうち、最も安価なシステム構成を導出し、導出された結果に基づいて、動的にシステム構成を変更することを特徴とするシステム構成導出方法。
【請求項５】
前記動的なシステム構成の変更は、予備のシステム構成要素を起動あるいは停止させることにより行われることを特徴とする請求項４記載のシステム構成導出方法。
【請求項６】
コンピュータシステムへの処理要求発生頻度とコンピュータのシステム構成とから処理要求を出してからその処理が終了するまでの応答時間を予測する手段と、システム構成からその価格を計算する手段と、与えられた応答時間Ａと、処理要求全体に対してその応答時間がＡ以上となる処理の確率として与えられた確率Ｂとに対して、応答時間がＡ以上である確率がＢ以下となるシステム構成のうち、最も安価なシステム構成を導出する手段とを備えたことを特徴とするシステム構成導出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータのシステム構成導出方法及び装置に係り、特に、トランザクション処理に対して一定の処理性能を保証するコンピュータのシステム構成を決定するコンピュータのシステム構成導出方法及び装置に関する。
【０００２】
【従来の技術】
一般に、コンピュータシステムによるトランザクション処理において、システムに処理要求を出してから、その処理が終了するまでの時間（応答時間）が許容できる範囲にあることが必要とされることが多い。
【０００３】
このため、処理の応答時間を予測するための理論として、例えば、待ち行列理論が知られており、この理論を用いて、平均サービス時間及び処理要求の到着率から平均応答時間を予測することがよく行われている。
【０００４】
通常、コンピュータの性能設計（キャパシティプランニング）は、その技術分野の専門家が、経験に基づく知識及び待ち行列理論等の理論を利用して、要求される性能条件を満たすシステム構成を選び出して行われている。
【０００５】
【発明が解決しようとする課題】
前述した従来技術による方法は、使用者が要求する一定の性能を保証するシステムを構成することは可能であっても、一定の性能を保証するシステムのうち価格が最小となるものを選び出すことが難しく、可能であっても膨大な時間と労力とを必要としてしまうという問題点を有している。
【０００６】
この理由は、一般に、一定の性能を実現するシステム構成の導出に当たって、ＣＰＵの処理性能、ＣＰＵ数、主記憶容量、Ｉ／Ｏ処理速度等の組み合わせを考慮する必要があるが、この組み合わせが非常に多くあるためである。特に、一定の応答時間を保証する必要のあるシステムの場合、応答時間が大きくなった場合のシステム性能改善対策は早急に行われる必要があり、短時間で最適システム構成を導出することが要求されるが、前述の従来技術は、このような要求に対応することができないという問題点を有している。
【０００７】
また、応答時間に条件を与えて、一定の性能を保証する場合、単位時間当りの要求到着数が平均到着数を中心として変動することを考慮すると、平均応答時間に制約を与えるよりも、応答時間が一定値以上になる確率に制約を与える方が適切である。この理由は、平均応答時間が小さい場合でも、許容できない応答時間が許容できない頻度で起こり得るからからである。前述した従来技術は、このような点について配慮されていない。
【０００８】
本発明の目的は、前述した従来技術の問題点を解決し、必要な処理性能を持つコンピュータのシステム構成の価格が最小となるものを自動的かつ短時間で決定することができるコンピュータのシステム構成導出方法及び装置を提供することにある。
【０００９】
【課題を解決するための手段】
本発明によれば前記目的は、コンピュータシステムへの処理要求発生頻度とコンピュータのシステム構成とから処理要求を出してからその処理が終了するまでの応答時間を予測し、システム構成からその価格を計算し、与えられた応答時間Ａと処理要求全体に対してその応答時間がＡ以上となる処理の確率として与えられた確率Ｂとに対して、確率がＢ以下となるシステム構成のうち、最も安価なシステム構成を導出することにより達成される。
【００１０】
すなわち、本発明は、待ち行列理論に基づく応答時間の予測方法を応用し、性能保証対象のコンピュータシステムで実行されるジョブの性質を表わすジョブデータ、処理要求の到着率、及び、そのシステムのＣＰＵ性能、メモリ容量等のシステム構成要素のデータから処理要求の応答時間を予測する機能と、システム構成要素の価格テーブルからシステム構成の価格を計算する機能とを有し、前述の２つの機能を協働させることにより、「処理要求を出してからその処理が終了するまでの応答時間がＡ以上となる処理の確率をＢ以下にする」という指定方法で、一定の処理性能を保証し、かつ、その性能を実現するシステムの中で、価格が最小となるコンピュータシステムのシステム構成（最適システム構成）を、短時間で導出することを可能としている。
【００１１】
前述したような最適システム構成の導出は、応答時間が一定値以上である確率及びシステムの合計価格を、システム構成を決定するパラメタセットである、ＣＰＵ処理性能、ＣＰＵ数、メモリ容量等の関数としてとらえ、応答時間の値が一定値以上となるシステムパラメータ空間の部分空間、あるいは、部分集合の中から、価格関数が最小となるパラメータを決めることにより実現している。
【００１２】
【発明の実施の形態】
以下、本発明によるコンピュータのシステム構成導出方法及び装置の実施形態を図面により詳細に説明する。
【００１３】
図１は本発明の第１の実施形態によるコンピュータのシステム構成導出装置を含む構成導出システムの構成を示すブロック図である。図１において、１０１は構成導出装置、１０２は構成導出部、１０３は価格計算部、１０４は応答時間計算部、１０５は価格データ記憶装置、１０６はシステム構成記憶装置、１０７はジョブデータ記憶装置、１０８は到着率記憶装置、１０９は性能保証対象コンピュータ群、１１０は性能保証対象コンピュータ、１１１は性能測定装置、１１２はシステム構成データ、１１３は監視サーバ、１１４は入力装置、１１５は出力装置、１１６はネットワークである。
【００１４】
図１に示す構成導出システムは、構成導出装置１０１と、監視サーバ１１３と、１または複数の性能保証対象コンピュータ１１０による性能保証対象コンピュータ群１０９とがネットワーク１１６を介して接続されて構成それる。構成導出装置１０１は、構成導出部１０２、価格データ記憶装置１０５、システム構成記憶装置１０６、ジョブデータ記憶装置１０７、及び、到着率記憶装置１０８を含んで構成され、構成導出部１０２は、価格計算部１０３及び応答時間計算部１０４を含んで構成される。また、構成導出装置１０１は、入力装置１１４及び出力装置１１５に結合されている。
【００１５】
性能保証対象コンピュータ群１０９を構成する各性能保証対象コンピュータ１１０は、トランザクション処理を行うコンピュータシステムであり、到着する処理要求に対してトランザクション処理を行っている。性能保証対象コンピュータ群１０９のそれぞれの性能保証対象コンピュータ１１０は、システム性能測定装置１１１とシステム構成データ１１２とを含んで構成されている。
【００１６】
性能保証対象コンピュータ１１０内の性能測定装置１１１は、ジョブ実行によって参照される仮想記憶方式における仮想ページの識別子（仮想ページ番号）を時間順に記録した情報（以下、仮想ページ参照経路データ）、ジョブ実行におけるＣＰＵ処理時間、ページング処理以外のＩ／Ｏ処理時間を測定している。また、システム構成データ１１２は、図６により後述するように、ＣＰＵの処理性能、ＣＰＵ数、主記憶容量、Ｉ／Ｏ処理速度、及び、仮想ページ１ページ当たりのページング時間の情報を有している。
【００１７】
監視サーバ１１３は、ネットワーク１１６を介して接続されている各性能保証対象コンピュータ１１０から、そのシステムのシステム構成データ１１２、性能測定装置１１１が出力する仮想ページ参照経路データ、１回のジョブ実行に要するＣＰＵ処理時間データ、Ｉ／Ｏ処理時間データを収集し、そのデータを構成導出装置１０１に転送する。また、監視サーバ１１３は、一定の間隔で、各性能保証対象コンピュータへの単位時間当たりの処理要求数（到着率）を測定し、到着率データを構成導出装置１０１に転送する。
【００１８】
構成導出装置１０１は、一定の間隔で監視サーバ１１３から転送される到着率データを受信し、到着率記憶装置１０８に記憶させている。
【００１９】
構成導出部１０２は、価格計算部１０３と応答時間計算部１０４とを含み、価格計算部１０３の機能と応答時間計算部１０４の機能とを協働させることによって、最適なコンピュータのシステム構成を導出する。なお、構成導出部１０２の処理の詳細は図３に示すフローにより後述する。
【００２０】
図７は価格データ記憶装置１０５に格納されている価格データの構成を説明する図である。価格データ記憶装置１０５に格納される価格データは、システム構成要素の性能と対応する価格の情報であり、ＣＰＵ価格データ７０１、主記憶装置価格データ７０２、及び、補助記憶装置価格データ７０３の各テーブルから成る。ＣＰＵ価格データ７０１は、ＣＰＵの性能７０４とその価格７０５とにより構成され、、主記憶装置価格データ７０２は、主記憶装置の容量７０６とその価格７０７とにより構成され、補助記憶装置価格データ７０３は、補助記憶装置のＩ／Ｏ処理速度７０８とその価格７０９とにより構成される。
【００２１】
価格データ記憶装置１０５に格納されるシステム構成要素の性能とその価格とは、入力装置１１４から入力により、追加、削除、及び、変更することができる。また、説明している本発明の実施形態では、説明を簡単にするため、補助記憶容量は、全て充分な容量があるとし、容量による価格の違いを考慮しないこととする。
【００２２】
図６はシステム構成記憶装置１０６に格納されているシステム構成データの構成を説明する図である。システム構成データは、各性能保証対象コンピュータ１１０毎にシステム構成記憶装置１０６に格納されている。
【００２３】
図６に示すコンピュータシステム１のシステム構成データ６０１は、ＣＰＵ数６０２、ＣＰＵ処理性能６０３、主記憶容量６０４、Ｉ／Ｏ処理速度６０５、及び、１ページ当たりのページング時間６０６により構成される。ページング時間は６０６は、仮想記憶方式の主記憶制御におけるページインまたはページアウトに要する１ページ当たりの平均時間で、ここでは、説明を簡単にするため、ページインとページアウトとに要する時間の違いを考慮しないこととする。
【００２４】
前述のシステム構成データ６０１は、監視サーバ１１３が各性能保証対象コンピュータ１１０から採取し、構成導出装置１０１に転送され、構成導出装置１０１がシステム構成記憶装置１０６に記憶している。
【００２５】
ジョブデータ記憶装置１０７は、各性能保証対象コンピュータ１１０で実行されるジョブに係るデータ（ジョブデータ）を記憶している。ジョブデータは、監視サーバ１１３が性能保証対象コンピュータ１１０から採取し、構成導出装置１０１に転送され、構成導出装置１０１が、ジョブデータ記憶装置１０７に記憶している。
【００２６】
図２はジョブデータ記憶装置１０７に格納されているジョブデータの構成を説明する図である。ジョブデータ２０１は、仮想ページ参照経路データ２０２とＣＰＵ・Ｉ／Ｏ処理量データ２０３とにより構成される。
【００２７】
ＣＰＵ・Ｉ／Ｏ処理量データ２０３は、１回のジョブ実行に要するＣＰＵ処理時間とＣＰＵ処理速度との積であるＣＰＵ処理量２０４、及び、同時実行ジョブ数が１の場合に、１回のジョブ実行におけるＩ／Ｏ処理時間とＩ／Ｏ処理速度との積であるＩ／Ｏ処理量２０５により構成される。
【００２８】
ＣＰＵ・Ｉ／Ｏ処理量データ２０３は、図１におけるシステム構成記憶装置１０６が有するシステム構成データのＣＰＵ処理性能の値とＩ／Ｏ処理速度の値とを用い、また、監視サーバ１１３から受信したＣＰＵ・Ｉ／Ｏ処理時間データを用いることにより算出することができる。
【００２９】
仮想ページ参照経路データ２０２は、仮想記憶で参照した仮想ページ番号２０７を時間の経過に沿って参照順番号２０６に対応させて記録したデータ（仮想ページ参照経路データ）であり、参照された仮想ページについて、ページ内容の変更があったか否かを変更フラグ２０８で記録している。仮想ページ参照経路データ２０２とＣＰＵ・Ｉ／Ｏ処理量データ２０３とは、ジョブを特定する各ジョブ識別子のそれぞれについて、それぞれ１要素が設けられる。
【００３０】
構成導出部１０２は、指定した性能保証対象コンピュータ１１０において、指定したジョブのトランザクション処理について、処理要求を出してからその処理が終了するまでの応答時間がＡ以上となる処理の処理要求全体に対する確率がＢ以下であるシステム構成で、価格が最小となるものを導出する機能を有する。以後、記号Ａをトランザクションの応答時間、記号Ｂを応答時間がＡ以上になる確率として用いる。
【００３１】
説明している本発明の実施形態は、トランザクション処理中のコンピュータシステムからジョブデータを採取して、目的の最適システム構成を導出している。しかしながら、構成導出装置１０２が機能するためには、入力としてのジョブデータさえあればよく、本発明は、既に稼動しているコンピュータシステムの性能を改善するためだけでなく、初めてシステムを構築する場合にも適用することができる。
【００３２】
図３は構成導出部１０２の処理動作を説明するフローチャートであり、次に、これについて説明する。
【００３３】
（１）構成導出部１０２は、始めに、入力装置１１４から、システム識別子、ジョブ識別子を読み込むと共に、性能保証対象１０９の各性能保証対象コンピュータ、例えば、性能保証対象コンピュータ１１０に対して設定される２つの値、すなわち、トランザクションの応答時間Ａと、トランザクションの処理時間が応答時間Ａを越える確率Ｂとを読み込む（ステップＳ３０１）。
【００３４】
（２）構成導出部１０２は、次に、性能保証対象のジョブに対応するジョブデータをジョブデータ記憶装置１０７から読み込む（ステップＳ３０２）。
【００３５】
（３）構成導出装置１０１は、監視サーバ１１３が各性能保証対象コンピュータ１１０から採取した構成導出装置１０１に転送するためのシステム構成データを読み込み、そのデータをシステム構成記憶装置１０６に記憶する（ステップＳ３０３）。
【００３６】
（４）構成導出部１０２は、図２に示すジョブデータの仮想ページ参照経路データを利用し、参照されたページが再度参照されるまでに参照される他の異なる仮想ページの数を確率変数とした、仮想ページ参照間隔確率分布を計算する。この計算方法について後述する（ステップＳ３０４）。
【００３７】
（５）構成導出装置１０１は、監視サーバ１１３が性能保証対象コンピュータ１１０から採取し構成導出装置１０１に転送するための性能保証対象コンピュータにおけるジョブ処理要求の発生率（到着率）を到着率記憶装置１０８から読み込む（ステップＳ３０５）。
【００３８】
（６）そして、構成導出部１０２は、価格データ記憶装置１０７から読み出した価格データから価格関数を導出する。この導出方法については、後述する（ステップＳ３０６）。
【００３９】
（７）トランザクションの処理時間が応答時間Ａを越える確率が確率Ｂ以下であるシステム構成で、価格が最小となるもの（最適解）を、ラグランジュの未定乗数法を使った数値解法により算出する。この最適解導出の詳細については、後述する（ステップＳ３０７）。
【００４０】
（８）構成導出部１０２は、ステップＳ３０７の処理で最適解が見つかったか否かを判定し、見つからなかった場合、ここでの処理を終了する（ステップＳ３０８、Ｓ３１１）。
【００４１】
（９）ステップＳ３０８の判定で、最適解が見つかった場合、応答時間がＡ以上である確率を計算する（ステップＳ３０９）。
【００４２】
（１０）最適化されたシステム構成パラメータセットとその価格及び応答時間がＡ以上である確率を出力装置１１５に出力して、ここでの処理を終了する（ステップＳ３１０、Ｓ３１１）。
【００４３】
図４は図３のステップＳ３０４での仮想ページ参照間隔確率分布計算部の処理動作を説明するフローチャートであり、次に、これについて説明する。ここで、仮想ページ参照間隔確率と呼んでいる確率は、英語では、“Ｄｉｓｔａｎｃｅ　Ｐｒｏｂａｂｉｌｉｔｙ”と呼ばれているものである。後に詳述するが、図８のグラフ８０３は、参照間隔８０２と確率８０１との関係を表わした仮想ページ参照間隔確率分布の例である。
【００４４】
（１）ジョブデータ記憶装置１０７に格納される仮想ページ参照経路データ（図２の２０２）から、対応するジョブ識別子のデータを読み込む（ステップＳ４０１）。
【００４５】
（２）仮想ページ参照経路データを利用して、ページが参照されてから、最初に、再び同じページが参照されるまでに参照される、他の異なる仮想ページの数（参照間隔）を確率変数とする確率分布（仮想ページ参照間隔確率分布）を計算する（ステップＳ４０２）。
【００４６】
（３）ステップＳ４０２で算出した仮想ページ参照間隔確率分布を作業用記憶領域である一時記憶領域に記録する（ステップＳ４０３）。
【００４７】
図５は図３のステップ３０７での最適解導出の処理動作を説明するフローチャートであり、次に、これについて説明する。
【００４８】
（１）まず、変数“最低価格”に、設定できる最大の正の整数ＩＭＡＸ　（価格としてあり得ない大きな値）を設定する（ステップＳ５０１）。
【００４９】
（２）ＣＰＵ数ＮＣＰＵ　を１からＭＡＸＣＰＵ　（増設可能な最大ＣＰＵ数）まで、１ずつ増加させる。そして、ＮＣＰＵ　を設定するたびに、後述するステップＳ５０３からステップＳ５０９までの処理を実行する。ＮＣＰＵ　がＭＡＸＣＰＵ　より大きくなったら、後述のステップＳ５１０に移行する（Ｓ５０２）。
【００５０】
（３）最適なシステム構成パラメータセットの最適解を計算する。この計算方法については後述する（ステップＳ５０３）。
【００５１】
（４）ステップＳ５０３の処理で最適解が見つかったか否かを判定し、最適解が見つかった場合、価格データ記憶装置１０５内の価格データを用いてシステム構成パラメータセットを補正する。すなわち、ステップＳ５０３で得られたシステム構成パラメータセットに最も近い現実のパラメータセットを探索する。この探索方法については後述する。得られたパラメータセットは、仮システム構成パラメータセットとして設定される（ステップＳ５０４、Ｓ５０５）。
【００５２】
（５）ステップＳ５０５で計算された、システムパラメータセットにおける価格を計算し、計算した価格が変数“最低価格”の値以下か否かを判定する（ステップＳ５０６、Ｓ５０７）。
【００５３】
（６）ステップＳ５０７の判定で、計算した価格が変数“最低価格”の値以下であった場合、ステップＳ５０５で計算した価格を変数“最低価格”に設定し、そのときの仮システム構成パラメータセットを最適システム構成パラメータセットとして設定する（ステップＳ５０８）。
【００５４】
（７）ステップＳ５０４で最適解が見つからなかった場合、ステップＳ５０７で計算した価格が変数“最低価格”の値以下でなかった場合、また、ステップＳ５０８の処理の後、ＣＰＵ数ＮＣＰＵ　を１からＭＡＸＣＰＵ　までとして、全ての処理が終了したときに処理を終了する（ステップＳ５０９、Ｓ５１０）。
【００５５】
前述した処理において、変数“最低価格”の値がＩＭＡＸ　に一致していれば、最適解が存在していないことを意味する。
【００５６】
次に、応答時間がＡ以上である確率（Ｐ［ｔ＞Ａ］）を計算する処理動作について説明する。こことでは、説明を明確にするため、ユーザが利用できる主記憶領域でワーキングセットにない記憶領域は、全て利用可能フレーム（アベイラブルフレーム）群として、ＯＳによって管理されているものとする。
【００５７】
ワーキングセットは、各ジョブに固定的に割り当てられる主記憶領域である。ワーキングセットの大きさの設定及び変更は、例えば、一般的な汎用コンピュータＯＳを用いることにより容易に実施することができる。ページインは、参照するページがワーキングセットに無く、ページリクレイムができない場合に実行される。ページリクレイム機能は、仮想記憶方式のオペレーティングシステム（ＯＳ）が持つ機能として一般的である。
【００５８】
また、本発明の実施形態において、ジョブ実行におけるＣＰＵ使用時間及びＩ／Ｏ処理時間のデータは、ジョブが実行される際に、性能測定装置が測定することによって得ているが、必ずしも実際にジョブ実行が行われている必要はなく、ジョブに用いる実行プログラムからＣＰＵ処理量及びＩ／Ｏ処理量を予測することも可能である。
【００５９】
応答時間がＡ以上である確率（Ｐ［ｔ＞Ａ］）は、次の２つのステップで計算することができる。
【００６０】
ステップ１　　平均サービス時間の予測計算
要求された処理が始まってから終わるまでの時間（サービス時間）の確率分布は、数１として示す式（１）の１／μＮＪを平均サービス時間とする指数サービスとして求められる。
【００６１】
【数１】
2004030292.tif 000003
【００６２】
式（１）において、μＮＪは、ジョブ数ＮＪ　のジョブが同時実行される場合において、１つのＣＰＵが単位時間あたりに処理する処理要求数（サービス率）である。また、ＴＣＰＵ　は、対象ジョブを１回だけ処理するために必要とされるＣＰＵ処理時間である。ＣＰＵの処理性能がＳｏｌｄ　から、Ｓになることにより、ＴＣＰＵ　は、数２として示す式（２）のようにＳｏｌｄＳ−１ＴＣＰＵに変更される。
【００６３】
【数２】
2004030292.tif 000004
【００６４】
また、式（１）において、ＴＩ／Ｏ，ＮＪは、ジョブ数ＮＪ　のジョブが同時に処理されている場合において、Ｉ／Ｏ待ちによるジョブ実行１回当たりのＣＰＵの待ち時間である。Ｉ／Ｏ待ち時間ＴＩ／Ｏ，ＮＪは、ページングによるＩ／Ｏ時間を含まない。さらに、ＴＩ／Ｏ，ＮＪは、同時実行ジョブ数が１である場合の１回のジョブ実行におけるＩ／Ｏ処理率ＲＩ／Ｏを示す数３として示す式（３）、及び、式（３）から求められる数４として示す式（４）から予測計算することができる。
【００６５】
【数３】
2004030292.tif 000005
【数４】
2004030292.tif 000006
【００６６】
Ｉ／Ｏ構成の変更により、Ｉ／Ｏ処理速度がＩｏｌｄ　からＩに変更されることによって、ＴＩ／Ｏ　は、数５として示す式（５）のように、ＩｏｌｄＩ−１ＴＩ／Ｏに変更される。
【００６７】
【数５】
2004030292.tif 000007
【００６８】
さらに、前述の式（１）において、Ｔｐａｇｉｎｇ，ＮＪ　は、ジョブ数ＮＪ　のジョブが同時に処理されている場合のページングによるＩ／Ｏ時間である。この計算手順については後に詳述する。
【００６９】
ステップ２　　応答時間がＡ以上である確率（Ｐ［ｔ＞Ａ］）の計算
説明している本発明の実施形態は、１つのＣＰＵが、マルチプログラミングによって、ジョブ数ＮＪの複数ジョブを同時実行することができる。そして、ここでは、待ち行列理論を適用するため、ＣＰＵ数ＮＣＰＵ　、同時実行可能なジョブ数ＮＪ　のシステムを、ＣＰＵ数ＮＣＰＵ　、サービス率μＮＪのシステムとみなして予測計算する。
【００７０】
実際には、同時実行可能なジョブ数ＮＪ　が１より大きく、実行中を含めた待ち要求数が同時実行可能なジョブ数ＮＪ　より小さい場合、サービス率は、待ち処理要求数に依存して変化するため、時間的に一定ではない。
【００７１】
説明している実施形態では、同時実行可能なジョブ数ＮＪ　を、後に説明する最適化によって決定するため、実際のサービス率は時間的に一定ではなくても、一定値μＮＪであるとして近似する。
【００７２】
待ち行列理論により、ＣＰＵ数がＮＣＰＵ　、同時実行可能なジョブ数がＮＪ　のシステムにおいて、処理中のものを含めた、処理待ち要求数がｋである確率Ｐｋ　は、数６として示す式（６）で表わされる。
【００７３】
【数６】
2004030292.tif 000008
【００７４】
従って、ＣＰＵ数がＮＣＰＵ　、同時実行可能なジョブ数がＮＪ　のシステムにおいて、待ち時間がＴ以上の確率は、数７として示す式（７）で表わされる。
【００７５】
【数７】
2004030292.tif 000009
【００７６】
応答時間は、待ち時間を用いて、
応答時間＝待ち時間＋実行時間、
で計算されるが、実行時間を平均実行時間１／μＮＪで置き換えることにより、応答時間がＡ以上である確率は、数８として示す式（８）から計算することができる。
【００７７】
【数８】
2004030292.tif 000010
【００７８】
次に、仮想ページ参照経路データからページングに要する時間を予測計算する手順について説明する。
【００７９】
説明している本発明の実施形態は、性能保証対象コンピュータの主記憶管理が仮想記憶方式によるものとし、スワッピングは考慮せず、ページングできないページ（ページ固定ページ）は無いものとする。また、性能保証対象コンピュータで実行される複数のジョブは、同じプログラムによるもので、ジョブ実行の結果は、入力情報にのみ依存し、各ジョブ処理において、仮想ページ参照間隔確率分布が大きくは異ならないものとしている。
【００８０】
仮想ページ参照間隔確率分布が各ジョブで大きく異なる場合への拡張は、本発明の実施形態では示していないが、各ジョブの仮想ページ参照間隔確率分布を平均した確率分布を用いて、実施形態に適用させることも可能である。参照される仮想ページに対応する実ページがワーキングセットにあれば、ページイン処理の必要はない。また、参照される仮想ページに対応する実ページがワーキングセットに無い場合でも、オペレーティングシステムが管理するアベイラブルフレームに、必要なページの内容が変更されることなく残っていれば、ページリクレイム機能によって、そのフレームが再利用され、ページイン処理は行われない。
【００８１】
いま、あるページが参照されると、その後に他のページが参照されても、参照されたページは、直ぐにはワーキングセットから削除されない。ワーキングセットに空きが無くなると、アベイラブルフレームキューから利用可能な１ページが取得され、ワーキングセットの中で直前の参照からの間隔が最も大きい（ＬＲＵ）フレームがアベイラブルフレームキューにエンキューされ、ワーキングセットから削除される。
【００８２】
ページアウトは、ページリクレイム以外の目的で、アベイラブルフレームからフレームを取得する際に、そのフレームの内容を補助記憶装置に書き出す必要がある場合にのみ行われる。ここで、「書き出す必要がある」とは、▲１▼対応する補助記憶装置上のフレームがあり、かつ、その内容が主記憶上のフレームの内容と異なっていること、あるいは、▲２▼対応するフレームが補助記憶上にないが、再度参照する必要があることである。
【００８３】
前述したようなことをふまえ、仮想ページ参照間隔確率と呼ばれる確率を用いることにより、ジョブ実行中にページングが必要となるページ数を予測計算し、ページングに要する時間を計算することができる。ここで、ページリクレイムによるフレームの再利用は、ページングに含めていない。
【００８４】
図２に示す仮想ページ参照経路データ２０２の参照順番号２０６のｉ番目の仮想ページを参照してから、最初に、再びそのページが参照されるまでの間に参照される他の異なる仮想ページの数がｄの場合、対応する仮想ページ参照間隔Ｄ（ｉ）はＤ（ｉ）≡ｄで定義され、再度参照されることがない場合、Ｄ（ｉ）≡∞で定義される。
【００８５】
仮想ページ参照間隔がｄである確率Ｐ（ｄ）は、母集団Ｍ＝｛Ｄ（ｉ）｜ｉ∈すべての仮想ページ参照経路順序番号｝から、数９として示す式（９）により定義される。
【００８６】
【数９】
2004030292.tif 000011
【００８７】
図８は仮想ページ参照間隔確率の確率分布の例を示す図である。この例に示すように、一般に、「参照の局所性」と呼ばれる性質により、一度参照したページが、短時間のうちに、再び参照される確率は高い。
【００８８】
本発明の実施形態は、各ＣＰＵが独立した主記憶装置を保有しており、各ＣＰＵ上で独立してＯＳが稼動していることを想定している。従って、性能保証対象コンピュータは、ネットワーク装置等により相互に接続された、同じシステム構成を有する複数のシステム群と置き換えてもよい。
【００８９】
１つのＣＰＵに対して、その全メモリ容量ＭからＯＳ等の基本ソフトウェアに要するメモリ容量Ｍｆｉｘ　を減じたメモリ容量Ｍｕｓｅｒ（以下、利用可能メモリ容量）を仮想ページ１ページ当りのメモリ容量で割った値（ページ数）をｄｕｓｅｒとし、ワーキングセットのページ数をｄｗｏｒｋｉｎｇ　ｓｅｔ　とする。このとき、ｄｕｓｅｒは、数１０として示す式（１０）により表される。
【００９０】
【数１０】
2004030292.tif 000012
【００９１】
複数のＣＰＵが１つの主記憶装置を共有し、１つのＯＳのみが稼動している密結合マルチプロセッサシステムの場合、ＣＰＵ１つ当たりのメモリ容量をＭ、ＣＰＵ１つあたりの基本ソフトウェア用メモリ容量をＭｆｉｘ　として換算するとよい。
【００９２】
図８において、区間８０４は、利用可能な全ページ数ｄｕｓｅｒを表わし、区間８０５は、ワーキングセットのページ数ｄｗｏｒｋｉｎｇ　ｓｅｔ　を表わし、区間８０６は、全アベイラブルフレーム数を同時実行されるジョブ数ＮＪ　で割った値、
（ｄｕｓｅｒ−ＮＪｄｗｏｒｋｉｎｇ　ｓｅｔ）／ＮＪ、
を表わしている。
【００９３】
本発明の実施形態は、ページアウト処理が、アベイラブルフレームをリクレイム以外の目的で利用する場合で、そのフレームの内容が変更されており、補助記憶装置に書き込む必要が起きた場合にのみ行われる。
【００９４】
従って、あるページが参照されてから、次に再度参照されるまでの参照間隔がｄｕｓｅｒ＋（ｄｕｓｅｒ−ＮＪｄｗｏｒｋｉｎｇ　ｓｅｔ）／ＮＪ　（＝ｄｕｓｅｒ／ＮＪ）以下であれば、あるいは、この参照間隔が図８の区間８０７の間隔以下であれば、その再参照の際にも、ページ内容が実記憶上に残っているため、ページインは行われない。
【００９５】
ＣＰＵ数が１で、同時実行ジョブ数が１の場合、利用可能メモリの全てが対象ジョブに使用されるため、ページイン確率は、対象ページが主記憶上にない確率として、数１１として示す式（１１）で表わされる。
【００９６】
【数１１】
2004030292.tif 000013
【００９７】
また、ページアウト確率は、ジョブ処理において、ページ内容に変更がある確率をＰｃｈａｎｇｅとして、数１２として示す式（１２）で表わされる。
【００９８】
【数１２】
2004030292.tif 000014
【００９９】
Ｐｃｈａｎｇｅは、仮想ページ参照経路データ２０４のページ内容変更フラグ２０８がＯＮである確率として、数１３として示す式（１３）で計算する。
【０１００】
【数１３】
2004030292.tif 000015
【０１０１】
この確率は、ページの内容が変更されてから、最初に再び参照されるまでに参照される他の異なる仮想ページの数を確率変数とした確率分布を計算することにより、より正確に計算することも可能である。
【０１０２】
ジョブ数ＮＪ　のジョブが同時に実行される場合、ワーキングセットのページ数をｄｗｏｒｋｉｎｇ　ｓｅｔ　とし、ワーキングセット以外で利用可能なページが利用可能フレーム群として確保されているとすると、ページイン確率は、数１４として示す式（１４）で予測計算することができる。
【０１０３】
【数１４】
2004030292.tif 000016
【０１０４】
最適なシステム構成をラグランジュの未定乗数法で導出する場合、前述の確率は、次の数１５として示す式（１５）ような確率密度の積分形式で表現する。
【０１０５】
【数１５】
2004030292.tif 000017
【０１０６】
但し、非積分関数は、Ｐ（［ｍ］）で定義される。［ｍ］は実数ｍを超えない最大の整数である。
【０１０７】
また、ページアウト発生確率は、数１６として示す式（１６）で予測計算することができる。
【０１０８】
【数１６】
2004030292.tif 000018
【０１０９】
１回のジョブ実行において、ページングに費やされる時間は、１ページのページインに要する時間と１ページのページアウトに要する時間とを、それぞれ
ｔｐａｇｅ　ｉｎ　、ｔｐａｇｅ　ｏｕｔとして、数１７として示す式（１７）で計算する。
【０１１０】
【数１７】
2004030292.tif 000019
【０１１１】
式（１７）において、最後の項は、参照される仮想ページへの、最初のページの読み込みに要する時間である。Ｌ１　は、仮想ページ参照経路データの長さ（仮想ページ参照順の最後の番号）であり、Ｌ２　は、主に、補助記憶装置から主記憶領域に読み込まれるジョブ実行用プログラムのための仮想ページの数である。
【０１１２】
本発明の実施形態は、Ｌ２　が仮想ページ参照経路データにおける異なる仮想ページの総数から、最初の参照で、変更フラグが‘ＯＮ’である参照の数を減じた値として計算される。
【０１１３】
ここでは、最初の参照において、変更フラグが‘ＯＮ’である仮想ページが、ジョブ実行用プログラム内で動的に確保されたページであり、最初の参照において‘ＯＦＦ’である仮想ページがプログラムを格納するためのページであるとして概算している。
【０１１４】
本発明の実施形態は、ｔｐａｇｅ　ｉｎがｔｐａｇｅ　ｏｕｔに等しいとして、数１８として示す式（１８）でページング時間を予測する。
【０１１５】
【数１８】
2004030292.tif 000020
【０１１６】
また、本発明の実施形態は、ページがワーキングセットにある場合に比べて、ページがワーキングセットになく、ページリクレイム可能な場合のページリクレイム処理による遅延時間はないとしている。
【０１１７】
ページリクレイムによる遅延時間が無視できない場合でも、１ページ当たりのページリクレイムに要する時間を測定することにより、ジョブ実行において、ページリクレイムに要する時間を予測計算することが可能である。
【０１１８】
次に、応答時間がＡ以上である確率がＢ以下である条件で、価格が最小となるシステム構成（最適解）を選び出すための方法について詳細に説明する。
【０１１９】
応答時間がＡ以上である確率がＢ以下である条件で、価格が最小となるシステム構成を選び出すことは、ある値Ｃについて、システム構成データ（ｓ１、ｓ２、…、ｓｎ　）で、性能を表わす関数、性能関数Ｆ＝Ｆ（ｓ１、ｓ２、…、ｓｎ　）が制約条件Ｆ≦Ｃを満たし、かつ、目的関数としての価格関数Ｇ＝Ｇ（ｓ１、ｓ２、…、ｓｎ　）を最小にするシステム構成を探すことと同値である。
【０１２０】
本発明の実施形態における、システム構成パラメータは、（ＣＰＵ処理性能Ｓ、ＣＰＵ数ＮＣＰＵ　、全メモリ容量Ｍ、Ｉ／Ｏ処理速度Ｉ、同時実行可能ジョブ数ＮＪ　）であり、制約条件Ｆ≦Ｃは、応答時間がＡ以上である確率がＢ以下である条件に対応している。応答時間がＡ以上である確率がＢ以下である条件は、数１９として示す式（１９）に示すものとなる。
【０１２１】
【数１９】
2004030292.tif 000021
【０１２２】
後述するように、最適解であるための条件により、同時実行可能ジョブ数ＮＪ　は、他のシステム変数に独立な変数ではない。
【０１２３】
価格を表わす関数、価格関数は、離散的な価格データを再現できる関数であるとし、数２０として示す式（２０）により表されるものとする。
【０１２４】
【数２０】
2004030292.tif 000022
【０１２５】
説明を簡単にするため、ＣＰＵ数ＮＣＰＵ　個のＣＰＵ価格は、ＣＰＵ１個の価格のＮＣＰＵ　倍であるとすると、ＣＰＵの価格関数ｇＣＰＵ　は、数２１として示す式（２１）により表される。
【０１２６】
【数２１】
2004030292.tif 000023
【０１２７】
ＣＰＵの価格関数ｇＣＰＵ　、主記憶装置の価格関数ｇｍｅｍｏｒｙ及び補助記憶装置の価格関数ｇＩ／Ｏは、パラメータフィッティング法等により求めることができる。
【０１２８】
図９は性能と価格との関係を表すグラフの例を示す図である。前述の各価格関数は、例えば、図９の９０１に示すように、（価格、性能）の分布の近似曲線として求められる。関数形は、例えば、数２２として示す式（２２）のように、１変数連続関数の和で表現される。
【０１２９】
【数２２】
2004030292.tif 000024
【０１３０】
近似曲線の適切な関数形（２次式、３次式、対数関数等）は、各システム構成要素の価格関数に依存している。
【０１３１】
関数の決定には、不定性があっても、微分式ｇ´（ｓ）が条件ｇ´（ｓ）≧０（ｓ＞０）を満たすならば、最適なシステム構成の結果には大きくは影響しないため、例えば、図９の９０２のような折れ線で表わされる関数であってもよい。
【０１３２】
価格関数は、一般に、システム構成変数（ｓ１、ｓ２、…、ｓｎ　）の各変数について増加関数であるため、式（１９）を満たし、かつ、価格を最低にするシステム構成を導出するための制約条件は、数２３として示す式（２３）のように置き換えれば充分である（制約条件▲１▼）。
【０１３３】
【数２３】
2004030292.tif 000025
【０１３４】
システム構成パラメータ、（ＣＰＵ処理性能Ｓ、ＣＰＵ数ＮＣＰＵ　、全メモリ容量Ｍ、Ｉ／Ｏ処理速度Ｉ、同時実行可能ジョブ数ＮＪ　）はジョブ数ＮＪ　を除いて独立である。
【０１３５】
同時実行ジョブ数ＮＪ　は、確率Ｐｑ［ｔ＞（Ａ−μＮＪ−１）］を最大にするＮＪ　として決定される。すなわち、与えられたシステム変数（Ｓ、ＮＣＰＵ　、Ｍ、Ｉ）に対して、ＮＪ　は、数２４として示す式（２４）の解として決まる。
【０１３６】
【数２４】
2004030292.tif 000026
【０１３７】
前述において、式（２３）の左辺に現れる値ＮＪ　は、式（２４）の解としてのＮＪ　の値である（制約条件▲２▼）。
【０１３８】
最適システムを求めるために、ラグランジュの未定乗数法を用いて、制約条件▲１▼及び制約条件▲２▼のもとで、目的関数としての価格関数Ｇが最小となるシステム構成を選び出す。
【０１３９】
ＣＰＵ数ＮＣＰＵ　の値を固定したときの最適システム構成パラメータセット（Ｓ、Ｍ、Ｉ）は、ラグランジュの未定乗数λ１　及びλ２　を導入した数２５として示す式（２５）の関数Ｕについて、これから得られる（４＋２）個の数２６として示す式（２６）を解くことによって、関数Ｕの極値を計算して得られる。
【０１４０】
【数２５】
2004030292.tif 000027
【数２６】
2004030292.tif 000028
【０１４１】
前述の極値解におけるシステム構成パラメータセット（Ｓ、Ｍ、Ｉ）に対応するシステム構成が、与えられたＣＰＵ数がＮＣＰＵ　であるときの、最適化されたシステム構成である。
【０１４２】
ＣＰＵ数を含めてシステム構成を決定するためには、ＣＰＵ数ＮＣＰＵ　を１から増設可能な最大ＣＰＵ数ＭＡＸＣＰＵ　まで１ずつ増加させ、各ＣＰＵ数における最適化されたシステム構成を導出し、その中から最低価格のシステム構成パラメータセット（ＮＣＰＵ　、Ｓ、Ｍ、Ｉ）を決定する。
【０１４３】
前述の式（２６）に示す方程式の解は、非線形計画法等でよく用いられるニュートン法による逐次近似法を利用した数値から計算することができる。
【０１４４】
ニュートン法では、先の関数Ｕについて、次の数２７として示す式（２７）のようにシステム構成パラメータｓＣ　＝（ｓＣｉ）の周りでテイラー展開する。
【０１４５】
【数２７】
2004030292.tif 000029
【０１４６】
前述のｓＣ　近傍で最小値を計算するためには、先ず、次の数２８として示す式（２８）のベクトルＶと行列Ｑとを計算する。
【０１４７】
【数２８】
2004030292.tif 000030
【０１４８】
式（２７）において、関数Ｕを最小にするΔｓは、数２９として示す式（２９）で表される。
【０１４９】
【数２９】
2004030292.tif 000031
【０１５０】
目的の最小値を計算するには、ｓＣ　に（ｓＣ　＋ΔｓＣ　）の値を設定し、テイラー展開の最小値解を計算する処理を繰り返し、解が収束するまで、つまり、Δｓの大きさが零、あるいは、零とみなすことができるまで繰り返す。
【０１５１】
式（２６）２６の解（最適システム構成パラメータセット）は、離散的な値を有する選択可能なシステム構成パラメータセットとは異なるため、求められた連続的な実数で表現された最適システム構成パラメータセットに最も近い現実に使用可能なシステム構成パラメータセットを選ぶ必要がある。
【０１５２】
このため、図５により説明した最適解導出処理におけるステップＳ５０５の処理でのシステム構成補正の処理は、計算で得られたシステム構成パラメータセット（ｓ１　、ｓ２　、…、ｓｎ　）と、実際に価格データに存在しているシステム構成パラメータセット（ｓ’１　、ｓ’２　、…、ｓ’ｎ　）との距離が最も近い現実のシステム構成パラメータセットを探索する。
【０１５３】
このため、本発明の実施形態は、各システム変数ｓｉ　（ｉ＝１、２、…、ｎ）について、ｓ’ｉ　≧ｓｉ　であって、ｓ’ｉ　−ｓｉ　が最小となるシステム構成データｓ’ｉ　を価格データの中から探すことにより最適化された現実のシステム構成パラメータセット（ｓ’１　、ｓ’２　、…、ｓ’ｎ　）を決定している。
【０１５４】
例えば、図９において、最適解が９０３の座標で表わされる場合、９０４で表わされるシステム構成要素が最適化されたシステム構成要素となる。
【０１５５】
この最適化されたシステム構成の導出方法は、応答時間がＡ以上である確率がＢ以下である最低価格のシステムを構築するために、そのシステム構成要素を開発する場合に、開発する各システム構成要素の性能値を決定する方法として利用することができる。
【０１５６】
説明している実施形態は、システム構成としての複数のＣＰＵについて、各ＣＰＵが同じ処理性能を持つことを前提としている。処理性能が異なる複数のＣＰＵ環境において、待ち行列理論で応答時間を予測することは難しいが、この場合でも、シミュレーションによる計算手法を用いることにより、応答時間を予測することが可能である。
【０１５７】
次に、本発明の第２の実施形態として、価格データを利用し、システムパラメータの全ての組み合わせについて、前述した式（１９）の条件を満たすか否かを判定し、条件を満たす組み合わせの中から、価格が最低となる組み合わせを探索することにより最適解を得る例について説明する。この第２の実施形態は、システム構成要素の組み合わせの数が少ない場合に特に有効である。なお、第２の実施形態のシステム構成は図１に示すものと同一であってよい。
【０１５８】
図１０、図１１は本発明の第２の実施形態での構成導出部の処理動作を説明するフローチャートであり、次に、これについて説明する。
【０１５９】
を用いて説明する。
【０１６０】
（１）構成導出部１０２は、始めに、入力装置１１４から、システム識別子、ジョブ識別子を読み込むと共に、性能保証対象１０９の各性能保証対象コンピュータ、例えば、性能保証対象コンピュータ１１０に対して設定される２つの値、すなわち、トランザクションの応答時間Ａと、トランザクションの処理時間が応答時間Ａを越える確率Ｂとを読み込む（ステップＳ１００１）。
【０１６１】
（２）構成導出部１０２は、次に、性能保証対象のジョブに対応するジョブデータをジョブデータ記憶装置１０７から読み込む（ステップＳ１００２）。
【０１６２】
（３）構成導出装置１０１は、監視サーバ１１３が各性能保証対象コンピュータ１１０から採取した構成導出装置１０１に転送するためのシステム構成データを読み込み、そのデータをシステム構成記憶装置１０６に記憶する（ステップＳ１００３）。
【０１６３】
（４）構成導出部１０２は、図２に示すジョブデータの仮想ページ参照経路データを利用し、参照されたページが再度参照されるまでに参照される他の異なる仮想ページの数を確率分布とした、仮想ページ参照間隔確率分布を計算する（ステップＳ１００４）。
【０１６４】
（５）構成導出装置１０１は、監視サーバ１１３が性能保証対象コンピュータ１１０から採取し構成導出装置１０１に転送するための性能保証対象コンピュータにおけるジョブ処理要求の発生率（到着率）を読み込む（ステップＳ１００５）。
【０１６５】
（６）次に、変数「最低価格」に、値ＩＭＡＸ　を代入する。値ＩＭＡＸ　は、コンピュータ上で表現できる正の最大数とする（ステップＳ１００６）。
【０１６６】
（７）全てのシステム構成パラメータセットの組み合わせについて、応答時間がＡ以上である確率がＢ以下であるか否かを判定するため、価格データに含まれる各システム構成要素の価格データから構成されるシステム構成パラメータセットで、判定していないもの（仮システム構成）を選び出す（ステップＳ１００７）。
【０１６７】
（８）ステップＳ１００７で選び出した仮システム構成において、応答時間がＡ以上である確率を最小にする同時実行ジョブ数とその確率とを計算する（ステップＳ１００８）。
【０１６８】
（９）式（７）及び式（８）を使用して応答時間がＡ以上である確率を計算する（ステップＳ１００９）。
【０１６９】
（１０）ステップ１００９で計算された確率がＢ以下であるか否かを判定し、計算された確率がＢ以下でない場合、後述するステップＳ１０１４に移行する（ステップＳ１０１０）。
【０１７０】
（１１）ステップＳ１０１０の判定で、計算された確率がＢ以下であった場合、価格データから、各システム構成要素の価格を読み込み、価格の合計額を計算する（ステップ１０１１）。
【０１７１】
（１２）ステップＳ１０１１において計算された合計額が変数「最低価格」の値より小さいか否かを判定し、計算された合計額が変数「最低価格」の値より大きければ、後述するステップＳ１０１４に移行する（ステップＳ１０１２）。
【０１７２】
（１３）ステップＳ１０１３の判定で、計算された合計額が変数「最低価格」の値より小さければ、変数「最低価格」にステップＳ１０１１で計算された価格を設定し、対応する仮システム構成パラメータセットをシステム構成パラメータセットとして設定する（ステップＳ１０１３）。
【０１７３】
（１４）価格データから構成可能な全てのシステム構成パラメータセットが試されたか否かを判定し、全てが試されていなければ、次の仮システム構成パラメータセットを決定するためにステップＳ１００７からの処理を繰り返し、全てが試されたならばここでの処理を終了する（ステップＳ１０１４、Ｓ１０１５）。
【０１７４】
前述した処理において、変数「価格」がＩＭＡＸ　でないならば、性能条件を満たし、価格を最低にするシステム構成が存在しており、対応するシステム構成パラメータセットが「システム構成」に設定される。
【０１７５】
また、前述のステップＳ１０１１における価格の計算手順には、次の２つの方法がある。すなわち、▲１▼全く新たにシステムを導入する場合の価格計算、及び、▲２▼既にあるシステムを拡張して利用する場合の価格計算の２つである。▲２▼の場合、例えば、仮システム構成のＣＰＵ数が３、主記憶容量が２ＧＢで、既存のシステムのＣＰＵ数が２で主記憶容量が１ＧＢであるとすると、価格の計算では、ＣＰＵについては１（＝３−２）個、主記憶容量については、１（＝２−１）ＧＢの価格を計算ればよい。
【０１７６】
図１２は図１１におけるステップＳ１００８での同時実行ジョブ数計算の処理を説明するフローチャートであり、次に、これについて説明する。
【０１７７】
（１）同時実行ジョブ数の変数ＮＪ　に初期値として１を設定する（ステップＳ１２０１）。
（２）後に詳述するＰ［ｔ＞（Ａ−μＮＪ−１）］の同時実行ジョブ数ＮＪ　におけるＮＪ　についての微分係数を計算する（ステップＳ１２０２）。
（３）Ｐ［ｔ＞（Ａ−μＮＪ−１）］の同時実行ジョブ数ＮＪ　における、ＮＪ　についての２回微分の微分係数を計算する（ステップＳ１２０３）。
（４）ΔＮＪ　を計算する。ΔＮＪ　はステップＳ１２０２で算出された微分係数Ｆ１、ステップＳ１２０３で算出された微分係数Ｆ２を使用して、ΔＮＪ　＝−（Ｆ１／Ｆ２）で計算される（ステップＳ１２０４）。
（５）ステップＳ１２０４で算出された値ΔＮＪ　を変数ＮＪ　に加算し、ＮＪ　を更新する（ステップＳ１２０５）。
（６）収束を判定し、解が収束していれば、同時実行ジョブ数計算処理を終了する。ΔＮＪ　の大きさ｜ΔＮＪ　｜が０、あるいは、０に充分近ければ収束していると判定する。ここで、「０に充分近い」とは、例えば、｜ΔＮＪ　｜／｜ＮＪ　｜＜１０−４を満たすことである（ステップＳ１２０６）。
【０１７８】
次に、本発明の第３、第４の実施形態として、構成導出装置が出力する最適システム構成データを利用して、応答時間がＡ以上である確率がＢ以下であるように、システム構成を動的に変更する方法及びシステムの例について説明する。
【０１７９】
図１３は性能保証対象コンピュータが予備システム構成要素を有する場合における本発明の第３の実施の形態の構成を示すブロック図である。図１３において、１３０５は性能保証対象コンピュータ、１３０６は性能保証対象コンピュータ群、１３０７は動的システム構成変更装置、１３０８は予備システム構成要素であり、他の符号は図１の場合と同一である。
【０１８０】
図１３に示す本発明の第３の実施形態は、性能保証対象コンピュータ群１３０６の各性能保証対象コンピュータ１３０５が、動的システム構成変更装置１３０７と予備システム構成要素１３０８とを備えて構成されている点で図１に示した第１の実施形態の場合と相違している。
【０１８１】
予備システム構成要素１３０８は、性能保証対象のジョブ処理を行っていないシステム構成要素である。また、動的システム構成変更装置１３０７は、要求があった場合に、予備システム構成要素を性能保証対象のジョブ処理を実行するためにシステム構成要素に追加する。
【０１８２】
前述のように、必要に応じて、物理的に接続されているシステム構成要素を使用可能な状態または使用不可能な状態に切り替える機能は、“キャパシティオンデマンド”や“キャパシティリザーブ”として知られている。
【０１８３】
構成導出装置１０１は、最適システム構成データを、性能保証対象コンピュータの動的システム構成変更装置１３０７に送信する。動的システム構成変更装置１３０７は、最適システム構成データを受信すると、そのシステム構成を実現するため予備システム構成をジョブ処理実行のために稼動させる。予備システム構成要素は、１つまたは２つ以上のＣＰＵ、あるいは、主記憶装置等である。
【０１８４】
本発明の第３の実施形態は、使用するＣＰＵ数、使用する主記憶容量、及び、その使用時間等に応じて課金されることを想定している。そして、動的システム構成変更装置１３０７は、予備のシステム構成要素を起動あるいは停止させることにより、システムを停止させることなく、性能保証対象コンピュータのＣＰＵ数、主記憶容量等を変更することができる。
【０１８５】
この本発明の第３の実施形態は、構成導出装置１０１が、出力装置１１５から最適なシステム構成情報を出力する代わりに、ネットワーク１１６を利用して、性能保証対象コンピュータが有する動的システム構成変更装置１３０７に最適なシステム構成情報を送信する。
【０１８６】
動的システム構成変更装置１３０７は、システム構成導出装置１０１が送信した最適システム構成の情報を入力し、その情報に対応するようにシステム構成を動的に変更させている。
【０１８７】
このため、本発明の第３の実施形態は、応答時間がＡ以上である確率がＢ以下となるようにシステム構成を動的に変更しつつ、これに要する課金額を最低に抑えることが可能である。
【０１８８】
図１４は１つの性能保証対象コンピュータが、複数のサブシステムからなる場合の本発明の第４の実施形態の構成を示すブロック図である。図１４において、１４０３は構成変更指示部、１４０７は性能保証対象コンピュータ、１４０８はトランザクション分配部、１４０９〜１４１１はサブシステム１〜３、１４１２は出力装置、１４１３は入力装置、１４１４は処理結果記憶装置であり、他の符号は図１の場合と同一である。
【０１８９】
図１４に示す本発明の第４の実施形態は、構成導出装置１０１が、構成導出部１０２に加えて、構成変更指示部１４０３を備えて構成されている点、及び、性能保証対象コンピュータ１４０７が、トランザクション分配部１４０８、サブシステム１４０９〜１４１１、出力装置１４１２、入力装置１４１３、処理結果記憶装置１４１４を備えて構成されている点で図１に示した第１の実施形態の場合と相違している。
【０１９０】
各サブシステムは、性能保証対象のジョブ処理のために利用されるものと、それ以外の用途に利用されているものに分類される。ここでは、例えば、サブシステム１４０９は、性能保証対象のジョブ処理を行っており、サブシステム１４１０、１４１１は性能保証対象のジョブ処理を行っておらず、サブシステム１４１０は、ジョブ処理以外の用途にも使用されてなく、サブシステム１４１１は、ジョブ処理以外の用途に利用されているものとする。
【０１９１】
サブシステム１４０９〜１４１１によるサブシステム群は、物理的に独立したコンピュータシステム群で、ネットワーク機能によって互いに結合されているものであってもよい。この時、サブシステム群の全てのサブシステムについて、使用者（使用する権利を持った者）が同じでなくてもよい。また、説明している本発明の第４の実施形態におれる各サブシステムは、同等のシステム構成であり、同等の処理能力を有しているものとする。
【０１９２】
本発明の第４の実施形態における構成導出部は、「応答時間計算部」の機能を利用して、要求される性能を実現するために必要なサブシステム数を計算する。この場合、サブシステム数を１ずつ増やすことにより、「応答時間計算部」の機能を利用して、応答時間がＡ以上である確率がＢ以下であるという条件を満たす最初のサブシステム数を算出する。応答時間を計算する処理を、目標の性能に達するまで繰り返せばよいので、前述した第１の実施形態に比べて処理が容易である。
【０１９３】
以下に説明する本発明の第４の実施形態において、ジョブ処理以外の目的で利用されているサブシステムを予備サブシステムと呼ぶことにする。また、予備サブシステムの使用者は、性能保証対象のジョブを行っている者と異なっていてもよい。予備サブシステムは、そのサブシステムがジョブ処理用に使用される際に、性能保証対象のジョブを行っている者に課金、あるいは、所有者への送金を要求するサブシステム（有料サブシステム）と要求しないサブシステム（無料サブシステム）とに分類されている。サブシステムが無料サブシステムであるか、有料サブシステムであるかは、構成導出装置が有するサブシステムテーブルで調べることができる。
【０１９４】
図２０はサブシステムテーブルの構成を示す図である。サブシステムは、サブシステム識別子２００１で識別されている。このテーブルは、各サブシステムについて、使用中であるか否かを知ることができる使用中／非使用中フラグ２００２と、単位時間使用料情報２００３とを有している。
【０１９５】
図１５〜図１７は本発明の第４の実施形態におけるシステム変更指示部の処理動作を説明するフローチャートであり、次に、これについて説明する。
【０１９６】
（１）構成導出部１０２の出力である最適システム構成パラメータを読み込み、追加するサブシステムの目標数を決定する（ステップＳ１５０１）。
【０１９７】
（２）ステップＳ１５０１で読み込んだ最適システム構成パラメータと現在のシステム構成パラメータとを比較し、現在のシステム構成パラメータで性能が不足しているか否かを判定し、不足していなかった場合、後述するステップＳ１５１１へ移行する（ステップＳ１５０２）。
【０１９８】
（３）ステップ１５０２の判定で、現在のシステム構成パラメータで性能が不足していた場合、全ての使用中でない、無料で使用可能な予備のサブシステムを選択し、そのサブシステムを現在のシステム構成に追加する。サブシステム追加の処理の詳細は、図１８を用いて後述する（ステップＳ１５０３、Ｓ１５０４）。
【０１９９】
（４）サブシステムの追加によるサブシステム数が目標値に達し、現在のシステム構成が最適システム構成となったか否かを判定し、目標値に達していれば、ここでの処理を終了する（ステップＳ１５０５）。
【０２００】
（５）ステップＳ１５０５の判定で、目標値に達していなかった場合、全ての使用中無料予備サブシステムの出力装置に対して、使用許可要求を表示させ、所有者等に使用許可を問い合わせるメッセージを送信する（ステップＳ１５０６）。
【０２０１】
（６）使用許可の問い合わせに対して、使用中無料予備システムの所有者等からサブシステムの使用許可があったか否かを判定し、使用許可が入力された場合、サブシステムの追加処理を行う（ステップＳ１５０７、Ｓ１５０８）。
【０２０２】
（７）サブシステムの追加によるサブシステム数が目標値に達し、現在のシステム構成が最適システム構成となったか否かを判定し、目標値に達していれば、ここでの処理を終了する（ステップＳ１５０９）。
【０２０３】
（８）ステップＳ１５０９の判定で、目標値に達していなかった場合、または、ステップＳ１５０７の判定で、使用許可が得られなかった場合、ステップＳ１５０６で問合せメッセージを送信してから一定の時間が経過したか否か、または、全ての問合せに対して返答があったか否かを判定し、一定の時間が経過していなかった場合、または、問合せに対してまだ全ての返答がなかった場合、ステップＳ１５０７からの処理に戻って処理を繰り返す。また、一定の時間が経過し、かつ、全ての問合せに対して返答があった場合、後述するステップＳ１５１８からの処理に移行する（ステップＳ１５１０）。
【０２０４】
（９）ステップＳ１５１１の判定で、現在のシステム構成パラメータで性能が不足していなかった場合、現在のシステム構成が過剰性能であるか否かを判定し過剰性能でなければ、ここでの処理を終了する（ステップＳ１５１１）。
【０２０５】
（１０）現在システム構成で使用されていない全ての有料サブシステムについて、ステップＳ１５１３及びＳ１５１４の処理を実行することを設定し、有料サブシステムの削除処理を行う。この削除処理の詳細は、図１９を用いて後に詳述する（ステップＳ１５１２、Ｓ１５１３）。
【０２０６】
（１１）サブシステムの削除によりサブシステム数が目標値に達し、現在のシステム構成が最適システム構成となったか否かを判定し、目標値に達していれば、ここでの処理を終了する（ステップＳ１５１４）。
【０２０７】
（１２）全ての有料サブシステムに対する処理の後、ステップＳ１５１４の判定で、目標値に達していなかった場合、現在システム構成で使用されていない全ての無料サブシステムについて、ステップＳ１５１６及びＳ１５１７の処理を実行することを設定し、無料サブシステムの削除処理を行う（ステップＳ１５１５、Ｓ１５１６）。
【０２０８】
（１３）サブシステムの削除によりサブシステム数が目標値に達し、現在のシステム構成が最適システム構成となったか否かを判定し、目標値に達していれば、ここでの処理を終了する。また、全ての無料サブシステムに対する処理の後も、目標値に達していなかった場合にも、ここでの処理を終了する（ステップＳ１５１７）。
【０２０９】
（１４）ステップ１５１０の判定で、一定の時間が経過し、かつ、全ての問合せに対して返答があった場合、全ての使用中でない有料予備サブシステムについて、ステップＳ１５１９とステップＳ１５２０との処理を実行することを設定し、有料サブシステムの追加処理を行う（ステップＳ１５１８、Ｓ１５１９）。
【０２１０】
（１５）サブシステム数が目標値に達し、現在のシステム構成が最適システム構成となったか否かを判定し、目標値に達していれば、ここでの処理を終了する（ステップＳ１５２０）。
【０２１１】
（１６）ステップＳ１５２０の判定で、目標値に達していなかった場合、全ての使用中有料予備サブシステムの出力装置に対して、使用許可要求を表示させ、所有者等に使用許可を問い合わせるメッセージを送信する（ステップＳ１５２１）。
【０２１２】
（１７）使用許可の問い合わせに対して、使用中有料予備システムの所有者等からサブシステムの使用許可があったか否かを判定し、使用許可が入力された場合、サブシステムの追加処理を行う（ステップＳ１５２２、Ｓ１５２３）。
【０２１３】
（１８）サブシステムの追加によるサブシステム数が目標値に達し、現在のシステム構成が最適システム構成となったか否かを判定し、目標値に達していれば、ここでの処理を終了する（ステップＳ１５２４）。
【０２１４】
（１９）ステップＳ１５２４の判定で、目標値に達していなかった場合、または、ステップＳ１５２２の判定で、使用許可が得られなかった場合、ステップＳ１５２１で問合せメッセージを送信してから一定の時間が経過したか否か、または、全ての問合せに対して返答があったか否かを判定し、一定の時間が経過していなかった場合、または、問合せに対してまだ全ての返答がなかった場合、ステップＳ１５２２からの処理に戻って処理を繰り返す。また、一定の時間が経過し、かつ、全ての問合せに対して返答があった場合、処理を終了する（ステップＳ１５２５）。
【０２１５】
図１８は前述で説明したフローにおけるサブシステム追加の処理を説明するタイミングチャートであり、次に、これについて説明する。
【０２１６】
（１）構成変更指示部１４０３は、予備サブシステムにジョブ実行初期化指令を送信すると共に、同時実行処理数を送信する（ステップ１８０２、１８０３）。
【０２１７】
（２）予備サブシステムは、構成変更指示部からのステップ１８０２、１８０３の処理で送られたデータを受信すると、現在実行中の処理が全て終了すると直ぐに、トランザクション処理を行うための初期化処理を行い、処理要求の待ち状態になる（ステップ１８０８〜１８１１）。
【０２１８】
（３）予備サブシステムは、自サブシステムの初期化処理が完了すると、構成変更指示部に、トランザクション処理初期化完了通知を送信する（ステップ１８１２）。
【０２１９】
（４）構成変更指示部は、トランザクション処理初期化完了通知を受信すると、性能保証対象コンピュータが有するトランザクション分配部１４０８にトランザクション分配開始指令を送信する（ステップ１８０４、１８０５）。
【０２２０】
（５）トランザクション分配部１４０８は、トランザクション分配開始指令を受信すると、追加対象の予備サブシステムを、サブシステムリストへ追加することにより、トランザクション分配部がトランザクション処理要求の分配を開始し、構成変更指示部にトランザクション分配開始通知を送信する（ステップ１８１３〜１８１６）。
【０２２１】
（６）構成変更指示部１４０３は、トランザクション分配開始通知を受信すると、システム構成データを更新する（ステップ１８０６、１８０７）。
【０２２２】
図１９は図１６のフローで説明したサブシステム削除の処理を説明するタイミングチャートであり、次に、これについて説明する。
【０２２３】
（１）まず、構成変更指示部は、サブシステム削除処理において、トランザクション分配終了指令をトランザクション分配部に送信する（ステップ１９０２）。
【０２２４】
（２）トランザクション分配部は、トランザクション分配終了指令を受信し、サブシステムリストから削除対象のサブシステムを削除して、削除処理完了通知を構成変更指示部に送信する（ステップ１９１１〜１９１３）。
【０２２５】
（３）構成変更指示部は、トランザクション分配部からの削除処理完了通知を受信することにより、トランザクション分配の終了を確認し、サブシステムにトランザクション処理終了指令を送信する（ステップ１９０３、１９０４）。
【０２２６】
（４）サブシステムは、構成変更指示部のトランザクション処理終了指令を受信すると、全ての処理中のジョブを終了させ、トランザクション処理の終了通知を構成変更指示部に送信して、トランザクション処理の終了処理を行う（ステップ１９０７〜１９０９）。
【０２２７】
（５）構成変更指示部は、トランザクション処理の終了通知を受信すると、システム構成データを更新する（ステップ１９０５、１９０６）。
【０２２８】
前述で説明した構成変更指示部におけるサブシステム追加処理（図１８のステップ１８０１）及びサブシステム削除処理（図１９のステップ１９０１）は、サブシステム、例えば、図１４に示すサブシステム１４０９、または、トランザクション分配部１４０８とのデータの送受信により、性能保証対象コンピュータのシステム構成を動的に変更させている。
【０２２９】
前述した本発明の第４の実施形態において、有料サブシステム及び無料サブシステムは、使用されていないとき、無断で使用可能なサブシステムと使用できないサブシステムに分類されている。そして、性能保証対象コンピュータの処理能力が不足する場合、応答時間がＡ以上である確率をＢ以下にするため、ジョブ処理用のサブシステムを増やす必要があり、その場合、その必要なサブシステムの数を、すでに説明した方法で予測し、次に説明する手順で予備サブシステムを使用する。
【０２３０】
予備サブシステム群に使用許可を得るために、その旨のメッセージを送る。
各予備サブシステムは、メッセージを受信し、出力装置にサブシステムの利用の可否を問うメッセージを出力して使用者に知らせる。
使用者からの許可が得られた場合、予備サブシステムをジョブ処理用サブシステムに変更しジョブ実行させる。
予備サブシステムの所有者が、サブシステムの所有者と異なる場合、単位時間当たりのサブシステム使用量を使用者に通知する。
予備サブシステムの総使用量に相当する金額を送金する。
【０２３１】
一般に、性能保証対象コンピュータ１１０に対して設定されるトランザクションの応答時間Ａと、トランザクションの処理時間が応答時間Ａを越える確率Ｂとについて、応答時間がＡ以上である確率がＢ以下であるシステム構成は、ＣＰＵの処理性能、ＣＰＵ数、主記憶容量等の組み合わせとして多数存在している。
【０２３２】
前述した本発明の実施形態による各処理は、処理プログラムとして構成することができ、この処理プログラムは、ＨＤ、ＤＡＴ、ＦＤ、ＭＯ、ＤＶＤ−ＲＯＭ、ＣＤ−ＲＯＭ等の記録媒体に格納して提供することができる。
【０２３３】
また、前述した本発明の実施形態は、与えられた応答時間Ａと確率Ｂとに対して、応答時間がＡ以上である確率がＢ以下となるシステム構成のうち、最も安価なシステム構成を導出するとして説明したが、本発明は、与えられた応答時間Ｃと確率Ｄとに対して、応答時間がＣ以下である確率がＤ以上となるシステム構成のうち、最も安価なシステム構成を導出するようにコンピュータすることもでき、また、与えられた応答時間値Ａ、確率Ｂ及びジョブの処理要求の到着率Ｅに対して、応答時間がＡ以上である確率がＢ以下であるシステム構成のうち、最も安価なシステム構成を導出するようにすることもできる。
【０２３４】
前述した本発明の各実施形態は、一定の処理性能を保証するシステム構成で、価格が最小となるものを選び出すことができ、これにより、必要な処理性能を持つコンピュータシステムで、価格が最小となるものを自動的かつ短時間で決定することができる。
【０２３５】
この結果、前記した本発明の実施形態によれば、使用者にとって必要なシステム構成であって、最も低価格のシステム構成がただ１つだけ決定されるため、システム構成決定のために不必要な時間と労力を費やす必要がなくなるという効果を得ることができる。
【０２３６】
【発明の効果】
以上説明したように本発明によれば、必要な処理性能を持つコンピュータのシステム構成の中の価格が最小となるものを自動的かつ短時間で決定することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態によるコンピュータのシステム構成導出装置を含む構成導出システムの構成を示すブロック図である。
【図２】ジョブデータ記憶装置１０７に格納されているジョブデータの構成を説明する図である。
【図３】構成導出部１０２の処理動作を説明するフローチャートである。
【図４】図３のステップＳ３０４での仮想ページ参照間隔確率分布計算部の処理動作を説明するフローチャートである。
【図５】図３のステップＳ３０７での最適解導出の処理動作を説明するフローチャートである。
【図６】システム構成記憶装置に格納されているシステム構成データの構成を説明する図である。
【図７】価格データ記憶装置に格納されている価格データの構成を説明する図である。
【図８】仮想ページ参照間隔確率の確率分布の例を示す図である。
【図９】性能と価格との関係を表すグラフの例を示す図である。
【図１０】本発明の第２の実施形態での構成導出部の処理動作を説明するフローチャート（その１）である。
【図１１】本発明の第２の実施形態での構成導出部の処理動作を説明するフローチャート（その２）である。
【図１２】図１１におけるステップＳ１００８での同時実行ジョブ数計算の処理を説明するフローチャートである。
【図１３】性能保証対象コンピュータが予備システム構成要素を有する場合における本発明の第３の実施の形態の構成を示すブロック図である。
【図１４】１つの性能保証対象コンピュータが、複数のサブシステムからなる場合の本発明の第４の実施形態の構成を示すブロック図である。
【図１５】本発明の第４の実施形態におけるシステム変更指示部の処理動作を説明するフローチャート（その１）である。
【図１６】本発明の第４の実施形態におけるシステム変更指示部の処理動作を説明するフローチャート（その２）である。
【図１７】本発明の第４の実施形態におけるシステム変更指示部の処理動作を説明するフローチャート（その３）である。
【図１８】図１５〜図１７で説明したフローにおけるサブシステム追加の処理を説明するタイミングチャートである。
【図１９】図１６で説明したサブシステム削除の処理を説明するタイミングチャートである。
【図２０】サブシステムテーブルの構成を示す図である。実施の形態４で使用されるサブシステムテーブルの図である。
【符号の説明】
１０１　構成導出装置
１０２　構成導出部
１０３　価格計算部
１０４　応答時間計算部
１０５　価格データ記憶装置
１０６　システム構成記憶装置
１０７　ジョブデータ記憶装置
１０８　到着率記憶装置
１０９　性能保証対象コンピュータ群
１１０、１４０７　性能保証対象コンピュータ
１１１　性能測定装置
１１２　システム構成データ
１１３　監視サーバ
１１４、１４１２　入力装置
１１５、１４１３　出力装置
１１６　ネットワーク
１３０５　性能保証対象コンピュータ
１３０６　性能保証対象コンピュータ群
１３０７　動的システム構成変更装置
１３０８　予備システム構成要素
１４０３　構成変更指示部
１４０８　トランザクション分配部
１４０９〜１４１１　サブシステム１〜３
１４１４　処理結果記憶装置
【図１】
2004030292.tif 000032
【図２】
2004030292.tif 000033
【図３】
2004030292.tif 000034
【図４】
2004030292.tif 000035
【図５】
2004030292.tif 000036
【図６】
2004030292.tif 000037
【図７】
2004030292.tif 000038
【図８】
2004030292.tif 000039
【図９】
2004030292.tif 000040
【図１０】
2004030292.tif 000041
【図１１】
2004030292.tif 000042
【図１２】
2004030292.tif 000043
【図１３】
2004030292.tif 000044
【図１４】
2004030292.tif 000045
【図１５】
2004030292.tif 000046
【図１６】
2004030292.tif 000047
【図１７】
2004030292.tif 000048
【図１８】
2004030292.tif 000049
【図１９】
2004030292.tif 000050
【図２０】
2004030292.tif 000051