(57)【要約】【課題】データの変更を行わずに、データの一致性の判定を行う。【解決手段】情報処理装置１４は、データを受け付けると、データの生成に用いた情報を該データのサイズに対応付けて記憶する記憶部を参照して、受け付けたデータのサイズに対応付けられた情報を取得する取得部４２と、取得された情報を用いてデータを生成する生成部４４と、生成されたデータと、受け付けたデータとの比較を行う比較部４６と、比較結果を出力する出力部４８と、を含む。【選択図】図５
2018098636.tif 000002
【特許請求の範囲】
【請求項１】
データを受け付けると、データの生成に用いた情報を該データのサイズに対応付けて記憶する記憶部を参照して、受け付けた前記データのサイズに対応付けられた情報を取得し、
取得した前記情報を用いてデータを生成し、
生成した前記データと、受け付けた前記データとの比較を行い、
比較結果を出力する、
処理をコンピュータに実行させることを特徴とするデータ照合プログラム。
【請求項２】
前記記憶部は、１つのサイズに対応付けて、複数のデータの生成の各々に用いた情報を記憶し、
受け付けた前記データのサイズに対応付けられた情報が前記記憶部に複数記憶される場合、受け付けた前記データに付加された制御情報から受け付けた前記データのサイズに対応付けられた情報を取得する、
ことを特徴とする請求項１に記載のデータ照合プログラム。
【請求項３】
送信側の情報処理装置により送信される一連のデータの生成に用いた情報の各々を該データのサイズに対応付けて記憶する記憶部を参照して、前記送信側の情報処理装置により送信されるデータの個数と、受け付けたデータの個数との比較を更に行う、
ことを特徴とする請求項１又は請求項２に記載のデータ照合プログラム。
【請求項４】
データを受け付けると、データの生成に用いた情報を該データのサイズに対応付けて記憶する記憶部を参照して、受け付けた前記データのサイズに対応付けられた情報を取得し、
取得した前記情報を用いてデータを生成し、
生成した前記データと、受け付けた前記データとの比較を行い、
比較結果を出力する、
処理をコンピュータが実行することを特徴とするデータ照合方法。
【請求項５】
データを受け付けると、データの生成に用いた情報を該データのサイズに対応付けて記憶する記憶部を参照して、受け付けた前記データのサイズに対応付けられた情報を取得する取得部と、
取得された前記情報を用いてデータを生成する生成部と、
生成された前記データと、受け付けられた前記データとの比較を行う比較部と、
前記比較部による比較結果を出力する出力部と、
を含むことを特徴とするデータ照合装置。
【請求項６】
データの生成に用いる情報を該データのサイズに対応付けて記憶する記憶部を参照して、該情報を用いて、該情報に対応付けられたサイズのデータを生成し、
生成した前記データのサイズに対応する情報が前記記憶部に複数記憶される場合、生成した前記データを送信する際に、前記データの生成に用いた情報を前記データに付加される制御情報に格納して送信する、
処理をコンピュータに実行させることを特徴とする送信制御プログラム。
【請求項７】
生成した前記データのサイズに対応する情報が前記記憶部に１つ記憶される場合、生成した前記データを送信する、
ことを特徴とする請求項６に記載の送信制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ照合プログラム、データ照合方法、データ照合装置、及び送信制御プログラムに関する。
【背景技術】
【０００２】
従来、送信装置が送信対象とするデータと、受信装置が受信したデータとの一致性を判定することによって、送信装置と受信装置との間の通信のテストを行う技術が知られている。例えば、送信装置が送信対象とするデータにパリティビットを追加したデータを受信装置に送信し、受信装置が受信したデータに対してパリティチェックを行う技術が提案されている。
【０００３】
また、受信装置が、受信したデータのサイズ及びチェックディジット等のエラーチェック用のデータを用いて、受信したデータのエラーを検出する技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平３−２５２８４１号公報
【特許文献２】特開昭６２−２６５５８号公報
【特許文献３】国際公開第２００２／０５７９０４号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、送信装置が送信対象とするデータと、受信装置が受信したデータとの一致性を判定する際に、パリティビット及びチェックディジット等のテスト用のデータを送信対象とするデータに追加する場合、以下の問題点がある。この場合、送信装置が送信対象とするデータに、テスト用のデータが追加されることとなり、実際に送信されるデータは、送信対象とするデータが変更されたものとなってしまう。
【０００６】
一つの側面では、本発明は、データの変更を行わずに、データの一致性の判定を行うことを目的とする。
【課題を解決するための手段】
【０００７】
一つの態様として、データを受け付けると、データの生成に用いた情報を該データのサイズに対応付けて記憶する記憶部を参照して、受け付けた前記データのサイズに対応付けられた情報を取得する。そして、取得した前記情報を用いてデータを生成し、生成した前記データと、受け付けた前記データとの比較を行い、比較結果を出力する。
【発明の効果】
【０００８】
一つの側面として、データの変更を行わずに、データの一致性の判定を行うことができる、という効果を有する。
【図面の簡単な説明】
【０００９】
【図１】各実施形態に係る情報処理システムの概略構成を示すブロック図である。
【図２】第１実施形態に係る送信側の情報処理装置の機能ブロック図である。
【図３】第１実施形態に係る送信側の情報処理装置に記憶されるパラメータテーブルの一例を示す図である。
【図４】第１実施形態に係る送信側の情報処理装置に記憶されるシーケンステーブルの一例を示す図である。
【図５】第１実施形態に係る受信側の情報処理装置の機能ブロック図である。
【図６】第１実施形態に係る受信側の情報処理装置に記憶されるパラメータテーブルの一例を示す図である。
【図７】第１実施形態に係る受信側の情報処理装置に記憶されるシーケンステーブルの一例を示す図である。
【図８】第１実施形態に係る送信側の情報処理装置として機能するコンピュータの概略構成を示すブロック図である。
【図９】第１実施形態に係る受信側の情報処理装置として機能するコンピュータの概略構成を示すブロック図である。
【図１０】第１実施形態に係る事前送信処理の一例を示すフローチャートである。
【図１１】第１実施形態に係る事前受信処理の一例を示すフローチャートである。
【図１２】第１実施形態に係る送信処理の一例を示すフローチャートである。
【図１３】第１実施形態に係るデータ照合処理の一例を示すフローチャートである。
【図１４】受信側の情報処理装置が受信したデータに異常が発生した場合の表示装置に表示される情報の一例を示す図である。
【図１５】受信側の情報処理装置が受信したデータが正常な場合の表示装置に表示される情報の一例を示す図である。
【図１６】第２実施形態に係る送信側の情報処理装置の機能ブロック図である。
【図１７】第２実施形態に係る送信側及び受信側の情報処理装置に記憶されるパラメータテーブルの一例を示す図である。
【図１８】第２実施形態に係る送信管理テーブルの一例を示す図である。
【図１９】第２実施形態に係る受信側の情報処理装置の機能ブロック図である。
【図２０】第２実施形態に係る送信側の情報処理装置として機能するコンピュータの概略構成を示すブロック図である。
【図２１】第２実施形態に係る受信側の情報処理装置として機能するコンピュータの概略構成を示すブロック図である。
【図２２】第２実施形態に係る事前送信処理の一例を示すフローチャートである。
【図２３】第２実施形態に係る事前受信処理の一例を示すフローチャートである。
【図２４】第２実施形態に係る送信準備処理の一例を示すフローチャートである。
【図２５】第２実施形態に係る送信処理の一例を示すフローチャートである。
【図２６】第２実施形態に係るデータ照合処理の一例を示すフローチャートである。
【図２７】第２実施形態に係るデータの送受信処理の流れの一例を示すシーケンス図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、開示の技術の実施形態の例を詳細に説明する。
【００１１】
［第１実施形態］
まず、図１を参照して、本実施形態に係る情報処理システム１０の構成を説明する。図１に示すように、情報処理システム１０は、情報処理装置１２及び情報処理装置１４を含む。情報処理装置１２及び情報処理装置１４は、互いに通信可能にネットワーク１６に接続される。
【００１２】
なお、本実施形態では、一例として、情報処理装置１２が送信側の装置であり、情報処理装置１４が情報処理装置１２から送信されたデータを受信し、受信したデータの照合を行うデータ照合装置である場合について説明する。すなわち、本実施形態に係る情報処理システム１０は、情報処理装置１２が情報処理装置１４にデータを送信し、情報処理装置１４が受信したデータを照合することによって、データの送受信のテスト（以下、「テスト」という）を行うシステムである。なお、本実施形態では、ネットワーク層でのデータの送受信のテストを行う場合について説明する。
【００１３】
次に、図２を参照して、本実施形態に係る情報処理装置１２の構成を説明する。図２に示すように、情報処理装置１２は、受付部２０、生成部２２、及び送信部２４を含む。また、情報処理装置１２の所定の記憶領域には、複数のパラメータ３０、パラメータテーブル３２、及びシーケンステーブル３４が記憶される。
【００１４】
パラメータ３０は、データの生成に用いる情報である。また、各パラメータ３０は、互いに異なる情報である。パラメータ３０としては、例えば、「漢字を使用した文字列を生成する。」、「所定のバイト数のバイト毎に文字を入れる。」、及び「０から９までの数字を用いた数字列を生成する。」等のデータを生成するための規則を示す情報が挙げられる。
【００１５】
パラメータテーブル３２は、パラメータ３０の管理に用いられるテーブルである。図３に、パラメータテーブル３２の一例を示す。図３に示すように、パラメータテーブル３２には、データのサイズとパラメータ３０とが対応付けられて記憶される。また、本実施形態では、パラメータテーブル３２のデータサイズ列には、パラメータ３０毎に異なる値が記憶される。
【００１６】
シーケンステーブル３４は、テストが実施される際に、情報処理装置１２が送信するデータ群の生成に用いられるテーブルである。図４に、シーケンステーブル３４の一例を示す。図４に示すように、シーケンステーブル３４には、データのサイズとパラメータ３０とが対応付けられて記憶される。また、本実施形態では、シーケンステーブル３４の１行目には、情報処理装置１２が送信するデータの個数が記憶される。
【００１７】
受付部２０は、例えばテストの実施者等のユーザにより入力されたパラメータ３０の個数を受け付ける。また、受付部２０は、ユーザにより入力された情報処理装置１２が送信するデータの個数を受け付ける。
【００１８】
生成部２２は、全パラメータ３０の中から、受付部２０により受け付けられたパラメータ３０の個数のパラメータ３０を抽出し、パラメータテーブル３２を生成する。本実施形態では、生成部２２は、抽出したパラメータ３０を、パラメータテーブル３２に記憶する。そして、生成部２２は、パラメータテーブル３２に記憶したパラメータ３０毎にデータのサイズをランダムに生成し、生成したデータのサイズをパラメータテーブル３２のパラメータ３０に対応付けて記憶する。
【００１９】
なお、例えば、ユーザにより抽出対象とするパラメータ３０が入力された場合は、生成部２２は、全パラメータ３０の中から、入力されたパラメータ３０を抽出してもよい。また、例えば、ユーザによりパラメータ３０毎にデータのサイズが入力された場合は、生成部２２は、パラメータテーブル３２のパラメータ３０に対応付けて、入力されたデータのサイズを記憶してもよい。また、例えば、ユーザによりデータのサイズの下限値及び上限値が入力された場合は、下限値以上で、かつ上限値以下の範囲内で、パラメータ３０毎にデータのサイズをランダムに生成してもよい。
【００２０】
また、生成部２２は、受付部２０により受け付けられたデータの個数、及びパラメータテーブル３２に基づいて、シーケンステーブル３４を生成する。本実施形態では、生成部２２は、シーケンステーブル３４の１行目に、受付部２０により受け付けられたデータの個数を記憶する。また、生成部２２は、パラメータテーブル３２から、受付部２０により受け付けられたデータの個数の分のレコード（すなわち、データのサイズとパラメータ３０との組み合わせ）をランダムに抽出し、抽出したレコードをシーケンステーブル３４に記憶する。なお、この抽出の際、生成部２２は、同じレコードを複数回抽出してもよい。
【００２１】
また、生成部２２は、シーケンステーブル３４の２行目から１レコードずつ順次参照して、パラメータ３０を用いて、パラメータ３０に対応付けられたサイズのデータを順次生成する。なお、以下では、生成部２２によりシーケンステーブル３４が参照されて生成されたデータを「テストデータ」という。
【００２２】
送信部２４は、生成部２２により生成されたパラメータテーブル３２の全レコードを、テストに先立って、ネットワーク１６以外のテスト済みのネットワークを介して情報処理装置１４に送信する。また、送信部２４は、生成部２２により生成されたシーケンステーブル３４の全レコードを、テストに先立って、ネットワーク１６以外のテスト済みのネットワークを介して情報処理装置１４に送信する。また、送信部２４は、生成部２２により生成されたテストデータを、ネットワーク１６を介して、順次情報処理装置１４に送信する。
【００２３】
次に、図５を参照して、本実施形態に係る情報処理装置１４の機能的な構成を説明する。図５に示すように、情報処理装置１４は、受付部４０、取得部４２、生成部４４、比較部４６、及び出力部４８を含む。また、情報処理装置１４の所定の記憶領域には、パラメータテーブル５２及びシーケンステーブル５４が記憶される。
【００２４】
パラメータテーブル５２は、情報処理装置１２から送信され、情報処理装置１４が受信したパラメータテーブル３２のレコードが記憶されるテーブルである。図６に、パラメータテーブル５２の一例を示す。図６に示すように、パラメータテーブル５２には、データのサイズとパラメータ３０とが対応付けられて記憶される。
【００２５】
シーケンステーブル５４は、情報処理装置１２から送信され、情報処理装置１４が受信したシーケンステーブル３４のレコードが記憶されるテーブルである。図７に、シーケンステーブル５４の一例を示す。図７に示すように、シーケンステーブル５４には、データのサイズとパラメータ３０とが対応付けられて記憶される。また、シーケンステーブル５４には、データのサイズ及びパラメータ３０に対応付けられて完了フラグが記憶される。また、本実施形態では、シーケンステーブル５４の１行目には、情報処理装置１２が送信するデータの個数が記憶される。完了フラグには、後述する各レコードに対する処理が未完了である場合は「０」が記憶され、完了している場合は「１」が記憶される。
【００２６】
受付部４０は、情報処理装置１２から送信されたパラメータテーブル３２のレコードを受け付ける。そして、受付部４０は、受け付けたパラメータテーブル３２のレコードをパラメータテーブル５２に記憶する。また、受付部４０は、情報処理装置１２から送信されたシーケンステーブル３４のレコードを受け付ける。そして、受付部４０は、受け付けたシーケンステーブル３４のレコードをシーケンステーブル５４に記憶する。また、受付部４０は、情報処理装置１２から送信されたテストデータを受け付ける。なお、以下では、受付部４０により受け付けられたテストデータを「受信テストデータ」という。
【００２７】
取得部４２は、受付部４０により受け付けられた受信テストデータのサイズを導出する。そして、取得部４２は、受付部４０により受け付けられた受信テストデータの生成に用いられたパラメータ３０として、パラメータテーブル５２を参照して、導出したサイズに対応付けられたパラメータ３０を取得する。
【００２８】
生成部４４は、取得部４２により取得されたパラメータ３０を用いて、受信テストデータのサイズと同じサイズのデータ（以下、「正解データ」という）を生成する。
【００２９】
比較部４６は、受信テストデータと正解データとの比較を行う。本実施形態では、比較部４６は、受信テストデータと正解データとが一致しているか否かを判定する。また、比較部４６は、受付部４０により受け付けられた受信テストデータの個数と、シーケンステーブル５４の１行目に記憶された情報処理装置１２が送信するテストデータの個数とが一致しているか否かを判定する。
【００３０】
出力部４８は、比較部４６による比較結果を出力する。本実施形態では、出力部４８は、比較部４６により受信テストデータと正解データとが一致しないと判定された場合は、受信テストデータにデータ化けが発生している旨を示す情報を出力する。また、出力部４８は、比較部４６によって、受付部４０により受け付けられた受信テストデータの個数と、情報処理装置１２が送信するテストデータの個数とが一致しないと判定された場合は、受信テストデータに抜けが発生している旨を示す情報を出力する。
【００３１】
なお、情報処理装置１２は、パラメータテーブル３２及びシーケンステーブル３４の全レコードを、ネットワークを介して情報処理装置１２に送信しなくてもよい。例えば、情報処理装置１２は、パラメータテーブル３２及びシーケンステーブル３４の全レコードを、記録媒体に記録する。そして、情報処理装置１４は、記録媒体に記録されたパラメータテーブル３２及びシーケンステーブル３４の全レコードを読み出し、読み出したレコードをパラメータテーブル５２及びシーケンステーブル５４に記憶してもよい。
【００３２】
情報処理装置１２は、例えば図８に示すコンピュータ６０で実現することができる。コンピュータ６０は、Central Processing Unit（ＣＰＵ）６１、一時記憶領域としてのメモリ６２、及び不揮発性の記憶部６３を備える。また、コンピュータ６０は、表示装置及び入力装置等の入出力装置６４を備える。また、コンピュータ６０は、記録媒体６８に対するデータの読み込みと書き込みとを制御するＲｅａｄ／Ｗｒｉｔｅ（Ｒ／Ｗ）部６５、及びネットワークに接続されるネットワークＩ／Ｆ６６を備える。ＣＰＵ６１、メモリ６２、記憶部６３、入出力装置６４、Ｒ／Ｗ部６５、及びネットワークＩ／Ｆ６６は、バス６７を介して互いに接続される。
【００３３】
記憶部６３は、Hard Disk Drive（ＨＤＤ）、Solid State Drive（ＳＳＤ）、フラッシュメモリ等によって実現することができる。記憶媒体としての記憶部６３には、コンピュータ６０を情報処理装置１２として機能させるための送信制御プログラム７０が記憶される。送信制御プログラム７０は、受付プロセス７１、生成プロセス７２、及び送信プロセス７３を有する。また、記憶部６３は、パラメータ３０、パラメータテーブル３２、及びシーケンステーブル３４が記憶される情報記憶領域７４を有する。
【００３４】
ＣＰＵ６１は、送信制御プログラム７０を記憶部６３から読み出してメモリ６２に展開し、送信制御プログラム７０が有するプロセスを実行する。ＣＰＵ６１は、受付プロセス７１を実行することで、図２に示す受付部２０として動作する。ＣＰＵ６１は、生成プロセス７２を実行することで、図２に示す生成部２２として動作する。ＣＰＵ６１は、送信プロセス７３を実行することで、図２に示す送信部２４として動作する。これにより、送信制御プログラム７０を実行したコンピュータ６０が、情報処理装置１２として機能することになる。なお、送信制御プログラム７０が有するプロセスを実行するＣＰＵ６１は、ハードウェアである。
【００３５】
また、送信制御プログラム７０により実現される機能は、例えば半導体集積回路、より詳しくはApplication Specific Integrated Circuit（ＡＳＩＣ）等で実現することも可能である。
【００３６】
情報処理装置１４は、例えば図９に示すコンピュータ８０で実現することができる。コンピュータ８０は、ＣＰＵ８１、一時記憶領域としてのメモリ８２、及び不揮発性の記憶部８３を備える。また、コンピュータ８０は、表示装置及び入力装置等の入出力装置８４を備える。また、コンピュータ８０は、記録媒体８８に対するデータの読み込みと書き込みとを制御するＲ／Ｗ部８５、及びネットワークに接続されるネットワークＩ／Ｆ８６を備える。ＣＰＵ８１、メモリ８２、記憶部８３、入出力装置８４、Ｒ／Ｗ部８５、及びネットワークＩ／Ｆ８６は、バス８７を介して互いに接続される。
【００３７】
記憶部８３は、ＨＤＤ、ＳＳＤ、フラッシュメモリ等によって実現することができる。記憶媒体としての記憶部８３には、コンピュータ８０を情報処理装置１４として機能させるためのデータ照合プログラム９０が記憶される。データ照合プログラム９０は、受付プロセス９１、取得プロセス９２、生成プロセス９３、比較プロセス９４、及び出力プロセス９５を有する。また、記憶部８３は、パラメータテーブル５２及びシーケンステーブル５４が記憶される情報記憶領域９６を有する。
【００３８】
ＣＰＵ８１は、データ照合プログラム９０を記憶部８３から読み出してメモリ８２に展開し、データ照合プログラム９０が有するプロセスを実行する。ＣＰＵ８１は、受付プロセス９１を実行することで、図５に示す受付部４０として動作する。ＣＰＵ８１は、取得プロセス９２を実行することで、図５に示す取得部４２として動作する。ＣＰＵ８１は、生成プロセス９３を実行することで、図５に示す生成部４４として動作する。ＣＰＵ８１は、比較プロセス９４を実行することで、図５に示す比較部４６として動作する。ＣＰＵ８１は、出力プロセス９５を実行することで、図５に示す出力部４８として動作する。これにより、データ照合プログラム９０を実行したコンピュータ８０が、情報処理装置１４として機能することになる。なお、データ照合プログラム９０が有するプロセスを実行するＣＰＵ８１は、ハードウェアである。
【００３９】
また、データ照合プログラム９０により実現される機能は、例えば半導体集積回路、より詳しくはＡＳＩＣ等で実現することも可能である。
【００４０】
次に、本実施形態に係る情報処理システム１０の作用を説明する。情報処理装置１２が送信制御プログラム７０を実行することで、図１０に示す事前送信処理及び図１２に示す送信処理を実行する。図１０に示す事前送信処理は、例えばユーザにより入出力装置６４の入力装置を介して、事前送信処理を実行する旨の指示が入力された場合にＣＰＵ６１により実行される。また、図１２に示す送信処理は、例えばユーザにより入出力装置６４の入力装置を介して、送信処理を実行する旨の指示が入力された場合にＣＰＵ６１により実行される。なお、図１０に示す事前送信処理は、図１２に示す送信処理に先立って実行される。
【００４１】
また、情報処理装置１４がデータ照合プログラム９０を実行することで、図１１に示す事前受信処理及び図１３に示すデータ照合処理を実行する。図１１に示す事前受信処理は、例えばユーザにより入出力装置８４の入力装置を介して、事前受信処理を実行する旨の指示が入力された場合にＣＰＵ８１により実行される。また、図１３に示すデータ照合処理は、例えばユーザにより入出力装置８４の入力装置を介して、データ照合処理を実行する旨の指示が入力された場合にＣＰＵ８１により実行される。なお、図１１に示す事前受信処理は、図１３に示すデータ照合処理に先立って実行される。
【００４２】
図１０に示す事前送信処理のステップＳ１０で、受付部２０は、パラメータ３０の個数、及び情報処理装置１２が送信するデータの個数を受け付けるまで待機する。ユーザにより入出力装置６４の入力装置を介して、パラメータ３０の個数、及び情報処理装置１２が送信するデータの個数が入力されると、ステップＳ１０の判定が肯定判定となり、処理はステップＳ１２に移行する。
【００４３】
ステップＳ１２で、生成部２２は、前述したように、全パラメータ３０の中から、ステップＳ１０で受け付けられたパラメータ３０の個数のパラメータ３０を抽出し、パラメータテーブル３２を生成する。次のステップＳ１４で、生成部２２は、前述したように、ステップＳ１０で受け付けられたデータの個数、及びステップＳ１２で生成されたパラメータテーブル３２に基づいて、シーケンステーブル３４を生成する。
【００４４】
次のステップＳ１６で、送信部２４は、ステップＳ１２で生成されたパラメータテーブル３２の全レコードを、ネットワーク１６以外のテスト済みのネットワークを介して情報処理装置１４に送信する。また、送信部２４は、ステップＳ１４で生成されたシーケンステーブル３４の全レコードを、ネットワーク１６以外のテスト済みのネットワークを介して情報処理装置１４に送信する。ステップＳ１６の処理が終了すると、事前送信処理が終了する。
【００４５】
図１１に示す事前受信処理のステップＳ２０で、受付部４０は、上記事前送信処理のステップＳ１６で送信されたパラメータテーブル３２の全レコード及びシーケンステーブル３４の全レコードを受け付けるまで待機する。上記事前送信処理のステップＳ１６で送信されたパラメータテーブル３２の全レコード及びシーケンステーブル３４の全レコードを受付部４０が受け付けると、ステップＳ２０の判定が肯定判定となり、処理はステップＳ２２に移行する。
【００４６】
ステップＳ２２で、受付部４０は、ステップＳ２０で受け付けられたパラメータテーブル３２の全レコードをパラメータテーブル５２に記憶する。次のステップＳ２４で、受付部４０は、ステップＳ２０で受け付けられたシーケンステーブル３４の全レコードをシーケンステーブル５４に記憶する。次のステップＳ２６で、受付部４０は、シーケンステーブル５４の各レコードの完了フラグ列に「０」を記憶することによって、完了フラグを初期化する。ステップＳ２６の処理が終了すると、事前受信処理が終了する。
【００４７】
図１２に示す送信処理のステップＳ３０で、生成部２２は、シーケンステーブル３４の１行目に記憶された情報処理装置１２が送信するデータの個数を読み出す。そして、生成部２２は、読み出したデータの個数を変数Ｎに代入する。次のステップＳ３２で、生成部２２は、変数ｉに「１」を代入する。
【００４８】
次のステップＳ３４で、生成部２２は、シーケンステーブル３４の（ｉ＋１）行目のレコードのデータのサイズ及びパラメータ３０を読み出す。そして、生成部２２は、読み出したパラメータ３０を用いて、読み出したサイズのテストデータを生成する。次のステップＳ３６で、送信部２４は、ステップＳ３４で生成されたテストデータを、ネットワーク１６を介して、情報処理装置１４に送信する。
【００４９】
次のステップＳ３８で、生成部２２は、変数ｉをインクリメントする。次のステップＳ４０で、生成部２２は、変数ｉの値が変数Ｎの値より大きいか否かを判定する。この判定が否定判定となった場合は、処理はステップＳ３４に戻り、肯定判定となった場合は、処理はステップＳ４２に移行する。
【００５０】
すなわち、ステップＳ３４〜ステップＳ４０の繰り返し処理により、シーケンステーブル３４の２行目以降の各レコードのデータのサイズ及びパラメータ３０に従って、テストデータが生成され、生成されたテストデータが情報処理装置１４に順次送信される。
【００５１】
ステップＳ４２で、送信部２４は、全てのテストデータの送信が終了したことを示す終了通知情報を情報処理装置１４に送信する。ステップＳ４２の処理が終了すると、送信処理が終了する。
【００５２】
図１３に示すデータ照合処理のステップＳ５０で、受付部４０は、変数ｊに「１」を代入する。また、受付部４０は、エラーフラグに「０」を代入する。次のステップＳ５２で、受付部４０は、上記送信処理のステップＳ３６で送信されたテストデータを受け付けたか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ５４に移行し、否定判定となった場合は、処理はステップＳ７４に移行する。
【００５３】
ステップＳ５４で、取得部４２は、ステップＳ５２で受け付けられた受信テストデータのサイズを導出する。次のステップＳ５６で、取得部４２は、ステップＳ５４で導出されたサイズに対応するデータサイズのレコードがシーケンステーブル５４に存在するか否かを判定する。この判定が否定判定となった場合は、処理はステップＳ５８に移行し、肯定判定となった場合は、処理はステップＳ６０に移行する。なお、取得部４２は、ステップＳ５６の判定を、パラメータテーブル５２を参照して行ってもよい。
【００５４】
ステップＳ５８で、出力部４８は、ｊ件目の受信テストデータのサイズが異常である旨を示す情報を、入出力装置８４の表示装置に出力する。ステップＳ５８の処理により、一例として図１４に示すように、表示装置にｊ（図１４に示す例ではｊ＝１２３）件目の受信テストデータのサイズが異常である旨を示す情報１００が表示される。ステップＳ５８の処理が終了すると、処理はステップＳ７０に移行する。
【００５５】
一方、ステップＳ６０で、取得部４２は、シーケンステーブル５４を参照し、ステップＳ５４で導出されたサイズに対応するパラメータ３０を取得する。なお、シーケンステーブル５４にステップＳ５４で導出されたサイズに対応するパラメータ３０が複数存在する場合、取得部４２は、以下に示す処理でパラメータ３０を取得する。この場合、取得部４２は、シーケンステーブル５４の２行目以降を１レコードずつ順次参照し、完了フラグ列が「０」で、かつデータサイズ列の値がステップＳ５４で導出されたサイズに一致する最初のレコードのパラメータ３０を取得する。
【００５６】
次のステップＳ６２で、取得部４２は、ステップＳ６０で取得されたパラメータ３０に対応するシーケンステーブル５４の完了フラグ列に「１」を記憶する。次のステップＳ６４で、生成部４４は、ステップＳ６０で取得されたパラメータ３０を用いて、ステップＳ５４で導出されたサイズと同じサイズの正解データを生成する。次のステップＳ６６で、比較部４６は、ステップＳ５２で受け付けられた受信テストデータと、ステップＳ６４で生成された正解データとが一致するか否かを判定する。この判定が否定判定となった場合は、処理はステップＳ６８に移行し、肯定判定となった場合は、処理はステップＳ７２に移行する。
【００５７】
ステップＳ６８で、出力部４８は、ｊ件目の受信テストデータにデータ化けが発生している旨を示す情報を、入出力装置８４の表示装置に出力する。ステップＳ６８の処理により、一例として図１４に示すように、表示装置にｊ（図１４に示す例ではｊ＝１４、４５６）件目の受信テストデータにデータ化けが発生している旨を示す情報１０２が表示される。ステップＳ６８の処理が終了すると、処理はステップＳ７０に移行する。ステップＳ７０で、受付部４０は、エラーフラグに「１」を代入する。
【００５８】
ステップＳ７２で、受付部４０は、変数ｊをインクリメントする。ステップＳ７４で、受付部４０は、上記送信処理のステップＳ４２の処理により送信された終了通知情報を受信したか否かを判定する。この判定が否定判定となった場合は、処理はステップＳ５２に戻り、肯定判定となった場合は、処理はステップＳ７６に移行する。
【００５９】
ステップＳ７６で、比較部４６は、変数ｋに「１」を代入し、変数ｍに「０」を代入する。次のステップＳ７８で、比較部４６は、シーケンステーブル５４の１行目に記憶された情報処理装置１２が送信するデータの個数を読み出す。そして、比較部４６は、読み出したデータの個数を変数Ｍに代入する。次のステップＳ８０で、比較部４６は、シーケンステーブル５４の（ｋ＋１）行目のレコードの完了フラグが「１」であるか否かを判定する。この判定により、比較部４６は、シーケンステーブル５４の（ｋ＋１）行目のレコードに対応する受信テストデータが受付部４０により受け付けられたか否かを判定する。この判定が否定判定となった場合は、処理はステップＳ８２に移行し、肯定判定となった場合は、処理はステップＳ８６に移行する。
【００６０】
ステップＳ８２で、比較部４６は、変数ｍをインクリメントする。すなわち、変数ｍにはデータ抜けの発生件数が格納される。ステップＳ８４で、出力部４８は、シーケンステーブル５４のｋ件目のパラメータ３０を用いて生成されたデータを受信していない（すなわち、データ抜けが発生している）旨を示す情報を、入出力装置８４の表示装置に出力する。ステップＳ８４の処理により、一例として図１４に示すように、表示装置にシーケンステーブル５４のｋ（図１４に示す例ではｋ＝３４５）件目のパラメータ３０を用いて生成されたデータを受信していない旨を示す情報１０４が表示される。ステップＳ８４の処理が終了すると、処理はステップＳ８６に移行する。
【００６１】
ステップＳ８６で、比較部４６は、変数ｋをインクリメントする。次のステップＳ８８で、比較部４６は、変数ｋの値が変数Ｍの値より大きいか否かを判定する。この判定が否定判定となった場合は、処理はステップＳ８０に戻り、肯定判定となった場合は、処理はステップＳ９０に移行する。
【００６２】
ステップＳ９０で、比較部４６は、変数ｍの値が０より大きいか否かを判定する。この判定が否定判定となった場合は、処理はステップＳ９４に移行し、肯定判定となった場合は、処理はステップＳ９２に移行する。ステップＳ９２で、出力部４８は、変数ｍの値を入出力装置８４の表示装置に出力することによって、データ抜けの発生件数を入出力装置８４の表示装置に出力する。ステップＳ９２の処理により、一例として図１４に示すように、表示装置にデータ抜けの発生件数（図１４に示す例では２件）を示す情報１０６が表示される。ステップＳ９２の処理が終了すると、データ照合処理が終了する。
【００６３】
一方、ステップＳ９４で、比較部４６は、エラーフラグが「１」であるか否かを判定する。この判定が否定判定となった場合は、処理はステップＳ９６に移行する。ステップＳ９６で、全データを正常に受信した旨を示す情報を入出力装置８４の表示装置に出力する。ステップＳ９６の処理により、一例として図１５に示すように、表示装置に全データを正常に受信した旨を示す情報１０８が表示される。ステップＳ９６の処理が終了すると、データ照合処理が終了する。また、ステップＳ９４の判定が肯定判定となった場合も、データ照合処理が終了する。
【００６４】
以上説明したように、本実施形態によれば、受信テストデータのサイズに対応付けられたパラメータ３０を取得し、取得したパラメータ３０を用いて正解データを生成する。そして、受信テストデータと正解データとを比較する。従って、データの変更を行わずに、データの一致性の判定を行うことができる。
【００６５】
また、本実施形態によれば、送信側の情報処理装置１２が送信するデータの個数と、受信側の情報処理装置１４が受信したデータの個数とを比較する。従って、データ抜けが発生したことを検知することができる。また、シーケンステーブル５４を用いてデータ抜けのチェックをしているため、シーケンステーブル５４の何件目のレコードに対応するデータが抜けたかを特定することができる。
【００６６】
［第２実施形態］
上記第１実施形態では、データのサイズから一意にパラメータ３０を特定できる場合について説明した。しかしながら、例えば、境界値テストを行う場合は、境界値付近の１つのデータのサイズについて、複数の異なるデータを用いてテストを行うこともある。そこで、本実施形態では、１つのデータのサイズに複数のパラメータ３０が対応付けられる場合について説明する。また、上記第１実施形態では、ネットワーク層でのデータの送受信のテストを行う場合について説明したが、本実施形態では、ソフトウェアも含めたデータの送受信のテストを行う場合について説明する。
【００６７】
まず、図１を参照して、本実施形態に係る情報処理システム１０の構成を説明する。図１に示すように、情報処理システム１０は、情報処理装置２１２及び情報処理装置２１４を含む。情報処理装置２１２及び情報処理装置２１４は、互いに通信可能にネットワーク１６に接続される。なお、本実施形態では、一例として、情報処理装置２１２が送信側の装置であり、情報処理装置２１４が情報処理装置２１２から送信されたデータを受信し、受信したデータの照合を行うデータ照合装置である場合について説明する。
【００６８】
次に、図１６を参照して、本実施形態に係る情報処理装置２１２の機能的な構成を説明する。なお、図１６における図２と同一の構成要素については、同一の符号を付して説明を省略する。図１６に示すように、情報処理装置２１２は、生成部２２２、指示部２２３、送信部２２４、及び出力部２２６を含む。また、情報処理装置２１２の所定の記憶領域には、複数のパラメータ３０、パラメータテーブル２３２、送信管理テーブル２３４、及びテストデータＴＤが記憶される。
【００６９】
パラメータテーブル２３２は、パラメータ３０の管理に用いられるテーブルである。図１７に、パラメータテーブル２３２の一例を示す。図１７に示すように、パラメータテーブル２３２には、データのサイズとパラメータ３０とカテゴリとが対応付けられて記憶される。カテゴリには、データのサイズとパラメータ３０とが１対１で対応付けられる場合は「１」が記憶され、１つのデータのサイズに対して複数のパラメータ３０が対応付けられる場合は「２」が記憶される。
【００７０】
送信管理テーブル２３４は、情報処理装置２１２がデータを送信する際に用いられるテーブルである。図１８に、送信管理テーブル２３４の一例を示す。図１８に示すように、送信管理テーブル２３４には、データのサイズとパラメータ３０と送信バッファの先頭アドレスとが対応付けられて記憶される。
【００７１】
生成部２２２は、例えば、テスト対象とするデータのサイズ及びパラメータ３０等のユーザにより予め規定されたテストの要件に従って、パラメータテーブル２３２を生成する。この生成の際、生成部２２２は、１つのデータのサイズについて１つのパラメータ３０を用いてテストデータを生成することが規定されたデータのサイズ及びパラメータ３０の組み合わせのカテゴリには「１」を記憶する。また、生成部２２２は、１つのデータのサイズについて複数のパラメータ３０の各々を用いて複数のテストデータを生成することが規定されたデータのサイズ及びパラメータ３０の組み合わせのカテゴリには「２」を記憶する。
【００７２】
また、生成部２２２は、ユーザにより定義されたテストに用いるパラメータ３０を示す情報、及びデータの送信数等に従い、パラメータテーブル２３２を参照し、パラメータ３０を用いてパラメータ３０に対応付けられたサイズのテストデータＴＤを生成する。
【００７３】
指示部２２３は、生成部２２２により生成されたテストデータＴＤを情報処理装置２１４に送信する指示（以下、「送信指示」という）を送信部２２４に出力する。
【００７４】
送信部２２４は、生成部２２２により生成されたパラメータテーブル２３２の全レコードを、テストに先立って、ネットワーク１６以外のテスト済みのネットワークを介して情報処理装置２１４に送信する。
【００７５】
また、送信部２２４は、生成部２２２によるテストデータＴＤの生成が完了すると、情報処理装置２１２のメモリ等の記憶領域から、生成部２２２により生成されたテストデータＴＤを記憶するための送信バッファを確保する。また、送信部２２４は、生成部２２２により生成されたテストデータＴＤを、確保した送信バッファにコピーする。そして、送信部２２４は、テストデータＴＤのサイズ、テストデータＴＤの生成に用いられたパラメータ３０、及び確保した送信バッファの先頭アドレスを送信管理テーブル２３４に記憶する。
【００７６】
また、送信部２２４は、指示部２２３により送信指示が入力されると、生成部２２２により生成されたテストデータＴＤと、送信バッファに記憶されたテストデータＴＤとが一致する場合、以下の処理を行う。この場合、送信部２２４は、パラメータテーブル２３２を参照し、送信対象のテストデータＴＤのサイズに対応するカテゴリが「１」である場合、テストデータＴＤを、ネットワーク１６を介して情報処理装置２１４に送信する。送信部２２４は、パラメータテーブル２３２を参照し、送信対象のテストデータＴＤのサイズに対応するカテゴリが「２」である場合、以下に示す処理を行う。この場合、送信部２２４は、テストデータＴＤをネットワーク１６を介して送信する際に、テストデータＴＤのサイズに対応するパラメータ３０を、テストデータＴＤに付加される制御情報に格納して送信する。なお、制御情報としては、例えば、ＴＣＰヘッダのオプションフィールドが挙げられる。
【００７７】
出力部２２６は、生成部２２２により生成されたテストデータＴＤと、送信バッファに記憶されたテストデータＴＤとが一致しない場合、２つのテストデータＴＤが一致しない旨を示す情報を出力する。
【００７８】
次に、図１９を参照して、本実施形態に係る情報処理装置２１４の機能的な構成を説明する。情報処理装置２１４は、受付部２４０、取得部２４２、生成部２４４、比較部２４６、及び出力部２４８を含む。情報処理装置２１４の所定の記憶領域には、パラメータテーブル２５２が記憶される。
【００７９】
パラメータテーブル２５２には、パラメータテーブル２３２（図１７参照）と同じ情報が記憶される。
【００８０】
受付部２４０は、情報処理装置２１２から送信されたパラメータテーブル２３２のレコードを受け付ける。そして、受付部２４０は、受け付けたパラメータテーブル２３２のレコードをパラメータテーブル２５２に記憶する。また、受付部２４０は、情報処理装置１２から送信されたテストデータＴＤ（以下、「受信テストデータ」という）を受け付ける。
【００８１】
取得部２４２は、受付部２４０により受け付けられた受信テストデータのサイズを導出する。そして、取得部２４２は、パラメータテーブル２５２を参照して、導出したサイズに対応付けられたカテゴリが「１」である場合、以下に示す処理を行う。この場合、取得部２４２は、受付部２４０により受け付けられた受信テストデータの生成に用いられたパラメータ３０として、導出したサイズに対応付けられたパラメータ３０を取得する。
【００８２】
一方、取得部２４２は、パラメータテーブル２５２を参照して、導出したサイズに対応付けられたカテゴリが「２」である場合、以下に示す処理を行う。この場合、取得部２４２は、受付部２４０により受け付けられた受信テストデータの生成に用いられたパラメータ３０として、受信テストデータに付加された制御情報に格納されたパラメータ３０を取得する。
【００８３】
生成部２４４は、取得部２４２により取得されたパラメータ３０を用いて、受信テストデータのサイズと同じサイズの正解データを生成する。
【００８４】
比較部２４６は、受信テストデータと正解データとの比較を行う。本実施形態では、比較部２４６は、受信テストデータと正解データとが一致しているか否かを判定する。
【００８５】
出力部２４８は、比較部２４６による比較結果を出力する。本実施形態では、出力部２４８は、比較部２４６により受信テストデータと正解データとが一致しないと判定された場合は、受信テストデータにデータ化けが発生している旨を示す情報を出力する。
【００８６】
情報処理装置２１２は、例えば図２０に示すコンピュータ２６０で実現することができる。なお、図２０における図８と同一の構成要素については、同一の符号を付して説明を省略する。
【００８７】
記憶部６３には、コンピュータ２６０を情報処理装置２１２として機能させるための送信制御プログラム２７０が記憶される。送信制御プログラム２７０は、生成プロセス２７１、指示プロセス２７２、送信プロセス２７３、及び出力プロセス２７４を有する。また、記憶部６３は、パラメータ３０及びパラメータテーブル２３２が記憶される情報記憶領域２７５を有する。また、メモリ６２は、送信管理テーブル２３４が記憶される情報記憶領域２７６を有する。また、情報記憶領域２７６には、送信部２２４により前述した送信バッファが確保される。
【００８８】
ＣＰＵ６１は、送信制御プログラム２７０を記憶部６３から読み出してメモリ６２に展開し、送信制御プログラム２７０が有するプロセスを実行する。ＣＰＵ６１は、生成プロセス２７１を実行することで、図１６に示す生成部２２２として動作する。ＣＰＵ６１は、指示プロセス２７２を実行することで、図１６に示す指示部２２３として動作する。ＣＰＵ６１は、送信プロセス２７３を実行することで、図１６に示す送信部２２４として動作する。ＣＰＵ６１は、出力プロセス２７４を実行することで、図１６に示す出力部２４８として動作する。これにより、送信制御プログラム２７０を実行したコンピュータ２６０が、情報処理装置２１２として機能することになる。
【００８９】
また、送信制御プログラム２７０により実現される機能は、例えば半導体集積回路、より詳しくはＡＳＩＣ等で実現することも可能である。
【００９０】
情報処理装置２１４は、例えば図２１に示すコンピュータ２８０で実現することができる。なお、図２１における図９と同一の構成要素については、同一の符号を付して説明を省略する。
【００９１】
記憶部８３には、コンピュータ２８０を情報処理装置２１４として機能させるためのデータ照合プログラム２９０が記憶される。データ照合プログラム２９０は、受付プロセス２９１、取得プロセス２９２、生成プロセス２９３、比較プロセス２９４、及び出力プロセス２９５を有する。また、記憶部８３は、パラメータテーブル２５２が記憶される情報記憶領域２９６を有する。
【００９２】
ＣＰＵ８１は、データ照合プログラム２９０を記憶部８３から読み出してメモリ８２に展開し、データ照合プログラム２９０が有するプロセスを実行する。ＣＰＵ８１は、受付プロセス２９１を実行することで、図１９に示す受付部２４０として動作する。ＣＰＵ８１は、取得プロセス２９２を実行することで、図１９に示す取得部２４２として動作する。ＣＰＵ８１は、生成プロセス２９３を実行することで、図１９に示す生成部２４４として動作する。ＣＰＵ８１は、比較プロセス２９４を実行することで、図１９に示す比較部２４６として動作する。ＣＰＵ８１は、出力プロセス２９５を実行することで、図１９に示す出力部２４８として動作する。これにより、データ照合プログラム２９０を実行したコンピュータ２８０が、情報処理装置２１４として機能することになる。
【００９３】
また、データ照合プログラム２９０により実現される機能は、例えば半導体集積回路、より詳しくはＡＳＩＣ等で実現することも可能である。
【００９４】
次に、本実施形態に係る情報処理システム１０の作用を説明する。情報処理装置２１２が送信制御プログラム２７０を実行することで、図２２に示す事前送信処理、図２４に示す送信準備処理、及び図２５に示す送信処理を実行する。図２２に示す事前送信処理は、例えばユーザにより入出力装置６４の入力装置を介して、事前送信処理を実行する旨の指示が入力された場合にＣＰＵ６１により実行される。また、図２４に示す送信準備処理は、例えば図２２に示す事前送信処理が終了した場合にＣＰＵ６１により実行される。また、図２５に示す送信処理は、例えばユーザにより入出力装置６４の入力装置を介して、送信処理を実行する旨の指示が入力された場合にＣＰＵ６１により実行される。すなわち、この指示が入力されることにより、前述した指示部２２３により送信指示が送信部２２４に入力され、送信処理が実行される。なお、図２２に示す事前送信処理、及び図２４に示す送信準備処理は、図２５に示す送信処理に先立って実行される。
【００９５】
また、情報処理装置２１４がデータ照合プログラム２９０を実行することで、図２３に示す事前受信処理及び図２６に示すデータ照合処理を実行する。図２３に示す事前受信処理は、例えばユーザにより入出力装置８４の入力装置を介して、事前受信処理を実行する旨の指示が入力された場合にＣＰＵ８１により実行される。また、図２６に示すデータ照合処理は、情報処理装置２１２により送信されたテストデータＴＤを情報処理装置２１４が受信した場合にＣＰＵ８１により実行される。なお、図２３に示す事前受信処理は、図２６に示すデータ照合処理に先立って実行される。
【００９６】
図２２に示す事前送信処理のステップＳ２００で、生成部２２２は、前述したように、予め規定されたテストの要件に従って、パラメータテーブル２３２を生成する。次のステップＳ２０２で、送信部２２４は、ステップＳ２００で生成されたパラメータテーブル２３２の全レコードを、ネットワーク１６以外のテスト済みのネットワークを介して情報処理装置２１４に送信する。ステップＳ２０２の処理が終了すると、事前送信処理が終了する。
【００９７】
図２３に示す事前受信処理のステップＳ２１０で、受付部２４０は、上記事前送信処理のステップＳ２０２で送信されたパラメータテーブル２３２の全レコードを受け付けるまで待機する。上記事前送信処理のステップＳ２０２で送信されたパラメータテーブル２３２の全レコードを受付部２４０が受け付けると、ステップＳ２１０の判定が肯定判定となり、処理はステップＳ２１２に移行する。ステップＳ２１２で、受付部２４０は、ステップＳ２１０で受け付けられたパラメータテーブル２３２の全レコードをパラメータテーブル２５２に記憶する。ステップＳ２１２の処理が終了すると、事前受信処理が終了する。
【００９８】
図２４に示す送信準備処理のステップＳ２２０で、生成部２２２は、ユーザにより定義されたテストに用いるパラメータ３０を示す情報及びデータの送信数等に従い、パラメータ３０を用いて、パラメータ３０に対応付けられたサイズのテストデータＴＤを生成する。次のステップＳ２２２で、送信部２２４は、ステップＳ２２０で生成された各テストデータＴＤを記憶するための送信バッファを各々確保する。
【００９９】
次のステップＳ２２４で、送信部２２４は、ステップＳ２２０で生成された各テストデータＴＤを、ステップＳ２２２で確保された対応する送信バッファにコピーする。次のステップＳ２２６で、送信部２２４は、テストデータＴＤのサイズ、テストデータＴＤの生成に用いられたパラメータ３０、及び確保した送信バッファの先頭アドレスを送信管理テーブル２３４に記憶する。ステップＳ２２６の処理が終了すると、送信準備処理が終了する。
【０１００】
図２５に示す送信処理のステップＳ２３０で、送信部２２４は、指示部２２３により指示された送信対象のテストデータＴＤのサイズを導出する。次のステップＳ２３２で、送信部２２４は、パラメータテーブル２３２を参照し、ステップＳ２２４で導出されたテストデータＴＤのサイズに対応するカテゴリが「１」であるか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ２３４に移行し、否定判定となった場合は、送信部２２４はカテゴリが「２」であると見なして、処理はステップＳ２４２に移行する。
【０１０１】
ステップＳ２３４で、送信部２２４は、送信管理テーブル２３４を参照し、ステップＳ２３０で導出されたサイズに対応する送信バッファの先頭アドレスを取得する。次のステップＳ２３６で、送信部２２４は、指示部２２３により指示された送信対象のテストデータＴＤと、送信バッファに記憶されたテストデータＴＤとが一致するか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ２３８に移行し、否定判定となった場合は、処理はステップＳ２４０に移行する。
【０１０２】
ステップＳ２３８で、送信部２２４は、ステップＳ２３４で取得された送信バッファに記憶されたテストデータＴＤを、ネットワーク１６を介して情報処理装置２１４に送信する。ステップＳ２３８の処理が終了すると、送信処理が終了する。
【０１０３】
ステップＳ２４０で、出力部２２６は、送信対象のテストデータＴＤと送信バッファに記憶されたテストデータＴＤとが一致しない旨を示す情報を入出力装置８４の表示装置に出力する。ステップＳ２４０の処理が終了すると、送信処理が終了する。
【０１０４】
一方、ステップＳ２４２で、送信部２２４は、送信管理テーブル２３４を参照し、ステップＳ２３０で導出されたサイズに対応する全ての送信バッファの先頭アドレスを取得する。次のステップＳ２４４で、送信部２２４は、ステップＳ２４２で取得された各送信バッファに記憶されたテストデータＴＤに、指示部２２３により指示された送信対象のテストデータＴＤと一致するデータが存在するか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ２４６に移行し、否定判定となった場合は、処理はステップＳ２４８に移行する。
【０１０５】
ステップＳ２４６で、送信部２２４は、ステップＳ２４４で送信対象のテストデータＴＤと一致するデータが記憶されていると判定された送信バッファに記憶されたテストデータＴＤを、ネットワーク１６を介して情報処理装置２１４に送信する。この送信の際、送信部２２４は、送信管理テーブル２３４を参照し、送信バッファの先頭アドレスに対応するパラメータ３０を、テストデータＴＤに付加される制御情報に格納して情報処理装置２１４に送信する。ステップＳ２４６の処理が終了すると、送信処理が終了する。
【０１０６】
ステップＳ２４８で、出力部２２６は、送信対象のテストデータＴＤと送信バッファに記憶されたテストデータＴＤとが一致しない旨を示す情報を入出力装置８４の表示装置に出力する。ステップＳ２４８の処理が終了すると、送信処理が終了する。
【０１０７】
図２６に示すデータ照合処理のステップＳ２６０で、受付部２４０は、上記送信処理により情報処理装置２１２から送信されたテストデータＴＤ（受信テストデータ）を受け付ける。次のステップＳ２６２で、取得部２４２は、ステップＳ２６０で受け付けられた受信テストデータのサイズを導出する。
【０１０８】
次のステップＳ２６４で、取得部２４２は、パラメータテーブル２５２を参照し、ステップＳ２６２で導出された受信テストデータのサイズに対応するカテゴリが「１」であるか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ２６６に移行し、否定判定となった場合は、取得部２４２はカテゴリが「２」であると見なして、処理はステップＳ２６８に移行する。
【０１０９】
ステップＳ２６６で、取得部２４２は、パラメータテーブル２５２を参照し、ステップＳ２６２で導出された受信テストデータのサイズに対応するパラメータ３０を取得する。一方、ステップＳ２６８で、取得部２４２は、ステップＳ２６０で受け付けられた受信テストデータに付加された制御情報に格納されたパラメータ３０を取得する。
【０１１０】
ステップＳ２７０で、生成部２４４は、ステップＳ２６６又はステップＳ２６８で取得されたパラメータ３０を用いて、ステップＳ２６２で導出されたサイズと同じサイズの正解データを生成する。次のステップＳ２７２で、比較部２４６は、ステップＳ２６０で受け付けられた受信テストデータと、ステップＳ２７０で生成された正解データとが一致するか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ２７４に移行し、否定判定となった場合は、処理はステップＳ２７６に移行する。
【０１１１】
ステップＳ２７４で、出力部２４８は、情報処理装置２１４で稼動するテスト対象のソフトウェアに、テストデータの受信が正常に終了した旨を通知する。これにより、テスト対象のソフトウェアは、受信されたテストデータを用いて所定の処理を行う。ステップＳ２７４の処理が終了すると、データ照合処理が終了する。
【０１１２】
一方、ステップＳ２７６で、出力部２４８は、受信テストデータと正解データとが一致しない旨を示す情報を入出力装置８４の表示装置に出力する。ステップＳ２７６の処理が終了すると、データ照合処理が終了する。
【０１１３】
次に、図２７を参照して、情報処理システム１０の一連の処理の流れの一例を説明する。図２７に示すように、ステップＳ３００で、情報処理装置２１２で稼動する事前動作プログラムが上記事前送信処理を実行する。これにより、情報処理装置２１２でパラメータテーブル２３２が生成され、かつ情報処理装置２１４に送信される。情報処理装置２１４では上記事前受信処理が実行され、パラメータテーブル２５２が記憶される。
【０１１４】
ステップＳ３０２で、データ生成プログラムが上記送信準備処理のステップＳ２２０の処理により、テストデータＴＤを生成する。ステップＳ３０４で、ネットワークドライバが上記送信準備処理のステップＳ２２２〜Ｓ２２６の処理により、テストデータＴＤを送信バッファにコピーする。
【０１１５】
ステップＳ３０６で、テスト対象ソフトウェアがデータ生成プログラムにより生成されたテストデータＴＤの送信を、ネットワークドライバに指示する。ネットワークドライバは、この指示を受け付けると、上記送信処理を実行する。すなわち、ネットワークドライバは、データ生成プログラムにより生成されたテストデータＴＤに対応する送信バッファを取得する。そして、ステップＳ３０８で、ネットワークドライバは、テスト対象ソフトウェアにより指示された送信対象のテストデータＴＤと、取得した送信バッファに記憶されたテストデータＴＤが一致するか否かを判定する。
【０１１６】
この判定が肯定判定となった場合は、ステップＳ３１０で、ネットワークドライバは、テストデータＴＤを情報処理装置２１４に送信する。この送信の際、テストデータＴＤを生成する際に用いられたパラメータ３０のカテゴリが「２」の場合は、ネットワークドライバは、テストデータＴＤに付加される制御情報に、パラメータ３０を格納して情報処理装置２１４に送信する。一方、この判定が否定判定となった場合は、ネットワークドライバは、２つのテストデータＴＤが一致しない旨を示す情報を出力することによってエラー出力を行う。従って、テスト対象ソフトウェアにバグが含まれることによって、送信対象とするテストデータＴＤを取り違えたことを検知することができる。
【０１１７】
情報処理装置２１４のネットワークドライバは、テストデータＴＤ（受信テストデータ）を受信すると、パラメータテーブル２５２を参照し、受信テストデータのサイズに対応するパラメータ３０を取得する。ここで、受信テストデータのサイズに対応するカテゴリが「２」の場合は、ネットワークドライバは、テストデータＴＤに付加された制御情報に格納されたパラメータ３０を取得する。次に、ステップＳ３１２で、ネットワークドライバは、取得したパラメータ３０を用いて、受信テストデータのサイズと同じサイズの正解データを生成する。
【０１１８】
次に、ステップＳ３１４で、ネットワークドライバは、受信テストデータと正解データとが一致するか否かを判定する。この判定が肯定判定となった場合は、ステップＳ３１６で、ネットワークドライバは、データの受信が正常に終了した旨をテスト対象ソフトウェアに通知する。一方、この判定が否定判定となった場合は、ネットワークドライバは、受信テストデータと正解データとが一致しない旨を示す情報を出力することによってエラー出力を行う。
【０１１９】
以上説明したように、本実施形態によれば、１つのデータのサイズに複数のパラメータ３０が対応付けられている場合、テストデータＴＤに付加される制御情報にパラメータ３０が格納される。すなわち、制御情報にパラメータ３０が格納されるため、送信対象の実データは変更されない。従って、１つのデータのサイズに複数のパラメータ３０が対応付けられている場合においても、データの変更を行わずに、データの一致性の判定を行うことができる。
【０１２０】
なお、上記各実施形態では、情報処理装置１２、２１２が送信側の装置であり、情報処理装置１４、２１４が情報処理装置１２、２１２から送信されたデータを受信してデータの照合を行うデータ照合装置である場合について説明したが、これに限定されない。情報処理装置１４、２１４が送信側の装置であり、情報処理装置１２、２１２が情報処理装置１４、２１４から送信されたデータを受信してデータの照合を行うデータ照合装置であってもよい。
【０１２１】
また、上記第２実施形態において、上記第１実施形態と同様に、情報処理装置２１２により送信されるデータの個数と、情報処理装置２１４が受け付けたデータの個数とを比較してもよい。
【０１２２】
また、上記各実施形態では、送信制御プログラム７０、２７０及びデータ照合プログラム９０、２９０が、記憶部６３及び記憶部８３に予め記憶（インストール）されている態様を説明したが、これに限定されない。送信制御プログラム７０、２７０及びデータ照合プログラム９０、２９０は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＵＳＢメモリ、メモリカード等の記録媒体に記録された形態で提供することも可能である。
【０１２３】
以上の各実施形態に関し、更に以下の付記を開示する。
【０１２４】
（付記１）
データを受け付けると、データの生成に用いた情報を該データのサイズに対応付けて記憶する記憶部を参照して、受け付けた前記データのサイズに対応付けられた情報を取得し、
取得した前記情報を用いてデータを生成し、
生成した前記データと、受け付けた前記データとの比較を行い、
比較結果を出力する、
処理をコンピュータに実行させることを特徴とするデータ照合プログラム。
【０１２５】
（付記２）
前記記憶部は、１つのサイズに対応付けて、複数のデータの生成の各々に用いた情報を記憶し、
受け付けた前記データのサイズに対応付けられた情報が前記記憶部に複数記憶される場合、受け付けた前記データに付加された制御情報から受け付けた前記データのサイズに対応付けられた情報を取得する、
ことを特徴とする付記１に記載のデータ照合プログラム。
【０１２６】
（付記３）
送信側の情報処理装置により送信される一連のデータの生成に用いた情報の各々を該データのサイズに対応付けて記憶する記憶部を参照して、前記送信側の情報処理装置により送信されるデータの個数と、受け付けたデータの個数との比較を更に行う、
ことを特徴とする付記１又は付記２に記載のデータ照合プログラム。
【０１２７】
（付記４）
データを受け付けると、データの生成に用いた情報を該データのサイズに対応付けて記憶する記憶部を参照して、受け付けた前記データのサイズに対応付けられた情報を取得し、
取得した前記情報を用いてデータを生成し、
生成した前記データと、受け付けた前記データとの比較を行い、
比較結果を出力する、
処理をコンピュータが実行することを特徴とするデータ照合方法。
【０１２８】
（付記５）
前記記憶部は、１つのサイズに対応付けて、複数のデータの生成の各々に用いた情報を記憶し、
受け付けた前記データのサイズに対応付けられた情報が前記記憶部に複数記憶される場合、受け付けた前記データに付加された制御情報から受け付けた前記データのサイズに対応付けられた情報を取得する、
ことを特徴とする付記４に記載のデータ照合方法。
【０１２９】
（付記６）
送信側の情報処理装置により送信される一連のデータの生成に用いた情報の各々を該データのサイズに対応付けて記憶する記憶部を参照して、前記送信側の情報処理装置により送信されるデータの個数と、受け付けたデータの個数との比較を更に行う、
ことを特徴とする付記４又は付記５に記載のデータ照合方法。
【０１３０】
（付記７）
データを受け付けると、データの生成に用いた情報を該データのサイズに対応付けて記憶する記憶部を参照して、受け付けた前記データのサイズに対応付けられた情報を取得する取得部と、
取得された前記情報を用いてデータを生成する生成部と、
生成された前記データと、受け付けられた前記データとの比較を行う比較部と、
前記比較部による比較結果を出力する出力部と、
を含むことを特徴とするデータ照合装置。
【０１３１】
（付記８）
前記記憶部は、１つのサイズに対応付けて、複数のデータの生成の各々に用いた情報を記憶し、
前記取得部は、受け付けた前記データのサイズに対応付けられた情報が前記記憶部に複数記憶される場合、受け付けた前記データに付加された制御情報から受け付けた前記データのサイズに対応付けられた情報を取得する、
ことを特徴とする付記７に記載のデータ照合装置。
【０１３２】
（付記９）
前記比較部は、送信側の情報処理装置により送信される一連のデータの生成に用いた情報の各々を該データのサイズに対応付けて記憶する記憶部を参照して、前記送信側の情報処理装置により送信されるデータの個数と、受け付けたデータの個数との比較を更に行う、
ことを特徴とする付記７又は付記８に記載のデータ照合装置。
【０１３３】
（付記１０）
データの生成に用いる情報を該データのサイズに対応付けて記憶する記憶部を参照して、該情報を用いて、該情報に対応付けられたサイズのデータを生成し、
生成した前記データのサイズに対応する情報が前記記憶部に複数記憶される場合、生成した前記データを送信する際に、前記データの生成に用いた情報を前記データに付加される制御情報に格納して送信する、
処理をコンピュータに実行させることを特徴とする送信制御プログラム。
【０１３４】
（付記１１）
生成した前記データのサイズに対応する情報が前記記憶部に１つ記憶される場合、生成した前記データを送信する、
ことを特徴とする付記１０に記載の送信制御プログラム。
【０１３５】
（付記１２）
データの生成に用いる情報を該データのサイズに対応付けて記憶する記憶部を参照して、該情報を用いて、該情報に対応付けられたサイズのデータを生成し、
生成した前記データのサイズに対応する情報が前記記憶部に複数記憶される場合、生成した前記データを送信する際に、前記データの生成に用いた情報を前記データに付加される制御情報に格納して送信する、
処理をコンピュータが実行することを特徴とする送信制御方法。
【０１３６】
（付記１３）
生成した前記データのサイズに対応する情報が前記記憶部に１つ記憶される場合、生成した前記データを送信する、
ことを特徴とする付記１２に記載の送信制御方法。
【０１３７】
（付記１４）
データの生成に用いる情報を該データのサイズに対応付けて記憶する記憶部を参照して、該情報を用いて、該情報に対応付けられたサイズのデータを生成する生成部と、
生成された前記データのサイズに対応する情報が前記記憶部に複数記憶される場合、生成された前記データを送信する際に、前記データの生成に用いた情報を前記データに付加される制御情報に格納して送信する送信部と、
を含むことを特徴とする情報処理装置。
【０１３８】
（付記１５）
前記送信部は、生成された前記データのサイズに対応する情報が前記記憶部に１つ記憶される場合、生成された前記データを送信する、
ことを特徴とする付記１４に記載の情報処理装置。
【０１３９】
（付記１６）
データを受け付けると、データの生成に用いた情報を該データのサイズに対応付けて記憶する記憶部を参照して、受け付けた前記データのサイズに対応付けられた情報を取得し、
取得した前記情報を用いてデータを生成し、
生成した前記データと、受け付けた前記データとの比較を行い、
比較結果を出力する、
処理をコンピュータに実行させることを特徴とするデータ照合プログラムを記憶した記憶媒体。
【０１４０】
（付記１７）
データの生成に用いる情報を該データのサイズに対応付けて記憶する記憶部を参照して、該情報を用いて、該情報に対応付けられたサイズのデータを生成し、
生成した前記データのサイズに対応する情報が前記記憶部に複数記憶される場合、生成した前記データを送信する際に、前記データの生成に用いた情報を前記データに付加される制御情報に格納して送信する、
処理をコンピュータに実行させることを特徴とする送信制御プログラムを記憶した記憶媒体。
【符号の説明】
【０１４１】
１０  情報処理システム
１２、１４、２１２、２１４  情報処理装置
２０、４０、２４０  受付部
２２、４４、２２２、２４４  生成部
２４、２２４  送信部
３０  パラメータ
３２、５２、２３２、２５２  パラメータテーブル
３４、５４  シーケンステーブル
４２、２４２  取得部
４６、２４６  比較部
４８、２２６、２４８  出力部
６０、８０、２６０、２８０  コンピュータ
６１、８１  ＣＰＵ
６２、８２  メモリ
６３、８３  記憶部
６８、８８  記録媒体
７０、２７０  送信制御プログラム
９０、２９０  データ照合プログラム
２２３  指示部
２３４  送信管理テーブル
【図１】
2018098636.tif 000003
【図２】
2018098636.tif 000004
【図３】
2018098636.tif 000005
【図４】
2018098636.tif 000006
【図５】
2018098636.tif 000007
【図６】
2018098636.tif 000008
【図７】
2018098636.tif 000009
【図８】
2018098636.tif 000010
【図９】
2018098636.tif 000011
【図１０】
2018098636.tif 000012
【図１１】
2018098636.tif 000013
【図１２】
2018098636.tif 000014
【図１３】
2018098636.tif 000015
【図１４】
2018098636.tif 000016
【図１５】
2018098636.tif 000017
【図１６】
2018098636.tif 000018
【図１７】
2018098636.tif 000019
【図１８】
2018098636.tif 000020
【図１９】
2018098636.tif 000021
【図２０】
2018098636.tif 000022
【図２１】
2018098636.tif 000023
【図２２】
2018098636.tif 000024
【図２３】
2018098636.tif 000025
【図２４】
2018098636.tif 000026
【図２５】
2018098636.tif 000027
【図２６】
2018098636.tif 000028
【図２７】
2018098636.tif 000029