(57)【要約】【課題】アプリケーションシステムの構築を行う際に、要求精度の高いハードウェア要件を見積るサイジング支援システムを提供する。【解決手段】サイジング支援サーバ１００は、データベースに、測定モデルと、マシンの相対性能比と、処理パターンテンプレートを備え、クライアントから構築対象システムのアプリケーションで扱うデータ量とその処理パターンとマシン情報を受理すると、クライアントに処理性能を測定する測定システムを構築し、クライアントにおいて測定システムで使用するアプリケーションシステムの擬似アプリケーションを実行し、マシン性能（実行ＣＰＵ時間や使用メモリ量）を測定する。サイジング支援サーバ１００は、測定されたマシン情報と構築対象マシン情報とマシン性能の相対性能比を用いて、測定システムで測定した値を構築対象のマシン用に補正する。この補正した値を基にシステム性能要件を満たすマシン規模を算出する。【選択図】図１
2011060053.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションシステムの構築前にシステム性能要件を満たすマシン規模の算出を支援するサイジング支援システムであって、
データベースは、
クライアントに提示する前記アプリケーションシステムのモデルの名称、前記モデルを構築するのに必要なシステム性能要件およびアプリケーション要件の項目を含む処理性能モデル情報と、前記アプリケーションシステムのプログラム生成に利用する処理パターンテンプレートと、マシンの相対性能比の情報であるマシン相対性能比情報とを有し、
処理部は、
前記クライアントに対し、前記処理性能モデル情報に基づく複数のモデルを提示し、
前記クライアントから選択されたモデルの情報と、前記選択されたモデルの構築に必要な前記システム性能要件と、前記アプリケーション要件と、構築対象マシン情報とを受理すると、
前記選択されたモデルを前記クライアントで実行した際の処理性能を測定する測定システムの構築に必要な測定システム構築プログラムと、前記処理パターンテンプレートに基づいて前記測定システムで使用する前記アプリケーションシステムの擬似アプリケーションとを生成し、
前記クライアントに、生成した前記測定システム構築プログラムと、前記擬似アプリケーションとを配備して前記測定システムを構築し、
前記クライアントにおいて構築された測定システムから処理性能情報を受理すると、前記処理性能情報に含まれる前記クライアントのマシン情報、前記構築対象マシン情報、前記マシン相対性能比情報に基づいて、前記測定システムで測定した値を構築対象のマシン用に補正し、補正した値を基に前記システム性能要件を満たすマシン規模を算出し、前記クライアントに算出したマシン規模を提示する
ことを特徴とするサイジング支援システム。
【請求項２】
前記データベースは、さらに、
過去に入力された、システム性能要件、アプリケーション要件、システム構築者の情報、および過去のシステム構築情報を含むシステム構築履歴情報を有し、
前記処理部は、
前記クライアントから履歴検索要求を受理すると、前記システム構築履歴情報を参照し、前記アプリケーションシステムの構築の入力項目の参照値として、前記クライアントに提示する
ことを特徴とする請求項１に記載のサイジング支援システム。
【請求項３】
前記測定システム構築プログラムには、前記クライアントに前記アプリケーション要件に基づいてテーブルを作成するために必要なＳＱＬ文および前記測定システムにおいて前記擬似アプリケーションを実行した際の処理性能を取得する処理性能取得アプリケーションを含む
ことを特徴とする請求項１に記載のサイジング支援システム。
【請求項４】
アプリケーションシステムの構築前にシステム性能要件を満たすマシン規模の算出を支援するサイジング支援システムのサイジング支援方法であって、
前記サイジング支援システムのデータベースには、
クライアントに提示する前記アプリケーションシステムのモデルの名称、前記モデルを構築するのに必要なシステム性能要件およびアプリケーション要件の項目を含む処理性能モデル情報と、前記アプリケーションシステムのプログラム生成に利用する処理パターンテンプレートと、マシンの相対性能比の情報であるマシン相対性能比情報とが記憶されており、
処理部は、
前記クライアントに対し、前記処理性能モデル情報に基づく複数のモデルを提示し、
前記クライアントから選択されたモデルの情報と、前記選択されたモデルの構築に必要な前記システム性能要件と、前記アプリケーション要件と、構築対象マシン情報とを受理すると、
前記選択されたモデルを前記クライアントで実行した際の処理性能を測定する測定システムの構築に必要な測定システム構築プログラムと、前記処理パターンテンプレートに基づいて前記測定システムで使用する前記アプリケーションシステムの擬似アプリケーションとを生成し、
前記クライアントに、生成した前記測定システム構築プログラムと、前記擬似アプリケーションとを配備して前記測定システムを構築し、
前記クライアントにおいて構築された測定システムにより測定されたマシン性能情報を受理すると、前記処理性能情報に含まれる前記クライアントのマシン情報、前記構築対象マシン情報、前記ＣＰＵ相対性能比情報に基づいて、前記測定システムで測定した値を構築対象のマシン用に補正し、補正した値を基に前記システム性能要件を満たすマシン規模を算出し、前記クライアントに算出したマシン規模を提示する
ことを特徴とするサイジング支援方法。
【請求項５】
前記データベースには、
過去に入力された、システム性能要件、アプリケーション要件、システム構築者の情報、および過去のシステム構築情報を含むシステム構築履歴情報が記憶されており、
前記処理部は、
前記クライアントから履歴検索要求を受理すると、前記システム構築履歴情報を参照し、前記アプリケーションシステムの構築の入力項目の参照値として、前記クライアントに提示する
ことを特徴とする請求項４に記載のサイジング支援方法。
【請求項６】
前記測定システム構築プログラムには、前記クライアントに前記アプリケーション要件に基づいてテーブルを作成するために必要なＳＱＬ文および前記測定システムにおいて前記擬似アプリケーションを実行した際の処理性能を取得する処理性能取得アプリケーションを含む
ことを特徴とする請求項４に記載のサイジング支援方法。
【請求項７】
アプリケーションシステムの構築前にシステム性能要件を満たすマシン規模の算出を支援するサイジング支援コンピュータに、
クライアントに提示する前記アプリケーションシステムのモデルの名称、前記モデルを構築するのに必要なシステム性能要件およびアプリケーション要件の項目を含む処理性能モデル情報と、前記アプリケーションシステムのプログラム生成に利用する処理パターンテンプレートと、マシンの相対性能比の情報であるマシン相対性能比情報とをデータベースとして記憶する機能と、
前記クライアントに対し、前記処理性能モデル情報に基づく複数のモデルを提示する機能と、
前記クライアントから選択されたモデルの情報と、前記選択されたモデルの構築に必要な前記システム性能要件と、前記アプリケーション要件と、構築対象マシン情報とを受理すると、
前記選択されたモデルを前記クライアントで実行した際の処理性能を測定する測定システムの構築に必要な測定システム構築プログラムと、前記処理パターンテンプレートに基づいて前記測定システムで使用する前記アプリケーションシステムの擬似アプリケーションとを生成する機能と、
前記クライアントに、生成した前記測定システム構築プログラムと、前記擬似アプリケーションとを配備して前記測定システムを構築させ、
前記クライアントにおいて構築された測定システムにより測定されたマシン性能情報を受理すると、前記処理性能情報に含まれる前記クライアントのマシン情報、前記構築対象マシン情報、前記ＣＰＵ相対性能比情報に基づいて、前記測定システムで測定した値を構築対象のマシン用に補正し、補正した値を基に前記システム性能要件を満たすマシン規模を算出し、前記クライアントに算出したマシン規模を提示する機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム構築を行う際に、要求精度の高いハードウェア要件を見積るサイジング支援システム、サイジング支援方法及びプログラムに関する。
【背景技術】
【０００２】
クライアント／サーバのシステム構築など、システム構築を支援する従来技術として、構築対象となるサーバのサイジング要件とシステム要件とを与えることでシステム構築パラメタを自動的に生成してサーバ構築を支援する方法がある（例えば、特許文献１参照）。
【０００３】
サイジングとは、システム構築する際に、想定されるシステムの負荷を見積もり、それを処理するのに十分な性能・台数のサーバを用意することをいう。システムの運用を開始した後に、負荷の増大に応じてサーバ性能を増強することも含まれる。
【０００４】
また、処理性能を見積り、サイジングを行う方法には、アプリケーションプログラムの詳細を解析して個々の処理ごとに必要なダイナミックステップ数やメモリ量を算出する方法がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−７２７７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載されているサーバ構築支援方法では、予め構築するシステムのパターンを用意しており、予め登録されたシステムモデルごとにサイジング計算式を用意してシステム性能要件を満たすサイジング構成情報を求める。このような方法により精度の高いサイジングを行うためには、構築するシステムで利用するアプリケーションの扱うデータ量や処理内容、マシンの仕様（ＣＰＵ（Central Processing Unit）の処理性能やメモリなど）についてもシステムモデルで予め想定しているものと一致する必要がある。
【０００７】
特許文献１のシステムモデルごとにサイジング計算式を用意する方法は、システムモデルと完全に一致するシステムの場合には有効であるが、実際のシステム構築においては、そのようなことはほとんどないため、固定のサイジング計算式だけでサイジングを行うと見積り誤差が生じて後工程でシステムを見直すコストがかかる問題がある。
【０００８】
また、システムを構築するごとにプロトタイプを作成して処理性能を測定してサイジング計算式を算出する方法を取った場合、システムを実現するアプリケーションやハードウェアの構成は多様化しているため、すべての組み合わせに対して予めサイジング計算式を用意することは非常に困難でありシステム支援を効率的に行えない。
【０００９】
さらに、システム構築前に必要なマシン規模を見積ることを目的としたサイジングを行う必要があるため、実際に利用するアプリケーションのソフトウェア（プログラム）やハードウェア（マシン）なしにシステム性能要件を満たすマシンの処理性能を見積る必要がある。
【００１０】
一方、アプリケーションプログラムの詳細を解析して個々の処理ごとに必要なダイナミックステップ数（ある処理を実現するプログラムを実際に走行させたときのＣＰＵによって実行された機械語命令の総数）やメモリ量を算出して性能を見積る方法は、その詳細な処理方法が明らかな場合は有効な手段であるが、システム構築前にダイナミックステップ数などの詳細について解析することは困難である。また、Ｊａｖａ（登録商標）で記述したプログラムの場合、ＪａｖａＶＭ（Virtual Machine）の性能に依存することもあり、アプリケーションプログラムの詳細な処理がわかっただけでは、処理に必要なメモリ量などを算出することは困難である。
【００１１】
本発明は、前記の課題を解決するための発明であって、アプリケーションシステム構築を行う際に、要求精度の高いハードウェア要件を見積るサイジング支援システム、サイジング支援方法及びプログラムを提供することを目的とする。なお、アプリケーションシステムとは、業務アプリケーションを実行する情報処理システムをいう。
【課題を解決するための手段】
【００１２】
前記目的を達成するために、サイジング支援システムは、アプリケーションシステムの構築前にシステム性能要件を満たすマシン規模の算出を支援するサイジング支援システムであって、データベースは、クライアント（例えば、利用者端末５００）に提示するアプリケーションシステムのモデルの名称、モデルを構築するのに必要なシステム性能要件及びアプリケーション要件の項目を含む処理性能モデル情報（例えば、測定モデル情報３００）と、アプリケーションシステムのプログラム生成に利用する処理パターンテンプレート（例えば、処理パターンテンプレート３６０）と、マシンの相対性能比の情報であるマシン相対性能比情報（例えば、ＣＰＵ相対性能比３５０）とを有する。
【００１３】
サイジング支援システムの処理部（例えば、ＣＰＵ１２０）は、クライアントに対し、処理性能モデル情報に基づく複数のモデルを提示し、クライアントから選択されたモデルの情報と、選択されたモデルの構築に必要なシステム性能要件と、アプリケーション要件と、構築対象マシン情報とを受理すると（例えば、ステップＳ１２０９）、選択されたモデルをクライアントで実行した際の処理性能を測定する測定システムの構築に必要な測定システム構築プログラムと、処理パターンテンプレートに基づいて測定システムで使用するアプリケーションシステムの擬似アプリケーションとを生成し（例えば、ステップＳ１２１０）、クライアントに、生成した測定システム構築プログラムと、擬似アプリケーションとを配備して測定システムを構築し、クライアントにおいて構築された測定システムから処理性能情報を受理すると、処理性能情報に含まれるクライアントのマシン情報、構築対象マシン情報、マシン相対性能比情報に基づいて、測定システムで測定した値を構築対象のマシン用に補正し、補正した値を基にシステム性能要件を満たすマシン規模を算出し（例えば、ステップＳ１４０８）、クライアントに算出したマシン規模を提示する（例えば、ステップＳ１２１３）ことを特徴とする。
【００１４】
データベースは、さらに、過去に入力された、システム性能要件、アプリケーション要件、システム構築者の情報、及び過去のシステム構築情報を含むシステム構築履歴情報（例えば、システム構築履歴情報４５０）を有し、処理部は、クライアントから履歴検索要求を受理すると、システム構築履歴情報を参照し、アプリケーションシステムの構築の入力項目の参照値として、クライアントに提示する（例えば、ステップＳ１２１８）ことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、アプリケーションシステム構築を行う際に、要求精度の高いハードウェア要件を見積ることができる。
【図面の簡単な説明】
【００１６】
【図１】実施形態に係るサイジング支援システムの構成を示す図である。
【図２】サイジング支援サーバの構成を示す図である。
【図３】サイジング支援データベースサーバの構成を示す図である。
【図４】システム構築履歴データベースサーバの構成を示す図である。
【図５】測定システム構築後の利用者端末の構成を示す図である。
【図６】利用者端末における性能測定モデルを選択する画面例を示す図である。
【図７】測定モデル情報の例を示す図である。
【図８】測定モデル固有情報の例を示す図である。
【図９】システム構築履歴情報の例を示す図である。
【図１０】測定システムのデータベースに作成したテーブル例を示す図である。
【図１１】システム性能要件、アプリケーション要件、構築対象のマシン情報を入力する画面例を示す図である。
【図１２】サイジング支援を行う処理の手順を示すフローチャートである。
【図１３】擬似アプリケーション自動生成を行う処理の手順を示すフローチャートである。
【図１４】性能測定処理を行う処理の手順を示すフローチャートである。
【図１５】サイジング支援システムが出力する結果の表示例を示す図である。
【発明を実施するための形態】
【００１７】
以下、本発明を実施するための形態を図面に基づいて詳細に説明する。
図１は、本発明の実施形態のサイジング支援システムの概要構成を示す図である。サイジング支援システム１には、サイジング支援サーバ１００、サイジング支援データベースサーバ２００、システム構築履歴データベースサーバ４００、利用者端末５００（クライアント）が含まれ、ネットワーク６００を介して相互に接続される。
【００１８】
サイジング支援システム１により構築するシステムは、サイジング支援データベースサーバ２００が提供するシステム構築パターンでパターン化されているシステムであり、利用するアプリケーションは、科学計算ロジックを含まない業務アプリケーションとする。特に、ＷｅｂシステムなどＪ２ＥＥ（Java 2 Enterprise Edition）サーバ上で動作するＪａｖａで記述されたアプリケーションプログラム（以下、アプリケーションという。）を利用する場合に有効な技術に関するものである。サイジング支援システム１は、アプリケーションの処理の負荷を実際のアプリケーションを作成することなしに、見積りシステム性能要件を満たすマシン規模（マシン台数、ＣＰＵコア数）（図１５参照）を算出する。
【００１９】
具体的には、利用者端末５００からシステム性能要件とアプリケーション要件を入力し、サイジング支援データベースサーバ２００に蓄積された情報に基づいて、サイジング支援サーバ１００は、性能の測定システムと、性能の測定システムで利用する擬似アプリケーションとを自動生成する。サイジング支援サーバ１００は、利用者端末５００において生成された擬似アプリケーションを、性能の測定システムによって実行し処理性能を収集しサイジングを行う。
【００２０】
性能の測定システムとは、利用者端末５００から取得したデータに基づき、利用者端末５００に構築する性能の測定のためのシステムをいう。性能の測定システム（以下、測定システムという。）を構築するのに必要なプログラムである測定システム構築プログラムは、具体的には、図５に示す定義ファイル５４１、構築スクリプト５４２、テーブル作成用のＳＱＬ文５４３、処理性能取得アプリケーション１４２を含んでいる。詳細については、図１４において後述する。なお、測定システムを実行の際に使用するプログラムとして、利用者が構築希望するアプリケーションシステムの擬似アプリケーション１４１がある。
【００２１】
サイジング支援サーバ１００は、利用者端末５００から、選択された性能測定モデル（図６参照）と、入力されたシステム性能要件及びアプリケーション要件（図１１参照）とに基づいてサイジングデータ（マシン台数、ＣＰＵコア数）を生成する。なお、サイジング支援サーバ１００については図２にて詳細に説明する。
【００２２】
サイジング支援データベースサーバ２００は、サイジング支援サーバ１００によってサイジングデータを生成するために必要なデータを格納する。なお、サイジング支援データベースサーバ２００については図３にて詳細に説明する。
【００２３】
システム構築履歴データベースサーバ４００は、サイジング支援システム１に入力されたデータと、サイジング支援システム１を用いて測定した処理性能と、算出したサイジングデータと実際に構築したシステム情報とを格納する。システム構築履歴データベースサーバ４００は図４にて詳細に説明する。
【００２４】
利用者端末５００は、サイジング支援システム１を利用してシステムを構築する利用者（例えば、システムエンジニア）の端末である。利用者が、利用者端末５００を介して、性能測定モデルを選択し、システム性能要件やアプリケーション要件などの項目を入力し、サイジング支援サーバ１００に送信する。項目を設定するインターフェースには、例えば、汎用的なＷｅｂブラウザを利用する。ネットワークに接続された任意の端末を利用者端末５００とすることができる。
【００２５】
図２は、サイジング支援サーバの構成を示す図である。適宜図１を参照する。サイジング支援サーバ１００は、主記憶装置１１０、ＣＰＵ１２０（処理部）及びインターフェース１３０を含んで構成され、ディスクドライブ１４０が接続されている。主記憶装置１１０には、サイジング支援処理部１１１、擬似アプリケーション自動生成処理部１１２、性能測定処理部１１３が格納されている。
【００２６】
サイジング支援処理部１１１は、サイジングに必要な擬似アプリケーション１４１を生成する擬似アプリケーション自動生成処理部１１２を実行し、性能測定用のシステム構築及び測定した処理性能データからサイジングデータを算出する性能測定処理部１１３を実行し、その結果として得られるサイジングデータを出力するプログラムである。
【００２７】
擬似アプリケーション自動生成処理部１１２は、利用者端末５００で選択した性能測定モデルとアプリケーション要件に従って擬似アプリケーション１４１を生成するプログラムである。生成した擬似アプリケーション１４１は、ディスクドライブ１４０に格納する。
【００２８】
性能測定処理部１１３は、利用者端末５００で選択した性能測定モデルに基づき利用者端末５００に測定システムを構築し、擬似アプリケーション自動生成処理部１１２で生成した擬似アプリケーション１４１、処理性能データを取得するための処理性能取得アプリケーション１４２を構築した測定システムに配備するプログラムである。さらに、配備した擬似アプリケーション１４１を利用者端末５００において実行し、処理性能取得アプリケーション１４２から処理性能データを取得し、サイジングデータを算出する機能を有する。
【００２９】
ＣＰＵ１２０は、主記憶装置１１０に記憶されたプログラムを実行し、各種処理を実行する。インターフェース１３０は、利用者端末５００から入力を受け付け、サイジング支援データベースサーバ２００及びシステム構築履歴データベースサーバ４００にアクセスするためネットワーク６００に接続する。
【００３０】
図３は、サイジング支援データベースサーバの構成を示す図である。適宜図１を参照する。サイジング支援データベースサーバ２００は、主記憶装置２１０、ＣＰＵ２２０及びインターフェース２３０を含んで構成され、ディスクドライブ２４０が接続されている。ディスクドライブ２４０には、サイジング支援サーバ１００に提供されるデータなどが格納される。
【００３１】
主記憶装置２１０は、ＣＰＵ２２０によって実行されるプログラム及び当該プログラムの実行に必要なデータを記憶する。具体的には、サイジング支援サーバ１００にデータを提供するためのデータベースマネジメントシステム２１１が記憶される。ＣＰＵ２２０は、主記憶装置２１０に記憶されたプログラムを実行し、各種処理を実行する。インターフェース２３０は、サイジング支援サーバ１００にアクセスするために、ネットワーク６００に接続するインターフェースである。
【００３２】
ディスクドライブ２４０には、測定モデル情報３００（図７参照）、定義ファイル３２０及び構築スクリプト３３０を含む測定モデル固有情報３１０（図８参照）、データベーステーブル作成テンプレート３４０、ＣＰＵ相対性能比３５０（マシン相対性能比）、処理パターンテンプレート３６０が格納される。
【００３３】
本発明の実施形態に基づいてサイジングを行う場合には、最初に、サイジング支援サーバ１００が、測定モデル情報３００に基づいて、利用者端末５００に性能測定モデルを提示し（図６参照、図中においては測定モデルと記載）、利用者は性能測定モデルを選択する。性能測定モデルの登録情報（測定モデル情報３００、測定モデル固有情報３１０）を図７及び図８を参照して説明する。
【００３４】
図７は、測定モデル情報の例を示す図である。測定モデル情報３００は、ＩＤ（Identification）３０１、性能測定モデルの測定モデル名３０２、そのモデル構成を図示したモデルの画像データ３０３、システム性能要件３０４、アプリケーション要件３０５を格納している。ＩＤ３０１は測定モデルごとに一意に保持している。サイジング支援サーバ１００からの処理要求に従って、測定モデル情報３００に基づいて、利用者端末５００に測定モデル（性能測定モデル）のリストを表示した例を図６に示す。図６の詳細は、後述する。
【００３５】
図８は、測定モデル固有情報の例を示す図である。測定モデル固有情報３１０には、測定モデルを識別するために必要なＩＤ３０１、測定システムを構築するのに必要な定義ファイル３２０、構築スクリプト３３０が含まれる。利用者が選択した性能測定モデルに対応する測定モデル固有情報３１０は、選択された処理性能測定モデルに対応する測定システムを構築するために必要なデータとして格納されている。
【００３６】
図３に戻り、データベーステーブル作成テンプレート３４０には、利用者端末５００から入力されたアプリケーション要件に基づいてテーブルをサーバ上に作成するために必要なＳＱＬ文のテンプレートが格納されている。
【００３７】
ＣＰＵ相対性能比３５０には、ＳＰＥＣｉｎｔ（Standard Performance Evaluation Corporation Integer benchmark）などＣＰＵの性能を評価した公開情報を基にＣＰＵの相対性能比が格納されている。
【００３８】
処理パターンテンプレート３６０には、利用者端末５００から入力されるアプリケーションの要件に基づいて擬似アプリケーション１４１（図２参照）を作成するため、アプリケーションの処理内容のなかで、画面の表示（アプリケーションへの入力を受け付ける画面）とデータベースアクセス処理のプログラムテンプレートが格納されている。
【００３９】
図４は、システム構築履歴データベースサーバの構成を示す図である。適宜図１を参照する。システム構築履歴データベースサーバ４００は、主記憶装置４１０、ＣＰＵ４２０及びインターフェース４３０を含んで構成され、ディスクドライブ４４０が接続されている。ディスクドライブ４４０には、サイジング支援サーバ１００に提供されるデータなどが格納され、例えば、システム構築履歴情報４５０（図９参照）が格納されている。
【００４０】
主記憶装置４１０は、ＣＰＵ４２０によって実行されるプログラム及び当該プログラムの実行に必要なデータを記憶する。具体的には、サイジング支援サーバ１００にデータを提供するためのデータベースマネジメントシステム４１１が記憶される。ＣＰＵ４２０は、主記憶装置４１０に記憶されたプログラムを実行し、各種処理を実行する。インターフェース４３０は、サイジング支援サーバ１００にアクセスするために、ネットワーク６００に接続するインターフェースである。
【００４１】
図９は、システム構築履歴情報の例を示す図である。システム構築履歴情報４５０には、ユーザ名４５５、システム構築者のスキル４５１、構築システム構成４５２、システム性能要件４５３、アプリケーション要件４５４が格納される。
【００４２】
スキル４５１には、ユーザのシステム構築に携わった年数と自己評価による上級、中級、初級のレベルが格納される。構築システム構成４５２には、過去に構築したシステムのマシン情報（マシンスペック）、使用ＯＳ（Operating System）、利用ソフトウェア情報、処理性能情報が格納される。システム性能要件４５３には、利用者端末５００から入力されてサイジング支援サーバ１００が受信したシステム性能要件が格納される。アプリケーション要件４５４は、利用者端末５００から入力されてサイジング支援サーバ１００が受信したアプリケーション要件が格納される。
【００４３】
図９に示したシステム構築履歴情報４５０は、過去のシステム構築情報（例えば、構築システム構成４５２）、サイジング支援システム１に入力した、システム性能要件情報（例えば、システム性能要件４５３）、アプリケーション要件情報（例えば、アプリケーション要件４５４）、システム構築者の情報（例えば、スキル４５１）を蓄積して、サイジング支援システム１に入力する項目についてシステムの利用者がどのような値を入力するべきか検討する場合の参考として履歴情報を提供する際に利用される。
【００４４】
図５は、測定システム構築後の利用者端末の構成を示す図である。適宜図１を参照する。図５に示す構成は、利用者端末５００に測定システムが構築され、擬似アプリケーション１４１及び処理性能取得アプリケーション１４２を配備した後の構成を示す。
【００４５】
利用者端末５００は、主記憶装置５１０、ＣＰＵ５２０及びインターフェース５３０を含んで構成され、ディスクドライブ５４０、入出力装置５５０が接続される。ディスクドライブ５４０には、サイジング支援サーバ１００から配布されるデータが格納され、具体的には、定義ファイル５４１、構築スクリプト５４２、ＳＱＬ文５４３が格納される。
【００４６】
主記憶装置５１０は、ＣＰＵ５２０によって実行されるプログラム及び当該プログラムの実行に必要なデータを記憶する。具体的には、サイジング支援サーバ１００にデータを提供するための、擬似アプリケーション１４１、処理性能取得アプリケーション１４２、Ｊ２ＥＥサーバ５１１が記憶される。ＣＰＵ５２０は、主記憶装置５１０に記憶されたプログラムを実行し、各種処理を実行する。インターフェース５３０は、サイジング支援サーバにアクセスするために、ネットワーク６００に接続するインターフェースである。
【００４７】
擬似アプリケーション１４１及び処理性能取得アプリケーション１４２は、サイジング支援サーバ１００で作成した擬似アプリケーションを配備したものである。Ｊ２ＥＥサーバ５１１は、サイジング支援サーバ１００からセットアッププログラムをダウンロードしてもよいし、利用者端末５００に予め格納しておくようにしてもよい。
【００４８】
利用者が入出力装置５５０を介して、利用者端末５００内の構築スクリプト５４２を実行する指示をすると、定義ファイル５４１で定義した測定システムが構築される。さらに、ＳＱＬ文５４３が実行されると、構築された測定システムのデータベースに、擬似アプリケーション１４１からアクセスするテーブル（図１０参照）を作成する。なお、構築スクリプト５４２の実行やＳＱＬ文５４３の実行は、入出力装置５５０の画面に表示されたＷｅｂブラウザから実行できるようにＧＵＩ（Graphical User Interface）を提供してもよいし、コマンドプロンプトの画面を利用してコマンドから行う方法でもよい。
【００４９】
図１０は、測定システムのデータベースに作成したテーブル例を示す図である。図１０に示す例は、１レコードで扱う項目数が３である場合であり、カラムを３つ用意したテーブルである。テーブル５６０には、例えば、カラムＡ、カラムＢ、カラムＣを含んでいる。テーブル５６０には、最大参照レコード数の件数分を登録することができるようにするとよい。
【００５０】
次に、利用者端末５００の入出力装置５５０の画面例について説明する。
図６は、測定モデルを選択する画面例を示す図である。利用者は、画面５５１に表示された構築するシステムパターンに対応した性能測定モデルのリスト（左側の欄）のなかから構築するシステムに近いモデルがどれか検討し選択する。図６に示す例ではＪＳＰ/Ｓｅｒｖｌｅｔ−ＤＢモデルを指定している。指定したモデルの概要を画面５５１の右側の欄に示し、指定したモデルが構築するシステムに近いモデルか否かを確認できる。なお、ＪＳＰはJavaServer Pages の略、ＤＢはData Baseの略である。
【００５１】
図１１は、システム性能要件、アプリケーション要件、構築対象のマシン情報を入力する画面例を示す図である。入出力装置５５０の画面には画面５５２が表示される。利用者端末５００では、まず、測定システムのモデルの指定を受け付け、選択された測定モデルに基づいて、利用者端末５００に「測定システム」が生成される。例えば、システム性能要件として目標レスポンス時間や１秒あたりのリクエスト数などの情報に基づいて、サイジング支援サーバ１００を用いて作成した測定システムで取得した処理性能からシステム性能要件を満たすようにサイジングを行う。
【００５２】
アプリケーション要件は、例えば、最大参照レコード数、１レコードで扱う項目数、各項目の平均データサイズや最大同時アクセス数である。これらの情報を基にデータベースにＳＱＬ文の実行によりテーブル５６０（図１０参照）を作成し、サイジング支援サーバ１００は、テーブル５６０へアクセスする処理を含む擬似アプリケーション１４１及び処理性能取得アプリケーション１４２を生成し、利用者端末５００に作成した擬似アプリケーション１４１及び処理性能取得アプリケーション１４２を配備し、動作させることで処理性能を測定する。
【００５３】
図１２は、サイジング支援を行う処理の手順を示すフローチャートである。図１２に示す処理は、サイジング支援サーバ１００と利用者端末５００とで行う処理の関係を示す。また、サイジング支援サーバ１００側の処理は、主にサイジング支援処理部１１１が行う処理である。
【００５４】
システム構築を行う利用者がシステムのサイジングを行うために、サイジング支援サーバ１００が利用者端末５００にログイン画面を表示し（ステップＳ１２０１）、利用者は、利用者端末５００のログイン画面からサイジング支援システム１にログインする（ステップＳ１２０２）。
【００５５】
サイジング支援サーバ１００がサイジング支援データベースサーバ２００から測定モデル情報３００を取得し、測定モデル情報３００に基づいて、利用者端末５００の入出力装置５５０の画面に性能測定モデルのリストが表示される（ステップＳ１２０３）。表示される画面例は、図６に示した（画面５５１参照）。利用者端末５００は、利用者から性能の測定モデルのリストから測定モデルの選択を受け付け、サイジング支援サーバ１００に送信する（ステップＳ１２０４）。
【００５６】
サイジング支援サーバ１００は、受信したモデルに対応する、測定モデル情報３００に格納されるシステム性能要件３０４とアプリケーション要件３０５の項目（要件定義）をサイジング支援データベースサーバ２００から取得する（ステップＳ１２０５）。取得したデータに基づいて、要件項目を受け付ける画面（各要件定義入力画面）を利用者端末５００に表示する（ステップＳ１２０６）。利用者は、利用者端末５００が受信したシステム性能要件、アプリケーション要件、構築対象マシン情報などを受け付ける画面を介して、要件を入力する（ステップＳ１２０７）。なお、表示される画面例は図１１に示した。
【００５７】
利用者は、入力が難しい項目があるか否かを判断する（ステップＳ１２０８）。入力が難しい項目がない場合、すなわち、全ての入力ができる場合（ステップＳ１２０８，Ｎｏ）、利用者は、入力の項目に入力し完了ボタン（図１１参照）を押す。利用者端末５００は、完了ボタンの押下を受理すると（ステップＳ１２０９）、サイジング支援サーバ１００に入力された情報を送信する。
【００５８】
サイジング支援サーバ１００は、各要件定義（システム性能要件、アプリケーション要件、ＤＢアクセス方法など）やマシン情報を利用者端末５００から受信する。サイジング支援サーバ１００は、利用者端末５００から入力されたアプリケーション要件やＤＢアクセス方法を基に擬似アプリケーション１４１を自動生成する（ステップＳ１２１０）。擬似アプリケーションの作成処理手順のフローチャートは、図１３にて説明する。
【００５９】
サイジング支援サーバ１００は、ステップＳ１２０４において選択された性能の測定モデルを一意に識別するＩＤに基づき、測定モデル固有情報３１０から対応する定義ファイル３２０と構築スクリプト３３０、データベーステーブル作成テンプレート３４０をサイジング支援データベースサーバ２００から取得する（ステップＳ１２１１）。
【００６０】
そして、サイジング支援サーバ１００は、性能測定処理（図１４参照）を実施する（ステップＳ１２１２）。具体的には、性能の測定システムを構築するのに必要なプログラムを利用者端末５００に送信し、利用者端末５００に測定システムを構築する。サイジング支援サーバ１００は、利用者端末５００で取得した処理性能のデータに基づき、サイジングデータを算出する。なお、性能測定処理の手順のフローチャートは図１４にて説明する。
【００６１】
サイジング支援サーバ１００は、性能測定処理の結果（サイジングデータ）を利用者端末５００に表示する（ステップＳ１２１３）。利用者端末５００に表示されたサイジングデータを、利用者は確認する（ステップＳ１２１４）。サイジングデータの表示例は、図１５に示す。
【００６２】
また、ステップＳ１２０８において、表示された要件定義に入力が難しい項目がある場合（ステップＳ１２０８，Ｙｅｓ）、利用者は履歴検索ボタン（図１１参照）を押下する。利用者端末５００は、履歴検索ボタンの押下（履歴検索要求）を受理すると（ステップＳ１２１５）、履歴検索ボタンが押下を受理した時点ですでに入力している項目と一致する項目が多いシステム構築履歴情報４５０をシステム構築履歴データベースサーバ４００から取得し、入力済みの項目と一致率の高いシステム構築例を検索する（ステップＳ１２１６）。取得できるデータは図９で示したシステム構築履歴情報４５０である。
【００６３】
例えば、システム性能要件や構築対象マシン情報が確定している場合、それらの値が一致または近い値の履歴情報を取得する。また、類似のシステム構築履歴情報４５０の例が多い場合は、ステム構築者のスキルに基づいて上級者が構築したシステム構築履歴情報４５０に範囲を絞る（ステップＳ１２１７）。そして、システム構築履歴情報の例を利用者端末５００に表示し（ステップＳ１２１８）、利用者は、システム構築履歴情報の例を参照して入力をすることができる（ステップＳ１２１９）。入力が完了すると、ステップＳ１２０９に進む。
【００６４】
図１３は、擬似アプリケーション自動生成を行う処理の手順を示すフローチャートである。図１３に示す処理は、サイジング支援サーバ１００の擬似アプリケーション自動生成処理部１１２が行う処理である。
【００６５】
処理概要としては、サイジング支援データベースサーバ２００に格納されている処理パターンテンプレート３６０から、画面を作成するプログラムとデータアクセスプログラムのテンプレートを利用して、利用者端末５００から入力されたアプリケーション要件に従って擬似アプリケーション１４１を生成する処理の手順である。
【００６６】
サイジング支援サーバ１００は、サイジング支援データベースサーバ２００から処理パターンテンプレ―トを取得する（ステップＳ１３０１）。サイジング支援サーバ１００は、利用者端末５００から受信したアプリケーション要件に基づいて、ＧＵＩの入力テキストボックスを作成する処理パターンテンプレートを利用して、１レコードで扱うデータ項目数回繰り返す（ステップＳ１３０２）。１レコードで扱うデータ項目数回繰り返すことにより、入力値を受け付けるテキストボックスを作成する（ステップＳ１３０３）。
【００６７】
次に、サイジング支援サーバ１００は、データベーステーブル作成テンプレート３４０を利用して、データベースアクセス処理を実現するプログラムを作成する。データベーステーブル作成テンプレート３４０は、例えば、データベースを検索してその検索結果を取得するプログラムやデータベースのあるレコードを更新するプログラムを予め用意したものである。
【００６８】
サイジング支援サーバ１００は、ＤＢアクセスは参照か否かを判定する（ステップＳ１３０４）。ＤＢアクセスが参照の場合（ステップＳ１３０４，Ｙｅｓ）、ＤＢへ参照するＳＱＬ文を発行するプログラムを作成し（ステップＳ１３０７）、ステップＳ１３０６に進む。ＤＢアクセスが参照でない場合（ステップＳ１３０４，Ｎｏ）、サイジング支援サーバ１００は、ＤＢアクセスは更新か否かを判定する（ステップＳ１３０５）。ＤＢアクセスが更新の場合（ステップＳ１３０５，Ｙｅｓ）、ＤＢを更新するＳＱＬ文を発行するプログラムを作成し（ステップＳ１３０８）、ステップＳ１３０６に進む。ＤＢアクセスが更新でない場合（ステップＳ１３０５，Ｎｏ）、ステップＳ１３０６に進む。最後に、サイジング支援サーバ１００は、各々の処理実現したプログラムをマージして擬似アプリケーション１４１を生成する（ステップＳ１３０６）。
【００６９】
具体的には、ＪａｖａのDriverManagerクラスを利用してデータベースにアクセスし、Statementクラスを利用してＳＱＬ文を発行して、結果を取得するプログラムなどである。ＳＱＬ文の部分を変数にし、アプリケーション要件に基づいて、適宜、テンプレートを変更してプログラムを生成する。
【００７０】
図１４は、性能測定処理を行う処理の手順を示すフローチャートである。図１４に示す処理は、サイジング支援サーバ１００と利用者端末５００とで行う処理の関係を示す。また、サイジング支援サーバ１００側の処理は、性能測定処理部１１３が行う処理である。
【００７１】
サイジング支援サーバ１００は、図１２のステップＳ１２１１においてサイジング支援データベースサーバ２００から取得したデータベーステーブル作成テンプレート３４０を利用して、テーブル作成用ＳＱＬ文を作成する（ステップＳ１４０１）。具体的には、データベースにテーブルを作成とデータを作成するＳＱＬ文を作成する。このＳＱＬ文は、例えば、利用者端末５００に入力された１レコードで扱う項目数が３であれば、カラムを３つ用意したテーブルに、各項目の平均データサイズ分の任意の文字列で作成したデータを、最大参照レコード数の件数分をテーブルに登録することを実現する処理を記述したものである。テーブルの作成例は図１０に示した。
【００７２】
サイジング支援サーバ１００は、サイジング支援データベースサーバ２００から取得した定義ファイル３２０と構築スクリプト３３０、作成したＳＱＬ文を利用者端末５００に配布する（ステップＳ１４０２）。
【００７３】
利用者端末５００は、受信した構築スクリプト３３０を実行し（ステップＳ１４０３）、測定システムを構築して測定システムを稼働させる。
【００７４】
また、サイジング支援サーバ１００は、擬似アプリケーション１４１と処理性能取得アプリケーション１４２を利用者端末５００に配布し（ステップＳ１４０４）、利用者端末５００は、受信した擬似アプリケーション１４１と処理性能取得アプリケーション１４２を配備する（ステップＳ１４０５）。そして、利用者端末５００は、擬似アプリケーション１４１を実行する（ステップＳ１４０６）。なお、アプリケーション（擬似アプリケーション１４１と処理性能取得アプリケーション１４２など）の実行は、自動実行プログラムを利用者端末５００に配布してもよいし、例えば、手動で擬似アプリケーション１４１を実行してもよい。
【００７５】
そして、利用者端末５００は、処理性能取得アプリケーション１４２を利用してログ（処理性能情報）の取得を行う（ステップＳ１４０７）。具体的には、処理性能を取得するためにＪＭＸ（Java Management Extensions）などを利用してＪａｖａＶＭ（Virtual Machine）が消費するメモリを測定し、１リクエストあたりの使用メモリの算出やＯＳのコマンドなどを利用してプログラムが起動してから終了するまでの時間と実際の処理時間を収集する。なお、ステップＳ１４０７における処理性能情報には、利用者端末５００（クライアント）のマシン情報が含まれている。
【００７６】
サイジング支援サーバ１００は、利用者端末５００において取得したログから実行ＣＰＵ時間に基づくＣＰＵコア数や使用メモリサイズを算出し、サイジング支援データベースサーバ２００からＣＰＵ相対性能比を取得して構築対象マシンの処理性能に換算し、システム性能要件を満たすマシン台数及びＣＰＵコア数を算出することによってサイジングデータを算出する（ステップＳ１４０８）。そして、算出結果をサイジング支援処理部１１１にサイジングデータを返す（ステップＳ１４０９）。
【００７７】
ここで、ステップＳ１４０８における、システム性能要件を満たすマシン規模の例としてＣＰＵコア数の算出方法について、具体例を説明する。サイジング支援サーバ１００は、リクエスト一件あたりのプログラムの処理時間（実行ＣＰＵ時間）を取得し、１秒に処理できるリクエスト数を算出する。例えば、実行ＣＰＵ時間が０．１秒とすると、１秒に処理できるリクエスト数は、１０件になる。ただし、リソースであるＣＰＵ使用率がネックとならないように、測定モデルごとにＣＰＵ使用率の上限値が７０％とすると、１個のＣＰＵにより１秒で処理できるリクエスト数は７件（現状のＣＰＵでの処理リクエスト数をＡとする。）となる。
【００７８】
測定されたマシン情報をＸ（例えば、ＣＰＵのクロック数）、構築対象マシン情報をＹ、ＣＰＵ相対性能比３５０に基づくマシン性能の相対性能比をＺとすると、測定システムで測定した値（例えば、Ａ）を、構築対象のマシン用に補正する。この補正した値（Ａ×（Ｙ／Ｘ）×Ｚ））を基にシステム性能要件を満たすマシン規模を算出することができる。すなわち、図１１でユーザが入力するシステム性能要件の１秒あたりのリクエスト数をＢとすると、要求リスエスト数を満たすＣＰＵコア数は、
ＣＰＵコア数＝Ｂ／（Ａ×（Ｙ／Ｘ）×Ｚ））
から算出することができる。
【００７９】
本実施形態によれば、システムで実際に使用するアプリケーションのソフトウェアを購入する前に、アプリケーションに関する最小限の情報(処理パターンや処理するデータに関する情報)と、ハードウェアに関する情報と、を入力するだけでシステム性能要件を満たすハードウェアの要件を見積ることが可能になる。
【００８０】
また、最小限の情報の中にシステム構築前には入力が難しい項目が存在する場合にも過去のシステム構築情報から参考情報を得ることができる。システムの構築履歴をアプリケーションの扱うデータ量や処理方法、構築対象のマシンの仕様をキーにして検索することによって、システム性能要件に関する視点から類似したシステム構築例を検索することができる。さらにシステム構築者のスキルとリンクさせて提示することで、提示されたシステム構築履歴からより有効な情報を絞り込む判断基準を得ることもできる。
【００８１】
本実施形態のサイジング支援システム１は、図１に示したように、サイジング支援サーバ１００、サイジング支援データベースサーバ２００、システム構築履歴データベースサーバ４００、利用者端末５００から構成しているが、これに限定されるものではない。例えば、サイジング支援サーバ１００と利用者端末５００を含む構成としてもよい。この場合には、サイジング支援サーバ１００のディスクドライブ１４０（データベース）（図２参照）中に、サイジング支援データベースサーバ２００中のディスクドライブ２４０の情報（図３参照）及びシステム構築履歴データベースサーバ４００中のディスクドライブ４４０の情報（図４参照）を格納するとよい。
【符号の説明】
【００８２】
１        サイジング支援システム
１００    サイジング支援サーバ
１１０，２１０，４１０，５１０    主記憶装置
１１１    サイジング支援処理部
１１２    擬似アプリケーション自動生成処理部
１１３    性能測定処理部
１２０，２２０，４２０，５２０    ＣＰＵ（処理部）
１３０，２３０，４３０，５３０    インターフェース
１４０，２４０，４４０，５４０    ディスクドライブ
１４１    擬似アプリケーション
１４２    処理性能取得アプリケーション
２００    サイジング支援データベースサーバ
２１１，４１１    データベースマネジメントシステム
３００    測定モデル情報
３１０    測定モデル固有情報
３２０    定義ファイル
３３０    構築スクリプト
３４０    データベーステーブル作成テンプレート
３５０    ＣＰＵ相対性能比（マシン相対性能比）
３６０    処理パターンテンプレート
４００    システム構築履歴データベースサーバ
４５０    システム構築履歴情報
４５１    スキル
４５２    構築システム構成
４５３    システム性能要件
４５４    アプリケーション要件
５００    利用者端末（クライアント）
５１１    Ｊ２ＥＥサーバ
５４１    定義ファイル
５４２    構築スクリプト
５４３    ＳＱＬ文
５５０    入出力装置
６００    ネットワーク
【図１】
2011060053.tif 000003
【図２】
2011060053.tif 000004
【図３】
2011060053.tif 000005
【図４】
2011060053.tif 000006
【図５】
2011060053.tif 000007
【図６】
2011060053.tif 000008
【図７】
2011060053.tif 000009
【図８】
2011060053.tif 000010
【図９】
2011060053.tif 000011
【図１０】
2011060053.tif 000012
【図１１】
2011060053.tif 000013
【図１２】
2011060053.tif 000014
【図１３】
2011060053.tif 000015
【図１４】
2011060053.tif 000016
【図１５】
2011060053.tif 000017