JP6310348B2 - COMMUNICATION DEVICE AND METHOD FOR CONTROLLING COMMUNICATION DEVICE - Google Patents
COMMUNICATION DEVICE AND METHOD FOR CONTROLLING COMMUNICATION DEVICE Download PDFInfo
- Publication number
- JP6310348B2 JP6310348B2 JP2014143103A JP2014143103A JP6310348B2 JP 6310348 B2 JP6310348 B2 JP 6310348B2 JP 2014143103 A JP2014143103 A JP 2014143103A JP 2014143103 A JP2014143103 A JP 2014143103A JP 6310348 B2 JP6310348 B2 JP 6310348B2
- Authority
- JP
- Japan
- Prior art keywords
- control unit
- information
- failure
- processor
- nonvolatile memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims description 95
- 238000000034 method Methods 0.000 title claims description 35
- 238000012546 transfer Methods 0.000 claims description 36
- 230000004044 response Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 description 23
- 238000012545 processing Methods 0.000 description 23
- 238000001514 detection method Methods 0.000 description 18
- 230000005540 biological transmission Effects 0.000 description 16
- 238000006243 chemical reaction Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 230000004913 activation Effects 0.000 description 10
- 238000003745 diagnosis Methods 0.000 description 7
- 230000036541 health Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000004308 accommodation Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
- Monitoring And Testing Of Transmission In General (AREA)
- Debugging And Monitoring (AREA)
Description
本発明は、通信装置に関する。 The present invention relates to a communication device.
本技術分野の背景技術として、特開2010−147804号公報(特許文献1)、特開2010−86009号公報(特許文献2)、特開2012−203640号公報(特許文献3)がある。 As background art in this technical field, there are JP 2010-147804 A (Patent Document 1), JP 2010-86009 A (Patent Document 2), and JP 2012-203640 A (Patent Document 3).
特許文献1には、機能ごとにパッケージ化されたユニットを複数個組み合わせて実装された伝送装置において、ロギングによりユニットの状態情報を入手したログを、伝送装置に障害が生じた場合に障害の原因解析に利用できるように、順次記録する不揮発性記録部を備える伝送装置とする。但し、状態情報は、ユニットの実装状態、伝送装置に接続された通信回線の状態、ユニットまたは伝送装置の警報発生状態、ユニットまたは伝送装置の設定状態の少なくともいずれか一つの情報を含むものとすることが開示されている。
In
特許文献2には、記憶装置では、マイクロプロセッサが、電源異常を検出したときに、SDRAM(Synchronous Dynamic Random Access Memory)に記憶された管理情報の少なくとも一部(論理・物理変換テーブルにおける論理・物理変換テーブルとの差分情報)を、高速な書き込みが可能な不揮発性メモリであるMRAM(Magnetoresistive Random Access Memory)に論理・物理変換テーブル差分情報として書き込み、その後のSDRAMの復旧時に、必要に応じて、MRAMに書き込んだ管理情報を用いて、SDRAMが記憶する管理情報を補正することが開示されている。
In
特許文献3には、情報処理装置は、自装置または他の装置で動作する仮想マシンを管理する。情報処理装置は、仮想マシンの動作に使用されている1またはそれ以上のファイルと、1またはそれ以上のテンプレートファイルとを比較する。情報処理装置は、ファイルとテンプレートファイルの比較結果に基づいて、仮想マシンの設定状況を示す構成情報を生成することが開示されている。
In
特許文献1は、障害の原因解析に利用できるように、順次記録する不揮発性記録部を有する伝送装置、すなわち、障害因子の切り分けを開示している。しかし、特許文献1は、クロック同期外れや電源瞬断等の警報発生時における伝送装置の再起動を考慮していない。
特許文献2は、装置再起動時、MRAMに書き込んだ管理情報を用いて、SDRAMの管理情報を補正する記憶装置、すなわち、再起動時に不揮発性メモリから揮発性メモリへの情報の書き出しを開示している。しかし、特許文献2は、装置再起動時の障害因子の切り分けや、切り分けたコンフィグレーション情報を再び装置に適用させない為のブロック方法を開示していない。
特許文献3は、仮想マシンの設定変更などに伴って更新されるファイルシステムを不揮発性記憶装置に保存し、保存されたファイルシステムを用いて仮想マシンを再起動するファイルシステム、すなわち、サーバにおいて、装置再起動時に不揮発性メモリから揮発性メモリへの情報の書き出しを開示している。しかし、特許文献3は、仮想マシンが使用するファイルシステムは、当該仮想マシンの設定変更に伴って設定される際に不揮発性の記憶装置へ保存されるだけであり、当該ファイルシステム内に問題を引き起こす要素が含まれている場合に該要素を切り分けることを想定していない。
In
一方、採取したログを揮発性デバイスから不揮発性デバイスへ記録しないと、揮発性デバイスに記録したログが電源遮断時に消失してしまう。また、多数のログを記録するためには、高速で高耐久性の不揮発性デバイスを使用する必要がある。 On the other hand, if the collected log is not recorded from the volatile device to the non-volatile device, the log recorded in the volatile device will be lost when the power is shut off. In order to record a large number of logs, it is necessary to use a high-speed and highly durable nonvolatile device.
このため、装置管理者が所望するレベル以上のコンフィグレーション情報を揮発性デバイスから不揮発性デバイスへ記録すること、及び、装置再起動を要するレベルの障害原因候補と考えられるコンフィグレーション情報(障害因子)を再起動後に該通信装置に適用させない為のブロック情報として用いることは、いずれの引用文献にも記載されていない。また、これらの先行技術を組み合わせても、前述した構成の通信装置によって、可用性及び耐障害性を向上することには想到し得ない。 For this reason, configuration information (failure factor) that is considered to be a cause of failure at a level that requires device restart by recording configuration information beyond the level desired by the device administrator from the volatile device to the nonvolatile device. Is not described in any cited document as block information for preventing the communication device from being applied to the communication device after restarting. Even if these prior arts are combined, it is impossible to conceive of improving availability and fault tolerance by the communication device having the above-described configuration.
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、パケットを送受信する通信装置であって、前記パケットの転送先を決定する転送制御部と、前記転送制御部を制御する制御部と、を備え、前記制御部は、前記転送制御部の設定を行い、かつ、前記各部の状態を監視する第1のプロセッサと、前記第1のプロセッサがアクセスする揮発メモリと、前記第1のプロセッサがアクセスする不揮発メモリと、を有し、前記転送制御部及び前記制御部には設定情報に従って動作パラメータが設定され、前記第1のプロセッサは、前記転送制御部及び前記制御部に設定される設定情報及び前記各部の状態を示すログ情報を、前記設定情報及び前記ログ情報が発生した後に前記揮発メモリに格納し、前記制御部に障害が検出された場合に、前記検出した前記制御部の障害の情報を前記揮発メモリに格納し、第1の所定の条件に適合する前記制御部の障害の情報を前記不揮発メモリに格納し、前記設定情報及び前記ログ情報の全部又は一部を、所定のタイミングで前記揮発メモリから読み出し、前記不揮発メモリに格納し、前記制御部を再起動した後、前記検出された前記制御部の障害が発生したときに前記不揮発メモリに格納されている設定情報を、前記制御部の障害を発生させた要因であると判定し、前記制御部の障害を発生させた要因であると判定された設定情報を、再び当該通信装置に適用しないための定義情報を生成し、前記不揮発メモリ又は前記揮発メモリに格納し、前記不揮発メモリに格納された設定情報のうち、前記検出された前記制御部の障害の原因となる設定情報より前の時刻の情報であって、前記定義情報に該当しない情報を用いて、前記制御部を設定する。 A typical example of the invention disclosed in the present application is as follows. That is, a communication device that transmits and receives packets, and includes a transfer control unit that determines a transfer destination of the packet, and a control unit that controls the transfer control unit, and the control unit is configured to set the transfer control unit And a first processor that monitors the state of each unit, a volatile memory that is accessed by the first processor, and a nonvolatile memory that is accessed by the first processor, and the transfer control unit and wherein the control unit is set operating parameters in accordance with the setting information, the first processor, the log information indicating the state of the setting information and the respective portions the Ru is set in the transfer control unit and the control unit, the setting information and the stored in the volatile memory after the log information is generated, when a failure in the control unit is detected, the volatile memory fault information of the control unit that the detected Stores information on the failure of the control unit that conforms to a first predetermined condition in the nonvolatile memory, and reads all or part of the setting information and the log information from the volatile memory at a predetermined timing. After storing the non-volatile memory and restarting the control unit, when the detected control unit failure occurs, the setting information stored in the non-volatile memory causes a failure of the control unit Generating the definition information for not applying the setting information determined to be the factor causing the failure of the control unit to the communication device again, and generating the non-volatile memory or the volatile stored in the memory, the out of the setting information stored in the nonvolatile memory, an information of the previous time from the setting information causing the detected failure of the control unit, corresponding to the definition information With no information, it sets the control unit.
本発明の代表的な実施の形態によれば、通信装置の可用性及び耐障害性を向上することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。 According to the exemplary embodiment of the present invention, the availability and fault tolerance of a communication device can be improved. Problems, configurations, and effects other than those described above will become apparent from the description of the following embodiments.
以下、本発明の実施例について図面を参照して説明する。 Embodiments of the present invention will be described below with reference to the drawings.
以下の説明では、従来技術との比較を容易にするため、主に通信ネットワーク上でパケットを中継(通信ネットワークを流れるパケットを受信し、受信したパケットの経路を決定)する通信装置10(図1参照)に、本発明を適用した場合について説明する。但し、本発明の効果を奏する限り、適用する装置やパケットの種類は、これに限らない。
In the following description, in order to facilitate comparison with the prior art, a
図1は、本発明の実施例の通信装置10の構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a
通信装置10は、C−Planeモジュール200と、D−Planeモジュール300と、複数のNIF(Network Interface)モジュール400−1〜400−Nと、電源モジュール80とを有する。
The
C−Planeモジュール200は、主に制御系の処理を行うモジュールであり、具体的には、他の通信装置との間で通信ネットワークに関する情報を交換するルーティングプロトコル(例えば、OSPF(Open Shortest Path First)、BGP(Border Gateway Protocol))の制御や、装置自体の制御を行う。D−Planeモジュール300は、主に転送系の処理を行うモジュールであり、具体的には、NIFモジュール400−1〜400−Nが受信したパケットの送信先回線を検索する。NIFモジュール400−1〜400−Nは、収容された回線である回線I/F(Interface)410−1〜410−Nを伝送されるパケットを送受信する。C−Planeモジュール200及びD−Planeモジュール300は、それぞれ複数の要素(コンポーネント、または、デバイス)による構成される。
The C-
通信装置10の管理用インタフェース210には、信号線を介して、通信装置10の管理者が操作する管理端末90が接続される。
A
C−Planeモジュール200を構成する要素について説明する。C−Planeモジュール200は、管理用インタフェース210と、C−Plane CPU(Central Processing Unit)220と、ブートROM(Read Only Memory)230と、不揮発性記憶装置A240と、DRAM(Dynamic Random Access Memory)260と、不揮発メモリ270と、C−Planeモジュール200上の各構成要素を接続するBridge250とを有する。
The elements constituting the C-
管理用インタフェース210は、管理端末90や電源モジュール80と接続されるインタフェースであり、電源モジュール80から供給される電力を監視可能する。C−Plane CPU220は、装置自体の制御や、ルーティングプロトコルを用いて通信装置10に必要なパケット転送用データベースの作成を実行する。また、C−Plane CPU220は、通信装置10の各モジュールの状態と障害の有無を監視する。ブートROM230は、BIOS(Basic Input/Output System)2301を格納する。ブートROM230には、書き換え可能なEEPROM(Electrically Erasable Programmable Read−Only Memory)を用いるのが適当である。BIOS2301は、C−Planeモジュール200起動直後からC−Plane CPU220に通信装置10の制御を担わせるまでの間、通信装置10の制御を司るプログラムであり、通信装置10の電源投入後に装置構成デバイスを診断し、OS(Operating System)を起動させる。なお、OSの起動は、通信装置10の制御を得たC−Plane CPU220が実行してもよい。また、BIOS2301は、C−Plane CPU220によって実行されてもよい。BIOS2301とC−Plane CPU220は、通信装置10の制御を担う制御部(プロセッサ)である。
The
不揮発性記憶装置A240は、OSや通信装置10に関するデフォルト設定パラメータを保持する。DRAM260は、通信装置10の制御に必要なデータを保持する。不揮発メモリ270は、通信装置10に電力が供給されていない場合でも、データ(例えば、装置の動作ログ)を保存可能な記憶装置である。不揮発メモリ270は、MRAM(磁気抵抗メモリ)のような高速アクセス可能で、且つ、書き込み回数による寿命を意識する必要がない不揮発デバイスを使用するとよい。アクセス速度が比較的低速な不揮発デバイス(例えば、NAND型フラッシュメモリ)を用いる場合、定期的にDRAM260に保持されたデータを不揮発メモリ270へコピーする際、帯域不足による記録漏れが生じないようにするとよい。
The nonvolatile storage device A240 holds default setting parameters related to the OS and the
また、不揮発メモリ270は、C−Planeモジュール200にハンダ付けされていても、ソケットを用いて脱着可能に取り付けられていてもよい。不揮発メモリ270を脱着可能とした場合、通信装置10から取り外した不揮発メモリ270に格納されたログを読み出して、障害内容を解析可能としてもよい。
The
図2に示すように、DRAM260の記憶領域は、各種コンフィグレーション格納領域2603と、自由領域2604と、ログ記録領域2602と、クリティカルフィルタ(Critical Filter)領域2601とに分割されている。
As shown in FIG. 2, the storage area of the
各種コンフィグレーション格納領域2603は、通信装置10の運用に必要な各種設定を保持する。ログ記録領域2602は、通信装置10の動作中に収集された各種ログを記録する。クリティカルフィルタ領域2601は、通信装置10の運用に支障を来たす設定の適用を防止する為の設定を保持する。自由領域2604は、その他のデータの記録等に使用される。
Various
DRAM260内の領域を分割している為、図6及び図11に示すアドレスに領域毎にoffsetを定める必要がある。尚、C−Planeモジュール200にてDRAM260を用いる理由は、DRAMは、定期的にメモリセルに電荷をチャージするリフレッシュ処理を必要とするが、アクセス帯域と容量単価とがバランスしており、これを優先したためである。
Since the area in the
D−Planeモジュール300を構成する要素について説明する。D−Planeモジュール300は、D−Plane CPU310と、不揮発性記憶装置B320と、ルーティングコントローラ(Routing Controller)330と、ルーティングメモリ(Routing Memory)340と、バッファコントローラ(Buffer Controller)350と、バッファメモリ(Buffer Memory)360とを有する。
The elements that make up the D-
D−Plane CPU310は、C−Plane CPU220からの指示を受けて、NIF400やD−Planeモジュール300内の各種コンポーネントに動作条件などを設定する。また、D−Planeモジュール300、NIF400の状態(ログ情報)を取得し、障害の有無(障害情報)を監視する。D−Plane CPU310は、Bridge250を介して、ログ情報と障害情報をC−Plane CPU220に通知する。通知を受けたC−Plane CPU220が、各記憶部へ格納する。なお、D−Plane CPU310は、Bridge250を介して直接DRAM260や不揮発メモリ270にログ情報と障害情報を格納してもよい。この場合、D−Plane CPU310は、C−Plane CPU220に対して、ログ情報と障害情報の格納を通知してもよいし、C−Plane CPU220が繰り返し(例えば、定期的に)DRAM260や不揮発メモリ270を読み出して、ログ情報と障害情報が格納されたこと、及びログ情報と障害情報を取得してもよい。
In response to an instruction from the C-
不揮発性記憶装置B320は、D−Planeモジュール300内の各種コンポーネントに関するデフォルト設定パラメータを格納する。ルーティングコントローラ330は、バッファコントローラ350からの依頼に応じて受信パケットの送信先を検索する。ルーティングメモリ340は、受信パケットの宛先に対応する送信先情報(経路表)を保持する。バッファコントローラ350は、バッファメモリ360のパケットの入出力を制御し、受信パケットのヘッダ情報を抽出してルーティングコントローラ330へ送信先検索を依頼する。バッファメモリ360は、通信装置10が受信したパケットの送信先が決定されるまで一時的に該パケットを格納する。
The nonvolatile storage device B320 stores default setting parameters related to various components in the D-
ここまで、通信装置10を構成するコンポーネント(デバイスとも称する)について説明したが、以後、これらコンポーネントの故障(ハードウェア障害)について説明する。ハードウェア(H/Wと表現することもある)障害は、大きく三つに分類可能である。
So far, the components (also referred to as devices) constituting the
一つ目は、”注意レベル障害”であり、NIF400、C−Planeモジュール200及びD−Planeモジュール300の再起動を必要とせず、当該障害箇所が修復される又は放置してよい程度のものである。本実施例の通信装置10においては、ルーティングメモリ340、バッファメモリ360及びDRAM260のパリティエラーが該当する。注意レベル障害を”ハードウェアエラーレベル1”と称する。以下、注意レベル障害を”レベル1”と称することもある。
The first is “attention level failure”, which does not require restart of the
二つ目は、”警告レベル障害”であり、NIF400や、C−Planeモジュール200或いはD−Planeモジュール300の再起動が必要であるが、交換を必要としないレベルである。本実施例の通信装置10においては、ルーティングメモリ340及びDRAM260のECC(Error Correction Coding)エラーが該当する。警告レベル障害を”ハードウェアエラーレベル2”と称する。以下、警告レベル障害を”レベル2”と称することもある。
The second is a “warning level failure” in which the
三つ目は、”重度レベル障害”であり、NIF400や、C−Planeモジュール200或いはD−Planeモジュール300そのものの交換、又は、NIF400やC−Planeモジュール200やD−Planeモジュール300或いは通信装置10構成コンポーネント(含、電源モジュール80)の交換を要するレベルである。本実施例の通信装置10においては、電源モジュール80の故障(含、供給電力低下)、各種メモリ故障が該当する。重度レベル障害を”ハードウェアエラーレベル3”と呼ぶ。以下、重度レベル障害を”レベル3”と称することもある。
The third is a “severe level failure” in which the
ハードウェア障害発生の際、DRAM260内のログ記録領域2602にログを記録する(図6参照)。”注意レベル障害”と”警告レベル障害”は、ユーザインタフェースを用いて図3に示すユーザインタフェースを用い、ハードウェアエラーレベルを変更可能としてもよい。
When a hardware failure occurs, a log is recorded in the
図3は、障害のハードウェアエラーレベルを変更するためのユーザインタフェースを示す図である。 FIG. 3 is a diagram showing a user interface for changing the hardware error level of a failure.
図3に示すようにユーザインタフェースは、レベル1のハードウェア障害を不揮発メモリ270に記録するかを選択するためのラジオボタンを含む。また、ユーザインタフェースは、ハードウェアエラーの種類毎に、各ハードウェアエラーをレベル1とするかレベル2とするかを選択するためのラジオボタンを含む。例えば、図示した例では、バッファメモリ360のパリティエラー、ルーティングメモリ340のパリティエラー、ルーティングメモリ340のECCエラー、DRAM260のパリティエラー、DRAM260のECCエラーについて、エラーレベルを設定可能である。また、ユーザインタフェースは、定例作業(例えば、DRAMリフレッシュ)のログを不揮発メモリ270に記録するかを選択するためのラジオボタンを含む。
As shown in FIG. 3, the user interface includes radio buttons for selecting whether to record
図3のユーザインタフェースによって設定された内容は、各種コンフィグレーション格納領域2603に記録される。
The contents set by the user interface in FIG. 3 are recorded in various
次に、通信装置10の電源投入後におけるC−Planeモジュール200の動作の概要を説明する。
Next, an outline of the operation of the C-
図4は、C−Planeモジュール200の起動動作のシーケンス図である。
FIG. 4 is a sequence diagram of the activation operation of the C-
通信装置10に電源が投入されると、C−Plane CPU220で起動されるBIOS2301が、ブートROM230から各モジュールの各コンポーネントを動作させる為に必要な初期化パラメータ(初期設定用の設定情報)をロードし、各コンポーネントに設定して各コンポーネントを初期化する。そして、BIOS2301が装置診断プログラムを起動し、装置構成デバイスにおける故障の有無を診断する(ステップS201−1A〜S201−NA、ステップS201−1B〜S201−NB)。例えば、BIOS2301は、不揮発性記憶装置A240にヘルスチェックメッセージを送信する(ステップS201−1A)。不揮発性記憶装置A240は、BIOS2301からのヘルスチェックメッセージを受信すると、動作に異常がない場合には応答メッセージを送信する(ステップS201−1B)。同様に、BIOS2301は、DRAM260、不揮発メモリ270、D−Plane CPU310、NIF400にもヘルスチェックメッセージを送信し、各装置構成デバイスから応答メッセージを受信する。また、BIOS2301は、C−Plane CPU220のヘルスチェックも行う(ステップ201−NA、ステップ201−NB)。
When the
診断の結果、全ての装置構成デバイスからヘルスチェック応答メッセージが返信された場合、装置構成デバイスの故障が検出されないので、BIOS2301が不揮発性記憶装置A240に格納されるOSを読み出し(ステップS202)、主にパケットを転送するD−Planeモジュール300の起動を指示する(ステップS204)。D−Plane CPU310は、BIOS2301から起動指示を受信すると、D−Planeモジュール300を起動する。
If the health check response message is returned from all the device configuration devices as a result of the diagnosis, the failure of the device configuration device is not detected, so the
OSの起動が完了すると、C−Plane CPU220は、DRAM260にデフォルト設定パラメータ(装置構成コンポーネント毎の固有情報等)(デフォルトコンフィグレーション値、デフォルトコンフィグレーション情報、または、デフォルトコンフィグ、または、デフォルトconfigと表現することがある)を設定する(ステップS205)。同様に、C−Plane CPU220は、C−Planeモジュール200を構成する他のコンポーネント(例えば、不揮発メモリ270)にデフォルトコンフィグレーション値を設定する。
When the activation of the OS is completed, the C-
さらに、C−Plane CPU220は、ルーティングプロトコルを起動後、他の通信装置宛の制御パケットを生成してNIF400から送信する(ステップS206A)。C−Plane CPU220は、NIF400から他の通信装置から送信されたパケットを受信すると(ステップS206B)、ルーティングプロトコルによる経路計算を行った後、ルーティングメモリ340へのパラメータ設定指示及び設定するパラメータをD−Plane CPU310に通知する(ステップS207)。
Further, after starting the routing protocol, the C-
以上に説明したように、C−Planeモジュール200の起動シーケンスにおいて、OSの起動が完了するまでの処理はBIOS2301(C−Plane CPU220)が行い、OSの起動が完了した後の処理はステップS202で読み出されたOS(C−Plane CPU220)が行う。
As described above, in the startup sequence of the C-
次に、通信装置10の電源投入後におけるD−Planeモジュール300の動作の概要を説明する。
Next, an outline of the operation of the D-
D−Plane CPU310は、BIOS2301から起動指示を受信すると(図4のステップS204)、D−Planeモジュール300を構成するコンポーネント(例えば、ルーティングコントローラ330、ルーティングメモリ340など)やNIF400の起動シーケンスを実行し、初期化処理を行う。
When the D-
その後、D−Plane CPU310は、不揮発性記憶装置B320から各コンポーネントに設定すべき設定値を読み出す。D−Plane CPU310は、不揮発性記憶装置B320から読み出した設定値をデフォルトコンフィグレーション値として、D−Planeモジュール300の各コンポーネント330、340等やNIF400に設定する。この設定は、各コンポーネント330、340等やNIF400を制御する為に実施される。D−Planeモジュール300を構成するコンポーネントとNIF400のデフォルトコンフィグレーション値の設定後、D−Planeモジュール300を構成するコンポーネントは各種パラメータや任意のコンフィグレーション値の設定が可能となり、NIF400は、ステップS206Aにおける他の通信装置宛の制御パケットの送信が可能となる。
Thereafter, the D-
また、D−Plane CPU310は、ステップS207におけるルーティングメモリ340へのパラメータ設定の指示及び設定するパラメータを受信すると(図4のステップS207)、受信したパラメータをルーティングメモリ340に書き込み、ルーティングテーブルを構築する。
In addition, when the D-
次に、各モジュールの起動シーケンス(図4参照)が終了した後の通信装置10によるパケット中継について説明する。
Next, packet relaying by the
通信装置10における一般的なパケット送受信では、回線I/F410−1〜410−Nが受信したパケットは、回線I/F410−1〜410−Nにてメディア変換(例えば、光電変換)が行われ、回線I/F410−1〜410−Nからバッファコントローラ350に出力される。
In general packet transmission / reception in the
バッファコントローラ350は、受信パケットからパケットヘッダを抽出してルーティングコントローラ330に出力し、受信パケットをバッファメモリ360に格納する。
The
ルーティングコントローラ330は、入力されたヘッダ情報に基づいて、ルーティングメモリ340内に構成されるデータベースを検索する為の検索キーを生成し、該検索キーと対応するエントリーがルーティングメモリ340内のデータベースに格納されているかを検索する。検索の結果、対応するエントリーが格納されている場合、該エントリーに含まれる送信先回線情報を取得する。その後、ルーティングコントローラ330は、データベースの検索が終了したことを示す識別子と、取得した送信先回線情報とを、バッファコントローラ350に出力する。
The
バッファコントローラ350は、ルーティングコントローラ330から入力された送信先回線情報に基づいて、バッファメモリ360に格納されているパケットを、該送信先回線情報に対応する回線I/F410−1〜410−Nのいずれかに出力する。
Based on the destination line information input from the
回線I/F410−1〜410−Nは、バッファコントローラ350からパケットを入力されると、メディア変換(例えば、電光変換)を行った後、収容回線から該パケットを送信する。
When the line I / Fs 410-1 to 410-N receive a packet from the
通信装置10では、前述したデフォルトコンフィグレーション値の他に、装置の管理者がユーザインタフェースを用いて、任意のタイミングで、任意のコンフィグレーション情報(コンフィグレーション値、または、コンフィグレーション、またはコンフィグ、または、config、または、コンフィグ情報、または、config情報と表現することがある)を追加可能である。本実施例では、各モジュールの起動シーケンスが終了するまでに適用される前述のデフォルトコンフィグレーション値と、随時追加可能なコンフィグレーション情報と、通信装置10内のログとを揮発性デバイス(例えば、DRAM260)に保持する。さらに、揮発性デバイスに保持した情報の一部を所定のタイミングで不揮発性デバイス(例えば、不揮発メモリ270)に記録する。
In the
次に、各モジュールの起動シーケンス(図4参照)が終了した後に、通信装置10において随時追加可能なコンフィグレーション情報やログを収集する例を説明する。
Next, an example of collecting configuration information and logs that can be added at any time in the
図5は、コンフィグレーション情報の追加及びログを収集する動作のシーケンス図である。 FIG. 5 is a sequence diagram of operations for adding configuration information and collecting logs.
各モジュールの起動シーケンス終了のタイミングを時刻T0とする。図5では、説明の簡単化の為、前述のデフォルトコンフィグレーション情報については省略する。 The timing of starting the activation sequence of each module is assumed to be time T0. In FIG. 5, the above-described default configuration information is omitted for simplification of description.
時刻T0以降にて、装置管理者が管理端末90を用い、任意のコンフィグレーション情報をコマンドラインユーザインタフェース(CLI)から入力すると、C−Plane CPU220は、入力されたコンフィグレーション情報をDRAM260内のログ記録領域2602に記録する為の形式へ変換する(変換ルールはOSに組み込まれている)。C−Plane CPU220は、変換された情報を時刻情報等と共にDRAM260内のログ記録領域2602へログデータ(ログ情報)として記録する(ステップS601−1)。例えば、管理端末90から入力されるコンフィグレーション情報は、通信装置10へのユーザの追加でもよい。
When the device administrator uses the
C−Plane CPU220は、所定のタイミング(例えば、装置管理者が所望の値に変更可能な所定の周期毎)に、ログ記録領域2602に保持されるデータの一部を不揮発メモリ270に記録する。DRAM260のログ記録領域2602及び不揮発メモリ270に格納するデータの記録及び保持に関しては後述する。なお、所定のタイミングは、例えば、1μs(マイクロ秒)や1ms(ミリ秒)など、装置管理者がconfigで設定することができる。
The C-
図5では、C−Plane CPU220が、時刻T0から所定の周期が過ぎたタイミング(時刻T1)で、時刻T0’(T0≦T0’<T1)にてログ記録領域2602へ記録されたログデータを読み出し(ステップS611−1)、不揮発メモリ270にコピーすべき情報が存在する場合、不揮発メモリ270にコピーする(ステップS612−1)。つまり、時刻T0から時刻T1の間(T0≦T<T1)にログ記録領域2602へ記録されたログデータを不揮発メモリ270にコピーする。以下、不揮発メモリ270に対するコピー対象の所定周期を時刻区間と呼ぶ。時刻区間は、ログ記録領域2602のログデータの内、不揮発メモリ270へのコピー対象のログデータを所定周期で記録する区間を表す。
In FIG. 5, the C-
時刻T1〜T2の区間では、C−Plane CPU220が、時刻T1’(T1≦T1’<T2)にて、定例作業であるDRAMリフレッシュ(DRAM内のメモリセルに対する電荷のチャージ)の実施をログとしてログ記録領域2602へ記録する(ステップS621)。
In the section from time T1 to time T2, the C-
時刻T1から所定の周期が過ぎたタイミング(時刻T2)で、C−Plane CPU220が、時刻T1’にてログ記録領域2602へ記録されたログデータを読み出し(ステップS611−2)、不揮発メモリ270にコピーすべき情報が存在する場合、不揮発メモリ270にコピーする(ステップS612−2)。つまり、時刻T1から時刻T2の間(T1≦T<T2)にログ記録領域2602へ記録されたログ情報の内、時刻T2に不揮発メモリ270へコピーすべきログデータを不揮発メモリ270にコピーする。本実施例では、時刻T1’で発生したイベントが定例作業である為、(図3の設定に基づき)当該ログデータを不揮発メモリ270にコピーしない。
At a timing (time T2) when a predetermined period has elapsed from time T1, the C-
時刻T2〜T3の区間では、通信装置10が転送すべきパケットを受信し(ステップS630)、ルーティングコントローラ330がルーティングメモリ340にアクセスして経路検索をしたところ(ステップS631、S632)、時刻T2’(T2≦T2’<T3)にて、ルーティングメモリ340のパリティエラーが検出された。ルーティングコントローラ330は、ルーティングメモリ340のパリティエラーをD−Plane CPU310を介してC−Plane CPU220に伝達し(ステップS633)、C−Plane CPU220は、D−Plane CPU310からのパリティエラーの通知を受け取ると、DRAM260のログ記録領域2602及び不揮発メモリ270にログを記録する(ステップS634、S635)。
In the interval from time T2 to T3, the
なお、時刻T2から所定の周期が過ぎたタイミング(時刻T3)でも、C−Plane CPU220は、時刻T2’にてログ記録領域2602へ記録されたログデータを読み出し(ステップS611−3)、不揮発メモリ270にコピーすべき情報が存在する場合、不揮発メモリ270にコピーする(ステップS612−3)。つまり、時刻T2から時刻T3の間(T2≦T<T3)にログ記録領域2602へ記録されたログ情報の内、時刻T3に不揮発メモリ270へコピーすべきログデータを不揮発メモリ270にコピーする。このとき、ログ記録領域2602へ記録されたログデータのうち、既に、不揮発メモリ270に格納されているログデータは、不揮発メモリ270にコピーしなくてよい。
Even at the timing (time T3) when a predetermined period has passed from time T2, the C-
時刻T3〜T4の区間では、時刻T3’(T3≦T3’<T4)にて、(ステップS601−1同様)通信装置10に対するコンフィグレーション情報がCLIから入力されると、C−Plane CPU220は、入力されたコンフィグレーション情報を変換し、時刻情報等と共にDRAM260内のログ記録領域2602へ記録する(ステップS601−2)。ステップS601−2で入力されるコンフィグレーション情報は、通信装置10に対する電力抑制である。このため、C−Plane CPU220は、電源モジュール80に供給電力低下を指示する。
In the section from time T3 to T4, when configuration information for the
その後、管理用インタフェース210は、時刻T3”にて、電源モジュール80の供給電力低下を検出し、C−Plane CPU220に伝達する(ステップS691)。C−Plane CPU220は、H/W障害発生としてDRAM260のログ記録領域2602及び不揮発メモリ270にログを記録する(ステップS692、S693)。
Thereafter, the
時刻T3から所定の周期が過ぎたタイミング(時刻T4)でも、時刻T3’、時刻T3”にてログ記録領域2602へ記録されたログデータを読み出し(ステップS611−4)、不揮発メモリ270にコピーすべき情報が存在する場合、不揮発メモリ270にコピーする(ステップS612−4)。つまり、時刻T3から時刻T4の間(T3≦T<T4)にログ記録領域2602へ記録されたログ情報の内、時刻T4に不揮発メモリ270へコピーすべきログデータを不揮発メモリ270にコピーする。
Even at a timing (time T4) when a predetermined period has passed since time T3, the log data recorded in the
このとき、ログ記録領域2602へ記録されたログデータのうち、既に、不揮発メモリ270に格納されているログデータは、不揮発メモリ270にコピーしなくてよい。
At this time, among the log data recorded in the
次に、DRAM260内のログ記録領域2602に記録されるデータ形式について説明する。
Next, a data format recorded in the
図6は、DRAM260内のログ記録領域2602に記録されるデータの例を示す図である。なお、図6では、ログ記録領域2602に記録されるデータをテーブル形式で説明するが、これらのデータは必ずしもテーブルによる構造で表現されず、それ以外のデータ構造(リスト、キュー等)で表現されてもよい。
FIG. 6 is a diagram showing an example of data recorded in the
ログ記録領域2602は、アドレス26021、時刻26022、検出部位(Source/Detector)26023、種別(Type)26024、要因(Factor)26025及びハードウェアエラーレベル26026を含む。
The
アドレス26021は、DRAM260におけるアドレスであり、ログ記録領域2602の開始アドレスが図6のoffsetである。時刻26022は、ログが採取された時刻である。検出部位26023は、ログが発生した又は検出された場所である。種別26024は、ログの種別であり、例えば、入力されたコンフィグレーション、定例作業、ハードウェアエラーなどがある。要因26025は、ログとして記録される操作及び動作の内容である。ハードウェアエラーレベル26026は、ハードウェア障害を分類して付与した識別子である。
The
図7は、不揮発メモリ270に記録されるデータの例を示す図である。なお、図7では、不揮発メモリ270に記録されるデータをテーブル形式で説明するが、これらのデータは必ずしもテーブルによる構造で表現されず、それ以外のデータ構造(リスト、キュー等)で表現されてもよい。
FIG. 7 is a diagram illustrating an example of data recorded in the
不揮発メモリ270は、アドレス2701、時刻2702、検出部位(Source/Detector)2703、種別(Type)2704、要因(Factor)2705及びハードウェアエラーレベル2706を含む。
The
アドレス2701は、不揮発メモリ270におけるアドレスである。時刻2702、検出部位2703、種別2704、要因2705及びハードウェアエラーレベル2706は、それぞれ、ログ記録領域2602の時刻26022、検出部位26023、種別26024、要因26025及びハードウェアエラーレベル26026と同じ情報を記録する。
An
次に、ログがログ記録領域2602に記録されるタイミングについて説明する。図6中で右側に付した符号は、図5のステップに対応している。
Next, the timing at which logs are recorded in the
アドレスがoffset+0のログには、図5のステップS601−1において、時刻T0’に管理端末90のCLIから通信装置10にユーザを追加する為のコマンドが入力されたことが記録されている。このログは、コマンド入力に起因するため、ハードウェアエラーレベル26026は0である。図6のログ記録領域2602にはビット列のみが格納可能である為、C−Plane CPU220がDRAM260へログを書き込む前に、各項目(種別26024、要因26025等)における値へ変換している。
The log whose address is offset + 0 records that a command for adding a user to the
アドレスがoffset+1のログには、図5のステップS621において、時刻T1’にDRAM260へ対して定例的な作業であるDRAMリフレッシュを行ったことが記録されている。このログは、定例作業に起因するため、ハードウェアエラーレベル26026は0である。
In the log whose address is offset + 1, it is recorded that DRAM refresh, which is a routine operation, is performed on the
アドレスがoffset+2のログには、図5のステップS634において、時刻T2’にルーティングメモリ340のパリティエラーの検出が記録されている。このログは、ハードウェアエラーに起因するが、ユーザインタフェース(図3参照)による設定に従って、ハードウェアエラーレベル26026は1である。
In the log whose address is offset + 2, the detection of the parity error in the
アドレスがoffset+3のログには、図5のステップS601−2において、時刻T3’に管理端末90のCLIから通信装置10の電力消費量を抑制する為のコマンドが入力されたことが記録されている。このログは、コマンド入力に起因するため、ハードウェアエラーレベル26026は0である。
The log whose address is offset + 3 records that a command for suppressing the power consumption of the
アドレスがoffset+4のログには、図5のステップS692において、時刻T3”に管理用インタフェース210によって電源モジュール80の供給電力低下が検出されたことが記録されている。このログは、装置全体の動作に関わる重度レベル障害である為、ハードウェアエラーレベル26026は3である。
In the log whose address is offset + 4, it is recorded in step S692 of FIG. 5 that a decrease in the power supply of the power supply module 80 is detected by the
次に、ログが不揮発メモリ270に記録されるタイミングについて説明する。図7中で右側に付した符号は、図5のステップに対応している。
Next, the timing when the log is recorded in the
アドレスが0のログは、ログ記録領域2602のアドレスがoffset+0のログに対応し、図5のステップS601−1において、時刻T0’に管理端末90のCLIから通信装置10にユーザを追加する為のコマンドが入力されたことが記録されたものである。このログは、図5のステップS611−1でDRAM260から読み出され、ステップS612−1で不揮発メモリ270に書き込まれる。
The log whose address is 0 corresponds to the log whose
アドレスが1のログは、ログ記録領域2602のアドレスがoffset+2のログに対応し、図5のステップS634において、時刻T2’にルーティングメモリ340のパリティエラーの検出が記録されたものである。このログは、ハードウェアエラーレベル26026が1だが、図3のユーザインタフェースにてH/W障害レベル1でも不揮発メモリに記録する設定を適用しているので、ステップS635で不揮発メモリ270にも書き込まれる(詳細は後述)。
The log whose address is 1 corresponds to the log whose address in the
アドレスが2のログは、ログ記録領域2602のアドレスがoffset+3のログに対応し、図5のステップS601−2において、時刻T3’に管理端末90のCLIから通信装置10の電力消費量を抑制する為のコマンドが入力されたことが記録されたものである。このログは、図5のステップS611−4でDRAM260から読み出され、ステップS612−4で不揮発メモリ270に書き込まれる。
The log with the
アドレスが3のログは、ログ記録領域2602のアドレスがoffset+4のログに対応し、図5のステップS692において、時刻T3”に管理用インタフェース210によって電源モジュール80の供給電力低下が検出されたことが記録されたものである。このログは、ハードウェアエラーレベル26026が3なので、ステップS693で不揮発メモリ270にも書き込まれる。
The log with the
図8は、DRAM260内のログ記録領域2602へアクセスする処理のフローチャートである。
FIG. 8 is a flowchart of processing for accessing the
通信装置10における各モジュールの起動シーケンスが終了(時刻T0、ステップS701)した後、C−Plane CPU220は、CLIから各種コンフィグレーションが入力されたかを判定する(ステップS702)。コンフィグレーションが入力されていない場合(ステップS702でNO)、ステップS704に進む。一方、コンフィグレーションが入力された場合(ステップS702でYES)、C−Plane CPU220は、入力されたコンフィグレーションをログ記録領域2602へ記録する為の形式(図6参照)に変換して、ログ記録領域2602に記録する(ステップS703)。図5のステップS601−1の例では、時刻26022がT0’、検出部位26023が入力I/FであるCLI、種別26024がconfig、要因26025がコンフィグレーションの内容(例えば、ユーザ追加)、ハードウェアエラーレベル26026が0であることを示す識別子を用いて記録する。この識別子への変換ルールはOSに組み込まれている。
After the activation sequence of each module in the
その後、C−Plane CPU220は、通信装置10内で定期的に実行される定例作業が実行されているかを判定する(ステップS704)。定例作業が実行されていない場合(ステップS704でNO)、ステップS706に進む。一方、定例作業が実行されている場合(ステップS704でYES)、C−Plane CPU220は、ステップS703と同様に、作業内容をログ記録領域2602へ記録する為の形式(図6参照)に変換して、ログ記録領域2602に記録する(ステップS705)。図5のステップS621の例では、時刻26022がT1’、検出部位26023がトリガ元であるC−Plane CPU、種別26024が定例作業、要因26025がDRAMリフレッシュ、ハードウェアエラーレベル26026が0であることを示す識別子を用いて記録する。
Thereafter, the C-
その後、通信装置10内でハードウェア障害が発生したかを判定する(ステップS706)。ハードウェアエラーが発生していない場合(ステップS706でNO)ステップS710に進む。一方、図5のステップS633及びステップS691の様なハードウェアエラーが発生している場合(ステップS706でYES)、ユーザインタフェース(図3参照)による設定に従って、ハードウェア障害のレベルを判定する(ステップS707)。当該ハードウェア障害のレベルが2以上である場合(ステップS707でYES)、ハードウェア障害の内容を、ログ記録領域2602へ記録させる為の形式(図6参照)に変換して、ログ記録領域2602に記録する。さらに、不揮発メモリ270へ記録させる為の形式(図7参照)に変換して、不揮発メモリ270に記録する(ステップS709)。
Thereafter, it is determined whether a hardware failure has occurred in the communication device 10 (step S706). If no hardware error has occurred (NO in step S706), the process advances to step S710. On the other hand, if a hardware error has occurred as in steps S633 and S691 in FIG. 5 (YES in step S706), the level of hardware failure is determined according to the setting by the user interface (see FIG. 3) (step S706). S707). When the level of the hardware failure is 2 or more (YES in step S707), the content of the hardware failure is converted into a format for recording in the log recording area 2602 (see FIG. 6), and the
図5のステップS634の例では、時刻26022がT2’、検出部位26023が検出元であるルーティングコントローラ、種別26024がH/Wエラー、要因26025がルーティングメモリパリティエラー、ハードウェアエラーレベル26026が1であることを示す識別子を用いて記録する。
In the example of step S634 in FIG. 5, the
当該ハードウェア障害のレベルが2未満である場合、ハードウェアエラーレベル1のハードウェア障害を不揮発メモリ270に記録するかを判定する(ステップS708)。ハードウェアエラーレベル1のハードウェア障害を不揮発メモリ270に記録することがユーザインタフェース(図3参照)によって設定されている場合(ステップS708でYES)、ステップS709に進む。一方、ハードウェア障害を不揮発メモリ270に記録しないことが設定されている場合(ステップS708でNO)、ステップS710に進む。
If the level of the hardware failure is less than 2, it is determined whether to record the hardware failure of the
図5のステップS635の例では、時刻26022がT2’、検出部位26023が検出元であるルーティングコントローラ、種別26024がH/Wエラー、要因26025がルーティングメモリパリティエラー、ハードウェアエラーレベル26026が1であることを示す識別子を用いて記録する。
In the example of step S635 in FIG. 5, the
その後、時刻がT1となったかを判定する(ステップS710)。時刻がT1となっていない場合(ステップS710でNO)、ステップS702に戻る。一方、時刻がT1となった場合(ステップS710でYES)、ログ記録領域2602に記録済の検出部位26023がCLIから入力されたコンフィグレーション(コマンド)のログを不揮発メモリ270にコピーする(ステップS711)。ここで、T1’(T1≦T1’<T2)でハードウェア障害ログが記録され、且つ時刻区間(T0≦T<T1)にCLIから入力されたコンフィグレーション(コマンド)のログが採取されている場合、不揮発メモリ270の記録順序を時系列通りとなるように書き換えとよい。
Thereafter, it is determined whether the time has reached T1 (step S710). If the time is not T1 (NO in step S710), the process returns to step S702. On the other hand, when the time reaches T1 (YES in step S710), a configuration (command) log in which the detected
その後、定例作業のログを不揮発メモリ270に記録するかを判定する(ステップS712)。定例作業のログを不揮発メモリ270に記録しないことがユーザインタフェース(図3参照)によって設定されている場合(ステップS712でNO)、ステップS702に戻る。一方、定例作業のログを不揮発メモリ270に記録することが設定されている場合(ステップS712でYES)、種別26024が定例作業のログをログ記録領域2602から読み出し、不揮発メモリ270にコピーする(ステップS713)。
Thereafter, it is determined whether or not a log of regular work is recorded in the nonvolatile memory 270 (step S712). If the user interface (see FIG. 3) is set not to record the log of the regular work in the nonvolatile memory 270 (NO in step S712), the process returns to step S702. On the other hand, when it is set to record the log of the regular work in the nonvolatile memory 270 (YES in step S712), the
ここで、T1’(T1≦T1’<T2)でハードウェア障害ログ又はCLIからのコマンドログが記録され、且つ時刻区間(T0≦T<T1)に定例作業ログが記録されている場合、不揮発メモリ270の記録順序を時系列通りとなるように書き換えるとよい。
Here, if a hardware failure log or a command log from the CLI is recorded at T1 ′ (T1 ≦ T1 ′ <T2) and a regular work log is recorded in the time interval (T0 ≦ T <T1), the nonvolatile memory The recording order of the
以上の処理によって、図7に示す様なログデータが不揮発メモリ270に格納される。
Through the above processing, log data as shown in FIG. 7 is stored in the
次に、図9、図10、図11などを参照して、C−Planeモジュール200内のコンポーネントにハードウェア障害が生じたため、C−Planeモジュール200を再起動するフローチャートを説明する。ここでは、C−Planeモジュール200自体の再起動と交換を例に説明するが、C−Planeモジュール200自体の再起動とC−Planeモジュール200上のコンポーネントの交換であってもよい。C−Planeモジュール200上のコンポーネントの交換の場合であっても、交換の際には、C−Planeモジュール200自体の再起動を行う。
Next, a flowchart for restarting the C-
まず、C−Plane CPU220は、ハードウェア障害を検出すると、DRAM260内のログ記録領域2602にログ(障害検出時刻、検出部位、障害レベル)を記録し(ステップS100)、その後、C−Plane CPU220は、前述したログ記録ルールに従って、不揮発メモリ270にもログを記録する(ステップS101)。なお、C−Plane CPU220は、S101の後、S102以降の処理を実行するが、S102以降の処理と並行して、図8の処理を実行する。
First, when detecting a hardware failure, the C-
次に、C−Plane CPU220は、ハードウェア(C−Planeモジュール200)を直ちに再起動する必要があるか否かを判定する(ステップS102)。例えば、ハードウェアエラーレベルが1のハードウェア障害は再起動が不要と判定し、ハードウェアエラーレベルが2又は3のハードウェア障害は直ちに再起動が必要であると判定してもよい。この再起動判定基準は、OSに実装される。C−Plane CPU220が再起動判定基準とハードウェアレベルとを比較して判定する。尚、ハードウェア障害の設定に関しては、図3のインタフェースを用いる。
Next, the C-
再起動が不要な場合は(ステップS102でNO)、通信装置10の運用を続行する(ステップS1021)。一方、直ちに再起動をする必要がある場合(ステップS102でYES)、C−Plane CPU220は、ハードウェア(C−Planeモジュール200)の交換が必要か否かを判定する(ステップS103)。例えば、ハードウェアエラーレベルが2のハードウェア障害は交換が不要と判定し、ハードウェアエラーレベルが3のハードウェア障害は交換が必要であると判定してもよい。この交換判定基準も、OSに実装される。C−Plane CPU220が交換判定基準とハードウェアレベルとを比較して判定する。
If the restart is unnecessary (NO in step S102), the operation of the
ハードウェア(C−Planeモジュール200)の交換が必要な場合(ステップS103でYES)、C−Plane CPU220は、装置管理者に対し、故障したコンポーネントを含むハードウェア(C−Planeモジュール200)の交換を促す為のハードウェア交換メッセージを管理端末90のコンソールに出力する(ステップS104)。このとき、交換が必要なコンポーネントを含むハードウェア(C−Planeモジュール200)をメッセージに記載し、ブートROM230に交換が必要なコンポーネントを含むハードウェア(C−Planeモジュール200)のシリアルナンバーを記録する。なお、シリアルナンバーの記録は、ブートROM230に限られず、不揮発性の記録部であればよい。
When the hardware (C-Plane module 200) needs to be replaced (YES in step S103), the C-
ステップS104において、C−Plane CPU220は、例えば、ハードウェア交換メッセージとして、「C−Planeモジュールの交換が必要です。交換しますか?Y/N」などを管理端末90のコンソールに出力する。C−Plane CPU220は、ハードウェア交換メッセージを出力した後、ハードウェア交換メッセージに対する管理端末90からの入力を受け付ける状態となる(ステップS1040)。
In step S104, the C-
ハードウェア交換メッセージに対する管理端末90からの入力が、「Y」である場合(ステップS1040でYES)、つまり、ハードウェア(C−Planeモジュール200)の交換を管理者が希望する場合、C−Plane CPU220は、ハードウェア(C−Planeモジュール200)の稼働を停止し、ハードウェア(C−Planeモジュール200)の状態を管理者がハードウェア(C−Planeモジュール200)を交換可能な状態へ移行させる。ハードウェア(C−Planeモジュール200)の交換後、新しいハードウェア(C−Planeモジュール200)のBIOS2301は、管理端末90からハードウェア(C−Planeモジュール200)を再起動する再起動指示を受け付ける状態となる(ステップS1041)。
If the input from the
その後、BIOS2301は、管理端末90からハードウェア(C−Planeモジュール200)の再起動指示を受け付けると(ステップS1041でYES)、BIOS2301は、当該ハードウェア(C−Planeモジュール200)を再起動し、BIOS2301は、ブートROM230からC−Planeモジュール200の各コンポーネントを動作させる為に必要な初期化パラメータ(初期設定用の設定情報)をロードし、各コンポーネントに設定する(ステップS105)。
Thereafter, when the
また、ハードウェア交換メッセージに対する管理端末90からの入力が、「N」である場合(ステップS1040でNO)、管理端末90からハードウェア(C−Planeモジュール200)の再起動指示を受け付けない場合(ステップS1041でNO)、C−Plane CPU220は、ステップS1034にジャンプし(ステップS1042)、通信装置10の運用を続行する(ステップS1021)。
Further, when the input from the
一方、ハードウェア(C−Planeモジュール200)の交換が不要な場合(ステップS103でNO)、C−Plane CPU220は、当該ハードウェア(C−Planeモジュール200)を再起動する。その後、BIOS2301が起動診断後にブートROM230から初期化パラメータ(初期設定用の設定情報)をロードし、各コンポーネントに設定する(ステップS1031)。
On the other hand, when the hardware (C-Plane module 200) need not be replaced (NO in step S103), the C-
再起動後、前述したように、C−Plane CPU220で起動されるBIOS2301が起動診断を開始する。なお、BIOS2301は、C−Plane CPU220の起動診断も行う(ステップS106、S1032)。そして、再起動の要因となったハードウェア(C−Planeモジュール200)が交換されたか否かを判定する(ステップS107、ステップS1033)。例えば、実装されているハードウェア(C−Planeモジュール200)のシリアルナンバーと、ステップS104にてブートROM230に記録したシリアルナンバーとを比較することによって判定することができる。なお、ハードウェア(C−Planeモジュール200)は、通信装置10が電源オンの状態で交換することができる。
After the restart, as described above, the
ステップS107において、故障が検出されたハードウェア(C−Planeモジュール200)が交換されていない場合(ステップS107でNO)、BIOS2301は、起動診断回数カウンタNの値を0とし(ステップS108)、Nの値が起動診断回数の上限値Xに達しているか否かを判定する(ステップS109)。上限値Xは装置管理者がユーザインタフェースを用いて設定することができる。
In step S107, when the hardware (C-Plane module 200) in which the failure is detected is not replaced (NO in step S107), the
Nの値が上限値Xに達している場合(ステップS109でYES)、BIOS2301は、当該ハードウェア(C−Planeモジュール200或いはC−Planeモジュール200の構成要素)は正常な動作が不可能と判定し、当該ハードウェア(C−Planeモジュール200或いはC−Planeモジュール200の構成要素)を無視する。具体的には、当該ハードウェア(C−Planeモジュール200或いはC−Planeモジュール200の構成要素)へ対してconfig設定を実施せず、当該ハードウェア(C−Planeモジュール200或いはC−Planeモジュール200の構成要素)に継続的にエラーが生じていることを出力する(例えば、エラーランプを点灯する)(ステップS1091)。
When the value of N has reached the upper limit value X (YES in step S109), the
一方、Nの値が上限値Xに達していない場合(ステップS109でNO)、BIOS2301は、当該ハードウェア(C−Planeモジュール200或いはC−Planeモジュール200の構成要素)に、障害が発生しているかを検出する(ステップS110)。ハードウェア(C−Planeモジュール200或いはC−Planeモジュール200の構成要素)に障害が検出されない場合(ステップS110でNO)、ステップS1034にジャンプする(ステップS1101)。一方、ハードウェア(C−Planeモジュール200或いはC−Planeモジュール200の構成要素)に障害が検出された場合(ステップS110でYES)、BIOS2301は、装置管理者へ対してハードウェア(C−Planeモジュール200)上における障害を検出している旨を通知するハードウェア障害検出メッセージを、管理端末90へ出力するようにC−Plane CPU220に指示する(ステップS111)。その後、BIOS2301は、Nの値を1だけ増加し(ステップS112)、当該ハードウェア(C−Planeモジュール200)を再起動し、ブートROM230から初期化パラメータ(初期設定用の設定情報)をロードし、各コンポーネントに設定する(ステップS113)。
On the other hand, if the value of N has not reached the upper limit value X (NO in step S109), the
一方、ステップS1033において、故障が検出されたハードウェア(C−Planeモジュール200)が交換されていない場合(ステップS1033でNO)、又はステップS110においてハードウェア(C−Planeモジュール200)上にて障害が検出されない場合(ステップS1101)、C−Plane CPU220は、ハードウェア障害の発生箇所が不揮発メモリ270であるか否かを判定する(ステップS1034)。ハードウェア障害の発生箇所が不揮発メモリ270ではない場合(ステップS1034でNO)、障害が発生した時刻区間より前の信頼できる定義情報(config)が不揮発メモリ270に格納されているので、C−Plane CPU220は、不揮発メモリ270にアクセスし、障害が発生した時刻区間のconfigである障害因子を、各コンポーネントにconfigとして設定させない為に切り分けを実施する。障害因子は、ハードウェアエラー障害因子とも称し、障害が発生した時刻区間に複数のconfigが有る場合には、これらの障害因子を纏めて障害因子群と称する。そして、障害因子または障害因子群をブロック定義として揮発メモリ260内のクリティカルフィルタ領域2601に構成する(ステップS1035)。なお、ブロック定義として他のconfigと区別することができれば、不揮発メモリ270など、他の記憶部に構成してもよい。その後、C−Plane CPU220は、不揮発メモリ270を参照し、ブロック定義の生成に用いた障害因子のログデータの時刻より前の時刻のconfigを当該ハードウェア(C−Planeモジュール200)に適用する。すなわち、C−Plane CPU220は、ステップS1035で構成されたブロック定義以外のconfigを当該ハードウェア(C−Planeモジュール200)に適用する(ステップS1036)。
On the other hand, when the hardware (C-Plane module 200) in which the failure is detected is not replaced in Step S1033 (NO in Step S1033), or a failure occurs on the hardware (C-Plane module 200) in Step S110. Is not detected (step S1101), the C-
次に、ステップS1031からステップS1036の処理の詳細について説明する。 Next, details of the processing from step S1031 to step S1036 will be described.
図10は、ステップS1031からステップS1036の処理の詳細を示すシーケンス図である。 FIG. 10 is a sequence diagram showing details of the processing from step S1031 to step S1036.
前述したように、通信装置10を構成するハードウェア(C−Planeモジュール200)が再起動されると、BIOS2301が、ブートROM230からC−Planeモジュール200上の各コンポーネントを動作させる為に必要な初期化パラメータ(初期設定用の設定情報)をロードし、各コンポーネントに設定する。そして、BIOS2301が装置診断プログラムを起動し、装置構成デバイス(不揮発性記憶装置A240、C−Plane CPU220、DRAM260、不揮発メモリ270、D−Plane CPU310、NIF400など)における故障の有無を診断する(ステップS201−1A〜S201−NA、ステップS201−1B〜S201−NB)。
As described above, when the hardware (C-Plane module 200) configuring the
一方、図9のステップS1031でハードウェア(C−Planeモジュール200)を再起動すると(ステップS1031)、ステップS201と同様に、BIOS2301が当該ハードウェア(C−Planeモジュール200)における故障の有無を診断する(ステップS1032)。故障が検出されたハードウェア(C−Planeモジュール200)が交換されていない場合(ステップS1033でNO)、C−Plane CPU220は、ハードウェア障害の発生箇所が不揮発メモリ270であるか否かを判定する(ステップS1034)。ハードウェア障害の発生箇所が不揮発メモリ270ではない場合(ステップS1034でNO)、C−Plane CPU220は、不揮発メモリ270にアクセスし、障害因子をconfigとして設定させない為のブロック定義を構成し、構成したブロック定義を揮発メモリ260内のクリティカルフィルタ領域2601に格納する(ステップS1035)。
On the other hand, when the hardware (C-Plane module 200) is restarted in Step S1031 of FIG. 9 (Step S1031), the
具体的には、C−Plane CPU220は、通信装置10の構成要素に関するデフォルトconfigをDRAM260内の各種コンフィグレーション格納領域2603に設定する(ステップS210)。その後、C−Plane CPU220は、不揮発メモリ270を参照し、不揮発メモリ270から図7のログデータ(含、ハードウェアエラー障害因子)を取得し(ステップS208−1)、取得したログデータをDRAM260内の自由領域2604に格納し、格納したログデータから障害因子を判定して、DRAM260内のクリティカルフィルタ領域2601に対し、判定した障害因子をブロック定義として設定する(ステップS208−2)。なお、C−Plane CPU220は、不揮発メモリ270を参照し、不揮発メモリ270に格納されたログデータ(含、ハードウェアエラー障害因子)から障害因子を判定して、DRAM260内のクリティカルフィルタ領域2601に対し、判定した障害因子をブロック定義として設定してもよい(ステップS208−2)。
Specifically, the C-
図11は、DRAM260内のクリティカルフィルタ領域2601に記録されるデータの例を示す図である。なお、図11では、クリティカルフィルタ領域2601に記録されるデータをテーブル形式で説明するが、これらのデータは必ずしもテーブルによる構造で表現されず、それ以外のデータ構造(リスト、キュー等)で表現されてもよい。
FIG. 11 is a diagram showing an example of data recorded in the
クリティカルフィルタ領域2601は、アドレス26011、検出部位(Source/Detector)26013、種別(Type)26014及び要因(Factor)26015を含む。
The
アドレス26011は、DRAM260におけるアドレスであり、クリティカルフィルタ領域2601の開始アドレスが図11のoffsetである。検出部位26013、種別26014及び要因26015は、それぞれ、不揮発メモリ270の検出部位2703、種別2704及び要因と同じ情報を記録する。
The
また、障害が発生した時刻区間のconfigを障害因子として記録できればよいので、図11は、上記に限られず、障害が発生した時刻区間のconfigを記録した時刻をブロック定義の要素として構成してもよい。 In addition, since it is only necessary to record the config of the time interval in which the failure occurs as a failure factor, FIG. 11 is not limited to the above, and the time at which the config of the time interval in which the failure occurred is recorded may be configured as a block definition element. Good.
具体的には、図11に示すクリティカルフィルタ領域2601には、高いレベル(ハードウェアエラーレベルが2以上)のハードウェア障害(図5のステップS691)が生じた時刻区間(T3≦T<T4)におけるCLIコマンド入力(図5のステップS601−2)を、時刻T3”で生じたハードウェアエラー(例えば、供給電力低下)の障害因子であると判定し、クリティカルフィルタ領域2601にブロック定義として設定している。
Specifically, in the
ブロック定義を設定する一連の流れを説明する。C−Plane CPU220は、不揮発メモリ270のログデータ(図7)からDRAM260内の自由領域2604にコピーしたログデータを参照して、ハードウェアエラーレベルが所定のレベル以上の時刻2702を特定する。不揮発メモリ270にログデータを格納するタイミングの間である時刻区間のうち、特定した時刻を含む時刻区間を特定する。そして、特定した時刻区間に含まれる時刻2702の種別2704がconfigのエントリーを全て特定し、特定したエントリーのconfigを障害因子、または、障害因子群としてブロック定義に設定する。
A series of flow for setting a block definition will be described. The C-
本実施例において、再起動が必要なハードウェアエラーレベルが2以上のハードウェア障害が生じた時刻である「T3”」を特定し、「T3”」を含む時刻区間T3≦T<T4を特定し、そして、時刻区間T3≦T<T4に含まれる時刻であるアドレス2701が「2」のconfigを特定し、特定したconfigの情報をブロック定義に設定した結果が図11である。
In the present embodiment, “T3 ″”, which is the time when a hardware failure having a hardware error level of 2 or more that needs to be restarted, is identified, and the time interval T3 ≦ T <T4 including “T3 ″” is identified. FIG. 11 shows the result of specifying the config whose
その後、C−Plane CPU220は、不揮発メモリ270を参照し、障害が発生した時刻区間より前のconfig情報を当該ハードウェア(C−Planeモジュール200)に適用し(ステップS1036)、装置運用フェーズに移行する(S1074)。
Thereafter, the C-
具体的には、C−Plane CPU220は、ブロック定義を設定した(ステップS208−2)後、自由領域2604に格納した不揮発メモリ270へ記録されたconfig情報のうち、ブロック定義の生成に用いた障害因子のログデータの時刻(T3’)より前、または、障害因子を含む時刻区間より前の時刻のconfig情報を参照し(ステップS209−1)、DRAM260内の各種コンフィグレーション格納領域2603へconfig情報をコピーする(ステップS209−2)。または、C−Plane CPU220は、ブロック定義を設定した(ステップS208−2)後、自由領域2604に格納した不揮発メモリ270へ記録されたconfig情報の全てをDRAM260内の各種コンフィグレーション格納領域2603へconfig情報をコピーする際に、クリティカルフィルタ領域2601を参照して、クリティカルフィルタ領域2601に記載されたconfig情報は、各種コンフィグレーション格納領域2603へ対しconfig情報としてコピーしない(ステップS209−2)。
Specifically, the C-
ステップS1036の終了後、C−Plane CPU220が通信装置10を通常運用フェーズに移行させる(S1074)。この後、必要に応じて、C−Plane CPU220は、NIF400にルーティングプロトコルの起動を指示し(ステップS206)、ルーティングメモリ340へのパラメータ設定をD−Plane CPU310に指示してもよい(ステップS207)。
After step S1036 is completed, the C-
ステップS107において、故障が検出されたハードウェア(C−Planeモジュール200)が交換されていると判定された場合(ステップS107でYES)、ステップS1033において、故障が検出されたハードウェア(C−Planeモジュール200)が交換されていると判定された場合(ステップS1033でYES)、又はステップS1034において、ハードウェア障害の発生箇所が不揮発メモリ270であると判定された場合(ステップS1034でYES)、不揮発メモリ270に格納されているconfig情報が誤っている可能性がある。このため、C−Plane CPU220は、時刻T0以降の通信装置10に関する各種config情報が、不揮発メモリ270に未保存であるメッセージを管理端末90へ出力する(ステップS1071)。その後、C−Plane CPU220は、通信装置10に関する各種デフォルトconfig情報を不揮発性記憶装置A240から読み出して、交換されたハードウェア(C−Planeモジュール200)に適用し(ステップS1072)、通信装置10に関する追加config情報の設定を促すメッセージを出力する(ステップS1073)。その後、装置運用フェーズに移行する(S1074)。
If it is determined in step S107 that the hardware (C-Plane module 200) in which the failure is detected is replaced (YES in step S107), the hardware (C-Plane in which the failure is detected in step S1033). If it is determined that the module 200) has been replaced (YES in step S1033), or if it is determined in step S1034 that the location where the hardware failure has occurred is the nonvolatile memory 270 (YES in step S1034), the nonvolatile memory The config information stored in the
また、故障したハードウェアが、C−Planeモジュール200上の各コンポーネントの内、不揮発性記憶装置A240などの取り外し可能なコンポーネントの場合、ステップS107でYES、ステップS1033でYESの場合に、ステップS1034へジャンプしてもよい。つまり、適宜C−Planeモジュール200の電源を落として、故障したコンポーネントを交換し、ステップS1034以降の処理を実行してもよい。
If the failed hardware is a removable component such as the non-volatile storage device A240 among the components on the C-
この場合、取り外し可能なコンポーネント単位でハードウェア交換を行っても、ブロック定義を参照してconfig情報を設定することができるため、通信装置10の可用性及び耐障害性を向上することができる。
In this case, the config information can be set with reference to the block definition even if hardware replacement is performed in units of removable components, so that the availability and fault tolerance of the
図12を参照して、D−Planeモジュール300内のコンポーネントにハードウェア障害が生じた際、D−Planeモジュール300を再起動するフローチャートを説明する。ここでは、D−Planeモジュール300自体の再起動と交換を例に説明するが、D−Planeモジュール300自体の再起動とD−Planeモジュール300上のコンポーネントの交換であってもよい。D−Planeモジュール300上のコンポーネントの交換の場合であっても、交換の際には、D−Planeモジュール300自体の再起動を行う。
With reference to FIG. 12, a flowchart for restarting the D-
まず、C−Plane CPU220は、検出したハードウェア障害をログ記録領域2602に記録する(ステップS500)。ステップS500〜S503の処理は、図9のS100〜S103の処理と同じである。また、ステップS5021の処理は、図9のステップS1021の処理と同じである。また、ステップS507のNOの後のステップS508〜S513の処理は、図9のステップS107のNOの後のステップS108〜S113の処理と同じである。さらに、ステップS5035〜S5036の処理は、図9のステップS1035〜S1036の処理と同じである。
First, the C-
ステップS504において、C−Plane CPU220は、例えば、ハードウェア交換メッセージとして、「D−Planeモジュールの交換が必要です。交換しますか?Y/N」などを管理端末90のコンソールに出力する。C−Plane CPU220は、ハードウェア交換メッセージを出力した後、ハードウェア交換メッセージに対する管理端末90からの入力を受け付ける状態となる(ステップS5040)。
In step S504, the C-
ハードウェア交換メッセージに対する管理端末90からの入力が、「Y」である場合(ステップS5040でYES)、つまり、ハードウェア(D−Planeモジュール300)の交換を管理者が希望する場合、C−Plane CPU220は、ハードウェア(D−Planeモジュール300)の稼働を停止し、ハードウェア(D−Planeモジュール300)の状態を管理者がハードウェア(D−Planeモジュール300)を交換可能な状態へ移行させる指示をD−Plane CPU310に送信する。D−Plane CPU310は、C−Plane CPU220からハードウェア(D−Planeモジュール300)を交換可能な状態へ移行させる指示を受信すると、ハードウェア(D−Planeモジュール300)の稼働を停止し、ハードウェア(D−Planeモジュール300)の状態を管理者がハードウェア(D−Planeモジュール300)を交換可能な状態へ移行させる。ハードウェア(D−Planeモジュール300)の交換後、C−Planeモジュール200のBIOS2301は、管理端末90からハードウェア(D−Planeモジュール300)を再起動する再起動指示を受け付ける状態となる(ステップS5041)。
If the input from the
その後、BIOS2301は、管理端末90からハードウェア(D−Planeモジュール300)の再起動指示を受け付けると(ステップS5041でYES)、BIOS2301は、当該ハードウェア(D−Planeモジュール300)を再起動し、BIOS2301は、ブートROM230からD−Planeモジュール300の各コンポーネントを動作させる為に必要な初期化パラメータ(初期設定用の設定情報)をロードし、各コンポーネントに設定する(ステップS505)。
Thereafter, when the
再起動後、BIOS2301が起動診断を開始し(ステップS506)、再起動の要因となったハードウェア(D−Planeモジュール300)が交換されたか否かを判定する(ステップS507)。例えば、実装されているハードウェア(D−Planeモジュール300)のシリアルナンバーと、ステップS504にてブートROM230に記録したシリアルナンバーとを比較することによって判定することができる。なお、ハードウェア(D−Planeモジュール300)は、通信装置10が電源オンの状態で交換することができる。また、ステップS5031〜S5032の処理は、S506〜S507の処理と同じである。
After the restart, the
ステップS507において、図9のステップS107と同様に、BIOS2301は、再起動の要因となったハードウェア(D−Planeモジュール300)が交換されたか否かを、例えば、再起動前後のD−Planeモジュール300のシリアルナンバーを比較することにより判定する。この場合、D−Planeモジュール300のシリアルナンバーは、ブートROM230に限られず、C−Planeモジュール200のいずれかの記憶部に記録すればよい。故障が検出されたハードウェア(D−Planeモジュール300)が交換されていない場合(ステップS507でNO)、ステップS508に進む。一方、故障が検出されたハードウェア(D−Planeモジュール300)が交換されている場合(ステップS507でYES)、ステップS5035に進む。
In step S507, as in step S107 of FIG. 9, the
ステップS509において、図9のステップS109と同様に、BIOS2301は、Nの値が起動診断回数の上限値Xに達しているか否かを判定する。Nの値が上限値Xに達している場合(ステップS509でYES)、D−Plane CPU310は、当該ハードウェア(D−Planeモジュール300或いはD−Planeモジュール300の構成要素)内の障害箇所へconfigを設定せず(ステップS5091)、装置運用フェーズに移行する(S5092)。
In step S509, as in step S109 of FIG. 9, the
ステップS510において、図9のステップS110と同様に、BIOS2301は、当該ハードウェア(D−Planeモジュール300或いはC−Planeモジュール200の構成要素)に、障害が発生しているかを検出する(ステップS510)。ハードウェア(D−Planeモジュール300或いはC−Planeモジュール200の構成要素)に障害が検出されない場合(ステップS510でNO)、ステップS5035にジャンプする(ステップS5101)。一方、ハードウェア(D−Planeモジュール300或いはC−Planeモジュール200の構成要素)に障害が検出された場合(ステップS510でYES)、ステップS511に進む。
In step S510, as in step S110 of FIG. 9, the
ステップS5033において、図9のステップS1033と同様に、BIOS2301は、再起動の要因となったハードウェア(D−Planeモジュール300)が交換されたか否かを判定するが、故障が検出されたハードウェア(D−Planeモジュール300)が交換されているか否かにかかわらず、ステップS5035に進む。
In step S5033, as in step S1033 of FIG. 9, the
ステップS5035では、図9のステップS5035と同様に、C−Plane CPU220は、不揮発メモリ270にアクセスし、障害因子をconfigとして各コンポーネントに設定させない為のブロック定義を揮発メモリ260内のクリティカルフィルタ領域2601に構成する(ステップS5035)。なお、ブロック定義は、不揮発メモリ270など、他の記憶部に構成してもよい。その後、C−Plane CPU220は、不揮発メモリ270を参照し、ブロック定義の生成に用いた障害因子のログデータの時刻より前のD−Planeモジュール300用のconfigを、D−Planeモジュール300に適用する指示をD−Plane CPU310に送信し、D−Plane CPU310は、C−Plane CPU220からの指示を受けて、ブロック定義の生成に用いた障害因子のログデータの時刻より前のD−Planeモジュール300用のconfigを当該ハードウェア(D−Planeモジュール300)に適用し(ステップS5036)、装置運用フェーズに移行する(S5092)。
In step S5035, as in step S5035 of FIG. 9, the C-
以上、D−Planeモジュール300内のコンポーネントにハードウェア障害が生じた際におけるD−Planeモジュール300を再起動する処理(図12)に関し、C−Planeモジュール200内のコンポーネントにハードウェア障害が生じた際におけるC−Planeモジュール200を再起動する処理(図9)との相違点を主に説明した。この相違点は、D−Planeモジュール300が不揮発メモリを有しないことに起因する。このため、図9のステップS1034による切り分けが不要となり、ステップS1071〜S1073が不要となる。
As described above, regarding the process of restarting the D-
また、D−Planeモジュール300では、障害が発生したコンポーネントへconfig設定を行ったとしても、当該コンポーネントは正常に動作しないため、ステップS509でYESの場合に、当該コンポーネントへのconfig設定を実施しない(ステップS5091)。例えば、回線I/F410−1〜410−Nのいずれかのポートに障害がある場合、障害ポートにconfigを設定せず、つまり、障害ポートを閉塞すれば、通信装置10の動作は継続できる。この場合、config設定が実施されない閉塞されたポートとリンクアグリゲーションを構成しているポートがあれば、通信可能である。
Further, in the D-
以上の構成によって、前述した課題を解決可能な通信装置(ネットワークノード)10を提供することができる。 With the above configuration, a communication device (network node) 10 that can solve the above-described problems can be provided.
以上に説明したように、本発明の実施例によると、通信装置10の障害の原因となるコンフィグレーション情報(障害因子)を切り分け、通信装置10において障害因子の反映を阻止する為のブロック定義を構成することができる。このため、通信装置の可用性及び耐障害性が向上する。
As described above, according to the embodiment of the present invention, the configuration information (failure factor) causing the failure of the
なお、不揮発メモリを搭載しないC−Planeモジュール200を二重化する方法では、意図しない電源遮断発生の際、装置内にログ情報を保持できず、装置障害を引き起こす設定情報の特定および切り分けが困難な為、前述した課題を解決できない。
Note that, in the method of duplicating the C-
また、NIFモジュール400−1〜400−N、D−Planeモジュール300及びC−Planeモジュール200に設定された設定情報及び通信装置10の状態を示すログ情報をDRAM260に随時格納し、通信装置10で検出した障害の情報をDRAM260に格納し、前記設定情報及び前記ログ情報のうち所定の条件を満たすものと、前記障害の情報とを、所定のタイミングでDRAM260から読み出し、不揮発メモリ270に格納する。そして、NIFモジュール400−1〜400−Nや、D−Planeモジュール300或いはC−Planeモジュール200を再起動し、検出された障害の原因となる設定情報より前に不揮発メモリ270に格納された設定情報を用いて、NIFモジュール400−1〜400−N、D−Planeモジュール300或いはC−Planeモジュール200を設定するので、障害発生前の状態に容易に戻すことができる。
Further, setting information set in the NIF modules 400-1 to 400-N, the D-
また、ログ情報のうち、所定の条件に適合するものをDRAM260から読み出し、不揮発メモリ270に格納するので、不揮発メモリ270に格納されるログ情報を減らすことができ、不揮発メモリ270の耐久性が向上し、不揮発メモリ270のアクセス速度が比較的遅くてもよく、必要な不揮発メモリ270の容量を低減でき、不揮発メモリ270を搭載するためのスペースを低減することができる。
Further, since log information that meets a predetermined condition is read from the
さらに、障害情報のうち、所定の条件に適合するものをDRAM260から読み出し、不揮発メモリ270に格納するので、不揮発メモリ270に格納される障害情報を減らすことができ、後に障害情報を見たときに容易に障害要因を切り分けることができる。また、不揮発メモリ270の耐久性が向上し、不揮発メモリ270のアクセス速度が比較的遅くてもよく、必要な不揮発メモリ270の容量を低減でき、不揮発メモリ270を搭載するためのスペースを低減することができる。
Furthermore, since failure information that meets a predetermined condition is read from the
また、障害を発生させた要因であると判定された設定情報を、再び当該通信装置に適用しないためのブロック定義を保持するので、同じ障害要因が適用されず、繰り返し障害が発生することを防止することができる。このため、通信装置の停止時間を短くすることができ、耐障害性および可用性を向上することができる。 In addition, since the setting information that has been determined to be the cause of the failure is retained in the block definition so that it will not be applied to the communication device again, the same failure factor is not applied, preventing repeated failures. can do. For this reason, the stop time of a communication apparatus can be shortened and fault tolerance and availability can be improved.
また、障害が検出されたハードウェアが交換された場合、初期設定用の設定情報を用いて、交換されたハードウェアを初期化するので、最低限の動作を確保することができる。 In addition, when the hardware in which a failure is detected is replaced, the replaced hardware is initialized using the setting information for initial setting, so that a minimum operation can be ensured.
また、障害情報を不揮発メモリ270に格納するかを判定するための条件を設定するためのインタフェースを提供するので、ユーザの希望に合わせて不揮発メモリ270に格納する情報を選択することができる。
In addition, since an interface for setting a condition for determining whether or not to store failure information in the
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を有するものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。 The present invention is not limited to the above-described embodiments, and includes various modifications and equivalent configurations within the scope of the appended claims. For example, the above-described embodiments have been described in detail for easy understanding of the present invention, and the present invention is not necessarily limited to those having all the configurations described. A part of the configuration of one embodiment may be replaced with the configuration of another embodiment. Moreover, you may add the structure of another Example to the structure of a certain Example. In addition, for a part of the configuration of each embodiment, another configuration may be added, deleted, or replaced.
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。 In addition, each of the above-described configurations, functions, processing units, processing means, etc. may be realized in hardware by designing a part or all of them, for example, with an integrated circuit, and the processor realizes each function. It may be realized by software by interpreting and executing the program to be executed.
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD等の記録媒体に格納することができる。 Information such as programs, tables, and files that realize each function can be stored in a storage device such as a memory, a hard disk, and an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, and a DVD.
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。 Further, the control lines and the information lines are those that are considered necessary for the explanation, and not all the control lines and the information lines that are necessary for the mounting are shown. In practice, it can be considered that almost all the components are connected to each other.
10 通信装置
80 電源
90 管理端末
200 C−Plane(制御系)モジュール
210 管理用インタフェース
220 C−Plane CPU
230 ブートROM
240 不揮発性記憶装置A
250 Bridge
260 DRAM
270 不揮発メモリ
300 D−Planeモジュール
310 D−Plane CPU
320 不揮発性記憶装置B
330 ルーティングコントローラ
340 ルーティングメモリ
350 バッファコントローラ
360 バッファメモリ
400−1〜400−N ネットワークI/Fモジュール
410−1〜410−N 回線インタフェース
10 Communication Device 80
230 Boot ROM
240 Nonvolatile memory device A
250 Bridge
260 DRAM
270 Non-volatile memory 300 D-Plane module 310 D-Plane CPU
320 Nonvolatile storage device B
330
Claims (10)
前記パケットの転送先を決定する転送制御部と、
前記転送制御部を制御する制御部と、を備え、
前記制御部は、前記転送制御部の設定を行い、かつ、前記各部の状態を監視する第1のプロセッサと、前記第1のプロセッサがアクセスする揮発メモリと、前記第1のプロセッサがアクセスする不揮発メモリと、を有し、
前記転送制御部及び前記制御部には設定情報に従って動作パラメータが設定され、
前記第1のプロセッサは、
前記転送制御部及び前記制御部に設定される設定情報及び前記各部の状態を示すログ情報を、前記設定情報及び前記ログ情報が発生した後に前記揮発メモリに格納し、
前記制御部に障害が検出された場合に、前記検出された前記制御部の障害の情報を前記揮発メモリに格納し、第1の所定の条件に適合する前記制御部の障害の情報を前記不揮発メモリに格納し、
前記設定情報及び前記ログ情報の全部又は一部を、所定のタイミングで前記揮発メモリから読み出し、前記不揮発メモリに格納し、
前記制御部を再起動した後、前記検出された前記制御部の障害が発生したときに前記不揮発メモリに格納されている設定情報を、前記制御部の障害を発生させた要因であると判定し、
前記制御部の障害を発生させた要因であると判定された設定情報を、再び当該通信装置に適用しないための定義情報を生成し、前記不揮発メモリ又は前記揮発メモリに格納し、
前記不揮発メモリに格納された設定情報のうち、前記検出された前記制御部の障害の原因となる設定情報より前の時刻の情報であって、かつ、前記定義情報に該当しない情報を用いて、前記制御部を設定することを特徴とする通信装置。 A communication device for transmitting and receiving packets,
A transfer control unit for determining a transfer destination of the packet;
A control unit for controlling the transfer control unit,
The control unit sets the transfer control unit and monitors a state of each unit, a volatile memory accessed by the first processor, and a non-volatile accessed by the first processor A memory, and
Operation parameters are set according to setting information in the transfer control unit and the control unit,
The first processor is
The log information indicating the state of the setting information and the respective portions the Ru is set in the transfer control unit and the control unit, and stored in the volatile memory after the setting information and the log information is generated,
If a fault is detected in the control unit, it stores information of the detected failure of the controller to the volatile memory, the non-fault information conforming the control unit to the first predetermined condition Store it in memory,
All or part of the setting information and the log information is read from the volatile memory at a predetermined timing, and stored in the nonvolatile memory.
After restarting the control unit, when the detected failure of the control unit occurs, the setting information stored in the non-volatile memory is determined to be a factor causing the failure of the control unit. ,
The setting information determined to be a factor causing the failure of the control unit, generating definition information not to be applied to the communication device again, and storing in the nonvolatile memory or the volatile memory,
Of the setting information stored in the nonvolatile memory, information that is information at a time prior to the detected setting information that causes the failure of the control unit , and information that does not correspond to the definition information , A communication apparatus that sets the control unit.
前記第1のプロセッサは、
前記ログ情報を前記不揮発メモリに格納する設定がされている場合、前記ログ情報を所定のタイミングで前記揮発メモリから読み出し、前記不揮発メモリに格納し、
前記検出した前記制御部の障害が前記第1の所定の条件に適合する場合、前記第1の所定の条件に適合する制御部の障害の情報を、所定のタイミングで前記揮発メモリから読み出し、前記不揮発メモリに格納することを特徴とする通信装置。 The communication device according to claim 1,
The first processor is
When the log information is set to be stored in the nonvolatile memory, the log information is read from the volatile memory at a predetermined timing, and stored in the nonvolatile memory.
When the detected failure of the control unit conforms to the first predetermined condition, information on the failure of the control unit conforming to the first predetermined condition is read from the volatile memory at a predetermined timing, A communication device that is stored in a non-volatile memory.
前記第1のプロセッサは、 The first processor is
前記制御部が交換されたかを判定し、 Determine whether the controller has been replaced;
前記制御部が交換された場合、初期設定用の設定情報を用いて、当該制御部を初期化することを特徴とする通信装置。 When the control unit is replaced, the control unit is initialized using setting information for initial setting.
前記第1のプロセッサは、前記ログ情報を前記不揮発メモリに格納するかを設定するためのインタフェースを提供することを特徴とする通信装置。 The communication device according to claim 1, wherein the first processor provides an interface for setting whether to store the log information in the nonvolatile memory.
前記転送制御部は、前記制御部の指示を受けて前記転送制御部の設定を行う第2のプロセッサを有し、 The transfer control unit includes a second processor configured to set the transfer control unit in response to an instruction from the control unit,
前記第2のプロセッサは、 The second processor is
前記転送制御部に障害が検出されると、前記検出した前記転送制御部の障害の情報を前記制御部に通知し、 When a failure is detected in the transfer control unit, the information of the detected failure of the transfer control unit is notified to the control unit,
前記第1のプロセッサは、 The first processor is
前記第2のプロセッサから前記検出した前記転送制御部の障害の情報を受けると、前記不揮発メモリに格納し、 Upon receiving information on the detected failure of the transfer control unit from the second processor, the information is stored in the nonvolatile memory,
前記転送制御部を再起動し、 Restart the transfer controller,
前記検出された前記転送制御部の障害が発生する前に前記不揮発メモリに格納された設定情報を用いて、前記転送制御部を設定する指示を前記第2のプロセッサに送信することを特徴とする通信装置。 An instruction to set the transfer control unit is transmitted to the second processor by using setting information stored in the nonvolatile memory before the detected failure of the transfer control unit occurs. Communication device.
前記通信装置は、前記パケットの転送先を決定する転送制御部と、前記転送制御部を制御する制御部と、を有し、 The communication apparatus includes a transfer control unit that determines a transfer destination of the packet, and a control unit that controls the transfer control unit,
前記制御部は、前記転送制御部の設定を行い、かつ、前記各部の状態を監視する第1のプロセッサと、前記第1のプロセッサがアクセスする揮発メモリと、前記第1のプロセッサがアクセスする不揮発メモリと、を有し、 The control unit sets the transfer control unit and monitors a state of each unit, a volatile memory accessed by the first processor, and a non-volatile accessed by the first processor A memory, and
前記転送制御部及び前記制御部には設定情報に従って動作パラメータが設定され、 Operation parameters are set according to setting information in the transfer control unit and the control unit,
前記方法は、 The method
前記第1のプロセッサが、前記転送制御部及び前記制御部に設定される設定情報及び前記各部の状態を示すログ情報を、前記設定情報及び前記ログ情報が発生した後に前記揮発メモリに格納し、 The first processor stores setting information set in the transfer control unit and the control unit and log information indicating a state of each unit in the volatile memory after the setting information and the log information are generated,
前記制御部に障害が検出された場合に、前記第1のプロセッサが、前記検出された前記制御部の障害の情報を前記揮発メモリに格納し、第1の所定の条件に適合する前記制御部の障害の情報を前記不揮発メモリに格納し、 When a failure is detected in the control unit, the first processor stores information on the detected failure of the control unit in the volatile memory, and the control unit conforms to a first predetermined condition Information of failure in the non-volatile memory,
前記第1のプロセッサが、前記設定情報及び前記ログ情報の全部又は一部を、所定のタイミングで前記揮発メモリから読み出し、前記不揮発メモリに格納し、 The first processor reads all or part of the setting information and the log information from the volatile memory at a predetermined timing, and stores it in the nonvolatile memory.
前記第1のプロセッサが、前記制御部を再起動した後、前記検出された前記制御部の障害が発生したときに前記不揮発メモリに格納されている設定情報を、前記制御部の障害を発生させた要因であると判定し、 After the first processor restarts the control unit, when the detected failure of the control unit occurs, the setting information stored in the nonvolatile memory is caused to cause the failure of the control unit. It was determined that
前記第1のプロセッサが、前記制御部の障害を発生させた要因であると判定された設定情報を、再び当該通信装置に適用しないための定義情報を生成し、前記不揮発メモリ又は前記揮発メモリに格納し、 The first processor generates definition information for not applying the setting information determined to be the cause of the failure of the control unit to the communication device again, and stores the definition information in the nonvolatile memory or the volatile memory. Store and
前記第1のプロセッサが、前記不揮発メモリに格納された設定情報のうち、前記検出された前記制御部の障害の原因となる設定情報より前の時刻の情報であって、かつ、前記定義情報に該当しない情報を用いて、前記制御部を設定することを特徴とする方法。 The first processor is information at a time before setting information that causes the failure of the detected control unit among the setting information stored in the nonvolatile memory, and the definition information includes A method of setting the control unit using information that does not correspond.
前記ログ情報を前記不揮発メモリに格納する設定がされている場合、前記第1のプロセッサは、前記ログ情報を所定のタイミングで前記揮発メモリから読み出し、前記不揮発メモリに格納し、 When the log information is set to be stored in the nonvolatile memory, the first processor reads the log information from the volatile memory at a predetermined timing, stores the log information in the nonvolatile memory,
前記検出した前記制御部の障害が前記第1の所定の条件に適合する場合、前記第1のプロセッサは、前記第1の所定の条件に適合する制御部の障害の情報を、所定のタイミングで前記揮発メモリから読み出し、前記不揮発メモリに格納することを特徴とする方法。 When the detected failure of the control unit meets the first predetermined condition, the first processor sends information on the failure of the control unit that meets the first predetermined condition at a predetermined timing. Reading from the volatile memory and storing in the non-volatile memory.
前記第1のプロセッサは、 The first processor is
前記制御部が交換されたかを判定し、 Determine whether the controller has been replaced;
前記制御部が交換された場合、初期設定用の設定情報を用いて、当該制御部を初期化することを特徴とする方法。 When the control unit is exchanged, the control unit is initialized using setting information for initial setting.
前記第1のプロセッサは、前記ログ情報を前記不揮発メモリに格納するかを設定するためのインタフェースを提供することを特徴とする方法。 The method according to claim 1, wherein the first processor provides an interface for setting whether to store the log information in the nonvolatile memory.
前記転送制御部は、前記制御部の指示を受けて前記転送制御部の設定を行う第2のプロセッサを有し、 The transfer control unit includes a second processor configured to set the transfer control unit in response to an instruction from the control unit,
前記第2のプロセッサは、 The second processor is
前記転送制御部に障害が検出されると、前記検出した前記転送制御部の障害の情報を前記不揮発メモリに格納し、 When a failure is detected in the transfer control unit, information on the detected failure of the transfer control unit is stored in the nonvolatile memory,
前記第1のプロセッサは、 The first processor is
前記転送制御部を再起動し、 Restart the transfer controller,
前記第2のプロセッサは、 The second processor is
前記検出された前記転送制御部の障害が発生する前に前記不揮発メモリに格納された設定情報を用いて、前記転送制御部を設定することを特徴とする方法。 A method comprising: setting the transfer control unit using setting information stored in the non-volatile memory before a failure of the detected transfer control unit occurs.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014143103A JP6310348B2 (en) | 2014-07-11 | 2014-07-11 | COMMUNICATION DEVICE AND METHOD FOR CONTROLLING COMMUNICATION DEVICE |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014143103A JP6310348B2 (en) | 2014-07-11 | 2014-07-11 | COMMUNICATION DEVICE AND METHOD FOR CONTROLLING COMMUNICATION DEVICE |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016019266A JP2016019266A (en) | 2016-02-01 |
JP6310348B2 true JP6310348B2 (en) | 2018-04-11 |
Family
ID=55234159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014143103A Active JP6310348B2 (en) | 2014-07-11 | 2014-07-11 | COMMUNICATION DEVICE AND METHOD FOR CONTROLLING COMMUNICATION DEVICE |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6310348B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111850953A (en) * | 2019-04-18 | 2020-10-30 | 青岛海尔洗衣机有限公司 | Fault information collection control method for clothes treatment equipment |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001211231A (en) * | 2000-01-25 | 2001-08-03 | Nec Corp | Transmission unit management system and history management system used for the system |
JP2006050137A (en) * | 2004-08-03 | 2006-02-16 | Kddi Corp | Method and program for diagnosing network connection, and its storage medium |
-
2014
- 2014-07-11 JP JP2014143103A patent/JP6310348B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016019266A (en) | 2016-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5623593B2 (en) | Rack and method for simultaneously updating a basic input / output system | |
JP6003350B2 (en) | Monitoring device, information processing device, and monitoring method | |
US8498967B1 (en) | Two-node high availability cluster storage solution using an intelligent initiator to avoid split brain syndrome | |
JP5657475B2 (en) | Operation management apparatus and method | |
US10963351B2 (en) | Data storage backup system | |
GB2478625A (en) | Deleting snapshot backups for unstable virtual machine configurations | |
US11157373B2 (en) | Prioritized transfer of failure event log data | |
JP2018181325A (en) | Data path monitoring in distributed storage network | |
CN108369544A (en) | The server delayed in computing system restores | |
US8949653B1 (en) | Evaluating high-availability configuration | |
CN112199240B (en) | Method for switching nodes during node failure and related equipment | |
JP6511739B2 (en) | Redundant system and redundant method | |
JP6310348B2 (en) | COMMUNICATION DEVICE AND METHOD FOR CONTROLLING COMMUNICATION DEVICE | |
JP5440073B2 (en) | Information processing apparatus, information processing apparatus control method, and control program | |
JP6124644B2 (en) | Information processing apparatus and information processing system | |
KR20210054480A (en) | Backup recovery method for large scale cloud data center autonomous operation | |
TW201523447A (en) | Server system and firmware update method | |
JP7059859B2 (en) | Control method, controller and control program | |
WO2013136605A1 (en) | Port malfunction detection device, computer, network system and program | |
US10506042B2 (en) | Storage system that includes a plurality of routing circuits and a plurality of node modules connected thereto | |
US10877834B2 (en) | Logging reboots of network devices | |
JP2007293802A (en) | Disk array apparatus, and control method and control program for disk array apparatus | |
JP2006079155A (en) | Information processor | |
JP5696492B2 (en) | Failure detection apparatus, failure detection method, and failure detection program | |
JP2005056347A (en) | Method and program for succeeding server function |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161110 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170824 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170829 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171024 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180227 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180316 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6310348 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |