(57)【要約】【課題】データブロックの分割で得られた複数のセルの伝達経路上における障害箇所の特定の容易にする。【解決手段】通信装置は、ネットワークから受信されたデータブロックを複数のセルに分割する分割回路と、複数のセルから前記データブロックを組み立てる組立回路と、分割回路と組立回路との間の複数のセルの伝達経路上に配置され、伝達経路から受信される複数のセルに対して所定の処理を実行する複数の処理回路と、組立回路に含まれた、又は前記組立回路から独立した制御回路とを含み、分割回路,組立回路,複数の処理回路のうちの少なくとも２つが、複数のセルの少なくとも１つに対するエラーチェック計算の計算結果を当該セルに格納し、制御回路がセルに格納された複数の計算結果に不一致があるか否かを判定する。【選択図】図６
2014007501.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークから受信されたデータブロックを複数のセルに分割する分割回路と、
前記複数のセルから前記データブロックを組み立てる組立回路と、
前記分割回路と前記組立回路との間の前記複数のセルの伝達経路上に配置され、前記伝達経路から受信される複数のセルに対して所定の処理を実行する複数の処理回路と、
前記組立回路に含まれた、又は前記組立回路から独立した制御回路とを含み、
前記分割回路,前記組立回路,前記複数の処理回路のうちの少なくとも２つが、前記複数のセルの少なくとも１つに対するエラーチェック計算の計算結果を当該セルに格納し、
前記制御回路が前記セルに格納された複数の計算結果に基づきセルのエラーの有無及びエラー原因となった障害発生箇所を特定する
通信装置。
【請求項２】
前記複数の計算結果に不一致があるときに、前記複数のセルから組み立てられた前記データブロックのコピーであるテストデータブロックを前記分割回路に供給し、前記複数の処理回路を経て前記組立回路に到達する、前記分割回路での前記テストパケットの分割によって生成された複数のテストセルの少なくとも１つに格納された前記エラーチェック計算の複数の計算結果の不一致状態が、前記データブロックに係る前記複数の計算結果と一致するか否かを判定する第２の制御回路をさらに含む
請求項１に記載の通信装置。
【請求項３】
前記第２の制御回路は、前記テストパケットに加えて、少なくともエラー判定用領域の全てのビット値が０である第２テストデータブロックと、少なくともエラー判定用領域の全てのビット値が１である第３テストデータブロックとを前記分割回路に供給し、前記再現判定処理に加えて、前記組立回路でそれぞれ組み立てられた第２テストデータブロック及び第３テストデータブロックの少なくとも一方のエラー判定用領域が反転したビット値を持つか否かを判定する
請求項２に記載の通信装置。
【請求項４】
前記複数の処理回路の少なくとも１つは、前記複数のセルに対する処理のために共有メモリに前記複数のセルを格納するとともに、前記計算結果が格納される前記複数のセルの少なくとも１つに、前記複数のセルの格納に用いた共有メモリのアドレスを示す共有メモリアドレス情報を格納し、
前記第２の制御回路は、前記データブロックに係る前記複数の計算結果に不一致がある場合に、前記共有メモリアドレス情報を用いた前記共有メモリの診断処理を実行する
請求項２又は３に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、通信装置に関する。
【背景技術】
【０００２】
ＩＰ（Internet Protocol）ネットワークを構成するコアルータ及びエッジルータのよ
うな通信装置には、高速かつ大容量のパケットフォワーディングが要求される。このため、パケットフォワーディングをハードウェア処理によって実行する通信装置がある。パケットフォワーディングをハードウェア処理（ハードウェアロジック）によって実行する通信装置では、通信装置内において、ネットワークから受信された可変サイズのパケットを複数の固定サイズのセルに分割し、セル状態で一律なスイッチングやバッファリングを行う。これによって、高速なパケットフォワーディングが実現される。その後、複数のセルからパケットが組み立てられ、パケットは、ネットワークへ送出される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５-２２３２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記した通信装置は、例えば、ネットワークから受信されたパケットのフォワーディングに係る処理を行う複数のフォワーディング部と、パケットの分割により生成された複数のセルに対するスイッチングを行うスイッチング部とを備える。スイッチング部は、一般に複数のスイッチを含む多段スイッチを備える。複数のフォワーディング部の１つで受信されたパケットは、複数のセルに分割され、スイッチング部に入力される。スイッチング部は、セルに付与された情報を参照し、セルを送信側のフォワーディング部へセルを転送する。送信側のフォワーディング部では、複数のセルから元のパケットを組み立てる。組み立てられたパケットがエラーを含むか否かのエラーチェックが実施された後、パケットは、ネットワークへ送出される。このように、セルは、受信側のフォワーディング部から多段スイッチを経由して送信側のフォワーディング部に至る所定のセル伝達経路を流れる。
【０００５】
上述したような、復元されたパケットがエラーを有するか否かを判定するエラーチェック方法では、パケットのエラーの存在を確認することができる。しかし、エラーを発生させたセル伝達経路上の障害発生箇所を特定することはできなかった。従って、障害発生箇所を特定するために、通信装置のサービスを中断して、障害発生箇所を特定するための作業が要求される可能性があった。このとき、セル伝達経路の全体に亘るチェックが要求される可能性があった。
【０００６】
また、エラーが発生した場合には、エラーの原因となる障害を解消するため、当該エラーが一過性のエラーであるのか、恒久的な（間歇的に発生し得る）エラーであるのかを判別することが要求される。このような判別のために、通常、エラーが発生したときと同じリソース、同じデータパターンを用意した再現試験が実施される。しかしながら、再現試験を通信装置のサービス中に実施することは困難であった。
【０００７】
本開示の目的は、セルの伝達経路における障害発生箇所の特定を容易にすることができる技術を提供することである。
【課題を解決するための手段】
【０００８】
本開示は、ネットワークから受信されたデータブロックを複数のセルに分割する分割回路と、
前記複数のセルから前記データブロックを組み立てる組立回路と、
前記分割回路と前記組立回路との間の前記複数のセルの伝達経路上に配置され、前記伝達経路から受信される複数のセルに対して所定の処理を実行する複数の処理回路と、
前記組立回路に含まれた、又は前記組立回路から独立した制御回路とを含み、
前記分割回路,前記組立回路,前記複数の処理回路のうちの少なくとも２つが、前記複数のセルの少なくとも１つに対するエラーチェック計算の計算結果を当該セルに格納し、
前記制御回路が前記セルに格納された複数の計算結果に不一致があるか否かを判定する通信装置である。
【発明の効果】
【０００９】
本開示によれば、セルの伝達経路における障害発生箇所の特定を容易にすることができる技術を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態に係る通信装置を適用し得るネットワークシステムの例を示す。
【図２】図２は、実施形態に係る通信装置の回路構成を模式的に示す。
【図３】図３は、図２に示した各回路ブロックの詳細を例示する図（ハードウェア構成図）である。
【図４Ａ】図４Ａは、Ｌ２／Ｌ３処理エンジンによるパケットのセル化を模式的に示す図である。
【図４Ｂ】図４Ｂは、セルのフォーマット例を示す図である。
【図５】図５は、図３に示した通信装置のハードウェアによって実現される機能を模式的に示す図である。
【図６】図６は、通信装置の動作例の説明図であり、セルに対する情報格納の例を示す。
【図７】図７は、パケット分割回路(Ｌ２／Ｌ３処理エンジン)の処理例を示すフローチャートである。
【図８】図８は、ＱｏＳ処理回路(トラフィックマネージャ)の処理例を示すフローチャートである。
【図９】図９は、スイッチ（スイッチデバイス）の処理例を示すフローチャートである。
【図１０】図１０は、パケット組立回路(Ｌ２／Ｌ３処理エンジン)の処理例を示すフローチャートである。
【図１１】図１１は、テストパケットＴ１を用いた再現試験の動作例の説明図である。
【図１２】図１２は、テストパケットＴ２及びＴ３を用いた再現試験の動作例の説明図である。
【図１３】図１３は、共有メモリアドレス情報を用いた共有メモリ診断処理の説明図である。
【図１４】図１４は、上述した再現試験及び障害確認試験に係る装置制御回路（再現試験モジュール）の処理例を示すフローチャートである。
【図１５】図１５は、障害通知情報の表示例を示す。
【図１６】図１６は、障害通知情報の表示例を示す。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の実施形態を説明する。実施形態の構成は例示であり、本
発明は実施形態の構成に限定されない。
【００１２】
＜ネットワーク構成例＞
図１は、実施形態に係る通信装置を適用し得るネットワークシステムの例を示す。図１において、ネットワークシステムは、コアネットワーク１と、コアネットワークと接続される複数のアクセスネットワーク２とを含む。コアネットワーク１は、アクセスネットワーク２間を結ぶ基幹網として機能する。
【００１３】
コアネットワーク１は、アクセスネットワーク２とコアネットワーク１との境界（コアネットワークの入口及び出口）に配置されるエッジルータ（エッジノードとも呼ばれる）３と、エッジルータ３間を結ぶコアルータ（コアノードとも呼ばれる）４とを備える。図１に示すエッジルータ３及びコアルータ４の数及び接続状態（トポロジ）は例示であり、コアネットワーク１の目的に応じて適宜設定される。
【００１４】
アクセスネットワーク２は、例えば、光ネットワークであり、エッジルータ３は、アクセスネットワーク２から受信する光信号を電気信号に変換し、ＩＰパケットを得る。ＩＰパケットは、例えば、当該ＩＰパケットのあて先アドレスに従って、入口のエッジルータ３から１以上のコアルータ４を経て出口のエッジルータ３に到達する。出口のエッジルータ３において、ＩＰパケットは再び光信号に変換され、出口のエッジルータ３に接続されたアクセスネットワーク２に送出される。
【００１５】
上記したエッジルータ３,コアルータ４は、通信装置の一例である。ただし、通信装置
の用途は、エッジルータ３やコアルータ４に制限されない。また、エッジルータ３及びコアルータ４間が光回線で接続されていても良い。また、アクセスネットワーク２が光ネットワークであることは必須の要件ではなく、コアネットワーク１に電気的に接続されるアクセスネットワークであっても良い。アクセスネットワーク２は、“ネットワーク”の一例である。
【００１６】
また、上記したＩＰパケットは、“パケット”の一例であり、パケットは“データブロック”の一例である。データブロックは、ＭＡＣフレームのようなフレームを含むことができる。
【００１７】
＜通信装置の構成例＞
図２は、実施形態に係る通信装置の回路構成を模式的に示す。図２は、通信装置の例示として、上記したエッジルータ３やコアルータ４として適用可能なレイヤ３スイッチ（Ｌ３ＳＷ）の構成を例示する。もっとも、図２に示すＬ３ＳＷは、レイヤ２スイッチ（Ｌ２ＳＷ）として機能し得る。このように、通信装置は、Ｌ２ＳＷ及びＬ３ＳＷを含む。以下、図２に示す通信装置１０について、主にＬ３ＳＷとしての機能に係る構成を説明する。
【００１８】
図２において、通信装置１０は、複数の回線処理回路１１と、各回線処理回路１１に接続された複数のフォワーディング処理回路１２と、複数のフォワーディング処理回路１２が接続されたスイッチング回路１３と、スイッチング回路１３と接続された装置制御回路１４とを備える。また、各フォワーディング処理回路１２は、パケット処理回路１５と、ＱｏＳ(Quality of Service)処理回路１６と、制御回路１７とを備える。
【００１９】
図３は、図２に示した各回路ブロックの詳細を例示する図（通信装置１０のハードウェア構成図）である。但し、図２に示した複数の回線処理回路１１及び複数のフォワーディング処理回路１２は、同じ構成を有しているため、図３は、１つの回線処理回路１１及び１つのフォワーディング処理回路１２のハードウェア構成を例示している。
【００２０】
＜＜回線処理回路＞＞
回線処理回路１１は、いわゆる通信インタフェース（通信インタフェース回路）であり、図２に示したアクセスネットワーク２のようなネットワークと接続される複数の回線を収容する。
【００２１】
図３において、回線処理回路１１は、複数の回線を収容する複数の送信ポート及び複数の受信ポート(図示せず)を有し、さらに、光モジュール１１１と、ＰＨＹ１１２と、ＭＡＣ(Media Access Controller)１１３と、フレーマ(Framer)１１４とを備える。
【００２２】
光モジュール１１１は、受信ポートに接続された光回線（光ファイバ）から受信される光信号を電気信号に変換する処理（光-電気変換）を行う。また、光モジュール１１１は
、ＰＨＹ１１２から受信される電気信号を光信号に変換する処理（電気-光変換）を行い
、光信号を送信ポートから出力する。
【００２３】
ＰＨＹ１１２は、レイヤ１、すなわち物理層の処理を司る。例えば、ＰＨＹ１１２は、光モジュール１１１から入力される電気信号波形整形を行う。ＭＡＣ１１３は、ＭＡＣ(Media Access Control)層を含むレイヤ２（データリンク層）に係る処理を司る。ＭＡＣ１１３及びフレーマ１１４によって、電気信号からＭＡＣフレームが生成され、フォワーディング処理回路１２に送信される。
【００２４】
光モジュール１１１,ＰＨＹ１１２,ＭＡＣ１１３,及びフレーマ１１４は、パケット処
理部１５から受信されるＭＡＣフレームに関して上記と逆の動作を行い、最終的に生成された光信号を出力ポートから光回線へ送出する。
【００２５】
光モジュール１１１,ＰＨＹ１１２,ＭＡＣ１１３,及びフレーマ１１４は、汎用デバイ
スチップ（汎用回路チップ）の適用によって実現される。但し、専用のハードウェアチップを適用することもできる。フレーマ１１４は、例えば、ＦＰＧＡ(Field-Programmable Gate Array)及びＡＳＩＣ(Application Specific Integrated Circuit)の組み合わせで実現される。
【００２６】
＜＜フォワーディング処理回路＞＞
上記したように、フォワーディング処理回路１２は、パケット処理回路１５と、ＱｏＳ処理回路１６と、制御回路１７とを備える。
【００２７】
[パケット処理回路]
パケット処理回路１５は、Ｌ２／Ｌ３処理エンジン１５１と、ＣＡＭ(Content Addressable Memory：連想メモリ)１５２と、メモリ１５３とを備える。メモリ１５３は、ＭＡＣフレーム(ＩＰパケット)の格納領域として使用される。
【００２８】
Ｌ２／Ｌ３処理エンジン１５１は、回線処理回路１１から入力されるＭＡＣフレームに関するレイヤ２処理（例えば、ＭＡＣフレームの受信処理）、及び受信されたＭＡＣフレームに含まれるＩＰパケットに対するレイヤ３処理（例えばルーティング）を実行する。
【００２９】
Ｌ２／Ｌ３処理エンジン１５１は、高速なパケット転送を通信装置１０内で実行するために、ＩＰパケットを複数のセルに分割するパケット分割回路（パケット分割デバイス）１５４(図５)として機能する。
【００３０】
図４Ａは、Ｌ２／Ｌ３処理エンジン１５１によるＩＰパケットのセル化を模式的に示す図であり、図４Ｂは、セルのフォーマット例を示す図である。図４Ａに示すように、Ｌ２／Ｌ３処理エンジン１５１は、可変サイズのユーザデータ(ＩＰパケット)を、それぞれ固
定サイズを有する複数のセルに分割する。図４Ａでは、１つのユーザデータが４つのセルに分割された例が示されている。但し、ＩＰパケットの分割数（分割によって生成されるセルの数）は、ユーザデータのサイズに応じて変動する。
【００３１】
セルは、図４Ｂに示すように、それぞれ固定サイズを有するヘッダ，ペイロード，及びテイラーとからなる。ペイロードは、分割されたユーザデータの格納領域である。Ｌ２／Ｌ３処理エンジン１５１は、パケット分割回路１５４として、メモリ１５３に格納されたＩＰパケットを固定サイズのペイロードサイズで分割する。これによって、複数のユーザデータのセグメントが生成される。各セグメントがセルのペイロードとなる。なお、ユーザデータサイズがペイロードサイズで割り切れない場合には、余りのユーザデータセグメントに対応するペイロードは、余りのユーザデータセグメント及びパティングで形成される。この場合、パディングサイズがヘッダに格納される。
【００３２】
ペイロードには、ヘッダ及びテイラーが付与される。ヘッダには、セル識別子（例えばは、シーケンス番号），セルの宛先情報(宛先識別子)，上記したパディングサイズ，セルの組立情報（例えば、パケットの分割数，オフセット位置（分割前のユーザデータに対するセグメントの相対位置））を含む装置内ヘッダ情報（通信装置１０の内部でのみ使用される情報）が格納される。
【００３３】
宛先識別子は、通信装置１０内におけるセルの転送に使用される内部識別子である。図３に示すＣＡＭ１５２は、ＭＡＣアドレステーブル及びルーティングテーブルとして使用される。例えば、ＣＡＭ１５２は、ＩＰパケットの宛先ＩＰアドレスが入力されると、この宛先ＩＰアドレスに対応するセルの宛先識別子を出力する。Ｌ２／Ｌ３処理エンジン１５１（パケット分割回路１５４）は、出力された宛先識別子をヘッダに格納する。
【００３４】
テイラーには、セルのペイロード、又はヘッダ及びペイロードを形成するビット列を所定のハッシュ関数で計算した結果であるハッシュ値が格納される。ハッシュ関数の計算（ハッシュ演算）は、“エラーチェック計算”の一例であり、ハッシュ値は、“エラーチェック計算の計算結果”の一例である。但し、実施形態で適用し得るエラーチェック計算及びその計算結果は、ハッシュ演算及びハッシュ値に限られない。例えば、誤り訂正符号演算、及び誤り訂正符号演算によって得られた誤り訂正符号は、“エラーチェック計算”及び“エラーチェック計算の計算結果”として、ハッシュ演算及びハッシュ値の代わりに適用可能である。
【００３５】
また、テイラーには、そのセルについて複数回実施された複数のハッシュ値が書き込まれる。後述する動作例では、セル伝達経路上にある複数の回路（パケット分割回路１５４,ＱｏＳ処理回路１６,スイッチ１〜３,及びパケット組立回路１５５）が、セルについて
同一のハッシュ関数を用いたハッシュ演算を行い、ハッシュ値をセルのテイラーに格納する（図６参照）。複数のハッシュ値は、例えば、ハッシュ値を書き込む複数の回路の並び順と一致する状態でテイラーに書き込まれる。これによって、複数のハッシュ値の参照により、各ハッシュ値がどの回路で書き込まれたかが把握できる。さらに、複数のハッシュ値の状況から、セルのエラーの有無及びエラー原因となった障害発生位置を特定することができる。すなわち、複数のハッシュ値が不一致であればセルがエラーを有することを検出できる。さらに、ハッシュ値の変わり目から、各ハッシュ値を書き込んだ回路間で障害が発生したことを検出することができる。また、ハッシュ値はハッシュ値を書き込んだ回路の識別情報とともにテイラーに書き込まれても良い。
【００３６】
また、テイラーには、共有メモリアドレス情報が格納される。本実施形態では、ＱｏＳ処理回路１６が共有メモリとして使用されるメモリ１６２を有している。ＱｏＳ処理回路１６がセル格納のために使用した共有メモリのアドレスを示す情報が共有メモリアドレス
情報としてテイラーに格納される。“共有メモリアドレス情報”は、共有メモリのアドレス自体であっても良く、アドレスポインタであっても良い。また、セルのテイラーに格納されるハッシュ値及び共有メモリアドレス情報をまとめて、“テイラー情報”と呼ぶ。
【００３７】
さらに、Ｌ２／Ｌ３処理エンジン１５１は、スイッチング回路１３から到来した複数のセルから元のユーザデータ(ＩＰパケット)を組み立てるパケット組立回路（パケット組立デバイス）１５５として機能する。
【００３８】
すなわち、Ｌ２／Ｌ３処理エンジン１５１は、スイッチング回路１３から到着した各セルをメモリ１５３に格納し、ヘッダとテイラーとを除去する。そして、セルのヘッダ情報に基づき、ペイロード同士を繋ぎ合わせることによって、元のユーザデータ（ＩＰパケット）を組み立てる（復元する）。このとき、テイラーに格納されたハッシュ値及び共有メモリアドレス情報（“テイラー情報”と称する）は、装置制御回路１４に送られる。
【００３９】
パケット処理回路１５のＣＡＭ１５２及びメモリ１５３は、例えば、汎用デバイス（すなわち、ＣＡＭチップ、メモリチップ）を適用することができる。但し、専用のハードウェアチップを適用することもできる。Ｌ２／Ｌ３処理エンジン１５１は、例えばＡＳＩＣとネットワークプロセッサとの組み合わせによって実現される。
【００４０】
[ＱｏＳ処理回路]
ＱｏＳ処理回路１６は、トラフィックマネージャ１６１と、メモリ１６２とを備えている。ＱｏＳ処理回路１６は、ＱｏＳ処理回路１６を通過する複数のセルフローに対して予め割り当てられたＱｏＳクラスに応じたＱｏＳ処理を行う。ＱｏＳ処理は、例えば、優先制御、或いは優先制御及び帯域制御である。
【００４１】
メモリ１６２は、パケット処理回路１５から入力されるセルを一時的に格納する。例えば、メモリ１６２は、ＱｏＳクラスに応じて用意された複数のバッファ領域を有する。各バッファは、セルフロー間で共有される。従って、メモリ１６２は、共有メモリとして使用される。
【００４２】
トラフィックマネージャ１６１は、各セルのフローに対応するＱｏＳクラスに基づき、各バッファに格納されたセルの読み出し制御を行う。すなわち、トラフィックマネージャ１６１は、セル読み出しタイミングのスケジューラとして機能し、スケジューラにて決定されたタイミングで、対応するバッファ領域からセルを読み出し、スイッチング回路１３に送出する。
【００４３】
上記したメモリ１６２は、例えば、汎用のメモリチップを用いて実現される。一方、トラフィックマネージャは、ＡＳＩＣと汎用デバイスチップとの組み合わせによって実現されることができる。
【００４４】
[制御回路]
制御回路１７は、回線処理回路１１，パケット処理回路１５及びＱｏＳ処理回路１６とバスを介して接続されている。制御回路１７は、ＣＰＵ(Central Processing Unit)１７
１Ａとバスコントローラ１７１Ｂとを含むＣＰＵ／バスコントローラ１７１と、ＲＯＭ(Read Only Memory)１７２Ａとメモリ(例えばＲＡＭ(Random Access Memory))１７２Ｂとを含むＲＯＭ／メモリ１７２とを備えている。
【００４５】
ＣＰＵ１７１Ａは、例えばＲＯＭ１７２Ａに格納されたプログラムをメモリ１７２Ｂにロードして実行する。これによって、ＣＰＵ１７１Ａは、バスコントローラ１７１Ｂを介して回線処理回路１１，パケット処理回路１５，及びＱｏＳ処理回路１６の動作を制御す
る。
【００４６】
ＣＰＵ１７１Ａ,バスコントローラ１７１Ｂ,ＲＯＭ１７２Ａ,及びメモリ１７２Ｂは、
汎用デバイスチップを適用することができる。但し、専用のハードウェアチップを適用することもできる。なお、制御回路１７は、各フォワーディング処理回路１２に設けられた、ローカルな制御回路であり、通信装置１０全体の制御は、装置制御回路１４によって実行される。
【００４７】
なお、上記したパケット処理回路１５,ＱｏＳ処理回路１６及び制御回路１７は、それ
ぞれの目的を達成する機能を実現できる限り、上述した回路構成例と異なる回路構成を有することができる。
【００４８】
＜＜スイッチング回路＞＞
スイッチング回路１３は、直列に接続された複数のスイッチデバイス１３１を備える。図３の例では、３つのスイッチデバイス１３１（１３１Ａ，１３１Ｂ，１３１Ｃ）が例示されている。但し、スイッチデバイス１３１の数は適宜設定可能である。
【００４９】
各スイッチデバイス１３１は、複数の入力ポートと、複数の出力ポートとを備える。各スイッチデバイス１３１は、セルのヘッダに格納された宛先識別子を参照し、対応する出力ポートからセルを出力する。例えば、スイッチデバイス１３１は、宛先識別子と出力ポートとの対応テーブル（図示せず）を有し、宛先識別子に対応する出力ポートからセルを出力する。
【００５０】
或いは、対応テーブルが、宛先識別子と、出力側の宛先識別子と、出力ポートとの対応関係を保持し、スイッチデバイス１３１が、入力されたセルの宛先識別子に対応する出力ポートへ当該セルを転送する前に、セルに格納された宛先識別子を出力側の宛先識別子に書き換える構成を採用することもできる。
【００５１】
各スイッチデバイス１３１は、図３では図示を省略しているが、図２に示す各フォワーディング処理回路１２と接続されている。各スイッチデバイス１３１は、セル（ＩＰパケット）の宛先に対応するフォワーディング処理回路１２へ向けてセルを送出する。
【００５２】
すなわち、各スイッチデバイス１３１は、セルの宛先識別子が特定のフォワーディング処理回路１２への転送を示す場合には、当該特定のフォワーディング処理回路１２へセルを転送する。これに対し、セルの宛先識別子が次のスイッチデバイス１３１への転送を示す場合には、各スイッチデバイス１３１は、当該セルを次のスイッチデバイス１３１へ転送する。このように、複数のスイッチデバイス１３１は、スイッチング回路１３に入力されたセルを、目的のフォワーディング処理回路１２へ振り分ける多段スイッチとして機能する。
【００５３】
さらに、各スイッチデバイス１３１は、受信したセルに対するエラーチェック計算（ハッシュ演算）を実行し、計算結果（ハッシュ値）をセルのテイラーに格納する。ハッシュ演算は、スイッチデバイス１３１毎に実行される。
【００５４】
＜装置制御回路＞
装置制御回路１４は、ＣＰＵ１４１Ａ及びバスコントローラ１４１Ｂを含むＣＰＵ／バスコントローラ１４１と、ＲＯＭ１４２Ａ及びメモリ(例えばＲＡＭ)１４２Ｂを含むＲＯＭ／メモリ１４２とを備える。
【００５５】
装置制御回路１４は、各フォワーディング回路１２及びスイッチング回路１３とバスを
介して接続されている。ＣＰＵ１４１Ａは、例えばＲＯＭ１４２Ａに格納されたプログラムをメモリ１４２Ｂにロードして実行する。これによって、装置制御回路１４は、フォワーディング回路１２及びスイッチング回路１３の動作を監視し、バスコントローラ１４２Ｂを通じて監視結果に基づく制御を行う。例えば、装置制御回路１４は、後述する再現試験や共有メモリ診断、障害処理を実行する。装置制御回路１４は、“第２の制御回路”の一例である。ＣＰＵ１４１Ａ,バスコントローラ１４１Ｂ,ＲＯＭ１４２Ａ,及びメモリ１
４２Ｂは、それぞれ汎用のデバイスチップを用いて実現可能である。
【００５６】
図５は、図３に示した通信装置１０のハードウェアによって実現される機能を模式的に示す図である。図５に示すように、パケット処理回路１５は、パケット分割回路１５４と、パケット組立回路１５５とを備えた回路として機能する。一方、スイッチング回路１６は、図４に示した複数のスイッチデバイス１３１Ａ，１３１Ｂ，１３１Ｃに対応する多段スイッチ（スイッチ１，スイッチ２，及びスイッチ３）を備えた装置として機能する。パケット分割回路１５４及びパケット組立回路１５５は、“分割回路”及び“組立回路”の一例である。
【００５７】
パケット分割回路１５４で受信されるＩＰパケット（図５,Ｐ）は、複数のセル（図５,Ｃ）に分割されて出力される。各セルは、ＱｏＳ処理回路１６を経た後、スイッチング回路１３に入力される。図５に示す例では、スイッチング回路１３に入力された各セルは、スイッチ１（スイッチデバイス１３１Ａ），スイッチ２（スイッチデバイス１３１Ｂ），スイッチ３（スイッチデバイス１３１Ｃ）を通過した後に、パケット処理回路１５のパケット組立回路１５５に到達する。パケット組立回路１５５は、パケットを組み立てて出力する。
【００５８】
このように、ＩＰパケットから生成された複数のセルは、通信装置１０内に形成された所定のセル伝達経路（パケット分割回路１５４→ＱｏＳ処理回路１６→スイッチ１→スイッチ２→スイッチ３→パケット組立回路１５５）を流れる。また、ＱｏＳ処理回路１６及びスイッチ１〜３は、“セル伝達経路上に配置され、セルに対して所定の処理を行う複数の処理回路”の一例である。
【００５９】
なお、図５に示す例は、説明を簡単にするため、パケット分割回路１５４と、パケット組立回路１５５とが、同一のフォワーディング処理回路１２（パケット処理回路１５）に備えられている例を示す。複数のセルを生成するパケット分割回路１５４を備えるフォワーディング処理回路１２が、複数のセルからＩＰパケットを組み立てるパケット組立回路１５５を備えるフォワーディング処理回路１２と異なるケースは、通常起こり得る。
【００６０】
従って、後述する再現試験に係る処理は、セル伝達経路が二つのフォワーディング処理回路１２に跨るケースを想定して、装置全体の制御を実行する装置制御回路１４にて実行される。
【００６１】
＜動作例＞
＜＜テイラー情報格納＞＞
図６は、通信装置１０の動作例の説明図であり、セルに対するテイラー情報格納の例を示す。図７は、パケット分割回路１５４(Ｌ２／Ｌ３処理エンジン１５１)の処理例を示すフローチャートである。図８は、ＱｏＳ処理回路１６（トラフィックマネージャ１６１）の処理例を示すフローチャートである。図９は、スイッチ１〜３（スイッチデバイス１３１）の処理例を示すフローチャートである。図１０は、パケット組立回路１５５(Ｌ２／
Ｌ３処理エンジン１５１)の処理例を示すフローチャートである。
【００６２】
図６において、ＩＰパケットがパケット分割回路１５４に入力されると、パケット分割
回路１５４は、図７に示した処理を開始する。パケット分割回路１５４は、受信されたＩＰパケットを複数のセルに分割する（０１）。続いて、パケット分割回路１５４は、セル毎に、ペイロードのハッシュ演算を行い、各セルのテイラーにハッシュ値を書き込む（０２）。そして、パケット分割回路１５４は、各セルを送信する。
【００６３】
本動作例では、図４Ａに図示したように、ＩＰパケットがパケット分割回路１５４によって、セル１，セル２，セル３，及びセル４に分割され、出力された場合を仮定する。但し、図６には、セル３のみを例示する。各セル１〜４のテイラーには、パケット分割回路１５４で計算されたハッシュ値“Ｈ１”が格納される（図４Ａ,及び図６<１>）。
【００６４】
その後、セル１〜４は、ＱｏＳ処理回路１６に入力される。ＱｏＳ処理回路１６は、受信したセル１〜４に対して、図８に示した処理を開始する。すなわち、ＱｏＳ処理回路１６は、最初に、セル１〜４のヘッダのパリティチェックを実行し、ヘッダ情報にエラーがないことを確認する（０１１）。
【００６５】
次に、ＱｏＳ処理回路１６は、セル毎に、ペイロードのハッシュ演算を行い、セル１〜４のテイラーにハッシュ値を書き込む（０１２）。次に、ＱｏＳ処理回路１６は、共有メモリ（メモリ１６２のバッファ）にセル１〜４を格納し、メモリ１６２上に作成されたアドレス管理ＦＩＦＯ(First-In First-Out)にアドレスポインタ（書き込み開始ポインタ及び書き込み終了ポインタ）を登録する。そして、ＱｏＳ処理回路１６は、アドレスポインタをセル１〜４のテイラーに書き込む（０１３）。アドレスポインタは、“共有メモリアドレス情報”の一例である。そして、ＱｏＳ処理回路１６は、スケジューラによるセルの読み出し（ＱｏＳ処理）を行う（０１４）、バッファから読み出されたセル１〜４は、スイッチング回路１３へ送信される。なお、０１２の処理と０１３の処理の順序は逆でもよい。
【００６６】
図８に示す処理によって、セル１〜４は、ＱｏＳ処理回路１６が備えるメモリ１６２（共有メモリ）に一時的に格納される。その後、セル１〜４は、ＱｏＳクラスに応じた読み出しタイミングで読み出され、スイッチング回路１３に送出される。
【００６７】
また、ＱｏＳ処理回路１６では、トラフィックマネージャ１６１が、セル１〜４のテイラーに、ハッシュ値“Ｈ２”を格納する（図６<２>）。また、トラフィックマネージャ１６１は、セルが書き込まれたメモリ１６２のアドレス、すなわち共有メモリアドレス情報“Ｐ１”をセル１〜４のテイラーに格納する（図６<３>）。
【００６８】
セル１〜４は、スイッチング回路１３のスイッチ１に入力される。すると、スイッチ１は、図９に示す処理を開始する。すなわち、スイッチ１は、セルヘッダのパリティチェックを行う（０２１）。続いて、スイッチ１は、セル毎に、ペイロードのハッシュ演算を行い、セルのテイラーにハッシュ値を書き込む（０２２）。そして、スイッチ１は、スイッチング処理を行う（０２３）。スイッチング処理によって、スイッチ１は、セル１〜４を、セル１〜４のヘッダに格納された宛先識別子に従って、スイッチ２へ転送する。このとき、セル１〜４のテイラーには、再計算されたハッシュ値“Ｈ３”が格納される（図６<
４>）。
【００６９】
スイッチ２は、図９に示した処理を行い、セル１〜４を、宛先識別子に従って、スイッチ３へ転送する。このとき、スイッチ２は、スイッチ１と同様に、セル１〜４に対するハッシュ演算を実施し、ハッシュ値“Ｈ４”をセル１〜４のテイラーに格納する（図６<５>）。
【００７０】
スイッチ３でも、スイッチ１及び２と同様の処理（図９）が行われ、セル１〜４のテイ
ラーには、スイッチ３でのハッシュ演算結果であるハッシュ値“Ｈ５”が格納される（図６<６>）。各セル１〜４は、宛先識別子に従って、パケット処理回路１５のパケット組立回路１５５に送られる。
【００７１】
パケット組立回路１５５では、到来するセル１〜４について、図１０に示す処理を実行する。すなわち、パケット組立回路１５５は、セルヘッダのパリティチェックを行う（０３１）。続いて、パケット組立回路１５５は、セル毎に、ペイロードのハッシュ演算を行い、セル１〜４のテイラーにハッシュ値“Ｈ６（不図示）”を書き込む（０３２）。
【００７２】
次に、パケット組立回路１５５は、セル１〜４に関して、セルのテイラーに書き込まれた全てのハッシュ値が一致するか否かをチェックする（０３３）。このとき、全てのハッシュ値が一致する場合には、パケット組立回路１５５は、ペイロードのビットエラーなしと判定し（０３４のＮＯ）、処理を０３６に進める。これに対し、ハッシュ値が不一致である場合には、パケット組立回路１５５は、ペイロードにビットエラーありと判定し（０３４のＹＥＳ）、処理を０３５に進める。
【００７３】
０３５では、パケット組立回路１５５は、セルのテイラーに格納された共有メモリアドレス情報（アドレスポインタ情報）を抽出する。その後、パケット組立回路１５５は、セル１〜４のヘッダ情報に基づいて元のＩＰパケットの組立処理を実行する（０３６）。なお、上記した０３１〜０３５の処理は、セル１〜４に対して個別に実行されるようにしても良い。
【００７４】
次に、パケット組立回路１５５は、再現試験が必要か否かを判定する（０３７）。ここでは、上記したハッシュ値の不一致が見つかった場合には、再現試験が必要と判定され、全てのハッシュ値が一致した場合には、再現試験は不要と判定される。
【００７５】
再現試験が必要な場合（０３７のＹＥＳ）には、パケット組立回路１５５は、制御回路１７へ組み立てられたＩＰパケットを転送し、制御回路１７は、装置制御回路１４へＩＰパケットを転送する。すなわち、装置制御回路１４へＩＰパケットが送信される。これに対し、再現試験が不要な場合（０３７のＮＯ）には、パケット組立回路１５５は、対応する回線処理回路１１にＩＰパケット（ＭＡＣフレーム）を送信する。
【００７６】
図１０に示す処理例では、パケット分割回路１５５が、ハッシュ値の一致・不一致判定を行う。すなわち、パケット分割回路１５５（組立回路）が“セルに格納された複数の計算結果（ハッシュ値）に不一致があるか否かを判定する制御回路を含む”構成が採用されている。これに対し、パケット組立回路１５５が、セルのテイラーに格納された情報を制御回路１７に送り、制御回路１７のＣＰＵ１７１Ａが、上記した０３３,０３４,０３５,
０３７の処理を実行するようにしても良い。すなわち、パケット分割回路１５５（分割回路）から独立した制御回路が“セルに格納された複数の計算結果（ハッシュ値）に不一致があるか否かを判定する”構成を採用することもできる。
【００７７】
[[ハッシュ値（エラーチェック計算結果）の格納による作用効果]]
以上のように、実施形態によれば、パケット分割回路１５４,パケット組立回路１５５,及びセルに対して所定の処理を行う複数の処理回路（ＱｏＳ処理回路１６及びスイッチ１〜３）において、各セル１〜４のテイラーにペイロードのハッシュ値が格納される。そして、パケット分割回路１５４にて、テイラーに格納された複数のハッシュ値が一致するか否かがセル毎に判定される。
【００７８】
このとき、セル内の全てのハッシュ値が一致すれば、ペイロードが正常であり、且つセルの伝達経路に障害がないと判定することができる。これに対し、セル内の複数のハッシ
ュ値間に不一致があれば、セルのペイロードがビットエラーを含むと解釈することができ、セルの伝達経路上で障害が生じていると判定することができる。さらに、不一致のハッシュ値を書き込んだ回路間で障害が発生したと推定することができる。
【００７９】
例えば、上記したように、ハッシュ値Ｈ１〜Ｈ６がセルのテイラーに書き込み順で格納される構成を仮定する。ここで、ハッシュ値Ｈ１と、ハッシュ値Ｈ２〜Ｈ６とが不一致であれば、ハッシュ値Ｈ１を格納したパケット分割回路１５４とハッシュ値Ｈ２を格納したＱｏＳ処理回路１６との間でビットエラーが発生したことを推定ないし特定することができる。或いは、ハッシュ値Ｈ１〜Ｈ３と、ハッシュ値Ｈ４及びＨ５とが不一致であれば、スイッチ１とスイッチ２との間でビットエラーが発生したことを推定ないし特定することができる。
【００８０】
さらに、例えば、ハッシュ値Ｈ１及びＨ２と、ハッシュ値Ｈ３及びＨ４と、ハッシュ値Ｈ５及びＨ６が不一致であれば、ＱｏＳ処理回路１６とスイッチ１との間でビットエラーが発生し、さらに、スイッチ２とスイッチ３との間でもビットエラーが発生したことを推定ないし特定することができる。このようにして、セルの伝達経路上における１以上の障害の発生箇所を推定ないし特定することができる。
【００８１】
セル内の複数のハッシュ値が不一致を有する場合に、例えば、当該複数のハッシュ値が出力（例えば、図３に示す端末２０が有する表示装置に表示、或いは図示しない印刷装置によってシートに印刷）される構成を適用することができる。当該構成が採用される場合には、出力された不一致を有する複数のハッシュ値を参照することで、目視によりセルの伝達経路上における障害（エラー）の発生箇所を特定することができる。
【００８２】
なお、上述した実施形態では、分割によって得られたすべてのセルにハッシュ値が格納される構成を例示した。但し、ハッシュ値は、分割によって得られた複数のセルの少なくとも１つに格納されれば良い。但し、ハッシュ値が格納されるセルが増えることで、エラーの検出機会が高まる。すなわち、エラー検知精度が向上する。
【００８３】
また、上述した実施形態では、パケット分割回路１５４,ＱｏＳ処理回路１６,スイッチ１〜３,及びパケット分割回路１５５がハッシュ演算を行いハッシュ値をセルに格納する
構成を例示した。もっとも、セル伝達経路上でセルに対する処理を行う全ての回路がハッシュ値を格納することは必須要件ではない。すなわち、セル伝達経路（始点及び終点を含む）上でセルに対する処理を行う複数の回路のうち、少なくとも２つの回路がハッシュ値を格納すれば良い。例えば、パケット組立回路１５５がハッシュ値格納を行わない構成、スイッチ１〜３のみがハッシュ値格納を行う構成、ＱｏＳ処理回路１６及びスイッチ１〜３のみがハッシュ値格納を行う構成、のような様々なハッシュ値格納を行う回路の選択を実施可能である。
【００８４】
＜＜再現試験＞＞
次に、図１０に示したパケット組立回路１５５の処理終了後に実施される再現試験の動作例について説明する。図１１は、テストパケットＴ１を用いた再現試験の動作例の説明図である。図１２は、テストパケットＴ２及びＴ３を用いた再現試験の動作例の説明図である。図１３は、共有メモリアドレス情報を用いた共有メモリ診断処理の説明図である。
【００８５】
[テストパケットＴ１を用いた再現試験]
図１０に示したように、パケット組立回路１５５において、再現試験が必要と判定された場合（０３７のＹＥＳ）には、パケット組立回路１５５（Ｌ２／Ｌ３処理エンジン１５１）で組み立てられた、再現試験対象のＩＰパケット（以下、“エラーパケットＥ１”と称する(図１１参照)）が、装置制御回路１４に送信される（図１１<１>）。このとき、各
セルのテイラー情報（複数のハッシュ値及び共有メモリアドレス情報）も、装置制御回路１４に送信される。
【００８６】
エラーパケットＥ１及びテイラー情報は、装置制御回路１４のメモリ１４２Ｂに格納される。ＣＰＵ１４１Ａは、エラーパケットＥ１が受信されると、プログラムの実行によって再現試験モジュール１４３(図１１参照)として機能し、以下のような動作を行う。
【００８７】
すなわち、再現試験モジュール１４３は、再現試験用のテストパケットを生成する。本実施形態では、再現試験モジュール１４３は、エラーパケットＥ１のコピーにテストフラグ（テストパケット識別子）を設定したテストパケットＴ１を生成する。テストパケットＴ１は、“テストデータブロック”の一例である。
【００８８】
テストパケットＴ１は、エラーパケットＥ１のオリジナルを分割したパケット分割回路１５４（パケット処理回路１５）を有するフォワーディング処理回路１２の制御回路１７に転送される。
【００８９】
制御回路１７は、パケット分割回路１５４にテストパケットＴ１を送る（図１１<２>）。これによって、パケット分割回路１５４,ＱｏＳ処理回路１６,スイッチ１〜３,及びパ
ケット組立回路１５５は、テストパケットＴ１に対し、オリジナルのＩＰパケットと同様の処理を行う（図１１<３>）。
【００９０】
すなわち、パケット分割回路１５４にてテストパケットＴ１が複数のテストセルに分割される（図１１では、テストパケットＴ１が４つのテストセルＴＣ１〜ＴＣ４に分割された例を図示）。複数のテストセルは、ＱｏＳ処理回路１６,スイッチ１〜３を通過して、
パケット組立回路１５５に到達する。すなわち、複数のテストセルは、オリジナルのセルと同じセル伝達経路を流れる。このとき、各セルのテイラーには、オリジナルのセルと同様に、ハッシュ値Ｈ１〜Ｈ６と、共用メモリアドレス情報とが格納される。
【００９１】
そして、パケット組立回路１５５で組み立てられたテストパケットＴ１と、テストパケットＴ１に係るテイラー情報とが、再現試験モジュール１４３へ送信される（図１１<４>）。パケット組立回路１５５は、組み立てられたＩＰパケットがテストフラグを有することを以て、ＩＰパケットがテストパケットであると認識する。パケット組立回路１５５は、テストパケットと認識したＩＰパケットを回線処理回路１１へ送ることはない。
【００９２】
再現試験モジュール１４３は、テイラー情報に基づき、テストパケットＴ１に係るセル内の複数のハッシュ値が全て同じであった場合には、エラーパケットＥ１の発生原因となった障害が一過性障害であると判定することができる。これに対し、複数のハッシュ値の不一致の状況がオリジナルのＩＰパケットに係る複数のハッシュ値の不一致の状況と同一視できる場合には、障害が再現されている、すなわち、恒久障害（間歇的に発生する障害）が発生していると判定することができる。
【００９３】
例えば、オリジナルのＩＰパケットに係る複数のハッシュ値（ハッシュ値Ｈ１〜Ｈ６を仮定する）が、ハッシュ値Ｈ１〜Ｈ５とハッシュ値Ｈ６との間で不一致であり、テストパケットＴ１に係る複数のハッシュ値が、ハッシュ値Ｈ１〜Ｈ５とハッシュ値Ｈ６との間で不一致であれば、同一の箇所で障害が発生していると判断することができる。
【００９４】
なお、エラーパケットＥ１,すなわちテストパケットＴ１は、オリジナルのＩＰパケッ
トに対するビットエラー及びテストフラグを含んでいる。このため、セル伝達経路が仮に正常であったとしても、オリジナルのＩＰパケットに対して算出されるハッシュ値と異なるハッシュ値が算出される。
【００９５】
[テストパケットＴ１に係る再現試験の作用効果]
上記したテストパケットＴ１を用いた再現試験によれば、エラーパケットＥ１のコピーであるテストパケットＴ１を用いた再現試験が実施される。これによって、オリジナルのＩＰパケットに係る障害発生時とほぼ同じ条件で再現試験を実施することができる。これによって、再現性有無の確認を高い精度で実施することができる。また、オリジナルに係る障害発生時とほぼ同条件の再現試験が実施されることで、障害被疑箇所の絞り込みが可能となる。
【００９６】
また、テストパケットＴ１をセル伝達経路に投入する（パケット分割回路１５４に入力する）ことで再現試験を実行することができる。このため、通信装置１０の作動中（サービス中）に再現試験を実施することができる。換言すれば、再現試験のために通信装置１０の運転を停止することを回避することができる。
【００９７】
例えば、オリジナルに係る複数のハッシュ値が、ハッシュ値Ｈ１〜Ｈ４と、ハッシュ値Ｈ５及びＨ６との間で不一致であった場合に対し、テストパケットＴ１に係る複数のハッシュ値が、ハッシュ値Ｈ１〜Ｈ５とハッシュ値Ｈ６との間で不一致であった場合を仮定する。この場合、ハッシュ値Ｈ５に対応する箇所（スイッチ２とスイッチ３との間）の障害は一過性障害であると判定できる。一方で、ハッシュ値Ｈ６に対応する箇所（スイッチ３とパケット組立回路１５５との間）は、恒久障害箇所である可能性(被疑度)が高いと判定することができる。上記したテストパケットＴ１を用いた再現試験の回数は、１回に限られず、必要な回数を実施することができる。これにより、一過性障害と恒久障害の切り分け、及び恒久障害の被疑箇所の絞り込み精度を高めることができる。
【００９８】
[テストパケットＴ２及びＴ３を用いた再現試験]
セルのペイロードのビットエラーを引き起こす障害が、パケット処理回路１５,ＱｏＳ
処理回路１６,スイッチデバイス１３１が備えるメモリのメモリスタック障害（メモリの
或るアドレスが“１”又は“０”で固定され、書き換えられなくなる現象）により生じる場合がある。
【００９９】
オリジナルのＩＰパケットのビットエラーがメモリスタック障害によるビット反転により生じている状況下で、テストパケットＴ１を用いた再現試験を行う場合を仮定する。この場合、テストパケットＴ１に含まれるビットエラー（反転ビット）はメモリスタック障害によるビット反転で生じている。このため、メモリスタック障害により固定化されたアドレスのビット値と、反転ビットのビット値とは同じである。したがって、テストセルがオリジナルのセルと同じアドレスに書き込まれる場合には、オリジナルのセルと同様のビット反転は起こらない。これによって、テストセルＴ１のペイロードのハッシュ値にメモリスタック障害が反映されず、障害が再現性なしと誤判断される可能性があった。
【０１００】
上記問題を解決するために、再現試験モジュール１４３で実施される再現試験では、以下の処理が行われる。すなわち、図１２に示すように、再現試験モジュール１４３は、少なくともエラー判定用領域における全てのビット値が“０”である（テストフラグ“ＯＮ”=１を除く）テストパケット（オールゼロパケット）Ｔ２と、少なくともエラー判定用
領域における全てのビット値が“１”である（テストフラグ“ＯＮ”=１）テストパケッ
ト（オールワンパケット）Ｔ３とを生成し、テストパケットＴ２及びＴ３に関して、テストパケットＴ１と同様の再現試験を行う。
【０１０１】
テストパケットＴ２及びＴ３は、オリジナルのＩＰパケットと同じサイズを有する。エラー判定用領域は、テストパケットＴ２及びＴ３が有するテストフラグの格納領域を除いた領域である。但し、テストパケットＴ２及びＴ３にテストフラグを設定することなく、
受信パケットがテストパケットか否かを判断できる場合には、テストフラグの格納領域も、“０”又は“１”とすることができる。例えば、受信パケット中の“０”又は“１”の占有率が所定閾値以上である場合に、テストパケットＴ２又はＴ３であると判定する処理を行うことで、テストパケットＴ２又はＴ３に対するテストフラグの設定を回避することができる。テストパケットＴ２は、“第２テストデータブロック”の一例であり、テストパケットＴ３は、“第３テストデータブロック”の一例である。
【０１０２】
テストパケットＴ２及びＴ３は、パケット分割回路１５４に送られ、複数のテストセルに分割される。各テストセルは、オリジナルのセルと同様のセル伝達経路を辿り、パケット組立回路１５５で受信される。パケット組立回路１５５は、受信されたテストセルを用いてテストパケットＴ２及びＴ３を組み立てる。パケット組立回路１５５は、組み立てたテストパケットＴ２及びＴ３と、これらの組立に用いたテストセルのテイラー情報とを、再現試験モジュール１４３に送信する。
【０１０３】
再現試験モジュール１４３は、テストパケットＴ２及びＴ３のテイラー情報に含まれる、セル内の複数のハッシュ値が同じか否かを判定する。テストパケットＴ２又はＴ３に係る複数のハッシュ値が不一致である場合には、ペイロードの少なくとも１つのビットが反転していることを意味する。したがって、複数のハッシュ値が不一致である場合には、ハッシュ値の変動が最初に現れた箇所でメモリスタック障害が生じていると判定することができる。さらに、再現試験モジュール１４３は、ハッシュ値の不一致が生じた場合には、ハッシュ値の不一致を生じたテストパケットＴ２及びＴ３の一方を１回以上パケット分割回路１５４へ再度送り、ハッシュ値について同一の結果が得られるか（障害が再現されるか）を判定することができる。
【０１０４】
上述した処理によって、再現試験モジュール１４３は、パケット組立回路１５５（組立回路）でそれぞれ組み立てられたテストパケットＴ２（第２テストデータブロック）及びテストパケットＴ３（第３テストデータブロック）の少なくとも一方のエラー判定用領域が反転したビット値を持つか否かを判定することができる。
【０１０５】
[テストパケットＴ２及びＴ３を用いた再現試験の作用効果]
上記したテストパケットＴ２及びＴ３を用いた再現試験によれば、テストパケットＴ１では検出できないメモリスタック障害を検出することができ、再度のテストパケットＴ２又はＴ３の送信によって、メモリスタック障害の再現性を確認することができる。
【０１０６】
また、テストパケットＴ２及びＴ３を用いた再現試験も、テストパケットＴ１を用いた再現試験と同様に、テストパケットＴ２及びＴ３をパケット分割回路１５４に送信する（入力する）だけである。したがって、通信装置１０の作動状態（サービス状態）において再現試験を実施することができる。
【０１０７】
[共用メモリアドレス情報を用いた障害確認試験（共有メモリ診断）]
上述したように、ＱｏＳ処理回路１６では、複数のセルフローのセルが共有メモリ（メモリ１６２）に格納される。このため、或るセルフローのセルのメモリ１６２に対する書込み位置は、他のセルフローのセルの格納状況に応じて変動する。したがって、上記の再現試験において、テストセルのメモリ１６２に対するセルの書き込み位置が、オリジナルのセルの書込み位置と同じであることは保証されない。このため、ＱｏＳ処理回路１６のメモリ１６２に起因するビットエラーが疑われる場合であっても、オリジナルのセルと同条件で再現試験を行うことが困難であった。
【０１０８】
このため、再現試験モジュール１４３は、エラーパケットＥ１が発生したときのセル内の複数のハッシュ値の不一致状況から、ＱｏＳ処理回路１６とスイッチ１との間の障害が
疑われる場合には、以下のような、テイラー情報に含まれる共用メモリアドレス情報を用いた障害確認試験を実施する。
【０１０９】
障害確認試験は、テストパケットＴ１を用いた再現試験、又はテストパケットＴ２及びＴ３を用いた再現試験と並列に、又は独立して実施することができる。障害確認試験は、通信装置１０が作動中（サービス中）である場合には、共有メモリアドレス情報から定まるアドレスが空き状態であるときに実施される。例えば、制御回路１７がメモリ１６２の空き状態を監視して装置制御回路１４（ＣＰＵ１４１Ａ）に通知し、ＣＰＵ１４１Ａ（再現試験モジュール１４３）は、試験対象アドレスの空き状態を検知したときに障害確認試験を実施する。
【０１１０】
障害確認試験は、次のようにして行われる。すなわち、図１２に示すように、再現試験モジュール１４３は、テイラー情報に含まれる共有メモリアドレス情報、すなわちメモリ１６２のアドレスポインタに基づくメモリ領域の書込み／読み出し（Ｗ／Ｒ）試験を実行する。
【０１１１】
具体的には、装置制御回路１４のＣＰＵ１４１Ａ（再現試験モジュール１４３）が、対応するフォワーディング処理回路１２の制御回路１７（ＣＰＵ１７１Ａ）に対し、当該メモリ領域のＷ／Ｒ試験の指示を送り、ＣＰＵ１７１Ａが、指示に従ってメモリ１６２にアクセスし、Ｗ／Ｒ試験を実施する。Ｗ／Ｒ試験の書込みデータと読み出しデータとは、再現試験モジュール１４３に送信される。もっとも、ＣＰＵ１７１Ａが書込みデータと読み出しデータとの一致・不一致の判定結果をさらに送信するようにしても良い。或いは、一致・不一致の判定結果のみが再現試験モジュール１４３に送信されるようにしても良い。
【０１１２】
再現試験モジュール１４３は、書込みデータと読み出しデータとが不一致である場合に、試験対象の共有メモリ領域に障害があると判定する。このように、障害確認試験によれば、共有メモリ領域の障害が疑われる場合に、当該領域のＷ／Ｒ試験（すなわち、共有メモリの診断）によって、被疑箇所が障害を有するか否かを判定することができる。
【０１１３】
[再現試験モジュールの処理例]
図１４は、上述した再現試験及び障害確認試験に係る装置制御回路１４の処理例を示すフローチャートである。図１４に示す装置制御回路１４の処理は、ＣＰＵ１４１Ａのプログラム実行による機能である再現試験モジュール１４３によって実施される。
【０１１４】
図１４において、再現試験モジュール１４３（ＣＰＵ１４１Ａ）は、パケット受信によって処理を開始する。最初に、再現試験モジュール１４３は、受信されたパケットがテスト用パケットか否かを判定する（０４１）。すなわち、再現試験モジュール１４３は、パケットがテストフラグを有する（テストフラグがオンである）か否かで、受信パケットが通常パケット（エラーパケットＥ１）かテストパケットかを判定する。受信パケットがエラーパケットＥ１であれば、処理が０４２に進む。
【０１１５】
０４２では、再現試験モジュール１４３は、エラーパケットの確認処理を実行する。すなわち、エラーパケットＥ１とともに受信されたテイラー情報に含まれるセル内の複数のハッシュ値を参照し、ハッシュ値が不一致、すなわちエラーが発生していることを確認する。続いて、再現試験モジュール１４３は、テイラー情報に含まれる共用メモリアドレス情報を確認する（０４３）。なお、再現試験モジュール１４３が、上記０４２の処理にあたって制御回路１７にテイラー情報の転送を要求するようにしても良い。
【０１１６】
次に、再現試験モジュール１４３は、テストパケットＴ１〜Ｔ３を生成する（０４４）。すなわち、再現試験モジュール１４３は、テストパケットＴ１（エラーパケットＥ１の
コピー）,テストパケットＴ２（オールゼロパケット）,及びテストパケットＴ３（オールワンパケット）をメモリ１４２Ｂ上で生成し、各テストパケットＴ１〜Ｔ３にテストフラグを設定する。また、テストパケット番号を各テストパケットＴ１〜Ｔ３に設定し、各テストパケット番号をメモリ１４２Ｂに格納する。例えば、テストパケットＴ１,Ｔ２,Ｔ３には、テストパケット番号“１”,“２”,“３”が与えられる。
【０１１７】
そして、再現試験モジュール１４３は、パケット分割回路１５４へテストパケットＴ１〜Ｔ３を送信する。
【０１１８】
その後、再現試験モジュール１４３は、パケット組立回路１５５で組み立てられたテストパケットＴ１〜Ｔ３と、対応するテイラー情報とを受信し、メモリ１４２Ｂへ格納する。テストパケットＴ１〜Ｔ３の受信時には、０４１の処理が実行される。このとき、テストパケットＴ１〜Ｔ３にはテストフラグが設定されているので、処理が０４５に進む。
【０１１９】
０４５では、再現試験モジュール１４３が、テスト結果（事象再現性）の確認処理を実行する。すなわち、テイラー情報を用いた複数のハッシュ値の不一致状況が、オリジナルの不一致状況と一致するかの判定を行う。さらに、再現試験モジュール１４３は、テストパケットＴ２及びＴ３のテイラー情報（ハッシュ値）に基づくビットエラー（メモリスタック障害によるビット反転）の有無を判定する。このようにして、再現試験モジュール１４３は、テストパケットＴ１〜Ｔ３に基づく障害の再現性の有無を確認する。
【０１２０】
なお、上記した０４５の処理の代わりに、テイラー情報を取得するパケット組立回路１５４、又は当該パケット組立回路１５４が含まれたフォワーディング処理部１２の制御回路１７が上記した０４５の処理と同様の判定処理を行って再現性の確認結果を再現試験モジュール１４３に送信し、０４５では、再現試験モジュール１４３が送信された再現性の確認結果の内容の確認のみを行う構成を適用することもできる。
【０１２１】
次に、再現試験モジュール１４３は、事象に再現性があるか否かを判定する（０４６）。事象に再現性があると判定する場合（０４６のＹＥＳ）には、再現試験モジュール１４３は、事象が恒久障害であるとして、障害処理を起動する。
【０１２２】
これに対し、事象に再現性がないと判定する場合（０４６のＮＯ）には、恒久障害の被疑箇所がＱｏＳ処理回路１６か否かを判定する（０４７）。当該判定は、複数のハッシュ値の不一致が、ＱｏＳ処理回路１６でセルに格納されるハッシュ値“Ｈ２”を起点に生じているか否かを判定することで、実施することができる。
【０１２３】
恒久障害の被疑箇所がＱｏＳ処理回路１６でない場合（０４７のＮＯ）には、オリジナルのＩＰパケットに対して起こったビットエラーは、一過性障害により生じたものと判定される。これに対し、恒久障害の被疑箇所がＱｏＳ処理回路１６である場合（０４７のＹＥＳ）には、再現試験モジュール１４３は、上述した共有メモリアドレス情報を用いた共有メモリ診断を実行する（０４８）。
【０１２４】
そして、事象の再現性があるか否かを判定する（０４９）。０４９では、再現試験モジュール１４３は、共有メモリ診断におけるＷ／Ｒ試験の結果として、書込みデータと読み出しデータとの間の不一致を認めた場合に、再現性なしと判断する（０４９のＮＯ）。そして、オリジナルのＩＰパケットのビットエラーが一過性障害により生じたと判定される。これに対し、再現試験モジュール１４３が、書込みデータと読み出しデータとの間の不一致を認めた場合に、再現性ありと判断する（０４９のＹＥＳ）。この場合、恒久障害は生じているとして、障害処理が起動される。
【０１２５】
＜障害処理＞
障害処理として、以下の処理が実施される。例えば、再現試験モジュール１４３（装置制御回路１４）は、装置制御回路１４に接続された監視端末（コンソール）２０（図２）に含まれる表示装置（図示せず）に、少なくともテイラー情報を用いた障害通知情報を表示する。
【０１２６】
図１５及び図１６は、障害通知情報の表示例を示す。図１５は、ハッシュ値の不一致（不整合）に再現性がある場合の障害通知情報を表で示す。但し、図１５の表において、“Hash1”は、ＱｏＳ処理回路１６で格納されるハッシュ値を示し、“Hash2”はスイッチ１で格納されるハッシュ値を示す。また、“Hash3”はスイッチ２で格納されるハッシュ値
を示し、“HashX”はパケット組立回路１５５で格納されるハッシュ値を示す。すなわち
、パケット分割回路１５４及びスイッチ２のハッシュ値の表示は省略されている。なお、図１５において、パケット分割回路１５４及びスイッチ２のハッシュ値は“Hash1”と同
じである。
【０１２７】
表において、パケット番号は、パケットの識別情報であり、図１４に示した０４４で設定される。テストタイプは、再現試験に用いられるテストパケットのタイプを示す。図１５の例では、“０”がオリジナルのＩＰパケット、“１”がテストパケットＴ１,“２”
がテストパケットＴ２,“３”がテストパケットＴ３を示す。開始ポインタ及び終了ポイ
ンタは、各パケットのテイラー情報に含まれる共有メモリアドレス情報（すなわち、アドレスポインタ）を示す。
【０１２８】
なお、テイラー情報は、セル毎に得られるので、図１５に示す表は、セル毎に表示するようにしても良い。但し、例えば、障害処理起動の判定に用いた１つのセルのテイラー情報のみが表示されるようにしても良い。
【０１２９】
図１５の表に示す例では、テストタイプ“０”（オリジナルのＩＰパケット）のレコードにおける“Hash3”の値と“HashX”の値とから、スイッチ３とパケット組立回路１５５との間でペイロードのビットエラーが生じたことが検出される[１−Ａ]。
【０１３０】
さらに、テストタイプ“１”（テストパケットＴ１）のレコードにおける“Hash3”の
値と“HashX”の値とから、ハッシュ値変動の発生状況がオリジナルと一致、すなわちエ
ラーの再現性が確認される[１−Ｂ]。このような再現性確認を契機として障害処理が起動される[１−Ｃ]。
【０１３１】
図１６は、障害通知情報の他の表示例を示す。図１６は、ハッシュ値の不整合の再現性がなく、かつ恒久障害の被疑箇所に共有メモリが含まれる場合の障害通知情報を表で示す。図１６の表でも、図１５の表と同様に、パケット分割回路１５４及びスイッチ３のハッシュ値の表示は省略されている。なお、図１６において、パケット分割回路１５４のハッシュ値は、“Hash1”と同じである。スイッチ３のハッシュ値は、“Hash3”と同じである。
【０１３２】
図１６の表に示す例では、テストタイプ“０”（オリジナルのＩＰパケット）のレコードにおける“Hash1”の値と“Hash2”の値とから、ＱｏＳ処理回路１６とスイッチ１との間でペイロードのビットエラーが生じたことが検出される[２−Ａ]。
【０１３３】
しかし、その後のテストタイプ“１”（テストパケットＴ１）,テストタイプ“２”（
テストパケットＴ２）,及びテストタイプ“３”（テストパケットＴ３）に対応する各レ
コードにおけるハッシュ値の値からは、エラーの再現性が確認できない[２−Ｂ]。
【０１３４】
このため、テストタイプ“０”のレコードの開始ポインタ及び終了ポインタ（共有メモリアドレス情報）を用いた共有メモリ診断（Ｗ／Ｒ試験）が実施される[２−Ｃ]。そして、書込みデータと読み出しデータとの不一致が検出された場合には障害処理が起動される[２−Ｄ]。
【０１３５】
障害処理として、装置制御回路１４は、複数のハッシュ値から恒久障害箇所を特定する。すなわち、装置制御回路１４のＲＯＭ／メモリ１４２には、通信装置１０の装置情報として、上述したセル伝達経路においてハッシュ値を格納する各回路の情報が予め記憶されている。装置制御回路１４のＣＰＵ１４１Ａは、ハッシュ値と回路との対応付けを図ることで、ハッシュ値の変動がどの回路間で生じているかを認識し、ハッシュ値変動の起点となった回路を恒久障害箇所の回路として特定する。例えば、スイッチ１が格納したハッシュ値とスイッチ２が格納したハッシュ値との間で値が異なっていれば、ＣＰＵ１４１Ａは、装置情報とハッシュ値との対応付けによりスイッチ１とスイッチ２との間で障害が発生していると判定し、スイッチ２を恒久障害箇所として特定する。
【０１３６】
そして、恒久障害箇所として特定された回路（デバイス）を障害処理対象とする復旧（リカバリ）処理が実行される。復旧処理は、例えばリロード処理であり、リロード処理として、例えば回路（デバイス）のデバイスドライバの書き換えなどが実行される。このとき、恒久障害箇所として特定された回路（デバイス）が冗長構成を有している場合には、予備システム（予備回路（予備デバイス））への切替処理の後に、復旧処理が実行される。冗長構成がない場合には、通信装置１０を一時的に停止して復旧処理が実行される。このような障害処理は、通信装置１０内で自律的に実行される。もっとも、障害処理がマニュアルで実行されるようにしても良い。このように、特定された恒久障害箇所を対象とする局所的な障害処理（リロード処理）が実施されることによって、復旧に要する時間の短縮化、作業の軽減を図ることができる。なお、図１５、図１６に示したテストタイプ０のレコードが再現試験前に端末２０に表示されるよう様にしてもよい。
【０１３７】
＜実施形態の作用効果＞
以上説明した実施形態によれば、ＩＰパケットが分解された複数のセルが転送されるセル伝達経路上における障害発生箇所の特定を容易化することができる。また、通信装置１０の作動状態において、再現試験を実施し、障害が一過性障害か恒久障害かを判別するこができる。よって、間歇的に異常が検出される障害被疑箇所を特定し、障害処理を迅速かつ装置自律で起動させることが可能となる。また、障害被疑箇所が特定されることで、復旧処理の範囲を最小限に止めることが可能となる。
【０１３８】
なお、実施形態は、Ｌ３ＳＷの構成例について説明したが、通信装置１０としてＬ２ＳＷが適用される場合には、ＩＰパケットの代わりにＭＡＣフレームがセル分割の対象となる。ＩＰパケット及びＭＡＣフレームは、“データブロック”の一例である。
【０１３９】
＜その他＞
上記実施形態は、以下の付記を開示する。付記に記載された事項は、適宜組み合わせることができる。
【０１４０】
（付記１）  ネットワークから受信されたデータブロックを複数のセルに分割する分割回路と、
前記複数のセルから前記データブロックを組み立てる組立回路と、
前記分割回路と前記組立回路との間の前記複数のセルの伝達経路上に配置され、前記伝達経路から受信される複数のセルに対して所定の処理を実行する複数の処理回路と、
前記組立回路に含まれた、又は前記組立回路から独立した制御回路とを含み、
前記分割回路,前記組立回路,前記複数の処理回路のうちの少なくとも２つが、前記複数
のセルの少なくとも１つに対するエラーチェック計算の計算結果を当該セルに格納し、
前記制御回路が前記セルに格納された複数の計算結果に不一致があるか否かを判定する通信装置。（１）
【０１４１】
（付記２）  前記複数の計算結果に不一致があるときに、前記複数のセルから組み立てられた前記データブロックのコピーであるテストデータブロックを前記分割回路に供給し、前記複数の処理回路を経て前記組立回路に到達する、前記分割回路での前記テストパケットの分割によって生成された複数のテストセルの少なくとも１つに格納された前記エラーチェック計算の複数の計算結果の不一致状態が、前記データブロックに係る前記複数の計算結果と一致するか否かを判定する第２の制御回路をさらに含む
付記１に記載の通信装置。（２）
【０１４２】
（付記３）  前記第２の制御回路は、前記テストパケットに加えて、少なくともエラー判定用領域の全てのビット値が０である第２テストデータブロックと、少なくともエラー判定用領域の全てのビット値が１である第３テストデータブロックとを前記分割回路に供給し、前記再現判定処理に加えて、前記組立回路でそれぞれ組み立てられた第２テストデータブロック及び第３テストデータブロックの少なくとも一方のエラー判定用領域が反転したビット値を持つか否かを判定する
付記２に記載の通信装置。（３）
【０１４３】
（付記４）  前記複数の処理回路の少なくとも１つは、前記複数のセルに対する処理のために共有メモリに前記複数のセルを格納するとともに、前記計算結果が格納される前記複数のセルの少なくとも１つに、前記複数のセルの格納に用いた共有メモリのアドレスを示す共有メモリアドレス情報を格納し、
前記第２の制御回路は、前記データブロックに係る前記複数の計算結果に不一致がある場合に、前記共有メモリアドレス情報を用いた前記共有メモリの診断処理を実行する
付記２又は３に記載の通信装置。
【０１４４】
（付記５）  ネットワークから受信されたデータブロックを分割回路によって複数のセルに分割し、
前記複数のセルから前記データブロックを組立回路によって組み立て、
前記分割回路と前記組立回路との間の前記複数のセルの伝達経路上に配置された複数の処理回路が、前記伝達経路から受信される複数のセルに対して所定の処理を実行し、
前記分割回路,前記組立回路,前記複数の処理回路のうちの少なくとも２つが、前記複数のセルの少なくとも１つに対するエラーチェック計算の計算結果を当該セルに格納し、
前記組立回路に含まれた、又は前記組立回路から独立した制御回路が前記セルに格納された複数の計算結果に不一致があるか否かを判定する
ことを含む通信装置の障害検知方法。
【符号の説明】
【０１４５】
Ｅ１・・・エラーパケット
Ｔ１〜Ｔ３・・・テストパケット
１・・・コアネットワーク
２・・・アクセスネットワーク
３・・・エッジルータ
４・・・コアルータ
１０・・・通信装置
１１・・・回線処理回路
１２・・・フォワーディング処理回路
１３・・・スイッチング回路
１４・・・装置制御回路
１５・・・パケット処理回路
１６・・・ＱｏＳ処理回路
１７・・・制御回路
１１１・・・光モジュール
１１２・・・ＰＨＹ
１１３・・・ＭＡＣ
１１４・・・フレーマ
１３１・・・スイッチデバイス
１４１,１７１・・・ＣＰＵ／バスコントローラ
１４２,１７２・・・ＲＯＭ／メモリ
１４３・・・再現試験モジュール
１５１・・・Ｌ２／Ｌ３処理エンジン
１５２・・・ＣＡＭ
１５３,１６２・・・メモリ
１５４・・・パケット分割回路
１５５・・・パケット組立回路
１６１・・・トラフィックマネージャ
【図１】
2014007501.tif 000003
【図２】
2014007501.tif 000004
【図３】
2014007501.tif 000005
【図４Ａ】
2014007501.tif 000006
【図４Ｂ】
2014007501.tif 000007
【図５】
2014007501.tif 000008
【図６】
2014007501.tif 000009
【図７】
2014007501.tif 000010
【図８】
2014007501.tif 000011
【図９】
2014007501.tif 000012
【図１０】
2014007501.tif 000013
【図１１】
2014007501.tif 000014
【図１２】
2014007501.tif 000015
【図１３】
2014007501.tif 000016
【図１４】
2014007501.tif 000017
【図１５】
2014007501.tif 000018
【図１６】
2014007501.tif 000019