(57)【要約】【課題】アプリケーションレベルでの通信プロトコルに対応した試験が可能なネットワークシミュレーションシステムを提供することを目的としている。【解決手段】物理計算機１上に構築され、複数の仮想計算機Ａ，Ｂ，・・・，Ｎ間が論理的に接続された仮想ネッワーク２と、複数の仮想計算機間で互いに情報が共有される情報共有メモリ領域３と、複数の仮想計算機の内部状態情報を情報共有メモリ領域３にリアルタイムにコピーするメモリコピー機能４と、を備えている。アプリケーションプログラムａ２により仮想計算機Ｂの試験用パケット送信プログラムｂ３は、情報共有メモリ領域３にコピーされた仮想計算機Ａの内部状態情報ａ１’を参照して、予め作成された内部状態・通信パケット対応表ｂ４の手順に従って順次通信パケットを送出して仮想ネットワーク２のシミュレーションを実施する。【選択図】図１
2012186754.tif 000002
【特許請求の範囲】
【請求項１】
物理計算機と、
前記物理計算機上に構築されるとともに、アプリケーションプログラムまたは試験用パケット送信プログラムあるいはその両方が搭載された複数の仮想計算機と、
前記複数の仮想計算機間が論理的に接続された仮想ネッワークと、
前記物理計算機上に配置され、前記複数の仮想計算機間で互いに情報が共有される情報共有メモリ領域と、
前記複数の仮想計算機に格納された内部状態情報を前記情報共有メモリ領域にリアルタイムにコピーするメモリコピー機能と、を備え、
前記試験用パケット送信プログラムは、前記情報共有メモリ領域にコピーされた前記仮想計算機の内部状態情報を参照して、予め作成された内部状態・通信パケット対応表の手順に従って順次通信パケットを送出して前記仮想ネットワークのシミュレーションを実施することを特徴するネッワークシミュレーションシステム。
【請求項２】
前記通信パケットと前記仮想計算機の内部状態情報とを保存するパケット・内部状態保存機能とを備え、前記パケット・内部状態保存機能により前記通信パケットと当該通信パケットが送出された仮想計算機の内部状態情報とがリンクされて保存されることを特徴とする請求項１に記載のネッワークシミュレーションシステム。
【請求項３】
前記情報共有メモリ領域の内容に対応して前記試験用プログラムの起動・停止を制御する仮想計算機管理機能を備え、前記仮想計算機管理機能により前記情報共有メモリ領域の内容から前記アプリケーションプログラムが搭載された仮想計算機の内部状態情報が解析され、通信パケットの送出が可能であると判断された場合には前記試験プログラムが起動され、それ以外の場合には前記試験プログラムが停止されることを特徴とする請求項１に記載のネッワークシミュレーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の計算機から構成されるネットワークシステムをシミュレートするネットワークシミュレーションシステムに関するものである。
【背景技術】
【０００２】
従来のネットワークシステムのシミュレーションでは、一つのアプリケーションプログラムとして構成され、エンティティをそのプログラム上に構築し、パケットの送受信をシミュレートするものであった。ルータやリピータなどから構成されるネットワークシステムにおいて、ＩＰ層以下の通信を模擬し、トラフィックの増減やパケット待ち行列の評価を実施することを主な目的としていた。
【０００３】
例えば、従来のネットワークのシミュレーションの例として、特許文献１のネットワークのシミュレーションモデル生成装置では、モデル構成決定部１１は、計測／情報収集部１３から経路機器リストを受け取り、ネットワーク２０のシミュレーションモデルの構成を作成する。モデル設定部１２は、そのシミュレーションモデルの構成の各構成要素について、適切なモデルを選択する。そして、モデル設定部１２は、そのモデルのパラメータ値を、計測／情報収集部１３から受け取る計測結果並びに収集情報に基づいて設定し、ネットワーク２０のシミュレーションモデルを自動生成する。これにより、あらゆるネットワークのシミュレーションモデルを、ネットワークの現状を反映させて、自動生成できるようにしている。これは、実際のネットワークを流れるパケット情報などを収集・計測し、そのデータからシミュレーションの各種構成要素のモデルのパラメータを定義するもので、実際に近いシミュレーションモデルを自動生成する場合に有効である。
【０００４】
また、特許文献２のネットワーク擬似装置では、パケットを送受信するネットワーク装置１０に物理的に接続される物理ポート６１、６２、６３と、コンピュータ上に構築された複数の擬似ネットワークである擬似ＬＡＮ部４１ａ、４１ｂ及び擬似ＷＡＮ部４２から任意の擬似ネットワークを選択し、選択した当該擬似ネットワークに接続された論理ポートを物理ポート６１、６２、６３に関連付けるネットワーク設定部としてのシナリオ解析部９１と、を備える。これにより、ＬＡＮ及びＷＡＮ上での通信ネットワークの試験を可能とするネットワーク擬似装置を構築している。
【０００５】
近年のネットワークシステムは、機器の高性能化に伴い、ネットワーク下位層での課題はほぼなくなり、より上位層での課題が増大してきている。複雑なプロトコルで構成されるアプリケーションプログラムにおいて、通信を行うエンティティの状態遷移とパケットの送受信の関係を把握するのは非常に困難となってきている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−４４９９３号公報
【特許文献２】特開２０１０−１９３１７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１のネットワークのシミュレーションモデル生成装置では、パラメータ収集のために実際のネットワークシステムに近い物理的環境を構築することが前提であり、大きな作業を伴うという問題点があった。また、特許文献２のネットワークのネットワーク擬似装置では、複数の擬似ネットワークの論理ポートを物理ポートと接続す
ることで大規模ネットワークを構築しているが、本構成では物理ネットワークを流れるパケットのログ収集ができないという問題点があった。
【０００８】
さらに、従来のネットワークシミュレーションシステムでは、下位層の通信のシミュレーションが主流であり、上位のアプリケーションレベルのシミュレーションには対応できていなかった。また、上位レベルの複雑なプロトコルをそのシミュレーションシステムに実装は非常なコストがかかり、さらに、その実装の正確性・妥当性の保証が困難であった。
【０００９】
本発明は、上記の課題を解決するためになされたものであり、実際のアプリケーションレベルでの通信プロトコルに対応した試験が可能なネットワークシミュレーションシステムを提供することを目的としている。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明のネットワークシミュレーションシステムは、物理計算機と、前記物理計算機上に構築されるとともに、アプリケーションプログラムまたは試験用パケット送信プログラムあるいはその両方が搭載された複数の仮想計算機と、前記複数の仮想計算機間が論理的に接続された仮想ネッワークと、前記物理計算機上に配置され、前記複数の仮想計算機間で互いに情報が共有される情報共有メモリ領域と、前記複数の仮想計算機に格納された内部状態情報を前記情報共有メモリ領域にリアルタイムにコピーするメモリコピー機能と、を備え、前記試験用パケット送信プログラムは、前記情報共有メモリ領域にコピーされた前記仮想計算機の内部状態情報を参照して、予め作成された内部状態・通信パケット対応表の手順に従って順次通信パケットを送出して前記仮想ネットワークのシミュレーションを実施することを特徴するものである。
【発明の効果】
【００１１】
本発明のネットワークシミュレーションシステムによれば、アプリケーションレベルの複雑な通信プロトコルを、アプリケーションを仮想計算機上で動作させ、その仮想計算機の通信プロトコルの内部状態情報を各仮想計算機間で情報共有させることによって、必要なタイミングでの通信パケットの送受信を行うことが可能であり、アプリケーションレベルでのプロトコルを利用したネットワークシステムのシミュレーションを実施することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態１に係るネットワークシミュレーションシステムの全体構成を示す概略図である。
【図２】本発明の実施の形態１における仮想計算機と情報共有メモリ領域とのやりとりを示す概念図である。
【図３】本発明の実施の形態１における仮想計算機内のメモリ領域での内部状態遷移を示す概略図である。
【図４】本発明の実施の形態２に係るネットワークシミュレーションシステムの全体構成を示す概略図である。
【図５】本発明の実施の形態２における記憶装置に記録された内容を示すイメージ図である。
【図６】本発明の実施の形態３に係るネットワークシミュレーションシステムの全体構成を示す概略図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態に係るネットワークシミュレーションシステムについて図１〜図６を参照して説明する。
【００１４】
実施の形態１．
図１は、実施の形態１に係るネットワークシミュレーションシステムの全体構成を示す概略図であり、図２は、仮想計算機と情報共有メモリ領域とのやりとりを示す概念図である。図３は、仮想計算機内の記憶領域内での状態遷移を示す概略図である。
【００１５】
図１に示すように、実施の形態１に係るネットワークシミュレーションシステムでは、物理計算機１と、この物理計算機１上に構築された複数の仮想計算機Ａ，Ｂ，・・・，Ｎと、これら複数の仮想計算機Ａ，Ｂ，・・・，Ｎ間を相互にリンクさせた仮想ネットワーク２と、仮想計算機Ａ，Ｂ，・・・，Ｎのメモリ領域ａ１，ｂ１，・・・，ｎ１に保存された内部状態情報をコピー保存する情報共有メモリ領域３と、仮想計算機Ａ，Ｂ，・・・，Ｎのメモリ領域ａ１，ｂ１，・・・，ｎ１の内部状態情報ａ１’，ｂ１’，・・・，ｎ１’を情報共有メモリ領域３にリアルタイムで書き写す指示を出すメモリコピー機能４と、仮想計算機Ａに搭載されたアプリケーションプログラムａ２と、仮想計算機Ｂ，・・・，Ｎに搭載された試験用パケット送信プログラムｂ３，・・・，ｎ３及び内部状態・送信パケット対応表ｂ４，・・・，ｎ４と、情報共有メモリ領域３の内部状態情報ａ１’，ｂ１’，・・・，ｎ１’の変化を保存する物理計算機１の記憶装置５とから構成されている。
【００１６】
次に、実施の形態１によるネットワークシミュレーションシステムの動作について、図１、図２及び図３を用いて説明する。ここでは、予め、仮想計算機Ａには、仮想ネットワークのシミュレーションを実行するためのアプリケーションプログラムａ２が搭載され、また、仮想計算機Ｂ，・・・，Ｎには、仮想計算機Ａのアプリケーションａ２に対応して応答する試験用パケット送信プログラムｂ３，・・・，ｎ３が搭載されているものとする。物理計算機１上でシミュレーションが実行されると、仮想計算機Ａのメモリ領域ａ１の内部状態が物理計算機１上に構築されたメモリコピー機能４により、同じく物理計算機１上に構築された情報共有メモリ領域３に内部状態情報ａ１’としてコピーされる。その後も、仮想計算機Ａのメモリ領域ａ１の内部状態情報ａ１’に変化があればリアルタイムでコピーが実行される。
【００１７】
ネットワーク通信を行う仮想計算機Ａのアプリケーションプログラムａ１は、図３に示す通信プロトコルを管理する内部状態遷移図６を持っており、内部状態遷移図６は、プログラム上は、仮想計算機Ａのメモリ領域ａ１の中で実現されている。
【００１８】
アプリケーションプログラムａ１が実行されると、仮想計算機Ａは、通信パケットＡを仮想計算機Ｂに送信して内部状態Ｔ１で待機している。通信パケットＡ１を受信した仮想計算機Ｂでは、試験用パケット送信プログラムｂ３は、情報共有メモリ領域３にコピーされた仮想計算機Ａのメモリ領域ａ１の内部状態情報ａ１’を参照して、仮想計算機Ｂ内に予め格納された内部状態・送信パケット対応表ｂ４を参照し、そこで指示されたパケットＢ１を送信する。仮想計算機Ａは、通信パケットＢ１を受信すると通信パケットのタイプ（制御パケット、データパケット）に応じて内部状態遷移図６で定められた通信パケットＡ２を送信して、内部状態Ｔ２もしくはＴ３に遷移して、次の通信パケットＢ２を待つ。ここで、試験用パケット送信プログラムｂ３は、仮想計算機Ｂから送信した通信パケットＢ１と仮想計算機Ａの新しく遷移した内部状態Ｔ２あるいはＴ３とを、試験結果対応表と照らし合わせて確認する。結果がＯＫであればその試験は完了し、ＮＧであればその旨を通知する。続いて、例えば、仮想計算機Ａが内部状態Ｔ２に遷移する際に仮想計算機Ｂに通信パケットＡ２を送信すると、同様に試験用パケット送信プログラムｂ３は、内部状態・送信パケット対応表ｂ４を参照し、そこで示された通信パケットＢ２を送信する。通信パケットＢ２を受信した仮想計算機Ａは、通信パケットＡ３を送信して、内部状態Ｔ４に遷移して、次の通信パケットが受信されるまで待機する。同様に、内部状態遷移図６で、所定の終了状態である内部状態Ｔ６またはＴ７となるまで、通信パケットの受信、送信、状態遷移の一連の動作を繰り返す。このようにして、順次、仮想計算機Ａと仮想計算機Ｂとの間で通信パケットを交換して、シミュレーションを実行する。シミュレーションの実行に伴い、物理計算機１の記憶装置５に情報共有メモリ領域３の内部状態情報ａ１’の変化が保存される。
【００１９】
ここで、仮想計算機Ａの内部状態Ｔを監視することができれば、そのアプリケーションプログラムａ２が次にどのような通信パケットを受信することを期待しているのかを判別することが可能である。
【００２０】
このメモリコピー機能４は、仮想計算機環境が持つＣＰＵとメモリ管理のトラップ機能を利用することにより実現可能である。トラップ機能とは、アプリケーションや仮想計算機が予め指定したメモリ領域に情報を書き出した処理を検出して、その処理を一時停止して特別な処理（ここでは、例えば、仮想計算機Ａのメモリ領域ａ１の内容を情報共有メモリ領域３にコピーする）を実行させる機能である。
【００２１】
また、メモリコピー機能４は、アプリケーションプログラムａ２の内部状態Ｔを保存している仮想計算機Ａのメモリ領域ａ１に対してアプリケーションプログラムａ２が状態を書き込みに行ったことを検出し、その内容をそのまま情報共有メモリ領域３に複写して、終了後直ちにアプリケーションプログラムａ２の処理を継続する。これによってアプリケーションプログラムａ２は自分の動作が中断されたことを認識することなく、処理を継続することが可能である。
【００２２】
このように、実施の形態１に係るネットワークシミュレーションシステムでは、情報共有メモリ領域とメモリコピー機能を用いることによって、従来のシミュレーションシステムでは困難であったアプリケーションレベルの複雑な通信プロトコルを、アプリケーションを仮想計算機上で動作させ、その仮想計算機の通信プロトコルの内部状態情報を各仮想計算機間で情報共有させることによって、必要なタイミングでの通信パケットの送受信を行うことが可能であり、アプリケーションレベルでのプロトコルを利用したネットワークシステムのシミュレーションを実施することができる。
【００２３】
なお、実施の形態１では、試験用パケット送信プログラムは仮想計算機Ｂのみにある場合について説明したが、仮想計算機Ｂ以外の仮想計算機にも試験用パケット送信プログラムｃ３，・・・，ｎ３が搭載されている場合についても同様であり、仮想計算機Ａのアプリケーションプログラムａ２と他の仮想計算機Ｃ，・・・，Ｎの複数の試験用パケット送信プログラムｃ３，・・・，ｎ３との間で、交換することも可能であり、様々なシミュレーションを実施することができる。
【００２４】
また、アプリケーションプログラムについても、実施の形態１では、１台の仮想計算機に搭載されている場合について説明したが、複数の仮想計算機に搭載されていてもよく、同時に実行することも可能である。
【００２５】
実施の形態２．
図４は、実施の形態２に係るネットワークシミュレーションシステムの全体構成を示す概略図であり、図５は、記憶装置に記録された内容を示すイメージ図である。図１に示す実施の形態１との違いは、通信パケット・状態保存機能７を有し、送信された通信パケットと当該通信パケットの送信元である仮想計算機の内部状態を記憶装置に転送保存する点であり、他の構成要素は実施の形態１と同様であるので説明を省略する。
【００２６】
図４に示すように、パケット・状態保存機能７は、仮想ネットワーク２の状態を常に監
視しておき、通信パケットが送信された場合には、その通信パケットの内容と、その通信パケットの送信元である仮想計算機Ａ，Ｂ，・・・，Ｎの内部状態Ｔ（情報共有メモリ領域３にコピーされたもの）を取得して、記憶装置５に転送し保存する。ここで、通信パケットと仮想計算機Ａ，Ｂ，・・・，Ｎの内部状態情報ａ１’，ｂ１’，・・・，ｎ１’とがリンクされて保存される。
【００２７】
図５に記憶装置５に保存された内容の例を示す。例えば、仮想計算機Ａの送信パケットＡ１と通信パケットＡ１送信時の仮想計算機Ａの内部状態情報ａ１’とのリンク情報５０１が保存される。以下、順次試験用パケット送信プログラムｂ３，・・・，ｎ３の実行に従って、仮想計算機Ｂの送信パケットＢ２と通信パケットＢ２送信時の仮想計算機Ｂの内部状態情報ｂ１’とのリンク情報５０２が、仮想計算機Ｃの送信パケットＣ３と通信パケットＣ３送信時の仮想計算機Ｃの内部状態情報ｃ１’とのリンク情報５０３が、仮想計算機Ａの送信パケットＡ４と通信パケットＡ４送信時の仮想計算機Ａの内部状態情報ａ１’とのリンク情報５０４がそれぞれ保存される。
【００２８】
これにより、従来のネットワークシミュレーションシステムでは、通信パケットの送受信の記録しか保存できず、アプリケーションプログラムの振舞いは、その記録から類推するしかなかったが、実施の形態２によって、アプリケーションプログラム（仮想計算機）の内部状態と通信パケットとをリンクさせて保存できるようになり、アプリケーションプログラムの動作をより詳細に確認することが可能となった。
【００２９】
このように、実施の形態２に係るネットワークシミュレーションシステムでは、仮想ネットワーク環境にパケット・状態保存機能を付加し、アプリケーションプログラム（仮想計算機）の内部状態と通信パケットとをリンクさせて保存することにより、実施の形態１と同様の機能を有するとともに、アプリケーションプログラムの動作をより詳細に内容を確認することができるという顕著な効果が期待できる。
【００３０】
実施の形態３．
図６は、実施の形態３に係るネットワークシミュレーションシステムの全体構成を示す概略図である。図１に示す実施の形態１との違いは、仮想計算機管理機能８を有し、試験用パケット送信プログラムの動作を一時的に停止させることができる点であり、他の構成要素は実施の形態１と同様であるので説明を省略する。
【００３１】
次に、図６を参照して、実施の形態３におけるネットワークシミュレーションシステムの動作について説明する。仮想計算機管理機能８は、仮想計算機実行環境上において、情報共有メモリ領域３の内容に対応して試験用パケット送信プログラムの起動・停止の制御を行う。これは、複数の仮想計算機にアプリケーションプログラムと試験用パケット送信プログラムが搭載された場合において有効である。例えば、仮想計算機管理機能８は、情報共有メモリ領域３の内容からアプリケーションプログラムａ２が搭載された仮想計算機Ａの内部状態情報ａ１’が解析され、アプリケーションプログラムａ２の処理動作状態を判断して、パケット送信仕様に照らし合わせて通信パケットの送出が可能であると判断された場合には仮想計算機Ｂの試験用パケット送信プログラムｂ３が起動され、それ以外の場合には試験用パケット送信プログラムｂ３を停止、待機させる。試験用パケット送信プログラムｂ３を一旦停止させた状態で、仮想計算機管理機能８は、仮想計算機Ｂ，・・・，Ｎの内部状態情報ｂ１’，・・・，ｎ１’を、情報共有メモリ領域３によって監視し続ける。そして、その内部状態情報ｂ１’，・・・，ｎ１’が、状態・起動表８ａに合致した場合には、その状態・起動表８ａに該当する仮想計算機Ｂ，・・・，Ｎの試験用パケット送信プログラムｂ３，・・・，ｎ３の動作を開始する。また、仮想計算機管理機能８は、これら一連の動作の記録を記憶装置５に逐一記録保存させる。
【００３２】
なお、上記説明では、１つのアプリケーションプログラムと、複数の試験用パケット送信プログラムとの間で、シミュレーションを実施する場合について説明したが、アプリケーションプログラムが複数ある場合であってもよい。これにより、複数のアプリケーションプログラムと複数の試験用パケット送信プログラムを同時に実行させることができ、シミュレーションの効率を向上させることができる。
【００３３】
このように、実施の形態３に係るネットワークシミュレーションシステムでは、仮想計算機管理機能を有し、試験用パケット送信プログラムの動作を一時的に停止させることにより、実施の形態１と同様の効果を有すると共に、仮想計算機管理機能により情報共有メモリ領域の内容から当該アプリケーションプログラムが搭載された仮想計算機の内部状態情報を解析し、通信パケットの送出が可能であると判断された場合には試験用パケット送信プログラムを起動させ、それ以外の場合には試験用パケット送信を停止させることができるので、複数のアプリケーションプログラムと複数の試験用パケット送信プログラムを実行させることができ、シミュレーションの効率を向上させることが期待できるという顕著な効果が期待できる。
【００３４】
なお、図において、同一符号は、同一または相当部分を示す。
【符号の説明】
【００３５】
１  物理計算機
２  仮想ネットワーク
３  情報共有メモリ領域
４  メモリコピー機能
５  記憶装置
５０１，５０２，５０３，５０４  リンク情報
６  内部状態遷移図
７  パケット・状態保存機能
８  仮想計算機管理機能
８ａ  状態・起動表
Ａ，Ｂ，・・・，Ｎ  仮想計算機
ａ１，ｂ１，・・・，ｎ１  メモリ領域
ａ１’，ｂ１’，・・・，ｎ１’  内部状態情報
ａ２，ｂ２，・・・，ｎ２  アプリケーションプログラム
ａ３，ｂ３，・・・，ｎ３  試験用パケット送信プログラム
ａ４，ｂ４，・・・，ｎ４  内部状態・送信パケット対応表
Ｔ１，Ｔ２，・・・，Ｔ７  内部状態
Ａ１，Ａ２，Ａ３，Ａ４，Ａ５  通信パケット
【図１】
2012186754.tif 000003
【図２】
2012186754.tif 000004
【図３】
2012186754.tif 000005
【図４】
2012186754.tif 000006
【図５】
2012186754.tif 000007
【図６】
2012186754.tif 000008