(57)【要約】  必要に応じた検出精度を保持しつつ、レイテンシの増大を抑制することを課題とする。ここで、検証モードを切り替える必要がある伝送路の障害が発生した場合に、パケットの送信先の検証装置に対して、切替パケットを送信し、「通常ＣＲＣモード」から「Ｒｏｌｌｉｎｇ  ＣＲＣモード」に検証モードを切り替えさせ、自己の生成モードを「通常ＣＲＣモード」から「Ｒｏｌｌｉｎｇ  ＣＲＣモード」に切り替える。また、伝送路の障害が無くなった場合に、パケットの送信先の検証装置に対して、切替パケットと空パケットを送信し、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」から「通常ＣＲＣモード」に検証モードを切り替えさせ、自己の生成モードを「Ｒｏｌｌｉｎｇ  ＣＲＣモード」から「通常ＣＲＣモード」に切り替える。
2009141860.tif 000002
【特許請求の範囲】
【請求項１】
生成されたパケットを送信するとともに、受信したパケットに含まれているデータの正誤を検証する検証装置であって、
受信したパケットに含まれているデータの正誤を検証する第一の検証モード、または、直前に受信したパケットに含まれているデータの正誤を検証する第二の検証モードのいずれか一方の検証モードを用いてパケットに含まれているデータの正誤を検証する検証手段と、
前記第一の検証モードに対応するパケットを生成する第一のパケット生成モード、または、前記第二の検証モードに対応するパケットを生成する第二のパケット生成モードの、いずれか一方の生成モードを用いてパケットを生成するパケット生成手段と、
検証モードを切り替える必要がある伝送路の障害が発生しているか否かを監視する障害監視手段と、
前記障害監視手段によって、障害が発生した旨の監視結果が得られた場合、あるいは、既に発生していた障害が無くなった旨の監視結果が得られた場合に、パケットの送信先の検証装置に対して、前記データ検証手段により用いられる検証モードの切り替えを通知する切替パケットを送信する切替パケット送信手段と、
前記パケット生成手段により用いられる生成モードを切り替える生成モード切替手段と、
前記切替パケットを受信した場合に、前記切替パケットにより通知された検証モードに前記データ検証手段により用いられる検証モードを切り替える検証モード切替手段と、
を備えたことを特徴とする検証装置。
【請求項２】
前記切替パケット送信手段は、前記第二の検証モードから前記第一の検証モードに切り替えさせるためのデータを含んだ切替パケットを送信した後、データが格納されていない空パケットを送信することを特徴とする請求項１に記載の検証装置。
【請求項３】
前記データ検証手段によってパケットに含まれているデータに誤りがある旨の検証結果が得られた場合にパケットの送信元の検証装置に対して、前記データ検証手段により用いられる検証モードを通知する検証モード通知手段をさらに備え、
前記生成モード切替手段は、パケットの送信先の検証装置から検証モードの通知を受け付けた場合に、通知された検証モードに対応する生成モードに前記パケット生成手段により用いられる生成モードを切り替えることを特徴とする請求項１に記載の検証装置。
【請求項４】
前記パケット生成手段および／または前記切替パケット送信手段によって生成されたパケットを記憶するパケット記憶手段と、
前記データ検証手段によってパケットに含まれているデータに誤りがある旨の検証結果が得られた場合に、パケットの送信元の検証装置に対して、パケットの再送信を依頼する再送信依頼手段と、
前記再送信依頼手段によるパケットの再送信の依頼をパケットの送信先の検証装置から受け付けた場合に、前記パケット記憶手段に記憶されているパケットを再送信するパケット再送信手段とをさらに備えたことを特徴とする請求項１に記載の検証装置。
【請求項５】
生成されたパケットを送信するとともに、受信したパケットに含まれているデータの正誤を検証する検証方法であって、
現に受信したパケットに含まれているデータの正誤を検証する第一の検証モード、または、直前に受信したパケットに含まれているデータの正誤を検証する第二の検証モードのいずれか一方の検証モードを用いてパケットに含まれているデータの正誤を検証する検証ステップと、
前記第一の検証モードに対応するパケットを生成する第一のパケット生成モード、または、前記第二の検証モードに対応するパケットを生成する第二のパケット生成モードのいずれか一方の生成モードを用いてパケットを生成するパケット生成ステップと、
検証モードを切り替える必要がある伝送路の障害が発生しているか否かを監視する障害監視ステップと、
前記障害監視ステップによって、障害が新たに発生した旨の監視結果が得られた場合、および、既に発生していた障害が無くなった旨の監視結果が得られた場合に、パケットの送信先の検証装置に対して、前記データ検証ステップにより用いられる検証モードを切り替えさせるためのデータを含んだ切替パケットを送信する切替パケット送信ステップと、
前記切替パケット送信ステップによって切替パケットが送信された場合に、前記パケット生成ステップにより用いられる生成モードを切り替える生成モード切替ステップと、
前記切替パケットを受信した場合に、前記データ検証ステップにより用いられる検証モードを切り替える検証モード切替ステップと、
を含んだことを特徴とする検証方法。
【請求項６】
生成されたパケットを送信するとともに、受信したパケットに含まれているデータの正誤を検証する検証方法をコンピュータに実行させる検証プログラムであって、
現に受信したパケットに含まれているデータの正誤を検証する第一の検証モード、または、直前に受信したパケットに含まれているデータの正誤を検証する第二の検証モードのいずれか一方の検証モードを用いてパケットに含まれているデータの正誤を検証する検証手順と、
前記第一の検証モードに対応するパケットを生成する第一のパケット生成モード、または、前記第二の検証モードに対応するパケットを生成する第二のパケット生成モードのいずれか一方の生成モードを用いてパケットを生成するパケット生成手順と、
検証モードを切り替える必要がある伝送路の障害が発生しているか否かを監視する障害監視手順と、
前記障害監視手順によって、障害が新たに発生した旨の監視結果が得られた場合、および、既に発生していた障害が無くなった旨の監視結果が得られた場合に、パケットの送信先の検証装置に対して、前記データ検証手順により用いられる検証モードを切り替えさせるためのデータを含んだ切替パケットを送信する切替パケット送信手順と、
前記切替パケット送信手順によって切替パケットが送信された場合に、前記パケット生成手順により用いられる生成モードを切り替える生成モード切替手順と、
前記切替パケットを受信した場合に、前記データ検証手順により用いられる検証モードを切り替える検証モード切替手順と、
をコンピュータに実行させることを特徴とする検証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、検証装置、検証方法および検証プログラムに関する。
【背景技術】
【０００２】
従来より、データの誤りを検出する誤り検出方式としてＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）方式があり、このＣＲＣ方式には、「通常ＣＲＣモード」と、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」とがある（特許文献１〜５参照）。【０００３】
ここで、「通常ＣＲＣモード」は、自パケットに含まれているデータと検査ビットを用いて、自パケットに含まれるデータの正誤を検証する検証モードである。一方、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」は、自パケットに含まれているデータと、自パケット直前のパケットに含まれているデータと検査ビットとを用いて、直前に受信したパケットに含まれているデータの正誤を検証する検証モードである。【０００４】
【特許文献１】米国特許出願公開２００４／００９８６５５号公報
【特許文献２】特開２００４−３５７２８４号公報
【特許文献３】特開平０７−１２３１３４号公報
【特許文献４】特開２０００−１９７６２６号公報
【特許文献５】特開平１０−３０１８６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、従来の技術には、データの誤りを検出する検出精度が悪い、レイテンシが増大するという課題があった。【０００６】
すなわち、パケット通信には、一のパケットに含まれる検査ビットのビット長を短くし、このパケットに含まれるデータのデータ量を多くしたいという要望がある。しかし、「通常ＣＲＣモード」には、同じビット長の検査ビットを用いてデータの誤りを検出した場合に、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」に比べてデータの誤りを検出する検出精度が悪い。例えば、通常ＣＲＣモードでは、パケットの伝送路の一部分が切断されることによって生じるデータの破損を検出することができない場合があるという問題点がある。【０００７】
一方では、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」では、通常ＣＲＣモードと比較してパケットの誤り検出率は高い。しかし、複数のパケットを受信しないとパケットの誤り検出を行うことができないことから、パケットを受け付けてからこのパケットに含まれているデータの正誤を検証するまでの検証時間が「通常ＣＲＣモード」よりも長く、レイテンシが増大するという問題点がある。【０００８】
そこで、この検証装置、検証方法および検証プログラムは、上述した課題を解決するためになされたものであり、必要に応じた検出精度を保持しつつ、レイテンシの増大を抑制することが可能な検証装置、検証方法および検証プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するため、開示の検証装置は、生成されたパケットを送信するとともに、受信したパケットに含まれているデータの正誤を検証する検証装置であって、現に受信したパケットに含まれているデータの正誤を検証する第一の検証モード、または、直前に受信したパケットに含まれているデータの正誤を検証する第二の検証モードのいずれか一方の検証モードを用いてパケットに含まれているデータの正誤を検証する検証手段と、前記第一の検証モードに対応するパケットを生成する第一のパケット生成モード、または、前記第二の検証モードに対応するパケットを生成する第二のパケット生成モードの、いずれか一方の生成モードを用いてパケットを生成するパケット生成手段と、伝送路に検証モードを変更する必要があるような障害が発生しているか否かを監視する障害監視手段と、前記障害監視手段によって、障害が新たに発生した旨の監視結果が得られた場合、および、既に発生していた障害が無くなった旨の監視結果が得られた場合に、パケットの送信先の検証装置に対して、前記データ検証手段により用いられる検証モードを切り替えさせるためのデータを含んだ切替パケットを送信する切替パケット送信手段と、前記切替パケット送信手段によって切替パケットが送信された場合に、前記パケット生成手段により用いられる生成モードを切り替える生成モード切替手段と、前記切替パケットを受信した場合に、前記データ検証手段により用いられる検証モードを切り替える検証モード切替手段とを備えることを要する。【００１０】
また、開示の検証方法は、生成されたパケットを送信するとともに、受信したパケットに含まれているデータの正誤を検証する検証方法であって、現に受信したパケットに含まれているデータの正誤を検証する第一の検証モード、または、直前に受信したパケットに含まれているデータの正誤を検証する第二の検証モードのいずれか一方の検証モードを用いてパケットに含まれているデータの正誤を検証する検証ステップと、前記第一の検証モードに対応するパケットを生成する第一のパケット生成モード、または、前記第二の検証モードに対応するパケットを生成する第二のパケット生成モードのいずれか一方の生成モードを用いてパケットを生成するパケット生成ステップと、伝送路に検証モードを変更する必要があるような障害が発生しているか否かを監視する障害監視ステップと、前記障害監視ステップによって、障害が新たに発生した旨の監視結果が得られた場合、および、既に発生していた障害が無くなった旨の監視結果が得られた場合に、パケットの送信先の検証装置に対して、前記データ検証ステップにより用いられる検証モードを切り替えさせるためのデータを含んだ切替パケットを送信する切替パケット送信ステップと、前記切替パケット送信ステップによって切替パケットが送信された場合に、前記パケット生成ステップにより用いられる生成モードを切り替える生成モード切替ステップと、前記切替パケットを受信した場合に、前記データ検証ステップにより用いられる検証モードを切り替える検証モード切替ステップとを含むことを要する。【００１１】
また、開示の検証プログラムは、生成されたパケットを送信するとともに、受信したパケットに含まれているデータの正誤を検証する検証方法をコンピュータに実行させる検証プログラムであって、現に受信したパケットに含まれているデータの正誤を検証する第一の検証モード、または、直前に受信したパケットに含まれているデータの正誤を検証する第二の検証モードのいずれか一方の検証モードを用いてパケットに含まれているデータの正誤を検証する検証手順と、前記第一の検証モードに対応するパケットを生成する第一のパケット生成モード、または、前記第二の検証モードに対応するパケットを生成する第二のパケット生成モードのいずれか一方の生成モードを用いてパケットを生成するパケット生成手順と、伝送路に検証モードを変更する必要があるような障害が発生しているか否かを監視する障害監視手順と、前記障害監視手順によって、障害が新たに発生した旨の監視結果が得られた場合、および、既に発生していた障害が無くなった旨の監視結果が得られた場合に、パケットの送信先の検証装置に対して、前記データ検証手順により用いられる検証モードを切り替えさせるためのデータを含んだ切替パケットを送信する切替パケット送信手順と、前記切替パケット送信手順によって切替パケットが送信された場合に、前記パケット生成手順により用いられる生成モードを切り替える生成モード切替手順と、前記切替パケットを受信した場合に、前記データ検証手順により用いられる検証モードを切り替える検証モード切替手順とをコンピュータに実行させることを要する。
【発明の効果】
【００１２】
開示の検証装置、検証方法、検証プログラムによれば、必要に応じた検出精度を保持しつつ、レイテンシの増大を抑制することが可能である。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施例１に係る検証装置の概要および特徴を説明するための図である。
【図２】図２は、実施例１に係る検証装置の構成を示すブロック図である。
【図３】図３は、Ｒｏｌｌｉｎｇ  ＣＲＣモードによるパケット生成方法を説明するための図である。
【図４】図４は、実施例１に係る検証装置による処理の一例を説明するための図である。
【図５】図５は、Ｒｏｌｌｉｎｇ  ＣＲＣモードによるパケット検証方法を説明するための図である。
【図６】図６は、実施例１に係る検証装置によるパケット送信処理の流れを示すフローチャート図である。
【図７】図７は、実施例１に係る検証装置によるデータ検証処理の流れを示すフローチャート図である。
【図８】図８は、実施例２に係る検証装置の構成を示すブロック図である。
【図９】図９は、実施例２に係る検証装置によるデータ検証処理の流れを示すフローチャート図である。
【図１０】図１０は、実施例２に係る検証装置による生成モード切替処理の流れを示すフローチャート図である。
【図１１】図１１は、実施例３に係る検証装置の構成を示すブロック図である。
【図１２】図１２は、実施例３に係る検証装置による処理の一例を説明するための図である。
【図１３】図１３は、実施例３に係る検証装置によるデータ検証処理の流れを示すフローチャート図である。
【図１４】図１４は、実施例３に係る検証装置による再送信処理の流れを示すフローチャート図である。
【図１５】図１５は、検証プログラムを実行するコンピュータを示す図である。
【符号の説明】
【００１４】
１０  検証装置
２０  送信部
２１  パケット送信部
２２  障害監視部
２３  生成モード切替部
２４  パケット生成部
２４ａ  通常パケット生成部
２４ｂ  切替パケット生成部
２４ｃ  空パケット生成部
２５  バッファ
２６  パケット再送信部
３０  受信部
３１  パケット受信部
３２  データ解析部
３３  検証モード切替部
３４  データ検証部
３５  検証モード通知部
３６  再送信依頼部
１１０  コンピュータ
１２０  入力部
１３０  ＲＯＭ（Read  Only  Memory）
１３０ａ  データ検証プログラム
１３０ｂ  データ解析プログラム
１３０ｃ  検証モード切替プログラム
１３０ｄ  障害監視プログラム
１３０ｅ  パケット生成プログラム
１３０ｆ  生成モード切替プログラム
１４０  ＣＰＵ（Central  Processing  Unit）
１４０ａ  データ検証プロセス
１４０ｂ  データ解析プロセス
１４０ｃ  検証モード切替プロセス
１４０ｄ  障害監視プロセス
１４０ｅ  パケット生成プロセス
１４０ｆ  生成モード切替プロセス
１５０  ＨＤＤ（Hard  disk  drive）
１６０  ＲＡＭ（Random  Access  Memory）
１７０  出力部
１８０  バス
【発明を実施するための最良の形態】
【００１５】
以下に添付図面を参照して、この発明に係る検証装置、検証方法および検証プログラムの実施例を詳細に説明する。なお、以下では、この発明が適用された検証装置を実施例として説明する。
【実施例１】
【００１６】
以下の実施例１では、実施例１で用いる主要な用語、実施例１に係る検証装置の概要および特徴、検証装置の構成、検証装置の処理の流れを順に説明し、最後に実施例１の効果を説明する。【００１７】
［実施例１で用いる主要な用語］
まず最初に、本実施例で用いる主要な用語を説明する。実施例１で用いる「通常ＣＲＣモード」とは、パケットを受信した場合に、このパケットに含まれているデータと検査ビットとを用いて、受信したパケットの正誤を検証する検証モード、および、この検証モードに対応するパケットを生成する生成モードのことである。【００１８】
また、実施例１で用いる「Ｒｏｌｌｉｎｇ  ＣＲＣモード」とは、パケットを受信した場合に、このパケットに含まれているデータと、このパケットを受信する直前に受信したパケットに含まれているデータと検査ビットとを用いて、直前に受信したパケット内のデータの正誤を検証する検証モード、および、この検証モードに対応するパケットを生成する生成モードのことである。【００１９】
［実施例１に係る検証装置の概要および特徴］
次に、図１を用いて、実施例１に係る検証装置の概要および特徴を説明する。図１は、実施例１に係る検証装置の動作の概要および特徴を説明するための図である。【００２０】
実施例１に係る検証装置は、生成したパケットを送信するとともに、受信したパケットに含まれているデータの正誤を検証することを概要とする。そして、実施例１に係る検証装置は、必要に応じた検出精度を保持しつつ、レイテンシの増大を抑制することを主たる特徴とする。【００２１】
具体的に一例をあげて説明すると、図１の（Ａ）に示すように、実施例１に係る検証装置１０Ａは、「通常ＣＲＣモード」を用いてパケット生成し、実施例１に係る検証装置１０Ｂに対して送信しているものとする。また、検証装置１０Ｂは、検証装置１０Ａから受信したパケットに含まれているデータの正誤を「通常ＣＲＣモード」を用いて検証しているものとする。【００２２】
ここで、図１の（Ｂ）に示すように、例えば伝送路の一部切断など、検証装置１０Ａによって検証モードの切替が必要な伝送路の障害が検出されると、検証装置１０Ａはデータの正誤を検証する検証モードを切り替えさせるための切替パケットを生成し、検証装置１０Ｂに対して、切替パケットを送信する。【００２３】
切替パケットを受信した検証装置１０Ｂは、自身が実行する検証モードを「通常ＣＲＣモード」から「Ｒｏｌｌｉｎｇ  ＣＲＣモード」に切り替える。【００２４】
続いて、検証装置１０Ａは、図１の（Ｃ）に示すように、パケットを生成する生成モードを「通常ＣＲＣモード」から「Ｒｏｌｌｉｎｇ  ＣＲＣモード」に切り替える。この後、検証装置１０Ａは「Ｒｏｌｌｉｎｇ  ＣＲＣモード」によるパケットを生成して、検証装置１０Ｂに転送する。【００２５】
このようなことから、実施例１に係る検証装置は、上記した主たる特徴のごとく、必要に応じた検出精度を保持しつつ、レイテンシの増大を抑制することが可能である。【００２６】
［検証装置の構成］
次に、図２および図４を用いて、図１に示した検証装置１０の構成を説明する。図２は、実施例１に係る検証装置１０の構成を示す機能ブロック図である。図４は、実施例１に係る検証装置１０による処理の一例を説明するための図である。図２に示すように、この検証装置１０は、送信部２０と、受信部３０とを有する。【００２７】
（送信部）
送信部２０は、パケット送信部２１と、障害監視部２２と、生成モード切替部２３と、パケット生成部２４とを有する。【００２８】
パケット送信部２１は伝送路に接続されており、パケットを伝送路に送信する。具体的には、パケット送信部２１は、単数または複数のポートを有し、パケット生成部２４から受け付けたパケットをポートを介して伝送路に向けて送信する。【００２９】
障害監視部２２は、検証モードの切替が必要な障害が生じたか否かを監視する。具体的には、障害監視部２２は、送信部２０が接続されている伝送路の状況を監視し、検証モードの切替が必要となるような伝送路の障害が発生しているか否かを判定する。【００３０】
ここで、障害監視部２２は、検証モードの切替が必要な障害が伝送路で発生していないと判定した場合には、パケット生成部２４に対して、伝送路に障害が発生していない旨を示した通常信号を出力する。一方で、障害監視部２２は、検証モードの切替が必要な障害が伝送路で発生していると判定した場合には、パケット生成部２４に対して、伝送路に障害が発生している旨を示した障害信号を出力する。【００３１】
生成モード切替部２３は、パケット生成部２４によってデータの正誤を検証する検証モードを切り替えさせるための切替パケットが生成された場合に、パケット生成部２４により用いられる生成モードを切り替える指示をパケット生成部２４に対して行う。【００３２】
パケット生成部２４は、伝送路を介して外部に転送するパケットを生成するものであり、通常パケット生成部２４ａと、切替パケット生成部２４ｂと、空パケット生成部２４ｃとを有する。【００３３】
通常パケット生成部２４ａは、「通常ＣＲＣモード」、もしくは、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」を用いてパケットを生成する。具体的には、通常パケット生成部２４ａは、障害監視部２２から通常信号を受け付けている場合には、バッファにパケットが格納されるごとに、格納されたパケットに含まれているデータ用いて、パケット送信先となる検証装置１０Ｂがこのデータを検証する際に用いる検査ビットを「通常ＣＲＣモード」により生成する。そして、通常パケット生成部２４ａは、生成した検査ビットを格納されたパケットに含まれているデータに付与したパケットを生成し、送信部２０を介して検証処置１０Ｂに送信する。【００３４】
また、通常パケット生成部２４ａは、障害監視部２２から障害信号を受け付けている場合には、バッファにパケットが格納されるごとに、格納されたパケットに含まれているデータと、直前に送信されたパケットに含まれているデータとを用いて、パケット送信先となる検証装置１０Ｂがこのデータおよび直前に送信されたパケットに含まれているデータを検証する際に用いる検査ビットを「Ｒｏｌｌｉｎｇ  ＣＲＣモード」により生成する（図３参照）。そして、通常パケット生成部２４ａは、生成した検査ビットを格納されたパケットに含まれているデータに付与したパケットを生成し、送信部２０を介して検証処置１０Ｂに送信する。【００３５】
切替パケット生成部２４ｂは、障害監視部２２による監視結果に応じて、パケットの送信先の検証装置に対して、検証モードを切り替えさせるためのデータを含んだ切替パケットを生成する。具体的には、切替パケット生成部２４ｂは、障害監視部２２から通常信号を受け付けた場合には、パケット送信先となる検証装置１０Ｂによる検証モードを「通常ＣＲＣモード」から「Ｒｏｌｌｉｎｇ  ＣＲＣモード」切り替えさせるためのモード切替データを含んだパケットを生成し、生成したパケットをバッファに格納する。【００３６】
続いて、切替パケット生成部２４ｂは、格納されたパケットに含まれているモード切替データを用いて、パケット送信先となる検証装置１０Ｂがモード切替データを検証する際に用いる検査ビットを「通常ＣＲＣモード」により生成する。そして、切替パケット生成部２４ｂは、生成した検査ビットをモード切替データに付与した切替パケットを生成し、送信部２０を介して検証処置１０Ｂに送信する。【００３７】
また、切替パケット生成部２４ｂは、障害監視部２２から通常信号を受け付けた場合には、パケット送信先となる検証装置１０Ｂによる検証モードを「Ｒｏｌｌｉｎｇ  ＣＲＣモード」から「通常ＣＲＣモード」に切り替えさせるためのモード復帰データを含んだパケットを生成し、生成したパケットをバッファに格納する。【００３８】
続いて、切替パケット生成部２４ｂは、格納されたパケットに含まれているモード復帰データと、直前に送信されたパケットに含まれているデータとを用いて、パケット送信先となる検証装置１０Ｂが、直前に送信されたパケットに含まれているデータおよびモード切替データを検証する際に用いる検査ビットを「Ｒｏｌｌｉｎｇ  ＣＲＣモード」により生成する。そして、切替パケット生成部２４ｂは、生成した検査ビットをモード復帰データに付与した復帰パケットを生成し、送信部２０を介して検証処置１０Ｂに送信する。【００３９】
空パケット生成部２４ｃは、空データを持つ、つまり有効データが含まれていない空パケットを生成する。具体的には、空パケット生成部２４ｃは、切替パケット生成部２４ｂにより復帰パケットが検証処置１０Ｂに送信されると、空データを持つパケットを生成し、生成したパケットをバッファに格納する。【００４０】
続いて、空パケット生成部２４ｃは、直前に送信されたパケットに含まれているデータであるモード復帰データを用いて、パケット送信先となる検証装置１０Ｂが、モード切替データを検証する際に用いる検査ビットを「Ｒｏｌｌｉｎｇ  ＣＲＣモード」により生成する。そして、空パケット生成部２４ｃは、生成した検査ビットを空データに付与した空パケットを生成し、送信部２０を介して検証処置１０Ｂに送信する。【００４１】
以下に、図４を用いて、検証装置１０Ａから検証装置１０Ｂに対してパケットを送信する場合において、検証装置１０Ａの生成モード切替部２３、通常パケット生成部２４ａ、切替パケット生成部２４ｂおよび空パケット生成部２４ｃによる処理について、具体的に一例をあげて説明する。【００４２】
検証装置１０Ａのパケット生成部２４が障害監視部２２から通常信号を受け付けているときに検証装置１０Ａが有するバッファにパケットが格納されると、通常パケット生成部２４ａは、図４の（１−１）に示すようにデータ＃１を用いて検査ビット＃１を生成する。そして、通常パケット生成部２４ａは、「通常ＣＲＣモード」を用いて生成した検査ビット＃１をデータ＃１に付与したパケット＃１を生成し、送信部２０を介して検証装置１０Ｂに送信する。【００４３】
続いて、通常パケット生成部２４ａは、図４の（１−２）に示すように、データ＃２を用いて「通常ＣＲＣモード」により検査ビット＃２を生成する。そして、通常パケット生成部２４ａは、「通常ＣＲＣモード」を用いて生成した検査ビット＃２をデータ＃２に付与したパケット＃２を生成し、送信部２０を介して検証装置１０Ｂに送信する。【００４４】
ここで、検証装置１０Ａのパケット生成部２４が検証装置１０Ａの障害監視部２２から障害信号を受け付けたものとする。このとき、検証装置１０Ａの切替パケット生成部２４ｂは、図４の（１−３）に示すように、「通常ＣＲＣモード」から「Ｒｏｌｌｉｎｇ  ＣＲＣモード」に検証モードを切り替えさせるための情報を示したモード切替データを生成するとともに、生成したモード切替データを用いて検査ビット＃３を生成する。そして、切替パケット生成部２４ｂは、「通常ＣＲＣモード」を用いて生成した検査ビット＃３をモード切替データに付与したパケット＃３を生成し、送信部２０を介して検証処置１０Ｂに送信する。ここで、パケット＃３は、切替パケットである。【００４５】
そして、生成モード切替部２３は、パケット生成部２４の生成モードを「通常ＣＲＣモード」から「Ｒｏｌｌｉｎｇ  ＣＲＣモード」に切り替える。【００４６】
続いて、通常パケット生成部２４ａは、図４の（１−４）に示すように、データ＃４を用いて「Ｒｏｌｌｉｎｇ  ＣＲＣモード」により検査ビット＃４を生成する。そして、通常パケット生成部２４ａは、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」を用いて生成した検査ビット＃４をデータ＃４に付与したパケット＃４を生成し、送信部２０を介して検証装置１０Ｂに送信する。【００４７】
続いて、通常パケット生成部２４ａは、図４の（１−５）に示すように、データ＃４およびデータ＃５を用いて「Ｒｏｌｌｉｎｇ  ＣＲＣモード」により検査ビット＃５を生成する。そして、通常パケット生成部２４ａは、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」を用いて生成した検査ビット＃５をデータ＃５に付与したパケット＃５を生成し、送信部２０を介して検証装置１０Ｂに送信する。【００４８】
ここで、パケット生成部２４が障害監視部２２から通常信号を受け付け始めたものとする。このとき、切替パケット生成部２４ｂは、図４の（１−６）に示すように、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」から「通常ＣＲＣモード」に検証モードを復帰させるための情報を示したモード復帰データを生成するとともに、データ＃５を用いて「Ｒｏｌｌｉｎｇ  ＣＲＣモード」により検査ビット＃６を生成する。そして、切替パケット生成部２４ｂは、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」を用いて生成した検査ビット＃６をモード復帰データに付与したパケット＃６を生成し、送信部２０を介して検証装置１０Ｂｎに送信する。【００４９】
続いて、空パケット生成部２４ｃは、図４の（１−７）に示すように、モード復帰データを用いて「Ｒｏｌｌｉｎｇ  ＣＲＣモード」により検査ビット＃７を生成する。そして、空パケット生成部２４ｃは、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」を用いて生成した検査ビット＃７を用いてパケット＃７を生成し、送信部２０を介して検証装置１０Ｂに送信する。ここで、パケット＃７は、データが格納されていない空パケットである。【００５０】
そして、生成モード切替部２３は、パケット生成部２４の生成モードを「Ｒｏｌｌｉｎｇ  ＣＲＣモード」から「通常ＣＲＣモード」に切り替える。【００５１】
続いて、通常パケット生成部２４ａは、図４の（１−８）に示すように、データ＃８を用いて「通常ＣＲＣモード」により検査ビット＃８を生成する。そして、通常パケット生成部２４ａは、「通常ＣＲＣモード」を用いて生成した検査ビット＃８をデータ＃８に付与したパケット＃８を生成し、送信部２０を介して検証装置１０Ｂに送信する。【００５２】
（受信部）
図２の説明に戻ると、受信部３０は、パケット受信部３１と、データ解析部３２と、検証モード切替部３３と、データ検証部３４とを有する。【００５３】
パケット受信部３１は、伝送路からパケットを受信する。具体的には、パケット受信部３１は、伝送路に接続される単数または複数のポートを有し、ポートを介して伝送路から受信したパケットをデータ検証部３４に対して出力する。【００５４】
データ解析部３２は、受信したパケットに含まれるデータを解析する。具体的には、データ解析部３２は、データ検証部３４からパケットを受け付けた場合に、パケットに含まれるデータを解析して、モード切替データまたはモード復帰データがパケットに含まれているか否かを判定する。【００５５】
ここで、データ解析部３２は、モード切替データおよびモード復帰データがパケットに含まれていないと判定した場合には、検証装置１０を搭載したデータ処理装置などの装置のデータ処理部に対してパケットを送信する。なお、例えば、パケットを中継するルータなどの中継装置に検証装置１０を搭載した場合には、データ解析部３２が、パケット生成部２４に対してパケットに含まれているデータを送信するようにしてもよい。【００５６】
一方では、データ解析部３２は、モード切替データがパケットに含まれていると判定した場合には、検証モード切替部３３に対して、「通常ＣＲＣモード」から「Ｒｏｌｌｉｎｇ  ＣＲＣモード」に検証モードを切り替えさせるための情報を示したモード切替信号を出力する。【００５７】
また、データ解析部３２は、モード復帰データがパケットに含まれていた場合には、検証モード切替部３３に対して、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」から「通常ＣＲＣモード」に検証モードを復帰させるための情報を示したモード復帰信号を出力する。【００５８】
検証モード切替部３３は、切替パケットを受信した場合に、データ検証部３４の検証モードを切り替える。【００５９】
具体的には、検証モード切替部３３は、データ解析部３２からモード切替信号を受け付けた場合に、データ検証部３４に対して、「通常ＣＲＣモード」を使用したデータの正誤の検証から「Ｒｏｌｌｉｎｇ  ＣＲＣモード」を使用したデータの正誤の検証に検証モードを切り替えさせるよう制御する。このような制御を、以下では、「切替制御」と記載する。一方では、検証モード切替部３３は、データ解析部３２からモード復帰信号を受け付けた場合に、データ検証部３４に対して、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」を使用したデータの正誤の検証から「通常ＣＲＣモード」を使用したデータの正誤の検証に検証モードを復帰させるよう制御する。このような制御を、以下では、「復帰制御」と記載する。【００６０】
データ検証部３４は、「通常ＣＲＣモード」、もしくは、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」を用いて、パケット受信部３１から受け付けたパケットに含まれるデータの正誤を検証する。【００６１】
具体的には、データ検証部３４は、データ解析部３２からモード切替信号を受け付けている場合には、パケット送信元である検証装置１０Ａから受け付けたパケットに含まれている検査ビットを用いて、受信したパケットに含まれているデータの正誤を検証する。【００６２】
また、データ検証部３４は、データ解析部３２からモード復帰信号を受け付けている場合には、パケット送信元である検証装置１０Ａから受信したパケットに含まれている検査ビット、データおよび直前に受信したパケットに含まれているデータを用いて、直前に受信したパケットに含まれたデータの正誤を検証するための検証データを生成する（図５参照）。【００６３】
続いて、データ検証部３４は、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」により直前に生成した検証データおよび現に生成した検証データを用いて受信したパケットに含まれているデータの正誤を検証する（図５参照）。【００６４】
ここで、データ検証部３４は、パケットに含まれるデータに誤りがないと判定した場合に、パケットをデータ解析部３２に対して送信する。一方では、データ検証部３４は、パケットに含まれるデータに誤りがあると判定した場合には、パケットを破棄する。【００６５】
以下に、図４に示した例を用いて、検証装置１０Ａから検証装置１０Ｂに対してパケットを送信する場合において、検証装置１０Ｂのデータ検証部３４による処理について、具体的に説明する。なお、以下では、パケット受信部３１から受け付けたパケットに含まれるデータの正誤を検証するまでの処理について説明する。【００６６】
データ検証部３４は、図４の（３−１）に示すように、検証装置１０Ａからパケット＃１を受け付けた場合に、「通常ＣＲＣモード」によりパケット＃１に含まれている検査ビット＃１を用いて、データ＃１の正誤を検証する。【００６７】
続いて、データ検証部３４は、図４の（３−２）に示すように、検証装置１０Ａからパケット＃２を受け付けた場合に、「通常ＣＲＣモード」によりパケット＃２に含まれている検査ビット＃２を用いて、データ＃２の正誤を検証する。【００６８】
続いて、データ検証部３４は、図４の（３−３）に示すように、検証装置１０Ａからパケット＃３を受け付けた場合に、「通常ＣＲＣモード」によりパケット＃３に含まれている検査ビット＃３およびデータを用いて、パケット＃３に含まれているデータ（つまり、モード切替データ）の正誤を検証する。【００６９】
ここで、検証装置１０Ａは、図４の（１−３）において「モード切替データ」を生成、送出している。そのため、検証装置１０Ｂのデータ解析部３２は、図４の（２−３）にて検証装置１０Ａから受信したパケット＃３に、モード切替データが含まれていることを検出する。この場合、データ解析部３２はモード切替信号を生成し、検証モード切替部３３に送出する。検証モード切替部３３は、モード切替信号に応じて、データ解析部３４の検証モードを「通常ＣＲＣモード」から「Ｒｏｌｌｉｎｇ  ＣＲＣモード」に切替制御する。【００７０】
続いて、データ検証部３４は、図４の（２−４）に示すように、検証装置１０Ａからパケット＃４を受け付けた場合に、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」によりパケット＃４に含まれている検査ビット＃４及びデータ＃４を用いて、データ＃４の正誤を検証するための検証データ＃４を生成する。なお、（２−４）では検証モードが「Ｒｏｌｌｉｎｇ  ＣＲＣモード」に切り替えられている為、この段階ではデータ検証部３４はパケット＃４の検証を行わない。【００７１】
続いて、データ検証部３４は、図４の（２−５）に示すように、検証装置１０Ａからパケット＃５を受け付けた場合に、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」によりパケット＃５に含まれている検査ビット＃５、データ＃５およびパケット＃４に含まれているデータ＃４を用いて、データ＃４およびデータ＃５の正誤を検証するための検証データ＃５を生成する。そして、データ検証部３４は、図４の（３−５）に示すように、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」により検証データ＃４および検証データ＃５を用いてデータ＃４の正誤を検証する。【００７２】
続いて、データ検証部３４は、図４の（２−６）に示すように、検証装置１０Ａからパケット＃６を受け付けた場合に、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」によりパケット＃６に含まれている検査ビット＃６、データおよびパケット＃５に含まれているデータ＃５を用いて、データ＃５およびパケット＃６に含まれたデータの正誤を検証するための検証データ＃６を生成する。そして、データ検証部３４は、図４の（３−６）に示すように、「「Ｒｏｌｌｉｎｇ  ＣＲＣモード」により検証データ＃５および検証データ＃６を用いてデータ＃５の正誤を検証する。【００７３】
続いて、データ検証部３４は、図４の（２−７）に示すように、パケット＃７を受け付けた場合に、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」によりパケット＃７に含まれている検査ビット＃７およびパケット＃６に含まれているデータを用いて、パケット＃６に含まれているデータの正誤を検証するための検証データ＃７を生成する。そして、データ検証部３４は、図４の（３−７）に示すように、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」により検証データ＃６および検証データ＃７を用いて、パケット＃６に含まれているデータの正誤を検証する。【００７４】
ここで、検証装置１０Ａは（１−６）でモード復帰データを生成、送出している。そのため、検証装置１０Ｂのデータ解析部３２は、パケット＃６にモード復帰データが含まれていることを検出する。この場合、データ解析部３２は、モード復帰信号を生成して検証モード切替部３３に送出する。検証モード切替部３３は、モード復帰信号に応じて、データ検証部３４の検証モードを「Ｒｏｌｌｉｎｇ  ＣＲＣモード」から「通常ＣＲＣモード」に復帰制御する。なお、パケット＃７は、空のデータに検査ビット＃７が付与して生成されたものであるため、データの正誤を検証しなくてもよい。【００７５】
続いて、「通常ＣＲＣモード」に復帰したデータ検証部３４は図４の（３−８）に示すように、検証装置１０Ａからパケット＃８を受け付けた場合に、「通常ＣＲＣモード」によりパケット＃８に含まれている検査ビット＃８およびデータ＃８を用いてデータ＃８の正誤を検証する。【００７６】
［検証装置による処理］
次に、図６および図７を用いて、検証装置１０による処理を説明する。図６は、実施例１に係る検証装置によるパケット送信処理の流れを示すフローチャート図である。図７は、実施例１に係る検証装置によるデータ検証処理の流れを示すフローチャート図である。なお、以下では、検証装置１０の駆動時に検証モードの切替が必要な伝送路の障害が発生していない、つまり図６の開始時点では、検証装置１０は「通常ＣＲＣモード」により動作しているものとして説明する。そして、検証装置１０による処理は、検証装置１０の駆動の停止とともに処理を終了するものとする。【００７７】
（パケット送信処理）
まず、図６を用いて、パケット送信元となる検証装置１０によるパケット送信処理の流れを説明する。図６に示すように、検証装置１０は、データを受け付けると（Ｓ１００１肯定）、「通常ＣＲＣモード」を用いてパケットを生成する（Ｓ１００２）。【００７８】
そして、検証装置１０は、生成したパケットを送信する（Ｓ１００３）。次いで、検証装置１０は、伝送路の障害を検出したか、あるいは検出していた障害がなくなったか否かを判別する（Ｓ１００４）。検証装置１０が障害を検出しない、あるいは障害がなくなっていないと判別した場合、検証装置１０は再びデータの受信を待機する（Ｓ１００４否定）。【００７９】
ここで、検証モードの切替が必要な伝送路の障害を検出すると（Ｓ１００４肯定、Ｓ１００５肯定）、検証装置１０は、モード切替データを生成し、検査ビットをモード切替データに付与して生成した切替パケットをパケット送信先の装置に対して送信する（Ｓ１００６）。【００８０】
続いて、検証装置１０は、生成モードを「通常ＣＲＣモード」から「Ｒｏｌｌｉｎｇ  ＣＲＣモード」に切り替えて（Ｓ１００７）、処理をＳ１００１に戻して再びデータの受信を待機する。【００８１】
一方、検出していた伝送路の障害がなくなると（ステップＳ１００４肯定、ステップＳ１００５否定）、検証装置１０はモード復帰データを生成するとともに、検査ビットをモード復帰データに付与して生成した切替パケットをパケット送信先の装置に送信する（Ｓ１００８）。ついで、検証装置１０は、切替パケットに続いて、空パケットをパケット送信先の装置に送信する（Ｓ１００９）。【００８２】
続いて、検証装置１０は、生成モードを「Ｒｏｌｌｉｎｇ  ＣＲＣモード」から「通常ＣＲＣモード」に切り替えて（Ｓ１０１０）、処理をＳ１００１に戻して再びデータの受信を待機する。【００８３】
（データ検証処理）
次に、図７を用いて、他の装置からパケットを受信した検証装置１０によるデータ検証処理の流れを説明する。図７の例でも、図７の処理開始時点では、検証装置１０は「通常ＣＲＣモード」にて動作しているものとする。図７に示すように、検証装置１０は、パケット送信元の装置からパケットを受け付けると（Ｓ２００１肯定）、パケットに含まれるデータの正誤を検証する（Ｓ２００２）。初期の段階では、Ｓ２００２のデータ検証は「通常ＣＲＣモード」により行われる。【００８４】
続いて、検証装置１０は、受信したパケットに含まれるデータを解析して、モード切替データまたはモード復帰データがパケットに含まれているか否かを判定する（Ｓ２００３）。【００８５】
ここで、モード切替データあるいはモード復帰データがパケットに含まれていないと判定した場合には（Ｓ２００３否定）、検証装置１０は、データ処理部に対して受信パケットを送信し（Ｓ２００４）、処理をＳ２００１に戻して再びパケットの受信を待機する。【００８６】
一方では、モード切替データがパケットに含まれていると判定した場合には（Ｓ２００３肯定、Ｓ２００５肯定）、検証装置１０は、「通常ＣＲＣモード」から「Ｒｏｌｌｉｎｇ  ＣＲＣモード」に検証モードを切り替えて（Ｓ２００６）、再びパケットの受信を待機する（Ｓ２００１）。【００８７】
また、モード復帰データがパケットに含まれていると判定した場合には（Ｓ２００３肯定、Ｓ２００５否定）、検証装置１０は、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」から「通常ＣＲＣモード」に検証モードを切り替えて（Ｓ２００７）、再びパケットの受信を待機する（Ｓ２００１否定）。【００８８】
［実施例１の効果］
上記したように、実施例１によれば、必要に応じた検出精度を保持しつつ、レイテンシの増大を抑制することが可能である。例えば、実施例１に係る検証装置は、検証モードの切替が必要な伝承路の障害などが発生するまでは、「通常ＣＲＣモード」を使用してデータの正誤を検証するため、レイテンシの増大を抑制することができる。そして、実施例１に係る検証装置は、検証モードの切替が必要な伝送路の障害などが発生した場合には、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」を使用してデータの正誤を検証するため、精度良くデータの誤りを検出することができる。【００８９】
また、実施例１によれば、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」から「通常ＣＲＣモード」に、円滑に検証モードを切り替えることが可能である。
【実施例２】
【００９０】
ところで、実施例１に係る検証装置１０では、切替パケットに含まれているモード切替データおよびモード復帰データに破損が発生し、パケットの送信元の検証装置１０により用いられる生成モードと、パケットの送信先の検証装置１０により用いられる検証モードとが同期しなくなる可能性がある。【００９１】
そこで、実施例２では、パケット送信先の検証装置１０からパケットの送信元の検証装置１０に対して、データ検証部３４によるデータの正誤を検証する検証モードを通知して、パケットの送信元の検証装置１０により用いられる生成モードと、パケットの送信先の検証装置１０により用いられる検証モードとを同期させる。【００９２】
［実施例２に係る検証装置の構成］
まず、図８を用いて実施例２に係る検証装置１０の構成を説明する。図８は、実施例２に係る検証装置の構成を示すブロック図である。実施例２に係る検証装置１０の構成は、検証モード通知部３５を受信部３０に新たに備える他は、実施例１に係る検証装置１０と以下に説明する点が異なる。【００９３】
すなわち、検証モード通知部３５は、データ検証部３４によって送信元検証装置から受信したパケットに含まれているデータに誤りがあると判定された場合に、パケットの送信元の検証装置１０に対して、データ検証部３４によるデータの正誤を検証する検証モードを通知する。【００９４】
具体的に一例をあげて説明すると、検証モード通知部３５は、データ検証部３４によって、送信元検証装置から受信したモード切替データに誤りがあると判定された場合に、パケットの送信元の検証装置１０に対して、送信先検証装置のデータ検証部３４が「通常ＣＲＣモード」を用いてデータの正誤を検証している旨を通知する。【００９５】
送信元検証装置の生成モード切替部２３は、パケットの送信先の検証装置１０から検証モードの通知を受け付けた場合に、通常パケット生成部２４ａにより用いられる生成モードを送信先検証装置から通知された検証モードに切り替える。【００９６】
具体的に一例をあげて説明すると、送信元検証装置の生成モード切替部２３は、送信元検証装置が「Ｒｏｌｌｉｎｇ  ＣＲＣモード」で動作しているときにパケットの送信先の検証装置１０から「通常ＣＲＣモード」を用いてデータの正誤を検証している旨の通知を受け付けると、パケット生成部２４により用いられる生成モードを「Ｒｏｌｌｉｎｇ  ＣＲＣモード」から「通常ＣＲＣモード」に切り替える。【００９７】
なお、生成モード切替部２３は、送信先検証装置から通知された検証モードに通常パケット生成部２４ａにより用いられる生成モードを切り替えた後、切替パケット生成部２４ｂに対して、生成モード切替前に送信先検証装置に送信していた切替パケットを再送信させるようにしてもよい。【００９８】
［実施例２に係る検証装置による処理］
次に、図９および図１０を用いて、実施例２に係る検証装置による処理を説明する。なお、以下では、データ検証処理（図７のＳ２００２参照）の詳細と、検証モードの通知を受け付けた場合の生成モード切替処理について説明する。【００９９】
図９は、実施例２に係る、パケット送信先の検証装置によるデータ検証処理の流れを示すフローチャート図である。図１０は、実施例２に係る、パケット送信元の検証装置による生成モード切替処理の流れを示すフローチャート図である。【０１００】
（データ検証処理）
まず、図９を用いて、パケット送信先の検証装置１０によるデータ検証処理の流れを説明する。図９に示すように、送信先検証装置１０は、送信元検証装置から受信したパケットに含まれているデータに誤りがないと判定されると（Ｓ３００１肯定）、データ検証処理を終了する（図７のＳ２００３に移行）。【０１０１】
一方では、送信先検証装置１０は、送信元検証装置から受信したパケットに含まれているデータに誤りがあると判定されると（Ｓ３００１否定）、受信したパケットを破棄する（Ｓ３００２）。【０１０２】
続いて、送信先検証装置１０は、パケットの送信元の検証装置１０に対して、データ検証部３４によるデータの正誤を送信先検証装置１０が検証する検証モードを通知して（Ｓ３００３）、データ検証処理を終了する（図７のＳ２００１に移行）。【０１０３】
（生成モード切替処理）
次に、図１０を用いて、パケット送信元検証装置１０による生成モード切替処理の流れを説明する。図１０に示すように、送信元検証装置１０は、パケットの送信先の検証装置１０から検証モードの通知を受け付けると（Ｓ４００１肯定）、通知された検証モードに通常パケット生成部２４ａにより用いられる生成モードを切り替え（Ｓ４００２）、生成モード切替処理を終了する。【０１０４】
［実施例２の効果］
上記したように、実施例２によれば、パケット送信先検証装置からパケットの送信元の検証装置に対して検証モードを通知して、パケットの送信元の検証装置により用いられる生成モードと、パケットの送信先の検証装置により用いられる検証モードとを同期させることが可能である。
【実施例３】
【０１０５】
ところで、実施例２では、パケットの送信元の検証装置１０により用いられる生成モードと、パケットの受信先の検証装置１０により用いられる検証モードとを同期させるために、パケットの送信元の検証装置１０に対して、データ検証部３４によるデータの正誤を検証する検証モードを通知する場合を説明した。しかしながら、パケットの送信元の検証装置１０にパケットを再送信させることにより、パケットの送信元の検証装置１０により用いられる生成モードと、パケットの送信先の検証装置１０により用いられる検証モードとを同期するようにしてもよい。【０１０６】
そこで、実施例３では、パケットの送信元の検証装置１０にパケットを再送信させて、パケットの送信元の検証装置１０により用いられる生成モードと、パケットの送信先の検証装置１０により用いられる検証モードとを同期する場合を説明する。【０１０７】
［実施例３に係る検証装置の構成］
まず、図１１および図１２を用いて実施例３に係る検証装置１０の構成を説明する。図９は、実施例３に係る検証装置の構成を示すブロック図である。図１１は、実施例３に係る検証装置による処理の一例を説明するための図である。実施例３に係る検証装置１０の構成は、再送信依頼部３６を受信部３０に、バッファ２５と、パケット再送信部２６とを送信部２０に新たに備える他は、実施例２に係る検証装置１０と以下に説明する点が異なる。【０１０８】
すなわち、再送信依頼部３６は、データ検証部３４によってパケット送信元検証装置から受信したパケットに含まれているデータに誤りがあると判定された場合に、パケットの送信元の検証装置１０に対して、パケットの再送信を依頼する。【０１０９】
具体的に一例をあげて説明すると、再送信依頼部３６は、データ検証部３４によって、送信元検証装置から受信したモード切替パケットに含まれているモード切替データに誤りがあると判定された場合に、パケットの送信元の検証装置１０に対して、モード切替パケットを識別するためのパケット識別情報と、送信先検証装置のデータ検証部３４が「通常ＣＲＣモード」を用いてデータの正誤を検証している旨と送信して、モード切替パケットの再送信を依頼する。【０１１０】
また、再送信依頼部３６は、データ検証部３４によって、送信元検証装置から受信したモード復帰パケットに含まれているモード復帰データに誤りがあると判定された場合に、パケットの送信元の検証装置１０に対して、モード復帰パケットを識別するためのパケット識別情報と、送信先検証装置のデータ検証部３４が「Ｒｏｌｌｉｎｇ  ＣＲＣモード」を用いてデータの正誤を検証している旨と送信して、モード復帰パケットの再送信を依頼する。【０１１１】
バッファ２５は、パケット生成部２４によって生成されたパケットを記憶する。具体的には、バッファ２５は、通常パケット生成部２４ａが「通常ＣＲＣモード」を用いてパケットを生成しているときには、パケット生成部２４によって生成されたパケットを１つ記憶する。【０１１２】
また、バッファ２５は、通常パケット生成部２４ａが「Ｒｏｌｌｉｎｇ  ＣＲＣモード」を用いてパケットを生成しているときには、パケット生成部２４によって生成された連続するパケットを２つ記憶する。【０１１３】
パケット再送信部２６は、パケットの送信先の検証装置１０からパケットの再送信の依頼を受け付けた場合に、バッファ２５に記憶されているパケットを送信元検証装置に対して再送信する。【０１１４】
具体的に一例をあげて説明すると、パケット再送信部２６は、パケットの送信先の検証装置１０からモード切替パケットの再送信の依頼を受け付けた場合に、バッファ２５に記憶されている各パケットの中からモード切替データを含んだパケットを特定する。【０１１５】
このとき、パケット生成部２４により用いられる生成モードが「Ｒｏｌｌｉｎｇ  ＣＲＣモード」から「通常ＣＲＣモード」に切り替えられているため、パケット再送信部２６は、特定したパケットに含まれているモード切替データを用いて検査ビットを「通常ＣＲＣモード」により生成する。そして、パケット再送信部２６は、生成した検査ビットをモード切替データに付与した切替パケットを再び生成し、送信先検証装置に再送信する。【０１１６】
また、パケット再送信部２６は、パケットの送信先の検証装置１０からモード復帰パケットの再送信の依頼を受け付けた場合に、バッファ２５に記憶されている各パケットの中からモード復帰データを含んだパケットと、空データを含んだパケットを特定する。【０１１７】
このとき、パケット生成部２４により用いられる生成モードが「通常ＣＲＣモード」から「Ｒｏｌｌｉｎｇ  ＣＲＣモード」に切り替えられているため、パケット再送信部２６は、特定したパケットに含まれているモード復帰データを用いて検査ビットを「Ｒｏｌｌｉｎｇ  ＣＲＣモード」により生成する。そして、パケット再送信部２６は、生成した検査ビットをモード復帰データに付与した復帰パケットを再び生成し、送信先検証装置に再送信する。【０１１８】
続いて、パケット再送信部２６は、特定したパケットに含まれている空データに生成した検査ビットを空パケットを再び生成し、送信先検証装置に再送信する。【０１１９】
以下に、図１２を用いて、検証装置１０Ａから検証装置１０Ｂに対してパケットを送信する場合において、検証装置１０Ａによる処理および検証装置１０Ｂによる処理について、具体的に２つのシチュエーションを例にあげて説明する。【０１２０】
（シチュエーション１）
検証装置１０Ａのパケット生成部２４が障害監視部２２から通常信号を受け付けているときに検証装置１０Ａが有するバッファ２５にパケットが格納されると、通常パケット生成部２４ａは、「通常ＣＲＣモード」を用いてパケットを生成する。続いて、検証装置１０Ａの通常パケット生成部２４ａは、検証装置１０Ｂに対して生成したパケットを送信する。【０１２１】
ここで、検証装置１０Ａのパケット生成部２４が検証装置１０Ａの障害監視部２２から障害信号を受け付けたものとする。このとき、検証装置１０Ａの切替パケット生成部２４ｂは、図１２（Ａ）の（１−１）に示すように、「通常ＣＲＣモード」を用いてモード切替データを含んだパケット＃１を生成する。【０１２２】
続いて、検証装置１０Ａの切替パケット生成部２４ｂは、検証装置１０Ｂに対してパケット＃１を送信する。このとき、検証装置１０Ａのバッファ２５は、切替パケット生成部２４ｂによって生成されたパケット＃１を記憶している。【０１２３】
そして、検証装置１０Ａの生成モード切替部２３は、図１２（Ａ）の（１−２）に示すように、通常パケット生成部２４ａにより用いられる生成モードを「通常ＣＲＣモード」から「Ｒｏｌｌｉｎｇ  ＣＲＣモード」に切り替える。【０１２４】
一方、検証装置１０Ｂのデータ検証部３４は、図１２（Ａ）の（２−１）に示すように、（１−１）で検証装置１０Ａから送出されたパケット＃１を受け付けると、パケット＃１に含まれているモード切替データの有無を判別するとともに、モード切替データがパケット＃１に含まれている場合にはモード切替データの正誤を検証する。【０１２５】
ここで、検証装置１０Ｂのデータ検証部３４によって、パケット＃１に含まれているモード切替データに誤りがあると判定されると、検証装置１０Ｂの再送信依頼部３６は、図１２（Ａ）の（２−２）に示すように、検証装置１０Ａに対して、「通常ＣＲＣモード」を用いてデータの正誤を検証している旨を含んだモード切替パケットの再送信を依頼する。【０１２６】
検証装置１０Ａの生成モード切替部２３は、図１２（Ａ）の（１−３）に示すように、（２−２）の検証装置１０Ｂから「通常ＣＲＣモード」を用いてデータの正誤を検証している旨を含んだモード切替パケットの再送信を依頼を受け付けると、パケット生成部２４により用いられる生成モードを「Ｒｏｌｌｉｎｇ  ＣＲＣモード」から「通常ＣＲＣモード」に切り替える。【０１２７】
そして、検証装置１０Ａのパケット再送信部２６は、図１２（Ａ）の（１−４）に示すように、バッファ２５に記憶されているモード切替データを含んだパケット＃１を検証装置１０Ｂに再送信する。なお、検証装置１０Ｂに再送信されるパケット＃１は、（１−１）で検証装置１０Ｂに送出されたパケットである。【０１２８】
そして、検証装置１０Ａの生成モード切替部２３は、図１２（Ａ）の（１−５）に示すように、通常パケット生成部２４ａにより用いられる生成モードを「通常ＣＲＣモード」から「Ｒｏｌｌｉｎｇ  ＣＲＣモード」に再び切り替える。【０１２９】
検証装置１０Ｂのデータ検証部３４は、図１２（Ａ）の（２−３）に示すように、検証装置１０Ａからパケット＃１を受け付けると、パケット＃１に含まれているモード切替データの正誤を検証する。【０１３０】
ここで、検証装置１０Ｂのデータ検証部３４は、パケットに含まれているモード切替データに誤りがないと判定すると、図１２（Ａ）の（２−４）に示すように、検証装置１０Ｂの検証モードが「通常ＣＲＣモード」から「Ｒｏｌｌｉｎｇ  ＣＲＣモード」に変更される。【０１３１】
（シチュエーション２）
検証装置１０Ａのパケット生成部２４が障害監視部２２から通常信号を受け付けると、検証装置１０Ａの切替パケット生成部２４ｂは、図１２（Ｂ）の（３−１）に示すように、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」を用いてモード復帰データを含んだパケット＃２を生成する。そして、検証装置１０Ａの切替パケット生成部２４ｂは、検証装置１０Ｂに対してパケット＃２を送信する。【０１３２】
続いて、検証装置１０Ａの空パケット生成部２４ｃは、図１２（Ｂ）の（３−２）に示すように、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」を用いてデータが格納されていないパケット＃３を生成する。そして、検証装置１０Ａの空パケット生成部２４ｃは、検証装置１０Ｂに対してパケット＃３を送信する。このとき、検証装置１０Ａのバッファ２５は、パケット＃２およびパケット＃３を記憶している。【０１３３】
そして、検証装置１０Ａの生成モード切替部２３は、図１２（Ｂ）の（３−３）に示すように、通常パケット生成部２４ａにより用いられる生成モードを「Ｒｏｌｌｉｎｇ  ＣＲＣモード」から「通常ＣＲＣモード」に切り替える。【０１３４】
検証装置１０Ｂのデータ検証部３４は、図１２（Ｂ）の（４−１）に示すように、検証装置１０Ａから（３−２）で送出されたパケット＃３を受け付けると、（３−１）で検証装置１０Ａから受信したパケット＃２に含まれているモード復帰データの有無を判別するとともに、モード復帰データがパケット＃２に含まれている場合にはモード復帰データの正誤を検証する。【０１３５】
ここで、検証装置１０Ｂのデータ検証部３４によって、データ検証部３４によってパケット＃２に含まれているモード復帰データに誤りがあると判定されると、検証装置１０Ｂの再送信依頼部３６は、図１２（Ｂ）の（４−２）に示すように、検証装置１０Ａに対して、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」を用いてデータの正誤を検証している旨を含んだパケットの再送信を依頼する。【０１３６】
検証装置１０Ａの生成モード切替部２３は、図１２（Ｂ）の（３−４）に示すように、（４−２）の検証装置１０Ｂから「Ｒｏｌｌｉｎｇ  ＣＲＣモード」を用いてデータの正誤を検証している旨を含んだモード復帰パケットの再送信の依頼を受け付けると、パケット生成部２４により用いられる生成モードを「通常ＣＲＣモード」から「Ｒｏｌｌｉｎｇ  ＣＲＣモード」に切り替える。【０１３７】
続いて、検証装置１０Ａのパケット再送信部２６は、図１２（Ｂ）の（３−５）に示すように、バッファ２５に記憶されているモード復帰データを含んだパケット＃２および空パケットであるパケット＃３を検証装置１０Ｂに再送信する。なお、再送信されるパケット＃２およびパケット＃３は、「Ｒｏｌｌｉｎｇ  ＣＲＣモード」を用いて生成された、それぞれ（３−１）、（３−２）で検証装置１０Ｂに対して送出されたパケットである。【０１３８】
そして、検証装置１０Ａの生成モード切替部２３は、図１２（Ｂ）の（３−６）に示すように、通常パケット生成部２４ａにより用いられる生成モードを「Ｒｏｌｌｉｎｇ  ＣＲＣモード」から「通常ＣＲＣモード」に再び切り替える。【０１３９】
検証装置１０Ｂのデータ検証部３４は、図１２（Ｂ）の（４−３）に示すように、検証装置１０Ａからパケット＃２およびパケット＃３を受け付けると、パケット＃２に含まれているモード復帰データの正誤を検証する。【０１４０】
ここで、検証装置１０Ｂのデータ検証部３４は、パケットに含まれているモード復帰データに誤りがないと判定すると、図１２（Ｂ）の（４−４）に示すように、検証装置１０Ｂの検証モードが「Ｒｏｌｌｉｎｇ  ＣＲＣモード」から「通常ＣＲＣモード」に変更される。【０１４１】
［実施例３に係る検証装置による処理］
次に、図１３および図１４を用いて、実施例３に係る検証装置による処理を説明する。実施例３に係る検証装置によるパケット送信処理は、生成されたパケットを記憶すること以外は、図６に示したパケット送信処理の流れと同様であり、以下では、データ検証処理（図７のＳ２００２参照）の詳細と、パケットの再送信の要求を受け付けた場合の再送信処理について説明する。【０１４２】
図１３は、実施例３に係るパケット送信先装置となる検証装置によるデータ検証処理の流れを示すフローチャート図である。図１４は、実施例３に係るパケット送信元装置となる検証装置による再送信処理の流れを示すフローチャート図である。【０１４３】
（データ検証処理）
図１３に示すように、送信先検証装置１０は、送信元検証装置から受信したパケットに含まれているデータに誤りがないと判定されると（Ｓ５００１肯定）、データ検証処理を終了する（図７のステップＳ２００３に移行）。【０１４４】
一方では、送信先検証装置１０は、送信元検証装置から受信したパケットに含まれているデータに誤りがあると判定されると（Ｓ５００１否定）、受信したパケットを破棄する（Ｓ５００２）。【０１４５】
続いて、送信先検証装置１０は、パケットの送信元の検証装置１０に対してパケットの再送信を依頼し（Ｓ５００３）、データ検証処理を終了する（図７のＳ２００１に移行）。【０１４６】
（再送信処理）
次に、図１４を用いて、送信元検証装置１０によるパケット再送信処理の流れを説明する。図１４に示すように、検証装置１０は、パケットの送信先の検証装置１０からパケットの再送信の依頼を受け付けると（Ｓ６００１否定）、バッファ２５に記憶されているパケットを送信先検証装置に再送信して（Ｓ６００２）、データ検証処理を終了する。【０１４７】
［実施例３の効果］
上記したように、実施例３によれば、パケット送信先検証装置からパケットの送信元の検証装置１０にパケットを再送信させて、パケットの送信元の検証装置により用いられる生成モードと、パケットの送信先の検証装置により用いられる検証モードとを同期させることが可能である。
【実施例４】
【０１４８】
さて、これまで実施例１〜３について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、実施例４として、他の実施例を説明する。【０１４９】
例えば、実施例１では、パケットを送受信する検証装置１０に本発明を適用する場合を説明したが、実施例１に係る検証装置１０の送信部２０および受信部３０を個別の装置に搭載するようにしてもよい。【０１５０】
また、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報（例えば、検査ビットの構成やパケットの構成）については、特記する場合を除いて任意に変更することができる。【０１５１】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図２に示した切替パケット生成部２４ｂと、空パケット生成部２４ｃとを統合して構成することができる。【０１５２】
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。【０１５３】
ところで、本発明はあらかじめ用意されたプログラムを検証装置１０としてのコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図１５を用いて、上記の実施例に示した検証装置１０と同様の機能を有する検証プログラムを実行するコンピュータを一例として説明する。図１５は、検証プログラムを実行するコンピュータを示す図である。【０１５４】
同図に示すように、検証装置１０としてのコンピュータ１１０は、入力部１２０、ＲＯＭ１３０、ＣＰＵ１４０、ＨＤＤ１５０、ＲＡＭ１６０および出力部１７０をバス１８０などで接続する。【０１５５】
ＲＯＭ１３０には、上記の実施例１に示した検証装置１０と同様の機能を発揮する検証プログラム、つまり、図１３に示すように、データ検証プログラム１３０ａと、データ解析プログラム１３０ｂと、検証モード切替プログラム１３０ｃと、障害監視プログラム１３０ｄと、パケット生成プログラム１３０ｅと、生成モード切替プログラム１３０ｆとが、あらかじめ記憶されている。なお、これらのプログラム１３０ａ〜プログラム１３０ｆについては、図２に示した検証装置１０の各構成要素と同様、適宜統合または、分散してもよい。【０１５６】
そして、ＣＰＵ１４０がこれらのプログラム１３０ａ〜プログラム１３０ｆをＲＯＭ１３０から読み出して実行することで、図１５に示すように、プログラム１３０ａ〜プログラム１３０ｆは、データ検証プロセス１４０ａと、データ解析プロセス１４０ｂと、検証モード切替プロセス１４０ｃと、障害監視プロセス１４０ｄと、パケット生成プロセス１４０ｅと、生成モード切替プロセス１４０ｆとして機能するようになる。なお、プロセス１４０ａ〜プロセス１４０ｆは、図２に示した、データ検証部３４と、データ解析部３２と、検証モード切替部３３と、障害監視部２２と、パケット生成部２４と、生成モード切替部２３とにそれぞれ対応する。【０１５７】
なお、上記した各プログラム１３０ａ〜プログラム１３０ｆについては、必ずしも最初からＲＯＭ１３０に記憶させておく必要はなく、例えば、コンピュータ１１０に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」、またはコンピュータ１１０の内外に備えられるＨＤＤなどの「固定用の物理媒体」、さらには公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１１０に接続される「他のコンピュータ（またはサーバ）」などに各プログラムを記憶させておき、コンピュータ１１０がこれから各プログラムを読み出して実行するようにしてもよい。【０１５８】
なお、本実施例で説明した検証方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【図１】
2009141860.tif 000003
【図２】
2009141860.tif 000004
【図３】
2009141860.tif 000005
【図４】
2009141860.tif 000006
【図５】
2009141860.tif 000007
【図６】
2009141860.tif 000008
【図７】
2009141860.tif 000009
【図８】
2009141860.tif 000010
【図９】
2009141860.tif 000011
【図１０】
2009141860.tif 000012
【図１１】
2009141860.tif 000013
【図１２】
2009141860.tif 000014
【図１３】
2009141860.tif 000015
【図１４】
2009141860.tif 000016
【図１５】
2009141860.tif 000017
【国際調査報告】
2009141860.tif 000018
2009141860.tif 000019