(57)【要約】【課題】本発明の目的は、コンピュータシステムが完成する時点よりも前の時点において、あるいはコンピュータシステムで動作するプログラムを用いることなくコンピュータシステムの一部としての通信路の性能を評価する方法を提供すること。【解決手段】テスト対象のコンピュータシステムの通信仕様に沿った通信データをテスト対象のコンピュータシステムを用いずに通信路に送出する手段と、遠隔地を結ぶに広域ネットワークの端点において通信データを発生させる手段と、遠隔地に配置した通信データ発生装置を制御するための手段と、通信プロトコルを考慮した通信データを作成する手段とを備えさせることで達成される。【選択図】  図１
2004180185.tif 000002
【特許請求の範囲】
【請求項１】
テスト対象のコンピュータシステムのプログラムを用いることなく、通信路の性能評価が行えるネットワーク評価方法であって、２台以上の通信データ発生装置によって、テスト対象のコンピュータシステムの設計値あるいは仮定値に基づく量とタイミングで通信路に通信データを送受信させることを特徴とするネットワーク評価方法。
【請求項２】
コンピュータの通信路にデータを送出し、２台以上の同じ装置が互いに送受信を行う通信データ発生装置であって、通信プロトコルの仕様を定義するプロトコル定義部と、テスト対象コンピュータシステムの通信手順の仕様を定義する通信データ定義部と、定義された通信手順にしたがって通信路にデータを送受信する送受信制御部と、接続された通信路上に接続した別個の通信データ発生装置を遠隔コントロールするリモート制御部と、接続された通信路上に接続した別個の通信データ発生装置からの命令を受けつけて処理するリモート要求処理部と、通信路上に接続した別個の通信データ発生装置に自らのＩＰアドレスを登録する自動接続制御部と、通信路上に接続した別個の通信データ発生装置からのＩＰアドレス登録要求を受け付けて処理する自動接続受付部を備えたことを特徴とする通信データ発生装置。
【請求項３】
請求項２記載の通信データ発生装置において、ネットワークの端点に配置した通信データ発生装置同士がテスト対象コンピュータシステムのサーバとクライアントの役割を演じて通信を行うことを特徴とした通信データ発生装置。
【請求項４】
請求項３記載の通信データ発生装置において、疑似クライアントとなる通信データ発生装置が、疑似サーバとなる通信データ発生装置に接続することによってクライアントリストファイルを作成することを特徴とした通信データ発生装置。
【請求項５】
請求項２記載の通信データ発生装置において、通信プロトコルの仕様を定義するプロトコル定義ファイルを有し、任意のプロトコルを定義して通信手順を作成することを特徴とした通信データ発生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信ネットワークにより接続されたコンピュータシステムにおける通信路の性能評価方式に係り、特に通信データ発生装置を用いて擬似的に負荷を発生させることによって行うシミュレーションテストに関する。
【０００２】
【従来の技術】
通信ネットワークにより接続されたコンピュータシステムにおける通信路評価の方法として、実際にコンピュータシステムを動作させて行う方法とコンピュータシステムを動作させずに擬似的に行う方法がある。
【０００３】
前者の場合はコンピュータシステムを構成するハードウェアとソフトウェアが動作できる状態にあることが必要であり、この場合には、通信路の評価が行える時期がコンピュータシステム完成後に限定される。
【０００４】
一方、後者の場合には、さらに特定のデータの塊を指定した間隔で通信路に送出して行う方法と、コンピュータシステムが実際に送出するデータを擬似的に通信路に送出して行う方法があり、特定のデータの塊を送出して行う方法の場合、特定のデータの塊を送出するタイミングが実際のコンピュータシステムが行う通信のタイミングと異なるため、通信路に流れるデータが実際のコンピュータシステムの場合と乖離しており、得られる結果は、コンピュータシステムとは切り離された通信路単体としての性能値となる。また、擬似的なデータを送出して行う方法では、コンピュータシステムが動作しているときに傍受した通信記録を利用するため、コンピュータシステムが完成していることが前提条件となる。
【０００５】
【発明が解決しようとする課題】
以上のように、通信路評価の方法としてはコンピュータシステムが完成した後に実施するか、コンピュータシステムとは切り離された通信路単体としての性能評価を行うことになる。したがって、コンピュータシステムの一部としての通信路の性能は、コンピュータシステムが完成するまで測定することができず、通信路に起因するコンピュータシステム性能上の問題は発見が遅れるのが実情である。
【０００６】
一方、コンピュータシステムは通信ネットワークで接続された形態が一般的であり、近年、コンピュータシステムの通信路はより一層に広域化、複雑化しており、コンピュータシステムの一部としての通信路の性能評価は重要度を増している。
【０００７】
本発明の目的は、コンピュータシステムが完成する時点よりも前の時点において、あるいはコンピュータシステムで動作するプログラムを用いることなくコンピュータシステムの一部としての通信路の性能を評価する方法を提供することにある。
【０００８】
【課題を解決するための手段】
上記目的は、テスト対象のコンピュータシステムの通信仕様を定義し、通信手順に置き換え、テスト対象のコンピュータシステムとは別の通信データ発生装置を使用して通信手順に沿った通信データを通信路に送出する手段と、遠隔地を結ぶに広域ネットワークの端点に設置した通信データ発生装置から通信データを発生させる手段と、遠隔地に配置した通信データ発生装置を制御するための手段と、通信プロトコルを定義し、通信手順に置き換え、通信プロトコルを踏まえた通信データを作成する手段とを備えさせることで達成される。
【０００９】
【発明の実施の形態】
以下、本発明の一例での実施の形態を図１を参照しつつ説明する。
【００１０】
先ず本発明による通信路評価を行うときに用いる通信データ発生装置２０、３０と通信傍受装置４０の要部機能ブロック構成について説明すれば、図１はその一例での構成を示したものである。図示のように、その通信データ発生装置２０、３０には、コンピュータシステムの擬似サーバとして機能するサーバ側通信データ発生装置２０、擬似クライアントとして機能するクライアント側通信データ発生装置３０があり、サーバ側通信データ発生装置２０にはプロトコル定義部２１、プロトコル定義ファイル２２、通信データ定義部２３、クライアント通信手順ファイル２４、リモート制御部２５、サーバ通信手順ファイル２６、送受信制御部２７、自動接続受付部２８、クライアントリストファイル２９等が備えられており、クライアント側通信データ発生装置３０にはリモート要求処理部３１、クライアント通信手順ファイル２４、送受信制御部２７、自動接続制御部３２等が備えられており、また、通信傍受装置４０には通信傍受部４１、通信記録ファイル４２等が備えられたものとなっている。そして、通信データ発生装置２０、３０および通信傍受装置４０は評価対象となる通信路１０に接続される。なお、サーバ側通信データ発生装置２０とクライアント側通信データ発生装置３０は通信路１０にそれぞれ複数台接続してもよい。
【００１１】
このように、本発明では、通信データ発生装置の複数台を連携させて動作させる構成であり、遠隔地を結ぶ広域ネットワークの性能評価を行うことができる。ここで、遠隔地を結ぶに広域ネットワークの性能評価における操作性の悪化、あるいは複数台の通信データ発生装置に対する操作性の悪化が懸念されるが、サーバ側通信データ発生装置２０に備えた自動接続受付部２８とクライアントリストファイル２９、リモート制御部２５、クライアント側通信データ発生装置３０に備えた自動接続制御部３２、リモート要求処理部３１によって操作性を向上させている。これらの動作を説明すれば以下のようである。
【００１２】
まず、サーバ側通信データ発生装置２０を起動し、動作可能状態にする。次にすべてのクライアント側通信データ発生装置３０を起動し、サーバ側通信データ発生装置２０のＩＰアドレスを設定する。それを契機に、自動接続制御部３２がサーバ側通信データ発生装置２０の自動接続受付部２８との通信接続を行う。自動接続受付部２８はすべてのクライアント側通信データ発生装置３０の自動接続制御部３２からＩＰアドレスを通信路１０を経由して入手する。このようにして得られたクライアント側通信データ発生装置３０のＩＰアドレス一覧はクライアントリストファイル２９に格納する。そして、クライアントリストファイル２９は、サーバ側通信データ発生装置２０で作成したクライアント通信手順ファイルをクライアント側通信データ発生装置３０へ配布する処理、および作成した通信手順によってシミュレーションを実行させるときの指揮、統制を行うときに、サーバ側通信データ発生装置２０のリモート制御部２５あるいは送受信制御部２７が、クライアント側通信データ発生装置３０の送受信制御部２７あるいはリモート要求処理部３１に対して制御を行うために利用する。
【００１３】
さて、そのサーバ側通信データ発生装置２０、クライアント側通信データ発生装置３０での通信シミュレーション実行までの動作について説明すれば、以下のようである。
【００１４】
まず、準備として通信実行時のプロトコルの仕様をプロトコル定義部２１により定義し、プロトコル定義ファイル２２に格納する。プロトコル定義ファイル２２はたとえば図４にあるように１つ以上のプロトコル定義レコード７１から成り、１つのプロトコル定義レコード７１はプロトコル名７２、ヘッダ長７３、前処理レコード群７４、後処理レコード群７５によって構成する。さらに前処理レコード群７４と後処理レコード群７５は各々０個以上の通信手順レコード６１から成り、１つの通信手順レコード６１はリモート宛先６２、ローカル宛先６３、処理命令６４、待機時間６５、データ長６６によって構成する。この場合のプロトコル名７２には個々のプロトコルを識別する名称を格納し、ヘッダ長７３には当該プロトコルでデータの送受信を行う場合にデータの先頭に付加するプロトコルヘッダの長さを格納し、前処理レコード群７４、後処理レコード群７５はそれぞれデータの送受信を行う前後に当該プロトコルが行うセッション確立、切断やネゴシエーションを行う通信手順を格納する。
【００１５】
次に通信データ定義部２３によってサーバとクライアント間の通信手順を定義し、サーバ通信手順ファイル２６、クライアント通信手順ファイル２４へ格納する。サーバ通信手順ファイル２６、クライアント通信手順ファイル２４はたとえば図３にあるように１つ以上の通信手順レコード６１から成り、１つの通信手順レコード６１はリモート宛先６２、ローカル宛先６３、処理命令６４、待機時間６５、データ長６６によって構成する。この場合のリモート宛先６２にはサーバ通信手順ファイル２６ではクライアントのポート番号、クライアント通信手順ファイル２４ではサーバのポート番号を格納し、ローカル宛先６３にはサーバ通信手順ファイル２６ではサーバのポート番号、クライアント通信手順ファイル２４ではクライアントのポート番号を格納し、処理命令６４には命令例６７に示すような通信処理に関する命令を格納し、待機時間６５には当該通信手順レコード６１の処理を行う前に待機する時間を格納し、データ長６６にはプロトコルヘッダの長さも含めてＴＣＰ／ＩＰより上位に位置するデータの長さを格納する。
【００１６】
次に作成されたクライアント通信手順ファイル２４をたとえば図１のリモート制御部２５によってサーバ側通信データ発生装置２０からクライアント側通信データ発生装置３０へ通信路１０を介して伝送する。クライアント側通信データ発生装置３０ではリモート要求処理部によってサーバ側通信データ発生装置からのデータ配信を受け付け、送られたクライアント通信手順ファイル２４をクライアント側通信データ発生装置３０内に格納する。
【００１７】
次にサーバ側通信データ発生装置２０内の送受信制御部２７とクライアント側通信データ発生装置３０内の送受信制御部２７がそれぞれサーバ通信手順ファイル２６、クライアント通信手順ファイル２４を基に通信処理をシミュレーションする。各々の送受信制御部２７が通信処理のシミュレーションを開始する際にリモート制御部２５とリモート要求処理部３１が通信路１０を介して連絡を取り、シミュレーション開始の同期を取ってもよい。
【００１８】
ここで、各々の送受信制御部２７が通信をシミュレーションしている間、たとえば図１の通信傍受装置４０のような装置を用いて通信路１０を流れるデータを傍受する。このとき、通信傍受部４１は通信路１０上を流れているデータを逐一通信記録ファイル４２に格納する。通信記録ファイルはたとえば図５にあるように１つ以上の通信記録レコード８１から成り、１つの通信記録レコード８１は時刻８２、通信パケット８３によって構成する。この場合の時刻８２には当該通信パケットを傍受した時刻を格納し、通信パケット８３にはそのとき傍受した通信データの塊を格納する。各々の送受信制御部２７が通信をシミュレーションしている間に傍受した通信パケット８３には、送受信制御部２７が通信路１０に送出した通信データが格納される。
【００１９】
また、サーバ通信手順ファイル２６、クライアント通信手順ファイル２４は図２に示すように以下の手順で作成する。まず、ステップ５１で通信の基盤となる通信プロトコルを指定する。ここで指定する通信プロトコルとしては、たとえばＴＣＰ／ＩＰ、ＨＴＴＰ、ＳＳＬ、プログラム独自プロトコルなどが挙げられる。
【００２０】
次にステップ５２で、指定されたプロトコルにおけるデータ通信開始のためのネゴシエーションなどを行う通信部分を前処理レコード群７４の形式でクライアント通信手順ファイル２４およびサーバ通信手順ファイル２６に各々に書き込む。データ通信開始のためのネゴシエーションとは、たとえばプロトコルがＳＳＬの場合にはクライアントとサーバが暗号方式を交換する特別な通信データのやり取りを指す。ここで、通信手順ファイル２４、２６に書き込む前処理レコード群７４はプロトコルごとにあらかじめプロトコル定義ファイル２２の中に用意しておく。
【００２１】
次のステップ５３、５４は、実際にテスト対象のコンピュータシステムが通信するデータ部分を作り込む手続きである。ステップ５３では、サーバ側あるいはクライアント側のいずれかのプログラムが送信開始するまでの時間と、サーバ側あるいはクライアント側のどちらが送信するかを指定する送信方向と、プロトコルヘッダを除いた送信データの長さを指定する。ステップ５４では、ステップ５３で指定した待機時間と送信方向と送信データの長さを通信手順レコード６１の形式でクライアント通信手順ファイル２４およびサーバ通信手順ファイル２６各々に書き込む。ここで、通信手順ファイル２４、２６に書き込む通信手順レコード６１の内のデータ長６６は送信データの長さにプロトコルヘッダの長さを加えた値とする。
【００２２】
次のステップ５５では、テスト対象のコンピュータシステムが通信するデータ部分の作り込みが前のステップ５３、５４ですべて終了したかを判定し、終了していない場合にはステップ５３から手順を繰り返す。
【００２３】
ステップ５５においてテスト対象のコンピュータシステムが通信するデータ部分の作り込みがすべて終了している場合には、ステップ５１で指定されたプロトコルにおけるデータ通信終了のためのネゴシエーションなどを行う通信部分を後処理レコード群７５の形式でクライアント通信手順ファイル２４およびサーバ通信手順ファイル２６に各々に書き込む。データ通信終了のためのネゴシエーションとは、たとえばプロトコルがＳＳＬの場合にはクライアントあるいはサーバのいずれかが終了アラートを送信するような特別な通信データのやり取りを指す。ここで、通信手順ファイル２４、２６に書き込む後処理レコード群７５はプロトコルごとにあらかじめプロトコル定義ファイル２２の中に用意しておく。以上のような手続きによってクライアント通信手順ファイル２４およびサーバ通信手順ファイル２６を作成する。
【００２４】
ここで、通信路の評価項目としては、レスポンスタイム、スループット、パケットロス率、エラー発生頻度などが挙げられる。本発明による通信路の評価方法をレスポンスタイムの評価を例に説明する。
【００２５】
クライアントからサーバに処理要求を送信し、サーバからクライアントに処理結果が返ってくるまでの通信の流れに着目したタイムチャートの例を図６に示す。この場合、レスポンスタイム１２０を構成する時間成分としてはクライアント１０１が処理要求データを送信できるようになるまでの時間１１１と、クライアント１０１のプログラムからオペレーティングシステムおよびネットワークコンポーネントを経て通信路１０２に通信データが到達するまでの時間１１２と、クライアント１０１が接続された通信路１０２からサーバ１０４が接続された通信路１０３に到達するまでの時間１１３と、サーバ１０４のネットワークコンポーネント、オペレーティングシステムを経てプログラムに到達するまでの時間１１４と、サーバ１０４のプログラムが処理を行って処理結果データを送信できるようになるまでの時間１１５と、サーバ１０４のプログラムからオペレーティングシステムおよびネットワークコンポーネントを経て通信路１０３に通信データが到達するまでの時間１１６と、サーバ１０４が接続された通信路１０３からクライアント１０１が接続された通信路１０２に到達するまでの時間１１７と、クライアント１０１のネットワークコンポーネント、オペレーティングシステムを経てプログラムに到達するまでの時間１１８と、クライアント１０１が処理結果を画面などに出力し終わるまでの時間１１９があり、これらの合計が当該処理のレスポンスタイム１２０となる。
【００２６】
これらのレスポンスタイム１２０を構成する時間１１１〜１１９のうち、クライアント１０１またはサーバ１０４と通信路１０２、１０３との間を通信データが通過する時間１１２、１１４、１１６、１１８については、レスポンスタイム１２０に占める割合が小さく、コンピュータシステムが変わってもほとんど変化しない値であるため、ここでは固定値であると考える。残った時間１１１、１１３、１１５、１１７、１１９のうち、クライアント１０１またはサーバ１０４がデータを送信できるようになるまでの時間１１１、１１５と、クライアントがデータを受けて画面などに出力し終わるまでの時間１１９は、クライアント１０１およびサーバ１０４のプログラムによって時間が決まり、かつ通信路による影響を受けない。
【００２７】
したがって、クライアント１０１またはサーバ１０４がデータを送信できるようになるまでの時間１１１、１１５と、クライアントがデータを受けて画面などに出力し終わるまでの時間１１９があらかじめ仮定できるとすれば、データが通信路を流れている時間１１３、１１４を測定することによりレスポンスタイム１２０は求まることになる。
【００２８】
このように、本発明はサーバとクライアントのプログラムの処理にかかる時間を仮定しておいて、通信路の伝送時間のみを測定することによりレスポンスタイムなどを求め、コンピュータシステムの一部としての通信路の性能を評価できるようにするものである。
【００２９】
【発明の効果】
以上、説明したように、本発明によれば、サーバとクライアントのプログラムの処理にかかる時間を仮定しておいて性能測定を行えることから、実際のコンピュータシステムで動作するプログラムを用いることなく、性能評価できるようになっている。したがって、コンピュータシステムが完成する時点よりも前の時点において、コンピュータシステムで動作するプログラムを用いずにコンピュータシステムの一部としての通信路の性能を評価することができる。
【図面の簡単な説明】
【図１】本発明による通信データ発生装置と通信傍受装置によって構成したネットワーク性能評価方法の実施構成例での要部機能ブロック構成を示すブロック図である。
【図２】本発明による通信手順ファイル作成処理の一例における要部手続きを示すフローチャート図である。
【図３】本発明による通信手順ファイルの一例における要部データ構造を示すデータ構成図である。
【図４】本発明によるプロトコル定義ファイルの一例における要部データ構造を示すデータ構成図である。
【図５】本発明による通信記録ファイルの一例における要部データ構造を示すデータ構成図である。
【図６】本発明によるレスポンスタイム測定結果の一例における要部通信手順を示すタイムチャート図である。
【符号の説明】
１０…通信路、２０…サーバ側通信データ発生装置、２１…プロトコル定義部、２２…プロトコル定義ファイル、２３…通信データ定義部、２４…クライアント通信手順ファイル、２５…リモート制御部、２６…サーバ通信手順ファイル、２７…送受信制御部、２８…自動接続受付部、２９…クライアントリストファイル、３０…クライアント側通信データ発生装置、３１…リモート要求処理部、３２…自動接続制御部、４０…通信傍受装置、４１…通信傍受部、４２…通信記録ファイル、５１…通信プロトコルの指定処理、５２…サーバ通信手順、クライアント通信手順へ前処理レコード書き込み処理、５３…思考遅延時間、送受信方向、データ長の指定処理、５４…サーバ通信手順、クライアント通信手順へ１レコード書き込み処理、５５…通信手順終了判断、５６…サーバ通信手順、クライアント通信手順へ後処理レコード書き込み処理、６１…通信手順レコード、６２…リモート宛先、６３…ローカル宛先、６４…処理命令、６５…待機時間、６６…データ長、６７…命令例、７１…プロトコル定義レコード、７２…プロトコル名、７３…ヘッダ長、７４…前処理レコード群、７５…後処理レコード群、８１…通信記録レコード、８２…時刻、８３…通信パケット、１０１…クライアント、１０２…クライアントが接続する通信路部分、１０３…サーバが接続する通信路部分、１０４…サーバ、１１１…クライアントがデータを送信できるようになるまでにかかる時間、１１２…クライアントがデータを通信路に送出するまでにかかる時間、１１３…クライアント側からサーバ側の通信路に到達するまでにかかる時間、１１４…サーバが通信路からデータを入力するまでにかかる時間、１１５…サーバがデータを送信できるようになるまでにかかる時間、１１６…サーバがデータを通信路に送出するまでにかかる時間、１１７…サーバ側からクライアント側の通信路に到達するまでにかかる時間、１１８…クライアントが通信路からデータを入力するまでにかかる時間、１１９…クライアントがデータを得てから画面に表示するまでにかかる時間、１２０…レスポンスタイム。
【図１】
2004180185.tif 000003
【図２】
2004180185.tif 000004
【図３】
2004180185.tif 000005
【図４】
2004180185.tif 000006
【図５】
2004180185.tif 000007
【図６】
2004180185.tif 000008