(57)【要約】【課題】  発生した異常を早期に検出し、障害原因の解析のためにその異常に関連する情報を簡単な構成で収集する。【解決手段】  ヘルスチェック実行部は、周期的にヘルスチェックの実行を指示するヘルスチェック指示信号を出力する。予め決められた内容の処理をパケットに施すパケット処理部は、ヘルスチェック指示信号を受信した場合には、パケットの処理転送引継ぎに使用するパケット情報にヘルスチェックフラグを付して処理機能部間を転送し、さらに、パケット処理部の最前段と最後段の処理機能部のそれぞれからヘルスチェックフラグを付したパケット情報をヘルスチェック実行部に送信する。ヘルスチェック実行部は、そのパケット情報の受信を契機にパケット処理部が施す処理と同じ処理をパケットに施し、パケット処理部が処理したパケットとの一致／不一致を検証する。【選択図】      図１
2015073176.tif 000002
【特許請求の範囲】
【請求項１】
受信した受信パケット及び該受信パケットに所定の処理が施された処理パケットが格納されるパケット格納メモリと、
前記受信パケットに前記所定の処理を施し、前記受信パケットが前記格納された旨を通知する第２のパケット情報と、前記処理パケットを前記格納した旨を通知する第３のパケット情報を出力するパケット処理手段と、
前記第２のパケット情報の入力に応じて、前記格納された前記受信パケットを読み出し前記所定の処理を施して第２のパケットを生成し、前記第３のパケット情報の入力に応じて、前記格納されている前記処理パケットと前記第２のパケットとを比較し、不一致を検出した場合にはその旨の情報を出力するヘルスチェック実行手段と
を備えていることを特徴とする通信装置。
【請求項２】
前記ヘルスチェック実行手段は、周期的にヘルスチェックの実行を指示するヘルスチェック指示信号を出力し、
前記パケット処理手段は、前記ヘルスチェック指示信号を受信した場合に前記第２のパケット情報および前記第３のパケット情報を出力する
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記パケット処理手段は、
前記受信パケットを前記パケット格納メモリに格納し、前記ヘルスチェック指示信号を受信した場合には、前記受信パケットの処理転送引継ぎに使用する第１のパケット情報にヘルスチェックフラグを付して転送し、前記第２のパケット情報を出力する最前段に配備された処理機能部と、
受信した前記第１のパケット情報に基づいて、前記パケット格納メモリに格納された前記受信パケットに対して前記所定の処理を施して前記第１のパケット情報を転送する中間段に配備された処理機能部と、
受信した前記第１のパケット情報に前記ヘルスチェックフラグが付されている場合に、前記第３のパケット情報を出力する最後段に配備された処理機能部と
を備えることを特徴とする請求項２に記載の通信装置。
【請求項４】
前記パケット処理手段の前記最後段に配備された処理機能部は、前記パケット格納メモリに格納されている前記処理パケットを送信する送信部であって、
前記送信部は、受信した前記第１のパケット情報に前記ヘルスチェックフラグが付されている場合、前記処理パケットの送信を保留して、前記第３のパケット情報を前記ヘルスチェック実行手段に出力し、前記ヘルスチェック実行手段から、前記格納されている前記処理パケットと前記第２のパケットとの比較によるヘルスチェック検証が正常終了した旨の通知を受けてから前記処理パケットを送信する
ことを特徴とする請求項３に記載の通信装置。
【請求項５】
前記ヘルスチェック実行手段は、
前記パケット処理手段が送信した前記第２および第３のパケット情報を受信し、前記第２のパケット情報を受信すると、前記パケット格納メモリに格納されている前記受信パケットを第１のパケットとしてパケットヘルスチェックメモリに格納し、前記所定の処理を施す実行指示を出力し、前記第３のパケット情報を受信すると、前記パケット格納メモリに格納されている前記処理パケットを前記第３のパケットとして前記パケットヘルスチェックメモリに格納して前記第３のパケット情報を転送するパケット情報受信部と、
前記パケット情報受信部が出力する前記実行指示を受けて、前記第１のパケットに対して、前記所定の処理を施して前記第２のパケットを生成し、前記パケットヘルスチェックメモリに格納するヘルスチェックヘッダ処理部と、
前記パケット情報受信部から転送された前記第３のパケット情報を受けて、前記パケットヘルスチェックメモリに格納された前記第２のパケットと前記第３のパケットとを比較し、不一致を検出した場合にはヘルスチェック異常に関する情報を収集して出力するヘルスチェック判定・実行指示部
を含むことを特徴とする請求項１乃至４のいずれかの請求項に記載の通信装置。
【請求項６】
前記パケット処理手段は、パケット廃棄に相当する事象を検出すると、前記第１のパケット情報を、検出したパケット廃棄に関する情報を含む第４のパケット情報に書き換えて、前記ヘルスチェック実行手段に出力し、
前記ヘルスチェック実行手段は、前記第４のパケット情報を受信した場合に、前記第４のパケット情報に含まれる情報に基づいて、前記パケット廃棄が前記パケット処理部の正常な処理に基づくパケット廃棄か否かを検証し、前記パケット廃棄検証の結果を出力するパケット廃棄解析部
を含むことを特徴とする請求項１乃至７のいずれかの請求項に記載の通信装置。
【請求項７】
前記パケット処理手段は、パケット廃棄に相当する事象を検出すると、前記第１のパケット情報を、検出したパケット廃棄に関する情報を含む第４のパケット情報に書き換えて、前記ヘルスチェック実行手段に出力し、
前記ヘルスチェック実行手段は、前記第４のパケット情報を受信した場合に、前記第４のパケット情報に含まれる情報に基づいて、前記パケット廃棄が前記パケット処理部の正常な処理に基づくパケット廃棄か否かを検証し、前記パケット廃棄検証の結果を出力するパケット廃棄解析部を含み、
前記ヘルスチェック実行手段の前記パケット情報受信部は、前記第４のパケット情報を受信すると、前記第４のパケットを前記パケット廃棄解析部に出力し、
前記ヘルスチェック実行手段の前記ヘルスチェック判定・実行指示部は、前記パケット廃棄解析部が出力する前記検証の結果を受信すると、前記第４のパケット情報を送信した前記パケット処理手段に対して前記パケットの廃棄を指示するとともに、前記パケット廃棄解析部が出力する前記検証の結果が前記処理機能部の異常な処理に起因するパケット廃棄を示す場合、パケット廃棄に関する情報を収集して出力する
ことを特徴とする請求項５に記載の通信装置。
【請求項８】
パケット処理手段が、受信した受信パケットをパケット格納メモリに格納し、
前記パケット処理手段が、前記受信パケットが前記格納された旨を通知する第２のパケット情報を出力し、
前記パケット処理手段が、前記受信パケットに所定の処理を施した処理パケットをパケット格納メモリに格納し、
ヘルスチェック実行手段が、前記第２のパケット情報の入力に応じて、前記格納された前記受信パケットを読み出し前記所定の処理を施して第２のパケットを生成し、
前記パケット処理手段が、前記処理パケットを前記格納した旨を通知する第３のパケット情報を出力し、
前記ヘルスチェック実行手段が、前記第３のパケット情報の入力に応じて、前記格納されている前記処理パケットと前記第２のパケットとを比較し、不一致を検出した場合にはその旨の情報を出力する
ことを特徴とする障害検出方法。
【請求項９】
前記ヘルスチェック実行手段が、周期的にヘルスチェックの実行を指示するヘルスチェック指示信号を出力し、
前記パケット処理手段が、前記ヘルスチェック指示信号を受信した場合に前記第２のパケット情報および前記第３のパケット情報を出力する
ことを特徴とする請求項８に記載の障害検出方法。
【請求項１０】
前記パケット処理手段の最前段に配備された処理機能部が、前記受信パケットを前記パケット格納メモリに格納し、前記ヘルスチェック指示信号を受信した場合には、前記受信パケットの処理転送引継ぎに使用する第１のパケット情報にヘルスチェックフラグを付して転送し、前記第２のパケット情報を出力し、
前記パケット処理手段の中間段に配備された処理機能部が、受信した前記第１のパケット情報に基づいて、前記パケット格納メモリに格納された前記受信パケットに対して前記所定の処理を施して前記第１のパケット情報を転送し、
前記パケット処理手段の最後段に配備された処理機能部が、受信した前記第１のパケット情報に前記ヘルスチェックフラグが付されている場合に、前記第３のパケット情報を出力する
ことを特徴とする請求項９に記載の障害検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置および障害検出方法に関し、特に、ヘルスチェックにより装置内の異常を検出する通信装置および障害検出方法に関する。
【背景技術】
【０００２】
通信ネットワークは、ネットワークを構成する装置の二重化やネットワーク経路の冗長配備が行われており、装置や経路に障害が発生した時には、正常に動作する系構成に切り替えることにより、障害を復旧させている。特にリアルタイム性を求められる通信装置では、障害の早期発見と正常系装置構成への早急な切り替えが求められる。
障害（異常）の検出方法としては、装置内でハードウェア障害を定義する方法が一般的である。しかし、ハードウェア障害の内容は個々のデバイスにより異なり、また、すべての異常を定義及び検出できるわけではない。
【０００３】
通信装置の異常検出方法として、処理部に対しヘルスチェックを実施する方法がある。
【０００４】
ヘルスチェックに関連する技術の一例としては、例えば特許文献１に開示されている技術が挙げられる。
【０００５】
特許文献１が開示する技術は、制御部が処理部に対してヘルスチェックを行うことにより、通信装置内で起きている間欠的な障害（サイレント障害）を同一装置内で検知するものである。この技術によれば、制御部が処理部に対してヘルスチェックパケットを送信し、処理部のプロセッサは正常に稼働している場合にはヘルスチェック応答を制御部に送信する。制御部はヘルスチェック応答を一定時間内に受信しない場合は応答エラーを検知する。そして、監視周期内に検知された応答エラー数が所定の閾値以上となる場合に、制御部は障害を検知する。
【０００６】
特許文献２は、複数の内部機能ブロックを備えるデータ転送装置において、内部機能ブロックのハードウェア故障等により定常的、あるいは、間欠的に発生するデータ異常を検出する技術を開示する。この技術によれば、各内部機能ブロックは、処理したデータのチェックサム値を算出して次段の内部機能ブロックに送信するデータに付与する。また、各内部機能ブロックは、前段の内部機能ブロックから受信したデータに基づいてチェックサム値を算出し、前段の内部機能ブロックが付与した値と比較する。受信したデータに基づいて算出したチェックサム値と受信したデータに付与されていたチェックサム値が一致しない場合にデータ異常と判定して障害を外部に通知する。
【０００７】
また、特許文献３には、伝送装置内でパケットに異常が生じた場合に、異常の原因を解析する技術が開示されている。この技術によれば、パリティチェックで異常と判断されたパケットを廃棄することなく、正常と判定されたパケットとカプセリングして保守回線に通知する。そのため、受信パケットを複製し、複製したパケットと受信したパケットとを多重して、多重した各パケットが正常か否かを判定する。異常であると判定されたパケットと、正常であると判定されたパケットはカプセル化して保守回線で保守者に送られる。保守者は異常パケットと正常パケットとを比較して、異常発生部位を特定する。また、正常なパケットは伝送路にて送信される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開2012-080426号公報
【特許文献２】特開2008-092523号公報
【特許文献３】特開2011-142512号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献１が開示するヘルスチェックは、処理部のプロセッサが動作していることを確認できるだけであり、その動作が正常であることまでは確認できない。
【００１０】
障害として検出できないような異常が発生した場合、その異常の内容によっては、ヘルスチェックパケットは正常に処理され、運用中のユーザパケットのみが廃棄されるというケースも存在する。また、運用中のユーザパケットが廃棄される以外にも、他のユーザ宛パケットとして送信される誤送信という異常も考えられる。
【００１１】
上記のような異常が発生している場合、通信装置は、異常を検知することができず、ユーザからの通信不可との報告を受けて異常が発覚する。つまり、障害の内容によっては早期に異常検出ができないという課題があった。
【００１２】
特許文献２が開示するデータ転送装置は、内部機能ブロックのどこで異常が発生しているかということを解析することはできる。しかし、異常が発生したデータは廃棄されるので、異常の原因を特定することには難があるという課題があった。
【００１３】
特許文献３が開示する伝送装置は、パリティチェックで異常と判断されたパケットを廃棄することなく、異常の原因を解析するために使用することができる。しかし、それを実現するためには、受信パケットの複写、２つのパケットの多重、多重された各パケットの正常性確認、および、異常パケットと正常パケットをカプセリングしての通知という複雑な構成が必要になる。
【００１４】
本発明は、上述した課題を解決して、発生した異常を早期に検出することができ、その異常に関連する情報を簡単な構成で収集して障害原因の解析に資することができる通信装置および障害検出方法を提供する。
【課題を解決するための手段】
【００１５】
上記の目的を実現するために、本発明の一形態である通信装置は、受信した受信パケット及び該受信パケットに所定の処理が施された処理パケットが格納されるパケット格納メモリと、前記受信パケットに前記所定の処理を施し、前記受信パケットが前記格納された旨を通知する第２のパケット情報と、前記処理パケットを前記格納した旨を通知する第３のパケット情報を出力するパケット処理手段と、  前記第２のパケット情報の入力に応じて、前記格納された前記受信パケットを読み出し前記所定の処理を施して第２のパケットを生成し、前記第３のパケット情報の入力に応じて、前記格納されている前記処理パケットと前記第２のパケットとを比較し、不一致を検出した場合にはその旨の情報を出力するヘルスチェック実行手段と
を含むことを特徴とする。
【００１６】
また、本発明の他の形態である障害検出方法は、パケット処理手段が、受信した受信パケットをパケット格納メモリに格納し、前記パケット処理手段が、前記受信パケットが前記格納された旨を通知する第２のパケット情報を出力し、前記パケット処理手段が、前記受信パケットに所定の処理を施した処理パケットをパケット格納メモリに格納し、ヘルスチェック実行手段が、前記第２のパケット情報の入力に応じて、前記格納された前記受信パケットを読み出し前記所定の処理を施して第２のパケットを生成し、前記パケット処理手段が、前記処理パケットを前記格納した旨を通知する第３のパケット情報を出力し、前記ヘルスチェック実行手段が、前記第３のパケット情報の入力に応じて、前記格納されている前記処理パケットと前記第２のパケットとを比較し、不一致を検出した場合にはその旨の情報を出力することを特徴とする。
【発明の効果】
【００１７】
本発明は、通信装置内で発生した異常を早期に検出することができ、その異常に関連する情報を簡単な構成で収集して障害原因の解析に資することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施形態の通信装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態の通信装置の動作を示すシーケンス図である。
【図３】本発明の第２の実施形態の通信装置の構成を示すブロック図である。
【図４】本発明の第２の実施形態の通信装置の動作を示すシーケンス図である。
【図５】本発明の第３の実施形態の通信装置の構成を示すブロック図である。
【図６】パケット情報の内容を説明する図である。
【図７】ヘルスチェック実行部の構成を示すブロック図である。
【図８】ヘルスチェック実行部のヘルスチェックの動作を示すシーケンス図である。
【図９】パケット廃棄に相当する事象を検出した場合のヘルスチェック実行部の動作を示すシーケンス図である。
【図１０】ヘルスチェックパケットがパケット廃棄の対象となるパケットであった場合のヘルスチェック実行部１０の動作を示すシーケンス図である。
【図１１】ヘルスチェックにおいて所定時間内にヘルスチェック応答通知を受信しなかった場合のヘルスチェック判定・実行指示部の動作を示すフロー図である。
【発明を実施するための形態】
【００１９】
本発明を実施するための形態について図面を参照して説明する。
【００２０】
図１は、本発明の第１の実施形態の通信装置の構成を示すブロック図である。
【００２１】
尚、実施の形態は例示であり、開示の装置は以下の実施の形態の構成には限定されない。
【００２２】
第１の実施形態の通信装置１００は、ヘルスチェック実行手段１、パケット処理手段２およびパケット格納メモリ３を含んで構成される。
【００２３】
パケット格納メモリ３には、受信した受信パケット及び該受信パケットに所定の処理が施された処理パケットが格納される。そして、パケット格納メモリ３は、ヘルスチェック実行手段１とパケット処理手段２の両方からアクセスすることができるように配備されている。
【００２４】
パケット処理手段２は、受信パケットがパケット格納メモリ３に格納された旨を通知する第２のパケット情報を出力する。パケット処理手段２は、受信パケットに所定の処理を施す。また、パケット処理手段２は、処理パケットをパケット格納メモリ３に格納した旨を通知する第３のパケット情報を出力する。
【００２５】
なお、第１の実施形態では、説明の便宜上、パケット処理手段２が第２のパケット情報と第３のパケット情報を出力するとしている。第１のパケット情報については後述する第２の実施形態で説明する。
【００２６】
ヘルスチェック実行手段１は、第２のパケット情報の入力に応じて、パケット格納メモリ３に格納された受信パケットを読み出して所定の処理を施し、第２のパケットを生成する。ヘルスチェック実行手段１は、第３のパケット情報の入力に応じて、パケット格納メモリ３に格納されている処理パケットと第２のパケットとを比較し、不一致を検出した場合にはその旨の情報を出力する。
【００２７】
図２は、第１の実施形態の通信装置の動作を示すシーケンス図である。
【００２８】
まず、パケット処理手段が、受信した受信パケット（Ｓ１０１）をパケット格納メモリに格納する（Ｓ１０２）。そして、パケット処理手段が、受信パケットがパケット格納メモリに格納された旨を通知する第２のパケット情報を出力する（Ｓ１０３）。さらに、パケット処理手段が、受信パケットに所定の処理を施した処理パケットをパケット格納メモリに格納する（Ｓ１０４、Ｓ１０５）。
【００２９】
一方、ヘルスチェック実行手段が、第２のパケット情報の入力に応じて、パケット格納メモリに格納された受信パケットを読み出し（Ｓ１０６）、所定の処理を施して第２のパケットを生成する（Ｓ１０７）。
【００３０】
また、パケット処理手段が、処理パケットをパケット格納メモリに格納した旨を通知する第３のパケット情報を出力する（Ｓ１０８）。
【００３１】
そして、ヘルスチェック実行手段が、第３のパケット情報の入力に応じて、パケット格納メモリに格納されている処理パケットと第２のパケットとを比較し、不一致を検出した場合にはその旨の情報を出力する。
【００３２】
このように、本実施形態の通信装置は、ヘルスチェック実行手段とパケット処理手段が、同一パケットに対して所定の処理をそれぞれが施して、その結果を比較する。そして、不一致を検出した場合にはその旨の情報を出力する。このように構成することにより、通信装置内で発生した異常を早期に検出することができ、その異常に関連する情報を簡単な構成で収集して障害原因の解析に資することができる。
【００３３】
次に、第２の実施形態の通信装置を説明する。
【００３４】
図３は、本発明の第２の実施形態の通信装置の構成を示すブロック図である。
【００３５】
第２の実施形態の通信装置２００は、ヘルスチェック実行手段１０、パケット処理手段２０およびパケット格納メモリ３０を含んで構成される。
【００３６】
パケット格納メモリ３０は、ヘルスチェック実行手段１０とパケット処理手段２０の両方からアクセスすることができるように配備されている。
【００３７】
ヘルスチェック実行手段１０は、周期的にヘルスチェックの実行を指示するヘルスチェック指示信号を出力する。また、ヘルスチェック実行手段１０は、ヘルスチェック検証部１１を含む。
【００３８】
パケット処理手段２０は、処理機能部２１−１乃至２１−３を含む。パケット処理手段２０は、処理機能部２１−１乃至２１−３を用いて、受信したパケットをパケット格納メモリ３０に格納し、そのパケットに対して予め決められた内容の処理を施し、送信する。
【００３９】
パケット処理手段２０は、パケットの処理転送引継ぎに使用する第１のパケット情報を、それぞれの処理機能部間に転送してパケット格納メモリ３０に格納されたパケットの処理を実行させるように機能する。そして、パケット処理手段２０は、ヘルスチェック指示信号を受信した場合には、第１のパケット情報にヘルスチェックフラグを付して転送する。
【００４０】
なお、パケットの処理転送引継ぎを行うとは、実際のパケットはパケット格納メモリ３０に格納されており、処理機能部間は第１のパケット情報のみが転送され、第１のパケット情報に基づいて各処理機能部がパケット格納メモリ３０に格納されたパケットの処理を順次実行することを意味する。つまり、第１のパケット情報を受け取った処理機能部は、パケット格納メモリ３０にアクセスして、第１のパケット情報に基づいてパケット格納メモリ３０に格納されたパケットの処理を実行する。
【００４１】
パケット処理手段２０は、第２のパケット情報と第３のパケット情報をヘルスチェック実行手段１０に送信する。
【００４２】
第２のパケット情報は、受信したパケットがパケット格納メモリ３０に格納されたことを通知する情報である。
【００４３】
第３のパケット情報は、パケット処理手段２０が処理を施したパケットをパケット格納メモリ３０に格納した旨を通知する情報である。
【００４４】
ヘルスチェック実行手段１０のヘルスチェック検証部１１は、第２のパケット情報を受信すると、パケット格納メモリ３０に格納されている受信パケットを第１のパケットとして取得する。つまり、第１のパケットは、パケット処理手段２０で処理される前のパケットである。そして、ヘルスチェック検証部１１は、第１のパケットに対してパケット処理手段２０で実行される処理と同じ処理を実行して第２のパケットを生成する。
【００４５】
その後、ヘルスチェック検証部１１は、第３のパケット情報を受信すると、パケット格納メモリ３０に格納されている、パケット処理手段２０で処理された後の第３のパケットを取得する。そして、ヘルスチェック検証部１１は、第２のパケットと第３のパケットとを比較するヘルスチェック検証を実行し、不一致を検出した場合にはヘルスチェック異常に関する情報を収集して出力する。
【００４６】
次に、本実施形態の通信装置の動作を説明する。
【００４７】
図４は、第２の実施形態の通信装置の動作を示すシーケンス図である。
【００４８】
この動作は、ヘルスチェック実行手段がヘルスチェック指示信号を出力するところから説明する。
【００４９】
ヘルスチェック実行手段は、周期的にヘルスチェックの実行を指示するヘルスチェック指示信号を出力する（Ｓ２０１）。
【００５０】
パケット処理手段には、それぞれが予め決められた内容の処理をパケットに施す複数の処理機能部が配備されている。
【００５１】
パケット処理手段は、受信したパケットにパケット識別子を付与してパケット格納メモリに格納する。なお、パケット格納メモリに格納されたパケットは、パケット処理手段の各処理機能部により処理が順次施され、処理機能部による処理が全て済むと送信される。
【００５２】
パケット処理手段の、例えば最前段に配備された処理機能部は、パケットの受信を行う（Ｓ２０２）。そして、この処理機能部は、受信したパケットにパケット識別子を付与してパケット格納メモリに格納する（Ｓ２０３）。
【００５３】
この処理機能部は、パケットの処理転送引継ぎに使用する第１のパケット情報にパケット識別子を付して、中間段に配備されている処理機能部に転送する（Ｓ２０４）。
【００５４】
パケット処理手段がヘルスチェック指示信号を受信した場合には、第１のパケット情報にヘルスチェックフラグを付して転送する。つまり、ステップＳ２０１でヘルスチェック指示信号を受信しているので、ステップＳ２０４で転送される第１のパケット情報にはヘルスチェックフラグが付されている。
【００５５】
さらに、パケット処理手段は、受信したパケットがパケット格納メモリに格納されたことを通知する第２のパケット情報をヘルスチェック実行手段に送信する（Ｓ２０５）。なお、第２のパケット情報は、ステップＳ２０４で中間段の処理機能部に転送された第１のパケット情報と同じ内容のパケット情報であるが、ヘルスチェック実行手段に対しては、受信したパケットがパケット格納メモリに格納されたことを通知する意味を持つ。
【００５６】
第２のパケット情報を受信したヘルスチェック実行手段は、第２のパケット情報に付されたパケット識別子に基づいて、パケット格納メモリに格納されている、パケット処理手段で処理される前の第１のパケットを取得する（Ｓ２０６、Ｓ２０７）。つまり、ステップＳ２０３で格納されたパケットを読み出す。
【００５７】
そして、ヘルスチェック実行手段は、ステップＳ２０７で取得した第１のパケットに対してパケット処理手段で実行される処理と同じ処理を実行して第２のパケットを生成する（Ｓ２０８）。
【００５８】
一方、ステップＳ２０４で第１のパケット情報を受け取った中間段の処理機能部は、第１のパケット情報に付されたパケット識別子に基づいて、パケット格納メモリに格納されているパケットにアクセスし、当該処理機能部が担当するパケット処理を実行する（Ｓ２０９）。
【００５９】
処理されたパケットはパケット格納メモリに格納される（Ｓ２１０）。そして、第１のパケット情報が最後段の処理機能部に転送される（Ｓ２１１）。
【００６０】
ここでも、第１のパケット情報に付されたパケット識別子に基づいて、パケット格納メモリに格納されているパケットにアクセスし、当該処理機能部が担当するパケット処理を実行する（Ｓ２１２）。そして、処理されたパケットはパケット格納メモリに格納される（Ｓ２１３）。
【００６１】
第１のパケット情報にヘルスチェックフラグが付されている場合、最後段に配備された処理機能部は、第３のパケット情報をヘルスチェック実行手段に送信する（Ｓ２１４）。第３のパケット情報は、処理済みのパケットがパケット格納メモリに格納されたことを通知する情報である。
【００６２】
ヘルスチェック実行手段は、第３のパケット情報を受信すると、第３のパケット情報に付されたパケット識別子に基づいて、パケット格納メモリに格納されている、パケット処理手段で処理された後の第３のパケットを取得する（Ｓ２１５、Ｓ２１６）。つまり、ステップＳ２１３で格納されたパケットを読み出す。
【００６３】
そして、ヘルスチェック実行手段は、パケット処理手段で処理された後の第３のパケットと、ヘルスチェック実行手段が同じように処理を実行した第２のパケットとを比較する（Ｓ２１７）。
【００６４】
この比較において不一致を検出した場合にはヘルスチェック異常に関する情報を収集して出力する（Ｓ２１８）。
【００６５】
以上に説明したように、本実施形態の通信装置は、ヘルスチェックを行うことにより異常の発生を早期に検出することができる。しかも、ヘルスチェックには特別なヘルスチェックパケットを使うことなく、実際の運用状態で処理されるパケットを用いてパケット処理手段の処理内容を検証するという簡単な構成で異常を検出することができる。さらに、処理内容の不一致が発生した検証内容を用いることにより障害原因の解析に資することができる。
【００６６】
次に第３の実施形態の通信装置を説明する。
【００６７】
第３の実施形態の通信装置は、実際の運用状態で処理されるパケットをヘルスチェックパケットとして用いるヘルスチェック機能を備えている。また、第３の実施形態の通信装置は、パケット廃棄に相当する事象を検出した場合に、そのパケット廃棄が正常かどうかを確認する機能を備えている。さらに、第３の実施形態の通信装置は、異常が発生した時には、関連情報を収集して管理装置に通知する機能を備えている。
【００６８】
以下に図面を参照して第３の実施形態の通信装置を詳細に説明する。
【００６９】
図５は、本発明の第３の実施形態の通信装置の構成を示すブロック図である。
【００７０】
第３の実施形態の通信装置３００は、主要な構成として、ヘルスチェック実行部１００、パケット処理部２００及びパケット格納メモリ部３００を備える。また、第３の実施形態の通信装置３００は、パケット処理部２００の関連構成として受信バッファ４００、送信バッファ５００、ポリシー検索デバイス６００及びパケット処理情報蓄積部７００を備える。さらに、第３の実施形態の通信装置３００は、ヘルスチェック実行部１００がヘルスチェックの実施結果等で異常を検出した際の報告先として装置管理部８００を備える。装置管理部８００は、この通信装置３００の障害処理を含む装置全体の管理を司る装置である。
【００７１】
また、パケット処理部２００は、受信部２０１、ヘッダ処理部２０２及び送信部２０３の各処理機能部を含む構成になっている。
【００７２】
図５に示した本実施形態の通信装置３００のそれぞれの構成間の関連を説明する。
【００７３】
パケットは、それぞれの構成により概略次のようにして処理される。
【００７４】
受信バッファ４００に入力したパケットは、パケット処理部２００の受信部２０１で取り出され、パケット識別子が付与されてパケット格納メモリ部３００に格納される。そして、パケットの処理転送引継ぎに使用するパケット識別子を付した第１のパケット情報が生成されてヘッダ処理部２０２に転送される。
【００７５】
ヘッダ処理部２０２は、転送された第１のパケット情報に基づいてパケット格納メモリ部３００にアクセスして、処理すべきパケットのヘッダ情報を取り出す。ヘッダ処理部２０２は、ポリシー検索デバイス６００およびパケット処理情報蓄積部７００を参照して、ポリシー等に従ったヘッダ処理を実行する。処理されたヘッダ情報はパケット格納メモリ部３００に格納される。
【００７６】
送信部２０３は、ヘッダ処理部２０２から第１のパケット情報を受け取り、第１のパケット情報に基づいてパケット格納メモリ部３００にアクセスして、送信すべきパケットを取り出す。取り出されたパケットは、送信バッファ５００に入れられて、図示しない外部インタフェースに出力される。
【００７７】
したがって、図５の受信部２０１、ヘッダ処理部２０２および送信部２０３とパケット格納メモリ部３００の間に示されている破線矢印（ａ）は、パケット格納メモリ部３００へのアクセスの処理を示している。
【００７８】
また、図５のヘッダ処理部２０２とポリシー検索デバイス６００およびパケット処理情報蓄積部７００の間に示されている点線矢印（ｂ）は、ヘッダ処理に必要なポリシー情報等の取得、参照の処理を示している。つまり、ヘッダ処理部２０２は、パケット毎にポリシー検索デバイス６００を検索して、そのパケットの処理に必要なパケット処理内容を取り出して処理するとともに、パケット処理情報蓄積部７００に格納する。
【００７９】
ヘルスチェックは、それぞれの構成により概略次のようにして処理される。
【００８０】
ヘルスチェック実行部１００は、ヘルスチェックの実行指示と、ヘルスチェック結果の異常有無の判定、パケット廃棄の廃棄要因の妥当性確認を行う。
【００８１】
ヘルスチェック実行部１００が、パケット処理部２００の受信部２０１にヘルスチェック指示信号を出力する（図５のヘルスチェック実行部１００と受信部２０１の間に示されている太実線）。
【００８２】
受信部２０１は、ヘルスチェック指示信号を受信した後に受信バッファ４００から取り出したパケットをヘルスチェックパケットとして扱う。
【００８３】
そのため、受信部２０１は、パケットの処理転送引継ぎを行うために生成した第１のパケット情報にヘルスチェックフラグを付してヘッダ処理部２０２に転送する。また、受信部２０１は、ヘルスチェックフラグを付した第２のパケット情報をヘルスチェック実行部１００に送信する（図５の実線矢印（ｃ））。第２のパケット情報は、ヘルスチェック指示信号を受信した旨と、受信したパケットがパケット格納メモリ部３００に格納された旨をヘルスチェック実行部１００に対して通知する情報である。
【００８４】
また、順次転送されたヘルスチェックフラグが付された第１のパケット情報を受け取った送信部２０３は、パケット送信を行う前に、第３のパケット情報をヘルスチェック実行部１００に送信する（図５の実線矢印（ｃ））。第３のパケット情報は、パケット処理部２００で処理されたパケットがパケット格納メモリ部３００に格納された旨をヘルスチェック実行部１００に対して通知する情報である。
【００８５】
ヘルスチェック実行部１００は、受信部２０１からヘルスチェックフラグを付した第２のパケット情報を受信すると、パケット格納メモリ部３００にアクセスして、受信部２０１が格納したパケット（第１のパケット）のヘッダ部を取り出す。図５の破線矢印（ｅ）参照。
【００８６】
そして、ヘルスチェック実行部１００は、ヘッダ処理部２０１が実行する処理を検証するために、ポリシー検索デバイス６００およびパケット処理情報蓄積部７００を参照して（図５の点線矢印（ｆ））、パケットヘッダの処理を行う。ヘルスチェック実行部１００は、このようにしてヘッダ処理が行われたパケットを第２のパケットとして保持する。
【００８７】
また、ヘルスチェック実行部１００は、送信部２０３からヘルスチェックフラグを付した第３のパケット情報を受信すると、パケット格納メモリ部３００にアクセスして、ヘッダ処理部２０２が処理して格納したパケットのヘッダ部を取り出す。図５の破線矢印（ｅ）参照。ヘルスチェック実行部１００は、このようにして取り出したパケットを第３のパケットとして保持する。
【００８８】
ヘルスチェック実行部１００は、第２のパケットと第３のパケットのそれぞれのヘッダ部を比較して、パケット処理部２００でのパケット処理が正しく行われたか否かを検証する（ヘルスチェック検証）。
【００８９】
ヘルスチェック実行部１００は、ヘルスチェック検証の結果で異常を検出した場合には、異常に関連する情報を収集して装置管理部８００に報告する。
【００９０】
パケット処理部２００の各処理機能部でパケット廃棄に相当する事象を検出すると概略次のようにして処理される。
【００９１】
受信部２０１、ヘッダ処理部２０２、送信部２０３の各処理機能部は、パケット廃棄に相当する事象を検出すると、その内容を報告する第４のパケット情報をヘルスチェック実行部１００に送信する（図５の実線矢印（ｄ））。
【００９２】
第４のパケット情報を受信したヘルスチェック実行部１００は、パケット廃棄の要因の異常／正常を解析し、異常な要因で廃棄される場合には、異常に関連する情報を収集して装置管理部８００に報告する。ヘルスチェック実行部１００は、正常な要因による廃棄と判断した場合には何もしない。なお、ヘルスチェック実行部１００は、解析の過程でパケット格納メモリ部３００、ポリシー検索デバイス６００またはパケット処理情報蓄積部７００を適宜参照する。
【００９３】
第３の実施形態の通信装置３００は、上述したような構成になっている。
【００９４】
ここでパケット情報について説明する。
【００９５】
パケット情報は次の３つの目的で使用される。
【００９６】
第１の目的はパケットの処理転送引継ぎを行うために使用される（第１のパケット情報）。
【００９７】
これは上述したように、パケットそのものはパケット格納メモリ部３００に格納され、パケット処理部２００の各処理機能部は第１のパケット情報が転送されることにより、パケット格納メモリ部３００にアクセスして対象となるパケットの処理を行う。
【００９８】
第２の目的は運用中のパケットをヘルスチェックパケットとして扱う目的で使用される（第２のパケット情報および第３のパケット情報）。
【００９９】
ヘルスチェック実行部１００は、ヘルスチェック指示信号を出力してパケット処理部２００に対してヘルスチェックの実行を指示する。パケット処理部２００は、ヘルスチェック指示信号を受信すると、その後で受信バッファ４００から取り出したパケットをヘルスチェックパケットとして扱う。そして、パケット処理部２００は、処理前のヘルスチェックパケットおよび処理後のヘルスチェックパケットが、それぞれパケット格納メモリ部３００に格納されるタイミングをヘルスチェック実行部１０に知らせる。つまり、第２のパケット情報は処理前のヘルスチェックパケットがパケット格納メモリ部３００に格納されたタイミングを知らせ、第３のパケット情報は処理後のヘルスチェックパケットがパケット格納メモリ部３００に格納されたタイミングを知らせる。
【０１００】
第３の目的はパケット廃棄に相当する事象の検出をヘルスチェック実行部１００に知らせる目的で使用される（第４のパケット情報）。
【０１０１】
パケット処理部２００の各処理機能部は、処理の過程でパケット廃棄に相当する事象を検出した場合は、廃棄に関する詳細を第４のパケット情報によりヘルスチェック実行部１００に知らせる。
【０１０２】
以上のように、各処理機能部でパケット廃棄に相当する事象を検出しない限り、第１のパケット情報が各処理機能部間を転送し、第２のパケット情報が受信部２０１から、第３のパケット情報が送信部２０３からそれぞれ出力される。なお、ヘルスチェックが行われない場合、第１のパケット情報は、最後段の送信部２０３で終端される。また、パケット廃棄に相当する事象が検出された場合には、処理機能部が受信していた第１のパケット情報にパケット廃棄に関する情報が書き込まれ、第４のパケット情報としてヘルスチェック実行部１０に送信される。
【０１０３】
図６はパケット情報の内容を説明する図である。
【０１０４】
上述した第１乃至第４のパケット情報は、すべて同じフォーマットである。
パケット情報は、図６に示すように、「パケットＩＤ、ヘルスチェックフラグ、パケット廃棄有無、廃棄発生部、廃棄要因および異常有無」の各フィールドを含む。
【０１０５】
「パケットID」は、処理対象としているパケットに付与されたパケット識別子である。「ヘルスチェックフラグ」は、処理対象としているパケットがヘルスチェックパケットとして処理されている場合に書き込まれる。
【０１０６】
「パケット廃棄有無」は、このパケット情報がパケット廃棄を報告するものかどうかを示す。したがって、第１乃至第３のパケット情報には「廃棄無」が書き込まれ、第４のパケット情報には「廃棄有」が書き込まれる。
【０１０７】
「廃棄発生部」は、パケット廃棄に相当する事象を検出したパケット処理部２００の各処理機能部（受信部、ヘッダ処理部、送信部）を示す。「廃棄要因」はパケット廃棄の原因となる事象を示す。したがって、これらのフィールドは、第４のパケット情報の場合にのみ書き込まれている。
【０１０８】
「異常有無」はヘルスチェック実行部１００で使用されるフィールドで、ヘルスチェック実行部内での通知情報として使用される。
【０１０９】
次に、本実施形態の通信装置３００の各構成の処理機能について説明する。
【０１１０】
図５を参照してパケット処理部２００の処理機能について説明する。
【０１１１】
受信部２０１は、図示しない外部インタフェースからパケットが入力して、受信バッファ４００に格納される状況を常時監視している。受信部２０１は、受信バッファ４００から取り出したパケットにパケット識別子を付与してパケット格納メモリ部３００に格納する。
【０１１２】
その後、パケットのヘッダ部分に付与されているチェックサム値を用いて、受信データの正常性確認を行う。
【０１１３】
チェックサム値の不一致によりこの正常性確認の段階で異常が検出された場合は、パケット廃棄に相当する事象の検出なので、受信部２０１は、第４のパケット情報をヘルスチェック実行部１００へ送信する。
【０１１４】
第４のパケット情報には、前述したように廃棄発生部、廃棄要因が書き込まれる。つまり、受信部２０１は、「パケットＩＤ」と「パケット廃棄有」、および「廃棄発生部」として「受信部」、「廃棄要因」として「チェックサム値不一致」が書き込まれたパケット情報を作成してヘルスチェック実行部１００へ送信する。
【０１１５】
受信データが正常な場合は、パケットの処理転送引継ぎを目的とした第１のパケット情報が次段の処理機能部であるヘッダ処理部２０２に転送される。つまり、受信部２０１は、「パケットＩＤ」と「パケット廃棄無」が書き込まれた第１のパケット情報を作成してヘッダ処理部２０２へ転送する。
【０１１６】
また、受信部２０１は、ヘルスチェック実行部１０からヘルスチェック指示信号を受信すると、その後で受信バッファ４００から取り出したパケットをヘルスチェックパケットとして扱う。この場合、受信部２０１は、「パケットＩＤ」、「ヘルスチェックフラグ」と「パケット廃棄無」が書き込まれた第１のパケット情報を作成して、ヘッダ処理部２０２へ転送すると同時にヘルスチェック実行部１００には、第２のパケット情報を送信する。このとき、第１のパケット情報と第２のパケット情報の内容は同じである。
【０１１７】
ヘッダ処理部２０２は、受信部２０１から第１のパケット情報を受け取ると、パケット格納メモリ部３００にアクセスし、第１のパケット情報に示されている「パケットID」に基づいて、格納されている処理対象のパケットのヘッダ部分を取得して解析、処理を実施する。
【０１１８】
ヘッダ処理部２０２は、パケットのヘッダに異常がないかどうかのヘッダチェックを実施する。例えば、ヘッダ処理部２０２は、ヘッダチェックにより、バージョン、ヘッダ長、パケット長等が不正確なものでないことを確認する。
【０１１９】
その後、ヘッダ処理部２０２は、ポリシー検索に使用される検索キーの抽出を行い、ポリシー検索デバイス６００にて検索を実施する。パケットをどのように処理すればよいのかを示すパケット処理内容（例えばルーティングのためのＩＰ（Internet Protocol）アドレスの変更等）がパケット処理情報蓄積部７００に示されている。そこで、ヘッダ処理部２０２は、処理対象のパケットから得られる検索キー（例えばIPアドレスのhash値等）に基づいて、ポリシー検索デバイス６００を検索することにより、パケット処理情報蓄積部７００とのリンク情報を得ることができる。そして、ヘッダ処理部２０２は、パケット処理情報蓄積部７００に示されるパケット処理内容を実施する。
【０１２０】
ここでは、ネットワークの運用方針に基づく各種の処理が行われる。例えば、ＩＰアドレス、プロトコル、ポート番号、優先度等を参照して、予め決められたポリシーに応じた通過許可や廃棄を行うフィルタリングや、経路の変更を行うルーティングの処理等が行われる。
【０１２１】
したがって、ヘッダ処理部２０２が行う処理内容に応じてヘッダ部分が書き換えらえたり、パケット廃棄に相当する事象に遭遇したりする。
【０１２２】
ヘッダ処理部２０２は、正常にヘッダ処理が終了すると、そのヘッダ部をパケット格納メモリ部３００に格納し、「パケットＩＤ」と「パケット廃棄無」が書き込まれている第１のパケット情報を送信部２０３に転送する。
【０１２３】
一方、ヘッダ処理部２０２は、処理の過程でパケット廃棄に相当する事象を検出した場合、第４のパケット情報をヘルスチェック実行部１００へ送信する。この場合、受信していた第１のパケット情報に、「パケット廃棄有」、「廃棄発生部」、「廃棄要因」を書き込むことにより第４のパケット情報を生成する。したがって、この場合、送信部２０３に転送される第１のパケット情報は無くなる。
【０１２４】
パケットの廃棄要因としては、ヘッダ部分のチェックにより、バージョン、ヘッダ長、パケット長等が不正確であることが検出された場合がある。また、特定のＩＰアドレス、プロトコル、ポート番号、優先度等を有するパケットがフィルタリングで通過が許可されない場合もある。
【０１２５】
送信部２０３はパケットの送信処理を実行する。
【０１２６】
送信部２０３は、ヘッダ処理部２０２から第１のパケット情報を受け取り、第１のパケット情報にヘルスチェックフラグが付されていない場合、パケット格納メモリ部３００にアクセスして、「パケットID」に対応するパケットを取り出す。パケット格納メモリ部３００から取り出されたパケットは、送信バッファ５００に転送される。そして、第１のパケット情報は送信部２０３で終端される。
【０１２７】
一方、第１のパケット情報にヘルスチェックフラグが付されていた場合、送信部２０３は、この第１のパケット情報を、第３のパケット情報としてヘルスチェック実行部１００に送信する。第３のパケット情報は、ヘルスチェックパケットの処理が終了し、処理済みのヘルスチェックパケットがパケット格納メモリ部３００に格納されていることをヘルスチェック実行部１００に通知する情報である。
【０１２８】
送信部２０３は、第３のパケット情報を送信した場合、ヘルスチェック実行部１００からヘルスチェック検証の結果の通知を受けるまでは、パケット格納メモリ部３００に格納されているパケットの送信を保留する。
【０１２９】
また、送信部２０３は、送信バッファ５００の状態を常時監視している。ヘッダ処理部２０２から第１のパケット情報を受け取ったときに、送信バッファ５００にパケットを正常に格納できない状況を検出した場合には、パケット廃棄に相当する事象を検出したものとして第４のパケット情報をヘルスチェック実行部１００に送信する。
【０１３０】
ヘルスチェック実行部１００の構成と処理機能について説明する。
【０１３１】
ヘルスチェック実行部１００は、パケット処理部２００の動作の正常性を確認するためにヘルスチェックを周期的に実施する。
【０１３２】
ヘルスチェックは、ヘルスチェック実行部１００がヘルスチェックの開始を指示するヘルスチェック指示信号をパケット処理部２００に送信することにより開始される。
【０１３３】
前述したように、パケット処理部２００は、ヘルスチェック指示信号を受信すると、次に受信した運用パケットをヘルスチェックパケットとして扱う処理を行う。パケット処理部２００は、処理前のヘルスチェックパケットおよび処理後のヘルスチェックパケットが、それぞれパケット格納メモリ部３００に格納されるタイミングを第２および第３のパケット情報によりヘルスチェック実行部１００に知らせる。
【０１３４】
ヘルスチェック実行部１００は、処理前のヘルスチェックパケットがパケット格納メモリ部３００に格納されたことを知らされると、そのパケットのヘッダ部を取り出し、パケット処理部２００が実行する処理と同じヘッダ処理を行う。
【０１３５】
ヘルスチェック実行部１００は、パケット処理部２００による処理後のヘルスチェックパケットがパケット格納メモリ部３００に格納されたことを知らされると、そのパケットのヘッダ部を取り出す。
【０１３６】
そして、ヘルスチェック実行部１００は、ヘルスチェック実行部１００が処理したヘッダ部とパケット処理部２００が処理したヘッダ部を比較して、正常にパケットが処理されたかどうかを確認する。
【０１３７】
この比較の結果、両者の内容が不一致となり、正常な処理がされていないと判断された場合には、ヘルスチェックNGとして、異常に関連する情報を収集して、装置管理部８００に異常通知が出力される。
【０１３８】
なお、前述したように、送信部２０３は処理済みのヘルスチェックパケットの送信を保留しているので、ヘルスチェック実行部１００は、ヘルスチェックの検証結果を送信部２０３に通知する。送信部２０３は、ヘルスチェックの検証結果でヘルスチェックＯＫを通知された場合に、保留していたヘルスチェックパケットの送信を実行する。一方、ヘルスチェックの検証結果でヘルスチェックＮＧを通知された場合、送信部２０３は、処理済みのヘルスチェックパケットを廃棄する。
【０１３９】
また、ヘルスチェック実行部１００は、パケット処理部２００からパケット廃棄に相当する事象を検出した旨の通知を受けた場合、そのパケット廃棄が正常なパケット廃棄かどうかの確認を行う。異常状態に起因するパケット廃棄である場合には、ヘルスチェック実行部１００は、パケット廃棄の要因などのログを収集、保存し、装置管理部８００に異常通知を出力する。
【０１４０】
ヘルスチェック実行部１００は、パケット廃棄の正常／異常の解析を行った後、第４のパケット情報を送信してきた各処理機能部に対してパケット廃棄を指示する。つまり、この段階でパケット格納メモリ部３００に格納されているパケットが廃棄される。
【０１４１】
図７乃至図１１を参照してヘルスチェック実行部１００の詳細を説明する。
【０１４２】
図７は、ヘルスチェック実行部１００の構成を示すブロック図である。
【０１４３】
ヘルスチェック実行部１００は、ヘルスチェックの実行に関連する構成として、ヘルスチェック判定・実行指示部１０１、パケット情報受信部１０２、ヘルスチェックヘッダメモリ１０３およびヘルスチェックヘッダ処理部１０４を含む。つまり、これらの構成が第２の実施形態におけるヘルスチェック検証部１１に相当する。
【０１４４】
また、パケット廃棄の正常／異常を判定する処理に関連する構成として、ヘルスチェック実行部１００はパケット廃棄解析部１０５を備える。
【０１４５】
さらに、ヘルスチェック実行部１００は、収集した異常情報を蓄積するためにログ格納用メモリ１０６を含む構成となっている。
【０１４６】
ヘルスチェック判定・実行指示部１０１は、ヘルスチェック指示信号を出力してヘルスチェックの実行をパケット処理部２００に指示する。また、ヘルスチェック判定・実行指示部１０１は、パケット情報受信部１０２やパケット廃棄解析部１０５からの通知を受けて、ヘルスチェックが正常か否か、また、発生したパケット廃棄が正常か否かを判定する。
【０１４７】
上記の判定の結果、異常と判定した場合、ヘルスチェック判定・実行指示部１０１は、関連する異常情報を収集してログ格納用メモリ１０６に格納し、蓄積する。蓄積したログ情報は任意のタイミングで装置管理部８００に転送される。
【０１４８】
パケット情報受信部１０２は、パケット処理部２００が送信する第２乃至第４のパケット情報を受信して、ヘルスチェックの処理に関するパケット情報かそれともパケット廃棄に関するパケット情報かを識別する。
【０１４９】
ヘルスチェックの処理に関する第２および第３のパケット情報を受信した場合、パケット情報受信部１０２は、ヘルスチェックヘッダメモリ１０３およびヘルスチェックヘッダ処理部１０４を用いて、後述するヘルスチェックの処理を実行する。
【０１５０】
一方、パケット廃棄に関する第４のパケット情報を受信した場合、パケット情報受信部１０２は、受信した第４のパケット情報をパケット廃棄解析部１０５に転送して、パケット廃棄が正常か否かの解析処理を実行させる。
【０１５１】
図８乃至１１を参照してヘルスチェック実行部１００の動作を説明する。
【０１５２】
図８は、ヘルスチェック実行部のヘルスチェックの動作を示すシーケンス図である。
【０１５３】
ヘルスチェック判定・実行指示部１０１は、ヘルスチェック指示信号を出力してヘルスチェックの実行をパケット処理部２００に指示する（Ｓ３０１）。
【０１５４】
ヘルスチェック指示信号を受信したパケット処理部２００では、前述したように、受信部２０１が次に受信した運用パケットをヘルスチェックパケットとして扱う処理を行う。つまり、パケット処理部２００は、受信してパケット格納用メモリ部３００に格納したパケットの識別子およびヘルチェックフラグを付した第２のパケット情報をヘルスチェック実行部１００に送信する（Ｓ３０２）。
【０１５５】
ヘルスチェック実行部１００では、パケット情報受信部１０２が第２のパケット情報を受信する。パケット情報受信部１０２は、パケット処理部２００から受信したパケット情報の種別を識別する。
【０１５６】
ヘルスチェックフラグが付され、「パケット廃棄無」が書き込まれていることから、パケット情報受信部１０２は、ヘルスチェック処理に関する第２または第３のパケット情報であることを識別する。また、パケット情報受信部１０２は、「パケットＩＤ」が示す識別子が処理中の識別子でないことを確認すると、受信したパケット情報は第２のパケット情報であることを識別する。
【０１５７】
第２のパケット情報を受信したことを識別したパケット情報受信部１０２は、ヘルスチェックの前半の処理を開始する。
【０１５８】
まず、第２のパケット情報の「パケットＩＤ」が示す識別子に基づいて、パケット情報受信部１０２は、パケット格納用メモリ部３００にアクセスして、対応するパケットのヘッダ部（第１のパケット）を取得する（Ｓ３０３）。この第１のパケットは、パケット処理部２００が受信した際の状態のパケットのヘッダ部である。この第１のパケットはヘルスチェックヘッダメモリ１０３に格納される。
【０１５９】
続いて、パケット情報受信部１０２は、第１のパケットのヘッダ処理をヘルスチェックヘッダ処理部１０４に指示する（Ｓ３０４）。
【０１６０】
パケット情報受信部１０２から指示を受けたヘルスチェックヘッダ処理部１０４は、第１のパケットをヘルスチェックヘッダメモリ１０３から取り出し、第１のパケットに対して、パケット処理部２００が実施する処理と同じパケット処理を行う。つまり、図５を参照して説明したように、ヘッダ部分の正常性のチェックや、ポリシー検索デバイス６００およびパケット処理情報蓄積部７００を参照して、ポリシーに応じたフィルタリングやルーティングの処理を行う。この処理で生成されたパケットヘッダ部を第２のパケットと称する（Ｓ３０５）。
【０１６１】
ヘルスチェックヘッダ処理部１０４は、生成した第２のパケットをヘルスチェックヘッダメモリ１０３に格納する（Ｓ３０６）。
【０１６２】
なお、上述したステップＳ３０３およびステップＳ３０４の処理は、次のようにしてもよい。つまり、第２のパケット情報を受信したことを識別したパケット情報受信部１０２は、第１のパケットの取得とその処理をすべてヘルスチェックヘッダ処理部１０４に指示してもよい。
【０１６３】
この場合、第２のパケット情報を受信したことを識別したパケット情報受信部１０２は、第２のパケット情報を転送することにより、第１のパケットの取得とその処理をヘルスチェックヘッダ処理部１０４に指示する。
【０１６４】
そして、パケット情報受信部１０２から第２のパケット情報を受け取ったヘルスチェックヘッダ処理部１０４は、パケット格納用メモリ部３００にアクセスして、第１のパケットを取得してヘルスチェックヘッダメモリ１０３に格納する。その後、第１のパケットに対して、パケット処理部２００が実施する処理と同じパケット処理を行って第２のパケットを生成する。
【０１６５】
説明を先に進める。
【０１６６】
パケット処理部２００のヘッダ処理部２０２による運用パケットの処理が済んで、パケット処理部２００では送信部２０３に第１のパケット情報が転送される。つまり、パケット格納用メモリ部３００には、パケット処理部２００で処理されたパケットが格納されている。
【０１６７】
パケット処理部２００の送信部２０３は受け取った第１のパケット情報にヘルスチェックフラグが付されている場合、第３のパケット情報をヘルスチェック実行部１００に送信する（Ｓ３０７）。送信部２０３は、第３のパケット情報を新たに生成することなく、ヘッダ処理部２０２から受け取った第１のパケット情報をそのまま第３のパケット情報として送信してよい。このとき、送信部２０３は、パケット格納メモリ部３００に格納されているパケットの送信を保留する。
【０１６８】
パケット情報受信部１０２は、パケット処理部２００の送信部２０３から受信したパケット情報の種別を識別する。
【０１６９】
ヘルスチェックフラグが付され、「パケット廃棄無」が書き込まれていることから、パケット情報受信部１０２は、ヘルスチェック処理に関する第２または第３のパケット情報であることを識別する。また、パケット情報受信部１０２は、「パケットＩＤ」が示す識別子が処理中の識別子であることを確認すると、受信したパケット情報が第３のパケット情報であることを識別する。
【０１７０】
第３のパケット情報を受信したことを識別したパケット情報受信部１０２は、ヘルスチェックの後半の処理を開始する。
【０１７１】
まず、第３のパケット情報の「パケットＩＤ」が示す識別子に基づいて、パケット情報受信部１０２は、パケット格納用メモリ部３００にアクセスして、対応するパケットのヘッダ部（第３のパケット）を取得する（Ｓ３０８）。この第３のパケットは、パケット処理部２００が処理を済ませた状態のパケットのヘッダ部である。この第３のパケットはヘルスチェックヘッダメモリ１０３に格納される。
【０１７２】
続いて、パケット情報受信部１０２は、ヘルスチェックの応答があった旨をヘルスチェック判定・実行指示部１０１に通知する（Ｓ３０９）。このとき、パケット情報受信部１０２は、受信した第３のパケット情報をヘルスチェック応答通知としてヘルスチェック判定・実行指示部１０１に転送する。
【０１７３】
パケット情報受信部１０２からヘルスチェック応答通知を受け取ったヘルスチェック判定・実行指示部１０１は、ヘルスチェックヘッダメモリ１０３に格納されている第２のパケットと第３のパケットを比較する（Ｓ３１０）。つまり、パケット処理部２００で処理されたパケットのヘッダ部と、それを検証したヘルスチェック実行部１００の処理に基づくパケットのヘッダ部が比較される。
【０１７４】
両者が一致していた場合、ヘルスチェック判定・実行指示部１０１は、ヘルスチェックＯＫと判定して、パケット情報受信部１０２から受信したヘルスチェック応答通知のパケット情報に「異常無」を書き込んでログ格納用メモリ１０６に格納する。
【０１７５】
両者が一致していなかった場合、ヘルスチェック判定・実行指示部１０１は、ヘルスチェックNGと判定して、パケット情報受信部１０２から受信したヘルスチェック応答通知のパケット情報に「異常有」を書き込んでログ格納用メモリ１０６に格納する。そして、ヘルスチェック判定・実行指示部１０１は、装置管理部８０に異常の発生を通知する（Ｓ３１１）。
【０１７６】
なお、ヘルスチェックNG発生時の各処理機能部のレジスタ情報、ポリシー検索デバイスのレジスタ情報やデータ、パケット処理情報などもログ格納用メモリ１０６に格納される。
【０１７７】
装置管理部８００への通知は任意のタイミングで実施するようにしてもよい。
【０１７８】
装置管理部８００は、ログ格納用メモリ１０６に格納されているログ情報を取り出して、ヘルスチェックの結果の解析に用いる。
【０１７９】
ヘルスチェック判定・実行指示部１０１は、ヘルスチェック検証結果をパケット処理部２００の送信部２０３に通知する（Ｓ３１２）。
【０１８０】
これは、前述したように、送信部２０３が処理済みのパケットの送信を保留して第３のパケット情報を送信したためである。送信部２０３は、ヘルスチェックの検証結果でヘルスチェックＯＫを通知された場合に、保留していたヘルスチェックパケットの送信を実行する。一方、ヘルスチェックの検証結果でヘルスチェックＮＧを通知された場合、送信部２０３は、処理済みのヘルスチェックパケットを廃棄する。
【０１８１】
なお、ヘルスチェック判定・実行指示部１０１は、ヘルスチェックを継続するため、パケット処理部２００に対してヘルスチェック指示信号を次の周期で送信する。つまり、ステップＳ３０１からの処理が繰り返される。
【０１８２】
次に、図９を参照してパケット処理部２００でパケット廃棄に相当する事象を検出した場合のヘルスチェック実行部１００の動作を説明する。
【０１８３】
パケット処理部２００では、パケットに付与されているチェックサムの異常や、フィルタリング機能、レートリミット機能などでパケットを廃棄することがある。しかし、この場合のパケット廃棄は装置としては正常な動作となるため、「パケット廃棄＝装置の異常」とはならない。
【０１８４】
そのため、ヘルスチェック実行部１００は、パケット処理部２００から報告されたパケット廃棄に関する情報について、パケット廃棄解析部１０５で、そのパケット廃棄の要因を解析する処理を行う。
【０１８５】
図９は、パケット廃棄に相当する事象を検出した場合のヘルスチェック実行部１００の動作を示すシーケンス図である。
【０１８６】
前述したように、パケット処理部２００の処理の過程でパケット廃棄に相当する事象を検出すると、パケット処理部２００は、「パケット廃棄有、廃棄発生部、廃棄要因」を書き込んだ第４のパケット情報をヘルスチェック実行部１００に送信する（Ｓ４０１）。
【０１８７】
ヘルスチェック実行部１００では、パケット情報受信部１０２が第４のパケット情報を受信する。パケット情報受信部１０２は、第４のパケット情報に書き込まれた「パケット廃棄有」により、受信したパケット情報がパケット廃棄を報告する第４のパケット情報であることを識別する（Ｓ４０２）。
【０１８８】
パケット廃棄を報告する第４のパケット情報であることを識別したパケット情報受信部１０２は、第４のパケット情報をパケット廃棄解析部１０５に転送する（Ｓ４０３）。
【０１８９】
パケット廃棄解析部１０５は、第４のパケット情報からパケット廃棄に相当する事象を検出した処理機能部とパケット廃棄要因を確認し、廃棄要因が正しいかどうかの解析を行う（Ｓ４０４）。
【０１９０】
例えば、第４のパケット情報からパケット処理部２００の受信部２０１でパケットのチェックサム異常を要因としたパケット廃棄であることを判別すると、パケット廃棄解析部１０５は、受信部２０１と同様にチェックサムの確認を行う。つまり、パケット格納メモリ部３００に格納されている対象パケットのヘッダ部を取り出してチェックサムの検証計算を行う。パケット廃棄解析部１０５は、検証した結果、チェックサム異常が再現すれば正常な廃棄と判定し、チェックサムが正常であれば受信部２０１の異常と判定する。
【０１９１】
パケット廃棄解析部１０５は、第４のパケット情報の「異常有無」フィールドに解析結果に基づいて異常の有無を書き込んで、第４のパケット情報をヘルスチェック判定・実行指示部１０１に転送する（Ｓ４０５）。つまり、パケット廃棄が正常な動作に基づく廃棄であれば「異常無」が、パケット廃棄が異常な動作に基づく廃棄であれば「異常有」が書き込まれる。
【０１９２】
ヘルスチェック判定・実行指示部１０１は、受け取った第４のパケット情報に「異常無」が書き込まれている場合は、異常報告は行わない。
【０１９３】
ヘルスチェック判定・実行指示部１０１は、受け取った第４のパケット情報に「異常有」が書き込まれている場合は、異常に関連するログをログ格納用メモリ１０６に格納する（Ｓ４０６）。ログ格納用メモリ１０６に格納される情報には、パケット廃棄発生時の各処理機能部のレジスタ情報、ポリシー検索デバイスのレジスタ情報やデータ、パケット処理情報などがある。
【０１９４】
その後、ヘルスチェック判定・実行指示部１０１は、装置管理部８００に対して異常を通知する（Ｓ４０７）。
【０１９５】
また、ヘルスチェック判定・実行指示部１０１は、パケット廃棄要因検証が終わったので、第４のパケット情報を送信してきたパケット処理部２００の処理機能部に対してパケット廃棄を指示する（Ｓ４０８）。パケット廃棄に相当する事象を検出して第４のパケットを送信したパケット処理部２００の処理機能部は、パケット格納用メモリ部３００に格納されている対象パケットを廃棄する。
【０１９６】
図１０を参照してパケット廃棄の対象となるパケットがヘルスチェックパケットであった場合のヘルスチェック実行部１００の動作を説明する。
【０１９７】
図１０は、ヘルスチェックパケットがパケット廃棄の対象となるパケットであった場合のヘルスチェック実行部１００の動作を示すシーケンス図である。
【０１９８】
ヘルスチェック判定・実行指示部１０１は、ヘルスチェックの実行を指示するヘルスチェック指示信号をパケット処理部２００に送信する（Ｓ５０１）。
【０１９９】
ヘルスチェック指示信号を受信したパケット処理部２００は、次に受信した運用パケットをヘルスチェックパケットとして扱う。そして、パケット格納用メモリ部３００に格納したそのパケットのパケット識別子およびヘルチェックフラグを付した第２のパケット情報をヘルスチェック実行部１００に送信する（Ｓ５０２）。
【０２００】
パケット情報受信部１０２が第２のパケット情報を受信してから、ヘルスチェックヘッダ処理部１０４が第２のパケットを生成するまでの処理は、図８を参照して説明したステップＳ３０３からステップＳ３０５の処理と同じである。
【０２０１】
そして、ヘルスチェックヘッダ処理部１０４は、パケット処理部２００が実施する処理と同じパケット処理を受信したパケットに対して実施して生成した、第２のパケットをヘルスチェックヘッダメモリ１０３に格納する（Ｓ５０４）。
【０２０２】
パケット処理部２００の処理の過程でパケット廃棄に相当する事象を検出すると、パケット処理部２００は、「パケット廃棄有、廃棄発生部、廃棄要因」を書き込んだ第４のパケット情報をヘルスチェック実行部１００に送信する（Ｓ５０５）。このとき、パケット情報には「ヘルスチェックフラグ」も付されている。
【０２０３】
第４のパケット情報を受信したパケット情報受信部１０２は、第４のパケット情報の「パケット廃棄有」と「ヘルスチェックフラグ」に基づき、ヘルスチェックにおいてパケット廃棄が発生したことを識別する（Ｓ５０６）。
【０２０４】
パケット情報受信部１０２は、第４のパケット情報をパケット廃棄解析部１０５に転送する（Ｓ５０７）。
【０２０５】
パケット廃棄解析部１０５は、第４のパケット情報からパケット廃棄に相当する事象を検出した処理機能部とパケット廃棄要因を確認し、廃棄要因が正しいかどうかの解析を行う（Ｓ５０８）。つまり、パケット廃棄解析部１０５は、第４のパケット情報に書き込まれた情報に基づいて、パケット格納メモリ部３００に格納されている対象パケットのヘッダ部を取り出して検証処理を行う。パケット廃棄解析部１０５は、検証した結果、機能処理部の正常な動作に基づくパケット廃棄であることを確認すると正常な廃棄と判定し、機能処理部の異常に起因するパケット廃棄であることを確認すると異常と判定する。
【０２０６】
パケット廃棄解析部１０５は、第４のパケット情報の「異常有無」フィールドに解析結果に基づいて異常の有無を書き込んで、そのパケット情報をヘルスチェック判定・実行指示部１０１に転送する（Ｓ５０９）。
【０２０７】
ヘルスチェック判定・実行指示部１０１は、受け取った第４のパケット情報に「異常有」が書き込まれている場合は、異常に関連するログをログ格納用メモリ１０６に格納する（Ｓ５１０）。
【０２０８】
また、ヘルスチェック判定・実行指示部１０１は、第４のパケット情報にヘルスチェックフラグが付されている場合は、「異常有無」フィールドの内容にかかわらず、装置管理部８００に対してヘルスチェックＮＧを通知する（Ｓ５１１）。
【０２０９】
また、ヘルスチェック判定・実行指示部１０１は、パケット廃棄要因検証が終わったので、第４のパケット情報を送信してきたパケット処理部２００の処理機能部に対してパケット廃棄を指示する（Ｓ５１２）。パケット廃棄に相当する事象を検出して第４のパケットを送信したパケット処理部２００の処理機能部は、パケット格納用メモリ部３００に格納されている対象パケットを廃棄する。
【０２１０】
最後に、ヘルスチェックが所定時間内に終了しなかった場合の処理について図１１を参照して説明する。
【０２１１】
図１１は、ヘルスチェックにおいて所定時間内にヘルスチェック応答通知を受信しなかった場合のヘルスチェック判定・実行指示部１０１の動作を示すフロー図である。
【０２１２】
ヘルスチェック判定・実行指示部１０１は、パケット処理部２００に対してヘルスチェック指示信号を出力してから、ヘルスチェック応答を受けるまでの時間を監視している。パケット廃棄が無ければ、パケット情報受信部１０２から受信するヘルスチェック応答通知（図８のステップＳ３０９参照）がこのヘルスチェック応答になる。また、パケット廃棄がある場合は、パケット廃棄解析部１０５から受信するヘルスチェックフラグが付された第４のパケット情報がこのヘルスチェック応答になる。
【０２１３】
ヘルスチェック判定・実行指示部１０１は、ヘルスチェック指示信号を出力し（Ｓ６０１）、所定時間内にヘルスチェック応答を受信したか否かを判定する（Ｓ６０２）。
【０２１４】
所定時間内にヘルスチェック応答を受信した場合（Ｓ６０２、ＹＥＳ）、ヘルスチェック判定・実行指示部１０１は、図８のステップＳ３１０以降の処理または図１０のステップＳ５１０以降の処理を行う。
【０２１５】
一方、所定時間内にヘルスチェック応答を受信しなかった場合（Ｓ６０２、ＮＯ）、ヘルスチェック判定・実行指示部１０１は、パケット廃棄以外のパケット処理部２００の異常と判断する。この場合、ヘルスチェック判定・実行指示部１０１は、ヘルスチェックNG発生時の各処理機能部のレジスタ情報、ポリシー検索デバイスのレジスタ情報およびデータ、パケット処理情報などをログ格納用メモリ１０６へ格納する（Ｓ６０３）。
【０２１６】
その後、ヘルスチェック判定・実行指示部１０１は、装置管理部８００に対してヘルスチェックＮＧを通知する（Ｓ６０４）。
【０２１７】
以上に説明したように、本実施形態の通信装置は、ヘルスチェックを行うことにより異常の発生を早期に検出することができる。しかも、ヘルスチェックには特別なヘルスチェックパケットを使うことなく、実際の運用状態で処理されるパケットを用いてパケット処理部の処理内容を検証するという簡単な構成で異常を検出することができる。さらに、処理内容の不一致が発生した検証内容および収集したログを用いることにより障害原因の解析に資することができる。また、パケット廃棄の場合にも、その要因を解析することにより、処理機能部の正常な機能に基づくパケット廃棄と、異常が発生したことに起因するパケット廃棄とを判別することができる。そして、異常によるパケット廃棄が発生した場合には、異常に関連するログを収集するので、障害原因の解析に資することができる。
【０２１８】
なお、上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）  受信した受信パケット及び該受信パケットに所定の処理が施された処理パケットが格納されるパケット格納メモリと、
前記受信パケットに前記所定の処理を施し、前記受信パケットが前記格納された旨を通知する第２のパケット情報と、前記処理パケットを前記格納した旨を通知する第３のパケット情報を出力するパケット処理手段と、
前記第２のパケット情報の入力に応じて、前記格納された前記受信パケットを読み出し前記所定の処理を施して第２のパケットを生成し、前記第３のパケット情報の入力に応じて、前記格納されている前記処理パケットと前記第２のパケットとを比較し、不一致を検出した場合にはその旨の情報を出力するヘルスチェック実行手段と
を備えていることを特徴とする通信装置。
（付記２）  前記ヘルスチェック実行手段は、周期的にヘルスチェックの実行を指示するヘルスチェック指示信号を出力し、
前記パケット処理手段は、前記ヘルスチェック指示信号を受信した場合に前記第２のパケット情報および前記第３のパケット情報を出力する
ことを特徴とする付記１に記載の通信装置。
（付記３）  前記パケット処理手段は、
前記受信パケットを前記パケット格納メモリに格納し、前記ヘルスチェック指示信号を受信した場合には、前記受信パケットの処理転送引継ぎに使用する第１のパケット情報にヘルスチェックフラグを付して転送し、前記第２のパケット情報を出力する最前段に配備された処理機能部と、
受信した前記第１のパケット情報に基づいて、前記パケット格納メモリに格納された前記受信パケットに対して前記所定の処理を施して前記第１のパケット情報を転送する中間段に配備された処理機能部と、
受信した前記第１のパケット情報に前記ヘルスチェックフラグが付されている場合に、前記第３のパケット情報を出力する最後段に配備された処理機能部と
を備えることを特徴とする付記２に記載の通信装置。
（付記４）  前記パケット処理手段の前記最後段に配備された処理機能部は、前記パケット格納メモリに格納されている前記処理パケットを送信する送信部であって、
前記送信部は、受信した前記第１のパケット情報に前記ヘルスチェックフラグが付されている場合、前記処理パケットの送信を保留して、前記第３のパケット情報を前記ヘルスチェック実行手段に出力し、前記ヘルスチェック実行手段から、前記格納されている前記処理パケットと前記第２のパケットとの比較によるヘルスチェック検証が正常終了した旨の通知を受けてから前記処理パケットを送信する
ことを特徴とする付記３に記載の通信装置。
（付記５）  前記送信部は、前記ヘルスチェック実行手段から、前記ヘルスチェック検証が異常終了したヘルスチェック異常の通知を受けると、前記処理パケットを廃棄することを特徴とする付記４に記載の通信装置。
（付記６）  前記パケット処理手段の前記中間段に配備された処理機能部は、前記パケット格納メモリに格納されている前記受信パケットに対して運用ポリシーに応じて予め決められた内容の処理を施すヘッダ処理部であることを特徴とする付記３乃至付記５のいずれかの付記に記載の通信装置。
（付記７）  前記ヘルスチェック実行手段は、
前記パケット処理手段が送信した前記第２および第３のパケット情報を受信し、前記第２のパケット情報を受信すると、前記パケット格納メモリに格納されている前記受信パケットを第１のパケットとしてパケットヘルスチェックメモリに格納し、前記所定の処理を施す実行指示を出力し、前記第３のパケット情報を受信すると、前記パケット格納メモリに格納されている前記処理パケットを前記第３のパケットとして前記パケットヘルスチェックメモリに格納して前記第３のパケット情報を転送するパケット情報受信部と、
前記パケット情報受信部が出力する前記実行指示を受けて、前記第１のパケットに対して、前記所定の処理を施して前記第２のパケットを生成し、前記パケットヘルスチェックメモリに格納するヘルスチェックヘッダ処理部と、
前記パケット情報受信部から転送された前記第３のパケット情報を受けて、前記パケットヘルスチェックメモリに格納された前記第２のパケットと前記第３のパケットとを比較し、不一致を検出した場合にはヘルスチェック異常に関する情報を収集して出力するヘルスチェック判定・実行指示部
を含むことを特徴とする付記６に記載の通信装置。
（付記８）  前記ヘルスチェック実行手段の前記ヘルスチェックヘッダ処理部は、前記パケット処理手段の前記ヘッダ処理部が実行する処理と同じ処理を前記第１のパケットに対して施すことを特徴とする付記７に記載の通信装置。
（付記９）  前記パケット処理手段は、パケット廃棄に相当する事象を検出すると、前記第１のパケット情報を、検出したパケット廃棄に関する情報を含む第４のパケット情報に書き換えて、前記ヘルスチェック実行手段に出力し、
前記ヘルスチェック実行手段は、前記第４のパケット情報を受信した場合に、前記第４のパケット情報に含まれる情報に基づいて、前記パケット廃棄が前記パケット処理部の正常な処理に基づくパケット廃棄か否かを検証し、前記パケット廃棄検証の結果を出力するパケット廃棄解析部
を含むことを特徴とする付記１乃至付記８のいずれかの付記に記載の通信装置。
（付記１０）  前記パケット処理手段は、パケット廃棄に相当する事象を検出すると、前記第１のパケット情報を、検出したパケット廃棄に関する情報を含む第４のパケット情報に書き換えて、前記ヘルスチェック実行手段に出力し、
前記ヘルスチェック実行手段は、前記第４のパケット情報を受信した場合に、前記第４のパケット情報に含まれる情報に基づいて、前記パケット廃棄が前記パケット処理部の正常な処理に基づくパケット廃棄か否かを検証し、前記パケット廃棄検証の結果を出力するパケット廃棄解析部を含み、
前記ヘルスチェック実行手段の前記パケット情報受信部は、前記第４のパケット情報を受信すると、前記第４のパケットを前記パケット廃棄解析部に出力し、
前記ヘルスチェック実行手段の前記ヘルスチェック判定・実行指示部は、前記パケット廃棄解析部が出力する前記検証の結果を受信すると、前記第４のパケット情報を送信した前記パケット処理手段に対して前記パケットの廃棄を指示するとともに、前記パケット廃棄解析部が出力する前記検証の結果が前記処理機能部の異常な処理に起因するパケット廃棄を示す場合、パケット廃棄に関する情報を収集して出力する
ことを特徴とする付記７または付記８に記載の通信装置。
（付記１１）  前記ヘルスチェック実行手段は、前記ヘルスチェック指示信号を出力してから、所定時間内に前記パケット処理手段からの前記第３のパケット情報または前記ヘルスチェックフラグを付した前記第４のパケット情報を受信しない場合は、ヘルスチェック異常と判断し、当該ヘルスチェック異常に関する情報を収集して出力することを特徴とする付記２乃至付記１０のいずれかの付記に記載の通信装置。
（付記１２）  パケット処理手段が、受信した受信パケットをパケット格納メモリに格納し、
前記パケット処理手段が、前記受信パケットが前記格納された旨を通知する第２のパケット情報を出力し、
前記パケット処理手段が、前記受信パケットに所定の処理を施した処理パケットをパケット格納メモリに格納し、
ヘルスチェック実行手段が、前記第２のパケット情報の入力に応じて、前記格納された前記受信パケットを読み出し前記所定の処理を施して第２のパケットを生成し、
前記パケット処理手段が、前記処理パケットを前記格納した旨を通知する第３のパケット情報を出力し、
前記ヘルスチェック実行手段が、前記第３のパケット情報の入力に応じて、前記格納されている前記処理パケットと前記第２のパケットとを比較し、不一致を検出した場合にはその旨の情報を出力する
ことを特徴とする障害検出方法。
（付記１３）  前記ヘルスチェック実行手段が、周期的にヘルスチェックの実行を指示するヘルスチェック指示信号を出力し、
前記パケット処理手段が、前記ヘルスチェック指示信号を受信した場合に前記第２のパケット情報および前記第３のパケット情報を出力する
ことを特徴とする付記１２に記載の障害検出方法。
（付記１４）  前記パケット処理手段の最前段に配備された処理機能部が、前記受信パケットを前記パケット格納メモリに格納し、前記ヘルスチェック指示信号を受信した場合には、前記受信パケットの処理転送引継ぎに使用する第１のパケット情報にヘルスチェックフラグを付して転送し、前記第２のパケット情報を出力し、
前記パケット処理手段の中間段に配備された処理機能部が、受信した前記第１のパケット情報に基づいて、前記パケット格納メモリに格納された前記受信パケットに対して前記所定の処理を施して前記第１のパケット情報を転送し、
前記パケット処理手段の最後段に配備された処理機能部が、受信した前記第１のパケット情報に前記ヘルスチェックフラグが付されている場合に、前記第３のパケット情報を出力する
ことを特徴とする付記１３に記載の障害検出方法。
（付記１５）  前記パケット処理手段の前記最後段に配備された処理機能部は、前記パケット格納メモリに格納されている前記処理パケットを送信する送信部であって、
前記送信部が、受信した前記第１のパケット情報に前記ヘルスチェックフラグが付されている場合、前記処理パケットの送信を保留して、前記第３のパケット情報を前記ヘルスチェック実行手段に出力し、
前記送信部が、前記ヘルスチェック実行手段から、前記格納されている前記処理パケットと前記第２のパケットとの比較によるヘルスチェック検証が正常終了した旨の通知を受けてから前記処理パケットを送信する
ことを特徴とする付記１４に記載の障害検出方法。
（付記１６）  前記送信部が、前記ヘルスチェック実行手段から、前記ヘルスチェック検証が異常終了したヘルスチェック異常の通知を受けると、前記処理パケットを廃棄することを特徴とする付記１５に記載の障害検出方法。
（付記１７）  前記パケット処理手段の前記中間段に配備された処理機能部が、前記パケット格納メモリに格納されている前記受信パケットに対して運用ポリシーに応じて予め決められた内容の処理を施すことを特徴とする付記１４乃至付記１６のいずれかの付記に記載の障害検出方法。
（付記１８）  前記ヘルスチェック実行手段のパケット情報受信部が、
前記パケット処理手段が送信した前記第２および第３のパケット情報を受信し、
前記第２のパケット情報を受信すると、前記パケット格納メモリに格納されている前記受信パケットを第１のパケットとしてパケットヘルスチェックメモリに格納し、前記所定の処理を施す実行指示を出力し、
前記第３のパケット情報を受信すると、前記パケット格納メモリに格納されている前記処理パケットを前記第３のパケットとして前記パケットヘルスチェックメモリに格納して前記第３のパケット情報を転送し、
前記ヘルスチェック実行手段のヘルスチェックヘッダ処理部が、
前記パケット情報受信部が出力する前記実行指示を受けて、前記第１のパケットに対して、前記所定の処理を施して前記第２のパケットを生成して前記パケットヘルスチェックメモリに格納し、
前記ヘルスチェック実行手段のヘルスチェック判定・実行指示部が、
前記パケット情報受信部から転送された前記第３のパケット情報を受けて、前記パケットヘルスチェックメモリに格納された前記第２のパケットと前記第３のパケットとを比較し、
不一致を検出した場合にはヘルスチェック異常に関する情報を収集して出力する
ことを特徴とする付記１６または付記１７に記載の障害検出方法。
（付記１９）  前記パケット処理手段が、パケット廃棄に相当する事象を検出すると、前記第１のパケット情報を、検出したパケット廃棄に関する情報を含む第４のパケット情報に書き換えて、前記ヘルスチェック実行手段に出力し、
前記ヘルスチェック実行手段が、前記第４のパケット情報を受信した場合に、前記第４のパケット情報に含まれる情報に基づいて、前記パケット廃棄が前記パケット処理部の正常な処理に基づくパケット廃棄か否かを検証し、前記パケット廃棄検証の結果を出力する
ことを特徴とする付記１２乃至付記１８のいずれかの付記に記載の障害検出方法。
（付記２０）  前記パケット処理手段が、
パケット廃棄に相当する事象を検出すると、前記第１のパケット情報を、検出したパケット廃棄に関する情報を含む第４のパケット情報に書き換えて、前記ヘルスチェック実行手段に出力し、
前記ヘルスチェック実行手段の前記パケット情報受信部が、
前記第４のパケット情報を受信すると、前記第４のパケットを前記ヘルスチェック実行手段のパケット廃棄解析部に出力し、
前記ヘルスチェック実行手段の前記パケット廃棄解析部が、
前記第４のパケット情報に含まれる情報に基づいて、前記パケット廃棄が前記パケット処理部の正常な処理に基づくパケット廃棄か否かを検証し、
前記パケット廃棄検証の結果を出力し、
前記ヘルスチェック実行手段の前記ヘルスチェック判定・実行指示部が、
前記パケット廃棄解析部が出力する前記検証の結果を受信すると、前記第４のパケット情報を送信した前記パケット処理手段に対して前記パケットの廃棄を指示し、
前記パケット廃棄解析部が出力する前記検証の結果が前記処理機能部の異常な処理に起因するパケット廃棄を示す場合、パケット廃棄に関する情報を収集して出力する
ことを特徴とする付記１８の障害検出方法。
（付記２１）  前記ヘルスチェック実行手段が、前記ヘルスチェック指示信号を出力してから、所定時間内に前記パケット処理手段からの前記第３のパケット情報または前記ヘルスチェックフラグを付した前記第４のパケット情報を受信しない場合は、ヘルスチェック異常と判断し、当該ヘルスチェック異常に関する情報を収集して出力することを特徴とする付記１３乃至付記２０のいずれかの付記に記載の障害検出方法。
【符号の説明】
【０２１９】
１００、２００、３００    通信装置
１、１０    ヘルスチェック実行手段
２、２０    パケット処理手段
３、３０    パケット格納メモリ
１１    ヘルスチェック検証部
２１−１、２１−２、２１−３    処理機能部
１００    ヘルスチェック実行部
１０１    パケット情報受信部
１０２    ヘルスチェックヘッダ処理部
１０３    ヘルスチェックヘッダメモリ
１０４    パケット廃棄解析部
１０５    ヘルスチェック判定・実行指示部
１０６    ログ格納用メモリ
２００    パケット処理部
２０１    受信部
２０２    ヘッダ処理部
２０３    送信部
３００    パケット格納メモリ部
４００    受信バッファ
５００    送信バッファ
６００    ポリシー検索デバイス
７００    パケット処理情報蓄積部
８００    装置管理部
【図１】
2015073176.tif 000003
【図２】
2015073176.tif 000004
【図３】
2015073176.tif 000005
【図４】
2015073176.tif 000006
【図５】
2015073176.tif 000007
【図６】
2015073176.tif 000008
【図７】
2015073176.tif 000009
【図８】
2015073176.tif 000010
【図９】
2015073176.tif 000011
【図１０】
2015073176.tif 000012
【図１１】
2015073176.tif 000013