(57)【要約】      （修正有）【課題】既存サービスへの影響なく通信試験を効率よくおこなう通信試験装置を提供する。【解決手段】通信試験装置１は、複数のクライアントを含むクライアント群２０ｇと、サーバ３０と接続し、モニタ部１ａと制御部１ｂを有する。モニタ部は、サーバとクライアント群との間の通信をモニタする。制御部は、サーバとクライアント群との間の通信で確立されている運用中の実コネクションＣｓの数を検出する。制御部は、サーバとクライアントとの間の通信を擬似する擬似クライアントＣｐを内部に生成して、擬似コネクションを確立するＳ１とともに、実コネクションの数の変化に応じて、実コネクションの数と、擬似コネクションの数との合計が、サーバに対する所望の負荷であるコネクション総数になるように、擬似コネクションの数を増減Ｓ２、Ｓ３する。【選択図】図１
2018073026.tif 000002
【特許請求の範囲】
【請求項１】
サーバと複数のクライアントとの間の通信をモニタするモニタ部と、
モニタ結果から前記サーバと前記クライアントとの間のコネクションの数を検出し、前記サーバと前記クライアントとの間の通信を擬似する擬似クライアントを内部に生成して前記サーバと前記擬似クライアントとの間にコネクションを確立し、前記モニタ部から得られるコネクションの数の変化に応じて、前記モニタ部から得られるコネクションの数と、擬似コネクションの数との合計が、所定数になるように前記サーバと擬似クライアントとのコネクションの数を増減する制御部と、
を有する通信試験装置。
【請求項２】
前記制御部は、前記擬似コネクションを増加させる場合、
前記所定数から前記モニタ部から得られるコネクションの数を引いた数の前記擬似コネクションを一括して増加させる第１の増加処理と、
前記サーバの通信性能を示す評価値が閾値を超えない範囲で、前記所定数に達するまで段階的に前記擬似コネクションを増加させる第２の増加処理とのいずれかをおこなう、
請求項１記載の通信試験装置。
【請求項３】
前記制御部は、前記第２の増加処理をおこなう場合、
前記評価値として遅延時間、ロス率および再送時間の少なくとも１つを算出し、
前記評価値が前記閾値を超えた場合には、前記所定数に達する前に前記擬似コネクションの増加を停止し、前記評価値が前記閾値未満になるまで前記擬似コネクションを減少させる、
請求項２に記載の通信試験装置。
【請求項４】
前記制御部は、前記擬似コネクションと、前記モニタ部から得られるコネクションの数との合計が前記所定数に達している状態で、新規クライアントが前記サーバに接続した場合、前記新規クライアントから送信された接続要求パケットを検知することで前記新規クライアントが接続したことを認識し、前記所定数を満たすように前記擬似コネクションを減少させる、
請求項１に記載の通信試験装置。
【請求項５】
前記制御部は、前記クライアントから前記サーバへ向けて送信された、通信路の接続要求パケットを受信した時刻と、前記クライアントから前記サーバへ向けて送信された、前記通信路の接続切断要求パケットを受信した時刻との間の期間を、前記サーバと前記クライアントとの間で確立されるコネクションの有効期間とみなす、
請求項１に記載の通信試験装置。
【請求項６】
前記制御部は、前記クライアントから前記サーバへ向けて送信された、通信路の接続要求パケットを受信した時刻と、前記クライアントから前記サーバへ向けて送信された、前記通信路の切断完了通知パケットを受信した時刻との間の期間を、前記サーバと前記クライアントとの間で確立されるコネクションの有効期間とみなす、
請求項１に記載の通信試験装置。
【請求項７】
前記制御部は、前記クライアントから前記サーバへ向けて送信された、通信路の接続完了パケットを受信した時刻と、前記クライアントから前記サーバへ向けて送信された、前記通信路の接続切断要求パケットを受信した時刻との間の期間を、前記サーバと前記クライアントとの間で確立されるコネクションの有効期間とみなす、
請求項１に記載の通信試験装置。
【請求項８】
前記制御部は、前記クライアントから前記サーバへ向けて送信された、通信路の接続完了パケットを受信した時刻と、前記クライアントから前記サーバへ向けて送信された、前記通信路の切断完了通知パケットを受信した時刻との間の期間を、前記サーバと前記クライアントとの間で確立されるコネクションの有効期間とみなす、
請求項１に記載の通信試験装置。
【請求項９】
サーバと、
複数のクライアントと、
サーバと複数のクライアントとの間の通信をモニタするモニタ部と、モニタ結果から前記サーバと前記クライアントとの間のコネクションの数を検出し、前記サーバと前記クライアントとの間の通信を擬似する擬似クライアントを内部に生成して前記サーバと前記擬似クライアントとの間にコネクションを確立し、前記モニタ部から得られるコネクションの数の変化に応じて、前記モニタ部から得られるコネクションの数と、擬似コネクションの数との合計が、所定数になるように前記サーバと擬似クライアントとのコネクションの数を増減して前記サーバに負荷を与える制御部と、を備える通信試験装置と、
を有する通信試験システム。
【請求項１０】
コンピュータが、
サーバと複数のクライアントとの間の通信をモニタし、
モニタ結果から前記サーバと前記クライアントとの間のコネクションの数を検出し、前記サーバと前記クライアントとの間の通信を擬似する擬似クライアントを内部に生成して前記サーバと前記擬似クライアントとの間にコネクションを確立し、モニタ結果から得られるコネクションの数の変化に応じて、前記モニタ結果から得られるコネクションの数と、擬似コネクションの数との合計が、所定数になるように前記サーバと擬似クライアントとのコネクションの数を増減する、
通信試験方法。
【請求項１１】
コンピュータに、
サーバと複数のクライアントとの間の通信をモニタし、
モニタ結果から前記サーバと前記クライアントとの間のコネクションの数を検出し、前記サーバと前記クライアントとの間の通信を擬似する擬似クライアントを内部に生成して前記サーバと前記擬似クライアントとの間にコネクションを確立し、モニタ結果から得られるコネクションの数の変化に応じて、前記モニタ結果から得られるコネクションの数と、擬似コネクションの数との合計が、所定数になるように前記サーバと擬似クライアントとのコネクションの数を増減する、
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信試験装置、通信試験システム、通信試験方法およびプログラムに関する。
【背景技術】
【０００２】
クライアントサーバシステムは、クライアントからのリクエストに応じてサーバからコンテンツを送信するシステムである。近年では、Ｗｅｂ上の情報を公開するＷｅｂサーバと、情報を閲覧するブラウザ機能を有するＷｅｂクライアントとの間で、通信規約としてＨＴＴＰ（Hypertext Transfer Protocol）が標準化されている。
【０００３】
一方、クライアントサーバシステムに対しては、複数のクライアントからの同時接続が発生した場合のサーバの通信性能を検証するために、サーバに負荷を与える通信試験がおこなわれる。
【０００４】
このような通信試験では、たとえば、サーバとクライアントとの間にコネクションを確立してサーバに負荷を与えることで、サーバが所望の通信動作をおこなうか否かが検証される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−３４８４９１号公報
【特許文献２】特開２００９−２６０２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、運用中のサービスを停止できない環境では、運用中のコネクションも動作しており、このような環境下で上記のような通信試験を実施すると、設定以上の負荷が発生する場合がある。
【０００７】
たとえば、試験対象とするサーバへ通信試験をおこなっているときに、クライアントからのコネクションが発生したとする。この場合、試験用のコネクションと運用中のコネクションとの両コネクションがサーバに確立されるので、設定以上のコネクション数の負荷が発生してしまう。このような状態では、運用中のサービス（運用中のコネクション）に対して悪影響（たとえば、アクセス遅延大など）が発生する可能性がある。
【０００８】
このように、実際の運用環境では、運用中のサービスへの影響リスクが高いため、運用環境下でコネクションの負荷を与える通信試験をおこなうことが困難である。
１つの側面では、本発明は、サービスを停止できない運用環境下においても、既存サービスへの影響なく通信試験を効率よくおこなう通信試験装置、通信試験システム、通信試験方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、通信試験装置が提供される。通信試験装置は、モニタ部と、制御部とを有する。モニタ部は、サーバと複数のクライアントとの間の通信をモニタする。制御部は、モニタ結果からサーバとクライアントとの間のコネクションの数を検出し、サーバとクライアントとの間の通信を擬似する擬似クライアントを内部に生成してサーバと擬似クライアントとの間にコネクションを確立し、モニタ部から得られるコネクションの数の変化に応じて、モニタ部から得られるコネクションの数と、擬似コネクションの数との合計が、所定数になるようにサーバと擬似クライアントとのコネクションの数を増減する。
【００１０】
また、上記課題を解決するために、上記通信試験装置を含む通信試験システムが提供される。
さらに、上記課題を解決するために、コンピュータが上記通信試験装置と同様の制御を実行する通信試験方法が提供される。
【００１１】
また、上記課題を解決するために、コンピュータに上記通信試験装置と同様の制御を実行させるプログラムが提供される。
【発明の効果】
【００１２】
１態様によれば、既存サービスへの影響なく通信試験を効率よくおこなうことができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態の通信試験装置の構成の一例を示す図である。
【図２】第２の実施の形態の通信試験システムの構成の一例を示す図である。
【図３】第２の実施の形態の通信試験装置のハードウェア構成の一例を示す図である。
【図４】第２の実施の形態の通信試験装置の機能構成の一例を示す図である。
【図５】パケットスイッチでスイッチングされるパケットの流れを示す図である。
【図６】解析処理部の機能構成の一例を示す図である。
【図７】解析処理のフローチャートを示す図である。
【図８】通信性能評価部の機能構成の一例を示す図である。
【図９】通信性能判定処理のフローチャートを示す図である。
【図１０】コネクション管理部の機能構成の一例を示す図である。
【図１１】コネクション管理処理のフローチャートを示す図である。
【図１２】擬似クライアント通信制御部の機能構成の一例を示す図である。
【図１３】擬似コネクション生成処理のフローチャートを示す図である。
【図１４】擬似コネクション切断処理のフローチャートを示す図である。
【図１５】ユーザインタフェース部の機能構成の一例を示す図である。
【図１６】ユーザインタフェース処理のフローチャートを示す図である。
【図１７】コネクション管理テーブルの一例を示す図である。
【図１８】擬似コネクション管理テーブルの一例を示す図である。
【図１９】評価パラメータ記録テーブルの一例を示す図である。
【図２０】ユーザ設定情報管理テーブルの一例を示す図である。
【図２１】遅延時間の定義を説明するための図である。
【図２２】再送時間の定義を説明するための図である。
【図２３】ＴＣＰコネクションが確立して切断するまでのシーケンスを示す図である。
【図２４】クライアントとサーバとの間で通信がおこなわれている実運用環境を示す図である。
【図２５】通信試験前のコネクション管理テーブルの登録例を示す図である。
【図２６】ユーザ設定情報管理テーブルの登録例を示す図である。
【図２７】擬似コネクションが追加されて通信試験がおこなわれている実運用環境を示す図である。
【図２８】擬似コネクション管理テーブルの登録例を示す図である。
【図２９】通信試験後のコネクション管理テーブルの登録例を示す図である。
【図３０】ユーザ設定情報管理テーブルの登録例を示す図である。
【図３１】負荷上昇変動管理テーブルの一例を示す図である。
【図３２】負荷上昇変動管理テーブルの一例を示す図である。
【図３３】通信試験の実行中に新規の実コネクションが発生した場合の実運用環境を示す図である。
【図３４】擬似コネクションの数が削除された実運用環境を示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して実施形態を詳細に説明する。
［第１の実施形態］
第１の実施形態の通信試験装置について図１を用いて説明する。図１は、第１の実施の形態の通信試験装置の構成の一例を示す図である。通信試験装置１は、複数のクライアントを含むクライアント群２０ｇと、サーバ３０と接続する。また、通信試験装置１は、モニタ部１ａと制御部１ｂを有する。
【００１５】
モニタ部１ａは、サーバ３０とクライアント群２０ｇとの間の通信をモニタする。制御部１ｂは、モニタ結果からサーバ３０とクライアント群２０ｇとの間の通信で確立されている運用中のコネクション（以下、実コネクションと呼ぶ）の数を検出する。
【００１６】
そして、制御部１ｂは、サーバ３０とクライアントとの間の通信を擬似する擬似クライアントを内部に生成して、サーバ３０と擬似クライアントとの間に擬似コネクションを確立する。
【００１７】
また、制御部１ｂでは、擬似コネクションを確立する場合、実コネクションの数の変化に応じて、実コネクションの数と、擬似コネクションの数との合計が、サーバ３０に対する所望の負荷であるコネクション総数になるように擬似コネクションの数を増減する。
【００１８】
ここで、図１に示すような、通信試験装置１にクライアント２１、２２、２３と、サーバ３０とが接続する通信試験システムにおいて、具体例を用いて動作について説明する。なお、サーバ３０にコネクションの負荷を与えて通信試験をおこなう際に、サーバ３０に対する所望のコネクション負荷として所定数＝５を設定するものとする。
【００１９】
〔ステップＳ１〕クライアント２１、２２、２３からはそれぞれ、サービス運用中の実コネクションＣｓ（図中、実線矢印）が生成されており、サーバ３０に対して３本の実コネクションＣｓが確立している。
【００２０】
このような運用状態で通信試験をおこなう場合、通信試験装置１では、サーバ３０に与えるコネクション総数が５となるように、２本の擬似コネクションＣｐ（図中、点線矢印）を生成することになる。
【００２１】
〔ステップＳ２〕ステップＳ１の状態のサービス運用中に、クライアントがシステムに新たに追加されるなどして、実コネクションＣｓが１本増加し、実コネクションＣｓ＝４となったとする。この場合、通信試験装置１は、実コネクション数の変化を認識して、コネクション総数＝５となるように、１本の擬似コネクションＣｐを生成する。
【００２２】
〔ステップＳ３〕ステップＳ１の状態のサービス運用中に、クライアントがシステムから切断されるなどして、実コネクションＣｓが１本減少して、実コネクションＣｓ＝２となったとする。この場合、通信試験装置１は、実コネクション数の変化を認識して、コネクション総数＝５となるように、３本の擬似コネクションＣｐを生成する。
【００２３】
このように、通信試験装置１では、サーバ３０に負荷を与えて通信性能を試験する際に、運用中の実コネクションＣｓの数の変化に応じて、擬似コネクションＣｐを生成し、実コネクションＣｓと擬似コネクションＣｐの合計数がコネクション総数になるように、擬似コネクションＣｐの数を増減して調節する。これにより、通信試験装置１は、サービスを停止できない運用環境下においても、既存サービス（たとえば、運用中の実コネクションＣｓ）への影響なく、通信試験を効率よくおこなうことが可能になる。
【００２４】
［第２の実施形態］
次に、第２の実施の形態について説明する。まず、通信試験装置が適用されるシステム構成について図２を用いて説明する。図２は、第２の実施形態の通信試験システムの構成の一例を示す図である。通信試験システム１−１は、クライアント２１、２２などの複数のクライアント、サーバ３１、３２などの複数のサーバ、スイッチ４１、４２および通信試験装置１０を備える。
【００２５】
クライアント２１、２２は、スイッチ４１に接続し、スイッチ４１は、ネットワーク５０に接続する。通信試験装置１０は、ネットワーク５０と、スイッチ４２に接続する。サーバ３１、３２は、スイッチ４２に接続する。
【００２６】
通信試験装置１０は、図１に示した通信試験装置１の機能を有する。また、スイッチ４１、４２は、たとえば、ルータなどに該当し、受信パケットに含まれるＩＰ（Internet Protocol）アドレス等にもとづいてテーブル検索をおこない、パケットごとにタグの付与や転送先を決定して、パケットを送信する。なお、図示していないが、通信試験装置１０には保守端末が接続することができる。
【００２７】
次に、通信試験装置１０のハードウェア構成について図３を用いて説明する。図３は、第２の実施形態の通信試験装置のハードウェア構成の一例を示す図である。
通信試験装置１０は、プロセッサ１００によって装置全体が制御されている。プロセッサ１００には、バス１０３を介してメモリ１０１と複数の周辺機器が接続されている。プロセッサ１００は、マルチプロセッサであってもよい。プロセッサ１００は、たとえばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。またプロセッサ１００は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００２８】
メモリ１０１は、通信試験装置１０の主記憶装置として使用される。メモリ１０１には、プロセッサ１００に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ１０１には、プロセッサ１００による処理に要する各種データが格納される。
【００２９】
また、メモリ１０１は、通信試験装置１０の補助記憶装置としても使用され、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。メモリ１０１は、補助記憶装置として、フラッシュメモリやＳＳＤ（Solid State Drive）などの半導体記憶装置やＨＤＤ（Hard Disk Drive）などの磁気記録媒体を含んでもよい。
【００３０】
バス１０３に接続されている周辺機器としては、入出力インタフェース１０２、および通信インタフェース１０４、１０５がある。
入出力インタフェース１０２は、プロセッサ１００からの命令にしたがって通信試験装置１０の状態を表示する表示装置として機能するモニタ（たとえばＬＥＤ（Light Emitting Diode）やＬＣＤ（Liquid Crystal Display）など）が接続されている。また、入出力インタフェース１０２は、キーボードやマウスなどの情報入力装置を接続可能であって、情報入力装置から送られてくる信号をプロセッサ１００に送信する。
【００３１】
また、入出力インタフェース１０２は、周辺機器を接続するための通信インタフェースとして機能する。たとえば、入出力インタフェース１０２は、レーザ光などを利用して、光ディスクに記録されたデータの読み取りをおこなう光学ドライブ装置を接続することができる。光ディスクは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００３２】
また、入出力インタフェース１０２は、メモリ装置やメモリリーダライタを接続することができる。メモリ装置は、入出力インタフェース１０２との通信機能を搭載した記録媒体である。メモリリーダライタは、メモリカードへのデータの書き込み、またはメモリカードからのデータの読み出しをおこなう装置である。メモリカードは、カード型の記録媒体である。
【００３３】
通信インタフェース１０４は、クライアント側に接続してデータの送受信をおこなう。通信インタフェース１０５は、サーバ側に接続してデータの送受信をおこなう。
以上のようなハードウェア構成によって、通信試験装置１０の処理機能を実現することができる。たとえば、通信試験装置１０は、プロセッサ１００がそれぞれ所定のプログラムを実行することで通信試験をおこなうことができる。
【００３４】
通信試験装置１０は、たとえば、コンピュータで読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施形態の処理機能を実現する。通信試験装置１０に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、通信試験装置１０に実行させるプログラムを補助記憶装置に格納しておくことができる。プロセッサ１００は、補助記憶装置内のプログラムの少なくとも一部を主記憶装置にロードし、プログラムを実行する。また、光ディスク、メモリ装置、メモリカードなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ１００からの制御により、補助記憶装置にインストールされた後、実行可能となる。またプロセッサ１００が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００３５】
次に、通信試験装置１０の機能構成について図４を用いて説明する。図４は、第２の実施の形態の通信試験装置の機能構成の一例を示す図である。通信試験装置１０は、パケットスイッチ１１、解析処理部１２、通信性能評価部１３、コネクション管理部１４、擬似クライアント通信制御部１５およびユーザインタフェース部１６を備える。
【００３６】
パケットスイッチ１１は、受信したパケットのバッファリングをおこなった後、パケットスイッチングをおこなって所定の宛先にパケットを送信する。解析処理部１２は、パケットスイッチ１１から送信されたパケットを受信してパケット解析およびコネクション解析をおこなう。
【００３７】
通信性能評価部１３は、サーバの通信性能の評価として、たとえば、パケットの遅延時間、パケットのロス率および再送時間を算出し、算出値と閾値との比較をおこなって、サーバにコネクション負荷を与えたときのサーバの通信性能を判定する。
【００３８】
コネクション管理部１４は、実コネクション数の管理をおこない、また擬似コネクションの生成依頼または削除依頼を擬似クライアント通信制御部１５に対しておこなう。
擬似クライアント通信制御部１５は、擬似コネクションの生成依頼を受けると、擬似クライアントを生成し、擬似クライアントとサーバとの間に擬似コネクションを確立する制御をおこなう。また、擬似クライアント通信制御部１５は、擬似コネクションの削除依頼を受けると、擬似クライアントとサーバとの間に確立している擬似コネクションを削除する制御をおこなう。
【００３９】
ユーザインタフェース部１６は、通信試験装置１０のコンソール、または通信試験装置１０に接続された保守端末を通じて、ＧＵＩ（Graphical User Interface）などを提供して、ユーザインタフェース処理をおこなう。
【００４０】
次に、パケットスイッチ１１によってスイッチングされるパケットの流れについて図５を用いて説明する。図５は、パケットスイッチでスイッチングされるパケットの流れを示す図である。パケットスイッチ１１は、クライアントから送信されたパケットｐ１を受信すると、解析処理部１２およびサーバへ送信する。また、サーバから送信されたクライアント宛てのパケットｐ２を受信すると、解析処理部１２およびクライアントへ送信する。
【００４１】
さらに、パケットスイッチ１１は、擬似クライアント通信制御部１５から送信されたパケットｐ３を受信すると、解析処理部１２およびサーバへ送信する。また、サーバから送信された擬似クライアント宛てのパケットｐ４を受信すると、解析処理部１２および擬似クライアント通信制御部１５へ送信する。
【００４２】
次に解析処理部１２の動作について図６、図７を用いて説明する。図６は、解析処理部の機能構成の一例を示し、図７は、解析処理のフローチャートを示す図である。解析処理部１２は、パケット解析部１２ａ、コネクション解析部１２ｂおよびリクエストメッセージ記録バッファ１２ｃの機能を含む。
【００４３】
〔ステップＳ１１〕パケット解析部１２ａは、パケットスイッチ１１を通じて取得したパケットのパケット解析をおこなう。パケット解析としては、たとえば、ＩＰヘッダの解析、ＴＣＰ（Transmission Control Protocol）ヘッダの解析、取得したパケットがデータパケットか確認応答パケット（ＡＣＫパケット）かの解析などがある。
【００４４】
〔ステップＳ１２〕コネクション解析部１２ｂは、パケットが流れるコネクションが、新しく確立した新規コネクションか、すでに確立している既存コネクションか、擬似クライアント通信制御部１５で生成された擬似コネクションか否かを判別する。そして、コネクション解析部１２ｂは、各コネクションに対してコネクション解析をおこなう。新規コネクションの場合は処理がステップＳ１３へすすみ、既存コネクションの場合は処理がステップＳ１４へすすみ、擬似コネクションの場合は処理がステップＳ１６へすすむ。
【００４５】
〔ステップＳ１３〕コネクション解析部１２ｂは、コネクション管理部１４内のコネクション管理テーブルに新規コネクションをエントリする。
〔ステップＳ１４〕コネクション解析部１２ｂは、既存コネクションを流れてきたパケットに含まれるリクエストメッセージを、リクエストメッセージ記録バッファ１２ｃに記録する。
【００４６】
たとえば、クライアントサーバ間の通信プロトコルがＨＴＴＰの場合、コネクション解析部１２ｂは、ＨＴＴＰリクエストメッセージを抽出して、リクエストメッセージ記録バッファ１２ｃに記録する。
【００４７】
〔ステップＳ１５〕コネクション解析部１２ｂは、新規コネクションまたは既存コネクションの解析結果をコネクション管理部１４内のコネクション管理テーブルに格納する。解析結果としては、たとえば、送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、宛先ポート番号などがある。
【００４８】
〔ステップＳ１６〕コネクション解析部１２ｂは、擬似コネクションの解析結果をコネクション管理部１４内の擬似コネクション管理テーブルに格納する。解析結果としては、たとえば、擬似クライアントアドレス、送信元ポート番号、宛先ＩＰアドレス、宛先ポート番号などがある。
【００４９】
次に、通信性能評価部１３の動作について図８、図９を用いて説明する。図８は、通信性能評価部の機能構成の一例を示し、図９は、通信性能判定処理のフローチャートを示す図である。通信性能評価部１３は、評価パラメータ記録部１３ａ、評価値算出部１３ｂおよび閾値判定部１３ｃの機能を含む。また、評価パラメータ記録部１３ａは、評価パラメータ記録テーブル１３ａ−１を含む。
【００５０】
〔ステップＳ２１〕評価パラメータ記録部１３ａは、コネクション管理テーブルの更新後に、コネクション管理テーブルで管理されている実コネクションを流れるパケットから、サーバの通信性能の評価値を算出する際に要する評価パラメータを取得する。
【００５１】
同様に、評価パラメータ記録部１３ａは、擬似コネクション管理テーブルの更新後、擬似コネクション管理テーブルで管理されている擬似コネクションを流れるパケットから、サーバの通信性能の評価値を算出する際に要する評価パラメータを取得する。そして、評価パラメータ記録部１３ａは、取得した評価パラメータを、評価パラメータ記録テーブル１３ａ−１に記録する。
【００５２】
〔ステップＳ２２〕評価値算出部１３ｂは、記録した評価パラメータを用いて評価値を算出する。評価値算出としては、たとえば、遅延時間、ロス率および再送時間の算出がある。
【００５３】
〔ステップＳ２３〕閾値判定部１３ｃは、ユーザインタフェース部１６に含まれるユーザ設定情報管理テーブルに登録された閾値と、ステップＳ２２で算出された評価値とを比較する。
【００５４】
〔ステップＳ２４〕閾値判定部１３ｃは、評価値が閾値を超える場合には、その旨をコネクション管理部１４へ通知する。
次に、コネクション管理部１４の動作について図１０、図１１を用いて説明する。図１０は、コネクション管理部の機能構成の一例を示し、図１１は、コネクション管理処理のフローチャートを示す図である。
【００５５】
コネクション管理部１４は、コネクション数管理部１４ａ、擬似コネクション追加／削除依頼部１４ｂ、コネクション管理テーブル１４ｃおよび擬似コネクション管理テーブル１４ｄの機能を含む。なお、コネクション管理部１４の動作は、通常、所定時間間隔（たとえば、タイマを駆動させて１ｍｓ間隔）おきにおこなわれる。
【００５６】
〔ステップＳ３１〕コネクション数管理部１４ａは、コネクション管理テーブル１４ｃのエントリ数を確認する。
〔ステップＳ３２〕コネクション数管理部１４ａは、コネクション管理テーブル１４ｃのエントリ数と、ユーザ設定情報管理テーブルに登録されているコネクション負荷設定値（サーバにコネクション負荷を与える際のコネクション総数）とを比較して差を算出する。
【００５７】
コネクション負荷設定値の方がコネクション管理テーブル１４ｃのエントリ数よりも多く、コネクション負荷が不足している場合は処理がステップＳ３３へすすむ。また、コネクション管理テーブル１４ｃのエントリ数の方がコネクション負荷設定値よりも多く、エントリ数が超過している場合は処理がステップＳ３４へすすむ。
【００５８】
〔ステップＳ３３〕擬似コネクション追加／削除依頼部１４ｂは、擬似クライアント通信制御部１５へ擬似コネクションの追加依頼を送信する。
〔ステップＳ３４〕擬似コネクション追加／削除依頼部１４ｂは、擬似クライアント通信制御部１５へ擬似コネクションの削除依頼をおこなう。
【００５９】
〔ステップＳ３５〕擬似コネクション追加／削除依頼部１４ｂは、擬似コネクションが生成された場合は、生成された分のエントリ数を擬似コネクション管理テーブル１４ｄに追加する。また、擬似コネクション追加／削除依頼部１４ｂは、擬似コネクションが切断された場合は、切断された分のエントリ数を擬似コネクション管理テーブル１４ｄから削除する。
【００６０】
なお、擬似コネクション追加／削除依頼部１４ｂは、通信性能評価部１３で算出された評価値が閾値を超える旨の通知を受けた場合は、ユーザ設定情報管理テーブルに設定されている擬似コネクション数の削減率にもとづく削減依頼を、擬似クライアント通信制御部１５へ送信する。
【００６１】
次に、擬似クライアント通信制御部１５の動作について図１２から図１４を用いて説明する。図１２は、擬似クライアント通信制御部の機能構成の一例を示す図である。擬似クライアント通信制御部１５は、擬似クライアント通信部１５ａ、擬似クライアントプール１５ｂ、ＴＣＰソケットプール１５ｃ、ＴＣＰ／ＩＰスタック１５ｄの機能を含む。
【００６２】
ここで、擬似クライアントプール１５ｂには、クライアントを擬似する擬似クライアントが複数格納されており、１つの擬似クライアントには、たとえば、擬似クライアントアドレスやポート番号が設定されている。
【００６３】
また、ＴＣＰソケットプール１５ｃは、擬似クライアントプール１５ｂの中に格納されている擬似クライアントそれぞれに対応するＴＣＰソケットが格納されており、擬似クライアントは、ＴＣＰソケットを利用してサーバ側のアプリケーションと通信をおこなう。さらに、擬似クライアントが通信をおこなう際には、ＴＣＰ／ＩＰスタック１５ｄを経由して所定のパケットの組み立て・分解がおこなわれる。
【００６４】
図１３は、擬似コネクション生成処理のフローチャートを示す図である。
〔ステップＳ４１ａ〕擬似クライアント通信部１５ａは、擬似コネクション追加／削除依頼部１４ｂから擬似コネクションの追加依頼を受信する。すると、擬似クライアント通信部１５ａは、擬似クライアントプール１５ｂから擬似クライアントを取り出し、ＴＣＰソケットプール１５ｃ内のＴＣＰソケットを利用して、擬似クライアントによる通信を開始する。
【００６５】
〔ステップＳ４２ａ〕擬似クライアント通信部１５ａは、リクエストメッセージ記録バッファ１２ｃに格納されているメッセージを複製し、複製したメッセージをＴＣＰ／ＩＰスタック１５ｄ経由でサーバに送信することで、サーバに対して擬似コネクションを確立して、パケット通信処理をおこなう。
【００６６】
図１４は、擬似コネクション切断処理のフローチャートを示す図である。
〔ステップＳ４１ｂ〕擬似クライアント通信部１５ａは、擬似コネクション追加／削除依頼部１４ｂから擬似コネクションの削除依頼を受信する。すると、擬似クライアント通信部１５ａは、削除対象の擬似コネクションで通信をおこなっている擬似クライアントが使用しているＴＣＰソケットのシャットダウンをおこなう。
【００６７】
〔ステップＳ４２ｂ〕擬似クライアント通信部１５ａは、シャットダウンしたＴＣＰソケットをＴＣＰソケットプール１５ｃへ戻し、シャットダウンしたＴＣＰソケットを使用していた擬似クライアントを擬似クライアントプール１５ｂへ戻す。
【００６８】
次に、ユーザインタフェース部１６の動作について図１５、図１６を用いて説明する。図１５は、ユーザインタフェース部の機能構成の一例を示し、図１６は、ユーザインタフェース処理のフローチャートを示す図である。
【００６９】
ユーザインタフェース部１６は、入出力制御部１６ａと、ユーザ設定情報管理テーブル１６ｂの機能を含む。
〔ステップＳ５１〕入出力制御部１６ａは、ユーザから入力されたユーザ設定情報を受信する。
【００７０】
〔ステップＳ５２〕入出力制御部１６ａは、ユーザから入力されたユーザ設定情報をユーザ設定情報管理テーブル１６ｂに登録する。なお、入出力制御部１６ａでは、ユーザに対して通信試験結果などの通知もおこなう。
【００７１】
次に、通信試験装置１０で管理される各テーブルについて説明する。まず、コネクション管理テーブル１４ｃについて図１７を用いて説明する。図１７は、コネクション管理テーブルの一例を示す図である。コネクション管理テーブル１４ｃは、運用環境で確立されているコネクション（実コネクションおよび擬似コネクションの両コネクション）に関する情報を管理するテーブルである。
【００７２】
コネクション管理テーブル１４ｃは、属性として、Ｎｏ．（エントリ番号）、送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレスおよび宛先ポート番号およびリクエストメッセージ記録バッファアドレスを含む。
【００７３】
エントリ番号によりコネクションが識別される。また、送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレスおよび宛先ポート番号によってコネクションが特定される。
なお、クライアントとサーバ間がＨＴＴＰの通信プロトコルで接続する場合には、クライアントからリクエストメッセージが送信される。よって、コネクション管理テーブル１４ｃは、コネクションを流れてきたリクエストメッセージを参照できるよう、リクエストメッセージを記録したリクエストメッセージ記録バッファ１２ｃ内のアドレスも管理している。
【００７４】
次に、擬似コネクション管理テーブル１４ｄについて図１８を用いて説明する。図１８は、擬似コネクション管理テーブルの一例を示す図である。擬似コネクション管理テーブル１４ｄは、擬似コネクションに関する情報を管理するテーブルである。
【００７５】
擬似コネクション管理テーブル１４ｄは、属性として、Ｎｏ．（エントリ番号）、擬似クライアントアドレス、送信元ポート番号、宛先ＩＰアドレスおよび宛先ポート番号およびリクエストメッセージ記録バッファアドレスを含む。
【００７６】
エントリ番号により擬似コネクションが識別される。また、擬似クライアントアドレス、送信元ポート番号、宛先ＩＰアドレスおよび宛先ポート番号によって擬似コネクションが特定される。
【００７７】
また、擬似コネクション管理テーブル１４ｄは、擬似コネクションを流れてきたリクエストメッセージを参照できるよう、リクエストメッセージを記録したリクエストメッセージ記録バッファ１２ｃ内のアドレスも管理している。
【００７８】
次に、評価パラメータ記録テーブル１３ａ−１について図１９を用いて説明する。図１９は、評価パラメータ記録テーブルの一例を示す図である。評価パラメータ記録テーブル１３ａ−１は、コネクション管理テーブル１４ｃのエントリ毎に測定された、通信性能を評価計算する際に用いる評価パラメータを保持するテーブルである。
【００７９】
評価パラメータ記録テーブル１３ａ−１は、属性として、コネクション管理テーブルインデクス、遅延時間測定回数（回）、遅延累積時間（ｍｓ）、データパケット累積数（個）、ロス検出数（個）、再送時間測定回数（回）および再送累積時間（ｍｓ）を含む。なお、コネクション管理テーブルインデクスは、コネクション管理テーブル１４ｃのエントリ番号に対応する。
【００８０】
次に、ユーザ設定情報管理テーブル１６ｂについて図２０を用いて説明する。図２０は、ユーザ設定情報管理テーブルの一例を示す図である。ユーザ設定情報管理テーブル１６ｂは、ユーザがたとえば保守端末などを通じて通信試験装置１０に設定するユーザ設定情報を保持するテーブルである。
【００８１】
ユーザ設定情報管理テーブル１６ｂは、メイン属性として、コネクション複製、アラーム系および定義を含む。コネクション複製は、擬似コネクションの追加ルールまたは削除ルールなどを設定するもので、コネクション複製はサブ属性として、コネクション負荷設定値、擬似クライアント複製元アドレス、擬似クライアントアドレス範囲、擬似クライアントポート範囲、コネクション追加ルール＃１、＃２、コネクション削除ルールを含む。
【００８２】
アラーム系は、サーバ側の通信異常状態のアラームを検知するために設定するもので、アラーム系はサブ属性として、アラーム閾値およびアラーム検出時制御を含む。アラーム閾値には、遅延時間、ロス率および再送時間の閾値が設定される。また、アラーム検出時制御には、評価値がアラーム閾値を超えた場合の擬似コネクションの削減率が設定される。一方、定義は、実コネクションの有効期間を示すコネクション有効期間が設定される（図２３で後述）。
【００８３】
ここで、コネクション複製の各サブ属性について説明する。コネクション負荷設定値は、サーバにコネクション負荷を与える際のコネクション総数（実コネクションと擬似コネクションとの合計数）である。
【００８４】
擬似クライアント複製元アドレスは、擬似クライアントを複製して生成する際に複製元になるクライアントのアドレスである。擬似クライアントアドレス範囲は、擬似クライアントのアドレス範囲である。擬似クライアントポート範囲は、擬似クライアントのポート番号の範囲である。
【００８５】
コネクション追加ルール＃１は、擬似クライアント複製元アドレス範囲の中から、どのアドレスの擬似クライアントを優先して設定し、設定した擬似クライアントから擬似コネクションを確立するかを示すものである。
【００８６】
たとえば、擬似クライアントのアドレスを最小値からインクリメントして生成する、擬似クライアントのアドレスを最大値からデクリメントして生成するなどの内容が設定される。また擬似クライアント複製元アドレス範囲の中からランダムに選択して生成してもよい。
【００８７】
コネクション追加ルール＃２は、擬似コネクションの負荷のかけ方を示すものであり、負荷設定値固定またはアラーム監視上昇のいずれかを設定することができる。負荷設定値固定は、コネクション負荷設定値になるまで一気に擬似コネクションを増加して負荷をあげるもので、コネクション負荷設定値に達した状態でサーバ側の通信異常状態のアラームを監視する場合に設定される。また、アラーム監視上昇は、サーバ側の通信異常状態からのアラームを監視しながら、徐々に擬似コネクションを増加して、コネクション負荷をあげる場合に設定される。
【００８８】
なお、負荷設定値固定による擬似コネクションの増加制御については、図２４から図２９で後述し、アラーム監視上昇による擬似コネクションの増加制御については、図３２で後述する。
【００８９】
一方、コネクション削除ルールは、サービス運用中に実コネクションの追加が発生した場合に、どの擬似クライアントを削除して、対応する擬似コネクションを削除していくかを示すものである。たとえば、生成時刻の旧い擬似クライアントから削除する、生成時刻の新しい擬似クライアントから削除するなどの内容が設定される。また生成時刻に関係なくランダムに削除してもよい。擬似コネクションの減少制御については、図３３、図３４で後述する。
【００９０】
次に、通信性能評価部１３で算出される評価値である遅延時間の定義について図２１を用いて説明する。図２１は、遅延時間の定義を説明するための図である。
〔ステップＳ６１〕サーバ３０は、データ番号＝１００１、データ長＝１０００のデータパケットｄ１を、通信試験装置１０を介してクライアント２０へ送信する。
【００９１】
〔ステップＳ６２〕クライアント２０は、データパケットｄ１を受信すると、ＡＣＫ番号＝１００１のＡＣＫパケットを、通信試験装置１０を介してサーバ３０へ送信する。
ここで、サーバ３０から送信されたデータパケットｄ１を、通信試験装置１０で受信した受信時刻を時刻ｔ１とする。また、クライアント２０でデータパケットｄ１が受信されて送信されたＡＣＫパケットを、通信試験装置１０で受信した受信時刻を時刻ｔ２とする。この場合、時刻ｔ１と時刻ｔ２との時間間隔が遅延時間となる。
【００９２】
次に、通信性能評価部１３で算出される評価値である再送時間の定義について図２２を用いて説明する。図２２は、再送時間の定義を説明するための図である。
〔ステップＳ７１〕サーバ３０は、データ番号＝１００１で、データ長＝１０００のデータパケットｄ１を、通信試験装置１０を介してクライアント２０へ送信し、データパケットｄ１は、クライアント２０で受信される。
【００９３】
〔ステップＳ７２〕サーバ３０は、データ番号＝１００２で、データ長＝１０００のデータパケットｄ２を、通信試験装置１０を介してクライアント２０へ送信する。
〔ステップＳ７３〕データパケットｄ２は、通信試験装置１０に到達する前にロスし、パケットロスが発生する。
【００９４】
〔ステップＳ７４〕サーバ３０は、データ番号＝１００３で、データ長＝１０００のデータパケットｄ３を、通信試験装置１０を介してクライアント２０へ送信し、データパケットｄ３は、クライアント２０で受信される。
【００９５】
〔ステップＳ７５〕クライアント２０は、データパケットｄ２の未受信を認識すると、ＡＣＫ番号＝１００２のＡＣＫパケットを、通信試験装置１０を介してサーバ３０へ３回連続して送信することで（重複ＡＣＫパケットの送信）、データパケットｄ２の再送要求をおこなう。
【００９６】
〔ステップＳ７６〕サーバ３０は、データ番号＝１００２を含むＡＣＫパケットを３回連続受信することにより、データパケットｄ２の再送要求であることを認識し、データパケットｄ２を、通信試験装置１０を介してクライアント２０へ再送する。
【００９７】
ここで、通信試験装置１０では、サーバ３０からデータ番号＝１００１のデータパケットｄ１を受信し、その次にデータ番号＝１００３のデータパケットｄ３を受信している。通信試験装置１０は、このようなデータ番号抜け（この例では、データ番号＝１００２の抜け）を認識することにより、データパケットｄ２のロスが発生したことを検出する。
【００９８】
また、クライアント２０から送信された重複ＡＣＫパケットの検知前に、サーバ３０から最後に送信されたデータパケット（この例ではデータパケットｄ３）を、通信試験装置１０で受信した受信時刻を時刻ｔ１とする。
【００９９】
さらに、クライアント２０から送信された重複ＡＣＫパケットの検知後に、サーバ３０から最初に送信されたデータパケット（この例ではデータパケットｄ２）を、通信試験装置１０で受信した受信時刻を時刻ｔ２とする。この場合、時刻ｔ１と時刻ｔ２との時間間隔が再送時間となる。
【０１００】
次に、遅延時間、ロス率および再送時間について、具体的な算出例について説明する。通信性能評価部１３では、図１９に示す評価パラメータ記録テーブル１３ａ−１から、定期的（たとえば、１ｍｓ間隔）に、遅延時間、ロス率および再送時間の算出に要する評価パラメータを抽出する。そして、通信性能評価部１３は、以下の式（１）、（２）、（３）を用いて、遅延時間の平均値、ロス率および再送時間の平均値を算出する。
【０１０１】
遅延時間平均値＝遅延累積時間／遅延時間測定回数・・・（１）
ロス率＝ロス検出数／（データパケット累積数＋ロス検出数）・・・（２）
再送時間平均値＝再送累積時間／再送時間測定回数・・・（３）
ここで、図１９に示す評価パラメータ記録テーブル１３ａ−１において、コネクション管理テーブルインデクスが“１”のコネクションの場合、遅延時間平均値＝３６／５＝７．２ｍｓ、ロス率＝（１／（１５＋１））×１００＝６．２％、再送時間平均値＝２／１＝２ｍｓと算出される。
【０１０２】
また、コネクション管理テーブルインデクスが“２”のコネクションの場合は、遅延時間平均値＝９１／１４＝６．５ｍｓ、ロス率＝（４／（２００＋４））×１００＝１．９％、再送時間平均値＝２／２＝１．０ｍｓと算出される。
【０１０３】
さらに、コネクション管理テーブルインデクスが“３”のコネクションの場合は、遅延時間平均値＝７／３＝２．３ｍｓ、ロス率＝（０／８＋０）×１００＝０．０％、再送時間平均値＝０ｍｓと算出される。
【０１０４】
なお、通信性能評価部１３では、図２０に示したようなユーザ設定情報管理テーブル１６ｂに記載されるアラーム閾値と、上記の評価算出値とを比較し、評価算出値がアラーム閾値を超えるか否かを判定する。評価算出値がアラーム閾値を超える場合は、通信性能評価部１３は、評価算出値がアラーム閾値を超える旨をコネクション管理部１４へ通知する。
【０１０５】
コネクション管理部１４は、通知を受けると、ユーザ設定情報管理テーブル１６ｂのアラーム検出時制御を参照する。図２０のユーザ設定情報管理テーブル１６ｂのアラーム検出時制御には、“擬似コネクション数削減：１０％”と記載されている。したがって、コネクション管理部１４は、コネクション負荷設定値の１０％分の擬似コネクションの削減依頼を擬似クライアント通信制御部１５へおこなうことになる。
【０１０６】
上記の例の場合、アラーム閾値：ロス率が“３％”に対し、コネクション管理テーブルインデクスが“１”のコネクションのロス率が６．２％となっているので、ロス率の評価値がアラーム閾値を超えている。このため、コネクション負荷設定値の１０％分の擬似コネクションの削減がおこなわれる。また、このとき、ユーザインタフェース部１６では、ユーザに対して、ロス率の評価値がアラーム閾値を超えたことを示すアラームを通知する。
【０１０７】
次に実コネクションの定義について図２３を用いて説明する。図２３は、ＴＣＰコネクションが確立して切断するまでのシーケンスを示す図である。
〔ステップＳ８１〕クライアント２０は、サーバ３０に対してＴＣＰ接続するために、接続要求パケットとなるＳＹＮパケットを、通信試験装置１０を介してサーバ３０に送信する。
【０１０８】
〔ステップＳ８２〕サーバ３０は、ＳＹＮパケットを受信すると、ＳＹＮＡＣＫパケット（接続要求応答パケット）を、通信試験装置１０を介してクライアント２０に送信する。
【０１０９】
〔ステップＳ８３〕クライアント２０は、ＳＹＮＡＣＫパケットを受信すると、接続完了パケットとなるＡＣＫパケットを、通信試験装置１０を介してサーバ３０へ送信する。なお、ステップＳ８１、Ｓ８２、Ｓ８３の通信手順によって３ウェイハンドシェイクが完了するので、クライアント２０とサーバ３０との間にＴＣＰコネクションが確立される。
【０１１０】
〔ステップＳ８４〕クライアント２０は、ＨＴＴＰリクエスト（メッセージ）Ｍ１を、通信試験装置１０を介してサーバ３０へ送信して、サーバ３０からコンテンツを要求する。
【０１１１】
〔ステップＳ８５〕サーバ３０は、ＡＣＫパケットを、通信試験装置１０を介してクライアント２０へ送信する。
〔ステップＳ８６〕サーバ３０は、ＨＴＴＰレスポンスＮ１−１を、通信試験装置１０を介してクライアント２０へ送信して、クライアント２０にコンテンツを送信する。
【０１１２】
〔ステップＳ８７〕クライアント２０は、ＡＣＫパケットを、通信試験装置１０を介してサーバ３０へ送信する。
〔ステップＳ８８〕サーバ３０は、ＨＴＴＰレスポンスＮ１−２からＮ１−ｘｘを、通信試験装置１０を介してクライアント２０へ送信して、クライアント２０にコンテンツを送信する。
【０１１３】
〔ステップＳ８９ａ〕クライアント２０は、ＡＣＫパケットを、通信試験装置１０を介してサーバ３０へ送信する。
〔ステップＳ８９ｂ〕クライアント２０は、ＡＣＫパケットを、通信試験装置１０を介してサーバ３０へ送信する。
【０１１４】
〔ステップＳ９０〕クライアント２０は、ＨＴＴＰリクエスト（メッセージ）Ｍ２を、通信試験装置１０を介してサーバ３０へ送信して、サーバ３０からコンテンツを要求する。
【０１１５】
〔ステップＳ９１〕サーバ３０は、ＡＣＫパケットを、通信試験装置１０を介してクライアント２０へ送信する。
〔ステップＳ９２〕サーバ３０は、ＨＴＴＰレスポンスＮ２を、通信試験装置１０を介してクライアント２０へ送信して、クライアント２０にコンテンツを送信する。
【０１１６】
〔ステップＳ９３〕クライアント２０は、ＡＣＫパケットを、通信試験装置１０を介してサーバ３０へ送信する。なお、ステップＳ８４からステップＳ９３までは、ＴＣＰコネクションにおけるアプリケーションレイヤでの通信がおこなわれる。
【０１１７】
〔ステップＳ９４〕クライアント２０は、ＴＣＰ接続を終了するための接続切断要求パケットとなるＦＩＮパケットを、通信試験装置１０を介してサーバ３０へ送信する。
〔ステップＳ９５〕サーバ３０は、クライアント２０から送信されたＦＩＮパケットを受信すると、ＦＩＮパケット（接続切断要求応答パケット）を、通信試験装置１０を介してクライアント２０に送信する。
【０１１８】
〔ステップＳ９６〕クライアント２０は、サーバ３０から送信されたＦＩＮパケットを受信すると、切断完了通知パケットとなるＡＣＫパケットを、通信試験装置１０を介してサーバ３０へ送信する。
【０１１９】
なお、ステップＳ９４、Ｓ９５、Ｓ９６の通信手順によって、クライアント２０とサーバ３０との間のＴＣＰコネクションが切断される。
ここで、通信試験装置１０を介して確立される、クライアント２０とサーバ３０との間の実コネクションの有効期間の開始、終了を、それぞれ２パターン設定するものとし、以下のように定義する。
【０１２０】
（コネクション有効期間の開始定義）
・通信試験装置１０が、クライアント２０が送信したＳＹＮパケットを受信した時刻をコネクション有効期間の開始Ｓｔ１とする。
【０１２１】
・通信試験装置１０が、クライアント２０から送信された３ウェイハンドシェイク終了を示すＡＣＫパケットを受信した時刻をコネクション有効期間の開始Ｓｔ２とする。
（コネクション有効期間の終了定義）
・通信試験装置１０が、クライアント２０が送信したＦＩＮパケットを受信した時刻をコネクション有効期間の終了Ｆ１とする。
【０１２２】
・通信試験装置１０が、クライアント２０から送信された切断通知を示すＡＣＫパケットを受信した時刻をコネクション有効期間の終了Ｆ２とする。
上記のように、コネクション有効期間の開始、終了をそれぞれ２パターン定義することで、以下のような４つの実コネクションの有効期間を設定することができる。
【０１２３】
（コネクション有効期間Ｔ１）
開始Ｓｔ１から終了Ｆ１までをコネクション有効期間Ｔ１とする。コネクション有効期間Ｔ１では、コネクション確立、切断の追従動作が早い。すなわち、実コネクションが増えた場合に、コネクション数増加の検知も早く、また、実コネクションが減った場合には、コネクション数減少の検知も早い。
【０１２４】
（コネクション有効期間Ｔ２）
開始Ｓｔ１から終了Ｆ２までをコネクション有効期間Ｔ２とする。コネクション有効期間Ｔ２では、コネクション確立の追従動作が早いため、実コネクションが増えた場合に、コネクション数増加の検知が早い。また、クライアント２０から送信されたＦＩＮパケットで終了を認識するため、コネクション終了を確実に検知することができる。
【０１２５】
（コネクション有効期間Ｔ３）
開始Ｓｔ２から終了Ｆ１までをコネクション有効期間Ｔ３とする。３ウェイシェイク終了後のパケットで開始を認識するため、確実に実コネクション確立完了後の認識となり、コネクション認識の誤りがない。また、切断認識は早いため、実コネクションが減った場合に、コネクション数減少の検知も早くなる。
【０１２６】
（コネクション有効期間Ｔ４）
開始Ｓｔ２から終了Ｆ２までをコネクション有効期間Ｔ４とする。３ウェイシェイク終了後のパケットで開始を認識するため、確実に実コネクション確立完了後の認識となり、コネクション認識の誤りがない。また、クライアント２０から送信されたＦＩＮパケットで終了を認識するため、コネクション終了を確実に検知することができる。
【０１２７】
ここで、コネクション負荷を与える通信試験を実施する場合、たとえば、追従動作優先であればＴ１型、サービスに影響しないことを優先するのであればＴ２型（コネクション数減処理早い＋コネクション数増処理遅い）、確実にコネクションを認識した動作で試験するのであればＴ４型が適している。このように、優先すべき事象にしたがって、最適なコネクション有効期間を指定して、通信試験を実施することができる。
【０１２８】
次に擬似コネクション数を増加させる場合の通信試験について具体例を挙げて説明する。なお、擬似コネクション数を増加させる場合は、上述したように、コネクション追加ルール＃２において、負荷設定値固定の場合と、アラーム監視上昇の場合との２つの設定があるので個別に説明する。
【０１２９】
最初に、負荷設定値固定にもとづいて、擬似コネクション数を増加させる場合の通信試験について図２４から図２９を用いて説明する。
図２４は、クライアントとサーバとの間で通信がおこなわれている実運用環境を示す図である。実運用環境２００は、通信試験装置１０、クライアント２１、２２、２３、２４を含む複数のクライアント、およびサーバ３０を備える。通信試験装置１０には、クライアント２１、２２、２３、２４を含む複数のクライアントと、サーバ３０とが接続する。
【０１３０】
また、通信試験装置１０を介して、クライアント２１とサーバ３０との間にコネクションＣ１が確立し、通信試験装置１０を介して、クライアント２２とサーバ３０との間にコネクションＣ２が確立している。
【０１３１】
さらに、通信試験装置１０を介して、クライアント２３とサーバ３０との間にコネクションＣ３が確立し、通信試験装置１０を介して、クライアント２４とサーバ３０との間にコネクションＣ４が確立している。
【０１３２】
このように、実運用環境２００では、通信試験装置１０を介して、複数のクライアントとサーバ３０との間にコネクションが確立しており、この例では合計で４００の実コネクションが発生しているものとする。
【０１３３】
図２５は、通信試験前のコネクション管理テーブルの登録例を示す図である。コネクション管理テーブル１４ｃ−１は、実運用環境２００における登録状態を示しており、４００エントリの実コネクションが登録されている。
【０１３４】
図２６は、ユーザ設定情報管理テーブルの登録例を示す図である。この例では、ユーザはサーバ３０に対して１０００のコネクションを接続してコネクション負荷を与える通信試験をおこなうものとする。
【０１３５】
したがって、ユーザ設定情報管理テーブル１６ｂ−１のコネクション負荷設定値の欄には１０００が登録されている。また、ユーザ設定情報管理テーブル１６ｂ−１のコネクション追加ルール＃２には負荷設定値固定と登録されている。
【０１３６】
ここで、通信試験装置１０は、サーバ３０に対してコネクション負荷を与える通信試験をおこなう場合、まず、コネクション数管理部１４ａでは、以下の計算により、擬似コネクションの生成数＝６００を算出する。
【０１３７】
擬似コネクション生成数＝コネクション負荷設定値−実コネクション数＝１０００−４００＝６００
すると、擬似コネクション追加／削除依頼部１４ｂは、擬似コネクション追加依頼（６００本）を擬似クライアント通信制御部１５へ送る。擬似クライアント通信制御部１５は、擬似コネクション追加依頼を受けると、擬似クライアントプール１５ｂの中から６００の擬似クライアントを有効化する。
【０１３８】
有効化された擬似クライアントは、擬似クライアント通信制御部１５で管理されるＴＣＰソケットプール１５ｃから、ＴＣＰ通信を実行するためのＴＣＰソケットが有効化される。さらに、有効化された擬似クライアントは、リクエストメッセージ記録バッファ１２ｃから参照したメッセージを取得し、ＴＣＰ／ＩＰスタック１５ｄを経由してサーバ３０と通信する。これにより、通信試験装置１０とサーバ３０との間に、６００本の擬似コネクションが確立される。
【０１３９】
図２７は、擬似コネクションが追加されて通信試験がおこなわれている実運用環境を示す図である。実運用環境２００ａは、図２４に示した実運用環境２００に対して６００本の擬似コネクションが増加された状態になっている。
【０１４０】
実運用環境２００ａでは、通信試験装置１０を介して、複数のクライアントとサーバ３０との間に４００の実コネクションが確立し、通信試験装置１０とサーバ３０との間に６００の擬似コネクションが確立している。
【０１４１】
したがって、サーバ３０に対して１０００のコネクションが接続し、４００の実コネクションに影響なく、サーバ３０に対して所望の１０００コネクションの負荷を与えて通信試験をおこなうことができる。
【０１４２】
図２８は、擬似コネクション管理テーブルの登録例を示す図である。擬似コネクション管理テーブル１４ｄ−１は、上述のコネクション負荷を与える通信試験を実施した実運用環境２００ａの登録状態を示しており、６００エントリの擬似コネクションが登録されている。
【０１４３】
図２９は、通信試験後のコネクション管理テーブルの登録例を示す図である。コネクション管理テーブル１４ｃ−２は、実運用環境２００ａにおける登録状態を示しており、実コネクションと擬似コネクションとを合わせた１０００エントリのコネクションが登録されている。
【０１４４】
このように、通信試験装置１０では、運用中の実コネクションに対して、擬似コネクションを生成して追加する。これにより、通信試験装置１は、既存サービスに影響なく、当初設定したコネクション数を確立することができ、所望のコネクション負荷をサーバ３０に与えることができる。
【０１４５】
次に、アラーム監視上昇にもとづいて擬似コネクション数を増加させる場合の通信試験について図３０から図３２を用いて説明する。なお、通信試験をおこなう最初の環境は、図２４と同じとする。すなわち、４００本の実コネクションがクライアントサーバ間に確立している環境で、アラーム監視上昇にもとづいてコネクション負荷を与える通信試験をおこなうものとする。
【０１４６】
図３０は、ユーザ設定情報管理テーブルの登録例を示す図である。ユーザ設定情報管理テーブル１６ｂ−２において、コネクション負荷設定値には１０００が登録されている。また、この例では、アラームを監視しながら段階的にコネクション負荷を上げて通信試験をおこなうので、コネクション追加ルール＃２には、アラーム監視上昇と登録されている。
【０１４７】
ここで、アラーム監視上昇をおこなう場合、通信性能評価部１３は、サーバ３０にコネクション負荷が与えられえた際に、サーバ３０がアラームを発出するか否かの監視をおこない、コネクション負荷は段階的に上げられていく。
【０１４８】
この例では、アラーム監視をしながら１０ｓ単位に、コネクション負荷設定値を１０％ずつ上昇させ、アラームを検出したらコネクション負荷上昇を停止して、コネクション負荷設定値の１０％削減をおこなうものとする。よって、ユーザ設定情報管理テーブル１６ｂ−２のアラーム検出時制御には、擬似コネクション数削減：１０％と登録されている。
【０１４９】
なお、通信性能評価部１３がアラーム監視をおこなう際のアラーム閾値は、ユーザ設定情報管理テーブル１６ｂ−２のアラーム系に登録されている。すなわち、ユーザ設定情報管理テーブル１６ｂ−２では、アラーム閾値：遅延時間は１００ｍｓ、アラーム閾値：ロス率は３％、アラーム閾値：再送時間は２００ｍｓと登録されている。
【０１５０】
したがって、遅延時間が１００ｍｓ以上、ロス率が３％以上、再送時間が２００ｍｓ以上、の少なくとも１つの事象が発生した場合に、アラームが検知されることになる。
図３１は、負荷上昇変動管理テーブルの一例を示す図である。負荷上昇変動管理テーブル１４０は、たとえば、コネクション管理部１４で管理される。
【０１５１】
負荷上昇変動管理テーブル１４０は、属性として、経過時間、設定コネクション数、実コネクション数、擬似コネクション数および合計コネクション数を有する。
ここで、１０ｓ単位にコネクション負荷をコネクション負荷設定値＝１０００まで上昇させる場合、経過時間は０ｓ、１０ｓ、２０ｓ、・・・９０ｓと記載される。
【０１５２】
また、設定コネクション数は、コネクション負荷設定値を１０％ずつ上昇させたときの累積値に相当する。この例では、コネクション負荷設定値は１０００なので、設定コネクション数は、１００、２００、３００、・・・、１０００と記載される。
【０１５３】
さらに、実コネクションの数を４００としたので、実コネクション数には０ｓから９０ｓに渡って４００と記載される。
また、擬似コネクションの数は６００であり、コネクション負荷設定値を１０％ずつ上昇させるので、擬似コネクション数は、１００、２００、３００、・・・、６００と記載される。
【０１５４】
ただし、０ｓから３０ｓまでは４００本の実コネクションがコネクション負荷としてそのまま使用されるので、０ｓから３０ｓまでの擬似コネクション数は、０と記載される。そして、４０ｓから９０ｓまでの擬似コネクション数に対して、１００、２００、３００、・・・、６００と記載される。合計コネクション数は、実コネクション数の値と擬似コネクション数の値との合計値になる。
【０１５５】
上記の負荷上昇変動管理テーブル１４０は、段階的にコネクション負荷を上昇していく途中でアラームの発生がなく、合計コネクション数が当初目標のコネクション負荷設定値に達した場合の状態を示している。したがって、９０ｓ後にサーバ３０に対して１０００本のコネクションによるコネクション負荷が与えられることになる。
【０１５６】
図３２は、負荷上昇変動管理テーブルの一例を示す図である。負荷上昇変動管理テーブル１４０−１は、段階的にコネクション負荷を上昇していく途中でアラームが発生し、合計コネクション数が当初目標のコネクション負荷設定値に達しない場合の状態を示している。
【０１５７】
この例では、コネクション負荷上昇の途中の５５ｓ後の設定コネクション数が６００のときに、通信性能評価部１３がアラームを検知したとする（すなわち、評価算出値がアラーム閾値を超える）。この場合、５５ｓの時刻でコネクション負荷上昇が停止され、さらに、コネクション負荷設定値の１０％削減がおこなわれる。
【０１５８】
したがって、５５ｓ以降は、擬似コネクション数は１００になるので、合計コネクション数が６００から５００に削減されて、コネクション負荷が５００でコネクション負荷上昇は停止することになる。
【０１５９】
なお、サーバ３０に与えるべきコネクション数がコネクション負荷設定値＝１０００に届かずに５００本のコネクション負荷で停止したことや、アラーム検出の内容などは、ユーザインタフェース部１６を通じてユーザに通知される。
【０１６０】
次に、擬似コネクション数を減少させる場合の通信試験について図３３、図３４を用いて説明する。図３３は、通信試験の実行中に新規の実コネクションが発生した場合の実運用環境を示す図である。実運用環境２００ｂは、コネクション負荷設定値＝１０００でコネクション負荷を与える通信試験を実行しているときに（図２７に示した実運用環境２００ａ）、新たな１台のクライアントＡが接続し、実コネクションが１つ増加した状態を示している。
【０１６１】
〔ステップＳ１０１〕クライアントＡは、ＴＣＰ接続要求のＳＹＮパケットを、通信試験装置１０を介してサーバ３０へ送信する。
〔ステップＳ１０２〕通信試験装置１０内のコネクション数管理部１４ａは、クライアントＡから送信されたＳＹＮパケットを検知して、新規の実コネクションの確立要求が発生したことを認識する。
【０１６２】
〔ステップＳ１０３〕擬似コネクション追加／削除依頼部１４ｂは、擬似クライアント通信制御部１５に対して、擬似コネクションの削除依頼を送信する。
〔ステップＳ１０４〕擬似クライアント通信制御部１５は、擬似クライアントの切断処理をおこなう（切断対象擬似クライアントの対応するＴＣＰソケットをシャットダウンする）。
【０１６３】
〔ステップＳ１０５〕擬似クライアントの切断処理により、切断要求（ＦＩＮ）がサーバ３０に送信され、通信試験装置１０とサーバ３０との間で、擬似コネクションの切断シーケンスが実行される。
【０１６４】
図３４は、擬似コネクションの数が削除された実運用環境を示す図である。上記の切断処理完了後、実運用環境２００ｃでは、擬似コネクション数＝５９９、実コネクション数＝４０１となり、コネクション負荷設定値通りのコネクション数（１０００）で通信試験をおこなうことができる。
【０１６５】
このように、コネクション負荷を与える通信試験の実行中に新規の実コネクションが発生した場合、通信試験装置は、擬似コネクションを減少させて、コネクション本数がコネクション負荷設定値を超えないように制御する。
【０１６６】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、通信試験装置１０が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１６７】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１６８】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１６９】
また、上記の処理機能の少なくとも一部を、ＤＳＰ、ＡＳＩＣ、ＰＬＤなどの電子回路で実現することもできる。
【符号の説明】
【０１７０】
１  通信試験装置
１ａ  モニタ部
１ｂ  制御部
２０ｇ  クライアント群
２１、２２、２３  クライアント
３０  サーバ
Ｃｓ  実コネクション
Ｃｐ  擬似コネクション
【図１】
2018073026.tif 000003
【図２】
2018073026.tif 000004
【図３】
2018073026.tif 000005
【図４】
2018073026.tif 000006
【図５】
2018073026.tif 000007
【図６】
2018073026.tif 000008
【図７】
2018073026.tif 000009
【図８】
2018073026.tif 000010
【図９】
2018073026.tif 000011
【図１０】
2018073026.tif 000012
【図１１】
2018073026.tif 000013
【図１２】
2018073026.tif 000014
【図１３】
2018073026.tif 000015
【図１４】
2018073026.tif 000016
【図１５】
2018073026.tif 000017
【図１６】
2018073026.tif 000018
【図１７】
2018073026.tif 000019
【図１８】
2018073026.tif 000020
【図１９】
2018073026.tif 000021
【図２０】
2018073026.tif 000022
【図２１】
2018073026.tif 000023
【図２２】
2018073026.tif 000024
【図２３】
2018073026.tif 000025
【図２４】
2018073026.tif 000026
【図２５】
2018073026.tif 000027
【図２６】
2018073026.tif 000028
【図２７】
2018073026.tif 000029
【図２８】
2018073026.tif 000030
【図２９】
2018073026.tif 000031
【図３０】
2018073026.tif 000032
【図３１】
2018073026.tif 000033
【図３２】
2018073026.tif 000034
【図３３】
2018073026.tif 000035
【図３４】
2018073026.tif 000036