(57)【要約】システムの設計情報に基づいて、システムの動作のシミュレーションを実行し、システムにおけるサービスレベルの予測値を算出するシミュレータと、サービスレベルの予測値が、あらかじめ設定されたサービスレベル目標を達成しているかどうかを判定するサービスレベル判定部と、シミュレーションの結果に基づいて、サービスレベル目標を達成する可能性のあるパラメータセットを生成するパラメータセット生成部とを備える。
2013141018.tif 000002
【特許請求の範囲】
【請求項１】
システムの設計情報に基づいて、前記システムの動作のシミュレーションを実行し、前記システムにおけるサービスレベルの予測値を算出するシミュレータと、  前記サービスレベルの予測値が、あらかじめ設定されたサービスレベル目標を達成しているかどうかを判定するサービスレベル判定部と、  前記シミュレーションの結果に基づいて、前記サービスレベル目標を達成する可能性のあるパラメータセットを生成するパラメータセット生成部と、を備えた最適システム設計支援装置。
【請求項２】
請求項１に記載の最適システム設計支援装置であって、  前記パラメータセット生成部は、前記サービスレベル判定部において、前記サービスレベル目標を達成していないと判定された場合には、前記シミュレーションの結果に基づいて、最も負荷のかかっているリソース量を増やしたパラメータセットを生成する、最適システム設計支援装置。
【請求項３】
請求項１または２に記載の最適システム設計支援装置であって、  前記パラメータセット生成部は、前記サービスレベル判定部において、前記サービスレベル目標を達成していると判定された場合には、前記シミュレーションの結果に基づいて、最も負荷のかかっていないリソースを減らしたパラメータセットを生成する、最適システム設計支援装置。
【請求項４】
請求項１から３のいずれか１項に記載の最適システム設計支援装置であって、  前記パラメータセット生成部は、前記シミュレーションの結果に基づいて、前記サービスレベル目標を達成してないパラメータセットよりもリソース量が多くなるようなパラメータセットを生成する、最適システム設計支援装置。
【請求項５】
請求項１から請求項４のいずれか１項に記載の最適システム設計支援装置であって、  前記サービスレベル目標を達成するパラメータセットでの新たなシステムの価格を算出して、以前のシミュレーションで得られたサービスレベル目標を達成するパラメータセットでの以前のシステムの価格と比較し、前記新たなシステムの価格のほうが安い場合には、最適なパラメータセットの候補を新たなパラメータセットにより更新する最適可能性判定部を備え、  前記パラメータセット生成部は、前記最適なパラメータセットの候補よりも価格が安くなるパラメータセットのみを生成する、最適システム設計支援装置。
【請求項６】
請求項１から請求項５のいずれか１項に記載の最適システム設計支援装置であって、  予め設定された回数の試行を終えた時点で保存されている最適パラメータセットをユーザに提示する最適パラメータセット出力部を備えた、最適システム設計支援装置。
【請求項７】
請求項１から請求項６のいずれか１項に記載の最適システム設計支援装置であって、  前記シミュレーション結果、及びシステムのサービスレベルを示す評価関数の特性から、最小システム構成となる可能性のあるパラメータセットの範囲を限定する探索範囲限定部を備え、  前記パラメータセット生成部は、前記範囲に含まれるパラメータセットのみを生成する、最適システム設計支援装置。
【請求項８】
請求項７に記載の最適システム設計支援装置であって、  前記探索範囲限定部は、システムに設定されている各設定パラメータの上限及び下限を取得し、それらの中間値を用いてシミュレーションを行い、該シミュレーションの結果に基づいて、最も負荷のかかっていないリソースに対応する設定パラメータの上限値、及び最も負荷がかかっているリソースに対応する設定パラメータの下限値を、前記中間値で置き換える、最適システム設計支援装置。
【請求項９】
システムの設計情報に基づいて、前記システムの動作のシミュレーションを実行し、前記システムにおけるサービスレベルの予測値を算出する工程と、  前記サービスレベルの予測値が、あらかじめ設定されたサービスレベル目標を達成しているかどうかを判定する工程と、  前記シミュレーションの結果に基づいて、前記サービスレベル目標を達成する可能性のあるパラメータセットを生成する工程と、を備えた最適システム設計支援方法。
【請求項１０】
コンピュータを、  システムの設計情報に基づいて、前記システムの動作のシミュレーションを実行し、前記システムにおけるサービスレベルの予測値を算出するシミュレータと、  前記サービスレベルの予測値が、あらかじめ設定されたサービスレベル目標を達成しているかどうかを判定するサービスレベル判定部と、  前記シミュレーションの結果に基づいて、前記サービスレベル目標を達成する可能性のあるパラメータセットを生成するパラメータセット生成部、として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、最適システム設計支援装置、最適システム設計支援方法、およびプログラムに関する。
【背景技術】
【０００２】  コンピュータシステムの開発時において、開発の委託先機関及び委託元顧客との間で、あらかじめ性能や稼働率などに関する一定のサービス品質を保証する契約であるＳＬＡ（Service Level Agreement）が結ばれることが一般的になっている。ＳＬＡは、より具体的なサービスレベルの目標値を表した、複数のＳＬＯ（Service Level Objective）で構成される。【０００３】  システムの性能を示す評価指標としては、システムに対して処理要求を出してから処理が完了するまでの時間を表す応答時間や、システムを構成している各リソースの使用率、処理の転送速度を表す最大スループット等が用いられることが多い。ＳＬＯとしては、応答時間やリソース使用率が許容範囲内にあることや、最大スループットが一定値以上であることなどが設定されることが多い。【０００４】  通常、このような性能に対するＳＬＯが達成されているかどうかは、待ち行列理論に基づいたモデルや、実測データをもとに構築された回帰モデル、あるいは、その技術分野の専門家の知見等を利用してシステムの性能を予測することで判断する。【０００５】  例えば、特許文献１には、待ち行列理論を用いて、システムに到着するリクエスト数やシステムを構成するサーバのスペック等から応答時間を見積もり、その値が所定の範囲におさまるか否かを判定する技術が記載されている。【０００６】  また、特許文献２には、待ち行列理論に基づく性能予測方法を応用し、性能に影響するパラメータセットの関数として応答時間を表し、その値が制約条件を満たすパラメータ空間から、価格関数が最小となるシステム構成パラメータセットを導出することが記載されている。【０００７】  また、特許文献３には、システムの稼働状況を計測し、最小二乗法を用いて業務量と応答時間の算出式を求めることで、業務量（サーバの負荷）や、ハードウェア構成が変化した場合の応答時間を予測する技術が記載されている。【０００８】  また、特許文献４には、アプリケーションの処理能力を算出する方法として、開いた待ち行列理論に基づいた算出方法に加え、応答時間とサーバの使用率を計測した複数のサンプルデータの補間を行うことで算出する方法が記載されている。【０００９】  さらに、特許文献５には、システムの稼働状況をモニタリングし、サーバのＣＰＵ使用率からサービスレベルが一定水準以上であるかを判定し、ユーザに提供するサーバの台数を増減させる技術が記載されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】ＷＯ２００４／０９２９７１号公報
【特許文献２】特開２００４−０３０２９２号公報
【特許文献３】特開平０５−３２４３５８号公報
【特許文献４】特開２００６−３０１８５２号公報
【特許文献５】特許第４２９２６９３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】  しかしながら、一般に、待ち行列でモデル化されたシステムにおいて、応答時間や最大スループットの値を正確に定式化することは困難である。例えば、並列処理や同期処理を含むようなモデルの場合には、応答時間や最大スループットの値を閉じた式として得ることはできない。すなわち、特許文献１，２のように応答時間を定式化できるのは、限られた処理のみを行うごく一部のシステムに限定される。【００１２】  また、特許文献３，４のように、実測値をもとにシステムの挙動を回帰的に求め、応答時間を近似式で表す場合には、誤差が生じてしまう。【００１３】  また、特許文献５では、ＳＬＯとして単純な比例計算が可能なＣＰＵ使用率、及びサーバ台数の上限、下限のみを扱っており、応答時間や最大スループットに対するＳＬＯを考慮していない。【００１４】  そこで、本発明の目的は、様々な形態のシステムにおいて、定式化することができない性能値に対するＳＬＯを達成することを保証でき、かつ安価なシステム構成を自動的に導出することである。
【課題を解決するための手段】
【００１５】  本発明に係る最適システム設計支援装置は、システムの設計情報に基づいて、前記システムの動作のシミュレーションを実行し、前記システムにおけるサービスレベルの予測値を算出するシミュレータと、前記サービスレベルの予測値が、あらかじめ設定されたサービスレベル目標を達成しているかどうかを判定するサービスレベル判定部と、前記シミュレーションの結果に基づいて、前記サービスレベル目標を達成する可能性のあるパラメータセットを生成するパラメータセット生成部と、を備えたものである。【００１６】  本発明に係る最適システム設計支援方法は、システムの設計情報に基づいて、前記システムの動作のシミュレーションを実行し、前記システムにおけるサービスレベルの予測値を算出する工程と、前記サービスレベルの予測値が、あらかじめ設定されたサービスレベル目標を達成しているかどうかを判定する工程と、前記シミュレーションの結果に基づいて、前記サービスレベル目標を達成する可能性のあるパラメータセットを生成する工程と、を備えたものである。【００１７】  本発明に係るプログラムは、コンピュータを、システムの設計情報に基づいて、前記システムの動作のシミュレーションを実行し、前記システムにおけるサービスレベルの予測値を算出するシミュレータと、前記サービスレベルの予測値が、あらかじめ設定されたサービスレベル目標を達成しているかどうかを判定するサービスレベル判定部と、前記シミュレーションの結果に基づいて、前記サービスレベル目標を達成する可能性のあるパラメータセットを生成するパラメータセット生成部、として機能させるためのものである。
【発明の効果】
【００１８】  本発明によれば、様々な形態のシステムにおいて、定式化することができない性能値に対するＳＬＯを達成することを保証でき、かつ安価なシステム構成を自動的に導出することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施の形態１による、最適システム設計支援装置の構成を表すブロック図。
【図２】本発明の実施の形態１による、システムモデル、及びシステムモデルに付記されている設定パラメータの具体例を示す図。
【図３】本発明の実施の形態１による、最適システム設計支援装置の動作のフローチャート。
【図４】本発明の実施の形態２による、最適システム設計支援装置の構成を表すブロック図。
【図５】本発明の実施の形態２による、最適システム設計支援装置の動作のフローチャート。
【図６】本発明の実施の形態２による、最適システム設計支援装置の動作を説明する図。
【図７】本発明の実施の形態２による、最適システム設計支援装置の動作を説明する図。
【図８】本発明の実施の形態２による、最適システム設計支援装置の動作を説明する図。
【発明を実施するための形態】
【００２０】実施の形態１．  次に、本発明を実施するための形態について、図面を参照して詳細に説明する。  図１は、本発明の実施の形態１による、最適システム設計支援装置１０の構成を表すブロック図である。最適システム設計支援装置１０は、具体的には、プログラムに従って動作するコンピュータ等の情報処理装置によって実現される。なお、最適システム設計支援装置１０は、単一のコンピュータにより構成されるものであっても、通信回線を介して互いに接続された複数のコンピュータにより構成されるものであってもよい。
【００２１】  図１に示すように、最適システム設計支援装置１０は、シミュレータ１１、シミュレーション結果格納部１２、サービスレベル判定部１３、最適可能性判定部１４、パラメータセット生成部１５、及び最適パラメータセット出力部１６を備えている。
【００２２】  シミュレータ１１、サービスレベル判定部１３、最適可能性判定部１４、パラメータセット生成部１５、及び最適パラメータセット出力部１６は、ＣＰＵがＲＯＭ等に格納された所定のプログラムを実行することにより実現される機能のモジュールに相当する。シミュレーション結果格納部１２は、外部記憶装置により実装される。
【００２３】  シミュレータ１１は、形式的な言語、すなわち機械処理可能な形式で記述されたシステムの設計情報を表すモデル（システムモデル）が入力されると、そのモデルで表されるシステムの動作のシミュレーションを行い、そのシステムの予測性能値を算出する。図２に、システムモデル、及びシステムモデルに付記されている設定パラメータの具体例を示す。
【００２４】  シミュレーション結果格納部１２は、磁気ディスク装置や光ディスク装置等の記憶装置によって実現され、シミュレータ１１によって算出された、システムの予測性能値を格納する。
【００２５】  サービスレベル判定部１３は、シミュレーション結果に含まれるシステムの予測応答時間がＳＬＯ（サービスレベル目標）を達成しているかどうかを判定する。
【００２６】  最適可能性判定部１４は、サービスレベル判定部１３においてＳＬＯを達成すると判定されたパラメータセットについて、あるパラメータセットと他のパラメータセットで構成されるシステムの価格を比較し、より価格の安いパラメータセットを最適可能性があると判定する。ここで、システムの価格は、各サーバや搭載ＣＰＵなどの部品、ルータなどのネットワーク機器に対してあらかじめ設定された個々の価格の合計値で表される。
【００２７】  また、最適可能性判定部１４は、あらかじめ指定された十分な回数の試行が終了した後に、ＳＬＯを達成すると判定されたパラメータセットを最適可能性があると判定する。
【００２８】  また、パラメータセット生成部１５は、サービスレベル判定部１３においてＳＬＯを達成すると判定されたパラメータセットの値、及びシミュレーション結果を参照し、ＳＬＯを達成し、かつ、よりコストが安いパラメータセットを新たに生成する。
【００２９】  具体的には、パラメータセット生成部１５は、シミュレーション結果から、最も負荷がかかっていないと推測されるリソースを特定し、パラメータセットにおいてそのリソースを減らして新たなパラメータセットとする。
【００３０】  例えば、図２に示したシステムモデルにおいて、Ｗｅｂ／ＡＰサーバのＣＰＵ使用率が最も低くなっていた場合には、Ｗｅｂ／ＡＰサーバを減らしてもシステム全体の応答時間には影響が少ないと推測できるため、Ｗｅｂ／ＡＰサーバの台数を一台減らしたパラメータセットを生成する。
【００３１】  また、パラメータセット生成部１５は、サービスレベル判定部１４において、ＳＬＯを達成しないと判定されたパラメータセットの値を参照し、該パラメータセットに含まれる各種設定パラメータの値よりも、いずれかの設定パラメータが大きな値を持つパラメータセットを生成する。
【００３２】  例えば、図２に示したシステムモデルにおいて、Ｗｅｂ／ＡＰサーバ、ＤＢサーバの台数が共に２台というパラメータセットの場合に、応答時間がＳＬＯを達成していなければ、それよりも少ない台数の組み合わせ、すなわち、｛Ｗｅｂ／ＡＰサーバ，ＤＢサーバ｝＝｛１，１｝，｛１，２｝，｛２，１｝というパラメータセットでは、ＳＬＯは達成されない。したがって、パラメータセット生成部１５は、いずれか一方または両方のサーバの台数を一台以上増やしたパラメータセットを生成する。
【００３３】  また、パラメータセット生成部１５は、最適可能性判定部１４において最適可能性があると判定されたパラメータセットでのシステムの価格を参照し、それよりも価格が安くなるパラメータセットを生成する。
【００３４】  最適パラメータセット出力部１６は、サービスレベル判定部１３においてＳＬＯを達成しないと判定されたパラメータセットの値、及びシミュレーション結果を参照し、ＳＬＯを達成する可能性が高いと推測されるパラメータセットを新たに生成する。具体的には、シミュレーション結果から、最も負荷がかかっていると推測されるリソースを特定し、パラメータセットにおいてそのリソースを増やし、新たなパラメータセットとする。
【００３５】  例えば、図２に示したシステムモデルにおいて、ＤＢサーバのＣＰＵ使用率が最も高くなっている場合には、ＤＢサーバが処理のボトルネックになっていると推測できるため、ＤＢサーバの台数を一台増やしたパラメータセットを生成する。
【００３６】  また、  最適パラメータセット出力部１６は、最終的に最適可能性があると判定されたパラメータセットを、最適パラメータセットとして出力する。具体的には、任意の形式のファイルに書き出したり、ディスプレイなどの表示装置に表示したりすることで、ユーザに最適パラメータセットを提示する。
【００３７】  次に、図３を用いて最適システム設計支援装置１０の動作について説明する。  まず、最適システム設計支援装置１０はステップＡ１で、試行回数（ｎｕｍＴｒｉａｌ）を設定し、何回目の試行かを表す整数値ｉ（以降、試行カウントと表記する。ｉ＜ｎｕｍＴｒｉａｌ）に、初期値として１をセットする。ｎｕｍＴｒｉａｌの値は、システムモデルで記述されているシステムの規模や、設定パラメータの種類数をもとに、全パラメータセット空間を網羅するのに十分だと考えられる整数値を設定する。一般には、規模の大きなシステムや設定パラメータの種類が多い場合には、大きな値を設定する必要がある。また、各パラメータセットの最適可能性を判断するための基準となるシステムの最低価格の初期値（ｃｏｓｔＭｉｎ）の初期値として、システムの価格としてはありえない大きな値を設定する。
【００３８】  続いて、パラメータセット（ｐａｒａｍＳｅｔ）をランダムに生成し（ステップＡ２）、該パラメータセットのシステムモデルにおける性能の予測値をシミュレータ１１によって算出する（ステップＡ３）。さらに、サービスレベル判定部１３によって該予測性能値がＳＬＯを達成しているかどうかを判定する（ステップＡ４）。
【００３９】  ＳＬＯを達成していない場合には（Ｎｏ）、パラメータセット生成部１５により、ＳＬＯを達成する可能性が高いと考えられるパラメータセットを新たに生成する。具体的には、シミュレーション結果を参照し、最も負荷がかかると推測されるリソースを特定し、該リソースを増やしたパラメータセット（ｎｕｍＭａｘＳｖｒ）を新たに生成する（ステップＡ５）。  ステップＡ３〜Ａ５を、ＳＬＯを達成するパラメータセットが見つかるまで繰り返す。 
【００４０】  一方、ステップＡ４でＳＬＯを達成している場合（Ｙｅｓ）、またはステップＡ３，Ａ４，Ａ５の処理を繰り返して、ＳＬＯを達成するパラメータセットに到達した場合には、該パラメータセットの値をｐａｒａｍＳｅｔＴｍｐとして保存する（ステップＡ６）。
【００４１】  続いて、パラメータセット生成部１５により、より価格の安い構成となるパラメータセットを新たに生成する。具体的には、シミュレーション結果を参照し、最も負荷がかかっていないと推測されるリソースを特定し、該リソースを減らしたパラメータセット（ｎｕｍＭｉｎＳｖｒ）を新たに生成する（ステップＡ７）。これを、予測性能値がＳＬＯを達成している限り繰り返す（ステップＡ８、Ａ９）。
【００４２】  ステップＡ９でＳＬＯを達成しなくなった場合には、リソースを一つ減らす前のパラメータセットでシステムを構成した場合の価格（ｃｏｓｔ）を算出する（ステップＡ１０）。
【００４３】  続いて、ステップＡ１１で、最適可能性判定部１４はｃｏｓｔＭｉｎとｃｏｓｔの値を比較する。ｃｏｓｔがｃｏｓｔＭｉｎより大きい場合には、現試行では最適パラメータセットが更新されなかったと判断し、ステップＡ１２で試行カウントｉを１増やした後、ステップＡ２からの処理を繰り返す。
【００４４】  一方、ｃｏｓｔがｃｏｓｔＭｉｎより小さい場合には、該パラメータセットが、最適パラメータセットである可能性があるので、最適パラメータセット（ｏｐｔＰａｒａｍ）にｐａｒａｍＳｅｔを代入し、ｃｏｓｔＭｉｎにｃｏｓｔの値を代入する（ステップＡ１３）。
【００４５】  以上の処理を、あらかじめ指定された試行回数だけ繰り返し（ステップＡ１４）、ｉがｎｕｍＴｒｉａｌに達したら、ｏｐｔＰａｒａｍを出力して処理を終了する（ステップ１５）。
【００４６】  一方、ｉがｎｕｍＴｒｉａｌに達していない場合は、ｉの値を１増やし（ステップＡ１２）、ステップＡ２からの処理を繰り返す。ただし、次回以降の試行においては、ステップＡ３でｐａｒａｍＳｅｔを生成する際に過去のシミュレーション結果を参照し、ＳＬＯを達成していないパラメータセットに含まれる設定パラメータのうち、一つ以上の設定パラメータの値が多く、かつ、ＣｏｓｔＭｉｎよりも価格が安い構成となるようなパラメータセットを生成する。
【００４７】  以上のように、本実施形態によれば、定式化することのできない性能値に対するＳＬＯが設定された場合に、シミュレーション結果を用いて、各設定パラメータに対する性能改善率を推測するようにしたので、ＳＬＯを達成するパラメータセットを効率的に抽出することができる。また、シミュレーション結果を用いて、最小システム構成になりえないパラメータセットの候補を探索範囲から除外することで、ＳＬＯを達成し、かつ、価格が最小となるパラメータセットを効率的に導出することができる。
【００４８】実施の形態２．  図４は、本発明の実施の形態２による最適システム設計支援装置４０の構成を示すブロック図である。 実施の形態２による最適システム設計支援装置４０は、実施の形態１の最適システム設計支援装置１０の構成に加え、探索範囲限定部４１を備えている。
【００４９】  探索範囲限定部４１は、システムモデルに設定されている各設定パラメータの上限及び下限を調べ、それらの中間値となるパラメータセットを求める。そして、該パラメータセットを用いてシミュレーションを行い、該シミュレーション結果を参照し、設定パラメータの上限あるいは下限を更新する。
【００５０】  すなわち、探索範囲限定部４１は、最適パラメータセットの存在する範囲を更に限定する。具体的には、中間パラメータセットにおける予測性能値がＳＬＯを達成していた場合には、シミュレーション結果から、最も負荷がかかっていないリソースを特定し、該リソースに対応する設定パラメータの上限を該パラメータセットの値で置き換える。
【００５１】  一方、ＳＬＯを達成していない場合には、シミュレーション結果から、最も負荷がかかっている、すなわち処理のボトルネックとなっているリソースを特定し、該リソースに対応する設定パラメータの下限を、該パラメータセットの値で置き換える。以上の処理を、十分にパラメータの範囲が絞り込めるまで繰り返す。
【００５２】  図５を用いて、最適システム設計支援装置４０の動作について説明する。ここでは、図２に示したシステムモデルにおいて、Ｗｅｂ／ＡＰサーバの台数、及びＤＢサーバの台数の二値を設定パラメータとした場合を例に挙げて説明する。
【００５３】  まず、ステップＢ１で、パラメータセットの上限（ｐａｒａｍＭａｘ）、及び下限（ｐａｒａｍＭｉｎ）を設定する。これらは、要素数が設定パラメータの数と等しい一次元配列となる。これらの初期値としては、システムモデルにあらかじめ設定されている値を用いたり、任意に設定したりすることができる。図２の例では、パラメータセットの要素数は２となる。また、各々のサーバ台数の上限を１０台、下限を１台とする。すなわち、パラメータセットの上限、及び下限の初期値は、ｐａｒａｍＭａｘ＝｛１０，１０｝、ｐａｒａｍＭｉｎ＝｛１，１｝となる（図６）。ここで、各パラメータセットを表す配列は、｛Ｗｅｂ／ＡＰサーバの台数，ＤＢサーバの台数｝の順で表記する。
【００５４】  次に、ステップＢ１で設定した初期値の中間点（ｐａｒａｍＭｉｄ）においてシミュレーションを行う（ステップＢ２）。ここでは、ｐａｒａｍＭｉｄの値が整数値となるように、値を切り上げて処理を行う。すなわち、図２の例の場合には、ｐａｒａｍＭｉｄ＝｛６，６｝となる（図６）。
【００５５】  次に、ｐａｒａｍＭｉｄにおける予測性能値がＳＬＯを達成しているかどうかを判定する（ステップＢ３）。ＳＬＯを達成している場合には、シミュレーション結果を参照し、最も負荷がかかっていないと考えられるリソース（ｓｖｒＭｉｎ）に対応する設定パラメータの上限値（ｐａｒａｍＭａｘ［ｓｖｒＭｉｎ］）を、シミュレーションを行った中間点の値で置き換える（ステップＢ４）。例えば、図２のＷｅｂ／ＡＰサーバの負荷が低いというシミュレーション結果が得られた場合には、Ｗｅｂ／ＡＰサーバの台数の上限値を１０から６に変更する。すなわち、ｐａｒａｍＭａｘ＝｛６，１０｝となる（図７）。
【００５６】  一方、ＳＬＯを達成していない場合には、シミュレーション結果を参照し、最も負荷がかかっていると考えられるリソース（ｓｖｒＭａｘ）に対応する設定パラメータの下限値（ｐａｒａｍＭｉｎ［ｓｖｒＭａｘ］）を、シミュレーションを行った中間点の値で置き換える（ステップＢ５）。例えば、図２のＤＢサーバの負荷が高いというシミュレーション結果が得られた場合には、ＤＢサーバの台数の下限値を１から６に変更する。すなわち、ｐａｒａｍＭｉｎ＝｛１，６｝となる（図８）。
【００５７】  以上の処理を、全設定パラメータに対して、それ以上の絞り込みが不可能と判別できるまで、すなわち、上限値と下限値の差が２以下になるまで繰り返し（ステップＢ６）、ステップＡ１からの処理を続けて行う。ただし、ステップＡ３において生成するパラメータセットは、前記で絞り込んだ範囲内に含まれるものに限定する。 
【００５８】  以上のように、本実施形態によれば、予測性能値がＳＬＯを達成する領域と達成しない領域の境界面が存在する範囲を限定し、境界面の近辺に含まれるパラメータセットを用いてシミュレーションを開始する。これにより、境界面の近辺においてパラメータセット候補の探索を行うことができるため、少ないシミュレーション回数で、より効率的に最適パラメータセットを導出することができる。
【００５９】  なお、本発明の最適システム設計支援装置は、上記の実施形態の構成にのみ限定されるものではなく、上記実施態様の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
【００６０】  また、本発明は、ＳＬＯとして応答時間を例に挙げて説明しているが、最大スループット等の他の評価指標に置き換えて本発明を適用することも可能である。
【００６１】  この出願は、２０１２年３月２１日に出願された日本出願特願２０１２−６３５６１を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【００６２】  以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【００６３】  上記の実施の形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。（付記１）システムの設計情報に基づいて、前記システムの動作のシミュレーションを実行し、前記システムにおけるサービスレベルの予測値を算出するシミュレータと、前記サービスレベルの予測値が、あらかじめ設定されたサービスレベル目標を達成しているかどうかを判定するサービスレベル判定部と、前記シミュレーションの結果に基づいて、前記サービスレベル目標を達成する可能性のあるパラメータセットを生成するパラメータセット生成部と、を備えた最適システム設計支援装置。
【００６４】（付記２）付記１に記載の最適システム設計支援装置であって、前記パラメータセット生成部は、前記サービスレベル判定部において、前記サービスレベル目標を達成していないと判定された場合には、前記シミュレーションの結果に基づいて、最も負荷のかかっているリソース量を増やしたパラメータセットを生成する、最適システム設計支援装置。
【００６５】（付記３）付記１または２に記載の最適システム設計支援装置であって、前記パラメータセット生成部は、前記サービスレベル判定部において、前記サービスレベル目標を達成していると判定された場合には、前記シミュレーションの結果に基づいて、最も負荷のかかっていないリソースを減らしたパラメータセットを生成する、最適システム設計支援装置。
【００６６】（付記４）付記１から３のいずれか１項に記載の最適システム設計支援装置であって、前記パラメータセット生成部は、前記シミュレーションの結果に基づいて、前記サービスレベル目標を達成してないパラメータセットよりもリソース量が多くなるようなパラメータセットを生成する、最適システム設計支援装置。
【００６７】（付記５）付記１から４のいずれか１項に記載の最適システム設計支援装置であって、前記サービスレベル目標を達成するパラメータセットでの新たなシステムの価格を算出して、以前のシミュレーションで得られたサービスレベル目標を達成するパラメータセットでの以前のシステムの価格と比較し、前記新たなシステムの価格のほうが安い場合には、最適なパラメータセットの候補を新たなパラメータセットにより更新する最適可能性判定部を備え、前記パラメータセット生成部は、前記最適なパラメータセットの候補よりも価格が安くなるパラメータセットのみを生成する、最適システム設計支援装置。
【００６８】（付記６）付記１から５のいずれか１項に記載の最適システム設計支援装置であって、予め設定された回数の試行を終えた時点で保存されている最適パラメータセットをユーザに提示する最適パラメータセット出力部を備えた、最適システム設計支援装置。
【００６９】（付記７）付記１から６のいずれか１項に記載の最適システム設計支援装置であって、前記シミュレーション結果、及びシステムのサービスレベルを示す評価関数の特性から、最小システム構成となる可能性のあるパラメータセットの範囲を限定する探索範囲限定部を備え、前記パラメータセット生成部は、前記範囲に含まれるパラメータセットのみを生成する、最適システム設計支援装置。
【００７０】（付記８）付記７に記載の最適システム設計支援装置であって、前記探索範囲限定部は、システムに設定されている各設定パラメータの上限及び下限を取得し、それらの中間値を用いてシミュレーションを行い、該シミュレーションの結果に基づいて、最も負荷のかかっていないリソースに対応する設定パラメータの上限値、及び最も負荷がかかっているリソースに対応する設定パラメータの下限値を、前記中間値で置き換える、最適システム設計支援装置。
【００７１】（付記９）システムの設計情報に基づいて、前記システムの動作のシミュレーションを実行し、前記システムにおけるサービスレベルの予測値を算出する工程と、  前記サービスレベルの予測値が、あらかじめ設定されたサービスレベル目標を達成しているかどうかを判定する工程と、  前記シミュレーションの結果に基づいて、前記サービスレベル目標を達成する可能性のあるパラメータセットを生成する工程と、を備えた最適システム設計支援方法。
【００７２】（付記１０）コンピュータを、  システムの設計情報に基づいて、前記システムの動作のシミュレーションを実行し、前記システムにおけるサービスレベルの予測値を算出するシミュレータと、  前記サービスレベルの予測値が、あらかじめ設定されたサービスレベル目標を達成しているかどうかを判定するサービスレベル判定部と、  前記シミュレーションの結果に基づいて、前記サービスレベル目標を達成する可能性のあるパラメータセットを生成するパラメータセット生成部、として機能させるためのプログラム。
【産業上の利用可能性】
【００７３】  本発明は、様々な形態のシステムにおいて、定式化することができない性能値に対するＳＬＯを達成することを保証でき、かつ安価なシステム構成を自動的に導出することに適している。
【符号の説明】
【００７４】  １０，４０  最適システム設計支援装置、１１  シミュレータ、１２  シミュレーション結果格納部、１３  サービスレベル判定部、１４  最適可能性判定部、１５  パラメータセット生成部、１６  最適パラメータセット出力部、４１  探索範囲限定部
【図１】
2013141018.tif 000003
【図２】
2013141018.tif 000004
【図３】
2013141018.tif 000005
【図４】
2013141018.tif 000006
【図５】
2013141018.tif 000007
【図６】
2013141018.tif 000008
【図７】
2013141018.tif 000009
【図８】
2013141018.tif 000010
【国際調査報告】
2013141018.tif 000011
2013141018.tif 000012
2013141018.tif 000013
2013141018.tif 000014