JP2013257823A - シミュレーション装置 - Google Patents
シミュレーション装置 Download PDFInfo
- Publication number
- JP2013257823A JP2013257823A JP2012134847A JP2012134847A JP2013257823A JP 2013257823 A JP2013257823 A JP 2013257823A JP 2012134847 A JP2012134847 A JP 2012134847A JP 2012134847 A JP2012134847 A JP 2012134847A JP 2013257823 A JP2013257823 A JP 2013257823A
- Authority
- JP
- Japan
- Prior art keywords
- data
- server
- unit
- client application
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】従来は、クライアントアプリケーション(クライアントという)とサーバ間データをキャプチャし、再生して、複数のクライアントを模擬するが、異常時の動作が非公開で、クライアントとサーバの仕様が不明だと、キャプチャしたデータが不十分の際、模擬クライアントに対するサーバから未知データ送信に対応できない。
【解決手段】クライアントとサーバ通信を、データキャプチャ・データ送受信部で送受信パターン毎にキャプチャし、キャプチャデータ蓄積部に蓄積、この蓄積データをクライアント模擬部で模擬台数分複製しセッション番号を付しサーバに送信してクライアントを模擬し、サーバかの送信データが、キャプチャ済みか否かを判定するデータ解析部の結果で、送信データに、未知の応答データ発生時、セッション書換部で未知応答データのセッションをクライアントに動的に割り当てる。
【選択図】図1
【解決手段】クライアントとサーバ通信を、データキャプチャ・データ送受信部で送受信パターン毎にキャプチャし、キャプチャデータ蓄積部に蓄積、この蓄積データをクライアント模擬部で模擬台数分複製しセッション番号を付しサーバに送信してクライアントを模擬し、サーバかの送信データが、キャプチャ済みか否かを判定するデータ解析部の結果で、送信データに、未知の応答データ発生時、セッション書換部で未知応答データのセッションをクライアントに動的に割り当てる。
【選択図】図1
Description
この発明は、クライアント・サーバシステムにおいて、多数のクライアントアプリケーションと接続され通信を行うサーバを検証するためのシミュレーション装置に関するものである。
クライアント・サーバシステムにおいて、サーバを検証するために、複数のクライアントアプリケーションと通信を行う必要がある。サーバが処理する内容によっては、数千台〜数万台単位のクライアントアプリケーションが必要となることも多い。上記ケースにおいて、サーバの検証のために多数のクライアントアプリケーションを用意することは現実的ではない。そのため、多数のクライアントアプリケーションを模擬する手法が必要となる。
多数のクライアントアプリケーションを模擬する手法の1つとしてクライアントアプリケーションからの入力をキャプチャし、キャプチャしたデータを繰り返して送信を行うことで多数のクライアントアプリケーションを模擬する手法が、例えば特開2003-140988号公報に開示されている。特開2003-140988号公報ではキャプチャしたデータのアドレス・ユーザ名・クライアント名を書き換えてデータを送信することで、サーバに対して複数のクライアントアプリケーションに見せかける方式が公開されている。
多数のクライアントアプリケーションを模擬する手法の1つとしてクライアントアプリケーションからの入力をキャプチャし、キャプチャしたデータを繰り返して送信を行うことで多数のクライアントアプリケーションを模擬する手法が、例えば特開2003-140988号公報に開示されている。特開2003-140988号公報ではキャプチャしたデータのアドレス・ユーザ名・クライアント名を書き換えてデータを送信することで、サーバに対して複数のクライアントアプリケーションに見せかける方式が公開されている。
また、キャプチャに関連して、サーバとクライアントアプリケーション間のデータを送受信のパターンごとにキャプチャし、キャプチャしたデータを繰り返し送信することで、複数のデータ送受信パターンを再現する技術が例えば、特開2003-283564号公報に公開されている。
上記の2つの技術を組み合わせることで、複数のパターンの動作が可能なクライアントアプリケーションを模擬することができる。
上記の2つの技術を組み合わせることで、複数のパターンの動作が可能なクライアントアプリケーションを模擬することができる。
従来は、クライアントアプリケーションとサーバとの間のデータをキャプチャし、再生することで、複数のクライアントアプリケーションを模擬することができた。しかしながら、現実的な問題として、バイナリのみで提供されているクライアントアプリケーションやサーバの中には、正常時の動作のみ公開されており、異常時の動作については詳細に公開されていないものも存在する。
クライアントアプリケーションとサーバの仕様が十分に分からない場合、キャプチャしたデータが十分か否か(正常か異常か)分からない。そのため、キャプチャしたデータが不十分の際に、模擬クライアントアプリケーションに対してサーバから未知のデータ送信があると、キャプチャデータだけでは対応できないという問題があった。特に多数のクライアントアプリケーションを模擬した場合、負荷の少ない状況でキャプチャしたデータだけでは対応できないような異常動作が発生する可能性が高い。
この発明は上記のような問題点を解決するためになされたもので、未知の異常動作にも対応すること及び異常動作により発生するデータを効率的収集することを目的とする。
クライアントアプリケーションとサーバの仕様が十分に分からない場合、キャプチャしたデータが十分か否か(正常か異常か)分からない。そのため、キャプチャしたデータが不十分の際に、模擬クライアントアプリケーションに対してサーバから未知のデータ送信があると、キャプチャデータだけでは対応できないという問題があった。特に多数のクライアントアプリケーションを模擬した場合、負荷の少ない状況でキャプチャしたデータだけでは対応できないような異常動作が発生する可能性が高い。
この発明は上記のような問題点を解決するためになされたもので、未知の異常動作にも対応すること及び異常動作により発生するデータを効率的収集することを目的とする。
この発明に係るシミュレーション装置は、
クライアントアプリケーションとサーバの通信を、送受信のパターンごとにキャプチャするデータキャプチャ・データ送受信部と、データキャプチャ・データ送受信部でキャプチャされたデータを蓄積するキャプチャデータ蓄積部と、キャプチャデータ蓄積部に蓄積されたデータを模擬台数分複製してセッション番号を付しサーバに送信して、多数のクライアントアプリケーションを模擬するクライアントアプリケーション模擬部、クライアントアプリケーション及びサーバから送信されるデータを監視し、キャプチャ済みのデータか否かを判定するデータ解析部、データ解析部の解析結果に基づき、サーバから送信されるデータに、まだキャプチャされていない未知の応答データが発生したとき、その未知の応答データのセッションをクライアントアプリケーションに動的に割り当てる、セッション書換部を備える。
クライアントアプリケーションとサーバの通信を、送受信のパターンごとにキャプチャするデータキャプチャ・データ送受信部と、データキャプチャ・データ送受信部でキャプチャされたデータを蓄積するキャプチャデータ蓄積部と、キャプチャデータ蓄積部に蓄積されたデータを模擬台数分複製してセッション番号を付しサーバに送信して、多数のクライアントアプリケーションを模擬するクライアントアプリケーション模擬部、クライアントアプリケーション及びサーバから送信されるデータを監視し、キャプチャ済みのデータか否かを判定するデータ解析部、データ解析部の解析結果に基づき、サーバから送信されるデータに、まだキャプチャされていない未知の応答データが発生したとき、その未知の応答データのセッションをクライアントアプリケーションに動的に割り当てる、セッション書換部を備える。
この発明に係るシミュレーション装置によれば、
データ解析部がクライアントアプリケーション及びサーバからの送信データを監視して、キャプチャ済みのデータか否かを判定し、データ解析部の解析結果に基づき、まだキャプチャされていない未知の受信データが発生したセッションをセッション情報書換部により、クライアントとセッションの対応関係を動的に書換えるようにしているので、サーバから未知のデータを受信した際は、そのセッションをクライアントアプリケーションに割り当てることで、未知データに対応した応答を返すことができ、また未知データ受信時におけるメッセージ送受信の順序である送受信パターンをキャプチャすることが可能であるという効果がある。
データ解析部がクライアントアプリケーション及びサーバからの送信データを監視して、キャプチャ済みのデータか否かを判定し、データ解析部の解析結果に基づき、まだキャプチャされていない未知の受信データが発生したセッションをセッション情報書換部により、クライアントとセッションの対応関係を動的に書換えるようにしているので、サーバから未知のデータを受信した際は、そのセッションをクライアントアプリケーションに割り当てることで、未知データに対応した応答を返すことができ、また未知データ受信時におけるメッセージ送受信の順序である送受信パターンをキャプチャすることが可能であるという効果がある。
実施の形態1.
以下、図を参照にこの発明の実施の形態を説明する。
図1はこの発明の実施の形態1を示す全体構成図であり、シミュレーション装置10とサーバ11を備えている。
図1において、シミュレーション装置10は、シミュレーション対象であるクライアントアプリケーション101、クライアントアプリケーション101とサーバ11間のデータの送受信をキャプチャするデータキャプチャ・データ送受信部102、キャプチャしたデータを蓄積するキャプチャデータ蓄積部103、キャプチャデータ蓄積部103に蓄積されたデータを複製し、例えば図2に示すセッション情報を区分するセッション番号を付与して複数のクライアントアプリケーションのデータに見せかけ、クライアントアプリケーション101と同様のメッセージ送受信をサーバ11と行うクライアントアプリケーション模擬部104を備える。ここで、サーバ11とクライアントアプリケーション101の間にデータ送受信用に作られる接続状態をセッションと呼び、セッション情報とはセッションを区別するための情報で、アドレス、ポート番号、ユーザ名、クライアント名といったクライアント毎の固有の情報であり、1の単位のセッション情報には図2に示すような対応セッション番号が付与され、単位毎のセッション情報を区分する。
また、クライアントアプリケーション模擬部104でサーバ11と通信し、セッションに割り当てられているクライアントアプリケーションを模擬クライアントアプリケーションと呼ぶ。
以下、図を参照にこの発明の実施の形態を説明する。
図1はこの発明の実施の形態1を示す全体構成図であり、シミュレーション装置10とサーバ11を備えている。
図1において、シミュレーション装置10は、シミュレーション対象であるクライアントアプリケーション101、クライアントアプリケーション101とサーバ11間のデータの送受信をキャプチャするデータキャプチャ・データ送受信部102、キャプチャしたデータを蓄積するキャプチャデータ蓄積部103、キャプチャデータ蓄積部103に蓄積されたデータを複製し、例えば図2に示すセッション情報を区分するセッション番号を付与して複数のクライアントアプリケーションのデータに見せかけ、クライアントアプリケーション101と同様のメッセージ送受信をサーバ11と行うクライアントアプリケーション模擬部104を備える。ここで、サーバ11とクライアントアプリケーション101の間にデータ送受信用に作られる接続状態をセッションと呼び、セッション情報とはセッションを区別するための情報で、アドレス、ポート番号、ユーザ名、クライアント名といったクライアント毎の固有の情報であり、1の単位のセッション情報には図2に示すような対応セッション番号が付与され、単位毎のセッション情報を区分する。
また、クライアントアプリケーション模擬部104でサーバ11と通信し、セッションに割り当てられているクライアントアプリケーションを模擬クライアントアプリケーションと呼ぶ。
さらに、サーバ11とクライアントアプリケーション101の間で送受信されたデータを解析するデータ解析部105、内部的に各クライアント(クライアントアプリケーション、模擬クライアントアプリケーション)と実際にサーバ11と通信を行なっているセッションの対応関係を保持し、解析されたデータに基づいてクライアントアプリケーション101がサーバ11と通信を行なっているセッション情報を動的に書き換えるセッション情報書換部106、シミュレーション装置10とサーバ11とのデータ送受信を行うサーバ通信部107を備える。
次に動作について図3を参照し説明する。
図3は本実施の形態1における動作シーケンスである。まず、クライアントアプリケーション101がサーバ11に接続データを送信しサーバ11と接続する(S1001)。次に、クライアントアプリケーション模擬部104がサーバ11に接続データを送信しサーバ11と接続する(S1002)。この際、クライアントアプリケーション模擬部104は多数のクライアントアプリケーションを模擬するため、キャプチャデータ蓄積部103に蓄積され、キャプチャされたデータを複製し多数の接続データをセッション番号を付してサーバ11に送信する。
図3は本実施の形態1における動作シーケンスである。まず、クライアントアプリケーション101がサーバ11に接続データを送信しサーバ11と接続する(S1001)。次に、クライアントアプリケーション模擬部104がサーバ11に接続データを送信しサーバ11と接続する(S1002)。この際、クライアントアプリケーション模擬部104は多数のクライアントアプリケーションを模擬するため、キャプチャデータ蓄積部103に蓄積され、キャプチャされたデータを複製し多数の接続データをセッション番号を付してサーバ11に送信する。
接続が終わったクライアント(クライアントアプリケーション、模擬クライアントアプリケーション)はサーバ11と通信を開始する(S1003)。サーバ11から送信されたデータは、サーバ通信部107で受信(S1004)され、データ解析部105に送信される。データ解析部105ではサーバ11からサーバ通信部107を介して送信されたデータが、既にデータキャプチャ・データ送受信部102においてキャプチャ済みのデータであり、キャプチャデータ蓄積部103に蓄積済みか否かが判断される(S1005)。既にキャプチャ済みのデータである場合、その際のクライアントアプリケーション101の応答もキャプチャ済みであるため、そのままのセッション情報でデータを送信する(クライアントアプリケーション101に向けてのデータはクライアントアプリケーション101に、模擬クライアントアプリケーションに向けてのデータはクライアントアプリケーション模擬部104に送信する)(S1009)。
もしデータ解析部105によるデータ解析の結果、データキャプチャ・データ送受信部102においてキャプチャされておらず、キャプチャデータ蓄積部103に蓄積されていない未知のデータである場合、それが模擬クライアントアプリケーションに向けて送信されたデータであってもセッション情報書換部106にて、クライアントアプリケーション101に向けてデータを送信するよう、クライントとセッションの対応関係を書換える(S1006)。また、送信されたデータのセッション情報もクライアントが受信可能なように書き換え、クライアントアプリケーション101に対してデータを送信する。
サーバ11から送信されたデータが、データ解析部105でのデータ解析の結果による未知のデータは、セッション情報書換部106にて、クライント(クライアントアプリケーション、模擬クライアントアプリケーション)とセッションの対応関係およびセッション情報が書き換えられ、データキャプチャ・データ送受信部102でキャプチャされる(S1007)。また、サーバ11から送信されたデータに対してクライアントアプリケーション101から応答があれば、そのデータもサーバ11からの送信データに対応付けられてデータキャプチャ・データ送受信部102でキャプチャ(S1008)され、キャプチャデータ蓄積部103に保持される。
次いで、データキャプチャ・データ送受信部102にて、サーバ11からの送信データまたはクライアントアプリケーション101から応答があるか否かを検出してシミュレーションが継続中か、否かを判断し(S1010)、シミュレーションが継続中であれば、S1003に戻って一連の処理を続行し、継続中でなければ終了する。
次いで、データキャプチャ・データ送受信部102にて、サーバ11からの送信データまたはクライアントアプリケーション101から応答があるか否かを検出してシミュレーションが継続中か、否かを判断し(S1010)、シミュレーションが継続中であれば、S1003に戻って一連の処理を続行し、継続中でなければ終了する。
以上のように実施の形態1においては、セッション情報書換部106により、クライアントとセッションの対応関係を動的に書換えるようにしているので、サーバ11から未知のデータを受信した際は、そのセッションをクライアントアプリケーション101に割り当てることで、未知データに対応した応答を返すことができ、また未知データ受信時におけるメッセージ送受信の順序である送受信パターンをキャプチャすることが可能であるという効果がある。
実施の形態2.
実施の形態2ではクライアントアプリケーション101が内部状態を持ち、メッセージ送受信の順序であるデータの送受信パターンが重要となる場合について述べる。内部状態とは、クライアントアプリケーション内部で保持されている状態変数のことであり、入出力されるメッセージや経過時間により変化する。特定の状態の場合でのみ受け付けることができるメッセージが存在する。
図4は実施の形態2における全体構成図である。実施の形態2における構成は、図1に示す実施の形態1の構成に加え、データキャプチャ・データ送受信部102が検知したクライアントアプリケーション101がデータをサーバ11に送信するタイミングに合わせ、クライアントアプリケーション模擬部104からデータをサーバ11に送信する様に制御するタイミング制御部108を持つ。
実施の形態2ではクライアントアプリケーション101が内部状態を持ち、メッセージ送受信の順序であるデータの送受信パターンが重要となる場合について述べる。内部状態とは、クライアントアプリケーション内部で保持されている状態変数のことであり、入出力されるメッセージや経過時間により変化する。特定の状態の場合でのみ受け付けることができるメッセージが存在する。
図4は実施の形態2における全体構成図である。実施の形態2における構成は、図1に示す実施の形態1の構成に加え、データキャプチャ・データ送受信部102が検知したクライアントアプリケーション101がデータをサーバ11に送信するタイミングに合わせ、クライアントアプリケーション模擬部104からデータをサーバ11に送信する様に制御するタイミング制御部108を持つ。
次に動作について実施の形態1と異なる動作について述べる。
図5は実施の形態2における動作シーケンスである。クライアントアプリケーション101が最初にデータを送信する(S1003) 際に、タイミング制御部108によってそれを検知し、クライアントアプリケーション模擬部104から多数のクライアントアプリケーションを模擬し、セッション情報のみを書き換えた多数のデータをサーバ11送信する(S1011)。サーバ11からの応答のうち、データ解析部105の解析結果で、既にデータキャプチャ・データ送受信部102においてキャプチャ済みのデータで既知のものは送付されたものから順に、クライアントアプリケーション模擬部104に送信されるよう、セッション情報書換部106にてセッション情報を書換える。データ解析部105の解析結果で、データキャプチャ・データ送受信部102においてキャプチャされておらず、キャプチャデータ蓄積部103に蓄積されていない未知のデータの応答があった場合は、クライアントアプリケーション101に送信するようにセッション情報書換部106によりセッション情報を書換える(S1006) 。
図5は実施の形態2における動作シーケンスである。クライアントアプリケーション101が最初にデータを送信する(S1003) 際に、タイミング制御部108によってそれを検知し、クライアントアプリケーション模擬部104から多数のクライアントアプリケーションを模擬し、セッション情報のみを書き換えた多数のデータをサーバ11送信する(S1011)。サーバ11からの応答のうち、データ解析部105の解析結果で、既にデータキャプチャ・データ送受信部102においてキャプチャ済みのデータで既知のものは送付されたものから順に、クライアントアプリケーション模擬部104に送信されるよう、セッション情報書換部106にてセッション情報を書換える。データ解析部105の解析結果で、データキャプチャ・データ送受信部102においてキャプチャされておらず、キャプチャデータ蓄積部103に蓄積されていない未知のデータの応答があった場合は、クライアントアプリケーション101に送信するようにセッション情報書換部106によりセッション情報を書換える(S1006) 。
実施の形態3.
前記の実施の形態2では、クライアントアプリケーション101が内部状態を持ち、データの送受信パターンが重要となる場合について述べたが、実施の形態3ではサーバ11から未知のデータの応答が複数ある場合について述べる。
図6はこの発明の実施の形態3を示す全体構成図である。実施の形態3の構成は、図4に示す実施の形態2の構成に加え複数のクライアントアプリケーション101A〜101Cが動作している。また、それぞれのライアントアプリケーション101A〜101Cとサーバ11との通信を行なっているセッションの現在までのそれぞれのメッセージ送受信の順序である送受信パターンを管理する送受信パターン管理部109を備えている。
前記の実施の形態2では、クライアントアプリケーション101が内部状態を持ち、データの送受信パターンが重要となる場合について述べたが、実施の形態3ではサーバ11から未知のデータの応答が複数ある場合について述べる。
図6はこの発明の実施の形態3を示す全体構成図である。実施の形態3の構成は、図4に示す実施の形態2の構成に加え複数のクライアントアプリケーション101A〜101Cが動作している。また、それぞれのライアントアプリケーション101A〜101Cとサーバ11との通信を行なっているセッションの現在までのそれぞれのメッセージ送受信の順序である送受信パターンを管理する送受信パターン管理部109を備えている。
次に動作について述べる。
実施の形態2と同様に、タイミング制御部108によってクライアントアプリケーション101A〜101Cの何れかが最初にデータをサーバ11に送信するタイミングに合わせクライアントアプリケーション模擬部104は、クライアントアプリケーション101A〜101Cの送信データをサーバ11を検証するために模擬する模擬クライアントアプリケーション分複製した模擬クライアントアプリケーションのデータをサーバ11に送信する。この時、複数あるクライアントアプリケーション101A〜101Cは、クライアントアプリケーション模擬部104が全データを送信している間に、全てのクライアントアプリケーション101A〜101Cがデータをサーバ11に送信するものとする。そして、クライアントアプリケーション101A〜101Cから送信するデータに対してサーバ11から複数種類の未知データの応答が返却された場合、それぞれの種類のデータ送受信を異なるクライアントアプリケーションに割り当てる。この際、それぞれの種類のデータ送受信を異なるクライアントアプリケーションに割り当てることで、それぞれのクライアントアプリケーションの送受信パターンが変わる。2回目以降のデータ送受信における送受信パターンは送受信パターン管理部109によって管理されているため、それぞれのクライアントアプリケーションと同一の送受信パターンの応答が割り当てられる。
このようすることで、複数種類の未知の送受信パターンに対応することができる。
実施の形態2と同様に、タイミング制御部108によってクライアントアプリケーション101A〜101Cの何れかが最初にデータをサーバ11に送信するタイミングに合わせクライアントアプリケーション模擬部104は、クライアントアプリケーション101A〜101Cの送信データをサーバ11を検証するために模擬する模擬クライアントアプリケーション分複製した模擬クライアントアプリケーションのデータをサーバ11に送信する。この時、複数あるクライアントアプリケーション101A〜101Cは、クライアントアプリケーション模擬部104が全データを送信している間に、全てのクライアントアプリケーション101A〜101Cがデータをサーバ11に送信するものとする。そして、クライアントアプリケーション101A〜101Cから送信するデータに対してサーバ11から複数種類の未知データの応答が返却された場合、それぞれの種類のデータ送受信を異なるクライアントアプリケーションに割り当てる。この際、それぞれの種類のデータ送受信を異なるクライアントアプリケーションに割り当てることで、それぞれのクライアントアプリケーションの送受信パターンが変わる。2回目以降のデータ送受信における送受信パターンは送受信パターン管理部109によって管理されているため、それぞれのクライアントアプリケーションと同一の送受信パターンの応答が割り当てられる。
このようすることで、複数種類の未知の送受信パターンに対応することができる。
実施の形態4.
実施の形態1では、クライアントアプリケーション101が例えばセンタにあるサーバ11に直接接続する際に動作するものであるが、次に動作が分かっている端末が、正常動作は分っているが異常時の動作は未知のGW(Gateway)を通過してセンタのサーバ11に対してデータを送信する場合の実施の形態を示す。これは、動作仕様が完全に分かっているセンサ端末であるアプリケーション101がデータを吸い出し、中継器であるGWを通してセンタのサーバ11に対してデータを送信するような状況を想定している。
図7は実施の形態4における全体構成図である。図1におけるクライアントアプリケーションの代わりにGWアプリケーション1010が、クライアントアプリケーション模擬部104代わりにGWアプリケーション模擬部109が存在し、さらに端末模擬部1011を備える。なお、GWアプリケーション1010はクライアントアプリケーション101がサーバ11に対して送信するデータを中継器であるGWを介して送信する構成とされたものである。
本実施の形態では端末模擬部1011が端末模擬機能を使用することで、GWアプリケーション1010を制御することができる。
実施の形態1では、クライアントアプリケーション101が例えばセンタにあるサーバ11に直接接続する際に動作するものであるが、次に動作が分かっている端末が、正常動作は分っているが異常時の動作は未知のGW(Gateway)を通過してセンタのサーバ11に対してデータを送信する場合の実施の形態を示す。これは、動作仕様が完全に分かっているセンサ端末であるアプリケーション101がデータを吸い出し、中継器であるGWを通してセンタのサーバ11に対してデータを送信するような状況を想定している。
図7は実施の形態4における全体構成図である。図1におけるクライアントアプリケーションの代わりにGWアプリケーション1010が、クライアントアプリケーション模擬部104代わりにGWアプリケーション模擬部109が存在し、さらに端末模擬部1011を備える。なお、GWアプリケーション1010はクライアントアプリケーション101がサーバ11に対して送信するデータを中継器であるGWを介して送信する構成とされたものである。
本実施の形態では端末模擬部1011が端末模擬機能を使用することで、GWアプリケーション1010を制御することができる。
次に動作について示す。
GWアプリケーション1010が送信したデータに対してサーバ11が、2種類以上の異常なデータを応答した場合、即ち、複数のセッションに対して異常動作が発生した場合に、端末模擬部1011が2種類目以降の異常データのメッセージをペンディングし、最初の異常なデータの処理後、GWアプリケーション1010に対して、同一のメッセージのデータをサーバ11に対して送信させ、その直後にサーバ11が2種類目以降の異常データを送信することで、より多くの異常状態をキャプチャすることができる。
GWアプリケーション1010が送信したデータに対してサーバ11が、2種類以上の異常なデータを応答した場合、即ち、複数のセッションに対して異常動作が発生した場合に、端末模擬部1011が2種類目以降の異常データのメッセージをペンディングし、最初の異常なデータの処理後、GWアプリケーション1010に対して、同一のメッセージのデータをサーバ11に対して送信させ、その直後にサーバ11が2種類目以降の異常データを送信することで、より多くの異常状態をキャプチャすることができる。
実施の形態5.
前記の実施の形態4では、端末のクライアントアプリケーション101が異常時の動作が未知のGWを介してサーバ11へデータを送信する場合のものであるが、GWとサーバ11が通信を行うプロトコルが分かっている場合に、異常を自発的に発生させる機能を追加することで、より多くの異常状態をキャプチャすることができる。
図8は実施の形態5における全体構成図である。本実施の形態では図7に示す構成に加えサーバ通信部107にエラーを注入する異常注入部1012が存在する。異常注入部は設定により次の動作のうち1つを行う。
・既存データがサーバ11から送信された場合に、それを消失させる。
・再送が存在するプロトコルの場合に、サーバ11から一度送信されたデータを、一定時間遅延させて再送する。
・既存データがGWクライアントアプリケーションから送信された場合に、それを消失させる。
・再送が存在するプロトコルの場合にGWクライアントアプリケーションから送信されたデータを、一定時間遅延させて再送する。
前記の実施の形態4では、端末のクライアントアプリケーション101が異常時の動作が未知のGWを介してサーバ11へデータを送信する場合のものであるが、GWとサーバ11が通信を行うプロトコルが分かっている場合に、異常を自発的に発生させる機能を追加することで、より多くの異常状態をキャプチャすることができる。
図8は実施の形態5における全体構成図である。本実施の形態では図7に示す構成に加えサーバ通信部107にエラーを注入する異常注入部1012が存在する。異常注入部は設定により次の動作のうち1つを行う。
・既存データがサーバ11から送信された場合に、それを消失させる。
・再送が存在するプロトコルの場合に、サーバ11から一度送信されたデータを、一定時間遅延させて再送する。
・既存データがGWクライアントアプリケーションから送信された場合に、それを消失させる。
・再送が存在するプロトコルの場合にGWクライアントアプリケーションから送信されたデータを、一定時間遅延させて再送する。
このように異常注入部1012は既存データを消失,複製させることでエラーを注入する。データキャプチャ・データ送受信部102では、異常注入部1012により発生したエラーデータ及び、その際のGWクライアントアプリケーションが送信するデータをキャプチャする。
こうすることで、GWクライアントアプリケーション1010とサーバ11との通信において発生しうる異常状態のより多くを模擬することができる。
なお、実施の形態1の構成を示す図1におけるサーバ通信部107にこの実施の形態における異常注入部1012の出力を入力させ、既存データを消失、複製させることでエラーを注入する構成としてもよい。
このように構成することで、データキャプチャ・データ送受信部102では、異常注入部1012により発生したエラーデータ及び、その際のGWクライアントアプリケーションが送信するデータをキャプチャすることができ、GWクライアントアプリケーション1010とサーバ11との通信において発生しうる異常状態のより多くを模擬することができる。
こうすることで、GWクライアントアプリケーション1010とサーバ11との通信において発生しうる異常状態のより多くを模擬することができる。
なお、実施の形態1の構成を示す図1におけるサーバ通信部107にこの実施の形態における異常注入部1012の出力を入力させ、既存データを消失、複製させることでエラーを注入する構成としてもよい。
このように構成することで、データキャプチャ・データ送受信部102では、異常注入部1012により発生したエラーデータ及び、その際のGWクライアントアプリケーションが送信するデータをキャプチャすることができ、GWクライアントアプリケーション1010とサーバ11との通信において発生しうる異常状態のより多くを模擬することができる。
実施の形態6.
実施の形態5では、異常注入部1012でデータの消失および複製を模擬することで異常を発生させていた。実施の形態6は、端末の動作すべてを模擬できる端末異常注入部1013を新たに備え、端末模擬部1011が送信するデータにエラーを発生させ、GWアプリケーション1010からサーバ11に異常のデータを送信する構成にする。
図9は実施の形態6における全体構成図である。実施の形態5に加え、端末異常挿入部1013を持つ。
実施の形態5では、異常注入部1012でデータの消失および複製を模擬することで異常を発生させていた。実施の形態6は、端末の動作すべてを模擬できる端末異常注入部1013を新たに備え、端末模擬部1011が送信するデータにエラーを発生させ、GWアプリケーション1010からサーバ11に異常のデータを送信する構成にする。
図9は実施の形態6における全体構成図である。実施の形態5に加え、端末異常挿入部1013を持つ。
次に動作について述べる。
異常を発生させる際に、端末異常挿入部1013において、端末模擬部1011から送信されるデータのペイロードに異常なデータを挿入する。そのデータをGWアプリケーション1010に入力することで、GWアプリケーション1010から端末、即ちクライアントアプリケーションの状態が異常であるデータを送信する。
こうすることで、クライアントアプリケーションからの異常データを受け取った際の、サーバ11とGWのデータの送受信パターンをキャプチャすることができる。
異常を発生させる際に、端末異常挿入部1013において、端末模擬部1011から送信されるデータのペイロードに異常なデータを挿入する。そのデータをGWアプリケーション1010に入力することで、GWアプリケーション1010から端末、即ちクライアントアプリケーションの状態が異常であるデータを送信する。
こうすることで、クライアントアプリケーションからの異常データを受け取った際の、サーバ11とGWのデータの送受信パターンをキャプチャすることができる。
この発明は、サーバが多数のクライアントアプリケーションと接続され通信を行うクライアント・サーバシステムにおいて、サーバを検証するためのシミュレーション装置に利用される可能性がある。
10;シミュレーション装置、11;サーバ、101、101A、101B、101C;クライアントアプリケーション、102;データキャプチャ・データ送受信部、103;キャプチャデータ蓄積部、104;クライアントアプリケーション模擬部、105;データ解析部、106;セッション情報書換部、107;サーバ通信部、108;タイミング制御部、109;送受信パターン管理部、1010;GWアプリケーション、1011;端末模擬部。
Claims (6)
- クライアントアプリケーションとサーバの通信を、送受信のパターンごとにキャプチャするデータキャプチャ・データ送受信部と、データキャプチャ・データ送受信部でキャプチャされたデータを蓄積するキャプチャデータ蓄積部と、キャプチャデータ蓄積部に蓄積されたデータを模擬台数分複写してセッション番号を付しサーバに送信して、多数のクライアントアプリケーションを模擬するクライアントアプリケーション模擬部、クライアントアプリケーション及びサーバから送信されるデータを監視し、キャプチャ済みのデータか否かを判定するデータ解析部、データ解析部の解析結果に基づき、サーバから送信されるデータに、まだキャプチャされていない未知の応答データが発生したとき、その未知の応答データのセッションをクライアントアプリケーションに動的に割り当てるセッション書換部を備えた特徴とするシミュレーション装置。
- クライアントアプリケーションとクラインアプリケーション模擬部がデータ送信する際に送信のタイミングを合わせるための送信タイミング制御部を備えたことを特徴とする請求項1に記載のシミュレーション装置。
- クライアントアプリケーションを複数備え、それぞれのクライアントアプリケーションとサーバとデータの送受信を行い、クライアントアプリケーションから送信するデータに対してサーバから複数種類の未知の応答データが返却される場合に、セッション書換部はそれぞれの種類の未知の応答データに該当するデータ送受信を異なるクライアントアプリケーションに割り当てることを特徴とする請求項2に記載のシミュレーション装置。
- クライアントアプリケーションとサーバとの通信時に、設定に従って、サーバから送信されたデータ及び、クライントアプリケーションから送信されたデータを消失・複製させ、エラー時の動作を自発的に発生させる異常注入部を備えたことを特徴とする請求項1に記載のシミュレーション装置。
- 動作仕様が完全に分かっているクライアントアプリケーションからの送信データを、正常動作のみ判明している中継機器であるGWを介してサーバーに送信する構成にされたGWアプリケーションと、このGWアプリケーションから送信したデータに対してサーバから複数種類の未知の応答データが返却される場合、2種類目以降の異常データのメッセージをペンディングし、最初の異常なデータの処理後、GWアプリケーションに対して、同一のメッセージのデータをサーバに対して送信させる端末模擬部を備えたことを特徴とする請求項1に記載のシミュレーション装置。
- 端末模擬部がGWアプリケーションがサーバに送信するデータのペイロードにエラーとなる内容を記述させる端末異常挿入部を備えたことをする請求項5に記載のシミュレーション装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012134847A JP2013257823A (ja) | 2012-06-14 | 2012-06-14 | シミュレーション装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012134847A JP2013257823A (ja) | 2012-06-14 | 2012-06-14 | シミュレーション装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013257823A true JP2013257823A (ja) | 2013-12-26 |
Family
ID=49954184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012134847A Pending JP2013257823A (ja) | 2012-06-14 | 2012-06-14 | シミュレーション装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013257823A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020101912A (ja) * | 2018-12-20 | 2020-07-02 | 楽天株式会社 | テスト支援装置、テスト支援方法、ならびに、プログラム |
JP7295541B1 (ja) | 2022-01-28 | 2023-06-21 | 株式会社インサイトテクノロジー | 情報処理システム、情報処理装置および情報処理方法、並びに、プログラム |
-
2012
- 2012-06-14 JP JP2012134847A patent/JP2013257823A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020101912A (ja) * | 2018-12-20 | 2020-07-02 | 楽天株式会社 | テスト支援装置、テスト支援方法、ならびに、プログラム |
JP7295541B1 (ja) | 2022-01-28 | 2023-06-21 | 株式会社インサイトテクノロジー | 情報処理システム、情報処理装置および情報処理方法、並びに、プログラム |
WO2023145794A1 (ja) * | 2022-01-28 | 2023-08-03 | 株式会社インサイトテクノロジー | 情報処理システム、情報処理装置および情報処理方法、並びに、プログラム |
JP2023110529A (ja) * | 2022-01-28 | 2023-08-09 | 株式会社インサイトテクノロジー | 情報処理システム、情報処理装置および情報処理方法、並びに、プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6832184B1 (en) | Intelligent work station simulation—generalized LAN frame generation simulation structure | |
CN101388800B (zh) | 对服务器的网络性能进行压力测试的方法、设备及系统 | |
CN103178996B (zh) | 分布式包交换芯片模型验证系统及验证方法 | |
CN110798471B (zh) | 空调管理方法及相关装置 | |
US20080168425A1 (en) | Software testing techniques for stack-based environments | |
US20140343915A1 (en) | Test environment configuration apparatus and method of operating network simulation apparatus using same | |
US10110556B2 (en) | Methods, systems, and computer readable media for initiating and executing performance tests of a private network and/or components thereof | |
CN106911648B (zh) | 一种环境隔离方法及设备 | |
CN101179456A (zh) | 一种网络设备测试方法及装置 | |
CN110677829B (zh) | 长期演进车到万物lte-v2x测试系统及测试方法 | |
CN110740077B (zh) | 基于网络抓包的拟态系统异构性测试系统、方法及装置 | |
CN113489603B (zh) | 一种网络靶场中交互式背景流量发生方法与系统 | |
CN107070752B (zh) | 一种长连接容量的测试方法及测试系统 | |
CN109450976A (zh) | 一种业务系统的访问的方法及装置 | |
CN104767655A (zh) | 一种模拟结果检测方法及装置 | |
US9800490B2 (en) | Testing by simulation using variations of real-time traffic | |
CN109818742A (zh) | 一种设备调试方法、装置及存储介质 | |
CN1980232A (zh) | 远程登录会话维护方法、远程登录代理和计算机网络系统 | |
CN111147285B (zh) | 一种云安全产品统一管理方法 | |
JP2013257823A (ja) | シミュレーション装置 | |
JP2014035595A (ja) | 通信システムの試験装置、通信システムの試験用プログラム及び通信システムの試験方法 | |
CN106878333B (zh) | 一种第三方认证方法、装置和应用系统服务器 | |
CN106875765B (zh) | 一种基于vdi的电子教室实现方法及装置 | |
CN102393887B (zh) | 基于lsm基制的应用集中管理系统及方法 | |
CN107294802A (zh) | 一种端对端性能测试系统 |