(57)【特許請求の範囲】
【請求項１】
パケットを送受信する通信装置であって、
前記パケットの転送先を決定する転送制御部と、
前記転送制御部を制御する制御部と、を備え、
前記制御部は、前記転送制御部の設定を行い、かつ、前記各部の状態を監視する第１のプロセッサと、前記第１のプロセッサがアクセスする揮発メモリと、前記第１のプロセッサがアクセスする不揮発メモリと、を有し、
前記転送制御部及び前記制御部には設定情報に従って動作パラメータが設定され、
前記第１のプロセッサは、
前記転送制御部及び前記制御部に設定される設定情報及び前記各部の状態を示すログ情報を、前記設定情報及び前記ログ情報が発生した後に前記揮発メモリに格納し、
前記制御部に障害が検出された場合に、前記検出された前記制御部の障害の情報を前記揮発メモリに格納し、第１の所定の条件に適合する前記制御部の障害の情報を前記不揮発メモリに格納し、
前記設定情報及び前記ログ情報の全部又は一部を、所定のタイミングで前記揮発メモリから読み出し、前記不揮発メモリに格納し、
前記制御部を再起動した後、前記検出された前記制御部の障害が発生したときに前記不揮発メモリに格納されている設定情報を、前記制御部の障害を発生させた要因であると判定し、
前記制御部の障害を発生させた要因であると判定された設定情報を、再び当該通信装置に適用しないための定義情報を生成し、前記不揮発メモリ又は前記揮発メモリに格納し、
前記不揮発メモリに格納された設定情報のうち、前記検出された前記制御部の障害の原因となる設定情報より前の時刻の情報であって、かつ、前記定義情報に該当しない情報を用いて、前記制御部を設定することを特徴とする通信装置。
【請求項２】
請求項１に記載の通信装置であって、
前記第１のプロセッサは、
前記ログ情報を前記不揮発メモリに格納する設定がされている場合、前記ログ情報を所定のタイミングで前記揮発メモリから読み出し、前記不揮発メモリに格納し、
前記検出した前記制御部の障害が前記第１の所定の条件に適合する場合、前記第１の所定の条件に適合する制御部の障害の情報を、所定のタイミングで前記揮発メモリから読み出し、前記不揮発メモリに格納することを特徴とする通信装置。
【請求項３】
請求項１に記載の通信装置であって、
前記第１のプロセッサは、
前記制御部が交換されたかを判定し、
前記制御部が交換された場合、初期設定用の設定情報を用いて、当該制御部を初期化することを特徴とする通信装置。
【請求項４】
請求項２記載の通信装置であって、
前記第１のプロセッサは、前記ログ情報を前記不揮発メモリに格納するかを設定するためのインタフェースを提供することを特徴とする通信装置。
【請求項５】
請求項１に記載の通信装置であって、
前記転送制御部は、前記制御部の指示を受けて前記転送制御部の設定を行う第２のプロセッサを有し、
前記第２のプロセッサは、
前記転送制御部に障害が検出されると、前記検出した前記転送制御部の障害の情報を前記制御部に通知し、
前記第１のプロセッサは、
前記第２のプロセッサから前記検出した前記転送制御部の障害の情報を受けると、前記不揮発メモリに格納し、
前記転送制御部を再起動し、
前記検出された前記転送制御部の障害が発生する前に前記不揮発メモリに格納された設定情報を用いて、前記転送制御部を設定する指示を前記第２のプロセッサに送信することを特徴とする通信装置。
【請求項６】
パケットを送受信する通信装置を制御する方法であって、
前記通信装置は、前記パケットの転送先を決定する転送制御部と、前記転送制御部を制御する制御部と、を有し、
前記制御部は、前記転送制御部の設定を行い、かつ、前記各部の状態を監視する第１のプロセッサと、前記第１のプロセッサがアクセスする揮発メモリと、前記第１のプロセッサがアクセスする不揮発メモリと、を有し、
前記転送制御部及び前記制御部には設定情報に従って動作パラメータが設定され、
前記方法は、
前記第１のプロセッサが、前記転送制御部及び前記制御部に設定される設定情報及び前記各部の状態を示すログ情報を、前記設定情報及び前記ログ情報が発生した後に前記揮発メモリに格納し、
前記制御部に障害が検出された場合に、前記第１のプロセッサが、前記検出された前記制御部の障害の情報を前記揮発メモリに格納し、第１の所定の条件に適合する前記制御部の障害の情報を前記不揮発メモリに格納し、
前記第１のプロセッサが、前記設定情報及び前記ログ情報の全部又は一部を、所定のタイミングで前記揮発メモリから読み出し、前記不揮発メモリに格納し、
前記第１のプロセッサが、前記制御部を再起動した後、前記検出された前記制御部の障害が発生したときに前記不揮発メモリに格納されている設定情報を、前記制御部の障害を発生させた要因であると判定し、
前記第１のプロセッサが、前記制御部の障害を発生させた要因であると判定された設定情報を、再び当該通信装置に適用しないための定義情報を生成し、前記不揮発メモリ又は前記揮発メモリに格納し、
前記第１のプロセッサが、前記不揮発メモリに格納された設定情報のうち、前記検出された前記制御部の障害の原因となる設定情報より前の時刻の情報であって、かつ、前記定義情報に該当しない情報を用いて、前記制御部を設定することを特徴とする方法。
【請求項７】
請求項６に記載の方法であって、
前記ログ情報を前記不揮発メモリに格納する設定がされている場合、前記第１のプロセッサは、前記ログ情報を所定のタイミングで前記揮発メモリから読み出し、前記不揮発メモリに格納し、
前記検出した前記制御部の障害が前記第１の所定の条件に適合する場合、前記第１のプロセッサは、前記第１の所定の条件に適合する制御部の障害の情報を、所定のタイミングで前記揮発メモリから読み出し、前記不揮発メモリに格納することを特徴とする方法。
【請求項８】
請求項６に記載の方法であって、
前記第１のプロセッサは、
前記制御部が交換されたかを判定し、
前記制御部が交換された場合、初期設定用の設定情報を用いて、当該制御部を初期化することを特徴とする方法。
【請求項９】
請求項７に記載の方法であって、
前記第１のプロセッサは、前記ログ情報を前記不揮発メモリに格納するかを設定するためのインタフェースを提供することを特徴とする方法。
【請求項１０】
請求項９に記載の方法であって、
前記転送制御部は、前記制御部の指示を受けて前記転送制御部の設定を行う第２のプロセッサを有し、
前記第２のプロセッサは、
前記転送制御部に障害が検出されると、前記検出した前記転送制御部の障害の情報を前記不揮発メモリに格納し、
前記第１のプロセッサは、
前記転送制御部を再起動し、
前記第２のプロセッサは、
前記検出された前記転送制御部の障害が発生する前に前記不揮発メモリに格納された設定情報を用いて、前記転送制御部を設定することを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置に関する。
【背景技術】
【０００２】
本技術分野の背景技術として、特開２０１０−１４７８０４号公報（特許文献１）、特開２０１０−８６００９号公報（特許文献２）、特開２０１２−２０３６４０号公報（特許文献３）がある。
【０００３】
特許文献１には、機能ごとにパッケージ化されたユニットを複数個組み合わせて実装された伝送装置において、ロギングによりユニットの状態情報を入手したログを、伝送装置に障害が生じた場合に障害の原因解析に利用できるように、順次記録する不揮発性記録部を備える伝送装置とする。但し、状態情報は、ユニットの実装状態、伝送装置に接続された通信回線の状態、ユニットまたは伝送装置の警報発生状態、ユニットまたは伝送装置の設定状態の少なくともいずれか一つの情報を含むものとすることが開示されている。
【０００４】
特許文献２には、記憶装置では、マイクロプロセッサが、電源異常を検出したときに、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）に記憶された管理情報の少なくとも一部（論理・物理変換テーブルにおける論理・物理変換テーブルとの差分情報）を、高速な書き込みが可能な不揮発性メモリであるＭＲＡＭ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）に論理・物理変換テーブル差分情報として書き込み、その後のＳＤＲＡＭの復旧時に、必要に応じて、ＭＲＡＭに書き込んだ管理情報を用いて、ＳＤＲＡＭが記憶する管理情報を補正することが開示されている。
【０００５】
特許文献３には、情報処理装置は、自装置または他の装置で動作する仮想マシンを管理する。情報処理装置は、仮想マシンの動作に使用されている１またはそれ以上のファイルと、１またはそれ以上のテンプレートファイルとを比較する。情報処理装置は、ファイルとテンプレートファイルの比較結果に基づいて、仮想マシンの設定状況を示す構成情報を生成することが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１４７８０４号公報
【特許文献２】特開２０１０−８６００９号公報
【特許文献３】特開２０１２−２０３６４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１は、障害の原因解析に利用できるように、順次記録する不揮発性記録部を有する伝送装置、すなわち、障害因子の切り分けを開示している。しかし、特許文献１は、クロック同期外れや電源瞬断等の警報発生時における伝送装置の再起動を考慮していない。
【０００８】
特許文献２は、装置再起動時、ＭＲＡＭに書き込んだ管理情報を用いて、ＳＤＲＡＭの管理情報を補正する記憶装置、すなわち、再起動時に不揮発性メモリから揮発性メモリへの情報の書き出しを開示している。しかし、特許文献２は、装置再起動時の障害因子の切り分けや、切り分けたコンフィグレーション情報を再び装置に適用させない為のブロック方法を開示していない。
【０００９】
特許文献３は、仮想マシンの設定変更などに伴って更新されるファイルシステムを不揮発性記憶装置に保存し、保存されたファイルシステムを用いて仮想マシンを再起動するファイルシステム、すなわち、サーバにおいて、装置再起動時に不揮発性メモリから揮発性メモリへの情報の書き出しを開示している。しかし、特許文献３は、仮想マシンが使用するファイルシステムは、当該仮想マシンの設定変更に伴って設定される際に不揮発性の記憶装置へ保存されるだけであり、当該ファイルシステム内に問題を引き起こす要素が含まれている場合に該要素を切り分けることを想定していない。
【００１０】
一方、採取したログを揮発性デバイスから不揮発性デバイスへ記録しないと、揮発性デバイスに記録したログが電源遮断時に消失してしまう。また、多数のログを記録するためには、高速で高耐久性の不揮発性デバイスを使用する必要がある。
【００１１】
このため、装置管理者が所望するレベル以上のコンフィグレーション情報を揮発性デバイスから不揮発性デバイスへ記録すること、及び、装置再起動を要するレベルの障害原因候補と考えられるコンフィグレーション情報（障害因子）を再起動後に該通信装置に適用させない為のブロック情報として用いることは、いずれの引用文献にも記載されていない。また、これらの先行技術を組み合わせても、前述した構成の通信装置によって、可用性及び耐障害性を向上することには想到し得ない。
【課題を解決するための手段】
【００１２】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、パケットを送受信する通信装置であって、前記パケットの転送先を決定する転送制御部と、前記転送制御部を制御する制御部と、を備え、前記制御部は、前記転送制御部の設定を行い、かつ、前記各部の状態を監視する第１のプロセッサと、前記第１のプロセッサがアクセスする揮発メモリと、前記第１のプロセッサがアクセスする不揮発メモリと、を有し、前記転送制御部及び前記制御部には設定情報に従って動作パラメータが設定され、前記第１のプロセッサは、前記転送制御部及び前記制御部に設定される設定情報及び前記各部の状態を示すログ情報を、前記設定情報及び前記ログ情報が発生した後に前記揮発メモリに格納し、前記制御部に障害が検出された場合に、前記検出した前記制御部の障害の情報を前記揮発メモリに格納し、第１の所定の条件に適合する前記制御部の障害の情報を前記不揮発メモリに格納し、前記設定情報及び前記ログ情報の全部又は一部を、所定のタイミングで前記揮発メモリから読み出し、前記不揮発メモリに格納し、前記制御部を再起動した後、前記検出された前記制御部の障害が発生したときに前記不揮発メモリに格納されている設定情報を、前記制御部の障害を発生させた要因であると判定し、前記制御部の障害を発生させた要因であると判定された設定情報を、再び当該通信装置に適用しないための定義情報を生成し、前記不揮発メモリ又は前記揮発メモリに格納し、前記不揮発メモリに格納された設定情報のうち、前記検出された前記制御部の障害の原因となる設定情報より前の時刻の情報であって、前記定義情報に該当しない情報を用いて、前記制御部を設定する。
【発明の効果】
【００１３】
本発明の代表的な実施の形態によれば、通信装置の可用性及び耐障害性を向上することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施例の通信装置の構成を示すブロック図である。
【図２】ＤＲＡＭの記憶領域の割り当て例を示す図である。
【図３】障害のハードウェアエラーレベルを変更するためのユーザインタフェースを示す図である。
【図４】Ｃ−Ｐｌａｎｅモジュールの起動動作のシーケンス図である。
【図５】コンフィグレーション情報の追加及びログを収集する動作のシーケンス図である。
【図６】ログ記録領域に記録されるデータの例を示す図である。
【図７】不揮発性メモリに記録されるデータの例を示す図である。
【図８】ログ記録領域へアクセスする処理のフローチャートである。
【図９】Ｃ−Ｐｌａｎｅモジュールの再起動処理のフローチャートである。
【図１０】Ｃ−Ｐｌａｎｅモジュールの再起動シーケンスである。
【図１１】クリティカルフィルタ領域に記録されるデータの例を示す図である。
【図１２】Ｄ−Ｐｌａｎｅモジュールの再起動処理のフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の実施例について図面を参照して説明する。
【００１６】
以下の説明では、従来技術との比較を容易にするため、主に通信ネットワーク上でパケットを中継（通信ネットワークを流れるパケットを受信し、受信したパケットの経路を決定）する通信装置１０（図１参照）に、本発明を適用した場合について説明する。但し、本発明の効果を奏する限り、適用する装置やパケットの種類は、これに限らない。
【００１７】
図１は、本発明の実施例の通信装置１０の構成を示すブロック図である。
【００１８】
通信装置１０は、Ｃ−Ｐｌａｎｅモジュール２００と、Ｄ−Ｐｌａｎｅモジュール３００と、複数のＮＩＦ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ）モジュール４００−１〜４００−Ｎと、電源モジュール８０とを有する。
【００１９】
Ｃ−Ｐｌａｎｅモジュール２００は、主に制御系の処理を行うモジュールであり、具体的には、他の通信装置との間で通信ネットワークに関する情報を交換するルーティングプロトコル（例えば、ＯＳＰＦ（Ｏｐｅｎ  Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ  Ｆｉｒｓｔ）、ＢＧＰ（Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ））の制御や、装置自体の制御を行う。Ｄ−Ｐｌａｎｅモジュール３００は、主に転送系の処理を行うモジュールであり、具体的には、ＮＩＦモジュール４００−１〜４００−Ｎが受信したパケットの送信先回線を検索する。ＮＩＦモジュール４００−１〜４００−Ｎは、収容された回線である回線Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）４１０−１〜４１０−Ｎを伝送されるパケットを送受信する。Ｃ−Ｐｌａｎｅモジュール２００及びＤ−Ｐｌａｎｅモジュール３００は、それぞれ複数の要素（コンポーネント、または、デバイス）による構成される。
【００２０】
通信装置１０の管理用インタフェース２１０には、信号線を介して、通信装置１０の管理者が操作する管理端末９０が接続される。
【００２１】
Ｃ−Ｐｌａｎｅモジュール２００を構成する要素について説明する。Ｃ−Ｐｌａｎｅモジュール２００は、管理用インタフェース２１０と、Ｃ−Ｐｌａｎｅ  ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２２０と、ブートＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２３０と、不揮発性記憶装置Ａ２４０と、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２６０と、不揮発メモリ２７０と、Ｃ−Ｐｌａｎｅモジュール２００上の各構成要素を接続するＢｒｉｄｇｅ２５０とを有する。
【００２２】
管理用インタフェース２１０は、管理端末９０や電源モジュール８０と接続されるインタフェースであり、電源モジュール８０から供給される電力を監視可能する。Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、装置自体の制御や、ルーティングプロトコルを用いて通信装置１０に必要なパケット転送用データベースの作成を実行する。また、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、通信装置１０の各モジュールの状態と障害の有無を監視する。ブートＲＯＭ２３０は、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）２３０１を格納する。ブートＲＯＭ２３０には、書き換え可能なＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）を用いるのが適当である。ＢＩＯＳ２３０１は、Ｃ−Ｐｌａｎｅモジュール２００起動直後からＣ−Ｐｌａｎｅ  ＣＰＵ２２０に通信装置１０の制御を担わせるまでの間、通信装置１０の制御を司るプログラムであり、通信装置１０の電源投入後に装置構成デバイスを診断し、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を起動させる。なお、ＯＳの起動は、通信装置１０の制御を得たＣ−Ｐｌａｎｅ  ＣＰＵ２２０が実行してもよい。また、ＢＩＯＳ２３０１は、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０によって実行されてもよい。ＢＩＯＳ２３０１とＣ−Ｐｌａｎｅ  ＣＰＵ２２０は、通信装置１０の制御を担う制御部（プロセッサ）である。
【００２３】
不揮発性記憶装置Ａ２４０は、ＯＳや通信装置１０に関するデフォルト設定パラメータを保持する。ＤＲＡＭ２６０は、通信装置１０の制御に必要なデータを保持する。不揮発メモリ２７０は、通信装置１０に電力が供給されていない場合でも、データ（例えば、装置の動作ログ）を保存可能な記憶装置である。不揮発メモリ２７０は、ＭＲＡＭ（磁気抵抗メモリ）のような高速アクセス可能で、且つ、書き込み回数による寿命を意識する必要がない不揮発デバイスを使用するとよい。アクセス速度が比較的低速な不揮発デバイス（例えば、ＮＡＮＤ型フラッシュメモリ）を用いる場合、定期的にＤＲＡＭ２６０に保持されたデータを不揮発メモリ２７０へコピーする際、帯域不足による記録漏れが生じないようにするとよい。
【００２４】
また、不揮発メモリ２７０は、Ｃ−Ｐｌａｎｅモジュール２００にハンダ付けされていても、ソケットを用いて脱着可能に取り付けられていてもよい。不揮発メモリ２７０を脱着可能とした場合、通信装置１０から取り外した不揮発メモリ２７０に格納されたログを読み出して、障害内容を解析可能としてもよい。
【００２５】
図２に示すように、ＤＲＡＭ２６０の記憶領域は、各種コンフィグレーション格納領域２６０３と、自由領域２６０４と、ログ記録領域２６０２と、クリティカルフィルタ（Ｃｒｉｔｉｃａｌ  Ｆｉｌｔｅｒ）領域２６０１とに分割されている。
【００２６】
各種コンフィグレーション格納領域２６０３は、通信装置１０の運用に必要な各種設定を保持する。ログ記録領域２６０２は、通信装置１０の動作中に収集された各種ログを記録する。クリティカルフィルタ領域２６０１は、通信装置１０の運用に支障を来たす設定の適用を防止する為の設定を保持する。自由領域２６０４は、その他のデータの記録等に使用される。
【００２７】
ＤＲＡＭ２６０内の領域を分割している為、図６及び図１１に示すアドレスに領域毎にｏｆｆｓｅｔを定める必要がある。尚、Ｃ−Ｐｌａｎｅモジュール２００にてＤＲＡＭ２６０を用いる理由は、ＤＲＡＭは、定期的にメモリセルに電荷をチャージするリフレッシュ処理を必要とするが、アクセス帯域と容量単価とがバランスしており、これを優先したためである。
【００２８】
Ｄ−Ｐｌａｎｅモジュール３００を構成する要素について説明する。Ｄ−Ｐｌａｎｅモジュール３００は、Ｄ−Ｐｌａｎｅ  ＣＰＵ３１０と、不揮発性記憶装置Ｂ３２０と、ルーティングコントローラ（Ｒｏｕｔｉｎｇ  Ｃｏｎｔｒｏｌｌｅｒ）３３０と、ルーティングメモリ（Ｒｏｕｔｉｎｇ  Ｍｅｍｏｒｙ）３４０と、バッファコントローラ（Ｂｕｆｆｅｒ  Ｃｏｎｔｒｏｌｌｅｒ）３５０と、バッファメモリ（Ｂｕｆｆｅｒ  Ｍｅｍｏｒｙ）３６０とを有する。
【００２９】
Ｄ−Ｐｌａｎｅ  ＣＰＵ３１０は、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０からの指示を受けて、ＮＩＦ４００やＤ−Ｐｌａｎｅモジュール３００内の各種コンポーネントに動作条件などを設定する。また、Ｄ−Ｐｌａｎｅモジュール３００、ＮＩＦ４００の状態（ログ情報）を取得し、障害の有無（障害情報）を監視する。Ｄ−Ｐｌａｎｅ  ＣＰＵ３１０は、Ｂｒｉｄｇｅ２５０を介して、ログ情報と障害情報をＣ−Ｐｌａｎｅ  ＣＰＵ２２０に通知する。通知を受けたＣ−Ｐｌａｎｅ  ＣＰＵ２２０が、各記憶部へ格納する。なお、Ｄ−Ｐｌａｎｅ  ＣＰＵ３１０は、Ｂｒｉｄｇｅ２５０を介して直接ＤＲＡＭ２６０や不揮発メモリ２７０にログ情報と障害情報を格納してもよい。この場合、Ｄ−Ｐｌａｎｅ  ＣＰＵ３１０は、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０に対して、ログ情報と障害情報の格納を通知してもよいし、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０が繰り返し（例えば、定期的に）ＤＲＡＭ２６０や不揮発メモリ２７０を読み出して、ログ情報と障害情報が格納されたこと、及びログ情報と障害情報を取得してもよい。
【００３０】
不揮発性記憶装置Ｂ３２０は、Ｄ−Ｐｌａｎｅモジュール３００内の各種コンポーネントに関するデフォルト設定パラメータを格納する。ルーティングコントローラ３３０は、バッファコントローラ３５０からの依頼に応じて受信パケットの送信先を検索する。ルーティングメモリ３４０は、受信パケットの宛先に対応する送信先情報（経路表）を保持する。バッファコントローラ３５０は、バッファメモリ３６０のパケットの入出力を制御し、受信パケットのヘッダ情報を抽出してルーティングコントローラ３３０へ送信先検索を依頼する。バッファメモリ３６０は、通信装置１０が受信したパケットの送信先が決定されるまで一時的に該パケットを格納する。
【００３１】
ここまで、通信装置１０を構成するコンポーネント（デバイスとも称する）について説明したが、以後、これらコンポーネントの故障（ハードウェア障害）について説明する。ハードウェア（Ｈ／Ｗと表現することもある）障害は、大きく三つに分類可能である。
【００３２】
一つ目は、”注意レベル障害”であり、ＮＩＦ４００、Ｃ−Ｐｌａｎｅモジュール２００及びＤ−Ｐｌａｎｅモジュール３００の再起動を必要とせず、当該障害箇所が修復される又は放置してよい程度のものである。本実施例の通信装置１０においては、ルーティングメモリ３４０、バッファメモリ３６０及びＤＲＡＭ２６０のパリティエラーが該当する。注意レベル障害を”ハードウェアエラーレベル１”と称する。以下、注意レベル障害を”レベル１”と称することもある。
【００３３】
二つ目は、”警告レベル障害”であり、ＮＩＦ４００や、Ｃ−Ｐｌａｎｅモジュール２００或いはＤ−Ｐｌａｎｅモジュール３００の再起動が必要であるが、交換を必要としないレベルである。本実施例の通信装置１０においては、ルーティングメモリ３４０及びＤＲＡＭ２６０のＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｉｎｇ）エラーが該当する。警告レベル障害を”ハードウェアエラーレベル２”と称する。以下、警告レベル障害を”レベル２”と称することもある。
【００３４】
三つ目は、”重度レベル障害”であり、ＮＩＦ４００や、Ｃ−Ｐｌａｎｅモジュール２００或いはＤ−Ｐｌａｎｅモジュール３００そのものの交換、又は、ＮＩＦ４００やＣ−Ｐｌａｎｅモジュール２００やＤ−Ｐｌａｎｅモジュール３００或いは通信装置１０構成コンポーネント（含、電源モジュール８０）の交換を要するレベルである。本実施例の通信装置１０においては、電源モジュール８０の故障（含、供給電力低下）、各種メモリ故障が該当する。重度レベル障害を”ハードウェアエラーレベル３”と呼ぶ。以下、重度レベル障害を”レベル３”と称することもある。
【００３５】
ハードウェア障害発生の際、ＤＲＡＭ２６０内のログ記録領域２６０２にログを記録する（図６参照）。”注意レベル障害”と”警告レベル障害”は、ユーザインタフェースを用いて図３に示すユーザインタフェースを用い、ハードウェアエラーレベルを変更可能としてもよい。
【００３６】
図３は、障害のハードウェアエラーレベルを変更するためのユーザインタフェースを示す図である。
【００３７】
図３に示すようにユーザインタフェースは、レベル１のハードウェア障害を不揮発メモリ２７０に記録するかを選択するためのラジオボタンを含む。また、ユーザインタフェースは、ハードウェアエラーの種類毎に、各ハードウェアエラーをレベル１とするかレベル２とするかを選択するためのラジオボタンを含む。例えば、図示した例では、バッファメモリ３６０のパリティエラー、ルーティングメモリ３４０のパリティエラー、ルーティングメモリ３４０のＥＣＣエラー、ＤＲＡＭ２６０のパリティエラー、ＤＲＡＭ２６０のＥＣＣエラーについて、エラーレベルを設定可能である。また、ユーザインタフェースは、定例作業（例えば、ＤＲＡＭリフレッシュ）のログを不揮発メモリ２７０に記録するかを選択するためのラジオボタンを含む。
【００３８】
図３のユーザインタフェースによって設定された内容は、各種コンフィグレーション格納領域２６０３に記録される。
【００３９】
次に、通信装置１０の電源投入後におけるＣ−Ｐｌａｎｅモジュール２００の動作の概要を説明する。
【００４０】
図４は、Ｃ−Ｐｌａｎｅモジュール２００の起動動作のシーケンス図である。
【００４１】
通信装置１０に電源が投入されると、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０で起動されるＢＩＯＳ２３０１が、ブートＲＯＭ２３０から各モジュールの各コンポーネントを動作させる為に必要な初期化パラメータ（初期設定用の設定情報）をロードし、各コンポーネントに設定して各コンポーネントを初期化する。そして、ＢＩＯＳ２３０１が装置診断プログラムを起動し、装置構成デバイスにおける故障の有無を診断する（ステップＳ２０１−１Ａ〜Ｓ２０１−ＮＡ、ステップＳ２０１−１Ｂ〜Ｓ２０１−ＮＢ）。例えば、ＢＩＯＳ２３０１は、不揮発性記憶装置Ａ２４０にヘルスチェックメッセージを送信する（ステップＳ２０１−１Ａ）。不揮発性記憶装置Ａ２４０は、ＢＩＯＳ２３０１からのヘルスチェックメッセージを受信すると、動作に異常がない場合には応答メッセージを送信する（ステップＳ２０１−１Ｂ）。同様に、ＢＩＯＳ２３０１は、ＤＲＡＭ２６０、不揮発メモリ２７０、Ｄ−Ｐｌａｎｅ  ＣＰＵ３１０、ＮＩＦ４００にもヘルスチェックメッセージを送信し、各装置構成デバイスから応答メッセージを受信する。また、ＢＩＯＳ２３０１は、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０のヘルスチェックも行う（ステップ２０１−ＮＡ、ステップ２０１−ＮＢ）。
【００４２】
診断の結果、全ての装置構成デバイスからヘルスチェック応答メッセージが返信された場合、装置構成デバイスの故障が検出されないので、ＢＩＯＳ２３０１が不揮発性記憶装置Ａ２４０に格納されるＯＳを読み出し（ステップＳ２０２）、主にパケットを転送するＤ−Ｐｌａｎｅモジュール３００の起動を指示する（ステップＳ２０４）。Ｄ−Ｐｌａｎｅ  ＣＰＵ３１０は、ＢＩＯＳ２３０１から起動指示を受信すると、Ｄ−Ｐｌａｎｅモジュール３００を起動する。
【００４３】
ＯＳの起動が完了すると、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、ＤＲＡＭ２６０にデフォルト設定パラメータ（装置構成コンポーネント毎の固有情報等）（デフォルトコンフィグレーション値、デフォルトコンフィグレーション情報、または、デフォルトコンフィグ、または、デフォルトｃｏｎｆｉｇと表現することがある）を設定する（ステップＳ２０５）。同様に、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、Ｃ−Ｐｌａｎｅモジュール２００を構成する他のコンポーネント（例えば、不揮発メモリ２７０）にデフォルトコンフィグレーション値を設定する。
【００４４】
さらに、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、ルーティングプロトコルを起動後、他の通信装置宛の制御パケットを生成してＮＩＦ４００から送信する（ステップＳ２０６Ａ）。Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、ＮＩＦ４００から他の通信装置から送信されたパケットを受信すると（ステップＳ２０６Ｂ）、ルーティングプロトコルによる経路計算を行った後、ルーティングメモリ３４０へのパラメータ設定指示及び設定するパラメータをＤ−Ｐｌａｎｅ  ＣＰＵ３１０に通知する（ステップＳ２０７）。
【００４５】
以上に説明したように、Ｃ−Ｐｌａｎｅモジュール２００の起動シーケンスにおいて、ＯＳの起動が完了するまでの処理はＢＩＯＳ２３０１（Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０）が行い、ＯＳの起動が完了した後の処理はステップＳ２０２で読み出されたＯＳ（Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０）が行う。
【００４６】
次に、通信装置１０の電源投入後におけるＤ−Ｐｌａｎｅモジュール３００の動作の概要を説明する。
【００４７】
Ｄ−Ｐｌａｎｅ  ＣＰＵ３１０は、ＢＩＯＳ２３０１から起動指示を受信すると（図４のステップＳ２０４）、Ｄ−Ｐｌａｎｅモジュール３００を構成するコンポーネント（例えば、ルーティングコントローラ３３０、ルーティングメモリ３４０など）やＮＩＦ４００の起動シーケンスを実行し、初期化処理を行う。
【００４８】
その後、Ｄ−Ｐｌａｎｅ  ＣＰＵ３１０は、不揮発性記憶装置Ｂ３２０から各コンポーネントに設定すべき設定値を読み出す。Ｄ−Ｐｌａｎｅ  ＣＰＵ３１０は、不揮発性記憶装置Ｂ３２０から読み出した設定値をデフォルトコンフィグレーション値として、Ｄ−Ｐｌａｎｅモジュール３００の各コンポーネント３３０、３４０等やＮＩＦ４００に設定する。この設定は、各コンポーネント３３０、３４０等やＮＩＦ４００を制御する為に実施される。Ｄ−Ｐｌａｎｅモジュール３００を構成するコンポーネントとＮＩＦ４００のデフォルトコンフィグレーション値の設定後、Ｄ−Ｐｌａｎｅモジュール３００を構成するコンポーネントは各種パラメータや任意のコンフィグレーション値の設定が可能となり、ＮＩＦ４００は、ステップＳ２０６Ａにおける他の通信装置宛の制御パケットの送信が可能となる。
【００４９】
また、Ｄ−Ｐｌａｎｅ  ＣＰＵ３１０は、ステップＳ２０７におけるルーティングメモリ３４０へのパラメータ設定の指示及び設定するパラメータを受信すると（図４のステップＳ２０７）、受信したパラメータをルーティングメモリ３４０に書き込み、ルーティングテーブルを構築する。
【００５０】
次に、各モジュールの起動シーケンス（図４参照）が終了した後の通信装置１０によるパケット中継について説明する。
【００５１】
通信装置１０における一般的なパケット送受信では、回線Ｉ／Ｆ４１０−１〜４１０−Ｎが受信したパケットは、回線Ｉ／Ｆ４１０−１〜４１０−Ｎにてメディア変換（例えば、光電変換）が行われ、回線Ｉ／Ｆ４１０−１〜４１０−Ｎからバッファコントローラ３５０に出力される。
【００５２】
バッファコントローラ３５０は、受信パケットからパケットヘッダを抽出してルーティングコントローラ３３０に出力し、受信パケットをバッファメモリ３６０に格納する。
【００５３】
ルーティングコントローラ３３０は、入力されたヘッダ情報に基づいて、ルーティングメモリ３４０内に構成されるデータベースを検索する為の検索キーを生成し、該検索キーと対応するエントリーがルーティングメモリ３４０内のデータベースに格納されているかを検索する。検索の結果、対応するエントリーが格納されている場合、該エントリーに含まれる送信先回線情報を取得する。その後、ルーティングコントローラ３３０は、データベースの検索が終了したことを示す識別子と、取得した送信先回線情報とを、バッファコントローラ３５０に出力する。
【００５４】
バッファコントローラ３５０は、ルーティングコントローラ３３０から入力された送信先回線情報に基づいて、バッファメモリ３６０に格納されているパケットを、該送信先回線情報に対応する回線Ｉ／Ｆ４１０−１〜４１０−Ｎのいずれかに出力する。
【００５５】
回線Ｉ／Ｆ４１０−１〜４１０−Ｎは、バッファコントローラ３５０からパケットを入力されると、メディア変換（例えば、電光変換）を行った後、収容回線から該パケットを送信する。
【００５６】
通信装置１０では、前述したデフォルトコンフィグレーション値の他に、装置の管理者がユーザインタフェースを用いて、任意のタイミングで、任意のコンフィグレーション情報（コンフィグレーション値、または、コンフィグレーション、またはコンフィグ、または、ｃｏｎｆｉｇ、または、コンフィグ情報、または、ｃｏｎｆｉｇ情報と表現することがある）を追加可能である。本実施例では、各モジュールの起動シーケンスが終了するまでに適用される前述のデフォルトコンフィグレーション値と、随時追加可能なコンフィグレーション情報と、通信装置１０内のログとを揮発性デバイス（例えば、ＤＲＡＭ２６０）に保持する。さらに、揮発性デバイスに保持した情報の一部を所定のタイミングで不揮発性デバイス（例えば、不揮発メモリ２７０）に記録する。
【００５７】
次に、各モジュールの起動シーケンス（図４参照）が終了した後に、通信装置１０において随時追加可能なコンフィグレーション情報やログを収集する例を説明する。
【００５８】
図５は、コンフィグレーション情報の追加及びログを収集する動作のシーケンス図である。
【００５９】
各モジュールの起動シーケンス終了のタイミングを時刻Ｔ０とする。図５では、説明の簡単化の為、前述のデフォルトコンフィグレーション情報については省略する。
【００６０】
時刻Ｔ０以降にて、装置管理者が管理端末９０を用い、任意のコンフィグレーション情報をコマンドラインユーザインタフェース（ＣＬＩ）から入力すると、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、入力されたコンフィグレーション情報をＤＲＡＭ２６０内のログ記録領域２６０２に記録する為の形式へ変換する（変換ルールはＯＳに組み込まれている）。Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、変換された情報を時刻情報等と共にＤＲＡＭ２６０内のログ記録領域２６０２へログデータ（ログ情報）として記録する（ステップＳ６０１−１）。例えば、管理端末９０から入力されるコンフィグレーション情報は、通信装置１０へのユーザの追加でもよい。
【００６１】
Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、所定のタイミング（例えば、装置管理者が所望の値に変更可能な所定の周期毎）に、ログ記録領域２６０２に保持されるデータの一部を不揮発メモリ２７０に記録する。ＤＲＡＭ２６０のログ記録領域２６０２及び不揮発メモリ２７０に格納するデータの記録及び保持に関しては後述する。なお、所定のタイミングは、例えば、１μｓ（マイクロ秒）や１ｍｓ（ミリ秒）など、装置管理者がｃｏｎｆｉｇで設定することができる。
【００６２】
図５では、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０が、時刻Ｔ０から所定の周期が過ぎたタイミング（時刻Ｔ１）で、時刻Ｔ０’（Ｔ０≦Ｔ０’＜Ｔ１）にてログ記録領域２６０２へ記録されたログデータを読み出し（ステップＳ６１１−１）、不揮発メモリ２７０にコピーすべき情報が存在する場合、不揮発メモリ２７０にコピーする（ステップＳ６１２−１）。つまり、時刻Ｔ０から時刻Ｔ１の間（Ｔ０≦Ｔ＜Ｔ１）にログ記録領域２６０２へ記録されたログデータを不揮発メモリ２７０にコピーする。以下、不揮発メモリ２７０に対するコピー対象の所定周期を時刻区間と呼ぶ。時刻区間は、ログ記録領域２６０２のログデータの内、不揮発メモリ２７０へのコピー対象のログデータを所定周期で記録する区間を表す。
【００６３】
時刻Ｔ１〜Ｔ２の区間では、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０が、時刻Ｔ１’（Ｔ１≦Ｔ１’＜Ｔ２）にて、定例作業であるＤＲＡＭリフレッシュ（ＤＲＡＭ内のメモリセルに対する電荷のチャージ）の実施をログとしてログ記録領域２６０２へ記録する（ステップＳ６２１）。
【００６４】
時刻Ｔ１から所定の周期が過ぎたタイミング（時刻Ｔ２）で、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０が、時刻Ｔ１’にてログ記録領域２６０２へ記録されたログデータを読み出し（ステップＳ６１１−２）、不揮発メモリ２７０にコピーすべき情報が存在する場合、不揮発メモリ２７０にコピーする（ステップＳ６１２−２）。つまり、時刻Ｔ１から時刻Ｔ２の間（Ｔ１≦Ｔ＜Ｔ２）にログ記録領域２６０２へ記録されたログ情報の内、時刻Ｔ２に不揮発メモリ２７０へコピーすべきログデータを不揮発メモリ２７０にコピーする。本実施例では、時刻Ｔ１’で発生したイベントが定例作業である為、（図３の設定に基づき）当該ログデータを不揮発メモリ２７０にコピーしない。
【００６５】
時刻Ｔ２〜Ｔ３の区間では、通信装置１０が転送すべきパケットを受信し（ステップＳ６３０）、ルーティングコントローラ３３０がルーティングメモリ３４０にアクセスして経路検索をしたところ（ステップＳ６３１、Ｓ６３２）、時刻Ｔ２’（Ｔ２≦Ｔ２’＜Ｔ３）にて、ルーティングメモリ３４０のパリティエラーが検出された。ルーティングコントローラ３３０は、ルーティングメモリ３４０のパリティエラーをＤ−Ｐｌａｎｅ  ＣＰＵ３１０を介してＣ−Ｐｌａｎｅ  ＣＰＵ２２０に伝達し（ステップＳ６３３）、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、Ｄ−Ｐｌａｎｅ  ＣＰＵ３１０からのパリティエラーの通知を受け取ると、ＤＲＡＭ２６０のログ記録領域２６０２及び不揮発メモリ２７０にログを記録する（ステップＳ６３４、Ｓ６３５）。
【００６６】
なお、時刻Ｔ２から所定の周期が過ぎたタイミング（時刻Ｔ３）でも、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、時刻Ｔ２’にてログ記録領域２６０２へ記録されたログデータを読み出し（ステップＳ６１１−３）、不揮発メモリ２７０にコピーすべき情報が存在する場合、不揮発メモリ２７０にコピーする（ステップＳ６１２−３）。つまり、時刻Ｔ２から時刻Ｔ３の間（Ｔ２≦Ｔ＜Ｔ３）にログ記録領域２６０２へ記録されたログ情報の内、時刻Ｔ３に不揮発メモリ２７０へコピーすべきログデータを不揮発メモリ２７０にコピーする。このとき、ログ記録領域２６０２へ記録されたログデータのうち、既に、不揮発メモリ２７０に格納されているログデータは、不揮発メモリ２７０にコピーしなくてよい。
【００６７】
時刻Ｔ３〜Ｔ４の区間では、時刻Ｔ３’（Ｔ３≦Ｔ３’＜Ｔ４）にて、（ステップＳ６０１−１同様）通信装置１０に対するコンフィグレーション情報がＣＬＩから入力されると、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、入力されたコンフィグレーション情報を変換し、時刻情報等と共にＤＲＡＭ２６０内のログ記録領域２６０２へ記録する（ステップＳ６０１−２）。ステップＳ６０１−２で入力されるコンフィグレーション情報は、通信装置１０に対する電力抑制である。このため、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、電源モジュール８０に供給電力低下を指示する。
【００６８】
その後、管理用インタフェース２１０は、時刻Ｔ３”にて、電源モジュール８０の供給電力低下を検出し、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０に伝達する（ステップＳ６９１）。Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、Ｈ／Ｗ障害発生としてＤＲＡＭ２６０のログ記録領域２６０２及び不揮発メモリ２７０にログを記録する（ステップＳ６９２、Ｓ６９３）。
【００６９】
時刻Ｔ３から所定の周期が過ぎたタイミング（時刻Ｔ４）でも、時刻Ｔ３’、時刻Ｔ３”にてログ記録領域２６０２へ記録されたログデータを読み出し（ステップＳ６１１−４）、不揮発メモリ２７０にコピーすべき情報が存在する場合、不揮発メモリ２７０にコピーする（ステップＳ６１２−４）。つまり、時刻Ｔ３から時刻Ｔ４の間（Ｔ３≦Ｔ＜Ｔ４）にログ記録領域２６０２へ記録されたログ情報の内、時刻Ｔ４に不揮発メモリ２７０へコピーすべきログデータを不揮発メモリ２７０にコピーする。
【００７０】
このとき、ログ記録領域２６０２へ記録されたログデータのうち、既に、不揮発メモリ２７０に格納されているログデータは、不揮発メモリ２７０にコピーしなくてよい。
【００７１】
次に、ＤＲＡＭ２６０内のログ記録領域２６０２に記録されるデータ形式について説明する。
【００７２】
図６は、ＤＲＡＭ２６０内のログ記録領域２６０２に記録されるデータの例を示す図である。なお、図６では、ログ記録領域２６０２に記録されるデータをテーブル形式で説明するが、これらのデータは必ずしもテーブルによる構造で表現されず、それ以外のデータ構造（リスト、キュー等）で表現されてもよい。
【００７３】
ログ記録領域２６０２は、アドレス２６０２１、時刻２６０２２、検出部位（Ｓｏｕｒｃｅ／Ｄｅｔｅｃｔｏｒ）２６０２３、種別（Ｔｙｐｅ）２６０２４、要因（Ｆａｃｔｏｒ）２６０２５及びハードウェアエラーレベル２６０２６を含む。
【００７４】
アドレス２６０２１は、ＤＲＡＭ２６０におけるアドレスであり、ログ記録領域２６０２の開始アドレスが図６のｏｆｆｓｅｔである。時刻２６０２２は、ログが採取された時刻である。検出部位２６０２３は、ログが発生した又は検出された場所である。種別２６０２４は、ログの種別であり、例えば、入力されたコンフィグレーション、定例作業、ハードウェアエラーなどがある。要因２６０２５は、ログとして記録される操作及び動作の内容である。ハードウェアエラーレベル２６０２６は、ハードウェア障害を分類して付与した識別子である。
【００７５】
図７は、不揮発メモリ２７０に記録されるデータの例を示す図である。なお、図７では、不揮発メモリ２７０に記録されるデータをテーブル形式で説明するが、これらのデータは必ずしもテーブルによる構造で表現されず、それ以外のデータ構造（リスト、キュー等）で表現されてもよい。
【００７６】
不揮発メモリ２７０は、アドレス２７０１、時刻２７０２、検出部位（Ｓｏｕｒｃｅ／Ｄｅｔｅｃｔｏｒ）２７０３、種別（Ｔｙｐｅ）２７０４、要因（Ｆａｃｔｏｒ）２７０５及びハードウェアエラーレベル２７０６を含む。
【００７７】
アドレス２７０１は、不揮発メモリ２７０におけるアドレスである。時刻２７０２、検出部位２７０３、種別２７０４、要因２７０５及びハードウェアエラーレベル２７０６は、それぞれ、ログ記録領域２６０２の時刻２６０２２、検出部位２６０２３、種別２６０２４、要因２６０２５及びハードウェアエラーレベル２６０２６と同じ情報を記録する。
【００７８】
次に、ログがログ記録領域２６０２に記録されるタイミングについて説明する。図６中で右側に付した符号は、図５のステップに対応している。
【００７９】
アドレスがｏｆｆｓｅｔ＋０のログには、図５のステップＳ６０１−１において、時刻Ｔ０’に管理端末９０のＣＬＩから通信装置１０にユーザを追加する為のコマンドが入力されたことが記録されている。このログは、コマンド入力に起因するため、ハードウェアエラーレベル２６０２６は０である。図６のログ記録領域２６０２にはビット列のみが格納可能である為、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０がＤＲＡＭ２６０へログを書き込む前に、各項目（種別２６０２４、要因２６０２５等）における値へ変換している。
【００８０】
アドレスがｏｆｆｓｅｔ＋１のログには、図５のステップＳ６２１において、時刻Ｔ１’にＤＲＡＭ２６０へ対して定例的な作業であるＤＲＡＭリフレッシュを行ったことが記録されている。このログは、定例作業に起因するため、ハードウェアエラーレベル２６０２６は０である。
【００８１】
アドレスがｏｆｆｓｅｔ＋２のログには、図５のステップＳ６３４において、時刻Ｔ２’にルーティングメモリ３４０のパリティエラーの検出が記録されている。このログは、ハードウェアエラーに起因するが、ユーザインタフェース（図３参照）による設定に従って、ハードウェアエラーレベル２６０２６は１である。
【００８２】
アドレスがｏｆｆｓｅｔ＋３のログには、図５のステップＳ６０１−２において、時刻Ｔ３’に管理端末９０のＣＬＩから通信装置１０の電力消費量を抑制する為のコマンドが入力されたことが記録されている。このログは、コマンド入力に起因するため、ハードウェアエラーレベル２６０２６は０である。
【００８３】
アドレスがｏｆｆｓｅｔ＋４のログには、図５のステップＳ６９２において、時刻Ｔ３”に管理用インタフェース２１０によって電源モジュール８０の供給電力低下が検出されたことが記録されている。このログは、装置全体の動作に関わる重度レベル障害である為、ハードウェアエラーレベル２６０２６は３である。
【００８４】
次に、ログが不揮発メモリ２７０に記録されるタイミングについて説明する。図７中で右側に付した符号は、図５のステップに対応している。
【００８５】
アドレスが０のログは、ログ記録領域２６０２のアドレスがｏｆｆｓｅｔ＋０のログに対応し、図５のステップＳ６０１−１において、時刻Ｔ０’に管理端末９０のＣＬＩから通信装置１０にユーザを追加する為のコマンドが入力されたことが記録されたものである。このログは、図５のステップＳ６１１−１でＤＲＡＭ２６０から読み出され、ステップＳ６１２−１で不揮発メモリ２７０に書き込まれる。
【００８６】
アドレスが１のログは、ログ記録領域２６０２のアドレスがｏｆｆｓｅｔ＋２のログに対応し、図５のステップＳ６３４において、時刻Ｔ２’にルーティングメモリ３４０のパリティエラーの検出が記録されたものである。このログは、ハードウェアエラーレベル２６０２６が１だが、図３のユーザインタフェースにてＨ／Ｗ障害レベル１でも不揮発メモリに記録する設定を適用しているので、ステップＳ６３５で不揮発メモリ２７０にも書き込まれる（詳細は後述）。
【００８７】
アドレスが２のログは、ログ記録領域２６０２のアドレスがｏｆｆｓｅｔ＋３のログに対応し、図５のステップＳ６０１−２において、時刻Ｔ３’に管理端末９０のＣＬＩから通信装置１０の電力消費量を抑制する為のコマンドが入力されたことが記録されたものである。このログは、図５のステップＳ６１１−４でＤＲＡＭ２６０から読み出され、ステップＳ６１２−４で不揮発メモリ２７０に書き込まれる。
【００８８】
アドレスが３のログは、ログ記録領域２６０２のアドレスがｏｆｆｓｅｔ＋４のログに対応し、図５のステップＳ６９２において、時刻Ｔ３”に管理用インタフェース２１０によって電源モジュール８０の供給電力低下が検出されたことが記録されたものである。このログは、ハードウェアエラーレベル２６０２６が３なので、ステップＳ６９３で不揮発メモリ２７０にも書き込まれる。
【００８９】
図８は、ＤＲＡＭ２６０内のログ記録領域２６０２へアクセスする処理のフローチャートである。
【００９０】
通信装置１０における各モジュールの起動シーケンスが終了（時刻Ｔ０、ステップＳ７０１）した後、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、ＣＬＩから各種コンフィグレーションが入力されたかを判定する（ステップＳ７０２）。コンフィグレーションが入力されていない場合（ステップＳ７０２でＮＯ）、ステップＳ７０４に進む。一方、コンフィグレーションが入力された場合（ステップＳ７０２でＹＥＳ）、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、入力されたコンフィグレーションをログ記録領域２６０２へ記録する為の形式（図６参照）に変換して、ログ記録領域２６０２に記録する（ステップＳ７０３）。図５のステップＳ６０１−１の例では、時刻２６０２２がＴ０’、検出部位２６０２３が入力Ｉ／ＦであるＣＬＩ、種別２６０２４がｃｏｎｆｉｇ、要因２６０２５がコンフィグレーションの内容（例えば、ユーザ追加）、ハードウェアエラーレベル２６０２６が０であることを示す識別子を用いて記録する。この識別子への変換ルールはＯＳに組み込まれている。
【００９１】
その後、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、通信装置１０内で定期的に実行される定例作業が実行されているかを判定する（ステップＳ７０４）。定例作業が実行されていない場合（ステップＳ７０４でＮＯ）、ステップＳ７０６に進む。一方、定例作業が実行されている場合（ステップＳ７０４でＹＥＳ）、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、ステップＳ７０３と同様に、作業内容をログ記録領域２６０２へ記録する為の形式（図６参照）に変換して、ログ記録領域２６０２に記録する（ステップＳ７０５）。図５のステップＳ６２１の例では、時刻２６０２２がＴ１’、検出部位２６０２３がトリガ元であるＣ−Ｐｌａｎｅ  ＣＰＵ、種別２６０２４が定例作業、要因２６０２５がＤＲＡＭリフレッシュ、ハードウェアエラーレベル２６０２６が０であることを示す識別子を用いて記録する。
【００９２】
その後、通信装置１０内でハードウェア障害が発生したかを判定する（ステップＳ７０６）。ハードウェアエラーが発生していない場合（ステップＳ７０６でＮＯ）ステップＳ７１０に進む。一方、図５のステップＳ６３３及びステップＳ６９１の様なハードウェアエラーが発生している場合（ステップＳ７０６でＹＥＳ）、ユーザインタフェース（図３参照）による設定に従って、ハードウェア障害のレベルを判定する（ステップＳ７０７）。当該ハードウェア障害のレベルが２以上である場合（ステップＳ７０７でＹＥＳ）、ハードウェア障害の内容を、ログ記録領域２６０２へ記録させる為の形式（図６参照）に変換して、ログ記録領域２６０２に記録する。さらに、不揮発メモリ２７０へ記録させる為の形式（図７参照）に変換して、不揮発メモリ２７０に記録する（ステップＳ７０９）。
【００９３】
図５のステップＳ６３４の例では、時刻２６０２２がＴ２’、検出部位２６０２３が検出元であるルーティングコントローラ、種別２６０２４がＨ／Ｗエラー、要因２６０２５がルーティングメモリパリティエラー、ハードウェアエラーレベル２６０２６が１であることを示す識別子を用いて記録する。
【００９４】
当該ハードウェア障害のレベルが２未満である場合、ハードウェアエラーレベル１のハードウェア障害を不揮発メモリ２７０に記録するかを判定する（ステップＳ７０８）。ハードウェアエラーレベル１のハードウェア障害を不揮発メモリ２７０に記録することがユーザインタフェース（図３参照）によって設定されている場合（ステップＳ７０８でＹＥＳ）、ステップＳ７０９に進む。一方、ハードウェア障害を不揮発メモリ２７０に記録しないことが設定されている場合（ステップＳ７０８でＮＯ）、ステップＳ７１０に進む。
【００９５】
図５のステップＳ６３５の例では、時刻２６０２２がＴ２’、検出部位２６０２３が検出元であるルーティングコントローラ、種別２６０２４がＨ／Ｗエラー、要因２６０２５がルーティングメモリパリティエラー、ハードウェアエラーレベル２６０２６が１であることを示す識別子を用いて記録する。
【００９６】
その後、時刻がＴ１となったかを判定する（ステップＳ７１０）。時刻がＴ１となっていない場合（ステップＳ７１０でＮＯ）、ステップＳ７０２に戻る。一方、時刻がＴ１となった場合（ステップＳ７１０でＹＥＳ）、ログ記録領域２６０２に記録済の検出部位２６０２３がＣＬＩから入力されたコンフィグレーション（コマンド）のログを不揮発メモリ２７０にコピーする（ステップＳ７１１）。ここで、Ｔ１’（Ｔ１≦Ｔ１’＜Ｔ２）でハードウェア障害ログが記録され、且つ時刻区間（Ｔ０≦Ｔ＜Ｔ１）にＣＬＩから入力されたコンフィグレーション（コマンド）のログが採取されている場合、不揮発メモリ２７０の記録順序を時系列通りとなるように書き換えとよい。
【００９７】
その後、定例作業のログを不揮発メモリ２７０に記録するかを判定する（ステップＳ７１２）。定例作業のログを不揮発メモリ２７０に記録しないことがユーザインタフェース（図３参照）によって設定されている場合（ステップＳ７１２でＮＯ）、ステップＳ７０２に戻る。一方、定例作業のログを不揮発メモリ２７０に記録することが設定されている場合（ステップＳ７１２でＹＥＳ）、種別２６０２４が定例作業のログをログ記録領域２６０２から読み出し、不揮発メモリ２７０にコピーする（ステップＳ７１３）。
【００９８】
ここで、Ｔ１’（Ｔ１≦Ｔ１’＜Ｔ２）でハードウェア障害ログ又はＣＬＩからのコマンドログが記録され、且つ時刻区間（Ｔ０≦Ｔ＜Ｔ１）に定例作業ログが記録されている場合、不揮発メモリ２７０の記録順序を時系列通りとなるように書き換えるとよい。
【００９９】
以上の処理によって、図７に示す様なログデータが不揮発メモリ２７０に格納される。
【０１００】
次に、図９、図１０、図１１などを参照して、Ｃ−Ｐｌａｎｅモジュール２００内のコンポーネントにハードウェア障害が生じたため、Ｃ−Ｐｌａｎｅモジュール２００を再起動するフローチャートを説明する。ここでは、Ｃ−Ｐｌａｎｅモジュール２００自体の再起動と交換を例に説明するが、Ｃ−Ｐｌａｎｅモジュール２００自体の再起動とＣ−Ｐｌａｎｅモジュール２００上のコンポーネントの交換であってもよい。Ｃ−Ｐｌａｎｅモジュール２００上のコンポーネントの交換の場合であっても、交換の際には、Ｃ−Ｐｌａｎｅモジュール２００自体の再起動を行う。
【０１０１】
まず、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、ハードウェア障害を検出すると、ＤＲＡＭ２６０内のログ記録領域２６０２にログ（障害検出時刻、検出部位、障害レベル）を記録し（ステップＳ１００）、その後、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、前述したログ記録ルールに従って、不揮発メモリ２７０にもログを記録する（ステップＳ１０１）。なお、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、Ｓ１０１の後、Ｓ１０２以降の処理を実行するが、Ｓ１０２以降の処理と並行して、図８の処理を実行する。
【０１０２】
次に、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、ハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）を直ちに再起動する必要があるか否かを判定する（ステップＳ１０２）。例えば、ハードウェアエラーレベルが１のハードウェア障害は再起動が不要と判定し、ハードウェアエラーレベルが２又は３のハードウェア障害は直ちに再起動が必要であると判定してもよい。この再起動判定基準は、ＯＳに実装される。Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０が再起動判定基準とハードウェアレベルとを比較して判定する。尚、ハードウェア障害の設定に関しては、図３のインタフェースを用いる。
【０１０３】
再起動が不要な場合は（ステップＳ１０２でＮＯ）、通信装置１０の運用を続行する（ステップＳ１０２１）。一方、直ちに再起動をする必要がある場合（ステップＳ１０２でＹＥＳ）、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、ハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）の交換が必要か否かを判定する（ステップＳ１０３）。例えば、ハードウェアエラーレベルが２のハードウェア障害は交換が不要と判定し、ハードウェアエラーレベルが３のハードウェア障害は交換が必要であると判定してもよい。この交換判定基準も、ＯＳに実装される。Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０が交換判定基準とハードウェアレベルとを比較して判定する。
【０１０４】
ハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）の交換が必要な場合（ステップＳ１０３でＹＥＳ）、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、装置管理者に対し、故障したコンポーネントを含むハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）の交換を促す為のハードウェア交換メッセージを管理端末９０のコンソールに出力する（ステップＳ１０４）。このとき、交換が必要なコンポーネントを含むハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）をメッセージに記載し、ブートＲＯＭ２３０に交換が必要なコンポーネントを含むハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）のシリアルナンバーを記録する。なお、シリアルナンバーの記録は、ブートＲＯＭ２３０に限られず、不揮発性の記録部であればよい。
【０１０５】
ステップＳ１０４において、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、例えば、ハードウェア交換メッセージとして、「Ｃ−Ｐｌａｎｅモジュールの交換が必要です。交換しますか？Ｙ／Ｎ」などを管理端末９０のコンソールに出力する。Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、ハードウェア交換メッセージを出力した後、ハードウェア交換メッセージに対する管理端末９０からの入力を受け付ける状態となる（ステップＳ１０４０）。
【０１０６】
ハードウェア交換メッセージに対する管理端末９０からの入力が、「Ｙ」である場合（ステップＳ１０４０でＹＥＳ）、つまり、ハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）の交換を管理者が希望する場合、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、ハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）の稼働を停止し、ハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）の状態を管理者がハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）を交換可能な状態へ移行させる。ハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）の交換後、新しいハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）のＢＩＯＳ２３０１は、管理端末９０からハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）を再起動する再起動指示を受け付ける状態となる（ステップＳ１０４１）。
【０１０７】
その後、ＢＩＯＳ２３０１は、管理端末９０からハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）の再起動指示を受け付けると（ステップＳ１０４１でＹＥＳ）、ＢＩＯＳ２３０１は、当該ハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）を再起動し、ＢＩＯＳ２３０１は、ブートＲＯＭ２３０からＣ−Ｐｌａｎｅモジュール２００の各コンポーネントを動作させる為に必要な初期化パラメータ（初期設定用の設定情報）をロードし、各コンポーネントに設定する（ステップＳ１０５）。
【０１０８】
また、ハードウェア交換メッセージに対する管理端末９０からの入力が、「Ｎ」である場合（ステップＳ１０４０でＮＯ）、管理端末９０からハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）の再起動指示を受け付けない場合（ステップＳ１０４１でＮＯ）、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、ステップＳ１０３４にジャンプし（ステップＳ１０４２）、通信装置１０の運用を続行する（ステップＳ１０２１）。
【０１０９】
一方、ハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）の交換が不要な場合（ステップＳ１０３でＮＯ）、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、当該ハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）を再起動する。その後、ＢＩＯＳ２３０１が起動診断後にブートＲＯＭ２３０から初期化パラメータ（初期設定用の設定情報）をロードし、各コンポーネントに設定する（ステップＳ１０３１）。
【０１１０】
再起動後、前述したように、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０で起動されるＢＩＯＳ２３０１が起動診断を開始する。なお、ＢＩＯＳ２３０１は、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０の起動診断も行う（ステップＳ１０６、Ｓ１０３２）。そして、再起動の要因となったハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）が交換されたか否かを判定する（ステップＳ１０７、ステップＳ１０３３）。例えば、実装されているハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）のシリアルナンバーと、ステップＳ１０４にてブートＲＯＭ２３０に記録したシリアルナンバーとを比較することによって判定することができる。なお、ハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）は、通信装置１０が電源オンの状態で交換することができる。
【０１１１】
ステップＳ１０７において、故障が検出されたハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）が交換されていない場合（ステップＳ１０７でＮＯ）、ＢＩＯＳ２３０１は、起動診断回数カウンタＮの値を０とし（ステップＳ１０８）、Ｎの値が起動診断回数の上限値Ｘに達しているか否かを判定する（ステップＳ１０９）。上限値Ｘは装置管理者がユーザインタフェースを用いて設定することができる。
【０１１２】
Ｎの値が上限値Ｘに達している場合（ステップＳ１０９でＹＥＳ）、ＢＩＯＳ２３０１は、当該ハードウェア（Ｃ−Ｐｌａｎｅモジュール２００或いはＣ−Ｐｌａｎｅモジュール２００の構成要素）は正常な動作が不可能と判定し、当該ハードウェア（Ｃ−Ｐｌａｎｅモジュール２００或いはＣ−Ｐｌａｎｅモジュール２００の構成要素）を無視する。具体的には、当該ハードウェア（Ｃ−Ｐｌａｎｅモジュール２００或いはＣ−Ｐｌａｎｅモジュール２００の構成要素）へ対してｃｏｎｆｉｇ設定を実施せず、当該ハードウェア（Ｃ−Ｐｌａｎｅモジュール２００或いはＣ−Ｐｌａｎｅモジュール２００の構成要素）に継続的にエラーが生じていることを出力する（例えば、エラーランプを点灯する）（ステップＳ１０９１）。
【０１１３】
一方、Ｎの値が上限値Ｘに達していない場合（ステップＳ１０９でＮＯ）、ＢＩＯＳ２３０１は、当該ハードウェア（Ｃ−Ｐｌａｎｅモジュール２００或いはＣ−Ｐｌａｎｅモジュール２００の構成要素）に、障害が発生しているかを検出する（ステップＳ１１０）。ハードウェア（Ｃ−Ｐｌａｎｅモジュール２００或いはＣ−Ｐｌａｎｅモジュール２００の構成要素）に障害が検出されない場合（ステップＳ１１０でＮＯ）、ステップＳ１０３４にジャンプする（ステップＳ１１０１）。一方、ハードウェア（Ｃ−Ｐｌａｎｅモジュール２００或いはＣ−Ｐｌａｎｅモジュール２００の構成要素）に障害が検出された場合（ステップＳ１１０でＹＥＳ）、ＢＩＯＳ２３０１は、装置管理者へ対してハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）上における障害を検出している旨を通知するハードウェア障害検出メッセージを、管理端末９０へ出力するようにＣ−Ｐｌａｎｅ  ＣＰＵ２２０に指示する（ステップＳ１１１）。その後、ＢＩＯＳ２３０１は、Ｎの値を１だけ増加し（ステップＳ１１２）、当該ハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）を再起動し、ブートＲＯＭ２３０から初期化パラメータ（初期設定用の設定情報）をロードし、各コンポーネントに設定する（ステップＳ１１３）。
【０１１４】
一方、ステップＳ１０３３において、故障が検出されたハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）が交換されていない場合（ステップＳ１０３３でＮＯ）、又はステップＳ１１０においてハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）上にて障害が検出されない場合（ステップＳ１１０１）、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、ハードウェア障害の発生箇所が不揮発メモリ２７０であるか否かを判定する（ステップＳ１０３４）。ハードウェア障害の発生箇所が不揮発メモリ２７０ではない場合（ステップＳ１０３４でＮＯ）、障害が発生した時刻区間より前の信頼できる定義情報（ｃｏｎｆｉｇ）が不揮発メモリ２７０に格納されているので、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、不揮発メモリ２７０にアクセスし、障害が発生した時刻区間のｃｏｎｆｉｇである障害因子を、各コンポーネントにｃｏｎｆｉｇとして設定させない為に切り分けを実施する。障害因子は、ハードウェアエラー障害因子とも称し、障害が発生した時刻区間に複数のｃｏｎｆｉｇが有る場合には、これらの障害因子を纏めて障害因子群と称する。そして、障害因子または障害因子群をブロック定義として揮発メモリ２６０内のクリティカルフィルタ領域２６０１に構成する（ステップＳ１０３５）。なお、ブロック定義として他のｃｏｎｆｉｇと区別することができれば、不揮発メモリ２７０など、他の記憶部に構成してもよい。その後、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、不揮発メモリ２７０を参照し、ブロック定義の生成に用いた障害因子のログデータの時刻より前の時刻のｃｏｎｆｉｇを当該ハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）に適用する。すなわち、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、ステップＳ１０３５で構成されたブロック定義以外のｃｏｎｆｉｇを当該ハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）に適用する（ステップＳ１０３６）。
【０１１５】
次に、ステップＳ１０３１からステップＳ１０３６の処理の詳細について説明する。
【０１１６】
図１０は、ステップＳ１０３１からステップＳ１０３６の処理の詳細を示すシーケンス図である。
【０１１７】
前述したように、通信装置１０を構成するハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）が再起動されると、ＢＩＯＳ２３０１が、ブートＲＯＭ２３０からＣ−Ｐｌａｎｅモジュール２００上の各コンポーネントを動作させる為に必要な初期化パラメータ（初期設定用の設定情報）をロードし、各コンポーネントに設定する。そして、ＢＩＯＳ２３０１が装置診断プログラムを起動し、装置構成デバイス（不揮発性記憶装置Ａ２４０、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０、ＤＲＡＭ２６０、不揮発メモリ２７０、Ｄ−Ｐｌａｎｅ  ＣＰＵ３１０、ＮＩＦ４００など）における故障の有無を診断する（ステップＳ２０１−１Ａ〜Ｓ２０１−ＮＡ、ステップＳ２０１−１Ｂ〜Ｓ２０１−ＮＢ）。
【０１１８】
一方、図９のステップＳ１０３１でハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）を再起動すると（ステップＳ１０３１）、ステップＳ２０１と同様に、ＢＩＯＳ２３０１が当該ハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）における故障の有無を診断する（ステップＳ１０３２）。故障が検出されたハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）が交換されていない場合（ステップＳ１０３３でＮＯ）、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、ハードウェア障害の発生箇所が不揮発メモリ２７０であるか否かを判定する（ステップＳ１０３４）。ハードウェア障害の発生箇所が不揮発メモリ２７０ではない場合（ステップＳ１０３４でＮＯ）、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、不揮発メモリ２７０にアクセスし、障害因子をｃｏｎｆｉｇとして設定させない為のブロック定義を構成し、構成したブロック定義を揮発メモリ２６０内のクリティカルフィルタ領域２６０１に格納する（ステップＳ１０３５）。
【０１１９】
具体的には、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、通信装置１０の構成要素に関するデフォルトｃｏｎｆｉｇをＤＲＡＭ２６０内の各種コンフィグレーション格納領域２６０３に設定する（ステップＳ２１０）。その後、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、不揮発メモリ２７０を参照し、不揮発メモリ２７０から図７のログデータ（含、ハードウェアエラー障害因子）を取得し（ステップＳ２０８−１）、取得したログデータをＤＲＡＭ２６０内の自由領域２６０４に格納し、格納したログデータから障害因子を判定して、ＤＲＡＭ２６０内のクリティカルフィルタ領域２６０１に対し、判定した障害因子をブロック定義として設定する（ステップＳ２０８−２）。なお、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、不揮発メモリ２７０を参照し、不揮発メモリ２７０に格納されたログデータ（含、ハードウェアエラー障害因子）から障害因子を判定して、ＤＲＡＭ２６０内のクリティカルフィルタ領域２６０１に対し、判定した障害因子をブロック定義として設定してもよい（ステップＳ２０８−２）。
【０１２０】
図１１は、ＤＲＡＭ２６０内のクリティカルフィルタ領域２６０１に記録されるデータの例を示す図である。なお、図１１では、クリティカルフィルタ領域２６０１に記録されるデータをテーブル形式で説明するが、これらのデータは必ずしもテーブルによる構造で表現されず、それ以外のデータ構造（リスト、キュー等）で表現されてもよい。
【０１２１】
クリティカルフィルタ領域２６０１は、アドレス２６０１１、検出部位（Ｓｏｕｒｃｅ／Ｄｅｔｅｃｔｏｒ）２６０１３、種別（Ｔｙｐｅ）２６０１４及び要因（Ｆａｃｔｏｒ）２６０１５を含む。
【０１２２】
アドレス２６０１１は、ＤＲＡＭ２６０におけるアドレスであり、クリティカルフィルタ領域２６０１の開始アドレスが図１１のｏｆｆｓｅｔである。検出部位２６０１３、種別２６０１４及び要因２６０１５は、それぞれ、不揮発メモリ２７０の検出部位２７０３、種別２７０４及び要因と同じ情報を記録する。
【０１２３】
また、障害が発生した時刻区間のｃｏｎｆｉｇを障害因子として記録できればよいので、図１１は、上記に限られず、障害が発生した時刻区間のｃｏｎｆｉｇを記録した時刻をブロック定義の要素として構成してもよい。
【０１２４】
具体的には、図１１に示すクリティカルフィルタ領域２６０１には、高いレベル（ハードウェアエラーレベルが２以上）のハードウェア障害（図５のステップＳ６９１）が生じた時刻区間（Ｔ３≦Ｔ＜Ｔ４）におけるＣＬＩコマンド入力（図５のステップＳ６０１−２）を、時刻Ｔ３”で生じたハードウェアエラー（例えば、供給電力低下）の障害因子であると判定し、クリティカルフィルタ領域２６０１にブロック定義として設定している。
【０１２５】
ブロック定義を設定する一連の流れを説明する。Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、不揮発メモリ２７０のログデータ（図７）からＤＲＡＭ２６０内の自由領域２６０４にコピーしたログデータを参照して、ハードウェアエラーレベルが所定のレベル以上の時刻２７０２を特定する。不揮発メモリ２７０にログデータを格納するタイミングの間である時刻区間のうち、特定した時刻を含む時刻区間を特定する。そして、特定した時刻区間に含まれる時刻２７０２の種別２７０４がｃｏｎｆｉｇのエントリーを全て特定し、特定したエントリーのｃｏｎｆｉｇを障害因子、または、障害因子群としてブロック定義に設定する。
【０１２６】
本実施例において、再起動が必要なハードウェアエラーレベルが２以上のハードウェア障害が生じた時刻である「Ｔ３”」を特定し、「Ｔ３”」を含む時刻区間Ｔ３≦Ｔ＜Ｔ４を特定し、そして、時刻区間Ｔ３≦Ｔ＜Ｔ４に含まれる時刻であるアドレス２７０１が「２」のｃｏｎｆｉｇを特定し、特定したｃｏｎｆｉｇの情報をブロック定義に設定した結果が図１１である。
【０１２７】
その後、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、不揮発メモリ２７０を参照し、障害が発生した時刻区間より前のｃｏｎｆｉｇ情報を当該ハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）に適用し（ステップＳ１０３６）、装置運用フェーズに移行する（Ｓ１０７４）。
【０１２８】
具体的には、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、ブロック定義を設定した（ステップＳ２０８−２）後、自由領域２６０４に格納した不揮発メモリ２７０へ記録されたｃｏｎｆｉｇ情報のうち、ブロック定義の生成に用いた障害因子のログデータの時刻（Ｔ３’）より前、または、障害因子を含む時刻区間より前の時刻のｃｏｎｆｉｇ情報を参照し（ステップＳ２０９−１）、ＤＲＡＭ２６０内の各種コンフィグレーション格納領域２６０３へｃｏｎｆｉｇ情報をコピーする（ステップＳ２０９−２）。または、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、ブロック定義を設定した（ステップＳ２０８−２）後、自由領域２６０４に格納した不揮発メモリ２７０へ記録されたｃｏｎｆｉｇ情報の全てをＤＲＡＭ２６０内の各種コンフィグレーション格納領域２６０３へｃｏｎｆｉｇ情報をコピーする際に、クリティカルフィルタ領域２６０１を参照して、クリティカルフィルタ領域２６０１に記載されたｃｏｎｆｉｇ情報は、各種コンフィグレーション格納領域２６０３へ対しｃｏｎｆｉｇ情報としてコピーしない（ステップＳ２０９−２）。
【０１２９】
ステップＳ１０３６の終了後、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０が通信装置１０を通常運用フェーズに移行させる（Ｓ１０７４）。この後、必要に応じて、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、ＮＩＦ４００にルーティングプロトコルの起動を指示し（ステップＳ２０６）、ルーティングメモリ３４０へのパラメータ設定をＤ−Ｐｌａｎｅ  ＣＰＵ３１０に指示してもよい（ステップＳ２０７）。
【０１３０】
ステップＳ１０７において、故障が検出されたハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）が交換されていると判定された場合（ステップＳ１０７でＹＥＳ）、ステップＳ１０３３において、故障が検出されたハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）が交換されていると判定された場合（ステップＳ１０３３でＹＥＳ）、又はステップＳ１０３４において、ハードウェア障害の発生箇所が不揮発メモリ２７０であると判定された場合（ステップＳ１０３４でＹＥＳ）、不揮発メモリ２７０に格納されているｃｏｎｆｉｇ情報が誤っている可能性がある。このため、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、時刻Ｔ０以降の通信装置１０に関する各種ｃｏｎｆｉｇ情報が、不揮発メモリ２７０に未保存であるメッセージを管理端末９０へ出力する（ステップＳ１０７１）。その後、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、通信装置１０に関する各種デフォルトｃｏｎｆｉｇ情報を不揮発性記憶装置Ａ２４０から読み出して、交換されたハードウェア（Ｃ−Ｐｌａｎｅモジュール２００）に適用し（ステップＳ１０７２）、通信装置１０に関する追加ｃｏｎｆｉｇ情報の設定を促すメッセージを出力する（ステップＳ１０７３）。その後、装置運用フェーズに移行する（Ｓ１０７４）。
【０１３１】
また、故障したハードウェアが、Ｃ−Ｐｌａｎｅモジュール２００上の各コンポーネントの内、不揮発性記憶装置Ａ２４０などの取り外し可能なコンポーネントの場合、ステップＳ１０７でＹＥＳ、ステップＳ１０３３でＹＥＳの場合に、ステップＳ１０３４へジャンプしてもよい。つまり、適宜Ｃ−Ｐｌａｎｅモジュール２００の電源を落として、故障したコンポーネントを交換し、ステップＳ１０３４以降の処理を実行してもよい。
【０１３２】
この場合、取り外し可能なコンポーネント単位でハードウェア交換を行っても、ブロック定義を参照してｃｏｎｆｉｇ情報を設定することができるため、通信装置１０の可用性及び耐障害性を向上することができる。
【０１３３】
図１２を参照して、Ｄ−Ｐｌａｎｅモジュール３００内のコンポーネントにハードウェア障害が生じた際、Ｄ−Ｐｌａｎｅモジュール３００を再起動するフローチャートを説明する。ここでは、Ｄ−Ｐｌａｎｅモジュール３００自体の再起動と交換を例に説明するが、Ｄ−Ｐｌａｎｅモジュール３００自体の再起動とＤ−Ｐｌａｎｅモジュール３００上のコンポーネントの交換であってもよい。Ｄ−Ｐｌａｎｅモジュール３００上のコンポーネントの交換の場合であっても、交換の際には、Ｄ−Ｐｌａｎｅモジュール３００自体の再起動を行う。
【０１３４】
まず、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、検出したハードウェア障害をログ記録領域２６０２に記録する（ステップＳ５００）。ステップＳ５００〜Ｓ５０３の処理は、図９のＳ１００〜Ｓ１０３の処理と同じである。また、ステップＳ５０２１の処理は、図９のステップＳ１０２１の処理と同じである。また、ステップＳ５０７のＮＯの後のステップＳ５０８〜Ｓ５１３の処理は、図９のステップＳ１０７のＮＯの後のステップＳ１０８〜Ｓ１１３の処理と同じである。さらに、ステップＳ５０３５〜Ｓ５０３６の処理は、図９のステップＳ１０３５〜Ｓ１０３６の処理と同じである。
【０１３５】
ステップＳ５０４において、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、例えば、ハードウェア交換メッセージとして、「Ｄ−Ｐｌａｎｅモジュールの交換が必要です。交換しますか？Ｙ／Ｎ」などを管理端末９０のコンソールに出力する。Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、ハードウェア交換メッセージを出力した後、ハードウェア交換メッセージに対する管理端末９０からの入力を受け付ける状態となる（ステップＳ５０４０）。
【０１３６】
ハードウェア交換メッセージに対する管理端末９０からの入力が、「Ｙ」である場合（ステップＳ５０４０でＹＥＳ）、つまり、ハードウェア（Ｄ−Ｐｌａｎｅモジュール３００）の交換を管理者が希望する場合、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、ハードウェア（Ｄ−Ｐｌａｎｅモジュール３００）の稼働を停止し、ハードウェア（Ｄ−Ｐｌａｎｅモジュール３００）の状態を管理者がハードウェア（Ｄ−Ｐｌａｎｅモジュール３００）を交換可能な状態へ移行させる指示をＤ−Ｐｌａｎｅ  ＣＰＵ３１０に送信する。Ｄ−Ｐｌａｎｅ  ＣＰＵ３１０は、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０からハードウェア（Ｄ−Ｐｌａｎｅモジュール３００）を交換可能な状態へ移行させる指示を受信すると、ハードウェア（Ｄ−Ｐｌａｎｅモジュール３００）の稼働を停止し、ハードウェア（Ｄ−Ｐｌａｎｅモジュール３００）の状態を管理者がハードウェア（Ｄ−Ｐｌａｎｅモジュール３００）を交換可能な状態へ移行させる。ハードウェア（Ｄ−Ｐｌａｎｅモジュール３００）の交換後、Ｃ−Ｐｌａｎｅモジュール２００のＢＩＯＳ２３０１は、管理端末９０からハードウェア（Ｄ−Ｐｌａｎｅモジュール３００）を再起動する再起動指示を受け付ける状態となる（ステップＳ５０４１）。
【０１３７】
その後、ＢＩＯＳ２３０１は、管理端末９０からハードウェア（Ｄ−Ｐｌａｎｅモジュール３００）の再起動指示を受け付けると（ステップＳ５０４１でＹＥＳ）、ＢＩＯＳ２３０１は、当該ハードウェア（Ｄ−Ｐｌａｎｅモジュール３００）を再起動し、ＢＩＯＳ２３０１は、ブートＲＯＭ２３０からＤ−Ｐｌａｎｅモジュール３００の各コンポーネントを動作させる為に必要な初期化パラメータ（初期設定用の設定情報）をロードし、各コンポーネントに設定する（ステップＳ５０５）。
【０１３８】
再起動後、ＢＩＯＳ２３０１が起動診断を開始し（ステップＳ５０６）、再起動の要因となったハードウェア（Ｄ−Ｐｌａｎｅモジュール３００）が交換されたか否かを判定する（ステップＳ５０７）。例えば、実装されているハードウェア（Ｄ−Ｐｌａｎｅモジュール３００）のシリアルナンバーと、ステップＳ５０４にてブートＲＯＭ２３０に記録したシリアルナンバーとを比較することによって判定することができる。なお、ハードウェア（Ｄ−Ｐｌａｎｅモジュール３００）は、通信装置１０が電源オンの状態で交換することができる。また、ステップＳ５０３１〜Ｓ５０３２の処理は、Ｓ５０６〜Ｓ５０７の処理と同じである。
【０１３９】
ステップＳ５０７において、図９のステップＳ１０７と同様に、ＢＩＯＳ２３０１は、再起動の要因となったハードウェア（Ｄ−Ｐｌａｎｅモジュール３００）が交換されたか否かを、例えば、再起動前後のＤ−Ｐｌａｎｅモジュール３００のシリアルナンバーを比較することにより判定する。この場合、Ｄ−Ｐｌａｎｅモジュール３００のシリアルナンバーは、ブートＲＯＭ２３０に限られず、Ｃ−Ｐｌａｎｅモジュール２００のいずれかの記憶部に記録すればよい。故障が検出されたハードウェア（Ｄ−Ｐｌａｎｅモジュール３００）が交換されていない場合（ステップＳ５０７でＮＯ）、ステップＳ５０８に進む。一方、故障が検出されたハードウェア（Ｄ−Ｐｌａｎｅモジュール３００）が交換されている場合（ステップＳ５０７でＹＥＳ）、ステップＳ５０３５に進む。
【０１４０】
ステップＳ５０９において、図９のステップＳ１０９と同様に、ＢＩＯＳ２３０１は、Ｎの値が起動診断回数の上限値Ｘに達しているか否かを判定する。Ｎの値が上限値Ｘに達している場合（ステップＳ５０９でＹＥＳ）、Ｄ−Ｐｌａｎｅ  ＣＰＵ３１０は、当該ハードウェア（Ｄ−Ｐｌａｎｅモジュール３００或いはＤ−Ｐｌａｎｅモジュール３００の構成要素）内の障害箇所へｃｏｎｆｉｇを設定せず（ステップＳ５０９１）、装置運用フェーズに移行する（Ｓ５０９２）。
【０１４１】
ステップＳ５１０において、図９のステップＳ１１０と同様に、ＢＩＯＳ２３０１は、当該ハードウェア（Ｄ−Ｐｌａｎｅモジュール３００或いはＣ−Ｐｌａｎｅモジュール２００の構成要素）に、障害が発生しているかを検出する（ステップＳ５１０）。ハードウェア（Ｄ−Ｐｌａｎｅモジュール３００或いはＣ−Ｐｌａｎｅモジュール２００の構成要素）に障害が検出されない場合（ステップＳ５１０でＮＯ）、ステップＳ５０３５にジャンプする（ステップＳ５１０１）。一方、ハードウェア（Ｄ−Ｐｌａｎｅモジュール３００或いはＣ−Ｐｌａｎｅモジュール２００の構成要素）に障害が検出された場合（ステップＳ５１０でＹＥＳ）、ステップＳ５１１に進む。
【０１４２】
ステップＳ５０３３において、図９のステップＳ１０３３と同様に、ＢＩＯＳ２３０１は、再起動の要因となったハードウェア（Ｄ−Ｐｌａｎｅモジュール３００）が交換されたか否かを判定するが、故障が検出されたハードウェア（Ｄ−Ｐｌａｎｅモジュール３００）が交換されているか否かにかかわらず、ステップＳ５０３５に進む。
【０１４３】
ステップＳ５０３５では、図９のステップＳ５０３５と同様に、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、不揮発メモリ２７０にアクセスし、障害因子をｃｏｎｆｉｇとして各コンポーネントに設定させない為のブロック定義を揮発メモリ２６０内のクリティカルフィルタ領域２６０１に構成する（ステップＳ５０３５）。なお、ブロック定義は、不揮発メモリ２７０など、他の記憶部に構成してもよい。その後、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０は、不揮発メモリ２７０を参照し、ブロック定義の生成に用いた障害因子のログデータの時刻より前のＤ−Ｐｌａｎｅモジュール３００用のｃｏｎｆｉｇを、Ｄ−Ｐｌａｎｅモジュール３００に適用する指示をＤ−Ｐｌａｎｅ  ＣＰＵ３１０に送信し、Ｄ−Ｐｌａｎｅ  ＣＰＵ３１０は、Ｃ−Ｐｌａｎｅ  ＣＰＵ２２０からの指示を受けて、ブロック定義の生成に用いた障害因子のログデータの時刻より前のＤ−Ｐｌａｎｅモジュール３００用のｃｏｎｆｉｇを当該ハードウェア（Ｄ−Ｐｌａｎｅモジュール３００）に適用し（ステップＳ５０３６）、装置運用フェーズに移行する（Ｓ５０９２）。
【０１４４】
以上、Ｄ−Ｐｌａｎｅモジュール３００内のコンポーネントにハードウェア障害が生じた際におけるＤ−Ｐｌａｎｅモジュール３００を再起動する処理（図１２）に関し、Ｃ−Ｐｌａｎｅモジュール２００内のコンポーネントにハードウェア障害が生じた際におけるＣ−Ｐｌａｎｅモジュール２００を再起動する処理（図９）との相違点を主に説明した。この相違点は、Ｄ−Ｐｌａｎｅモジュール３００が不揮発メモリを有しないことに起因する。このため、図９のステップＳ１０３４による切り分けが不要となり、ステップＳ１０７１〜Ｓ１０７３が不要となる。
【０１４５】
また、Ｄ−Ｐｌａｎｅモジュール３００では、障害が発生したコンポーネントへｃｏｎｆｉｇ設定を行ったとしても、当該コンポーネントは正常に動作しないため、ステップＳ５０９でＹＥＳの場合に、当該コンポーネントへのｃｏｎｆｉｇ設定を実施しない（ステップＳ５０９１）。例えば、回線Ｉ／Ｆ４１０−１〜４１０−Ｎのいずれかのポートに障害がある場合、障害ポートにｃｏｎｆｉｇを設定せず、つまり、障害ポートを閉塞すれば、通信装置１０の動作は継続できる。この場合、ｃｏｎｆｉｇ設定が実施されない閉塞されたポートとリンクアグリゲーションを構成しているポートがあれば、通信可能である。
【０１４６】
以上の構成によって、前述した課題を解決可能な通信装置（ネットワークノード）１０を提供することができる。
【０１４７】
以上に説明したように、本発明の実施例によると、通信装置１０の障害の原因となるコンフィグレーション情報（障害因子）を切り分け、通信装置１０において障害因子の反映を阻止する為のブロック定義を構成することができる。このため、通信装置の可用性及び耐障害性が向上する。
【０１４８】
なお、不揮発メモリを搭載しないＣ−Ｐｌａｎｅモジュール２００を二重化する方法では、意図しない電源遮断発生の際、装置内にログ情報を保持できず、装置障害を引き起こす設定情報の特定および切り分けが困難な為、前述した課題を解決できない。
【０１４９】
また、ＮＩＦモジュール４００−１〜４００−Ｎ、Ｄ−Ｐｌａｎｅモジュール３００及びＣ−Ｐｌａｎｅモジュール２００に設定された設定情報及び通信装置１０の状態を示すログ情報をＤＲＡＭ２６０に随時格納し、通信装置１０で検出した障害の情報をＤＲＡＭ２６０に格納し、前記設定情報及び前記ログ情報のうち所定の条件を満たすものと、前記障害の情報とを、所定のタイミングでＤＲＡＭ２６０から読み出し、不揮発メモリ２７０に格納する。そして、ＮＩＦモジュール４００−１〜４００−Ｎや、Ｄ−Ｐｌａｎｅモジュール３００或いはＣ−Ｐｌａｎｅモジュール２００を再起動し、検出された障害の原因となる設定情報より前に不揮発メモリ２７０に格納された設定情報を用いて、ＮＩＦモジュール４００−１〜４００−Ｎ、Ｄ−Ｐｌａｎｅモジュール３００或いはＣ−Ｐｌａｎｅモジュール２００を設定するので、障害発生前の状態に容易に戻すことができる。
【０１５０】
また、ログ情報のうち、所定の条件に適合するものをＤＲＡＭ２６０から読み出し、不揮発メモリ２７０に格納するので、不揮発メモリ２７０に格納されるログ情報を減らすことができ、不揮発メモリ２７０の耐久性が向上し、不揮発メモリ２７０のアクセス速度が比較的遅くてもよく、必要な不揮発メモリ２７０の容量を低減でき、不揮発メモリ２７０を搭載するためのスペースを低減することができる。
【０１５１】
さらに、障害情報のうち、所定の条件に適合するものをＤＲＡＭ２６０から読み出し、不揮発メモリ２７０に格納するので、不揮発メモリ２７０に格納される障害情報を減らすことができ、後に障害情報を見たときに容易に障害要因を切り分けることができる。また、不揮発メモリ２７０の耐久性が向上し、不揮発メモリ２７０のアクセス速度が比較的遅くてもよく、必要な不揮発メモリ２７０の容量を低減でき、不揮発メモリ２７０を搭載するためのスペースを低減することができる。
【０１５２】
また、障害を発生させた要因であると判定された設定情報を、再び当該通信装置に適用しないためのブロック定義を保持するので、同じ障害要因が適用されず、繰り返し障害が発生することを防止することができる。このため、通信装置の停止時間を短くすることができ、耐障害性および可用性を向上することができる。
【０１５３】
また、障害が検出されたハードウェアが交換された場合、初期設定用の設定情報を用いて、交換されたハードウェアを初期化するので、最低限の動作を確保することができる。
【０１５４】
また、障害情報を不揮発メモリ２７０に格納するかを判定するための条件を設定するためのインタフェースを提供するので、ユーザの希望に合わせて不揮発メモリ２７０に格納する情報を選択することができる。
【０１５５】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を有するものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
【０１５６】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【０１５７】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【０１５８】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【０１５９】
１０    通信装置
８０    電源
９０    管理端末
２００  Ｃ−Ｐｌａｎｅ（制御系）モジュール
２１０  管理用インタフェース
２２０  Ｃ−Ｐｌａｎｅ  ＣＰＵ
２３０  ブートＲＯＭ
２４０  不揮発性記憶装置Ａ
２５０  Ｂｒｉｄｇｅ
２６０  ＤＲＡＭ
２７０  不揮発メモリ
３００  Ｄ−Ｐｌａｎｅモジュール
３１０  Ｄ−Ｐｌａｎｅ  ＣＰＵ
３２０  不揮発性記憶装置Ｂ
３３０  ルーティングコントローラ
３４０  ルーティングメモリ
３５０  バッファコントローラ
３６０  バッファメモリ
４００−１〜４００−Ｎ  ネットワークＩ／Ｆモジュール
４１０−１〜４１０−Ｎ  回線インタフェース
【図１】
0006310348.tif 000002
【図２】
0006310348.tif 000003
【図３】
0006310348.tif 000004
【図４】
0006310348.tif 000005
【図５】
0006310348.tif 000006
【図６】
0006310348.tif 000007
【図７】
0006310348.tif 000008
【図８】
0006310348.tif 000009
【図９】
0006310348.tif 000010
【図１０】
0006310348.tif 000011
【図１１】
0006310348.tif 000012
【図１２】
0006310348.tif 000013