(57)【特許請求の範囲】
【請求項１】
第１の情報システムに送信された要求データを第２の情報システムに送信して、要求データに対する前記第２の情報システムの処理結果と前記第１の情報システムの処理結果とを照合して前記第２の情報システムの処理を検証する情報システム検証装置であって、
前記第１の情報システムに送信された、セッションの開始を要求するセッション開始要求データ及びセッションの終了を要求するセッション終了要求データを含む複数種の要求データの送信履歴が示される送信履歴情報を記憶する情報記憶部と、
前記送信履歴情報に示される送信履歴に基づき、少なくとも２つのセッションが少なくとも一部の時間において並行して進行するように、セッション開始要求データ及びセッション終了要求データを含む複数種の要求データの前記第２の情報システムへの送信スケジュールを決定する送信スケジュール決定部と、
複数種の要求データを前記第２の情報システムに送信する２つ以上のデータ送信制御部と、
前記送信スケジュール決定部により決定された送信スケジュールを解析して、単位時間当たりの前記第２の情報システムへの送信データ量を算出し、算出した単位時間当たりの送信データ量に基づき、２つ以上のデータ送信制御部のうち前記第２の情報システムへ要求データを送信するのに用いられるデータ送信制御部を選択し、選択したデータ送信制御部ごとの要求データの送信スケジュールを決定する送信スケジュール調整部とを有し、
各データ送信制御部は、
前記送信スケジュール調整部により選択された場合に、前記送信スケジュール調整部により決定された送信スケジュールに従って複数種の要求データを前記第２の情報システムに送信することを特徴とする情報システム検証装置。
【請求項２】
前記情報システム検証装置は、更に、
セッションが並行して進行する時間をオーバーラップ時間として指定するオーバーラップ時間指定部を有し、
前記送信スケジュール決定部は、
前記オーバーラップ時間指定部により指定されたオーバーラップ時間の間、少なくとも２つのセッションが並行して進行することになる送信スケジュールを決定することを特徴とする請求項１に記載の情報システム検証装置。
【請求項３】
前記情報記憶部は、
２つ以上のセッションにおいて前記第１の情報システムに送信された複数種の要求データの送信履歴が示される送信履歴情報を記憶し、
前記送信スケジュール決定部は、
前記送信履歴情報に示される要求データの順序を変更して、
前記第２の情報システムとの間に前記第１の情報システムでのセッション数と同数のセッションが設定され、少なくとも２つのセッションが少なくとも一部の時間において並行して進行することになる送信スケジュールを決定することを特徴とする請求項１又は２に記載の情報システム検証装置。
【請求項４】
コンピュータが、第１の情報システムに送信された要求データを第２の情報システムに送信して、要求データに対する前記第２の情報システムの処理結果と前記第１の情報システムの処理結果とを照合して前記第２の情報システムの処理を検証する情報システム検証方法であって、
前記コンピュータは、複数種の要求データを前記第２の情報システムに送信する２つ以上のデータ送信制御部を有しており、
前記情報システム検証方法は、
前記第１の情報システムに送信された、セッションの開始を要求するセッション開始要求データ及びセッションの終了を要求するセッション終了要求データを含む複数種の要求データの送信履歴が示される送信履歴情報を、前記コンピュータが所定の記憶領域から読み出す情報読み出しステップと、
前記コンピュータが、前記送信履歴情報に示される送信履歴に基づき、少なくとも２つのセッションが少なくとも一部の時間において並行して進行するように、セッション開始要求データ及びセッション終了要求データを含む複数種の要求データの前記第２の情報システムへの送信スケジュールを決定する送信スケジュール決定ステップと、
前記コンピュータが、前記送信スケジュール決定ステップにより決定された送信スケジュールを解析して、単位時間当たりの前記第２の情報システムへの送信データ量を算出し、算出した単位時間当たりの送信データ量に基づき、２つ以上のデータ送信制御部のうち前記第２の情報システムへ要求データを送信するのに用いられるデータ送信制御部を選択し、選択したデータ送信制御部ごとの要求データの送信スケジュールを決定する送信スケジュール調整ステップと、
前記コンピュータが、前記送信スケジュール調整ステップにより選択されたデータ送信制御部に、前記送信スケジュール調整ステップにより決定された送信スケジュールに従って複数種の要求データを前記第２の情報システムに送信させる送信ステップとを有することを特徴とする情報システム検証方法。
【請求項５】
第１の情報システムに送信された要求データを第２の情報システムに送信して、要求データに対する前記第２の情報システムの処理結果と前記第１の情報システムの処理結果とを照合して前記第２の情報システムの処理を検証する、複数種の要求データを前記第２の情報システムに送信する２つ以上のデータ送信制御部を有するコンピュータに、
前記第１の情報システムに送信された、セッションの開始を要求するセッション開始要求データ及びセッションの終了を要求するセッション終了要求データを含む複数種の要求データの送信履歴が示される送信履歴情報を、所定の記憶領域から読み出す情報読み出しステップと、
前記送信履歴情報に示される送信履歴に基づき、少なくとも２つのセッションが少なくとも一部の時間において並行して進行するように、セッション開始要求データ及びセッション終了要求データを含む複数種の要求データの前記第２の情報システムへの送信スケジュールを決定する送信スケジュール決定ステップと、
前記送信スケジュール決定ステップにより決定された送信スケジュールを解析して、単位時間当たりの前記第２の情報システムへの送信データ量を算出し、算出した単位時間当たりの送信データ量に基づき、２つ以上のデータ送信制御部のうち前記第２の情報システムへ要求データを送信するのに用いられるデータ送信制御部を選択し、選択したデータ送信制御部ごとの要求データの送信スケジュールを決定する送信スケジュール調整ステップと、
前記送信スケジュール調整ステップにより選択されたデータ送信制御部に、前記送信スケジュール調整ステップにより決定された送信スケジュールに従って複数種の要求データを前記第２の情報システムに送信させる送信ステップとを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報システムの動作を試験する技術に関するものである。
【背景技術】
【０００２】
情報システムの動作試験に関して、例えば、特許文献１に示す方法では、接続しているネットワークから取得したデータからリクエスト内のユーザＩＤを取り出し、レスポンスが正常応答の場合に、リクエストとレスポンスを登録し、登録したデータから負荷試験データを生成している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２６０２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の技術は、リクエスト内のユーザＩＤを基にして、レスポンスが正常応答の場合に、リクエストとレスポンスを負荷データとして登録し、そしてネットワーク接続装置上でセッション管理を行い、送信するデータの振分けを行うものである。
しかし、この方法では、登録したリクエストとレスポンスをキャプチャしたときと同じ内容で送信することはできるが、接続するユーザ数を増やすことはできず、取得した際のデータ量を超えた負荷をかけることができないという課題がある。
【０００５】
この発明は、上記のような課題を解決することを主な目的としており、試験対象の情報システムに対して高負荷試験を行う構成を実現することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る情報システム検証装置は、
第１の情報システムに送信された要求データを第２の情報システムに送信して、要求データに対する前記第２の情報システムの処理結果と前記第１の情報システムの処理結果とを照合して前記第２の情報システムの処理を検証する情報システム検証装置であって、
前記第１の情報システムに送信された、セッションの開始を要求するセッション開始要求データ及びセッションの終了を要求するセッション終了要求データを含む複数種の要求データの送信履歴が示される送信履歴情報を記憶する情報記憶部と、
前記送信履歴情報に示される送信履歴に基づき、少なくとも２つのセッションが少なくとも一部の時間において並行して進行するように、セッション開始要求データ及びセッション終了要求データを含む複数種の要求データの前記第２の情報システムへの送信スケジュールを決定する送信スケジュール決定部と、
前記送信スケジュール決定部により決定された送信スケジュールに従って複数種の要求データを前記第２の情報システムに送信するデータ送信制御部とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、第１の情報システムへの要求データの送信履歴に基づき、少なくとも２つのセッションが少なくとも一部の時間において並行して進行する送信スケジュールを決定し、送信スケジュールに従って複数種の要求データを試験対象の第２の情報システムに送信するため、第１の情報システムへの要求データに基づき、第１の情報システムにかかっていた負荷よりも高い負荷をかけた試験を第２の情報システムに対して行うことができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係る情報システム検証装置の構成例を示す図。
【図２】実施の形態１に係るシステム構成例を示す図。
【図３】実施の形態１に係るシーケンス１を示す図。
【図４】実施の形態１に係る記録データの例を示す図。
【図５】実施の形態１に係るセッションの解析結果の例を示す図。
【図６】実施の形態１に係る多重度５０％で間隔を調整したシーケンスの例を示す図。
【図７】実施の形態１に係る変換データの例を示す図。
【図８】実施の形態１に係るデータキャプチャ部の動作例を示すフローチャート図。
【図９】実施の形態１に係るセッション検索部の動作例を示すフローチャート図。
【図１０】実施の形態１に係る送信時刻算出部及び順序変換部の動作例を示すフローチャート図。
【図１１】実施の形態１に係るデータ再生部の動作例を示すフローチャート図。
【図１２】実施の形態２に係るシステム構成例を示す図。
【図１３】実施の形態２に係る情報システム検証装置の構成例を示す図。
【図１４】実施の形態２に係るセッションの解析結果の例を示す図。
【図１５】実施の形態２に係る変換データの例を示す図。
【図１６】実施の形態２に係るデータ量解析部及びデータ振分け部の動作例を示すフローチャート図。
【図１７】実施の形態２に係るデータ再生部の動作例を示すフローチャート図。
【図１８】実施の形態１及び２に係る情報システム検証装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【０００９】
実施の形態１．
本実施の形態では、従来技術の課題を解決するために、取得したデータを基にして同時接続ユーザ数を増やした高負荷試験を行う構成を説明する。
【００１０】
図１は、本実施の形態に係る情報システム検証装置１の構成例を示す。
本実施の形態に係る情報システム検証装置１は、データ生成部４とデータ再生部５から構成される。
【００１１】
データ生成部４は、参照ネットワーク２からデータをキャプチャするとともに、キャプチャしたデータから負荷試験のデータを生成する。
データ生成部４において、データキャプチャ部６は、参照ネットワーク２からデータを取得し、取得したデータを記録データ保存部１１に記録データとして保存する。
セッション検索部７は、記録データからユーザのデータを検索する。
多重度制御部８は、ユーザのデータの重なり度合い（多重度）を制御する。
送信時刻算出部９は、ユーザの多重度に従い、データの送信時刻を算出し、順序変更部１０は、算出した送信時刻に従い、データの並び替えを行い、並び替え後のデータを変換データとして変換データ保存部１２に格納する。
【００１２】
データ再生部５は、データ生成部４にて生成された変換データ（負荷試験データ）を検査対象ネットワーク３に送信し、受信したデータを比較することで、検査対象ネットワーク３に含まれている検査対象サーバ装置の動作を検証する。
データ再生部５において、データ取得部１３は、変換データ保存部１２から変換データを取得する。
データ送信間隔制御部１４は、取得した変換データの送信時刻からデータ送信時刻と間隔を制御する。
データ送受信部１５は、検査対象ネットワーク３との間でデータを送受信する。
受信データ比較部１６は、変換データの回答と検査対象ネットワーク３から受信した回答を比較することで、検査対象サーバ装置の動作が正しいか否かを検証する。
再生管理部１７は、データ取得状況や受信データの比較状況を監視し、データ再生部５を制御する。
【００１３】
図２は、情報システム検証装置１を用いたシステム構成図である。
図２において、参照ネットワーク２には、スイッチ２３（以下、ＳＷ２３とも表記する）を介して、参照サーバ装置２１と複数の端末装置２５が接続されている。
情報システム検証装置１は、ＳＷ２３に接続されている。
ＳＷ２３は、参照ネットワーク２で送受信されるデータのコピーを情報システム検証装置１に送信するよう設定されている。
参照サーバ装置２１は、端末装置２５からのリクエストデータ（以下、単にリクエストともいう）に対して適正なデータ処理を実施することが確認されている。
参照サーバ装置２１は、第１の情報システムに対応する。
検査対象ネットワーク３には、検査対象である検査対象サーバ装置２２がスイッチ２４（以下、ＳＷ２４とも表記する）を介して接続されている。
検査対象サーバ装置２２は、第２の情報システムに対応する。
【００１４】
本実施の形態では、情報システム検証装置１は、参照ネットワーク２で送受信されているデータから負荷試験データを生成し、生成した負荷試験データを使用して検査対象ネットワーク３の検査対象サーバ装置２２の動作を検証する。
つまり、本実施の形態に係る情報システム検証装置１は、参照サーバ装置２１に送信された要求データを検査対象サーバ装置２２に送信して、要求データに対する検査対象サーバ装置２２の処理結果と参照サーバ装置２１の処理結果とを照合して検査対象サーバ装置２２の処理を検証する。
【００１５】
図３は、本実施の形態に係るシーケンス図であり、複数のユーザにより端末装置とサーバ装置間で操作が行われた場合の通信の例を示す。
ユーザの操作はセッションとして識別され、図３では、複数のセッション１から４（３０から３３）があり、矢印の長さが通信時間を示し、セッションには通信開始時刻３４と通信終了時刻３５がある。
なお、セッションとは、端末装置とサーバ装置間の複数のデータ処理等を対応付けて管理する単位であり、例えば、端末装置がサーバ装置に接続／ログインしてから、切断／ログオフするまでの一連の操作、データ処理、通信をまとめて１セッションという。
本実施の形態では、接続データ（後述の図４においてデータ本体：接続としているデータ）が端末装置２５から送信された時刻を通信開始時刻３４とし、切断結果データ（図４では、データ本体：切断結果としているデータ）が参照サーバ装置から送信された時刻を通信終了時刻３５としている。
【００１６】
図４は、キャプチャした記録データの例である。
図４の例では、端末装置２５（端末１及び端末２）と参照サーバ装置２１との間で送受信された複数のデータの履歴が時系列に示されている。
このように、記録データ保存部１１には、端末装置２５がセッションの開始を要求するデータ（セッション開始要求データの例）（図４では、データ本体：接続としているデータ）、端末装置２５がセッションの終了を要求するデータ（セッション終了要求データの例）（図４では、データ本体：切断としているデータ）を含む複数種のリクエストデータ（要求データ）の送信履歴と、各リクエストデータに対する参照サーバ装置２１のレスポンスデータの送信履歴が示される情報が保存されている。
なお、記録データ保存部１１に保存されている図４のデータは送信歴情報の例であり、記録データ保存部１１は情報記憶部に対応する。
【００１７】
図５は、図３のシーケンスにおけるセッションの解析データである。
セッション１は、図４に示す端末１と参照サーバ装置２１との間のセッションであり、図４に示すＮｏ．１〜６のデータがセッション１で送受信されたデータである。
セッション２は、図４に示す端末２と参照サーバ装置２１との間のセッションであり、図４に示すＮｏ．７〜１２のデータがセッション２で送受信されたデータである。
セッション３、セッション４については、図４に相当するデータは示していないが、セッション３、セッション４についても、図４に相当するデータから、図５に示すような情報を生成することができる。
このように、参照サーバ装置２１と端末装置２５との間では、各セッションは並行していないが、後述するように、検査対象サーバ装置２２との間では、少なくとも２つのセッションが少なくとも一部の時間において並行して進行することになる。
ここで、「少なくとも２つのセッションが少なくとも一部の時間において並行して進行する」とは、セッション継続中の少なくとも一部の時間において２つ以上のセッションが並存していることを意味しており、並存している２つ以上のセッションでの進行度合いは異なっていてもよい。つまり、２つ以上のセッションが同じタイミングで進行する必要はない。
なお、図５に示すセッションごとの解析データは、セッション検索部７により生成される。
【００１８】
図６は、図３のシーケンスを多重度５０％にて間隔を調整したシーケンス図である。
図７は、多重度を変更した後の記録データである変換データの例である。
多重度は、例えば、情報システム検証装置１の利用者（試験実施者）の指示に従って、多重度制御部８が指定する。
多重度制御部８は、多重度を指定することで、セッションが並行して進行する時間（オーバーラップ時間）を指定している。
図６に示す例では、セッション１のセッション時間（通信開始時刻３４から通信終了時刻３５まで）の５０％が経過した時点からセッション２のセッション時間が開始しており、セッション１のセッション時間の後半５０％とセッション２のセッション時間の前半５０％が並行して進行している。
セッション２とセッション３、セッション３とセッション４においても同様である。
このように、多重度制御部８は、オーバーラップ時間指定部に対応する。
また、送信時刻算出部９及び順序変更部１０は、検査対象サーバ装置２２に送信するリクエストデータの送信時刻を調整し、また、リクエストデータの送信順序を変更し、多重度制御部８により指定された多重度に相当するオーバーラップ時間の間、セッションの開始タイミングが近接するセッションの間でセッションが並行して進行することになる送信スケジュールを決定する。
図７の変換データにおけるリクエストデータ（端末からサーバ宛てのデータ）の時刻及び送信順序が当該送信スケジュールに相当する。
このように、送信時刻算出部９及び順序変更部１０は、送信スケジュール決定部に対応する。
また、送信時刻算出部９及び順序変更部１０により実施される処理は、送信スケジュール決定ステップに対応する。
また、送信時刻算出部９及び順序変更部１０は送信スケジュールを決定するに当たり、記録データ保存部１１から記録データを読み出すが、この読み出し処理は情報読み出しステップに対応する。
更に、データ再生部５のデータ取得部１３、データ送信間隔制御部１４、データ送受信部１５は、決定された送信スケジュール、すなわち図７の変換データにおけるリクエストデータの時刻及び送信順序に従って、検査対象サーバ装置２２にリクエストデータを送信する。
このように、データ取得部１３、データ送信間隔制御部１４、データ送受信部１５はデータ送信制御部に対応する。
データ取得部１３、データ送信間隔制御部１４、データ送受信部１５により実施される処理は、データ送信制御ステップに対応する。
【００１９】
次に動作について説明する。
図８は、データ生成部４のデータキャプチャ部６の動作例を示すフローチャートであり、図９はデータ生成部４のセッション検索部７の動作例を示すフローチャートである。
図１０はデータ生成部４の送信時刻算出部９及び順序変更部１０の動作例を示すフローチャートであり、図１１はデータ再生部５の動作例を示すフローチャートである。
各図を参照して、説明する。
【００２０】
情報システム検証装置１は、図８に示すように、参照ネットワーク２上のデータをデータキャプチャ部６で受信し（Ｓ１：以降Ｓはステップを表す）、受信したデータを記録データ保存部１１に格納する（Ｓ２）。
例えば、インターネットの書籍販売システムの場合では、ユーザの書籍の注文データは端末装置２５から参照サーバ装置２１宛に送信され、情報システム検証装置１は、このデータをＳＷ２３経由で取得し、図４のように記録する。
記録データには、図４に示すように、記録順に番号Ｎｏ（４９）が振られ、記録時刻５０、プロトコル５１、送信元ＩＰアドレス５２、宛先ＩＰアドレス５３、送信元ポート番号５４、宛先ポート番号５５とデータサイズ５６、データ本体５７がある。
図４は、２人のユーザが端末１、２から参照サーバ装置２１に対して本を注文した場合のデータの例であり、ユーザが端末１、２から参照サーバ装置２１に接続し、参照サーバ装置２１から接続結果が通知され、本の注文を行い、注文受け付け結果を受理し、切断を行い、切断結果が通知されている。
ユーザ１の端末１から参照サーバ装置２１へのデータ場合は、プロトコル：ＴＣＰ、送信元ＩＰアドレス：端末１のＩＰアドレス、宛先ＩＰアドレス：サーバのＩＰアドレス、送信元ポート番号：１０２４、宛先ポート番号：８０となり、それぞれデータサイズと注文内容（本の名称、価格、数量等）のデータが含まれている。
一方、参照サーバ装置２１から端末１への回答の場合は、ＩＰアドレス、ポート番号は、送信元と宛先が注文データと逆になり、データサイズ、注文の受け付け結果などが含まれる。
端末２と参照サーバ装置２１との間で送受信されたデータも同様に記録する。
【００２１】
次に、図９に示すように、セッション検索部７が、記録データ内のセッション情報を検索するため、データ数分の処理を行う（Ｓ３）。
具体的には、セッション検索部７は、記録データを取り出し（Ｓ４）、接続データ内のユーザ情報をセッション情報として取得する（Ｓ５）。
図４のデータの場合、セッション検索部７は、Ｎｏ１の接続データからユーザ１のセッション情報を取得する。
そして、セッション情報が登録済みかどうかを判定し（Ｓ６）、未登録のため、図５のように、ユーザ１のセッション情報をセッション１として登録する（Ｓ７）。
図５はセッションの解析結果のテーブルの例であり、セッション情報６０、開始時刻６１、終了時刻６２、データ内容６３がある。
次に、セッション検索部７は、接続データの記録時刻を開始時刻として登録し（Ｓ８）、データ内容にＮｏ．１を登録し（Ｓ９）、切断結果データであるかどうかを判定し（Ｓ１０）、切断結果データではないので、Ｓ３に戻る。
記録データのＮｏ．２からＮｏ．６までは同じＩＰアドレス、ポート番号のデータである。
これらは同じセッション１のデータとしてＳ６にて登録済みとなり、各記録データのデータ内容を登録し（Ｓ９）、Ｓ１０においてＮｏ．６のデータが切断結果データであることを確認し、終了時刻を登録する（Ｓ１１）。
記録データのＮｏ．７からＮｏ．１２についても同様の処理を行い、ユーザ２のデータをセッション２として記録する。
図４には載せていないが、図３のセッション３、セッション４についても同様の処理を行い、図５のように記録する。
【００２２】
次に、図３のシーケンスを図６のように多重度５０％にて間隔を調整する場合の動作を説明する。
【００２３】
多重度制御部８が多重度５０％と指定すると、図１０に示すように、図５のセッション数分の処理が行われる（Ｓ１２）。
具体的には、送信時刻算出部９が、セッション情報から開始、終了時刻を取り出し（Ｓ１３）、多重度に応じた通信開始時間を求める（Ｓ１４）。
セッション１については前のセッションの情報はないため、データ数分ループするが（Ｓ１５）、順序変更は行わない（Ｓ１６、１７）。
セッション２についても同様に処理する。
つまり、送信時刻算出部９は、前のセッション（セッション１）の開始時刻、終了時刻をセッション情報を取り出し（Ｓ１３）、送信時刻算出部９は、前のセッションの開始時刻、終了時刻、多重度から、セッション２の開始時刻を算出する（Ｓ１４）。
具体的には、前のセッションの開始時刻は２０１０／１／１  ８：００：００、同終了時刻は８：１０：００であり、差をとり、多重度５０％とすると、セッション２の開始時間は８：０５：００となる。
次に、送信時刻算出部９は、セッション２のデータ数分ループし（Ｓ１５）、各記録データの時刻から開始時刻を引いて（Ｓ１６）、送信時刻を算出する。
セッション２のデータは、図４のＮｏ．７からＮｏ．１２であるが、それぞれの記録時刻から８：０５：００をひいた値をデータの記録時刻とし、時間順になるよう、順序変更部１０が、記録データの順序を変更し（Ｓ１７）、結果を変換データとして記録する。
図７は、多重度５０％にて記録データの順序を変更した例である。
セッション２のＮｏ．７からＮｏ．１２は、セッション１と重なるように時刻と順序を変更している。
つまり、セッション２のＮｏ．７からＮｏ．１２に相当する時間の間、セッション１の進行とセッション２の進行がオーバーラップすることになる。
図７には載せていないが、セッション３、セッション４についても同様の処理を行い、図６のシーケンスになるよう時刻、順序を変更し、データを生成する。
【００２４】
次に、生成した変換データを用いて検査対象ネットワーク３上の検査対象サーバ装置２２を検証する場合の動作を図１１を用いて説明する。
【００２５】
情報システム検証装置１は、データ再生部５のデータ取得部１３にて変換データを取得し、記録されているデータ分の処理を行う（Ｓ１８）。
つまり、データ取得部１３が、図７の変換データの各行のデータを順に取得し（Ｓ１９）、端末装置からサーバ装置へのリクエスト（要求データ）かどうかを判定する（Ｓ２０）。
検査対象サーバ装置２２を検証する場合は、情報システム検証装置１はリクエストを送信し、レスポンスは送信しない。
Ｓ２０の判定の結果、取得したデータがリクエストの場合は、データ送信間隔制御部１４が、記録データの間隔を再現するため、記録データの送信時刻を基にデータ送信間隔を算出し（Ｓ２１）、データ送受信部１５が、検査対象サーバ装置２２にリクエストを送信する（Ｓ２２）。
つまり、情報システム検証装置１は、端末装置２５をエミュレートして、検査対象サーバ装置２２にリクエストを送信する。
一方、Ｓ２０の判定において、リクエストでない場合は、レスポンス受信待ち（Ｓ２３）となり、データ送受信部１５が、検査対象サーバ装置２２からのレスポンスを受信し（Ｓ２４）、受信データ比較部１６が、受信したレスポンスと変換データ内のレスポンスを比較し（Ｓ２５）、比較結果を表示する（Ｓ２６）。
図７の変換データでは、リクエストは、Ｎｏ．１、３、７、９、５、１１、レスポンスはＮｏ．２、４、８、１０、６、１２となり、リクエストを検査対象サーバ装置２２に送信し、検査対象サーバ装置２２から受信したレスポンスと変換データのレスポンスを比較する。
【００２６】
以上のように、データキャプチャ部で取得したデータを記録し、記録したデータ内のセッション情報を検索し、多重度に応じてセッション内のデータの送信時刻を算出し、順序を変更して負荷試験のデータを生成し、生成したデータを取り出して、データの時刻を基に送信間隔を制御し、検査対象サーバ装置に送信し、検査対象サーバ装置から受信したデータとキャプチャしたデータを比較するようにしているので、取得したデータを基にして同時接続ユーザ数を増やした高負荷試験を行うことができる。
【００２７】
上記の実施の形態では、キャプチャしたデータ内のセッションを検索し、多重度をセッションごと処理したものであるが、検索対象をある特定の書籍のデータや注文取消しデータを検索し、１つのセッション内でデータの時刻や順序を変更し、負荷試験のデータを生成し、検査対象のサーバを検証することも可能である。
【００２８】
以上、本実施の形態では、
以下の手段を備えた情報システム検証装置を説明した。
（ａ）参照しているシステム内で送受信しているデータをキャプチャする手段
（ｂ）取得したデータを解析する手段
（ｃ）データの多重度を制御する手段
（ｄ）多重度により、データの順序を変更し、データの送信時刻を算出する手段
（ｅ）検査対象に送信するデータの間隔を指定し、情報システム検証装置の動作を管理する手段
（ｆ）負荷試験データを取得する手段
（ｇ）取得したデータの送信時刻から送信間隔を制御する手段
（ｈ）検査対象のシステムとデータを送受信する手段
（ｉ）検査対象のシステムから受信したデータとキャプチャしたデータを比較する手段。
【００２９】
実施の形態２．
実施の形態１では、参照ネットワーク２からキャプチャしたデータからセッション情報を検索し、多重度により時刻と順序を変更してデータを生成し、１つのデータ再生部５がリクエストを検査対象サーバ装置２２に送信して検査対象サーバ装置２２の動作を検証する例を示した。
本実施の形態では、より高負荷の試験を行う場合に対応させて、図１２のように複数のデータ再生部５ａ、５ｂを用いて検査対象サーバ装置２２を検証する例を説明する。
実施の形態２のシステム構成図を図１２に示し、情報システム検証装置１の構成を図１３に示す。
また、セッション解析の例を図１４に示し、多重後の記録データ（変換データ）を図１５に示す。
また、データ生成部４のデータ量解析部及びデータ振分け部のフローチャートを図１６に示し、データ再生部５のフローチャートを図１７に示す。
なお、本実施の形態においても、実施の形態１と同様に、図３のシーケンス、図４の記録データ、図６のシーケンス及び図８、９、１０のフローチャートが適用される。
以下にて、図を用いて動作を説明する。
【００３０】
図１３において、データ生成部４では、図１の構成と比較して、データ量解析部１８とデータ振分け部１９が追加されている。
データ量解析部１８は、実施の形態１で説明した手順で決定された送信スケジュール、すなわち、図７の変換データにおけるリクエストデータの送信スケジュールを解析して、単位時間当たりの検査対象サーバ装置２２への送信データ量を算出する。
そして、データ振分け部１９は、データ量解析部１８により算出された単位時間当たりの送信データ量に基づき、２つのデータ再生部５ａ、５ｂのうち検査対象サーバ装置２２へリクエストデータを送信するのに用いられるデータ再生部５を選択し、データ再生部５ごとにリクエストデータの送信スケジュールを決定する。
このように、データ量解析部１８及びデータ振分け部１９は、データ再生部５ごとの送信スケジュールの調整を行っており、送信スケジュール調整部に対応する。
また、データ再生部５ａの構成は、図１に示したデータ再生部５と同じである。
また、図１３では、データ再生部５ｂの構成は図示を省略しているが、データ再生部５ａと同様に、図１に示したデータ再生部５と同じである。
なお、データ再生部５ａ、５ｂを区別する必要がない場合は、データ再生部５と表記する。
【００３１】
実施の形態２では、２つのデータ再生部５ａ、５ｂを用いて、キャプチャしたデータを用いて検査対象サーバ装置２２の動作を検証する場合の動作を示す。
情報システム検証装置１が参照ネットワーク２上で送受信されるデータをキャプチャし、セッション情報を検索して多重度に応じて送信時刻を算出して記録データの順序を変更するまでは実施の形態１と同様である。
次に、図１６に示すように、データ量解析部１８にて、送信するデータ量を解析する。
変換データは、算出した送信時刻により、順序を変更しているため、単位時間あたりのデータ量がキャプチャした時点のデータから変わっている。
データ量解析部１８は、記録データの先頭から最後まで、記録データの時刻と単位時間あたりの送信データ量を算出する（Ｓ２７）。
次に、ハードウェア条件、データの処理時間から予め測定した、データ再生部５の性能値を用いて、このデータ量を送信するのに必要なデータ再生部５の数を算出する（Ｓ２８）。
例えば、１つのデータ再生部５の性能値が５０００データ／秒で、送信データ量が１００００データ／秒の場合には、データ再生部５の必要数は２となる。
次に、データ振分け部１９が、複数のデータ再生部５へのデータの振分けを行うため、セッション情報分の処理を行う（Ｓ２９）。
同じセッションを構成するデータは、同一のデータ再生部５に振り分ける。
図１４のセッション１から順に振分け先をデータ再生部５ａ、５ｂの順に決定し、振分け情報を設定し、このセッションのデータ内容にある記録データから図１５のＮｏ．１、２、３、４、５、６の振分け情報５８に設定し（Ｓ３０）、記録データに保存する。
図１５の振分情報５８において、例えば、「１」はデータ再生部５ａを表し、「２」はデータ再生部５ｂを表している。
【００３２】
次に、２つのデータ再生部５ａ、５ｂは、図１７に示すように、それぞれデータ取得部１３にて変換データを取得し、記録されているデータ分の処理を行う（Ｓ１８）。
つまり、データ取得部１３が、図１５のデータを順に取得する（Ｓ１９）。
データ再生部５には、それぞれ識別子を設定しておき、記録データ内の振分け情報５８が、設定されている識別子と一致するかどうかを判定し、一致する場合は処理対象となる（Ｓ３１）。
一致しない場合は、処理対象外のデータであり、ループの先頭に戻る。
次に、データ取得部１３は、端末装置からサーバ装置へのリクエストかどうかを判定する（Ｓ２０）。
情報システム検証装置１はリクエストを送信し、レスポンスは送信しない。
Ｓ２０にてリクエストの場合は、データ送信間隔制御部１４が、記録データの間隔を再現するため、記録データの送信時刻を基にデータ送信間隔を算出し（Ｓ２１）、データ送受信部１５が、検査対象サーバ装置２２にリクエストを送信する（Ｓ２２）。
一方、リクエストでない場合は、レスポンス受信待ち（Ｓ２３）となり、データ送受信部１５が、検査対象サーバ装置２２からのレスポンスを受信し（Ｓ２４）、受信データ比較部１６が、受信したレスポンスと変換データ内のレスポンスを比較し（Ｓ２５）、比較結果を表示する（Ｓ２６）。
図１５の変換データでは、リクエストは、Ｎｏ．１、３、７、９、５、１１、レスポンスはＮｏ．２、４、８、１０、６、１２となり、リクエストを検査対象サーバ装置２２に送信し、検査対象サーバ装置２２から受信したレスポンスと変換データのレスポンスを比較する。
【００３３】
以上のように、データキャプチャ部で取得したデータを記録し、記録したデータ内のセッション情報を検索し、多重度に応じてセッション内のデータの送信時刻を算出し、順序を変更し、変更後のデータ量とデータ再生部の性能値からデータ送信に必要な台数を求め、データの振分け先を設定し、振分け情報に従い、複数のデータ再生部から負荷試験のデータを送信するので、複数のデータ再生部を用いて多重度を上げた高負荷試験を行うことができる。
【００３４】
なお、本実施の形態では、図１２のように、１つの情報システム検証装置１に２つのデータ再生部５が含まれる構成を説明したが、複数の情報システム検証装置１を設け、複数の情報システム検証装置１に複数のデータ再生部５が存在する構成であってもよい。
例えば、２つの情報システム検証装置１を設け、一方の情報システム検証装置１には、図１２に示すデータ生成部４とデータ再生部５ａを配置し、他方の情報システム検証装置１には、図１２に示すデータ再生部５ｂを配置する構成であってもよい。
また、３つの情報システム検証装置１を設け、１つ目の情報システム検証装置１には、図１２に示すデータ生成部４を配置し、２つ目の情報システム検証装置１には、図１２に示すデータ再生部５ａを配置し、３つ目の情報システム検証装置１には、図１２に示すデータ再生部５ｂを配置する構成であってもよい。
また、データ再生部５を２つとする構成は一例であって、データ再生部５は３つ以上存在していてもよい。
【００３５】
以上、本実施の形態では、
以下の手段を備えた情報システム検証装置を説明した。
（ｊ）送信するデータ量を解析する手段
（ｋ）データ量とデータ再生部の処理性能からデータの振分けを行う手段。
【００３６】
最後に、実施の形態１及び２に示した情報システム検証装置１のハードウェア構成例について説明する。
図１８は、実施の形態１及び２に示す情報システム検証装置１のハードウェア資源の一例を示す図である。
なお、図１８の構成は、あくまでも情報システム検証装置１のハードウェア構成の一例を示すものであり、情報システム検証装置１のハードウェア構成は図１８に記載の構成に限らず、他の構成であってもよい。
【００３７】
図１８において、情報システム検証装置１は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
実施の形態１及び２で説明した「記録データ保存部１１」及び「変換データ保存部１２」は、ＲＡＭ９１４、磁気ディスク装置９２０等により実現される。
通信ボード９１５、キーボード９０２、マウス９０３、スキャナ装置９０７、ＦＤＤ９０４などは、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置の一例である。
【００３８】
通信ボード９１５は、図２及び図１２に示すように、ネットワークに接続されている。
例えば、通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）、ＳＡＮ（ストレージエリアネットワーク）などに接続されている。
【００３９】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１がオペレーティングシステム９２１、ウィンドウシステム９２２を利用しながら実行する。
【００４０】
また、ＲＡＭ９１４には、ＣＰＵ９１１に実行させるオペレーティングシステム９２１のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭ９１４には、ＣＰＵ９１１による処理に必要な各種データが格納される。
【００４１】
また、ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
情報システム検証装置１の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム９２１が起動される。
【００４２】
上記プログラム群９２３には、実施の形態１及び２の説明において「〜部」（「記録データ保存部１１」及び「変換データ保存部１２」以外、以下同様）、「〜手段」として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【００４３】
ファイル群９２４には、実施の形態１及び２の説明において、「〜の判断」、「〜の判定」、「〜の決定」、「〜の指定」、「〜の設定」、「〜の登録」、「〜の取得」、「〜の算出」、「〜の比較」、「〜の更新」、「〜の選択」、「〜の入力」、「〜の出力」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。
ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出される。
そして、読み出された情報やデータや信号値や変数値やパラメータは、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態１及び２で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示す。
データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。
また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００４４】
また、実施の形態１及び２の説明において「〜部」、「〜手段」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、実施の形態１及び２で説明したフローチャートに示すステップ、手順、処理により、本発明に係る「情報システム検証方法」を実現することができる。
また、「〜部」、「〜手段」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。
或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。
プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。
すなわち、プログラムは、実施の形態１及び２の「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、実施の形態１及び２の「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
【００４５】
このように、実施の形態１及び２に示す情報システム検証装置１は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータである。
そして、上記したように「〜部」、「〜手段」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【００４６】
１  情報システム検証装置、２  参照ネットワーク、３  検査対象ネットワーク、４  データ生成部、５  データ再生部、６  データキャプチャ部、７  セッション検索部、８  多重度制御部、９  送信時刻算出部、１０  順序変更部、１１  記録データ保存部、１２  変換データ保存部、１３  データ取得部、１４  データ送信間隔制御部、１５  データ送受信部、１６  受信データ比較部、１７  再生管理部、１８  データ量解析部、１９  データ振分け部、２１  参照サーバ装置、２２  検査対象サーバ装置、２３  スイッチ、２４  スイッチ、２５  端末装置。
【図１】
0005669632.tif 000002
【図２】
0005669632.tif 000003
【図３】
0005669632.tif 000004
【図４】
0005669632.tif 000005
【図５】
0005669632.tif 000006
【図６】
0005669632.tif 000007
【図７】
0005669632.tif 000008
【図８】
0005669632.tif 000009
【図９】
0005669632.tif 000010
【図１０】
0005669632.tif 000011
【図１１】
0005669632.tif 000012
【図１２】
0005669632.tif 000013
【図１３】
0005669632.tif 000014
【図１４】
0005669632.tif 000015
【図１５】
0005669632.tif 000016
【図１６】
0005669632.tif 000017
【図１７】
0005669632.tif 000018
【図１８】
0005669632.tif 000019