(57)【要約】【課題】情報システムに必要なリソース量をより高精度に見積もることができる装置を提供する。【解決手段】サイジング支援装置１は、リソース量の計算式のうちマシン台数が係数としてかからない項を固定リソース量として計算する固定リソース量計算部１５１１と、マシン台数が係数としてかかる項を変動リソース量として計算する変動リソース量計算部１５１２と、マシンスペック、変動リソース量および固定リソース量に基づいて必要となるマシン台数を計算するマシン台数計算部１５３と、マシン台数、変動リソース量および固定リソース量に基づいて必要となるマシンスペックを計算するマシンスペック計算部１５２と、算出されたマシン台数または入力されたマシン台数に基づいて、所定台数のマシンが故障しても必要な性能を満たすマシン台数または所定の割合で性能がダウンしても必要な性能を満たすマシン台数を計算する信頼性要件計算部１５４と、を有する。【選択図】図１
2011242974.tif 000002
【特許請求の範囲】
【請求項１】
情報システムの構築に必要なマシンの見積もりを支援するサイジング支援装置によって、該情報システムの性能要件に基づき、該情報システムの設計に必要なリソース量の見積もりを支援するサイジング支援方法であって、
前記サイジング支援装置は、
前記情報システムに必要なリソース量を見積もる際に、
前記リソース量の計算式のうち、マシン台数が係数としてかかる項を、固定リソース量として計算する固定リソース量計算ステップと、
前記リソース量の計算式のうち、マシン台数が係数としてかからない項を、変動リソース量として計算する変動リソース量計算ステップと、
入力されたマシンスペックと、前記変動リソース量と、前記固定リソース量とに基づいて、必要となるマシン台数を計算するマシン台数計算ステップと、を含んで実行する
ことを特徴とするサイジング支援方法。
【請求項２】
前記サイジング支援装置は、さらに、
入力されたマシン台数と、前記変動リソース量と、前記固定リソース量とに基づいて、必要となるマシンスペックを計算するマシンスペック計算ステップを含んで実行する
ことを特徴とする請求項１に記載のサイジング支援方法。
【請求項３】
前記サイジング支援装置は、さらに、
前記算出されたマシン台数に基づいて、所定台数のマシンが故障しても必要な性能を満たすマシン台数、または、所定の割合で性能が低下しても必要な性能を満たすマシン台数を計算する信頼性要件計算ステップを含んで実行する
ことを特徴とする請求項１または請求項２に記載のサイジング支援方法。
【請求項４】
前記変動リソース量計算ステップにおいて、前記マシン台数が係数としてかからない項とは、入力された１秒あたりのリクエスト数、同時ログイン数を少なくとも含む項である
ことを特徴とする請求項１から請求項３のいずれか一項に記載のサイジング支援方法。
【請求項５】
情報システムの構築に必要なマシンの見積もりをする際に、該情報システムの性能要件に基づき、該情報システムの設計に必要なリソース量の見積もりを支援するサイジング支援装置であって、
前記情報システムに必要なリソース量を見積もる際に、
前記リソース量の計算式のうち、マシン台数が係数としてかかる項を、固定リソース量として計算する固定リソース量計算部と、
前記リソース量の計算式のうち、マシン台数が係数としてかからない項を、変動リソース量として計算する変動リソース量計算部と、
入力されたマシンスペックと、前記変動リソース量と、前記固定リソース量とに基づいて、必要となるマシン台数を計算するマシン台数計算部と、
入力されたマシン台数と、前記変動リソース量と、前記固定リソース量とに基づいて、必要となるマシンスペックを計算するマシンスペック計算部と
前記算出されたマシン台数または入力されたマシン台数に基づいて、所定台数のマシンが故障しても必要な性能を満たすマシン台数、または、所定の割合で性能が低下しても必要な性能を満たすマシン台数を計算する信頼性要件計算部とを有する
ことを特徴とするサイジング支援装置。
【請求項６】
情報システムの構築に必要なマシンの見積もりをする際に、該情報システムの性能要件に基づき、該情報システムの設計に必要なリソース量の見積もりを支援するサイジング支援プログラムであって、
コンピュータに、
前記情報システムに必要なリソース量を見積もる際に、
前記リソース量の計算式のうち、マシン台数が係数としてかかる項を、固定リソース量として計算する固定リソース量計算処理と、
前記リソース量の計算式のうち、マシン台数が係数としてかからない項を、変動リソース量として計算する変動リソース量計算処理と、
入力されたマシンスペックと、前記変動リソース量と、前記固定リソース量とに基づいて、必要となるマシン台数を計算するマシン台数計算処理と、
入力されたマシン台数と、前記変動リソース量と、前記固定リソース量とに基づいて、必要となるマシンスペックを計算するマシンスペック計算処理と、
前記算出されたマシン台数または入力されたマシン台数に基づいて、所定台数のマシンが故障しても必要な性能を満たすマシン台数、または、所定の割合で性能が低下しても必要な性能を満たすマシン台数を計算する信頼性要件計算処理と、を
実行させるためのサイジング支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サイジング支援方法、サイジング支援装置およびサイジング支援プログラムに係り、特に、情報システムを設計するとき、情報システムに必要な計算リソースを見積もることができるサイジング支援方法、サイジング支援装置およびサイジング支援プログラムに関するものである。
【背景技術】
【０００２】
サイジングとは、情報システムを構築する際に、想定される情報システムの負荷を見積もり、それを処理するのに十分な性能・台数のサーバを用意することをいう。なお、システムの運用を開始した後に、負荷の増大に応じてサーバ性能を増強することも含まれる。
【０００３】
複数の計算機がネットワークを介して接続され、所定の業務を処理する情報システムを設計するとき、その情報システムで必要となるＣＰＵ数、メモリ量、マシン台数といった計算リソースを見積もる必要がある。
【０００４】
従来、情報システムで必要とする計算リソースを見積もるときは、プロトタイプや類似システムを使い、実行ＣＰＵ時間や、１セッションあたりの使用メモリサイズといった性能実測値を測定する。また、性能実測値から、１リクエスト単位あるいは１セッション単位のように、基準単位あたりのリソース量を基礎値として算出する。この基礎値をベースとし、リクエスト量やログイン数といった見積もり対象の情報システムの要件にあわせるための計算を経て、マシン１台あたりのスペックと、必要なマシン台数を決定していた。
【０００５】
ここで、基礎値から見積もり対象の情報システムにあわせるための計算方法として、単に要求されるリクエストに対応できるように数倍するという経験則に基づき、ヒューリスティックに、決定するマシン台数を仮定しマシン１台あたりのスペックを算出するなどしていた。また、基礎値として、マシン１台あたりで処理できるリクエスト件数を用いる方法もあるが、本質的な意味は変わらない。
【０００６】
特許文献１では、基礎値から見積もり対象の情報システムにあわせるための計算方法として、単にサイジング係数を乗じる方法が開示されている。また、特許文献２では、基礎値から見積もり対象の情報システムにあわせるための計算方法として、ノウハウ情報として予めデータベースに記憶されており、その経験則に基づきシステム構成を決定することが開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−３０２５２５号公報
【特許文献２】特開２００２−２２２２２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来技術の計算方法は、見積もり精度が低く、過大な見積もりとなる場合が多い。通常、基礎値には、マシン毎に必要となる部分（固定リソース量）と、システム全体で必要となるマシン台数で分割できる部分（変動リソース量）とが含まれるが、これを考慮していないことが問題となっていた。
【０００９】
図２は、従来技術における基礎値と、変更値との関係を表した模式図である。１リクエストあたりにリソース量を基礎値として算出し、情報システム全体で必要なリソース量を見積もる場合、固定リソース量と変動リソース量とも、一定の係数を乗じている。この従来技術では、変動リソース量の変化に合わせて固定リソース量まで必要以上に変化させるため、見積もり精度が低く過大見積もりとなることが問題であった。
【００１０】
本発明は、前記の問題を解決するための発明であって、情報システムに必要なリソース量をより高精度に見積もることができるサイジング支援方法、サイジング支援装置およびサイジング支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
前記目的を達成するため、本発明のサイジング支援装置は、基礎値を固定リソース量と、変動リソース量とに分けることを特徴とし、固定リソース量の計算部（例えば、図１の固定リソース量計算部１５１１）と、変動リソース量の計算部（例えば、図１の変動リソース量計算部１５１２）とを有するとともに情報システムの要件を充足するリソース量を算出するサイジング部と、サイジング部の出力とマシン台数から１台あたりのマシンスペックを算出するマシンスペック計算部と、サイジング部の出力と１台あたりのマシンスペックからマシン台数を算出するマシン台数計算部と、決定されたマシン台数から信頼性要件を充足するマシン台数を算出する信頼性要件計算部とを有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、情報システムに必要なリソース量をより高精度に見積もることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明を適用した一実施形態である計算機システムの構成を示すブロック図である。
【図２】従来技術における固定リソースと、変動リソースとの関係を表した模式図である。
【図３】本発明を適用した一実施形態である要件入力部が情報システムの要件を取得するために提示する画面図である。
【図４】本発明を適用した一実施形態である要件入力部が入力を受け取る処理過程を示すフローチャートである。
【図５】本発明を適用した一実施形態である制約定義ファイルの定義内容を示す説明図である。
【図６】本発明を適用した一実施形態である基礎値入力部が基礎値を取得するために提示する画面図である。
【図７】本発明を適用した一実施形態であるサイジング部の処理過程を示すフローチャートである。
【図８】本発明を適用した一実施形態であるシステムスペック計算部の処理過程を示すフローチャートである。
【図９】本発明を適用した一実施形態である固定リソース量計算部の処理過程の一例を示すフローチャートである。
【図１０】本発明を適用した一実施形態である変動リソース量計算部の処理過程の一例を示すフローチャートである。
【図１１】本発明を適用した一実施形態であるマシン台数計算部がマシンスペックを取得するために提示する画面図である。
【図１２】本発明を適用した一実施形態であるマシン台数計算部の処理過程を示すフローチャートである。
【図１３】本発明を適用した一実施形態であるマシンスペック計算部がマシン台数を取得するために提示する画面図である。
【図１４】本発明を適用した一実施形態であるマシンスペック計算部の処理過程を示すフローチャートである。
【図１５】本発明を適用した一実施形態である信頼性要件計算部の処理過程を示すフローチャートである。
【図１６】本発明を適用した一実施形態であるサイジング結果出力部の処理過程を示すフローチャートである。
【図１７】本発明を適用した一実施形態であるサイジング結果出力部の出力例を示す画面図である。
【図１８】本発明を適用した一実施形態であるサイジング結果出力部の出力例を示す設計書である。
【発明を実施するための形態】
【００１４】
以下、本発明を適用した一実施形態である計算機システムについて、図面を用いて詳細に説明する。
図１は、実施形態に係る計算機システムの構成を示すブロック図である。計算機システムでは、アプリケーションサーバであるサイジング支援装置１と、複数のクライアント２と、データベースサーバ３とが、ネットワーク４を介して通信可能に接続されている。サイジング支援装置１は、ＣＰＵ１１、補助記憶装置１２、メモリ１３を備える。ＣＰＵ１１は、メモリ１３に格納される各種プログラムを実行する。メモリ１３は、サイジング支援装置１が処理を実行する各種プログラムおよび一時的なデータを保持する。なお、ＣＰＵはCentral Processing Unitの略である。
【００１５】
メモリ１３には、インタフェース部１４、サイジング部１５のプログラムが記憶されている。インタフェース部１４は、要件入力部１４１、基礎値入力部１４２、サイジング結果出力部１４３、制約定義ファイル１４４（図５参照）を有する。サイジング部１５は、システムスペック計算部１５１（図８参照）、マシンスペック計算部１５２（図１４参照）、マシン台数計算部１５３（図１２参照）、信頼性要件計算部１５４（図１５参照）を有する。
【００１６】
また、図１において、クライアント２は、ＣＰＵ２１、補助記憶装置２２、メモリ２３を備える。メモリ２３には、ＷＥＢブラウザ２３１、表計算ソフト２３２などのプログラムが記憶されている。
【００１７】
次にサイジング支援装置１の各部の処理概要について説明する。
要件入力部１４１は、クライアント２から入力された、設計対象の情報システムに係る必要な要件などを受理し、受理した要件をサイジング部１５に渡す。必要な要件には、例えば、１秒あたりのリクエスト件数、同時ログイン数、１日あたりのリスエスト数などがある。
【００１８】
基礎値入力部１４２は、クライアント２から情報システムの設計に必要な基礎的な設計値などを受理し、受理した基礎値をサイジング部１５に渡す。基礎的な設計値には、例えば、実行ＣＰＵ時間、ＣＰＵ使用率、内部保留時間などがある。
【００１９】
サイジング結果出力部１４３は、サイジング部１５での見積もり結果をクライアント２に出力する。
【００２０】
システムスペック計算部１５１は、設計対象となる情報システムに必要なリソース量を計算する部分であり、固定リソース量計算部１５１１（図９参照）および変動リソース量計算部１５１２（図１０参照）から構成されている。なお、リソース量の計算式は通常多項式で表わされる。
【００２１】
固定リソース量計算部１５１１は、リソース量の計算式のうち、マシン台数が係数としてかかっている項について計算する。変動リソース量計算部１５１２は、リソース量の計算式のうち、マシン台数が係数としてかかっていない項について計算する。なお、マシン台数が係数としてかかっていない項としては、１秒あたりのリクエスト数、同時ログイン数を少なくとも含む項である。詳細については後述する。
【００２２】
マシン台数計算部１５３は、１マシンあたりの保有するリソース量（マシンスペック）を受理すると、現在のリソース種別での必要となる最大マシン台数を算出する。なお、リソース種別には、ＣＰＵ、メモリ容量、ディスク容量、ディスク帯域、ネットワーク帯域などがある。
【００２３】
マシンスペック計算部１５２は、設計値としてのマシン台数を受理すると、現在のリソース種別でのマシン１台あたりのリソース量（マシンスペック）を算出する。
【００２４】
信頼性要件計算部１５４は、信頼性要件ポリシーにしたがって信頼性要件を考慮した情報システムの要件を充足するマシン台数を算出する。信頼性要件ポリシーとしては、例えば、ｍ台ダウンしても必要な性能を満たすのか、α％ダウンしても必要な性能を満たすのかなどである。
【００２５】
以降、本実施形態では、設計対象の情報システムとしてＪＡＶＡ（登録商標）アプリケーションサーバの見積もりを行う場合について説明する。
【００２６】
図３は、要件入力部１４１が情報システムの要件を取得するために提示する画面図である。要件入力部１４１は、図３に示す要件入力画面１４１１をクライアント２に対して、ＷＥＢブラウザ２３１を介して表示し、また、クライアント２がＷＥＢブラウザ２３１を介して入力画面に入力した内容を受け取る。
【００２７】
要件入力画面１４１１は、各入力項目に対し、設計値を入力するテキストボックス１４１２１〜１４１２５と設計根拠を入力するテキストボックス１４１３１〜１４１３５とからなる。
【００２８】
テキストボックス１４１２１には、１秒あたりのリクエスト数の設計値が入力される。テキストボックス１４１２２には、同時にログインできる同時ログイン数が入力される。テキストボックス１４１２３には、１日あたりのリクエスト数の設計値が入力される。入力ボックス１４１２４には、サーバで稼動される情報の保有日数である稼動情報保有日数が入力される。テキストボックス１４１２５には、クライアント２から要求があった際の目標のレスポンス時間が入力される。
【００２９】
他方、設計根拠である、テキストボックス１４１３１には、１秒あたりのリクエスト数を何故その値にしたかの根拠が入力される。テキストボックス１４１３２には、同時ログイン数を何故その値にしたかの根拠が入力される。テキストボックス１４１３３には、１日あたりのリクエスト数を何故その値にしたかの根拠が入力される。入力ボックス１４１３４には、稼動情報保有日数を何故その値にしたかの根拠が入力される。テキストボックス１４１３５には、目標のレスポンス時間を何故その値にしたかの根拠が入力される。
【００３０】
図４は、要件入力部１４１が入力を受け取る処理過程を示すフローチャートである。ステップＳ２０００で、要件入力部１４１は各入力値の制約の定義を制約定義ファイル１４４（図５参照）から読み込む。要件入力部１４１は、入力値毎にステップＳ２００２〜２００６を繰り返す（ステップＳ２００１）。ステップＳ２００２で、要件入力部１４１は要件入力画面１４１１に入力された値を受け取る。ステップＳ２００３で、要件入力部１４１はステップＳ２０００で読み込んだ制約にしたがい、入力値を検査する。具体的には、入力値の型が合っているか、数値型ならば下限値から上限値の範囲を超えていないか、文字列型ならば正規表現にマッチするか、省略不可の項目を省略していないかを検査する。ステップＳ２００４で、要件入力部１４１は検査結果を判定し、入力値が不正の場合（ステップＳ２００４，Ｙｅｓ）、要件入力部１４１は警告ダイアログを表示し（ステップＳ２００６）、ステップＳ２００２に戻る。入力値が不正でなければ（ステップＳ２００４，Ｎｏ）、ステップＳ２００５で、要件入力部１４１は入力値をデータベースサーバ３に格納する。
【００３１】
図５は、制約定義ファイル１４４の定義内容を示す説明図である。制約定義ファイル１４４には、入力項目毎に、項目型が定義されている。さらに、項目型が数値型であれば下限値と上限値が、項目型が文字列型であれば正規表現が定義される。また、各項目の省略可否も定義される。なお、正規表現の列における『｛０，４０９６｝』は、正規表現において0文字以上、 4096文字以内であることを意味する。
【００３２】
図５に示す例では、少なくとも、図３に示した入力画面から、１秒あたりのリクエスト、同時ログイン数、１日あたりのリクエスト、目標レスポンス時間が必須項目であり、稼動情報保有日数、１秒あたりのリスエストの設計根拠、同時ログイン数の設計根拠などは任意項目であることがわかる。
【００３３】
図６は、基礎値入力部１４２が基礎値を取得するために提示する画面図である。基礎値入力部１４２は、図６に示す基礎値入力画面１４２１をクライアント２に対して、ＷＥＢブラウザ２３１を介して表示する。基礎値入力画面１４２１は、各入力項目に対し、設計値を入力するテキストボックス１４２２１〜１４２３０と設計根拠を入力するテキストボックス１４２３１〜１４２４０とからなる。テキストボックス１４２２１には、実行ＣＰＵ時間の基礎値が入力される。テキストボックス１４２３１には、実行ＣＰＵ時間を何故その値にしたかの根拠が入力される。以下、テキストボックス１４２２２〜１４２３０、１４２３２〜１４２４０についても同様である。
【００３４】
また、基礎値入力部１４２は、クライアント２がＷＥＢブラウザ２３１を介して入力画面に入力した内容を受け取る。基礎値入力部１４２が入力内容を受け取るフローチャートは図４に示したものと同等であるので説明は省略する。
【００３５】
図７は、サイジング部１５の処理過程を示すフローチャートである。サイジング部１５は、図７の手順にしたがって、情報システムの要件を充足するマシン台数と１台あたりのマシンスペックを算出する。
【００３６】
サイジング部１５は、ステップＳ２１００で、システムスペック計算部１５１を呼びだし、システムスペック計算処理として信頼性要件を無視したシステムの要件を充足するリソース量を計算する。サイジング部１５は、ステップＳ２１０５で、クライアント２からサイジング方法の選択（マシン台数からマシンスペックを計算するかマシンスペックからマシン台数を計算するか）であるユーザの指示を受け付ける。
【００３７】
サイジング部１５は、ステップＳ２１０１で、ユーザの指示（例えば、クライアント２からの入力）により、１台あたりのマシンスペックからマシン台数を計算する場合と、マシン台数から１台あたりのマシンスペックを計算する場合とに分岐する。前者の場合（ステップＳ２１０１，マシンスペックから台数を計算）、ステップＳ２１０３でマシン台数計算部１５３を呼びだしマシン台数計算処理を実行し、ステップＳ２１０４に進む。後者の場合（ステップＳ２１０１，台数からマシンスペックを計算）、ステップＳ２１０２でマシンスペック計算部１５２を呼びだしマシンスペック計算処理を実行し、ステップＳ２１０４に進む。この結果として、マシン台数と１台あたりのマシンスペックの両方が決定される。サイジング部１５は、最後にステップＳ２１０４で信頼性要件計算部１５４を呼びだし、信頼性要件計算処理として信頼性要件を考慮したシステムの要件を充足するマシン台数を算出する。
【００３８】
図８は、システムスペック計算部１５１の処理過程を示すフローチャートである。システムスペック計算部１５１は、図８に示す手順で、リソース種別毎に、固定リソース量計算部１５１１と変動リソース量計算部１５１２を用い、入力条件に基づいてシステムの要件を充足するリソース量を計算する。システムスペック計算部１５１は、算出するリソース種別毎にステップＳ２２０１〜２２０４を繰り返す（ステップＳ２２００）。システムスペック計算部１５１は、ステップＳ２２０１において、データベースサーバからリソース量を計算するのに必要な入力値を取得する。次に、ステップＳ２２０２で、現在のリソース種別に対応する固定リソース量計算部１５１１を呼びだし、固定リソース計算処理により固定リソース量を計算する。次に、ステップＳ２２０３で、変動リソース量計算部１５１２を呼びだし、変動リソース量計算処理により変動リソース量を計算する。そして、ステップＳ２２０４において、計算した固定リソース量と変動リソース量をデータベースサーバ３（図１参照）に格納する。
【００３９】
図９は、固定リソース量計算部１５１１の処理過程の一例を示すフローチャートである。固定リソース量計算部１５１１の一例として、ＪＡＶＡアプリケーションサーバの使用メモリ量の固定リソース量の計算について、図９を参照して説明する。
【００４０】
固定リソース量計算部１５１１は、定数を設定し（ステップＳ２３００）、ステップＳ２３０１とステップＳ２３０２において、リクエストが使用するメモリ量を二通りの方法で計算する。ステップＳ２３０１での計算方法を[数式１]に、ステップＳ２３０２での計算方法を[数式２]に示す。
【００４１】
[数式１]
固定リソース量［リクエスト情報サイズ１］＝共通使用Ｓｕｒｖｉｖｏｒサイズ×（ＳｕｒｖｉｖｏｒＲａｔｉｏ＋２）×（ＮｅｗＲａｔｉｏ＋１）×（１００÷ＴａｒｇｅｔＳｕｒｖｉｖｏｒＲａｔｉｏ）×安全係数
【００４２】
[数式２]
固定リソース量[リクエスト情報サイズ２]＝（業務プログラム使用Ｏｌｄサイズ×安全係数＋１００）×（ＮｅｗＲａｔｉｏ＋１）
【００４３】
固定リソース量計算部１５１１は、固定リソース量[リクエスト情報サイズ１]が固定リソース量[リクエスト情報サイズ２]よりも大きいか否かを判定し（ステップＳ２３０３）、[数式１]の結果が大きい場合（ステップＳ２３０３，Ｙｅｓ）、固定リソース量[リクエスト情報サイズ１]を変数である固定リソース量[リクエスト情報サイズ]に代入する（ステップＳ２３０５）。他方、[数式２]の結果が大きい場合（ステップＳ２３０３，Ｎｏ）、固定リソース量[リクエスト情報サイズ２]を変数である固定リソース量[リクエスト情報サイズ]に代入する（ステップＳ２３０４）。そして、ステップＳ２３０６で、[数式３]に示す式により、セッションが使用するメモリ量を計算する。
【００４４】
[数式３]
固定リソース量[セッション情報サイズ]＝（１セッションあたりの使用メモリサイズ＋０．０６２５）×安全係数＋（２０＋固定リソース量[リクエスト情報サイズ]÷（（ＳｕｒｖｉｖｏｒＲａｔｉｏ＋２）÷２）÷（ＮｅｗＲａｔｉｏ＋１））
【００４５】
ステップＳ２３０７では、ＪＡＶＡアプリケーションサーバ自体が固定で使用するメモリ量を定数として設定する。ステップＳ２３０８で、[数式４]の式により、Ｊａｖａアプリケーションサーバの使用メモリ量の固定リソース量が計算される。
【００４６】
[数式４]
固定リソース量[使用メモリサイズ]＝固定リソース量[リクエスト情報サイズ]＋固定リソース量[セッション情報サイズ]＋固定リソース量[固定情報サイズ]
【００４７】
前記［数式１］から［数式４］について、さらに詳細に説明する。
ＪＡＶＡで使用する固有領域は、一般的に、Ｎｅｗ領域、Ｏｌｄ領域、Ｐｅｒｍａｎｅｎｔ領域に分かれる。Ｎｅｗ領域は、さらにＥｄｅｎ領域、Ｓｕｒｖｉｖｏｒ領域に分かれる。また、これらの領域サイズには関係性がある。
（１）Ｎｅｗ領域サイズ＝Ｓｕｒｖｉｖｏｒ領域サイズ×（ＳｕｒｖｉｖｏｒＲａｔｉｏ＋２）
（２）Ｏｌｄ領域サイズ＝Ｎｅｗ領域サイズ×（ＮｅｗＲａｔｉｏ＋１）
なお、ＳｕｒｖｉｖｏｒＲａｔｉｏ，ＮｅｗＲａｔｉｏは設計パラメータである。
【００４８】
Ｎｅｗ領域は、リクエストが使用するような、短時間で使わなくなる情報を格納するための領域であり、Ｏｌｄ領域は、セッションが使用するような、長時間使われる情報を格納するための領域である。そのほか、業務プログラムが固定的に使用するメモリも、Ｏｌｄ領域に格納される。
【００４９】
［数式１］から［数式４］は、ＪＡＶＡで使用する固有領域の詳細を考慮し必要なメモリ量の固定リソース量部分を計算する処理フローに用いる数式である。すなわち、
［数式１］は、リクエストが固定的に使用するメモリ量から、Ｎｅｗ領域の固定メモリ量を計算する数式である。
［数式２］は、業務プログラムが固定的に使用するメモリ量から、Ｎｅｗ領域の固定メモリ量を計算する数式である。
［数式３］は、［数式１］、［数式２］の結果から、Ｏｌｄ領域の固定メモリ量を計算する数式である。
［数式４］は、［数式１］〜［数式３］の結果と、その他アプリケーションサーバが固定的に利用するメモリ量から固定メモリ量全体を計算する数式である。
以上の計算式を用いて、固定リソース量のひとつである固定メモリ量を決定することができる。
【００５０】
図１０は、変動リソース量計算部の処理過程の一例を示すフローチャートである。変動リソース量計算部１５１２の一例として、ＪＡＶＡアプリケーションサーバの使用メモリ量の変動リソース量の計算について、図１０を参照して説明する。
【００５１】
変動リソース量計算部１５１２は、定数を設定し（ステップＳ２４００）、ステップＳ２４０１でリクエストが使用するメモリ量を[数式５]によって計算する。
【００５２】
[数式５]
変動リソース量[リクエスト情報サイズ]＝内部保留時間×１秒あたりのリクエスト数×１スレッド使用Ｓｕｒｖｉｖｏｒサイズ×（ＮｅｗＲａｔｉｏ＋１）×（１００÷ＴａｒｇｅｔＳｕｒｖｉｖｏｒＲａｔｉｏ）×安全係数
【００５３】
変動リソース量計算部１５１２は、ステップＳ２４０２でセッションが使用するメモリ量を[数式６]によって計算する。
【００５４】
[数式６]
変動リソース量[セッション情報サイズ]＝（１セッションあたりの使用メモリサイズ＋０．０６２５）×同時ログイン数×安全係数＋（変動リソース量[リクエスト情報サイズ]÷（（ＳｕｒｖｉｖｏｒＲａｔｉｏ＋２）÷２）÷（ＮｅｗＲａｔｉｏ＋１））
【００５５】
そして、ステップＳ２４０３で[数式７]の式により、Ｊａｖａアプリケーションサーバの使用メモリ量の変動リソース量が計算される。
【００５６】
[数式７]
変動リソース量[使用メモリサイズ]＝変動リソース量[リクエスト情報サイズ]＋変動リソース量[セッション情報サイズ]
【００５７】
前記［数式５］から［数式７］について、さらに詳細に説明する。
［数式５］は、１リクエストが使用するメモリ量と要件から、Ｎｅｗ領域の変動メモリ量を計算する数式である。
［数式６］は、１セッションが使用するメモリ量と要件から、Ｏｌｄ領域の変動メモリ量を計算する数式である。
［数式７］は、［数式５］、［数式６］の結果から、変動メモリ量全体を計算する数式である。
以上の計算式を用いて、変動リソース量のひとつである変動メモリ量を決定することができる。
【００５８】
図１１は、マシン台数計算部１５３がマシンスペックを取得するために提示する画面図である。マシン台数計算部１５３は、図１１に示すマシンスペック入力画面１５３１を表示する。また、マシン台数計算部１５３は、マシンスペック入力画面１５３１から１マシンあたりの保有するリソース量（マシンスペック）を受け取る。
【００５９】
マシンスペック入力画面１５３１は、各入力項目に対し、設計値を入力するテキストボックス１５３２１〜１５３２３と設計根拠を入力するテキストボックス１５３３１〜１５３３３とからなる。テキストボックス１５３２１には、ＣＰＵのアーキテクチャが入力される。テキストボックス１５３２２には、１マシンあたりのＣＰＵコア数が入力される。テキストボックス１５３２３には、搭載メモリのうち使用できる物理メモリサイズが入力される。テキストボックス１５３３１には、ＣＰＵのアーキテクチャを何故その値にしたかの根拠が入力される。テキストボックス１５３３２には、１マシンあたりのＣＰＵコア数を何故その値にしたかの根拠が入力される。テキストボックス１５３３３には、搭載メモリのうち使用できる物理メモリサイズを何故その値にしたかの根拠が入力される。
【００６０】
図１２は、マシン台数計算部１５３の処理過程を示すフローチャートである。マシン台数計算部１５３は、リソース種別毎にステップＳ２５０１〜２５０３を繰り返す（ステップＳ２５００）。ステップＳ２５０１において、図中に示した式により現在のリソース種別でのマシン台数を算出する。ステップＳ２５０２において、現在のリソース種別でのマシン台数が変数である最大マシン台数より大きいかを判断する。大きい場合（ステップＳ２５０２，Ｙｅｓ）、ステップＳ２５０３において、変数である最大マシン台数を現在のリソース種別でのマシン台数で更新する。大きくない場合（ステップＳ２５０２，Ｎｏ）、ステップＳ２５００に戻る。
【００６１】
図１３は、マシンスペック計算部１５２がマシン台数を取得するために提示する画面図である。マシンスペック計算部１５２は、図１３に示すマシン台数入力画面１５２１を表示する。また、マシンスペック計算部１５２は、マシン台数入力画面１５２１からマシン台数を受け取る。
【００６２】
マシン台数入力画面１５２１は、マシン台数を入力するテキストボックス１５２２１と設計根拠を入力するテキストボックス１５２３１とからなる。テキストボックス１５２２１には、マシン台数が入力される。テキストボックス１５２３１には、マシン台数を何故その値にしたかの根拠が入力される。
【００６３】
図１４は、マシンスペック計算部の処理過程を示すフローチャートである。マシンスペック計算部１５２は、リソース種別毎にステップＳ２６０１を繰り返す（ステップＳ２６００）。ステップＳ２６０１において、図中に示した式により現在のリソース種別でのマシン１台あたりのリソース量（マシンスペック）を算出する。
【００６４】
図１５は、信頼性要件計算部１５４の処理過程を示すフローチャートである。信頼性要件計算部１５４は、信頼性要件ポリシーにしたがって図１５の手順で信頼性要件を満たすマシン台数を算出する。
【００６５】
ステップＳ２７００において、信頼性要件計算部１５４は、ユーザの指示（クライアント２からの入力）により、信頼性要件のポリシーの選択の指示を受信する。信頼性要件ポリシーとして、マシンがｍ台ダウン（故障）しても必要な性能を満たすのか、性能がα％ダウン（低下）しても必要な性能を満たすのかがある。信頼性要件計算部１５４は、信頼性要件ポリシーを判定し（ステップＳ２７０１）、前者の場合（ステップＳ２７０１，ｍ台ダウンしても必要な性能を満たす）において、図中に示す式により信頼性要件を満たすマシン台数を算出する（ステップＳ２７０２）。信頼性要件計算部１５４は、後者の場合（ステップＳ２７０１，α％ダウンしても必要な性能を満たす）、図中に示す式により信頼性要件を満たすマシン台数を算出する（ステップＳ２７０３）。そして、信頼性要件計算部１５４は、ステップＳ２７０２またはステップＳ２７０３において算出された、信頼性要件を満たすマシン台数をデータベースサーバ３に格納する（ステップＳ２７０４）。
【００６６】
図１６は、サイジング結果出力部１４３の処理過程を示すフローチャートである。サイジング結果出力部１４３は、見積もり結果を画面および設計書に出力する。サイジング結果出力部１４３は、リソース種別毎にステップＳ２８０１〜ステップＳ２８０３を繰り返す（ステップＳ２８００）。ステップＳ２８０１で、現在のリソース種別の算出値をデータベースサーバ３から取得する。ステップＳ２８０２において、図１７に示す結果画面に算出値を出力する。結果画面はクライアント２のＷＥＢブラウザ２３１により表示される。ステップＳ２８０３で、設計書に算出値を出力する。設計書は表形式で作成され、クライアント２の表計算ソフト２３２で参照する。なお、リソース毎とは、例えば、ＣＰＵコア数、メモリサイズ（Ｎｅｗ領域）、メモリサイズ（Ｏｌｄ領域）などを意味する。
【００６７】
図１７は、サイジング結果出力部１４３の出力例を示す画面図である。結果画面１４３３は、マシン台数から1台あたりのマシンスペックを算出した場合の結果画面である。ハッチングはテキストボックスが入力不可であることを意味する。図１７から、マシン台数２台の場合、マシン１台あたりのスペックとして、ＣＰＵコア数は２個必要であり、ＣＰＵ使用率として６７％が予定されることがわかる。
【００６８】
図１８は、サイジング結果出力部１４３の出力例を示す設計書である。表１４３０は、1台あたりのマシンスペックからマシン台数を算出した場合の設計書である。表１４３１は、マシン台数から1台あたりのマシンスペックを算出した場合の設計書である。
【００６９】
表１４３０から、ｘ８６のＣＰＵを使用し、ＣＰＵのコア数が２個、物理メモリサイズが４ＧＢの場合、必要なマシン台数は１台であることが見積もられていることがわかる。マシン台数の詳細をみると、ＣＰＵのコア数から見積もったマシン台数は、０．５台であり、メモリサイズ（Ｏｌｄ領域基準）から見積もったマシン台数は０．３台と異なる。少なくとも、ＣＰＵのコア数およびメモリサイズの両方を満たす必要なマシン台数は、１台として見積もられている。
【００７０】
表１４３１から、マシン台数が１台の場合、必要なＣＰＵのコア数が２個、ＪＡＶＡアプリケーションサーバ（プログラム）が使用する物理メモリサイズが２１５６ＭＢであることが見積もられていることがわかる。物理メモリサイズ２１５６ＭＢのうち、Ｊ２ＥＥ（Java 2 Enterprise Edition）サーバ（プログラム）が使用するメモリサイズは、１４０６ＭＢと見積もられている。
【００７１】
以上のように、本実施形態の計算機システムによれば、サイジング部１５は、必要最低限のリソース量を算出でき、情報システムのコストを軽減することができる。また、本実施形態の計算機システムによれば、１台あたりのマシンスペックからマシン台数を決定すること、および、マシン台数から１台あたりのマシンスペックを決定することができ、計算機システムの設計コストを軽減することができる。
【符号の説明】
【００７２】
１    サイジング支援装置
２    クライアント
３    データベースサーバ
４    ネットワーク
１１，２１    ＣＰＵ
１２，２２    補助記憶装置
１３，２３    メモリ
１４    インタフェース部
１５    サイジング部
１４１    要件入力部
１４２    基礎値入力部
１４３    サイジング結果出力部
１４４    制約定義ファイル
１５１    システムスペック計算部
１５２    マシンスペック計算部
１５３    マシン台数計算部
１５４    信頼性要件計算部
２３１    ＷＥＢブラウザ
２３２    表計算ソフト
１５１１    固定リソース量計算部
１５１２    変動リソース量計算部
【図１】
2011242974.tif 000003
【図２】
2011242974.tif 000004
【図３】
2011242974.tif 000005
【図４】
2011242974.tif 000006
【図５】
2011242974.tif 000007
【図６】
2011242974.tif 000008
【図７】
2011242974.tif 000009
【図８】
2011242974.tif 000010
【図９】
2011242974.tif 000011
【図１０】
2011242974.tif 000012
【図１１】
2011242974.tif 000013
【図１２】
2011242974.tif 000014
【図１３】
2011242974.tif 000015
【図１４】
2011242974.tif 000016
【図１５】
2011242974.tif 000017
【図１６】
2011242974.tif 000018
【図１７】
2011242974.tif 000019
【図１８】
2011242974.tif 000020