(57)【要約】【課題】顧客システムを仮想システム上で開発・評価することによって、ユーザ要求を満たすハードウェア構成の見積もりを自動で作成するとともに、サイジングに最適なハードウェア選択を含めたスペックを算出する技術を提供する。【解決手段】アプリケーションを動作させる仮想システムを構築する仮想マシンを作成し、アプリケーションを仮想システムで実行させて仮想システムを構成するリソースの性能測定結果を採取する情報収集手段と、物理システムと仮想システムにおけるリソースの性能比を格納する物理／仮想性能比データベースと、ハードウェアのスペック情報を格納する製品データベースと、性能測定結果と性能比から物理システムを構成するリソースのスペックを見積もり、リソースのスペックとハードウェアのスペック情報を基にハードウェアの構成情報を作成する構成情報生成手段とを備えるハードウェア構成見積システムとする。【選択図】      図１
2014174609.tif 000002
【特許請求の範囲】
【請求項１】
物理システムで使用するアプリケーションを動作させる仮想システムを構築するための仮想マシンを作成し、前記アプリケーションを前記仮想システムで実行させて前記仮想システムを構成するリソースの性能測定を実施して性能測定結果を採取する情報収集手段と、
前記物理システムと前記仮想システムとにおける前記リソースの性能比を格納する物理／仮想性能比データベースと、
ハードウェアのスペック情報を格納する製品データベースと、
前記性能測定結果と前記性能比とから前記物理システムを構成する前記リソースのスペックを見積もり、前記リソースのスペックと前記ハードウェアのスペック情報とを基に前記ハードウェアの構成情報を作成する構成情報生成手段と、を備えることを特徴とするハードウェア構成見積システム。
【請求項２】
前記情報収集手段は、
前記仮想システムの性能測定を実行して前記性能測定結果を採取する情報採取ツールを前記仮想マシンにインストールすることを特徴とする請求項１に記載のハードウェア構成見積システム。
【請求項３】
前記情報収集手段は、
前記仮想マシンを作成して前記アプリケーションを動作させるとともに、前記情報採取ツールを起動する仮想マシン管理手段と、
前記仮想システムの性能測定を実行して前記性能測定結果を採取する前記情報採取ツールを前記仮想マシンにインストールする情報採取ツール作成手段と、を有し、
前記仮想マシンは、前記仮想マシン管理手段によって前記情報採取ツールが起動されると前記アプリケーションを動作させ、
前記情報採取ツールは、前記アプリケーションの動作によって得られた前記性能測定結果を採取することを特徴とする請求項２に記載のハードウェア構成見積システム。
【請求項４】
前記情報採取ツールは、
前記性能測定として、前記仮想システムが使用しているメモリ量と、中央演算処理装置の使用率と、ネットワークトランザクション及び入出力トランザクションの流量に関する測定を行うことを特徴とする請求項３に記載のハードウェア構成見積システム。
【請求項５】
前記情報採取ツールは、
前記仮想マシンで実行している命令をカウントすることを特徴とする請求項３または４に記載のハードウェア構成見積システム。
【請求項６】
前記物理／仮想性能比データベースは、
前記物理マシンと前記仮想マシンとの性能比を含む物理／仮想性能比テーブルをもつことを特徴とする請求項１乃至５のいずれか一項に記載のハードウェア構成見積システム。
【請求項７】
前記構成情報生成手段は、
前記物理／仮想性能比テーブルを参照して、
前記ネットワークトランザクションに関する前記性能測定結果を基にネットワーク補正を実行し、
前記入出力トランザクションに関する前記性能測定結果を基に入出力補正を実行し、
前記命令のカウントに関する前記性能測定結果を基に前記命令ごとの補正を実行し、
前記中央演算処理装置に関する前記性能測定結果を基に前記中央演算処理装置の補正を実行し、
前記物理システムの構成を見積もることを特徴とする請求項６に記載のハードウェア構成見積システム。
【請求項８】
前記構成情報生成手段は、
前記性能測定結果と前記性能比とから見積もられた前記リソースのスペックと、前記製品データベースに格納された前記ハードウェアの前記スペック情報と、を対応させ、
前記ユーザ要求を満たす前記ハードウェアの構成情報を記載したハードウェア構成情報リストを作成することを特徴とする請求項１乃至７のいずれか一項に記載のハードウェア構成見積システム。
【請求項９】
物理システムで使用するアプリケーションを動作させる仮想システムを構築するための仮想マシンを作成し、
前記アプリケーションを前記仮想システムで実行させて前記仮想システムを構成するリソースの性能測定を実施して性能測定結果を採取し、
該性能測定結果と、前記リソースの前記物理システムと前記仮想システムとにおける性能比を格納する物理／仮想性能比データベースに格納された前記性能比と、から前記物理システムを構成する前記リソースのスペックを見積もり、
該スペックと、ハードウェアと該ハードウェアのスペック情報とを格納する製品データベースに格納された前記スペック情報と、を基に前記ハードウェアの構成情報を作成することを特徴とするハードウェア構成見積方法。
【請求項１０】
物理システムで使用するアプリケーションを動作させる仮想システムを構築するための仮想マシンを作成する処理と、
前記アプリケーションを前記仮想システムで実行させて前記仮想システムを構成するリソースの性能測定を実施して性能測定結果を採取する処理と、
該性能測定結果と、前記リソースの前記物理システムと前記仮想システムとにおける性能比を格納する物理／仮想性能比データベースに格納された前記性能比と、から前記物理システムを構成する前記リソースのスペックを見積もる処理と、
該スペックと、ハードウェアと該ハードウェアのスペック情報とを格納する製品データベースに格納された前記スペック情報と、を基に前記ハードウェアの構成情報を作成する処理と、をコンピュータに実行させることを特徴とするハードウェア構成見積プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想システムを利用した物理システム構築におけるハードウェア構成見積システム、ハードウェア構成見積方法及びハードウェア構成見積プログラムに関する。
【背景技術】
【０００２】
システムの構築やサイジングにおいて、ユーザ要求を満たしつつ、コスト低減のためにオーバースペックにならないようにシステム設計を行うためには、十分な製品知識と熟練したＳＩ技術が必要である（ＳＩ：Ｓｙｓｔｅｍ  Ｉｎｔｅｇｒａｔｉｏｎ）。しかしながら、熟練したＳＩ技術者をセールスフェーズで十分な数をそろえることは困難である。
【０００３】
サイジングの見積もりに対する解決策のひとつとして、仮想化システムをクラウドにおくＩａａＳが考えられる（ＩａａＳ：Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）。しかしながら、セキュリティや実行性能などの観点から、物理サーバを用いたシステムは現在でも根強く利用されている。物理サーバを用いたシステムを仮想化する際には、その構造上オーバーヘッドが存在する。そのため、単に仮想システム上に構築したシステムを同等のリソースを持つ物理システムに置き換えるとオーバースペックになる。オーバースペックの見積もりは、営業活動においてネックとなるため、的確な見積もり作成を実施することが求められる。
【０００４】
特許文献１には、仮想化されたシステムの性能評価を行う性能評価システムについて開示されている。
【０００５】
特許文献１の性能評価システムでは、まず、プロセスデータフローモデルにおけるデータフローを、仮想サーバモデルのデータフローに変換し、さらに物理サーバモデル上のデータフローに変換する。次に、物理サーバモデルにおけるデータフローのそれぞれの負荷を算出するとともに、物理サーバモデルの各要素にかかる負荷を算出する。さらに、物理性能ＤＢを参照し、物理サーバモデル中の各要素の負荷情報から、それらの１リクエストあたりの使用率を算出する（ＤＢ：Ｄａｔａｂａｓｅ）。最後に、物理サーバモデルにおける各要素の１リクエストあたりの使用率と、システムに入力されるリクエストの到着率に基づいて性能評価を実施し、性能評価結果をＳＥに対して提示する（ＳＥ：Ｓｙｓｔｅｍ  Ｅｎｇｉｎｅｅｒ）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−１４６０１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一般に、システム構築を行う場合、評価段階から本番環境と同等のハードウェア環境を整備すると多額の費用がかかる。そのため、小規模環境での評価を行う場合が多い。しかしながら、ハードウェア環境の制限等により、必要な性能評価項目のうち全てを実施できない状況でハードウェア構成見積もりを実施しなければならないという問題がある。
【０００８】
また、ユーザ要求に過不足なくサイジングすることが必要であるが、正確にサイジングするためにはハードウェアに関する深い知識を要する。そのため、ハードウェアに関する知識の少ないＳＥがハードウェア構成の見積もりにおけるサイジングを誤ると、多くの失敗コストが発生するという問題がある。
【０００９】
特許文献１によれば、仮想化されたシステムの性能を容易に見積もることができる。しかしながら、性能評価結果をＳＥによって判断させており、サイジングに最適なハードウェア選択を含めたスペック算出については考慮されていない。
【００１０】
本発明は、顧客システムを仮想システム上で開発・評価することによって、サイジングに最適なハードウェア選択を含めたスペックを算出するとともに、ユーザ要求を満たすハードウェア構成の見積もりを自動で作成する技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明のハードウェア構成見積システムは、物理システムで使用するアプリケーションを動作させる仮想システムを構築するための仮想マシンを作成し、アプリケーションを仮想システムで実行させて仮想システムを構成するリソースの性能測定を実施して性能測定結果を採取する情報収集手段と、物理システムと仮想システムとにおけるリソースの性能比を格納する物理／仮想性能比データベースと、ハードウェアのスペック情報を格納する製品データベースと、性能測定結果と性能比とから物理システムを構成するリソースのスペックを見積もり、リソースのスペックとハードウェアのスペック情報とを基にハードウェアの構成情報を作成する構成情報生成手段と、を備える。
【００１２】
本発明のハードウェア構成見積方法においては、物理システムで使用するアプリケーションを動作させる仮想システムを構築するための仮想マシンを作成し、アプリケーションを仮想システムで実行させて仮想システムを構成するリソースの性能測定を実施して性能測定結果を採取し、性能測定結果と、リソースの物理システムと仮想システムとにおける性能比を格納する物理／仮想性能比データベースに格納された性能比と、から物理システムを構成するリソースのスペックを見積もり、スペックと、ハードウェアとハードウェアのスペック情報とを格納する製品データベースに格納されたスペック情報と、を基にハードウェアの構成情報を作成する。
【００１３】
本発明のハードウェア構成見積プログラムは、物理システムで使用するアプリケーションを動作させる仮想システムを構築するための仮想マシンを作成する処理と、アプリケーションを仮想システムで実行させて仮想システムを構成するリソースの性能測定を実施して性能測定結果を採取する処理と、性能測定結果と、リソースの物理システムと仮想システムとにおける性能比を格納する物理／仮想性能比データベースに格納された性能比と、から物理システムを構成するリソースのスペックを見積もる処理と、スペックと、ハードウェアとハードウェアのスペック情報とを格納する製品データベースに格納されたスペック情報と、を基にハードウェアの構成情報を作成する処理と、をコンピュータに実行させる。
【発明の効果】
【００１４】
本発明によれば、サイジングに最適なハードウェア選択を含めたスペックを算出でき、ユーザ要求を満たすように仮想システム上で評価・開発した顧客システムのハードウェア構成を自動で見積もることができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態に係る製品構成見積システムの構成を示すブロック図である。
【図２】全体のシステム構成とハードウェア構成生成までの各処理部の連携を示す図である。
【図３】仮想システムを利用した物理システム構築におけるハードウェア構成見積もりの動作のフローチャートである。
【図４】情報収集手段で実施する仮想化プラットフォームの作成手順のフローチャートである。
【図５】性能評価を実施し、構成情報生成に必要な情報採取動作のフローチャートである。
【図６】物理システム構成情報生成のフローチャートである。
【図７】ＣＰＵエミュレーションにおける各モードの違いによるオーバーヘッドの違いを説明するための図である（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）。
【図８】物理マシンと仮想マシンの性能比に関する物理／仮想性能比テーブルの一例である。
【発明を実施するための形態】
【００１６】
以下に、本発明を実施するための形態について図面を用いて説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
【００１７】
（構成）
図１は、本発明の実施形態に係るハードウェア構成見積システムを説明するためのブロック図である。また、図２は、本実施形態に係るハードウェア構成見積システムによって作成した仮想化プラットフォームにおける仮想マシンを含めた仮想システムの構成を説明するための概念図である。
【００１８】
図１のハードウェア構成見積システム１は、図２のような物理サーバ２で動作するホストＯＳ３の環境上に構築される。なお、図示していないが、仮想マシン２１の内部にホストＯＳ３と異なるゲストＯＳの環境を整えてもよい。また、図２には、物理サーバ２上でホストＯＳ３が稼働するホストＯＳ型の仮想化の例を示したが、ホストＯＳ３を用いないハイパーバイザ型の仮想化を用いてもよい。
【００１９】
（ハードウェア構成見積システム）
図１に示したように、本実施形態に係るハードウェア構成見積システム１は、情報収集手段１０と、構成情報生成手段４０と、物理／仮想性能比ＤＢ４１と、製品ＤＢ４２と、を備える。
【００２０】
（情報収集手段）
まず、情報収集手段１０について詳細に説明する。
【００２１】
情報収集手段１０は、主に、仮想化プラットフォームの作成処理と、顧客システムにおいて動作させるアプリケーションの性能測定を実施して性能測定結果を取得する情報採取処理と、を実行する。
【００２２】
情報収集手段１０は、入力手段１０１と、仮想化プラットフォーム作成手段１０２と、記憶手段１０５と、収集手段１０６と、判断手段１０７と、編集手段１０８と、データ出力手段１０９と、を有する。
【００２３】
入力手段１０１は、ＣＰＵ・メモリの使用率、ネットワーク・入出力の流量などといったハードウェアに対するユーザ要求を入力する。ユーザ要求は、ＳＥなどによってその都度入力されてもよいし、予め用意されたフォーマットに従って記入された情報から必要となるデータのみを自動的に入力するように構成してもよい。なお、入力手段１０１から入力されたユーザ要求内容は、記憶手段１０５に格納される。
【００２４】
仮想化プラットフォーム作成手段１０２は、図２の概念図に示したように、顧客システムで動作させるアプリケーションを検証するための仮想マシン２１をホストＯＳ３環境に作成し、仮想化プラットフォームを作成する。なお、ホストＯＳ３ではなく、ハイパーバイザを用いた構成であってもよい。
【００２５】
仮想化プラットフォーム作成手段１０２は、仮想マシン管理手段１０３と、情報採取ツール作成手段１０４と、を含む。
【００２６】
仮想マシン管理手段１０３は、対象システム２０に仮想マシン２１を作成する。なお、仮想マシンの作成には、ｌｉｂｖｉｒｔなどを用いることができる。仮想マシン管理手段１０３は、顧客システムの構成に応じて複数の仮想マシン２１を作成することができる。
【００２７】
また、仮想マシン管理手段１０３は、仮想マシン２１にアプリケーション２２を動作させるとともに、後述する情報採取ツールを起動する。
【００２８】
また、仮想マシン管理手段１０３は、記憶手段１０５に格納されたユーザ要件に従って、仮想マシン２１上に顧客システムに対応する仮想システムを構築する。ユーザ要件は、性能を含むシステム要件を含む。ユーザ要件は、顧客システムにおいて動作させるアプリケーションを実行する際に、各リソースに対して必要とされるスペックに関する情報を含む。仮想マシン管理手段１０３は、例えば、物理システムを構成するハードウェアの構成に含まれるリソースを仮想システム上に構築することができる。
【００２９】
さらに、仮想マシン管理手段１０３は、記憶手段１０５に格納されたシステム構築情報を基に、リソースを再配分して仮想システムを再構築することができる。システム構築情報は、顧客システムを構築するうえで参考となるリソース配分に関する情報を含む。
【００３０】
情報採取ツール作成手段１０４は、それぞれの仮想マシン２１に情報採取ツール２３をインストールする。また、情報採取ツール作成手段１０４は、それぞれの仮想マシン２１にアプリケーション２３をインストールする。
【００３１】
仮想マシン管理手段１０３によって作成された仮想マシン２１に、情報採取ツール作成手段１０４によって情報採取ツール２３及びアプリケーション２２がインストールされることによって、仮想化プラットフォームが形成される。
【００３２】
記憶手段１０５は、情報採取ツール２３のインストールファイルやユーザ要求に関する情報（ユーザ要件）やリソース配分に関する情報（システム構築情報）などを格納する。また、記憶手段１０５は、後述する性能測定結果や採取データ３０を格納する。なお、図１において、記憶手段１０５は、仮想化プラットフォーム作成手段１０２の外部に配置されているように描かれているが、仮想化プラットフォーム作成手段１０２の内部に含まれていてもよい。
【００３３】
収集手段１０６は、図２の仮想マシン２１とデータ通信可能に接続されており、図２の情報採取ツール２３から、それぞれの仮想マシン２１で得られた性能測定結果を取得する。
【００３４】
判断手段１０７は、記憶手段１０５に格納されたユーザ要求に関する情報を参照し、情報採取ツール２３から収集手段１０６によって取得された性能測定結果がユーザ要件を満たしているか否かをチェックする。
【００３５】
編集手段１０８は、収集手段１０６が収集した性能測定結果を、構成情報生成手段４０で処理できるフォーマットをもつ採取データ３０に編集する。
【００３６】
データ出力手段１０９は、編集手段１０８によって編集された採取データ３０を構成情報生成手段４０に送信する。
【００３７】
以上が情報収集手段１０の構成と各構成要素の機能についての説明である。
【００３８】
（構成情報生成手段）
次に、構成情報生成手段４０について詳細に説明する。
【００３９】
構成情報生成手段４０は、主に、物理システムを構成するためのハードウェア構成リストの作成処理を実行する。
【００４０】
構成情報生成手段４０は、データ取得手段４０１と、参照手段４０２と、システム構成構築手段４０３と、リスト出力手段４０４と、を有する。
【００４１】
データ取得手段４０１は、情報収集手段１０のデータ出力手段１０９から送信された採取データ３０を取得する。
【００４２】
参照手段４０２は、物理／仮想性能比ＤＢ４１及び製品ＤＢ４２を参照し、システム構成構築手段４０３が物理システムの構成を構築する際に必要となるデータをシステム構成構築手段４０３に提示する。
【００４３】
システム構成構築手段４０３は、データ取得手段４０１が取得した採取データ３０と、参照手段４０２から提示されたＤＢ内のデータとを基に、ＣＰＵや命令ごとの性能情報を補正し、物理システムのハードウェア構成リスト５０を作成する。
【００４４】
また、システム構成構築手段４０３は、仮想システムにおけるアプリケーションの性能評価から得られた採取データ３０及び物理／性能仮想比ＤＢ４１に含まれるユーザ要件に関する情報から、物理システムで必要とされるスペックを算出する。
【００４５】
リスト出力手段４０４は、システム構成構築手段４０３によって作成されたハードウェア構成リストを出力する。
【００４６】
以上が、構成情報生成手段４０の構成と各構成要素の動作についての説明である。
【００４７】
（データベース）
次に、構成情報生成手段４０の参照手段４０２が参照するＤＢ（データベース）について説明する。
【００４８】
物理／仮想性能比ＤＢ４１は、それぞれのリソースに対応した仮想マシンと物理マシンとの性能比を収めている。言い換えると、物理／仮想性能比ＤＢ４１は、各リソース（ＣＰＵ・メモリ・ネットワーク・入出力）に関して、物理システムと仮想システムとの性能比を収めている。また、ネットワークや入出力は、ＮＩＣドライバによっても性能比が異なるため、物理／性能仮想比ＤＢ４１には、ネットワークと入出力のそれぞれに対応した情報が格納されている（ＮＩＣ：Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）。
【００４９】
製品ＤＢ４２には、具体的なハードウェア構成情報が格納されている。製品ＤＢ４２に格納されているハードウェア構成情報は、物理システムを構成するハードウェアに関する情報として、具体的なハードウェア製品に関する情報と、その製品のスペックに関するスペック情報とを含む。
【００５０】
システム構成構築手段４０３は、製品ＤＢ４２に格納されているハードウェア製品のスペック情報を元に、採取データ３０及び物理／性能仮想比ＤＢ４１の情報を基に算出したスペックを満たす製品を選択する。
【００５１】
以上が、構成情報生成手段４０の参照手段４０２が参照するＤＢについての説明である。物理／仮想性能比ＤＢ４１及び製品ＤＢ４２は、ストレージやハードディスクなどの記憶装置で構成することができる。
【００５２】
以上が、本実施形態に係るハードウェア構成見積装置１の構成についての説明である。なお、上述の実施形態は一例であって、本実施形態に種々の変更・追加を行ったものについても、本発明の範囲に含まれる。
【００５３】
（対象システム）
ここで、図２を用いて、図１のハードウェア構成見積システム１によって構築される仮想システムについて説明する。
【００５４】
対象システム２０は、アプリケーション２２及び情報採取ツール２３を含む複数の仮想マシン２１で構成される。対象システム２０は、情報収集手段１０の仮想化プラットフォーム作成手段１０２によって作成される仮想マシン２１を含む。仮想マシン２１は、仮想マシン管理手段１０３によって管理される。
【００５５】
対象システム２０は、図示しないエミュレータ又は仮想化ソフト上で動作する。ホストＯＳ型の仮想化の場合、ホストＯＳ３上で動作するエミュレータ又は仮想化ソフトを用い、そのエミュレータ又は仮想化ソフト上に仮想マシン２１が構築される。また、ハイパーバイザ型の仮想化の場合、ホストＯＳ３は省略され、ハイパーバイザ（仮想化ソフト）上に仮想マシン２１を構築することができる。
【００５６】
図２の例では、対象システム２０と同様に、情報収集手段１０もホストＯＳ３上で動作する。なお、情報収集手段１０は、エミュレータ又は仮想化ソフトを介さずにホストＯＳ３上で直接動作させることができる。また、ホストＯＳ３を用いないハイパーバイザ型の場合、情報収集手段１０を仮想マシン２１と同じハイパーバイザ（仮想化ソフト）上で動作させることができる。
【００５７】
仮想マシン２１は、情報収集手段１０の仮想化プラットフォーム作成手段１０２内の仮想マシン管理手段１０３によって作成される。
【００５８】
仮想マシン２１は、顧客システムの構築・開発・評価を行うシステムであり、必要に応じて物理サーバ２上に複数システムを作成することが可能である。仮想マシン２１は、顧客システムにおいて動作させるアプリケーション２２を仮想システム上で動作させて仮想システムの性能測定を実施し、情報採取ツール２３によって仮想システムの性能測定結果を採取する。
【００５９】
アプリケーション２２は、顧客システム上で動作させるアプリケーションである。アプリケーション２２は、情報採取ツール１０４によって、仮想マシン２１にインストールされ、仮想マシン管理手段によって実行される。本実施形態においては、仮想システム上でアプリケーション２２を動作させることによって仮想システムの性能評価を実施し、顧客システムで必要とされるリソース量を見積もる。
【００６０】
情報採取ツール２３は、情報収集手段１０の仮想化プラットフォーム作成手段１０２内の情報採取ツール作成手段１０４によって作成される。また、情報採取ツール２３は、情報採取ツール作成手段１０４によって情報採取に必要となるインストールファイルをインストールされる。
【００６１】
情報採取ツール２３は、仮想マシン２１に構築された仮想システムの性能測定を実施し、情報収集手段１０に性能測定結果を送信する。
【００６２】
以上が、図２に関する説明である。なお、図２は、対象システム２０の構成、対象システム２０内における仮想マシン２１の配置、情報収集手段１０から構成情報生成手段４０へのデータの流れをイメージ化した概念図である。
【００６３】
（動作）
次に、図３のフローチャートを用いて、仮想システムを利用した物理システム構築におけるハードウェア構成見積もりの動作例について説明する。なお、一部の動作については簡単な説明に留め、詳細については後述する。
【００６４】
まず、図３において、情報収集手段１０の仮想マシン管理手段１０３は、仮想マシン２１に顧客システムに対応した仮想システムを構築するため、仮想化プラットフォームを作成する（ステップＳ３１）。仮想化プラットフォームの作成処理については、後ほど図４を用いて詳細に説明する。
【００６５】
次に、システムインテグレーションによって、顧客システムにおいて実行するアプリケーション２２の環境設定等を行う（ステップＳ３２）。
【００６６】
システムインテグレーションにおいては、コンピュータやネットワーク内部に存在するソフトウェアやテクノロジを選択・組み合わせ、顧客システムの利用目的にあった仮想システムを構築する。例えば、仮想マシン２１が作成された段階で、各リソースに必要とされるユーザ要件の一部として記憶手段１０５に格納された情報を基に、仮想マシン管理手段１０３が仮想マシン２１上にリソースを配分して仮想システムを構築すればよい。また、例えば、入力手段１０１を介して入力されたシステム構築情報を基に、入力手段１０１によって仮想マシン２１上にリソースを配分させて仮想システムを構築してもよい。このように構築された仮想システムにおいて、アプリケーション２２の環境設定を行えばよい。
【００６７】
なお、性能測定を実施する要件が複数ある場合は、複数の仮想化マシン２１を生成し、それぞれの仮想化マシン２１において性能測定を実施する。
【００６８】
各仮想化マシン２１の情報採取ツール２３は、それぞれの仮想化マシン２１において仮想システムの性能測定を実施する（ステップＳ３３）。情報採取処理については、後ほど図５を用いて詳細に説明する。
【００６９】
情報収集手段１０の収集手段１０６は、情報採取ツール２３から性能測定結果を取得し、判断手段１０７は、その性能測定結果が性能を含むシステム要件（ユーザ要件）を満たしているか否かをチェックする（ステップＳ３４）。
【００７０】
性能測定結果が、性能を含むシステム要件を満たしていない場合（ステップＳ３４でＮｏ）、チューニングを実施し（ステップＳ３５）、再度性能測定を実施する（ステップＳ３３）。
【００７１】
チューニングにおいては、システムや顧客システムにて動作するアプリケーション２２のパフォーマンス性能が悪い箇所がないかを確認し、性能が悪い箇所があれば改善する。具体的には、アプリケーション２２実行時のＩ／Ｏ量、ＣＰＵ負荷、メモリ使用量などのリソースの性能測定を行い、それらの性能測定結果がユーザ要件を満たすように改善する。例えば、仮想マシン管理手段１０３は、全てのリソースにおいて性能測定結果がユーザ要件を満たさなかった場合、記憶手段１０５に格納されたシステム構築情報を基に、リソースを再配分すればよい。また、ステップＳ３５においては、例えば、入力手段１０１を介して入力された情報を基に、入力手段１０１によって仮想マシン２１上の仮想システムをチューニングしてもよい。
【００７２】
なお、ユーザ要求にある最大負荷でチューニングを実施すれば、そのチューニングを基に顧客システムを物理システムとして構築した際に、ハードウェアの能力が不足するという事態を防ぐことができる。また、ユーザ要求の最大負荷を満たす構成で物理システムを構築すれば、ユーザ要求を超える過剰な性能を物理システムに組み込まなくても済むため、物理システムがオーバースペックとなることを防ぐこともできる。
【００７３】
ここで、性能測定結果が、性能を含むシステム要件を満たしている場合（ステップＳ３４でＹｅｓ）、情報収集手段１０のデータ出力手段１０９は、構成情報生成手段４０に性能測定結果（採取データ３０）を含む情報を送信する（ステップＳ３６）。
【００７４】
構成情報生成手段４０は、情報収集手段１０から取得した情報と、物理／仮想性能比ＤＢ４１及び製品ＤＢ４２の情報とを基に物理システム構成情報を生成し、ハードウェア構成リストを出力する（ステップＳ３７）。構成情報生成処理については、図６を用いて詳細に説明する。
【００７５】
以上が、仮想システムを利用した物理システム構築におけるハードウェア構成見積もりの動作例の説明である。
【００７６】
（仮想化プラットフォーム作成）
次に、図４のフローチャートを用いて、仮想化プラットフォームの作成処理の詳細の一例について説明する。
【００７７】
まず、情報収集手段１０の入力手段１０１を介して、仮想マシン２１を作成するのに必要なＣＰＵ・メモリ・ネットワーク・入出力などのリソースに関する情報を入力する（ステップＳ４１）。この入力作業は、作業者によって行うこともできるが、前もってユーザ要求として記憶手段１０５に登録されていたデータを用いてもよい。
【００７８】
次に、情報収集手段１０の仮想化プラットフォーム作成手段１０２は、仮想マシン管理手段１０３を用いて、ホストＯＳ３の環境に必要数の仮想マシン２１を作成する（ステップＳ４２）。作成する仮想マシン２１の数は、例えば、検証するアプリケーション２２の数に合わせればよい。
【００７９】
仮想化プラットフォーム作成手段１０２の情報採取ツール作成手段１０４は、それぞれの仮想マシン２１に情報採取ツール２３及びアプリケーション２２をインストールし、仮想化プラットフォームを作成する（ステップＳ４３）。
【００８０】
以上が、仮想化プラットフォームの作成処理の詳細の一例についての説明である。
【００８１】
（情報採取処理）
次に、図５のフローチャートを用いて、仮想システムの性能測定及び性能測定結果を採取データ３０に編集する情報採取処理の詳細の一例について説明する。
【００８２】
図５において、情報収集手段１０の仮想マシン管理手段１０３は、それぞれの仮想マシン２１において情報採取ツール２３を起動させる（ステップＳ５１）。
【００８３】
それぞれの仮想マシン２１は、性能測定を行うアプリケーション２２の実行を開始する（ステップＳ５２）。
【００８４】
情報採取ツール２３は、それぞれの仮想マシン２１において、仮想システムが使用しているメモリ量に関する測定結果を採取する（ステップＳ５３）。
【００８５】
次に、情報採取ツール２３は、それぞれの仮想マシン２１において、仮想システムによるＣＰＵ使用率、ネットワークトランザクション、入出力トランザクションに関する測定結果を採取する（ステップＳ５４）。なお、ステップＳ５４の測定は、各測定項目について一斉に行なわれる必要はなく、それぞれの測定項目を順次行うように設定してもよい。
【００８６】
そして、情報採取ツール２３は、それぞれの仮想マシン２１で実行している命令のカウントに関する測定結果を採取する（ステップＳ５５）。
【００８７】
ステップＳ５３からステップＳ５５までの処理は、性能測定が終了するまで繰り返す（ステップＳ５６）。なお、ステップＳ５３からステップＳ５５までの処理の順番は任意に入れ替えてよい。
【００８８】
測定が終了したら、それぞれの情報採取ツール２３で得た情報を情報収集手段１０に渡す（ステップＳ５７）。なお、性能測定は、全てのリソースでユーザ要件が満たされた段階で終了させるなど、事前に設定しておく。
【００８９】
情報収集手段１０の収集手段１０６は、各仮想マシン２１からシステムの構成情報につながる性能測定結果を取り出す（ステップＳ５８）。
【００９０】
情報収集手段１０の編集手段１０８は、取り出した各システムの構成情報につながる性能測定結果を編集し、採取データ３０として出力する（ステップＳ５９）。
【００９１】
以上が、性能測定および構成情報生成手段４０に必要な情報採取処理の詳細の一例についての説明である。
【００９２】
（物理システム構成情報生成）
図６のフローチャートを用いて、物理システム構成情報作成処理の詳細の一例について説明する。
【００９３】
構成情報生成手段４０のシステム構成構築手段４０３は、情報採取ツール２３からデータ取得部４０１が取得した採取データ３０を読み取る（ステップＳ６１）。
【００９４】
システム構成構築手段４０３は、物理／仮想性能比ＤＢ４１を参照し、仮想システムで得られたネットワーク流量に関する性能評価結果を、物理システムにおいて必要となるスペックへと補正するネットワーク補正を実施する（ステップＳ６２）。例えば、仮想システムで得られたネットワーク流量に関する性能値に、物理／仮想性能比ＤＢ４１に格納されたネットワーク流量に関する性能比をかければ、物理システムで必要となるスペックが算出できる。
【００９５】
システム構成構築手段４０３は、物理／仮想性能比ＤＢ４１を参照し、仮想システムで得られた入出力流量に関する性能評価結果を、物理システムにおいて必要となるスペックへと補正する入出力補正を実施する（ステップＳ６３）。例えば、仮想システムで得られた入出力流量に関する性能値に、物理／仮想性能比ＤＢ４１に格納された入出力流量に関する性能比をかければ、物理システムで必要となるスペックが算出できる。
【００９６】
システム構成構築手段４０３は、物理／仮想性能比ＤＢ４１を参照し、仮想システムで得られた命令のカウントに関する性能評価結果を、物理システムにおいて必要となるスペックへと補正する命令ごとの補正を実施する（ステップＳ６４）。例えば、仮想システムで得られた命令のカウントに関する性能値に、物理／仮想性能比ＤＢ４１に格納された命令のカウントに関する性能比をかければ、物理システムで必要となるスペックが算出できる。
【００９７】
システム構成構築手段４０３は、物理／仮想性能比ＤＢ４１を参照し、仮想システムで得られたＣＰＵに関する性能評価結果を、物理システムにおいて必要となるスペックへと補正するＣＰＵ補正を実施する（ステップＳ６５）。例えば、仮想システムで得られたＣＰＵに関する性能値に、物理／仮想性能比ＤＢ４１に格納されたＣＰＵに関する性能比をかければ、物理システムで必要となるスペックが算出できる。
【００９８】
リスト出力手段４０４は、システム構成構築手段４０３によって作成されたハードウェア構成リスト５０を出力する（ステップＳ６６）。なお、ハードウェア構成リスト５０は、物理システムで必要となる各リソースのスペックと、製品ＤＢ４２に格納されたハードウェア製品のスペック情報とを基に作成される。例えば、物理システムで必要となる各リソースのスペックを最低限度超えるスペック情報を有するハードウェア製品をリストアップすればよい。
【００９９】
以上が、図６の物理システム構成情報に関する作成処理の詳細の一例についての説明である。
【０１００】
（エミュレーション）
図７を用いて、ＣＰＵエミュレーションにおける各モードの違いによるオーバーヘッドに関して説明する。
【０１０１】
エミュレーションの仕方は、ソフトウェアの命令によって異なる。
【０１０２】
図７によれば、入出力またはセンシティブ命令のいずれでもない場合、エミュレーションは、ゲストモードにおいてネイティブで実行される。この場合、オーバーヘッドはほとんどない。
【０１０３】
特権命令などのセンシティブティブ命令である場合、エミュレーションは、ホストカーネルモードにおいてＫＶＭモジュール経由で実行される（ＫＶＭ：Ｋｅｒｎｅｌ−ｂａｓｅｄ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）。この場合、オーバーヘッドは小さい。
【０１０４】
入出力の場合、エミュレーションは、ホストユーザモードにおいてＱＥＭＵ経由で実行される。この場合、オーバーヘッドが大きくなる。
【０１０５】
このように、エミュレーションの仕方には、ネイティブで実行されるものや、ＱＥＭＵで実行されるものなどがあり、どのように命令が実行されるかにより、そのオーバーヘッドは異なる。すなわち、命令ごとの補正が必要となるため、予め物理／仮想性能比ＤＢ４１に性能比に関する情報を格納しているのである。
【０１０６】
図８の物理／仮想性能比テーブル８０は、物理／仮想性能比ＤＢ４１に格納されているテーブルの一例であり、プロセス生成における性能を示した物理／仮想性能比テーブル８０である。なお、物理／仮想性能比テーブル８０は、仮想システムで実行する任意の処理において、各リソースの物理システムと仮想システムにおける性能比がまとめてあればよい。
【０１０７】
図８において、ｆｏｒｋは、プロセスのコピーを生成する処理である。Ｓｙｓｔｅｍ＿ａｗｋは、仮想システムにおいて、全ての入力行に対して指定したパターンに適合しているかを検査し、適合した場合は対応するアクションを実行する処理である。Ｓｙｅｔｅｍ＿ｅｘｉｔは、システムの正常終了処理である。Ｓｙｓｔｅｍ＿ｇｒｅｐは、仮想システム中から、正規表現に一致する行を検索して出力する処理である。
【０１０８】
各命令の物理システムに対する仮想化システムの性能は、図８によれば、全般に３０〜５０％程度の性能劣化が見られることがわかる。そのため、仮想システムから物理システムへの移行の際には、命令ごとの補正を行って性能の整合を取る必要がある。なお、予め測定された物理／仮想性能比に関する詳細情報は、物理／仮想性能比ＤＢ４１に格納されている。
【０１０９】
構成情報生成手段４０のシステム構成構築手段４０３は、仮想システムから採取した性能測定結果を編集した採集データ３０と、予め測定された各命令の物理／仮想性能比とを基に、ユーザ要求を満たすリソースのスペックを算出することができる。また、製品ＤＢ４２によれば、具体的なハードウェア製品の製品名や製品ＩＤなどといった識別情報と、その製品のスペックとを関連付けた製品情報が含まれる（ＩＤ：Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）。そのため、ユーザ要求を満たすハードウェアのスペックが算出されれば、そのスペックを有する具体的な製品名を記載したハードウェア構成リストを得ることができる。
【０１１０】
以下に、本発明の実施形態に係るハードウェア構成の見積方法についてまとめる。以下のハードウェア構成の見積方法は、これまで説明してきたハードウェア構成見積システムと相補関係にある。
【０１１１】
本発明の実施形態に係るハードウェア構成の見積もり方法においては、実際に物理システムを構築する前に、クラウド上などの仮想化システムにおいて仮想システムの構築を行う。
【０１１２】
その後、仮想システム上において、ユーザが要求する性能を出せるようにチューニングを行う。このチューニングは、ユーザ要求にある最大負荷で実施することが好ましい。
【０１１３】
例えば、ハイパーバイザ上で、命令の種類ごとの比率や、ＣＰＵ・メモリの使用率、ネットワーク・入出力の流量を測定・記録できる機能を持つリソース測定ツールを立ち上げ、仮想マシンを監視できるように設定し、最大負荷試験やシナリオテスト等の評価を行う。
【０１１４】
評価結果から、仮想マシンの構成情報とリソース測定結果を出力しておく。
【０１１５】
予め、それぞれのリソースごとの仮想マシンと物理マシンの性能比を収めた物理／仮想性能比ＤＢを準備する。ネットワークや入出力は、ＮＩＣドライバによっても性能比が異なるため、物理／仮想性能比ＤＢには、ネットワークと入出力のそれぞれに対応した情報が格納されている。また、ハードウェア構成情報が格納された製品ＤＢも予め準備する。
【０１１６】
そして、物理／仮想性能比ＤＢ及び評価により得られたリソース測定結果を基に、システム構成と物理サーバに必要なスペックとを算出する。
【０１１７】
システム構成と物理サーバに必要なスペックと、製品ＤＢに格納されたハードウェア製品のスペック情報と照合し、ユーザ要件に適応した構成見積もり情報をリストとして出力する。
【０１１８】
以上が、本発明の実施形態に係るハードウェア構成の見積方法についてのまとめである。なお、本実施形態に係るハードウェア構成見積方法は、前述のハードウェア構成見積システムの説明で記載した方法の全てを含む。また、本実施形態に係るハードウェア構成見積方法を用いたプログラムも本発明の範囲に含まれる。
【０１１９】
本発明の実施形態によれば、仮想システム上で作成したシステムに必要なリソースを計測ツールによって測定し、物理マシン（物理サーバ）で必要なリソースに変換し、製品ＤＢから適切な製品を選択することにより、ハードウェア構成見積を作成することができる。
【０１２０】
また、本発明の実施形態によれば、仮想システム上でシステムを開発・評価を行うことで、メモリ・ＣＰＵ等のプラットフォーム依存に関するミスを防ぐとともに、物理システムの的確なハードウェア構成の見積もりを自動で行うことができる。
【０１２１】
さらに、本発明の実施形態によれば、複数のハードウェアの性能情報を保持することで、サイジングに最適なハードウェア選択を含めたスペックを算出することができる。
【０１２２】
以上、実施形態を参照して本発明を説明してきたが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【０１２３】
１    ハードウェア構成見積システム
２    物理サーバ
３    ホストＯＳ
１０    情報収集手段
２０    対象システム
２１    仮想マシン
２２    アプリケーション
２３    情報採取ツール
３０    採取データ
４０    構成情報生成手段
４１    物理／仮想性能比ＤＢ
４２    製品ＤＢ
５０    ハードウェア構成リスト
８０    物理／仮想性能比テーブル
１０１    入力手段
１０２    仮想化プラットフォーム作成手段
１０３    仮想マシン管理手段
１０４    情報採取ツール作成手段
１０５    記憶手段
１０６    収集手段
１０７    判断手段
１０８    編集手段
１０９    データ出力手段
４０１    データ取得手段
４０２    参照手段
４０３    システム構成構築手段
４０４    リスト出力手段
【図１】
2014174609.tif 000003
【図２】
2014174609.tif 000004
【図３】
2014174609.tif 000005
【図４】
2014174609.tif 000006
【図５】
2014174609.tif 000007
【図６】
2014174609.tif 000008
【図７】
2014174609.tif 000009
【図８】
2014174609.tif 000010