(57)【特許請求の範囲】
【請求項１】
複数の装置を伝送回線を介して接続し、任意の発信元装置と受信先装置との間で所定の通信規約に従って通信処理を行うシステムに於いて、
前記伝送回線上の通信情報を収集する回線情報収集部と、
前記回線情報収集部で収集した通信情報の中から特定の発信元装置と受信先装置との間の通信情報を抽出する通信情報抽出部と、
前記通信情報抽出部で抽出された通信情報から、指定した１又は複数のプロトコル単位に作成された通信情報のうち、入力元の通信記録ファイルおよび抽出先の通信記録ファイルのファイル名、抽出対象とするサーバとクライアント、プロトコル毎のシミュレート手順に対応するプロトコル識別子からなるシミュレーションに必要な通信情報を判別して回線上から採取し実際に行っていた通信動作の手順からなるシミュレート手順に変換する手順変換部と、
前記手順変換部で変換されたシミュレート手順に従って通信処理を実行するシミュレート処理部と、
を備えたことを特徴とする計算機ネットワークのシミュレーション装置。
【請求項２】
請求項１記載の計算機ネットワークのシミュレータ装置に於いて、前記手順変換部は、プロトコル単位に前記シミュレート手順を作成することを特徴とする計算機ネットワークのシミュレータ装置。
【請求項３】
請求項１又は２記載の計算機ネットワークのシミュレータ装置に於いて、前記手順変換部は、抽出された通信情報からシミュレート手順情報に変換する際に、情報の内容を修正する編集処理部を備えたことを特徴とする計算機ネットワークのシミュレータ装置。
【請求項４】
請求項３記載の計算機ネットワークのシミュレータ装置に於いて、前記編集処理部は、変換されたシミュレート手順に基づいて特定の受信先装置に対する複数の発信元装置を対象としたシミュレート手順を作成することを特徴とする計算機ネットワークのシミュレータ装置。
【請求項５】
請求項３又は４記載の計算機ネットワークのシミュレータ装置に於いて、前記編集処理部は、前記シミュレート手順のファイル形式をユーザが認識可能なファイル形式に変換した後に修正し、修正後に元のファイル形式に変換することを特徴とする計算機ネットワークのシミュレータ装置。
【請求項６】
請求項３乃至５記載の計算機ネットワークのシミュレータ装置に於いて、前記編集処理部は、修正前のシミュレート手順の中の送信時間および又は受信時間の間隔を修正して複数の発信元装置を同時シミュレート動作させるためのシミュレート手順を作成することを特徴とする計算機ネットワークのシミュレータ装置。
【請求項７】
請求項１記載の計算機ネットワークのシミュレータ装置に於いて、前記手順変換部で作成されるシミュレート手順は、シミュレート初期化処理部、シミュレート通信部及びシミュレート終了処理部のファイル構造を持ち、前記シミュレート通信部は通信開始と通信終了のシミュレート制御情報の間に、前記伝送回線から収集された通信情報に基づくシミュレート命令とシミュレート命令データを配置したことを特徴とする計算機ネットワークのシミュレータ装置。
【請求項８】
請求項１記載の計算機ネットワークのシミュレータ装置に於いて、前記シミュレート処理部は、シミュレータ動作条件を定義するシミュレート定義部を有し、該シミュレート定義部で定義されたシミュレータ動作条件と前記手順変換部で変換されたシミュレート手順に基づいて受信先装置との通信処理を実行することを特徴とする計算機ネットワークのシミュレータ装置。
【請求項９】
請求項８記載の計算機ネットワークのシミュレータ装置に於いて、前記シミュレート定義部は、必要に応じてシミュレータ動作条件を変更することを特徴とする計算機ネットワークのシミュレータ装置。
【請求項１０】
請求項８又は９記載の計算機ネットワークのシミュレータ装置に於いて、前記シミュレート定義部は、シミュレータ動作条件として、少なくともシミュレートにより擬似する発信元装置の台数、シミュレートによる受信先の装置名、及びシミュレータマシンの装置名を定義することを特徴とする計算機ネットワークのシミュレータ装置。
【請求項１１】
請求項１０記載の計算機ネットワークのシミュレータ装置に於いて、前記シミュレート定義部は、シミュレータマシンの装置名として、装置自身の装置名を定義することを特徴とする計算機ネットワークのシミュレータ装置。
【請求項１２】
請求項１１記載の計算機ネットワークのシミュレータ装置に於いて、前記シミュレート定義部は、シミュレータマシンの装置名として、更に外部に設けた別のシミュレータマシンの装置名を定義することを特徴とする計算機ネットワークのシミュレータ装置。
【請求項１３】
請求項１０記載の計算機ネットワークのシミュレータ装置に於いて、前記シミュレート定義部は、シミュレータ動作条件として、更に、ログファイル名、シミュレータ変数値および自動実行コマンドを定義することを特徴とする計算機ネットワークのシミュレータ装置。
【請求項１４】
請求項１３記載の計算機ネットワークのシミュレータ装置に於いて、前記シュミレータ定義部に定義された自動実行コマンドは、シミュレータ装置自身、回線接続された他の装置に対し、予め定義されたシミュレート動作状況の所定のタイミングで発行して実行を制御するコマンドであることを特徴とする計算機ネットワークのシミュレータ装置。
【請求項１５】
請求項１４記載の計算機ネットワークのシミュレータ装置に於いて、前記自動コマンドとして、少なくともシミュレート開始コマンド、通信開始コマンド、通信終了コマンド、及びシミュレート終了コマンドを定義したことを特徴とする計算機ネットワークのシミュレータ装置。
【請求項１６】
請求項８記載計算機のネットワークのシミュレータ装置に於いて、
前記シミュレータ処理部は、シミュレータ制御部を有し、
前記シミュレータ制御部は、プロトコル毎に変換されたシミュレート手順に対応する業務単位に１又は複数のシミュレートを同時に実行するためのグループ制御部を生成して起動し、
前記グループ制御部は端末制御部を有し、該端末制御部の起動によりシミュレータとして疑似する１又は複数の発信元装置部を生成させ、
前記端末制御部は、前記シミュレート手順を前記発信元装置部に提供してシミュレート動作を行わせることを特徴とする計算機ネットワークのシミュレータ装置。
【請求項１７】
請求項１６記載の計算機ネットワークのシミュレータ装置に於いて、前記シミュレータ制御部は、プロトコル単位に複数のシミュレート手順が得られている場合、各シミュレート手順毎に前記グループ制御部を生成して複数業務のシミュレートを同時に実行することを特徴とする計算機ネットワークのシミュレータ装置。
【請求項１８】
請求項１６記載の計算機ネットワークのシミュレータ装置に於いて、前記シミュレータ制御部は、特定のプロトコルの変換で複数業務分のシミュレート手順が得られている場合、各シミュレート手順毎に前記グループ制御部を生成して複数業務のシミュレートを同時に実行することを特徴とする計算機ネットワークのシミュレータ装置。
【請求項１９】
請求項１６記載の計算機ネットワークのシミュレータ装置に於いて、前記シミュレータ制御部は、前記シミュレータ定義部にシミュレータとして動作する装置名が自己を含めて複数定義されていた場合、前記グループ制御部を自己を含めた複数の装置に生成して起動させることを特徴とする計算機ネットワークのシミュレータ装置。
【請求項２０】
請求項１９記載の計算機ネットワークのシミュレータ装置に於いて、前記シミュレータ制御部は自己をマスタとし、外部の発信元装置に生成したグループ制御部をスレーブとして前記伝送回線を経由して起動させることを特徴とする計算機ネットワークのシミュレータ装置。
【請求項２１】
請求項１６記載の計算機ネットワークのシミュレータ装置に於いて、前記グループ制御部に設けた発信元装置部は、前記シミュレート手順の命令を実行する毎に、動作状況を記録することを特徴とする計算機ネットワークのシミュレータ装置。
【請求項２２】
請求項１記載の計算機ネットワークのシミュレータ装置に於いて、前記シミュレート処理部は、シミュレータ動作状況を実時間で表示するモニタ制御部を備えたことを特徴とする計算機ネットワークのシミュレータ装置。
【請求項２３】
請求項１記載の計算機ネットワークのシミュレータ装置に於いて、前記シミュレート処理部は、シミュレータ動作を記録してログ情報を作成するログ制御部を備えたことを特徴とする計算機ネットワークのシミュレータ装置。
【請求項２４】
請求項２３記載の計算機ネットワークのシミュレータ装置に於いて、前記シミュレート処理部は、前記ログ制御部で作成したログ情報に基づいてシステム性能を集計して提供する性能集計部を備えたことを特徴とする計算機ネットワークのシミュレータ装置。
【請求項２５】
請求項１記載の計算機ネットワークのシミュレータ装置に於いて、前記発信元装置はクライアントマシンであり、前記受信先装置はサーバマシンであることを特徴とする計算機ネットワークのシミュレータ装置。
【請求項２６】
請求項１記載の計算機ネットワークのシミュレータ装置に於いて、前記発信元装置は端末マシンであり、前記受信先装置はホストマシンであることを特徴とする計算機ネットワークのシミュレータ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ローカル・エリア・ネットワーク等の伝送回線に接続したクライアントとサーバ或いは端末とホストの間で実行される業務通信の手順をシミュレートする計算機ネットワークのシミュレータ装置に関し、特に伝送回線上の通信情報を利用してシミュレートする計算機ネットワークのシミュレータ装置に関する。
【０００２】
【従来の技術】
従来、ホストコンピュータと複数の端末をＬＡＮ等のネットワークで接続した計算機ネットワーク・システムにあっては、システムの運用状態を評価し、特定のクライアントとサーバの間にトランザクションが集中する事態や、時間的なトランザクションの状況を把握し、システムの再構築や運用形態の変更を検討し、常にシステム性能を最大限に発揮させる必要がある。
【０００３】
このような計算機ネットワーク・システムの評価のために、実際にクライアントとサーバとの間で行われているトランザクションを擬似的に実行して性能を評価するシミュレータ装置を使用することが考えられる。
【０００４】
【発明が解決しようとする課題】
ところで、計算機ネットワーク・システムの性能評価に使用するシミュレータ装置を構築する場合、対象とする計算機ネットワークで行われている各種のプロトコルに従ったトランザクションを解析し、この解析結果に基づき、実際のトランザクションに近い形態のシミュレーション手順を作成する必要がある。
【０００５】
しかし、シミュレータ装置を提供するメーカ側は、対象とするユーザの計算機ネットワークのプロトコル及び業務内容を詳細に知ることは通常困難であり、実際に行われているトランザクションと同等なシミュレーション手順を作成することは無理である。
このためシステムの業務形態を考慮して一義的なシミュレーション手順とせざるを得ず、このような実際の運用と掛け離れたシミュレーション手順を使用しても、システムの正確な性能評価は期待できなかった。
【０００６】
本発明は、計算機ネットワーク・システムの伝送回線上から直接に通信情報を採取し、これをそのままシミュレート手順に反映させ、実際に行なわれているトランザクションと同等手順をもつシミュレートにより、システムの正確な性能評価が期待できる計算機ネットワークのシミュレータ装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
図１は本発明の原理説明図である。
まず本発明は、発信元装置となるクライアント１４と受信先装置となるサーバ１２を伝送回線１０を介して接続し、クライアント１４とサーバ１２の間で１又は複数の通信規約（通信プロトコル）に従って業務（トランザクション）の通信処理を行う計算機ネットワーク・システムで使用するシミュレータ装置１６を対象とする。
【０００８】
本発明のシミュレータ装置１６は、伝送回線１０上の通信情報、例えばパケット情報を収集する回線情報収集部１８と、回線情報収集部１８で収集した通信情報２０の中からクライアント１４（発信元装置）とサーバ１２（受信先装置）との間の通信情報２４を抽出する通信情報抽出部２２と、通信情報抽出部２２で抽出された通信情報２４から、指定した条件に合致するシミュレーションに必要な通信情報を判別してシミュレート手順２８に変換する手順変換部２６と、手順変換部２６で変換されたシミュレート手順２８に従って通信処理を実行するシミュレート処理部３６と備えたことを特徴とする。
【０００９】
ここで伝送回線１０上には、通常、複数のプロトコル、例えばプロトコルＡ，Ｂ，Ｃに従った業務の通信情報がやり取りされていることから、手順変換部２６は、プロトコルＡ，Ｂ，Ｃ単位にシミュレート手順２８を作成する。
手順変換部２６は、抽出された通信情報２４からシミュレート手順２８に変換する際に、手順内容を修正する編集処理部３０を備える。この編集処理部３０もブロトコル単位となる。
【００１０】
編集処理部３０は、変換されたシミュレート手順２８に基づいてサーバ１２に対し処理を要求するクライアント１４のシミュレート手順を作成する。この場合、編集処理部３０は、シミュレート手順２８のファイル形式をユーザが認識可能なファイル形式に変換した後に修正し、修正後に元のファイル形式に変換する。また編集処理部３０は、修正前のシミュレート手順２８の中の送信時間および又は受信時間の間隔を修正し、サーバ１台に対し複数のクライアント１４を同時にシミュレート動作させるためのシミュレート手順を作成する。
【００１１】
手順変換部２６で変換されたシミュレート手順２８は、シミュレート初期化処理部、シミュレート通信部及びシミュレート終了処理部のファイル構造を持つ。シミュレート通信部は通信開始と通信終了のシミュレート制御情報の間に、伝送回線から収集された通信情報に基づくシミュレート命令とシミュレート命令データを配置する。
【００１２】
シミュレート処理部３６は、シミュレータ動作条件を定義するシミュレート定義部４５を有し、シミュレート定義部４５で定義されたシミュレータ動作条件と手順変換部２６で変換されたシミュレート手順２８に基づいて、サーバ１２に対するクライアント１４のシミュレート動作を実行する。
シミュレート定義部４５は、必要に応じてシミュレータ動作条件を変更する。即ち、シミュレート定義部４５は、シミュレータ動作条件として、少なくともシミュレートにより擬似する発信元装置の台数（擬似するクライアント台数）、シミュレートによる受信先のサーバ名、及びシミュレータマシンの装置名を定義する。またシミュレート定義部４５は、シミュレータマシンの装置名として、装置自身の装置名を定義するが、これに加え、更に外部に設けた別のシミュレータマシンの装置名を定義してマルチマシン構成のシミュレータ装置とすることができる。
【００１３】
シミュレート定義部４５は、シミュレータ動作条件として、更に、ログファイル名、シミュレータ変数値および自動実行コマンドを定義する。ここで自動実行コマンドとは、例えばシミュレートする受信先サーバに対し、伝送回線１０を介してシステム的な動作を指示する制御コマンドであり、シミュレート動作の命令列であるシミュレート手順２８とは別に準備されている。自動実行コマンドとしては、少なくともシミュレート開始時実行コマンド、通信開始時実行コマンド、通信終了時実行コマンド、及びシミュレート終了時実行コマンドを用いる。
【００１４】
シミュレータ処理部３６は、シミュレータ制御部３８を有し、シミュレータ制御部３８は、業務単位毎に１又は複数のグループ制御部４６を生成して起動する。グループ制御部４６は、端末制御部４８を有し、端末制御部４８の起動によりシミュレータとして擬似する１又は複数の発信元装置部となるクライアント部５２を生成させる。端末制御部４８は、シミュレート手順２８をクライアント部５２に提供してシミュレート動作を行わせる。
【００１５】
シミュレータ制御部３８は、プロトコル単位の変換で複数のシミュレート手順２８が得られた場合、各シミュレート手順２８毎にグループ制御部４６を生成して複数業務のシミュレートを同時に実行する。また特定のプロトコルの変換で複数業務分のシミュレート手順２８が得られた場合も、各シミュレート手順２８毎にグループ制御部４６を生成して複数業務のシミュレートを同時に実行する。即ち、プロトコルの制約を受けることなく、変換された複数のシミュレート手順２８を使用したシミュレートができる。
【００１６】
シミュレータ制御部３８は、シミュレート定義部４５によりシミュレータ装置１６として自分自身の装置名に加え、外部に設けた別のシミュレータ装置の装置名が定義されていた場合、グループ制御部３８を自己を含め定義された外部のシミュレータ装置にも生成して起動させる。この場合、シミュレータ装置１６のシミュレータ制御部３８は自己をマスタとし、外部のシミュレータマシンに設けたグループ制御部をスレーブとして伝送回線１０を経由して起動させる。
【００１７】
グループ制御部４６に設けたクライアント部５２は、シミュレート手順２８の命令を実行する毎に、動作状況を記録する。またシミュレート処理部３６は、シミュレータ動作状況を実時間で表示するモニタ制御部６６を備える。またシミュレータ動作を記録して性能ログファイル６０を作成するログ制御部５８を備える。更に、ログ制御部５８で作成した性能ログファイル６０に基づき、装置性能を集計して提供する性能集計部６２を備える。
【００１８】
ここで発信元装置をクライアント１４、受信先装置をサーバ１２としているが、発信元装置を端末マシンとし、受信先装置をホストとしてもよい。
このような本発明の計算機ネットワークのシミュレータ装置によれば、回線上の通信情報を採取してプロトコル単位にシミュレート手順に変換することで、指定したクライアントとサーバ間のトランザクションと同等なシミュレート手順が自動生成できる。このためメーカおよびユーザはプロトコルを意識してシミュレート手順を作成する必要がなく、簡単に実際の運用と同等のシミュレートができる。
【００１９】
また伝送回線上の通信情報からシミュレート手順を変換できたならば、複数のクライアントで同時シミュレートできる手順への修正変換を行うことで、簡単にサーバに対し複数のクライアントのシミュレート動作が実現できる。この複数のクライアントと１台のサーバ間のシミュレート手順、即ちｎ対１のシミュレート手順も、プロトコル単位にできる。
【００２０】
更に、伝送回線の通信情報の採取で生成されるシミュレート手順とは別に、シミュレート動作条件の定義を可能としたため、台数等の動作条件の定義を変更するだけで、複数のシミュレート手順を使用したマルチプロトコルのトランザクションをシミュレートできる。
またシミュレートは、業務単位に個別に構築して同時に実行することができる。シミュレータ装置に加え外部のシミュレータ装置を指定してマルチマシン構成のシミュレートもできる。
【００２１】
この結果、シミュレートの対象となったクライントのサーバに対するトランザクションと同等のシミュレートが実時間で行われ、この動作状態はモニタにリアルタイム表示され、また性能ログファイルに記録され、動作状態の表示と記録からシステムにおける動作の妥当性を検証し、システム性能を正確に評価できる。
【００２２】
【発明の実施の形態】
図２（Ａ）（Ｂ）は本発明のシミュレータ装置が使用される計算機ネットワークの一例であり、サーバ・クライアント・システムを例にとっている。
図２（Ａ）において、伝送回線としてのローカル・エリア・ネットワーク（以下「ＬＡＮ」という）１０に対しては、サーバ１２及びクライアント１４−１〜１４−４が接続されている。ＬＡＮ１０としては、例えばインターネット・プロトコル・ネットワーク（ＩＰネットワーク）が適用される。したがってサーバ１２及びクライアント１４−１〜１４−４のそれぞれは、ＬＡＮ１０に対しＴＣＰ／ＩＰ変換をサポートするインタフェースをもっている。
【００２３】
このような計算機ネットワークのシステム性能評価のため、本発明のシミュレータマシン１６がＬＡＮ１０に接続される。本発明のシミュレータマシン１６は、ＬＡＮ１０上の通信情報を収集し、収集した通信情報の中のサーバ１２に対するクライアント１４−１〜１４−４の間の通信情報を抽出し、この抽出された通信情報から、指定した１又は複数のプロトコル単位にシミュレーションに必要な通信情報を判別して、自動的にシミュレート手順をプロトコル毎に作成する。
【００２４】
シミュレータマシン１６でＬＡＮ１０の通信情報の採取で作成されたシミュレート手順は、シミュレータマシン１６を擬似的な１又は複数のクライアントとして、サーバ１２との間でシミュレート手順に従ったトランザクションを実行し、このシミュレート手順の各動作状態を性能ログファイルに記録し、またリアルタイムで動作状態を表示することで、サーバ１２とクライアント１４−１〜１４−４との間の通信動作における性能評価を行う。
【００２５】
図２（Ｂ）は、本発明の別の実施形態であり、この実施形態では、２台のシミュレータマシン１６−１，１６−２を設けたことを特徴とする。この場合、マスタのシミュレータマシン１６−１は、自分自身に加え、外部のシミュレータ装置１６−２を指定してシミュレート動作させることで、マルチマシン構成をとることができる。尚、図２（Ａ）（Ｂ）は、ＬＡＮ１０に１台のサーバ１２を接続した場合を例にとっているが、サーバ１２が複数台あってもよい。
【００２６】
図３は図２（Ａ）のシミュレータマシン１６の処理機能を示したブロック図である。図３において、本発明のシミュレータマシン１６は、回線情報収集部１８、情報抽出部２２、手順変換部２６、シミュレート処理部３６で構成される。手順変換部２６に対しては、更に編集処理部３０が設けられている。
回線情報収集部１８は、ＬＡＮ１０上の通信情報を全て収集する。即ち、シミュレータマシン１６において特定の収集時間帯を設定して回線情報収集部１８を起動すると、その時間内にＬＡＮ１０上を伝送されている全ての通信情報を収集して通信記録ファイル２０に格納する。
【００２７】
通信記録ファイル２０は、図４に示すファイル構造とレコード形式をもっている。即ちＬＡＮ１０上にあっては、１つの通信情報がパケット情報として伝送されていることから、１パケットを通信記録ファイル２０のファイル構造２１における１レコードに対応させ、記録している。
ファイル構造２１における１パケット分の通信情報を示すレコードＲ０〜Ｒｎのレコード形式は、発信元７２、受信先７４、プロトコル識別子７６、時間７８、プロトコル命令とデータで構成された通信データ８０をもっている。ここでプロトコル識別子７６は、サーバとクライアント間でやり取りされる業務単位に固有のプロトコル識別子が付加される。例えば、プロトコル識別子７６としては送信元のポート番号と受信先のポート番号の組合せが使用され、このポート番号から同じプロトコルであることが判る。
【００２８】
再び図３を参照するに、回線情報収集部１８に続いて設けられた情報抽出部２２は、回線情報収集部１８で得られた通信記録ファイル２０を対象に、指定したプロトコル単位に、必要となるサーバとクライアント間の通信情報を抽出して通信記録ファイル２４に格納する。通常、ＬＡＮ１０上には、複数の異なったプロトコルによるトランザクションが行われていることから、複数のプロトコル、例えばプロトコルＡ，Ｂ，Ｃを指定して通信情報を抽出する。
【００２９】
通信記録ファイル２４のファイル構造及びレコード形式は、図４に示した通信記録ファイル２０と同じである。両者の相違点は、ファイル名として抽出前と抽出後を示す名前を付けるだけである。
情報抽出部２２による回線情報抽出処理は、図８のフローチャートに示すようになる。まずステップＳ１で、入力元となる回線情報収集部１８で作成された通信記録ファイル２０のファイル名、抽出先となる通信記録ファイル２４のファイル名、更に抽出対象とするサーバとクライアント及びその業務内容を特定するプロトコル識別子名を指定する。
【００３０】
次にステップＳ２に進み、入力元の通信記録ファイル２０から先頭の１レコードを読み込み、次のステップＳ３で、設定した判定条件に合致するレコードか否かを判定する。ここで抽出のための判定条件としては、送受信名の組合せとプロトコル識別子の２つを使用する。送受信名の組合せは、送信元となるサーバ名及び受信先となるクライアント名の組合せである。プロトコル識別子は特定の業務を示す。
【００３１】
ステップＳ１で現在処理対象となっているレコード、即ち図４のレコード形式と同様の内容につき、発信元７２と受信先７４の組合せが判定条件に合致し、且つプロトコル識別子７６が指定した判定条件に合致しているかどうかを判定する。この判定の結果、ステップＳ４で判定条件に一致することが判別されると、ステップＳ５に進み、抽出用の通信記録ファイル２４に現在処理中のレコードを書き込む。
【００３２】
ステップＳ４で判定条件に一致しなければ、抽出先となる通信記録ファイル２４へのレコード書込みは行わない。そしてステップＳ６で最終レコードか否かチェックし、以下、最終レコードを読み込むまでステップＳ２〜Ｓ５の処理を繰り返す。このような回線情報抽出処理によって、シミュレーションを行うために指定した送受信名の組合せとプロトコル識別子をもつ通信情報がレコード単位に順次抽出されて通信記録ファイル２４に格納される。
【００３３】
再び図３を参照するに、この例では３つのプロトコルＡ，Ｂ，Ｃを例にとっていることから、情報抽出部２２に続いてプロトコルＡ，Ｂ，Ｃ毎に手順変換部２６−１，２６−２，２６−３が設けられる。手順変換部２６−１〜２６−３は、プロトコル単位にシミュレートに必要な手順（命令列）を備えたシミュレート手順ファイル２８を作成する。
【００３４】
シミュレート手順ファイル２８は、図５に示すファイル構造とレコード形式をもっている。シミュレート手順ファイル２８のファイル構造２９は、１または複数レコードで構成されるシミュレート制御用の初期化処理部８２、通信部（動作部）８４、及び終了処理部８６に分かれている。
レコード形式は、シミュレート命令８８、行番号９０、レコード長９２、データ長９４、シミュレート命令データ９６で構成される。シミュレート命令８８としては、命令例８９に取り出して示すように、送信、受信、時間待ち、条件判定、分岐、データ設定、通信開始、通信終了等がある。
【００３５】
シミュレート手順ファイル２８のファイル構造２９における通信部８４の内容が、伝送回線から採取した通信情報の抽出結果に基づいて作成される。即ち、先頭の初期化処理部８２はシミュレート制御を行うためのシミュレート初期化処理であり、次の通信部８４については、先頭のシミュレート通信開始部と最後のシミュレート通信終了部の間に、回線上から採取した実際に行っていた通信動作の手順が１レコード単位に記述される。最後の終了処理部８６は、シミュレート終了処理動作のためのレコード領域である。
【００３６】
このようなシミュレート手順ファイル２８を変換する図３の手順変換部２６の処理動作は、図９のフローチャートに示される。図９のシミュレート手順変換処理にあっては、まずステップＳ１で、図５のファイル構造２９に示した初期化処理部８２を作成する。
初期化処理部の作成が済むと、ステップＳ２で、情報抽出部２２による作成された抽出済みの通信記録ファイル２４から先頭の１レコードを読み込み、ステップＳ３で最終レコードか否かチェックした後、ステップＳ４に進み、図４のレコード形式における通信データ８０の領域にヘッダがあるか否かチェックする。
【００３７】
ヘッダがあればステップＳ５に進み、前回読み込んだレコードと今回読み込んだレコードとの時間差をチェックする。時間差があれば、ステップＳ７に進み、時間待ち命令をファイルに書き出す。時間差がなければ、ステップＳ８に進み、命令バッファ内にそれまでに作成している命令レコードをファイルに書込む。
続いて、ステップＳ９に進み、現在処理中のレコードのヘッダを解読し、対応するシミュレート手順のレコード情報、例えば通信開始、送信、受信、通信終了等のシミュレート命令を格納したレコードを、命令バッファに作成する。一方、ステップＳ４でレコード中にヘッダがなく、データのみであった場合には、ステップＳ１０に進み、命令バッファにデータを追加する。
【００３８】
以上のステップＳ２〜Ｓ１０の処理を、ステップＳ３で最終レコードが判別されるまで繰り返し、最終レコードを判別するとステップＳ１１に進み、命令バッファ内に最後に作成している命令レコードをファイルに格納し、ステップＳ１２でシミュレート手順ファイルに終了処理部を追加し、即ち図５のファイル構造２９における終了処理部８６を追加し、一連のシミュレート手順ファイルの作成処理を終了する。
【００３９】
このように手順変換部２６−１〜２６−３によりプロトコル単位に作成されたシミュレート手順ファイル２８は、シミュレート処理部３６に提供されることで、シミュレート手順ファイル２８に従ったサーバに対するクライアントのシミュレート動作を実行することができる。
一方、手順変換部２６−１〜２６−３で作成されたシミュレート手順ファイル２８については、プロトコル毎に設けた編集処理部３０−１〜３０−３を使用して内容を変更することができる。編集処理部３０−１〜３０−３は、編集処理部３０−１に代表して示すように、ファイル変換部３１、テキストファイル３２、及び編集用のエディタ３４で構成される。
【００４０】
ファイル変換部３１は、シミュレート手順ファイル２８のファイル形式がユーザが認識できないバイナリ形式をもっていることから、これをユーザが認識可能なテキスト形式に変換してテキストファイル３２に格納する。
またファイル変換部３１は、テキストファイル３２のファイル形式を元のバイナリ形式に戻す逆変換の機能も有する。ユーザは、テキストファイル３２に変換されたテキスト形式のシミュレート手順ファイルを対象に、エディタ３４を使用して必要な修正変更を行うことができる。
【００４１】
図１１は、シミュレート手順ファイル２８とテキスト形式ファイル３２の対応関係を示している。シミュレート手順ファイル２８は、図５に示したファイル構造２９のように、初期化処理部８２、通信部８４及び終了処理部８８で構成されている。通信処理部８４は、前後にシミュレート用の通信開始部１２２と通信終了部１２６を備え、その間に回線上から採取された通信情報に基づく実行手順を記述した通信実行部１２４が設けられている。
【００４２】
このようなバイナリ形式をもつシミュレート手順ファイル２８は、図３の編集処理部３０−１に設けたファイル変換部３１により右側に示すテキスト形式ファイル３２に変換され、エディタ３４によってユーザがファイル内容を認識することができる。テキストファイル３２もシミュレート手順ファイル２８に対応して、初期化処理部１２８、通信開始部１３０、通信実行部１３２、通信終了部１３４、及び終了処理部１３６で構成され、図示のテキスト形式の記述が行われている。
【００４３】
テキスト形式ファイル３２を使用した編集処理は、オリジナルのシミュレート手順ファイル２８を、複数のクライアントの動作を同時に行ってサーバとの間でｎ対１の通信動作を実行させるためのシミュレート手順ファイルを作成する。
このように複数クライアントに同じシミュレート手順を使用して動作させるためには、例えばテキスト形式ファイル３２に対し、ユーザは通信実行部１３２の中にデータ変更命令１３８として「ＣＨＧＤＡＴＡ“Ａ”」を設けたり、乱数発生命令１３９として「ＲＡＮＤ“Ｂ”」を設ける。このようなデータ変更命令１３８や乱数発生命令１３９を設けておくことで、擬似的に動作するクライアントが変わる毎に、手順は同じであっても、異なったデータを通信するシュミレーションが実現できる。
【００４４】
修正されたテキスト形式ファイル３２はファイル変換部３１による逆変換で元のシミュート手順ファイル２８に戻す。これによってサーバ１台に対しクライアントｎ台を動作するシミュレート手順ファイル２８を簡単に作成することができる。
勿論、図３の編集処理部３０は、サーバに対しｎ台のクライアントをシミュレートするシミュレート手順ファイルの作成のみならず、編集の際に異なったファイル名を指定することで、オリジナルのシミュレート手順ファイル２８に対し内容修正を行った適宜に変形されたシミュレート手順ファイルを作成することもできる。
【００４５】
次に図３のシミュレート処理部３６を説明する。シミュレート処理部３６は、シミュレータ制御部３８と業務単位毎に生成されるグループ制御部４６−１，４６−２，４６−３で構成される。グループ制御部４６−１〜４６−３を生成する業務単位は、例えばプロトコルＡ，Ｂ，Ｃ毎に変換された３つのシュミレート手順に対応する。
【００４６】
また同一プロトコルであっても、その中に異なった複数の業務が含まれることから、単一プロトコルについて複数のグループ制御部が設けられる場合もある。この例では、プロトコル単位に変換された３つのシミュレート手順に対応してクループ制御部４６−１〜４６−３が生成された場合を例にとる。
シミュレート制御部３８に対しては、手順変換部２６もしくは編集処理部３０で変換されたプロトコル毎のシミュレート手順ファイル２８が提供され、更にシミュレータ定義部４５で作成されたシミュレート定義ファイル４２が提供される。
【００４７】
シミュレート定義ファイル４２は、図６に示すように、共通部ファイル４３と業務単位ファイル４３−１〜４３−３のファイル構造をもつ。共通部ファイル４３には、シミュレータ配下の業務に関係なく定義する項目、例えば自動実行コマンド名やシミュレータ変数を定義する。業務単位に設けられた業務単位ファイル４３−１〜４３−３は、ファイル構造４３−１に代表して示すように、シミュレートによる擬似動作で送信元装置となるクライアントの台数１１０、シミュレート動作で受信先装置となるサーバの対象マシン名１１２、シミュレート動作を実行するシミュレータマシン１６の動作マシン名１１４、性能ログファイル名１１６、シミュレータ変数値１１８、自動実行コマンド名１２０が、エディタ４４によって定義されている。
【００４８】
ここで動作マシン名１１４としては、図２（Ａ）の場合には本発明のシミュレータマシン１６のマシン名であり、図２（Ｂ）のマルチマシン構成の場合には、シミュレータマシン１６−１において、自分自身のマシン名に加え、外部のシミュレータマシン１６−２のマシン名を指定する。
ここで自動実行コマンドとは、本発明のシミュレータ装置を実現するシュミレータプログラム以外のアプリケーションプログラムに対するアクセス（起動、停止）のために使用するコマンドであり、自動実行コマンドの発行先は、シミュレータマシン１６のＯＳと他のアプリケーションプログラム、サーバ１２のＯＳとアプリケーシュンプログラムとなる。この自動実行コマンドの発行タイミングと処理は、後の説明で明らかにされる。
【００４９】
シミュレータ制御部３８は、複数のシミュレート手順ファイル２８のいずれか１つを指定し、シミュレート定義ファイル４２に従って業務単位に、例えばグループ制御部４６−１〜４６−３を生成する。グループ制御部４６−１〜４６−３は、グループ制御部４６−１に代表して示すように、端末制御部４８、共用メモリ５０、更にシミュレート定義ファイル４２で指定された台数分のクライアント部、例えば４つのクライアント部５２−１１〜５２−１４が設けられる。クライアント部５２−１１〜５２−１４のそれぞれは、通信インタフェース５４によりＴＣＰ／ＩＰ変換によりＬＡＮ１０との間で通信制御を行う。
【００５０】
更にグループ制御部４６−１にはモニタ制御部６６が設けられ、共通部としてのモニタ表示部６８により表示モニタ７０にクライアント部５２−１１〜５２−１４における動作状態をリアルタイムで表示し、またモニタログファイル６９にモニタ情報を記録できる。更にグループ制御部４６−１にはログ制御部５８が設けられ、クライアント部５２−１１〜５２−１４における通信動作の実行で得られたクライアント部単位の動作記録ファイル５６の内容に基づき、手順と動作の記録を性能ログファイル６０に対し行う。
【００５１】
性能ログファイル６０に対しては、外部に性能集計部６２が設けられており、性能ログファイル６０に記録されたログ情報を元にトランザクション等を集計し、結果をプリンタ６４に出力したり表示モニタ６５に表示可能としている。
性能ログファイル６０のファイル構造とレコード形式は図７に示される。性能ログファイル６０はファイル構造６１に示すレコードＲ０〜Ｒｎを記録し、各レコードは識別子９８、時間１００、クライアント番号１０２、手順行番号１０４、状態１０６、更に通信データ、エラーメッセージ等のデータ１０８で構成される。先頭の識別子９８は、識別子例９９に示すように、送信、受信、利用者指示、手順エラー等の１つ１つの通信内容を示す。
【００５２】
図３のシミュレート処理部３６は、その詳細を図１２に取り出して示している。図１２にあっては、シミュレータ制御部３８に対し２つのグループ制御部４６−１，４６−２が業務単位に生成されている。グループ制御部４６−１，４６−２の生成場所は、図６のシミュレート定義ファイル４２の業務単位のファイル構造４３−１，４３−２における動作マシン名１１４で決まり、この動作マシン名１１４が図２（Ａ）のようなシミュレータマシン１６であれば、シミュレータマシン１６内にグループ制御部４６−１，４６−２が生成される。
【００５３】
また図２（Ｂ）のように、ファイル構造４３−１の動作マシン名をシミュレータマシン１６−１とし、ファイル構造４３−２の動作マシン名を外部のシミュレータマシン１６−２とした場合には、シミュレータマシン１６−１から指定した外部のシミュレータマシン１６−２にグループ制御部４６−２を生成して起動させる。この場合には、グループ制御部４６−１，４６−２はマルチマシン構成で実行されることになる。
【００５４】
シミュレータ制御部３８は、シミュレート定義ファイル４２に従って生成された２つのグループ制御部４６−１，４６−２に対する共通制御部であり、図６のシュミレート動作定義ファイル４２のファイル構造の中の業務単位ファイル４３−１〜４３−３における自動実行コマンドで定義されたコマンドを、グループ制御部４６−１，４６−２の動作状況に併せて発行し、システム全体としてのシミュレートを管理する。
このとき図２（Ｂ）のマルチマシン構成により、グループ制御部４６−２が外部のシミュレータマシン１６−２に生成されていた場合、シミュレータマシン１６−１のシミュレータ制御部３８はＬＡＮ１０を介して外部のシミュレータマシン１６−２のシミュレート動作を管理する。この場合、シミュレータマシン１６−１がマスタとなり、外部のシミュレータマシン１６−２はスレーブとして動作する。
【００５５】
グループ制御部４６−１の詳細は、図１３に示される。まず定義解釈部１６４が、端末制御部４８−１の生成時に指定されるシミュレート動作定義ファイルの情報を基に、共用メモリ５０を獲得し、手順展開部１４０にシミュレート手順の展開を依頼する。手順展開部１４０ては、グループ制御部４６−１の生成時に指定されるシミュレート手順を解釈し、解釈結果に基づいた一連の手順やシミュレート定義ファイルで定義したシミュレート変数値等を展開する。また定義解釈部１６４の指示により、端末管理部１４２は、シミュレートに必要なクライアント部５２−１１〜５２−１４を生成する。
【００５６】
端末制御部４８−１の端末管理部１４２により生成されたクライアント部５２−１１〜５２−１４には、クライアント部５２−１１に代表して示すように、実行部１４４が設けられ、実行部１４４は手順解釈部１４６と通信部１４８を有する。手順解釈部１４６は、共用メモリ５０に展開した動作手順を読み込み、読みんだ手順命令を解釈し、必要な処理を呼び出して例えば通信部１４８により通信動作を行わせる。
【００５７】
通信部１４８の手順命令の実行に伴う動作状態はログ制御部５８に提供され、手順命令と動作状態を性能ログファイル６０に記録する。
実行部１４４の手順命令と動作状態はモニタ制御部６６に与えられ、モニタ表示部６８により表示モニタ７０にリアルタイムで表示される。またモニタ表示の内容は必要に応じてモニタログファイル６９に記録することができる。同時に、手順命令によっては、ログ制御部５８に動作状況が提供され、手順命令と動作状態が性能ログファイル６０に記録される。
【００５８】
ここでクライアント部５２−１１〜５２−１４毎に設けられた動作記録ファイル５６は、長時間に亘るシミュレートや多くのクライアントのシミュレーション等でデータ量が膨大になる場合、まず動作記録ファイル５６にクライアント部毎の手順命令と動作状態を記録した後、バッヂ処理でログ制御部５８が動作記録ファイル５６の中から必要な情報を抽出して性能ログファイル６０に記録することになる。
【００５９】
図１４のフローチャートは図１３のクライアント部５２−１１のシミュレート動作である。まずステップＳ１で、共用メモリ５０から１レコード分のシミュレート手順を手順解釈部１４６に読み込み、ステップＳ２で、レコードの命令に対応した処理を呼び出して、例えば通信部１４８で通信動作を実行する。続いてステップＳ３でモニタ制御部６６に手順命令と実行状態を通知する。モニタ表示部６８は、モニタ制御部６６から情報をもらい、シミュレートの動作状態、経過時間、トランザクション数、エラー発生等に関する情報をモニタ表示する。
【００６０】
更に、ステップＳ４で、ログ記録を必要とするログ対応レコードか否か判別する。ログ対応レコードであれば、ステップＳ５でログ制御部５８に手順命令と動作状態のデータを提供し、性能ログファイル６０にログ情報として書き込む。以上のステップＳ１〜Ｓ５の処理を、ステップＳ６で最終レコードが得られるまで繰り返す。
【００６１】
図１５は、図６のシミュレート動作定義ファイル４２で定義された自動実行コマンドの具体例とタイミングを示す。シミュレータ制御部３８は、グループ制御部４６−１，４６−２におけるクライアント部の動作状況によって、自動実行コマンドの定義で指定されたタイミングにて、コマンドを発行する。発行したコマンドの動作場所は、シミュレータマシン自身、回線接続された他のシミュレータマシン、サーバ等の何かである。
【００６２】
図１５（Ａ）は、シミュレート開始時であり、次の手順となる。
▲１▼シミュレート開始コマンドを発行して実行させる。
▲２▼グループ制御部４６−１，４６−２を起動する。
▲３▼グループ制御部４６−１，４−２から起動完了通知を受ける。
図１５（Ｂ）は、通信開始時であり、次の手順となる。
【００６３】
▲１▼グループ制御部４６−１，４６−２を起動する。
グループ制御部４６−１，４６−２内の各クライアント部が通信開始命令を実行する直前で通知する。
▲２▼起動した全てのグループ制御部４６−１，４６−２からの通知を待つ。
▲３▼通信開始コマンドを発行して実行させる。
【００６４】
図１５（Ｃ）は、通信終了時であり、次の手順となる。
▲１▼グループ制御部４６−１，４６−２の何れかのクライアント部が通信終了命令を実行する後に通知する。
▲２▼１つでも通信終了命令の実行終了通知があれば、通信終了コマンドを発行して実行させる。
【００６５】
図１５（Ｄ）は、シミュレート終了時であり、次の手順となる。
▲１▼各グループ制御部４６−１，４６−２が終了通知を行う。
▲２▼全てのグループ制御部４６−１，４６−２の終了通知を受ける。
▲３▼シミュレート終了コマンドを発行して実行させる。
以上は、シミュレートに使用する基本的な自動実行コマンドの起動タイミングの例である。このとき、実行されるコマンド例としては、例えばサーバ１２上のアプリケーションプログラムの起動コマンドやその動作状況に関する情報をロギングさせるコマンド、アプリケーションプログラムを終了させるコマンド等がある。
【００６６】
再び図１２を参照するに、図１２のシミュレータ制御部３８にはマスタ時間制御部１６０が設けられ、マスタ時間制御部１６０は、クライアント部５２−１１〜５２−２４によるシミュレート動作の相手先となるサーバ１２より時間情報をもらい、サーバ１２の時間をシミュレータマシン１６のマスタ時間制御部１６０の時間に仮に合わせ、サーバ１２との間で時間情報を一致させる。
【００６７】
また、マスタ時間制御部１６０に対応して設けられる端末制御部４８−１，４８−２には、スレーブ時間制御部１６２−１，１６２−２が設けられる。マスタ時間制御部１６０は、端末制御部４８−１，４８−２のスレーブ時間制御１６２−１，１６２−２に時間情報を送り、スレーブ側の時間をマスタ側の時間に合わせ、これによってシミュレート動作の時間情報を一致させている。
【００６８】
更に、図２（Ｂ）のマルチマシン構成の場合には、シミュレートマシン１６−１における図１２のマスタ時間制御部１６０に対し、シミュレータマシン１６−２側がスレーブ時間制御部となり、時間情報をマスタ側のシミュレータマシン１６−１に合わせる。
尚、上記の実施形態は、サーバとクライアントとのトランザクションを対象にシミュレートを行う場合を例にとっているが、複数の端末マシンに利用されるホストコンピュータを備えた計算機ネットワークについても、同様に本発明のシミュレータマシン１６を接続し、端末からホストに対する通信情報を抽出してプロトコル単位のシミュレート手順を作成し、同様にシミュレート動作することで、端末のホストアクセスのシミュレートを行って、性能評価をすることができる。
【００６９】
また上記の実施形態は、シミュレータマシンでクライアントの動作をシミュレートさせる場合を例にとったが、逆にサーバの動作をシミュレートさせるようにしてもよい。
【００７０】
【発明の効果】
以上説明してきたように本発明によれば、性能評価を行おうとする計算機ネットワークに本発明のシミュレータ装置を接続するだけで、特定の装置間の通信情報をプロトコル単位に抽出して自動的にシミュレート手順を作成でき、従来、一から作成していたシミュレート手順の作成が不要となり、シミュレータ手順の作成が極めて容易となる。
【００７１】
また計算機ネットワークで実行されている実際の通信情報からシミュレート手順が作成されるため、実際の通信動作と同等なシミュレーションを簡単に行うことができ、計算機ネットワークの実情に見合ったレスポンス等のシステム性能評価をシミュレートにより検証できる。
更に、回線上の通信情報から生成したオリジナルのシミュレート手順を変更することで、サーバと複数のクライアントの間の１対ｎのシミュレート手順が簡単に作成できる。
【００７２】
更に、プロトコル単位に得られた複数のシミュレート手順を同時に使用してマルチプロトコルで且つ複数業務といった適宜の組合わせで実情に合わせたシミュレート動作が容易に実現でき、サーバとクライアントやホストと端末等のシステム性能の評価を適切に行うことができる。
【図面の簡単な説明】
【図１】本発明の原理説明図
【図２】本発明が適用されるサーバ・クライアント・システムの説明図
【図３】本発明の実施の形態を示した説明図
【図４】図３の通信記録ファイルのファイル構造とレコード形式の説明図
【図５】図３のシミュレート手順ファイルのファイル構造とレコード形式の説明図
【図６】図３の性能評価に使用されるログファイルのファイル構造とレコード形式の説明図
【図７】図３のシミュレート動作定義ファイルのファイル構造の説明図
【図８】図３の情報抽出部による処理動作のフローチャート
【図９】図３の手順変換部によるシミュレート手順作成処理のフローチャート
【図１０】図３の編集処理部によるシミュレート手順変更処理のフローチャート
【図１１】図１０におけるファイル形式の変換とユーザによる手順修正の説明図
【図１２】図３のシミュレート処理部によるグループ制御部の機能ブロック図
【図１３】図１２のグループ制御部の詳細を示したブロック図
【図１４】図１３のクライアント部によるシミュレート動作のフローチャート
【図１５】本発明で使用する自動実行コマンドの具体例とタイミングの説明図
【符号の説明】
１０：ＬＡＮ（伝送回線）
１２：サーバ
１４，１４−１〜１４−４：クライアント
１６，１６−１，１６−２：シミュレータマシン
１８：回線情報収集部
２０：通信記録ファイル
２２：情報抽出部
２４：通信記録ファイル
２６：手順変換部
２８：シミュレート手順ファイル
３０：編集処理部
３１：ファイル変換部
３２：テキストファイル
３４：エディタ
３６：シミュレート処理部
３８：シミュレータ制御部
４２：シミュレート定義ファイル
４３：共通部
４３−１〜４３−３：業務単位部
４４：エディタ
４５：シミュレータ定義部
４６−１，４６−２：グループ制御部
４８，４８−１，４８−２：端末制御部
５０：共用メモリ
５２，５２−１１〜５２−１４，５２−２１〜５２−２４：クライアント部
５４：通信インタフェース（ＴＣＰ／ＩＰ）
５６：動作記録ファイル
５８：ログ制御部
６０：性能ログファイル
６２：性能集計部
６４：プリンタ
６６：モニタ制御部
６８：モニタ表示部
６９：モニタログファイル
６５，７０：表示モニタ
１４０：手順展開部
１４２：クライアント管理部
１４４：実行部
１４６：手順解釈部
１４８：通信部
１５０：動作記録部
１６０：マスタ時間制御部
１６２−１，１６２−２：スレーブ時間制御部
１６４：定義解釈部
【図１】
0003574231.tif 000002
【図２】
0003574231.tif 000003
【図３】
0003574231.tif 000004
【図４】
0003574231.tif 000005
【図５】
0003574231.tif 000006
【図６】
0003574231.tif 000007
【図７】
0003574231.tif 000008
【図８】
0003574231.tif 000009
【図９】
0003574231.tif 000010
【図１０】
0003574231.tif 000011
【図１１】
0003574231.tif 000012
【図１２】
0003574231.tif 000013
【図１３】
0003574231.tif 000014
【図１４】
0003574231.tif 000015
【図１５】
0003574231.tif 000016