(57)【特許請求の範囲】
【請求項１】
複数の仮想マシンが動作する第１サーバと、第２サーバとを備え、
該第１サーバは、該第１サーバで動作する仮想マシンである第１仮想マシンから該第２サーバに対して送信するパケットを受けると該第１サーバの物理インタフェース部を介して該パケットを該第２サーバに送信する仮想ブリッジを備えた、試験システムにおいて、
前記第１サーバが備えるプロセッサに、
前記第１サーバで動作する仮想マシンである第２仮想マシンが、通信負荷を与える第１パケットを生成して、生成された該第１パケットを前記仮想ブリッジに送る負荷発生手順、
前記仮想ブリッジから生成された前記第１パケットを受け取り、生成された該第１パケットを前記第２サーバに送信せずに、宛先変更を行って前記第２仮想マシンに折り返して終端する折り返し手順、
を実行させるための試験環境構築プログラム。
【請求項２】
前記折り返し手順は、前記第１パケットを折り返さずに廃棄する、
請求項１記載の試験環境構築プログラム。
【請求項３】
前記負荷発生手順は、前記第１サーバで動作する仮想マシンである複数の前記第２仮想マシンが、通信負荷を与える前記第１パケットをそれぞれ生成して、該第１パケットを前記仮想ブリッジにそれぞれ送り、
前記折り返し手順は、前記仮想ブリッジから前記第１パケットを受け取り、該第１パケットを前記第２サーバに送信せずに、宛先変更を行って前記第１パケットを送った前記第２仮想マシンとは別の前記第２仮想マシンに折り返して終端する、
請求項１または２記載の試験環境構築プログラム。
【請求項４】
前記負荷発生手順は、ＣＰＵ負荷とメモリ負荷を発生させる、
請求項１乃至３いずれか一項記載の試験環境構築プログラム。
【請求項５】
前記通信負荷と前記ＣＰＵ負荷と前記メモリ負荷は、前記第２仮想マシンが運用システムで動作したときに得られた統計情報に基づいた負荷である、
請求項４記載の試験環境構築プログラム。
【請求項６】
前記負荷発生手順は、前記第１サーバと前記第２サーバ以外の装置が備えるハードウェアの負荷と同等の第２負荷を発生させる、請求項１乃至５いずれか一項記載の試験環境構築プログラム。
【請求項７】
前記負荷発生手順は、前記第２負荷から、前記負荷発生手順を実行することにより発生する負荷を控除した負荷と同等の負荷を発生させる、請求項６に記載の試験環境構築プログラム。
【請求項８】
前記折り返し手順は、前記第１パケットによる前記通信負荷を調整する、請求項１乃至７いずれか一項記載の試験環境構築プログラム。
【請求項９】
複数の仮想マシンが動作する第１サーバと、第２サーバとを備え、
該第１サーバは、該第１サーバで動作する仮想マシンである第１仮想マシンから該第２サーバに対して送信するパケットを受けると該第１サーバの物理インタフェース部を介して該パケットを該第２サーバに送信する仮想ブリッジを備えた、試験システムにおいて、
前記第１サーバが備えるプロセッサが、
前記第１サーバで動作する仮想マシンである第２仮想マシンが、通信負荷を与える第１パケットを生成して、生成された該第１パケットを前記仮想ブリッジに送る負荷発生手順、
前記仮想ブリッジから生成された前記第１パケットを受け取り、生成された該第１パケットを前記第２サーバに送信せずに、宛先変更を行って前記第２仮想マシンに折り返して終端する折り返し手順、
を実行する試験環境構築方法。
【請求項１０】
仮想マシンの試験装置であって、
ネットワークを介して接続されるコンピュータに対して送信するパケットを前記仮想マシンから受けると当該試験装置の物理インタフェース部を介して該パケットを前記コンピュータに送信する仮想ブリッジと、
通信負荷を与える第１パケットを生成して、生成された該第１パケットを前記仮想ブリッジに送る負荷発生手段と、
前記仮想ブリッジから生成された前記第１パケットを受け取り、生成された該第１パケットを前記コンピュータに送信せずに、宛先変更を行って前記負荷発生手段に折り返して終端する折り返し手段、
とを有する試験装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、装置間の通信状態を試験する技術に関する。
【背景技術】
【０００２】
最近、ネットワーク上の複数のコンピューティング資源を、利用者のコンピューティング資源として使用することができるクラウド環境が注目を集めている。そして、クラウド環境を利用する場合、クラウド環境上に構築される仮想的なＩＣＴ（Information and Communication Technology）システムの性能評価又は性能チューニングを行う必要がある（特許文献１等）。
【０００３】
従来、図１で示すように、上記システムの性能評価又は性能チューニングを行う場合、クラウド環境ではない、ローカルな試験環境を構築する。そして、試験対象となるＩＣＴシステムに対し物理的又は仮想的な負荷発生器（測定器又は仮想マシン上の負荷発生プログラム）から一次負荷を与えた状態でシステム性能評価及び性能チューニングを実施する。その後、当該ＩＣＴシステムをクラウド環境へ移行するという方法を採用していた。
【０００４】
また、図２で示すように、ローカルな環境にＩＣＴシステムを構築することなく、直接クラウド環境上にＩＣＴシステムを構築する方法もある。この方法では、クラウド環境上で試験対象となるＩＣＴシステムに対し、仮想的な負荷発生器（仮想マシン上の負荷発生プログラム）から一次負荷を与えた状態でシステム性能評価及び性能チューニングを行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０１−１５２５４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一方、クラウド環境下では、仮想化された複数のＩＣＴシステムが、物理的なコンピューティング資源及びネットワーク資源を共有しているため、試験対象システムは、資源を共有している他の仮想ＩＣＴシステムに起因して発生する二次負荷の影響を受けてしまう。
【０００７】
このため、図１で示す従来技術では、ローカルな環境で性能評価及び性能チューニングを実施していても、クラウド環境上の二次負荷が考慮されていない。そのため、ＩＣＴシステムをクラウド環境に移行しても、ローカル環境で実施した性能評価及び性能チューニング通りの性能が得られない可能性があり、クラウド環境に移行後、再び、システムの性能評価及び性能チューニングを行う必要があるという問題点があった。
【０００８】
他方、図２で示す従来技術では、他の仮想ＩＣＴシステムの負荷が与えられた環境下で性能評価を行うことが可能である。しかし、試験対象である仮想ＩＣＴシステムの性能評価及び性能チューニングの作業によって発生する過剰な計算機負荷や通信負荷が、クラウド上で実運用されている他システムに悪影響を及ぼす可能性があるという問題点があった。また、二次負荷が与えられている環境下ではあるが、試験対象であるＩＣＴシステムをチューニングする場合、他システムの負荷次第で適切な性能チューニングを行うことができないという問題点もあった。
【０００９】
そこで、本発明では、システムチューニングの手間と他システムへの影響とを軽減する試験環境を構築することが可能な試験環境構築プログラム、試験環境構築方法、及び試験装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
そこで上記課題を解決するため、試験環境構築プログラムは、複数の仮想マシンが動作する第１サーバと、第２サーバとを備え、該第１サーバは、該第１サーバで動作する仮想マシンである第１仮想マシンから該第２サーバに対して送信するパケットを受けると該第１サーバの物理インタフェース部を介して該パケットを該第２サーバに送信する仮想ブリッジを備えた、試験システムにおいて、前記第１サーバが備えるプロセッサに、前記第１サーバで動作する仮想マシンである第２仮想マシンが、通信負荷を与える第１パケットを生成して、生成された該第１パケットを前記仮想ブリッジに送る負荷発生手順、前記仮想ブリッジから生成された前記第１パケットを受け取り、生成された該第１パケットを前記第２サーバに送信せずに、宛先変更を行って前記第２仮想マシンに折り返して終端する折り返し手順、を実行させる。
【発明の効果】
【００１１】
開示の技術によれば、システムチューニングの手間と他システムへの影響とを軽減する試験環境を構築することが可能である。
【図面の簡単な説明】
【００１２】
【図１】従来技術（その１）を説明する図である。
【図２】従来技術（その２）を説明する図である。
【図３】本実施の形態に係る通信試験システムの機能ブロック図である。
【図４】第１の実施形態に係る通信試験システムを含む全体システム構成図である。
【図５】第１の実施形態に係る試験サーバの構成図である。
【図６】第１の実施形態に係る試験環境を構築する際のフローチャートである。
【図７】第１の実施形態に係る負荷トラフィック折り返し処理のフローチャートである。
【図８】第１の実施形態に係る試験環境で行う通信試験のフローチャートである。
【図９】第２の実施形態に係る通信試験システムを含む全体システム構成図である。
【図１０】第２の実施形態に係る負荷情報データベースの作成フローチャートである。
【図１１】第２の実施形態に係る試験環境を構築する際のフローチャートである。
【図１２】第２の実施形態に係る試験環境で行う通信試験のフローチャートである。
【図１３】第２の実施形態に係る負荷情報データベースの一例を示す図である。
【図１４】第３の実施形態に係る通信試験システムを含む全体システム構成図である。
【図１５】第３の実施形態に係る試験環境上のスイッチの構成図である。
【図１６】第４の実施形態に係る通信試験システムを含む全体システム構成図である。
【図１７】第５の実施形態に係る試験サーバの構成図である。
【図１８】第５の実施形態に係る試験環境上のスイッチの構成図である。
【図１９】本実施の形態に係る通信試験システムが含む試験サーバのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１３】
図面を参照しながら、本発明を実施するための最良の形態について説明する。
（本実施の形態に係る通信試験システムの動作原理）
図３を用いて、本実施の形態に係る通信試験システム１００の動作原理について説明する。図３は、通信試験システム１００の機能ブロック図である。
【００１４】
通信試験システム１００は、試験対象の仮想ＩＣＴ（Information and Communication Technology）システムを評価しチューニング（調整）するためのシステムである。通信試験システム１００は、試験サーバ２００、試験サーバ３００を有する。そして、試験サーバ２００は、試験対象である仮想ＩＣＴシステムを構成する試験対象仮想マシンＡ１と、当該仮想マシンがクラウド環境上で物理サーバ資源を共有する他の仮想マシンＢ３、Ｃ２による二次負荷（ＣＰＵ（Central Processing Unit）、メモリ使用、トラフィック）を発生させる手段を備えた負荷発生仮想マシン２１０とを有する。更に、試験サーバ２００は、試験対象仮想マシンＡ１と負荷発生仮想マシン２１０とを接続する仮想ブリッジ２５０と、負荷発生仮想マシン２１０が発生させた負荷トラフィックを折り返す折り返し手段２６０とを有する。更に、試験サーバ２００は、試験対象仮想マシンＡ１と負荷発生仮想マシン２１０とを仮想マシンとして制御するＶＭ制御機構（スーパバイザ）を有する。
【００１５】
同様に、試験サーバ３００は、試験対象である仮想ＩＣＴシステムを構成する試験対象仮想マシンＡ２、Ａ３と、当該仮想マシンがクラウド環境上で物理サーバ資源を共有する他の仮想マシンＣ３による二次負荷（ＣＰＵ負荷、メモリ使用、トラフィック）を発生させる手段を備えた負荷発生仮想マシン３１０と、それらを接続する仮想ブリッジ３５０と、負荷発生仮想マシン３１０が発生させた負荷トラフィックを折り返す折り返し手段３６０とを有する。
【００１６】
試験サーバは、試験対象である仮想ＩＣＴシステムに含まれる仮想マシンが配置される物理サーバの数だけ必要となる。例えば、ＩＣＴシステムを構成する３つの仮想マシンがあり、それら仮想マシンが２つの物理マシン上に配置される場合、通信試験システム１００には２台の試験サーバが必要となる。
【００１７】
ここでは、試験サーバ２００を例に挙げて、通信試験システム１００の動作を説明する。試験サーバ２００は、試験対象である仮想マシンＡ１と負荷発生仮想マシン２１０を備え、これら各仮想マシンは、仮想ブリッジで接続されると共に、試験サーバ２００が備える物理インタフェースへ接続される。
【００１８】
負荷発生仮想マシン２１０は、試験対象である仮想マシンＡ１の動作環境がクラウド環境上の物理サーバ４１０と同じ環境となるように所定の負荷を発生させる。具体的に説明すると、負荷発生仮想マシン２１０は、クラウド環境上で仮想マシンＡ１と資源を共有する他の仮想マシンＣ２、Ｂ３の統計情報（例えば、ＣＰＵ負荷、メモリ使用量、通信量などに関する統計情報）に基づいて、ＣＰＵ、メモリ及び通信負荷を発生させる。
【００１９】
こうすることにより、試験サーバ２００上の仮想マシンＡ１は、物理サーバ４１０と同等の二次負荷（ＣＰＵ負荷、メモリ使用量）の環境下で動作させることが可能となる。また、ブリッジ２５０の外部出力ポート（物理インタフェースに接続されるポート）部分においては、物理サーバ４１０と同等の二次通信負荷が与えられた環境が再現される。そして、通信試験システム１００における試験サーバ２００では、実際のクラウド環境と同じ環境下で性能評価及びチューニングを実施することができる。
【００２０】
また、折り返し手段２６０は、負荷発生仮想マシン２１０が発生させた負荷パケットを折り返す機能を有するので、負荷発生仮想マシン２１０が発生させた負荷パケットが試験サーバ２００の外部へ出力されない。そのため、通信試験システム１００は、クラウド環境上の他の仮想ＩＣＴシステムへ悪影響を与えない。
【００２１】
なお、試験サーバ２００内に２以上の負荷発生仮想マシン２１０が構築されてもよい。本実施の形態の場合、仮想マシンＣ２及びＢ３ごとに、それぞれに対応する負荷発生仮想マシン２１０が構築されてもよい。
【００２２】
（通信試験システム１００の第１の実施形態）
図４乃至８を用いて、通信試験システム１００の第１の実施形態について説明する。図４は、第１の実施形態における通信試験システム１００を含む全体構成図であり、図５は、試験サーバ２００、３００の構成図である。図４で示すように、クラウド実環境上には３つの物理サーバ４００、４１０、４２０が有り、各物理サーバ上に仮想化された複数の仮想サーバ（以下、仮想マシンと言う。）が稼働しているものとする。
【００２３】
そして、クラウド実環境上には、既に仮想ＩＣＴシステムＢと仮想ＩＣＴシステムＣが稼働しており、そこへ仮想ＩＣＴシステムＡを新たに配置することを想定する。なお、仮想ＩＣＴシステムＡを構成する仮想マシンＡ１は、性能評価の後、物理サーバ４１０へ配置され、仮想ＩＣＴシステムＡを構成する仮想マシンＡ２、Ａ３は、物理サーバ４２０へ配置される。以下では、仮想ＩＣＴシステムＡの仮想環境上での性能評価及びチューニングを実施する際の処理例を説明する。
【００２４】
図６に、試験環境を構築する際のフローチャートを示す。Ｓ１０で、クラウド環境上の仮想ＩＣＴシステムＡに含まれる仮想マシンＡ１、Ａ２、Ａ３が配置される物理サーバと同数の試験環境用の試験サーバ２００、３００を用意する。Ｓ２０で、試験サーバ２００には試験対象である仮想マシンＡ１を配置し、試験サーバ３００には試験対象である仮想マシンＡ２、Ａ３を配置する。
【００２５】
Ｓ３０で、試験サーバ２００、３００において、クラウド実環境上で想定される負荷（二次負荷）を発生させるため、試験サーバ２００には負荷発生仮想マシン２１０を配置し、試験サーバ３００には負荷発生仮想マシン３１０を配置する。
【００２６】
Ｓ４０で、試験サーバ２００上の仮想マシンＡ１及び負荷発生仮想マシン２１０、試験サーバ３００上の仮想マシンＡ２、Ａ３及び負荷発生仮想マシン３１０はそれぞれ仮想ブリッジ２５０、３５０で接続される。そして、試験サーバ２００上の仮想マシンＡ１及び負荷発生仮想マシン２１０は仮想ブリッジ２５０を通じて試験サーバ２００のネットワークインタフェースに接続される。また、試験サーバ３００上の仮想マシンＡ２、Ａ３及び負荷発生仮想マシン３１０は仮想ブリッジ３５０を通じて試験サーバ３００のネットワークインタフェースに接続される。
【００２７】
Ｓ５０で、負荷発生仮想マシン２１０上の擬似ＣＰＵ負荷発生手段２２０、擬似メモリ負荷発生手段２３０、負荷トラフィック発生手段２４０が起動される。また、負荷発生仮想マシン３１０上では、擬似ＣＰＵ負荷発生手段３２０、擬似メモリ負荷発生手段３３０、負荷トラフィック発生手段３４０が起動される。これら擬似ＣＰＵ負荷発生手段２２０、３２０、擬似メモリ負荷発生手段２３０、３３０、負荷トラフィック発生手段２４０、３４０は、指定された負荷モデルに従って所定の負荷を発生させる。
【００２８】
ここで、擬似ＣＰＵ負荷発生手段２２０、３２０は、特定の計算を繰り返すプログラム（ジョブ）を実行することで所定のＣＰＵ負荷を発生させることができる。また、擬似メモリ負荷発生手段２３０、３３０は、指定されたメモリ量をmalloc()関数などで確保するプログラムを実行することで、メモリ内に所定の記憶領域を確保する負荷を発生させることができる。また、負荷トラフィック発生手段２４０、３４０は、所定量の負荷パケットを発生させるプログラムを実行することで通信負荷を発生させることができる。
【００２９】
なお、負荷トラフィック発生手段２４０、３４０が生成する負荷パケットにおいて、送信先（宛先）のＭＡＣ（Media Access Control）アドレスは試験サーバ２００、３００内でユニークなＭＡＣアドレスとする。これは、折り返し処理手段２６０、３６０が負荷パケットであることを識別できるようにするためである。また、負荷トラフィック発生手段２４０、３４０が生成した負荷パケットにおいて、送信元のＭＡＣアドレスは負荷発生仮想マシン２１０、３１０のＭＡＣアドレスとする。
【００３０】
ここで図７を用いて、負荷発生仮想マシン２１０、３１０から送出された負荷パケットが仮想ブリッジ２５０、３５０を経由し折り返し手段２６０、３６０へ到達した際の処理について説明する。図７は、負荷パケット折り返し処理のフローチャートである。以下では、折り返し手段２６０を例に説明するが、折り返し手段３６０についても同様の処理フローとなる。
【００３１】
折り返し手段２６０にパケットが到着すると、Ｓ１１０で折り返し手段２６０が、受信パケットの宛先ＭＡＣアドレスを参照して、負荷パケットであるか否かを判定する。Ｓ１１０で受信パケットの宛先ＭＡＣアドレスが負荷パケットに付加されるＭＡＣアドレスを備える場合（Ｓ１１０でＹｅｓ）、折り返し手段２６０が当該受信パケットを抽出する。そして、Ｓ１２０で折り返し手段２６０が、負荷パケットについて設定された、「入力レート」と「出力レート」とを比較する。
【００３２】
Ｓ１２０において「入力レート」＜「出力レート」であれば、Ｓ１４０で折り返し手段２６０が、設定した「出力レート」の水準まで負荷パケットを複製する。Ｓ１２０において「入力レート」＞「出力レート」であれば、Ｓ１５０で折り返し手段２６０が、設定した「出力レート」の水準まで負荷パケットを廃棄する。そして、Ｓ１６０で折り返し手段２６０が、受信した負荷パケットについて、宛先ＭＡＣアドレスを当該パケットの送信元ＭＡＣアドレスに変更すると共に、送信元アドレスを負荷パケット識別ＭＡＣアドレスに変更する。さらに、Ｓ１７０で折り返し手段２６０が、Ｓ１６０で処理した負荷パケットを入力インタフェースに転送する。
【００３３】
これで、負荷発生仮想マシン２１０で発生させた負荷トラフィックが試験サーバ２００の外部へ出力されないため、通信試験システム１００はクラウド環境上の他の仮想ＩＣＴシステムへ悪影響を与えない。また、上記のように折り返し手段２６０において、出力レートを調整することで、通信レートがアップリンクとダウンリンクトとで異なる試験環境についても再現することができる。なお、試験サーバ２００内に複数の負荷発生仮想マシン２１０が構築されている場合、負荷パケットは、送信元とは別の負荷発生仮想マシン２１０に折り返されてもよい。具体的には、ステップＳ１６０において、折り返し手段２６０は、受信した負荷パケットについて、宛先ＭＡＣアドレスを送信元とは別の負荷発生仮想マシン２１０に対するＭＡＣアドレスに変更する。当該ＭＡＣアドレスは、予め、折り返し手段２６０に設定しておけばよい。
【００３４】
一方、Ｓ１１０で受信パケットの宛先ＭＡＣアドレスが負荷パケットに付加されるＭＡＣアドレスを備えていない場合（Ｓ１１０でＮｏ）、当該受信パケットは出力インタフェースへ転送される。
【００３５】
一方で、図８で示すフローチャートに従って、通信試験システム１００における通信試験は行われる。Ｓ２１０で試験対象である仮想マシンＡ１、Ａ２、Ａ３が起動され、Ｓ２２０で負荷発生仮想マシン２１０、３１０において発生させる負荷のパターンが選択される。そして、Ｓ２３０で負荷発生仮想マシン２１０、３１０が選択された負荷パターンに従い負荷を発生させ、試験対象である仮想マシンＡ１、Ａ２、Ａ３間で通信試験が行われる。
【００３６】
以上の処理により、試験対象である仮想マシンＡ１、Ａ２、Ａ３は、クラウド環境下の二次負荷（ＣＰＵ負荷、メモリ負荷、通信負荷）が与えられた状態で動作することとなる。この環境下で仮想マシンＡ１、Ａ２、Ａ３の性能評価を実施することで、クラウド環境と同等の環境下で仮想ＩＣＴシステムの性能評価を実施することが可能となる。
【００３７】
例えば、仮想マシンＡ２がＩＣＴシステムのサーバ機能を担い、仮想マシンＡ１がクライアント機能を担い、さらに仮想マシンＡ３が仮想マシンＡ２に対する一次負荷発生機能を担うと仮定する。その場合、当該一次負荷に加えて、負荷発生仮想マシン２１０、３１０が発生させる二次負荷が与えられる環境下でＩＣＴシステムＡの性能評価を行うことが可能となる。
【００３８】
また、負荷発生仮想マシン２１０、３１０が発生させた負荷パケットについて、折り返し手段２６０、３６０が試験サーバ内で折り返すことによって、負荷パケットが試験サーバ２００、３００の外部へ送出されない。そのため、通信試験システム１００は、クラウド環境上で運用中の他の仮想ＩＣＴシステム（Ｂ、Ｃ）に悪影響を与えない。
【００３９】
（通信試験システム１００の第２の実施形態）
図９乃至１３を用いて、通信試験システム１００の第２の実施形態について説明する。図９は、第２の実施形態における通信試験システム１００を含む全体構成図である。図９で示すように、第２の実施形態においても、クラウド環境上には３つの物理サーバ４００、４１０、４２０が有り、各物理サーバ上に仮想化された複数仮想マシンが稼働しているものとする。
【００４０】
ここで、第１の実施形態における負荷発生仮想マシン２１０、３１０は、特定の負荷モデルに従って負荷を発生させていた。一方、第２の実施形態における負荷発生仮想マシン２１０、３１０は、試験対象である仮想マシンＡ１、Ａ２、Ａ３が配置される物理サーバ４１０、４２０の実負荷（運用システムで動作したときに得られる負荷）を再現する。
【００４１】
第２の実施形態においては、クラウド環境上の全ての物理サーバ４００、４１０、４２０に関し、ＣＰＵ使用率、メモリ使用率、通信ポートの通信量を定期的に取得する。そして、取得したデータに基づき単位時間（例えば、１分、１０分、１時間）毎の平均負荷を算出し、それらを時系列に並べて負荷データベースに保存する。つまり、Ｓ３１０で通信試験システム１００が、全ての物理サーバ４００、４１０、４２０に関し、ＣＰＵ使用率、メモリ使用率を定期的に取得する。Ｓ３２０、３３０で通信試験システム１００が、全ての物理サーバ４００、４１０、４２０に関し、通信ポート毎の通信量を定期的に取得する。
【００４２】
Ｓ３４０で通信試験システム１００が、Ｓ３１０乃至Ｓ３３０で取得したデータに基づいて、単位時間毎の負荷を算出する。そして、Ｓ３５０で通信試験システム１００が、算出した負荷情報を時系列にして負荷データベースに保存する。図１３に、負荷データベースの一例を示す。
【００４３】
一方、通信試験システム１００は、図１１で示すＳ４１０乃至Ｓ４５０の処理フローに従い試験環境を構築する。なお、図１１で示す処理フローは、第１の実施形態における試験環境構築の処理フローと同じである。
【００４４】
そして、Ｓ４５０で負荷発生プログラムが起動した後、図１２で示すフローチャートに従って、通信試験システム１００における通信試験は行われる。Ｓ５１０で試験対象である仮想マシンＡ１、Ａ２、Ａ３が起動され、Ｓ５２０で負荷発生仮想マシン２１０、３１０において発生させる負荷のパターンが選択される。ここで、負荷パターンの選択は、再現させる負荷が発生していた日時を選択することにより行われる。
【００４５】
Ｓ５３０で負荷発生仮想マシン２１０、３１０が、選択された日時における負荷情報を負荷データベースより抽出し、抽出した負荷情報と同等の負荷を発生させる（選択された日時における負荷を再現する）。例えば、負荷発生仮想マシン２１０は、物理サーバ４１０の仮想マシンＣ２、Ｂ３の負荷情報を取得し、当該負荷を試験サーバ２００上で再現する。試験サーバ３００上でも同様の処理が行われ、その試験環境下で試験対象である仮想マシンＡ１、Ａ２、Ａ３間の通信試験が行われる。
【００４６】
上記のような処理を行うことで、通信試験システム１００は、試験対象となる仮想マシンが実際に配置されるクラウド環境の負荷情報に基づいた、正確な性能評価及びチューニングを行うことを可能とする。
【００４７】
なお、負荷発生手段（負荷発生仮想マシン）２１０、３１０が負荷を発生させる場合、負荷発生プログラムそのものの負荷により、試験対象である仮想マシンＡ１、Ａ２、Ａ３に対し、再現させたい実環境負荷に比べ高い負荷を与えることとなる。これを回避するため、負荷発生手段２１０、３１０は、負荷データベースより取得した負荷情報から、負荷発生手段２１０、３１０そのものの負荷を控除し、その控除後の大きさの負荷を発生させる形態としても良い。ここで、負荷発生手段２１０、３１０そのものの負荷とは、負荷発生手段２１０、３１０が実行されることにより試験サーバ２００、３００が備える各ＣＰＵに与える負荷である。
【００４８】
以下では、図１３を用いて、負荷発生手段２１０、３１０そのものの負荷を考慮した例について説明する。図１３で示すように、例えば、時刻τ２の発生負荷は、負荷データベース参照値の１２％から当該ＣＰＵ負荷を発生させるために必要な負荷発生プログラムの負荷３％を控除した９％となる。負荷発生手段２１０、３１０は、９％の負荷を発生させるために必要なＣＰＵ処理発生用計算ループ回数を算出し、時刻τ２に対応する負荷として、当該回数分の計算ループを実行する。この処理を時刻毎に繰り返すことで、負荷発生プログラムによる負荷を考慮し、正確な試験環境の再現を行うことができる。
【００４９】
なお、図１３を用いた説明ではＣＰＵ負荷について説明したが、メモリ使用量についても同様の方法によって、負荷発生プログラムによる負荷を考慮し正確な試験環境の再現を行うことができる。
【００５０】
上記の処理により、通信試験システム１００は、再現したい環境の日時を指定して、任意の時間帯の環境を再現した試験環境でシステムの性能評価及びチューニングを行うことを可能とする。
【００５１】
（通信試験システム１００の第３の実施形態）
図１４乃至１５を用いて、通信試験システム１００の第３の実施形態について説明する。図１４は、第３の実施形態における通信試験システム１００を含む全体構成図であり、図１５は、試験環境スイッチの構成を示す図である。
【００５２】
仮想ＩＣＴシステムを構成する仮想マシンＡ１、Ａ２、Ａ３が異なる物理ネットワーク機器ＳＷ１、ＳＷ２で接続される物理サーバ４００、４２０に収容される場合、複数の物理サーバ間の通信は、複数の物理ネットワーク機器を経由する必要がある。その結果、仮想マシンＡ１、Ａ２、Ａ３間の通信は、物理ネットワーク機器ＳＷ１、ＳＷ２のリンク帯域を他の仮想ＩＣＴシステムと共有することとなる。
【００５３】
例えば、図１４中のリンク２は、仮想ＩＣＴシステムＡの仮想マシン間通信時に利用されるリンクであり、このリンクは仮想ＩＣＴシステムＢ、Ｃの仮想マシン間通信でも利用される。このため、試験環境を構築する際にも、この物理ネットワーク機器のリンク共有状態を再現する必要がある。以下では、この様な試験環境の構築方法について説明する。
【００５４】
第１の実施形態及び第２の実施形態と同様に、試験環境を構築する場合、はじめに、試験の対象となるＩＣＴシステムＡに含まれる仮想マシンが収容される物理サーバ（ここでは、２台）と同数の試験サーバ２台を用意する。そして、図１４で示すように、用意した２台の試験サーバ２００、３００それぞれに、試験対象である仮想マシンＡ１、Ａ２、Ａ３と負荷発生仮想マシン２１０、３１０を配置する。
【００５５】
次に、試験対象となるＩＣＴシステムＡの仮想マシンが収容される物理サーバ４００、４２０間に存在する物理ネットワーク機器（ここでは、ＳＷ１、ＳＷ２の２台）と同数の物理ネットワーク機器２台を用意する。ここで、物理ネットワーク機器とはイーサネットスイッチを想定している。
【００５６】
そして、用意した２台の物理ネットワーク機器（以下、スイッチと言う。）は、ダウンリンク（試験サーバ側のポート）上に、第１の実施形態で説明した折り返し手段２６０、３６０を備える。そして、ダウンリンク上の折り返し手段２６０、３６０は、負荷パケットを自ポート内で折り返す機能を備えている。
【００５７】
また、アップリンク（外部ネットワーク側のポート）上には、第１の実施形態で説明した負荷トラフィック発生手段２４０、３４０を備える。そして、アップリンク上の負荷トラフィック発生手段２４０、３４０は、指定された通信量に従って負荷パケットを発生させる。当該負荷パケットは次段のスイッチの折り返し手段で折り返されるため、通信試験システム１００は、スイッチ間のリンク負荷を再現することができる。
【００５８】
ここで、通信試験システム１００において発生させる負荷の設定は、第１の実施形態のように一般的な負荷モデルを指定して設定しても良い。また、当該負荷の設定は、第２の実施形態のように実環境のスイッチ間のトラフィック情報に基づいて実環境のトラフィックパターンを正確に再現するようにしても良い。
【００５９】
上記のような試験環境を構築することにより、試験対象となる仮想マシンが異なる物理ネットワーク機器に収容される構成であっても、仮想ＩＣＴシステムの性能評価及びチューニングを正確に実施することができる。
【００６０】
（通信試験システム１００の第４の実施形態）
図１６を用いて、通信試験システム１００の第４の実施形態について説明する。図１６は、第４の実施形態における通信試験システム１００を含む全体構成図である。第３の実施形態では、複数のスイッチ間の通信状態を再現する場合、試験環境の構築に複数のスイッチが必要であった。一方、第４の実施形態では、仮想化技術を利用して一つのサーバで試験環境スイッチを構築する。
【００６１】
図１６で示すように、試験環境のスイッチ機能はソフトウェアスイッチによって実現され、一つのサーバ内に、試験対象である仮想マシンＡ１、Ａ２、Ａ３間に存在するスイッチと同数の仮想ソフトウェアスイッチを設置する。そして、各仮想ソフトウェアスイッチの入出力ポートにおいては、第３の実施形態と同様の負荷パケット発生処理及び負荷パケットの折り返し処理を実施する。このようにして、第４の実施形態では、実環境における物理サーバ間のネットワーク構成を再現する。
【００６２】
上記のように、第４の実施形態における通信試験システム１００は、試験対象となる仮想マシンを収容する試験サーバとソフトウェアスイッチを設置するサーバ１台とで、試験環境を構築することができ、スイッチなどの実装置を多数用意する手間を省くことができる。
【００６３】
（通信試験システム１００の第５の実施形態）
図１７及び１８を用いて、通信試験システム１００の第５の実施形態について説明する。図１７は、第５の実施形態における試験サーバの構成を示す図（図５に対応する）である。一方、図１８は、第５の実施形態における試験サーバの構成を示す図（図１５に対応する）である。
【００６４】
第１の実施形態乃至第４の実施形態では、負荷発生仮想マシン２１０、３１０が発生させた負荷パケットを折り返し手段２６０、３６０で折り返し、外部ネットワークの方向のトラフィックに基づき仮想マシン方向のトラフィックを生成していた。
【００６５】
図１７及び図１８で示すように、第５の実施形態では、折り返し手段２６０、３６０は、アップリンクの負荷パケットを抽出すると共に、抽出した負荷パケットに基づきダウンリンクのトラフィックを新たに発生させる。
【００６６】
（本実施の形態に係る試験サーバのハードウェア構成例）
図１９を用いて、試験サーバ２００、３００のハードウェア構成例について説明する。図１４は、試験サーバ２００、３００のハードウェア構成の一例を示す図である。なお、試験サーバ２００、３００は、以下の説明のように同じハードウェア構成を有していても良く、異なっていても良い。試験サーバ２００、３００はそれぞれ、ＣＰＵ（Central Processing Unit）５１０、ＲＯＭ（Read-Only Memory）５２０、ＲＡＭ（Random Access Memory）５３０、ＨＤＤ（Hard Disc Drive）５４０、通信Ｉ／Ｆ５５０、表示装置５６０を有する。
【００６７】
ＣＰＵ５１０は、ＲＯＭ５２０に記憶されたプログラムを実行する装置で、ＲＡＭ５３０に展開（ロード）されたデータを、プログラムの命令に従って演算処理し、試験サーバ２００、３００の全体を制御する。ＲＯＭ５２０は、ＣＰＵ５１０が実行するプログラムやデータを記憶している。ＲＡＭ５３０は、ＣＰＵ５１０でＲＯＭ５２０に記憶されたプログラムを実行する際に、実行するプログラムやデータが展開（ロード）され、演算の間、演算データを一時的に保持する。
【００６８】
ＨＤＤ５４０は、基本ソフトウェアであるＯＳ（Operating System）、本実施の形態に係るアプリケーションプログラムや機能拡張用のプラグインなどを、関連するデータとともに記憶する装置である。
【００６９】
通信Ｉ／Ｆ（Interface）５５０は、通信制御機能を有する他装置と情報通信を行う際のインタフェース装置である。表示装置５６０は、ＬＣＤ（Liquid Crystal Display）等で構成され、試験サーバ２００、３００が有する機能をユーザが利用する際、各種設定を行うなどのユーザインタフェースとして機能する装置である。
【００７０】
試験サーバ２００、３００が備える各手段は、ＣＰＵ５１０が、ＲＯＭ５２０又はＨＤＤ５４０に記憶された各手段に対応するプログラムを実行することにより実現される形態としても良いし、当該各手段に関する処理をハードウェアで実現する形態としても良い。
【００７１】
以上、本発明の実施の形態について詳述したが、本発明は係る特定の実施の形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲において、種々の変形・変更が可能である。
【００７２】
以上の説明に関し、更に以下の項を開示する。
（付記１）
複数の仮想マシンが動作する第１サーバと、第２サーバとを備え、
該第１サーバは、該第１サーバで動作する仮想マシンである第１仮想マシンから該第２サーバに対して送信するパケットを受けると該第１サーバの物理インタフェース部を介して該パケットを該第２サーバに送信する仮想ブリッジを備えた、試験システムにおいて、
前記第１サーバが備えるプロセッサに、
前記第１サーバで動作する仮想マシンである第２仮想マシンが、通信負荷を与える第１パケットを生成して、生成された該第１パケットを前記仮想ブリッジに送る負荷発生手順、
前記仮想ブリッジから生成された前記第１パケットを受け取り、生成された該第１パケットを前記第２サーバに送信せずに、宛先変更を行って前記第２仮想マシンに折り返して終端する折り返し手順、
を実行させるための試験環境構築プログラム。
（付記２）
前記折り返し手順は、前記第１パケットを折り返さずに廃棄する、
付記１記載の試験環境構築プログラム。
（付記３）
前記負荷発生手順は、前記第１サーバで動作する仮想マシンである複数の前記第２仮想マシンが、通信負荷を与える前記第１パケットをそれぞれ生成して、該第１パケットを前記仮想ブリッジにそれぞれ送り、
前記折り返し手順は、前記仮想ブリッジから前記第１パケットを受け取り、該第１パケットを前記第２サーバに送信せずに、宛先変更を行って前記第１パケットを送った前記第２仮想マシンとは別の前記第２仮想マシンに折り返して終端する、
付記１または２記載の試験環境構築プログラム。
（付記４）
前記負荷発生手順は、ＣＰＵ負荷とメモリ負荷を発生させる、
付記１乃至３いずれか一項記載の試験環境構築プログラム。
（付記５）
前記通信負荷と前記ＣＰＵ負荷と前記メモリ負荷は、前記第２仮想マシンが運用システムで動作したときに得られた統計情報に基づいた負荷である、
付記４記載の試験環境構築プログラム。
（付記６）
前記負荷発生手順は、前記第１サーバと前記第２サーバ以外の装置が備えるハードウェアの負荷と同等の第２負荷を発生させる、
付記１乃至５いずれか一項記載の試験環境構築プログラム。
（付記７）
前記負荷発生手順は、前記第２負荷から、前記負荷発生手順を実行することにより発生する負荷を控除した負荷と同等の負荷を発生させる、
付記６に記載の試験環境構築プログラム。
（付記８）
前記折り返し手順は、前記第１パケットによる前記通信負荷を調整する、
付記１乃至７いずれか一項記載の試験環境構築プログラム。
（付記９）
複数の仮想マシンが動作する第１サーバと、第２サーバとを備え、
該第１サーバは、該第１サーバで動作する仮想マシンである第１仮想マシンから該第２サーバに対して送信するパケットを受けると該第１サーバの物理インタフェース部を介して該パケットを該第２サーバに送信する仮想ブリッジを備えた、試験システムにおいて、
前記第１サーバが備えるプロセッサが、
前記第１サーバで動作する仮想マシンである第２仮想マシンが、通信負荷を与える第１パケットを生成して、生成された該第１パケットを前記仮想ブリッジに送る負荷発生手順、
前記仮想ブリッジから生成された前記第１パケットを受け取り、生成された該第１パケットを前記第２サーバに送信せずに、宛先変更を行って前記第２仮想マシンに折り返して終端する折り返し手順、
を実行する試験環境構築方法。
（付記１０）
前記折り返し手順は、前記第１パケットを折り返さずに廃棄する、
付記９記載の試験環境構築方法。
（付記１１）
前記負荷発生手順は、前記第１サーバで動作する仮想マシンである複数の前記第２仮想マシンが、通信負荷を与える前記第１パケットをそれぞれ生成して、該第１パケットを前記仮想ブリッジにそれぞれ送り、
前記折り返し手順は、前記仮想ブリッジから前記第１パケットを受け取り、該第１パケットを前記第２サーバに送信せずに、宛先変更を行って前記第１パケットを送った前記第２仮想マシンとは別の前記第２仮想マシンに折り返して終端する、
付記９または１０記載の試験環境構築方法。
（付記１２）
前記負荷発生手順は、ＣＰＵ負荷とメモリ負荷を発生させる、
付記９乃至１１いずれか一項記載の試験環境構築方法。
（付記１３）
前記通信負荷と前記ＣＰＵ負荷と前記メモリ負荷は、前記第２仮想マシンが運用システムで動作したときに得られた統計情報に基づいた負荷である、
付記１２記載の試験環境構築方法。
（付記１４）
前記負荷発生手順は、前記第１サーバと前記第２サーバ以外の装置が備えるハードウェアの負荷と同等の第２負荷を発生させる、
付記９乃至１３いずれか一項記載の試験環境構築方法。
（付記１５）
前記負荷発生手順は、前記第２負荷から、前記負荷発生手順を実行することにより発生する負荷を控除した負荷と同等の負荷を発生させる、
付記１４に記載の試験環境構築方法。
（付記１６）
前記折り返し手順は、前記第１パケットによる前記通信負荷を調整する、
付記９乃至１５いずれか一項記載の試験環境構築方法。
（付記１７）
仮想マシンを有する試験装置であって、
ネットワークを介して接続されるコンピュータに対して送信するパケットを前記仮想マシンから受けると当該試験装置の物理インタフェース部を介して該パケットを前記コンピュータに送信する仮想ブリッジと、
通信負荷を与える第１パケットを生成して、生成された該第１パケットを前記仮想ブリッジに送る負荷発生手段と、
前記仮想ブリッジから生成された前記第１パケットを受け取り、生成された該第１パケットを前記コンピュータに送信せずに、宛先変更を行って前記第２仮想マシンに折り返して終端する折り返し手段、
とを有する試験装置。
（付記１８）
前記折り返し手段は、前記第１パケットを折り返さずに廃棄する、
付記１７記載の試験装置。
（付記１９）
複数の前記負荷発生手段が、通信負荷を与える前記第１パケットをそれぞれ生成して、該第１パケットを前記仮想ブリッジにそれぞれ送り、
前記折り返し手段は、前記仮想ブリッジから前記第１パケットを受け取り、該第１パケットを前記第２サーバに送信せずに、宛先変更を行って前記第１パケットを送った前記負荷発生手段とは別の前記負荷発生手段に折り返して終端する、
付記１７または１８記載の試験装置。
（付記２０）
前記負荷発生手段は、ＣＰＵ負荷とメモリ負荷を発生させる、
付記１７乃至１９いずれか一項記載の試験装置。
（付記２１）
前記通信負荷と前記ＣＰＵ負荷と前記メモリ負荷は、前記負荷発生手段に対応する仮想マシンが運用システムで動作したときに得られた統計情報に基づいた負荷である、
付記２０記載の試験装置。
（付記２２）
前記負荷発生手段は、前記第１サーバと前記第２サーバ以外の装置が備えるハードウェアの負荷と同等の第２負荷を発生させる、
付記１７乃至２１いずれか一項記載の試験装置。
（付記２３）
前記負荷発生手段は、前記第２負荷から、前記負荷発生手順を実行することにより発生する負荷を控除した負荷と同等の負荷を発生させる、
付記２２に記載の試験装置。
（付記２４）
前記折り返し手段は、前記第１パケットによる前記通信負荷を調整する、
付記１７乃至２３いずれか一項記載の試験装置。
【符号の説明】
【００７３】
１００  通信試験システム
２００、３００  試験サーバ
２１０、２２０  負荷発生仮想マシン
２２０、３２０  擬似ＣＰＵ負荷発生手段
２３０、３３０  擬似ＭＥＭ負荷発生手段
２４０、３４０  負荷トラフィック発生手段
２５０、３５０  ブリッジ
２６０、３６０  折り返し手段
４００、４１０、４２０  物理サーバ
【図１】
0005549237.tif 000002
【図２】
0005549237.tif 000003
【図３】
0005549237.tif 000004
【図４】
0005549237.tif 000005
【図５】
0005549237.tif 000006
【図６】
0005549237.tif 000007
【図７】
0005549237.tif 000008
【図８】
0005549237.tif 000009
【図９】
0005549237.tif 000010
【図１０】
0005549237.tif 000011
【図１１】
0005549237.tif 000012
【図１２】
0005549237.tif 000013
【図１３】
0005549237.tif 000014
【図１４】
0005549237.tif 000015
【図１５】
0005549237.tif 000016
【図１６】
0005549237.tif 000017
【図１７】
0005549237.tif 000018
【図１８】
0005549237.tif 000019
【図１９】
0005549237.tif 000020