"物理計算機と、前記物理計算機上に構築されるとともに、アプリケーションプログラムまたは試験用パケット送信プログラムあるいはその両方が搭載された複数の仮想計算機と、前記複数の仮想計算機間が論理的に接続された仮想ネッワークと、前記物理計算機上に配置され、前記複数の仮想計算機間で互いに情報が共有される情報共有メモリ領域と、前記複数の仮想計算機に格納された内部状態情報を前記情報共有メモリ領域にリアルタイムにコピーするメモリコピー機能と、を備え、前記試験用パケット送信プログラムは、前記情報共有メモリ領域にコピーされた前記仮想計算機の内部状態情報を参照して、予め作成された内部状態通信パケット対応表の手順に従って順次通信パケットを送出して前記仮想ネットワークのシミュレーションを実施することを特徴するネッワークシミュレーションシステム。前記通信パケットと前記仮想計算機の内部状態情報とを保存するパケット内部状態保存機能とを備え、前記パケット内部状態保存機能により前記通信パケットと当該通信パケットが送出された仮想計算機の内部状態情報とがリンクされて保存されることを特徴とする請求項1に記載のネッワークシミュレーションシステム。前記情報共有メモリ領域の内容に対応して前記試験用プログラムの起動停止を制御する仮想計算機管理機能を備え、前記仮想計算機管理機能により前記情報共有メモリ領域の内容から前記アプリケーションプログラムが搭載された仮想計算機の内部状態情報が解析され、通信パケットの送出が可能であると判断された場合には前記試験プログラムが起動され、それ以外の場合には前記試験プログラムが停止されることを特徴とする請求項1に記載のネッワークシミュレーションシステム。しかしながら、特許文献1のネットワークのシミュレーションモデル生成装置では、パラメータ収集のために実際のネットワークシステムに近い物理的環境を構築することが前提であり、大きな作業を伴うという問題点があった。また、特許文献2のネットワークのネットワーク擬似装置では、複数の擬似ネットワークの論理ポートを物理ポートと接続することで大規模ネットワークを構築しているが、本構成では物理ネットワークを流れるパケットのログ収集ができないという問題点があった。さらに、従来のネットワークシミュレーションシステムでは、下位層の通信のシミュレーションが主流であり、上位のアプリケーションレベルのシミュレーションには対応できていなかった。また、上位レベルの複雑なプロトコルをそのシミュレーションシステムに実装は非常なコストがかかり、さらに、その実装の正確性妥当性の保証が困難であった。本発明は、上記の課題を解決するためになされたものであり、実際のアプリケーションレベルでの通信プロトコルに対応した試験が可能なネットワークシミュレーションシステムを提供することを目的としている。上記課題を解決するために、本発明のネットワークシミュレーションシステムは、物理計算機と、前記物理計算機上に構築されるとともに、アプリケーションプログラムまたは試験用パケット送信プログラムあるいはその両方が搭載された複数の仮想計算機と、前記複数の仮想計算機間が論理的に接続された仮想ネッワークと、前記物理計算機上に配置され、前記複数の仮想計算機間で互いに情報が共有される情報共有メモリ領域と、前記複数の仮想計算機に格納された内部状態情報を前記情報共有メモリ領域にリアルタイムにコピーするメモリコピー機能と、を備え、前記試験用パケット送信プログラムは、前記情報共有メモリ領域にコピーされた前記仮想計算機の内部状態情報を参照して、予め作成された内部状態通信パケット対応表の手順に従って順次通信パケットを送出して前記仮想ネットワークのシミュレーションを実施することを特徴するものである。本発明のネットワークシミュレーションシステムによれば、アプリケーションレベルの複雑な通信プロトコルを、アプリケーションを仮想計算機上で動作させ、その仮想計算機の通信プロトコルの内部状態情報を各仮想計算機間で情報共有させることによって、必要なタイミングでの通信パケットの送受信を行うことが可能であり、アプリケーションレベルでのプロトコルを利用したネットワークシステムのシミュレーションを実施することができる。以下、本発明の実施の形態に係るネットワークシミュレーションシステムについて図1~図6を参照して説明する。実施の形態1.図1は、実施の形態1に係るネットワークシミュレーションシステムの全体構成を示す概略図であり、図2は、仮想計算機と情報共有メモリ領域とのやりとりを示す概念図である。図3は、仮想計算機内の記憶領域内での状態遷移を示す概略図である。図1に示すように、実施の形態1に係るネットワークシミュレーションシステムでは、物理計算機1と、この物理計算機1上に構築された複数の仮想計算機A,B,,Nと、これら複数の仮想計算機A,B,,N間を相互にリンクさせた仮想ネットワーク2と、仮想計算機A,B,,Nのメモリ領域a1,b1,,n1に保存された内部状態情報をコピー保存する情報共有メモリ領域3と、仮想計算機A,B,,Nのメモリ領域a1,b1,,n1の内部状態情報a1’,b1’,,n1’を情報共有メモリ領域3にリアルタイムで書き写す指示を出すメモリコピー機能4と、仮想計算機Aに搭載されたアプリケーションプログラムa2と、仮想計算機B,,Nに搭載された試験用パケット送信プログラムb3,,n3及び内部状態送信パケット対応表b4,,n4と、情報共有メモリ領域3の内部状態情報a1’,b1’,,n1’の変化を保存する物理計算機1の記憶装置5とから構成されている。次に、実施の形態1によるネットワークシミュレーションシステムの動作について、図1、図2及び図3を用いて説明する。ここでは、予め、仮想計算機Aには、仮想ネットワークのシミュレーションを実行するためのアプリケーションプログラムa2が搭載され、また、仮想計算機B,,Nには、仮想計算機Aのアプリケーションa2に対応して応答する試験用パケット送信プログラムb3,,n3が搭載されているものとする。物理計算機1上でシミュレーションが実行されると、仮想計算機Aのメモリ領域a1の内部状態が物理計算機1上に構築されたメモリコピー機能4により、同じく物理計算機1上に構築された情報共有メモリ領域3に内部状態情報a1’としてコピーされる。その後も、仮想計算機Aのメモリ領域a1の内部状態情報a1’に変化があればリアルタイムでコピーが実行される。ネットワーク通信を行う仮想計算機Aのアプリケーションプログラムa1は、図3に示す通信プロトコルを管理する内部状態遷移図6を持っており、内部状態遷移図6は、プログラム上は、仮想計算機Aのメモリ領域a1の中で実現されている。アプリケーションプログラムa1が実行されると、仮想計算機Aは、通信パケットAを仮想計算機Bに送信して内部状態T1で待機している。通信パケットA1を受信した仮想計算機Bでは、試験用パケット送信プログラムb3は、情報共有メモリ領域3にコピーされた仮想計算機Aのメモリ領域a1の内部状態情報a1’を参照して、仮想計算機B内に予め格納された内部状態送信パケット対応表b4を参照し、そこで指示されたパケットB1を送信する。仮想計算機Aは、通信パケットB1を受信すると通信パケットのタイプ制御パケット、データパケットに応じて内部状態遷移図6で定められた通信パケットA2を送信して、内部状態T2もしくはT3に遷移して、次の通信パケットB2を待つ。ここで、試験用パケット送信プログラムb3は、仮想計算機Bから送信した通信パケットB1と仮想計算機Aの新しく遷移した内部状態T2あるいはT3とを、試験結果対応表と照らし合わせて確認する。結果がOKであればその試験は完了し、NGであればその旨を通知する。続いて、例えば、仮想計算機Aが内部状態T2に遷移する際に仮想計算機Bに通信パケットA2を送信すると、同様に試験用パケット送信プログラムb3は、内部状態送信パケット対応表b4を参照し、そこで示された通信パケットB2を送信する。通信パケットB2を受信した仮想計算機Aは、通信パケットA3を送信して、内部状態T4に遷移して、次の通信パケットが受信されるまで待機する。同様に、内部状態遷移図6で、所定の終了状態である内部状態T6またはT7となるまで、通信パケットの受信、送信、状態遷移の一連の動作を繰り返す。このようにして、順次、仮想計算機Aと仮想計算機Bとの間で通信パケットを交換して、シミュレーションを実行する。シミュレーションの実行に伴い、物理計算機1の記憶装置5に情報共有メモリ領域3の内部状態情報a1’の変化が保存される。ここで、仮想計算機Aの内部状態Tを監視することができれば、そのアプリケーションプログラムa2が次にどのような通信パケットを受信することを期待しているのかを判別することが可能である。このメモリコピー機能4は、仮想計算機環境が持つCPUとメモリ管理のトラップ機能を利用することにより実現可能である。トラップ機能とは、アプリケーションや仮想計算機が予め指定したメモリ領域に情報を書き出した処理を検出して、その処理を一時停止して特別な処理ここでは、例えば、仮想計算機Aのメモリ領域a1の内容を情報共有メモリ領域3にコピーするを実行させる機能である。また、メモリコピー機能4は、アプリケーションプログラムa2の内部状態Tを保存している仮想計算機Aのメモリ領域a1に対してアプリケーションプログラムa2が状態を書き込みに行ったことを検出し、その内容をそのまま情報共有メモリ領域3に複写して、終了後直ちにアプリケーションプログラムa2の処理を継続する。これによってアプリケーションプログラムa2は自分の動作が中断されたことを認識することなく、処理を継続することが可能である。このように、実施の形態1に係るネットワークシミュレーションシステムでは、情報共有メモリ領域とメモリコピー機能を用いることによって、従来のシミュレーションシステムでは困難であったアプリケーションレベルの複雑な通信プロトコルを、アプリケーションを仮想計算機上で動作させ、その仮想計算機の通信プロトコルの内部状態情報を各仮想計算機間で情報共有させることによって、必要なタイミングでの通信パケットの送受信を行うことが可能であり、アプリケーションレベルでのプロトコルを利用したネットワークシステムのシミュレーションを実施することができる。なお、実施の形態1では、試験用パケット送信プログラムは仮想計算機Bのみにある場合について説明したが、仮想計算機B以外の仮想計算機にも試験用パケット送信プログラムc3,,n3が搭載されている場合についても同様であり、仮想計算機Aのアプリケーションプログラムa2と他の仮想計算機C,,Nの複数の試験用パケット送信プログラムc3,,n3との間で、交換することも可能であり、様々なシミュレーションを実施することができる。また、アプリケーションプログラムについても、実施の形態1では、1台の仮想計算機に搭載されている場合について説明したが、複数の仮想計算機に搭載されていてもよく、同時に実行することも可能である。実施の形態2.図4は、実施の形態2に係るネットワークシミュレーションシステムの全体構成を示す概略図であり、図5は、記憶装置に記録された内容を示すイメージ図である。図1に示す実施の形態1との違いは、通信パケット状態保存機能7を有し、送信された通信パケットと当該通信パケットの送信元である仮想計算機の内部状態を記憶装置に転送保存する点であり、他の構成要素は実施の形態1と同様であるので説明を省略する。図4に示すように、パケット状態保存機能7は、仮想ネットワーク2の状態を常に監視しておき、通信パケットが送信された場合には、その通信パケットの内容と、その通信パケットの送信元である仮想計算機A,B,,Nの内部状態T情報共有メモリ領域3にコピーされたものを取得して、記憶装置5に転送し保存する。ここで、通信パケットと仮想計算機A,B,,Nの内部状態情報a1’,b1’,,n1’とがリンクされて保存される。図5に記憶装置5に保存された内容の例を示す。例えば、仮想計算機Aの送信パケットA1と通信パケットA1送信時の仮想計算機Aの内部状態情報a1’とのリンク情報501が保存される。以下、順次試験用パケット送信プログラムb3,,n3の実行に従って、仮想計算機Bの送信パケットB2と通信パケットB2送信時の仮想計算機Bの内部状態情報b1’とのリンク情報502が、仮想計算機Cの送信パケットC3と通信パケットC3送信時の仮想計算機Cの内部状態情報c1’とのリンク情報503が、仮想計算機Aの送信パケットA4と通信パケットA4送信時の仮想計算機Aの内部状態情報a1’とのリンク情報504がそれぞれ保存される。これにより、従来のネットワークシミュレーションシステムでは、通信パケットの送受信の記録しか保存できず、アプリケーションプログラムの振舞いは、その記録から類推するしかなかったが、実施の形態2によって、アプリケーションプログラム仮想計算機の内部状態と通信パケットとをリンクさせて保存できるようになり、アプリケーションプログラムの動作をより詳細に確認することが可能となった。このように、実施の形態2に係るネットワークシミュレーションシステムでは、仮想ネットワーク環境にパケット状態保存機能を付加し、アプリケーションプログラム仮想計算機の内部状態と通信パケットとをリンクさせて保存することにより、実施の形態1と同様の機能を有するとともに、アプリケーションプログラムの動作をより詳細に内容を確認することができるという顕著な効果が期待できる。実施の形態3.図6は、実施の形態3に係るネットワークシミュレーションシステムの全体構成を示す概略図である。図1に示す実施の形態1との違いは、仮想計算機管理機能8を有し、試験用パケット送信プログラムの動作を一時的に停止させることができる点であり、他の構成要素は実施の形態1と同様であるので説明を省略する。次に、図6を参照して、実施の形態3におけるネットワークシミュレーションシステムの動作について説明する。仮想計算機管理機能8は、仮想計算機実行環境上において、情報共有メモリ領域3の内容に対応して試験用パケット送信プログラムの起動停止の制御を行う。これは、複数の仮想計算機にアプリケーションプログラムと試験用パケット送信プログラムが搭載された場合において有効である。例えば、仮想計算機管理機能8は、情報共有メモリ領域3の内容からアプリケーションプログラムa2が搭載された仮想計算機Aの内部状態情報a1’が解析され、アプリケーションプログラムa2の処理動作状態を判断して、パケット送信仕様に照らし合わせて通信パケットの送出が可能であると判断された場合には仮想計算機Bの試験用パケット送信プログラムb3が起動され、それ以外の場合には試験用パケット送信プログラムb3を停止、待機させる。試験用パケット送信プログラムb3を一旦停止させた状態で、仮想計算機管理機能8は、仮想計算機B,,Nの内部状態情報b1’,,n1’を、情報共有メモリ領域3によって監視し続ける。そして、その内部状態情報b1’,,n1’が、状態起動表8aに合致した場合には、その状態起動表8aに該当する仮想計算機B,,Nの試験用パケット送信プログラムb3,,n3の動作を開始する。また、仮想計算機管理機能8は、これら一連の動作の記録を記憶装置5に逐一記録保存させる。なお、上記説明では、1つのアプリケーションプログラムと、複数の試験用パケット送信プログラムとの間で、シミュレーションを実施する場合について説明したが、アプリケーションプログラムが複数ある場合であってもよい。これにより、複数のアプリケーションプログラムと複数の試験用パケット送信プログラムを同時に実行させることができ、シミュレーションの効率を向上させることができる。このように、実施の形態3に係るネットワークシミュレーションシステムでは、仮想計算機管理機能を有し、試験用パケット送信プログラムの動作を一時的に停止させることにより、実施の形態1と同様の効果を有すると共に、仮想計算機管理機能により情報共有メモリ領域の内容から当該アプリケーションプログラムが搭載された仮想計算機の内部状態情報を解析し、通信パケットの送出が可能であると判断された場合には試験用パケット送信プログラムを起動させ、それ以外の場合には試験用パケット送信を停止させることができるので、複数のアプリケーションプログラムと複数の試験用パケット送信プログラムを実行させることができ、シミュレーションの効率を向上させることが期待できるという顕著な効果が期待できる。なお、図において、同一符号は、同一または相当部分を示す。"