(57)【特許請求の範囲】
【請求項１】
ネットワーク中継装置であって、
前記ネットワーク中継装置の各部を制御する主制御部と、
外部との間でパケットを送受信するネットワークインタフェース部と、
前記ネットワークインタフェース部を介して受信した受信パケットの宛先判定を行う中継処理部と、
を備え、
前記ネットワークインタフェース部は、
物理回線がそれぞれ接続された複数の回線収容部と、
回路データを記憶するデータ記憶部と、
所定の機能を有する論理回路が実現されるプログラマブル論理回路と、
前記回路データを用いて、前記プログラマブル論理回路に対して前記論理回路を構成させる設定回路と、
前記プログラマブル論理回路以外の回路に備えられると共に、各回線収容部の状態を、データ送受信が可能なアクティブ状態とデータ送受信が不可能なスタンバイ状態とのいずれかに制御する状態制御部と、
を備える、ネットワーク中継装置。
【請求項２】
請求項１記載のネットワーク中継装置であって、
前記プログラマブル論理回路は、第一の制御信号が伝達される第一の制御信号線を介して前記主制御部と接続され、前記第一の制御信号に従って制御され、
前記設定回路は、第二の制御信号が伝達される第二の制御信号線を介して前記主制御部と接続され、前記第二の制御信号に従って制御される、ネットワーク中継装置。
【請求項３】
請求項２記載のネットワーク中継装置であって、
前記主制御部は、前記第一の制御信号により前記プログラマブル論理回路のコンフィグレーションを制御する、ネットワーク中継装置。
【請求項４】
請求項１から３のいずれか一項記載のネットワーク中継装置であって、
前記複数の回線収容部と、前記プログラマブル論理回路とは、前記複数の回線収容部を制御するための制御情報が伝達される制御信号線で接続されていると共に、
前記複数の回線収容部と、前記状態制御部とは、各回線収容部の前記アクティブ状態と前記スタンバイ状態とを制御するためのレベル信号が伝達されるレベル信号線で接続されている、ネットワーク中継装置。
【請求項５】
請求項１から４のいずれか一項記載のネットワーク中継装置であって、
前記状態制御部は、前記設定回路に備えられている、ネットワーク中継装置。
【請求項６】
請求項１から５のいずれか一項記載のネットワーク中継装置であって、
前記主制御部は、
前記プログラマブル論理回路におけるソフトエラーの発生に応じて、前記設定回路に、前記プログラマブル論理回路に構成された前記論理回路を再構成させる、ネットワーク中継装置。
【請求項７】
請求項４または請求項４に従属する請求項５もしくは６に記載のネットワーク中継装置であって、
前記ネットワークインタフェース部は、さらに、
前記制御信号線に接続されると共に、自身が接続された信号線を伝達される情報を所定の値に固定することを可能とするバスホルダを備え、
前記バスホルダは、
少なくとも前記論理回路の再構成の間、前記制御信号線を伝達される前記制御情報を所定の値に固定させる、ネットワーク中継装置。
【請求項８】
請求項１から７のいずれか一項記載のネットワーク中継装置であって、
前記ネットワークインタフェース部は、さらに、
前記プログラマブル論理回路において、前記論理回路が構成された後に実行される初期設定に用いられる設定値および内部情報の少なくとも一方を記憶する設定値記憶部を備え、
前記主制御部は、
前記プログラマブル論理回路においてソフトエラーが発生していない間、定期的に、前記プログラマブル論理回路に設定されている最新の前記設定値および前記内部情報の少なくとも一方を前記設定値記憶部に保存させる、ネットワーク中継装置。
【請求項９】
請求項８記載のネットワーク中継装置であって、
前記主制御部は、
前記プログラマブル論理回路に設定されている前記設定値および前記内部情報の少なくとも一方が変更された際、変更後の前記設定値および前記内部情報を前記設定値記憶部に保存させる、ネットワーク中継装置。
【請求項１０】
請求項８または９記載のネットワーク中継装置であって、
前記主制御部は、
前記論理回路の再構成後、前記設定値記憶部に記憶されている前記設定値および前記内部情報の少なくとも一方を用いて前記初期設定を実行させる、ネットワーク中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク中継装置に関し、特に、ネットワーク中継装置内のプログラマブル論理回路を更新する技術に関する。
【背景技術】
【０００２】
近年、ルータやスイッチ等のネットワーク中継装置における機能の実装は、特定用途向けの集積回路であるＡＳＩＣ（Application Specific Integrated Circuit）やソフトウェアに代えて、内部回路のプログラムが可能なＦＰＧＡ（Field Programmable Gate Array）やＣＰＬＤ（Complex Programmable Logic Device）といったプログラマブル論理回路を用いて行われることが多くなっている。
【０００３】
上述したプログラマブル論理回路のうち、ＳＲＡＭ型のＦＰＧＡは、その起動時に不揮発性のメモリからコンフィギュレーションデータと呼ばれるデータをダウンロードして、このデータに基づき内部回路の構成を行うものが一般的である。このようなプログラマブル論理回路では、不揮発性のメモリに記憶されるコンフィギュレーションデータを随時書き換えることで、容易に、内部回路の修正や更新を行うことができる。なお、以下では、プログラマブル論理回路がコンフィギュレーションデータを読み込んで内部回路を構成することを、「コンフィギュレーション」と呼ぶ。
【０００４】
こうしたプログラマブル論理回路は、半導体の微細化が進んだ結果として、放射線等の影響によるソフトエラー（メモリ・セルのデータが変化してしまうこと）が発生することが知られている。プログラマブル論理回路においてソフトエラーが発生した際、プログラマブル論理回路の再コンフィギュレーションが必要となる。従来、この再コンフィギュレーションと同時に、プログラマブル論理回路を含む周辺デバイス全体の再起動が必要であった。具体的には、プログラマブル論理回路を再コンフィギュレーションすると、プログラマブル論理回路が収容する全てのインタフェースの値が不定値となるため、その周辺デバイスの動作が保障できなくなるからである。また、プログラマブル論理回路が保持していた情報（例えば、周辺デバイスの設定情報、統計情報等）もリセットされる。そのため、プログラマブル論理回路を再コンフィギュレーションする際は、事前にプログラマブル論理回路および周辺デバイスの機能の停止およびリセットを行うことが必要であった。そして、再コンフィギュレーションを行うプログラマブル論理回路がネットワーク中継装置のネットワークインタフェース部を制御する回路であった場合、再コンフィギュレーションに伴う再起動は、ネットワーク中継装置の通信停止に繋がるという問題があった。
【０００５】
このような問題を解決するために、従来では、プログラマブル論理回路を二重化することで、ネットワーク中継装置の通信停止を回避する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−５８４１９号公報
【特許文献２】特開２０１０−１６６４８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
この技術では、プログラマブル論理回路の再コンフィギュレーション時におけるネットワーク中継装置の通信停止は回避されているものの、プログラマブル論理回路を二重化するため、コストが掛かる・構成が複雑になる等の問題があった。
【０００８】
本発明の一態様では、プログラマブル論理回路を搭載したネットワーク中継装置において、プログラマブル論理回路を二重化することなく、プログラマブル論理回路のコンフィギュレーション時における通信停止を回避することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明の一態様であるネットワーク中継装置は、
前記ネットワーク中継装置の各部を制御する主制御部と、
外部との間でパケットを送受信するネットワークインタフェース部と、
前記ネットワークインタフェース部を介して受信した受信パケットの宛先判定を行う中継処理部と、
を備え、
前記ネットワークインタフェース部は、
物理回線がそれぞれ接続された複数の回線収容部と、
回路データを記憶するデータ記憶部と、
所定の機能を有する論理回路が実現されるプログラマブル論理回路と、
データ記憶部に記憶された前記回路データを用いて、前記プログラマブル論理回路に対して、前記論理回路を構成させる設定回路と、
前記プログラマブル論理回路以外の回路に備えられると共に、各回線収容部の状態を、データ送受信が可能なアクティブ状態とデータ送受信が不可能なスタンバイ状態とのいずれかに制御する状態制御部と、
を備える。
また、例えば、上記態様におけるネットワーク中継装置は、前記主制御部と前記設定回路との間は、前記設定回路を制御するための制御信号が伝達される制御信号線で接続されており、前記主制御部と前記プログラマブル論理回路との間は、前記プログラマブル論理回路を制御するための制御信号が伝達される制御信号線で接続されている。
【発明の効果】
【００１０】
本発明の一態様によれば、プログラマブル論理回路のコンフィギュレーション時であっても、状態制御部は影響を受けることなく動作を継続することができる。この結果、プログラマブル論理回路を搭載したネットワーク中継装置において、プログラマブル論理回路を二重化することなく、プログラマブル論理回路のコンフィギュレーション時における通信停止を回避することができる。
【００１１】
なお、本発明は、種々の態様で実現することが可能である。例えば、ネットワーク中継装置、ネットワーク中継装置の制御方法、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記憶媒体等の形態で実現することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施例としてのスイッチの概略構成を示す説明図である。
【図２】ソフトエラーに伴う再コンフィギュレーション処理の手順を示すフローチャートである。
【図３】機能変更等に伴う再コンフィギュレーション処理の手順を示すフローチャートである。
【図４】コンフィギュレーション実行中のスイッチの各部の様子を示す説明図である。
【図５】第２実施例としてのスイッチの概略構成を示す説明図である。
【図６】第２実施例におけるソフトエラーに伴う再コンフィギュレーション処理の手順を示すフローチャートである。
【図７】第１実施例のスイッチの詳細な構成を示す説明図である。
【発明を実施するための形態】
【００１３】
次に、本発明の実施の形態を実施例に基づいて説明する。
【００１４】
Ａ．第１実施例：
Ａ−１．ネットワーク中継装置の概略構成：
図１は、本発明の一実施例としてのスイッチ１０の概略構成を示す説明図である。スイッチ１０は、自身に接続される他のスイッチや端末との間のパケットによる通信を中継するレイヤ３のネットワーク中継装置である。スイッチ１０は、ネットワークインタフェース部１００と、主制御部２００と、中継処理部３００とを備えている。ネットワークインタフェース部１００は、さらに、コンフィグデータ記憶部１１０と、ＰＬＤ１２０と、デバイス制御ＦＰＧＡ１３０と、バスホルダ１４０と、パケット制御部１５０と、物理層制御部１６０と、信号変換部１７０と、回線収容部１９０と、を備えている。本実施例のスイッチ１０は、特許請求の範囲における「ネットワーク中継装置」に、コンフィグデータ記憶部１１０は「データ記憶部」に、ＰＬＤ１２０は「設定回路」に、デバイス制御ＦＰＧＡ１３０は「プログラマブル論理回路」に、それぞれ相当する。
【００１５】
主制御部２００は、図示しないＣＰＵと、ＲＯＭやＲＡＭからなるメモリとを含み、ソフトウェア制御によりスイッチ１０の各部を制御する。例えば、主制御部２００は、スイッチ１０の管理者からのコマンド入力を受け付け、入力されたコマンドに応じた処理を行う。中継処理部３００は、図示しないパケットバッファと、宛先判定部と、経路テーブルとを含み、ネットワークインタフェース部１００のパケット制御部１５０から入力されたパケットに対する宛先判定処理を実行する。具体的には、宛先判定部は、一旦パケットバッファに格納された処理対象パケットのヘッダ情報をもとに経路テーブルを検索し、当該パケットの転送先を決定する。
【００１６】
ネットワークインタフェース部１００は、スイッチ１０の外部（スイッチ２０〜５０）との間でパケットを送受信する。コンフィグデータ記憶部１１０は、コンフィギュレーションデータと呼ばれる回路データを記憶しておくためのメモリである。コンフィグデータ記憶部１１０は、例えば、不揮発性のフラッシュメモリによって構成することができる。
【００１７】
ＰＬＤ１２０は、スイッチ１０の電源投入時や主制御部２００から指示を受けた場合に、コンフィグデータ記憶部１１０からコンフィギュレーションデータを読み込んで、デバイス制御ＦＰＧＡ１３０に論理回路を構成させる機能（以降、「コンフィギュレーション」とも呼ぶ。）を有する。また、ＰＬＤ１２０は、主制御部２００から転送された新たなコンフィギュレーションデータを、コンフィグデータ記憶部１１０に中継する機能を備える。ＰＬＤ１２０は、例えば、デバイス制御ＦＰＧＡ１３０とは異なるＦＰＧＡや、ＣＰＬＤ、マイクロコンピュータ等によって構成することができる。
【００１８】
ＰＬＤ１２０は、状態制御部１２１を含んでいる。状態制御部１２１は、信号変換部１７０に供給するレベル信号を切り替えることで、回線収容部１９０の状態を、データ送受信が可能なアクティブ状態（リンクアップ状態）と、データ送受信が不可能でありアクティブ状態よりも消費電力の低いスタンバイ状態（リンクダウン状態）との間で切り替える。なお、本実施例では、信号変換部１７０に供給されるレベル信号が「１」である場合、当該回線収容部１９０はアクティブ状態（リンクアップ状態）であることを意味し、「０」である場合、当該回線収容部１９０はスタンバイ状態（リンクダウン状態）であることを意味する。
【００１９】
デバイス制御ＦＰＧＡ１３０は、例えば、数十万ゲートの規模を有するプログラマブル論理回路であり、ＬＵＴ（Look Up Table）やセレクタ、フリップフロップ等の回路を多数備えている。ＬＵＴの内容は揮発性のＳＲＡＭによって保持されている。そのため、電源の投入毎にＰＬＤ１２０によって、コンフィグデータ記憶部１１０からのコンフィギュレーションデータの入力がされ、これにより、内部に所定の機能を有する論理回路が構成（コンフィギュレーション）される。本実施例では、このコンフィギュレーションにより、主制御部２００からの指示に基づき、ＭＩＢ（Management Information Base）情報としてパケットの転送数をカウントする論理回路や、回線および部品の障害情報を収集、記録する論理回路等が、内部回路として構成される。
【００２０】
バスホルダ１４０は、自身が接続された信号線を流れる信号を、所定の値（例えば、「０」や「１」）に固定することで誤動作を抑制する。パケット制御部１５０は、物理層制御部１６０と、中継処理部３００との間におけるパケットを中継する。具体的には、パケット制御部１５０は、図示しないパケットバッファを含み、このパケットバッファに受信パケットを一時的に格納しておくことで、パケット制御部１５０と中継処理部３００の間を接続するバスと、パケット制御部１５０と物理層制御部１６０の間を接続するバスと、の速度差を吸収する。
【００２１】
物理層制御部１６０および信号変換部１７０は、回線収容部１９０に含まれている。物理層制御部１６０は、信号変換部１７０と物理回線ＢＬとを介して接続されているスイッチ（以降、「対向スイッチ」とも呼ぶ。）の物理層制御部と制御フレームを送受信し合うことで、スイッチ１０と対抗スイッチと間の回線のリンク状態を監視する。本実施例では、物理層制御部１６０は、４つの物理層制御部＃１〜＃４により構成されている。信号変換部１７０は、物理回線ＢＬが接続されると共に、接続された物理回線ＢＬを通じてパケットの送受信を行うために、電気信号と光信号とを相互に変換する。本実施例では、信号変換部１７０は、４つの信号変換部＃１〜＃４により構成されている。
【００２２】
ネットワークインタフェース部１００において、コンフィグデータ記憶部１１０は、フラッシュインタフェースによってＰＬＤ１２０と接続されている。ＰＬＤ１２０は、データ信号線ＤＬによってデバイス制御ＦＰＧＡ１３０と、レベル信号線ＬＬによってパケット制御部１５０および各信号変換部１７０と、それぞれ接続されている。データ信号線ＤＬは、コンフィギュレーションデータを送受信するための信号線である。また、レベル信号線ＬＬは、上述の通り、各回線収容部１９０のアクティブ状態とスタンバイ状態とを制御するためのレベル信号を伝達するための信号線である。
【００２３】
デバイス制御ＦＰＧＡ１３０は、制御信号線ＣＬによって主制御部２００、パケット制御部１５０および各物理層制御部１６０と、それぞれ接続されている。制御信号線ＣＬは、制御情報としての制御用パケットを伝達するための信号線である。バスホルダ１４０は、デバイス制御ＦＰＧＡ１３０が各部と接続されている制御信号線ＣＬに対して、それぞれ接続されている。パケット制御部１５０は、バスＢＳを介して中継処理部３００とおよび各物理層制御部１６０と、それぞれ接続されている。
【００２４】
Ａ−２．コンフィギュレーションデータ更新時の動作：
本実施例では、次の２つの場合において、デバイス制御ＦＰＧＡ１３０のコンフィギュレーションデータを更新する。
（１）デバイス制御ＦＰＧＡ１３０においてソフトエラーが発生した場合。
（２）既にデバイス制御ＦＰＧＡ１３０に構成されている論理回路を変更することによって、デバイス制御ＦＰＧＡ１３０に対する機能変更、機能追加を行う場合。
以降、順に各処理の手順を説明する。
【００２５】
Ａ−２−１．ソフトエラーに伴う再コンフィギュレーション処理：
図２は、ソフトエラーに伴う再コンフィギュレーション処理の手順を示すフローチャートである。なお、本実施例において「ソフトエラー」とは、ＦＰＧＡ（プログラマブル論理回路）内のメモリがビット化けを起こし、メモリ・セルそのものには損傷がないものの、メモリ・セルのデータが変化してしまうことを意味する。
【００２６】
主制御部２００は、デバイス制御ＦＰＧＡ１３０でソフトエラーが発生したか否かを判定する（ステップＳ１０２）。具体的には、主制御部２００は、ソフトエラーが発生した旨を知らせる割り込みが通知されているか否かを判定する。ソフトエラーは発生していないと判定された場合（ステップＳ１０２：ＮＯ）、主制御部２００は、一定時間待機後（ステップＳ１２０）に処理をステップＳ１０２へ遷移させて、ソフトエラー発生の監視を継続する。
【００２７】
ソフトエラーが発生したと判定された場合（ステップＳ１０２：ＹＥＳ）、主制御部２００は、デバイス制御ＦＰＧＡ１３０を含むネットワークインタフェース部１００内の各部に対して、ハードウェア障害の有無を確認する（ステップＳ１０４）。具体的には、主制御部２００は、ネットワークインタフェース部１００内の各部について、動作状態を格納するレジスタの値をそれぞれ参照し、ハードウェア障害の有無を確認する。確認の結果、ハードウェア障害があると判定された場合（ステップＳ１０４：ＹＥＳ）、主制御部２００は、ネットワークインタフェース部１００内のハードウェア障害であり、自動リカバリできないとして処理を終了させる（ステップＳ１２２）。なお、この際、スイッチ１０の管理者宛に通知を行うことが好ましい。通知方法は、ログ表示、アラート表示、予め登録された宛先へのメール送信等、種々の方法を採用することができる。
【００２８】
確認の結果、ハードウェア障害はないと判定された場合（ステップＳ１０４：ＮＯ）、主制御部２００は、デバイス制御ＦＰＧＡ１３０の動作を終了させ、再コンフィギュレーションを開始の準備を行う（ステップＳ１０６、Ｓ１０８）。具体的には、主制御部２００は、デバイス制御ＦＰＧＡ１３０に対して動作終了要求を送信する。動作終了要求を受信したデバイス制御ＦＰＧＡ１３０は、自身の機能を停止させると共に（ステップＳ１０６）、コンフィギュレーションで作成されている自身および自身と隣接するデバイス（例えば、パケット制御部１５０）との間のバス接続機能を停止させることで、バス接続をクローズする（ステップＳ１０８）。
【００２９】
さらに、バスホルダ１４０は、バスホルダ１４０が接続された制御信号線ＣＬを流れる制御情報を「０」または「１」のいずれかに固定させる。このようにすれば、デバイス制御ＦＰＧＡ１３０の再コンフィギュレーションの前にバス接続がクローズされることで、デバイス制御ＦＰＧＡ１３０に隣接するデバイスの誤作動を抑制することができる。
【００３０】
デバイス制御ＦＰＧＡ１３０の動作終了後、主制御部２００は、デバイス制御ＦＰＧＡ１３０の再コンフィギュレーションを開始する（ステップＳ１１０）。具体的には、主制御部２００は、ＰＬＤ１２０に対して、デバイス制御ＦＰＧＡ１３０の再コンフィギュレーションを指示する。指示を受信したＰＬＤ１２０は、コンフィグデータ記憶部１１０に記憶されているコンフィギュレーションデータを読み出し、デバイス制御ＦＰＧＡ１３０に対して、内部の論理回路を構成（コンフィギュレーション）させる。
【００３１】
主制御部２００は、デバイス制御ＦＰＧＡ１３０の再コンフィギュレーションが正常終了したか否かを判定する（ステップＳ１１２）。具体的には、主制御部２００は、デバイス制御ＦＰＧＡ１３０の再コンフィギュレーションが正常終了した旨の応答を、ＰＬＤ１２０から受信したか否かによって判定を行う。再コンフィギュレーションが正常終了した旨の応答を受信しなかった場合（ステップＳ１１２：ＮＯ）、主制御部２００は、デバイス制御ＦＰＧＡ１３０にハードウェア障害が発生していると判定し、処理を終了させる（ステップＳ１２２）。
【００３２】
再コンフィギュレーションが正常終了した旨の応答を受信した場合（ステップＳ１１２：ＹＥＳ）、主制御部２００は、デバイス制御ＦＰＧＡ１３０の初期設定を行う（ステップＳ１１４）。具体的には、主制御部２００は、デバイス制御ＦＰＧＡ１３０に対して、デバイス制御ＦＰＧＡ１３０の初期設定を指示する。指示を受信したデバイス制御ＦＰＧＡ１３０は、主制御部２００内のＲＯＭに記憶されている再コンフィギュレーション前の設定値や内部情報を読み出す。そして、デバイス制御ＦＰＧＡ１３０は、読み出した設定値や内部情報を自身に設定する。
【００３３】
初期設定後、主制御部２００は、デバイス制御ＦＰＧＡ１３０の動作を再開させる（ステップＳ１１６、Ｓ１１８）。具体的には、主制御部２００は、デバイス制御ＦＰＧＡ１３０に対して動作開始要求を送信する。動作開始要求を受信したデバイス制御ＦＰＧＡ１３０は、コンフィギュレーションで作成されている自身および自身と隣接するデバイスとの間のバス接続機能を開始させることで、バス接続を再開する（ステップＳ１１６）。その後、デバイス制御ＦＰＧＡ１３０は、自身の機能を再開させる（ステップＳ１１８）。さらに、バスホルダ１４０は、バスホルダ１４０による制御信号線ＣＬ上の信号の固定を解除させる。デバイス制御ＦＰＧＡ１３０の再開後、主制御部２００は処理をステップＳ１０２へ遷移させて、エラー発生の監視を継続する。
【００３４】
Ａ−２−２．機能変更等に伴う再コンフィギュレーション処理：
図３は、機能変更等に伴う再コンフィギュレーション処理の手順を示すフローチャートである。図２に示したソフトエラーに伴う再コンフィギュレーション処理との違いは、ステップＳ１０２およびＳ１０４に代えてステップＳ２０２を、ステップＳ１１０に代えてステップＳ２０４を、ステップＳ１１４に代えてステップＳ２０６を、それぞれ備える点であり、他のステップについては図２と同様である。
【００３５】
ステップＳ２０２において、主制御部２００は、変更後の論理回路を構成するための新しいコンフィギュレーションデータを、デバイス制御ＦＰＧＡ１３０とＰＬＤ１２０とを介して、コンフィグデータ記憶部１１０へ書き込む。書き込みの際、主制御部２００は、古いコンフィギュレーションデータを新たなコンフィギュレーションデータで上書きしてもよいし、古いコンフィギュレーションデータを上書きせずに、コンフィグデータ記憶部１１０内のバックアップ用領域へ移動させてもよい。なお、ステップＳ２０２では、主制御部２００は、コンフィグデータ記憶部１１０への書き込みが正しく行われたか否かを判定するために、コンペアチェックを実行することが好ましい。
【００３６】
デバイス制御ＦＰＧＡ１３０の動作終了後、主制御部２００は、デバイス制御ＦＰＧＡ１３０の再コンフィギュレーションを開始する（ステップＳ２０４）。具体的には、主制御部２００は、ＰＬＤ１２０に対して、デバイス制御ＦＰＧＡ１３０の再コンフィギュレーションを指示する。指示を受信したＰＬＤ１２０は、コンフィグデータ記憶部１１０に記憶されている新たなコンフィギュレーションデータを読み出し、デバイス制御ＦＰＧＡ１３０に対して、内部の論理回路を構成（コンフィギュレーション）させる。コンフィグデータ記憶部１１０に記憶されているコンフィギュレーションデータは、ステップＳ２０２において新たなコンフィギュレーションデータに更新されている。このため、ステップＳ２０４では、新たなコンフィギュレーションデータの内容に応じた新たな論理回路がデバイス制御ＦＰＧＡ１３０に構成される。
【００３７】
ステップＳ１１２において再コンフィギュレーションが正常終了した旨の応答を受信した場合、主制御部２００は、デバイス制御ＦＰＧＡ１３０の初期設定を行う（ステップＳ２０６）。具体的には、主制御部２００は、デバイス制御ＦＰＧＡ１３０に対して、デバイス制御ＦＰＧＡ１３０の初期設定を指示する。指示を受信したデバイス制御ＦＰＧＡ１３０は、主制御部２００内のＲＯＭに記憶されている再コンフィギュレーション前の設定値や内部情報を読み出して、自身に設定する。
【００３８】
なお、ステップＳ２０６では、デバイス制御ＦＰＧＡ１３０は、再コンフィギュレーション前の設定値や内部情報に代えて、デフォルトの設定値や内部情報を設定することとしてもよい。このデフォルト値は、例えば、新たなコンフィギュレーションデータと共に、予め主制御部２００のＲＯＭ内に記憶しておくことができる。同様に、デバイス制御ＦＰＧＡ１３０は、再コンフィギュレーション前の設定値や内部情報と、デフォルトの設定値や内部情報とをマージしたものを設定することとしてもよい。このようにすれば、再コンフィギュレーション前の古い論理回路と、再コンフィギュレーション後の新しい論理回路との間で、必要とする設定値や内部情報に違いがある場合であっても、デバイス制御ＦＰＧＡ１３０はデフォルト値を用いて動作することが可能となる。
【００３９】
図４は、コンフィギュレーション実行中のスイッチ１０の各部の様子を示す説明図である。デバイス制御ＦＰＧＡ１３０は、コンフィギュレーションのために動作を停止している。また、バスホルダ１４０は、デバイス制御ＦＰＧＡ１３０の動作停止に伴って制御信号線ＣＬを流れる制御信号が乱れ、制御信号線ＣＬに接続された各部が誤動作することを抑制するために、制御信号線ＣＬを流れる制御情報を「１」に固定している。このとき、ＰＬＤ１２０は動作を継続しているため、ＰＬＤ１２０に収容されている状態制御部１２１は、信号変換部１７０へのレベル信号の供給を継続することができる。レベル信号の供給により、信号変換部＃１、＃３、＃４（回線収容部＃１、＃３、＃４）はアクティブ状態を、信号変換部＃２（回線収容部＃２）はスタンバイ状態を、それぞれ維持することができる。従って、信号変換部１７０（回線収容部１９０）における光出力のオン／オフ状態は、デバイス制御ＦＰＧＡ１３０のコンフィギュレーション前後において変わらずに維持される。
【００４０】
以上のように、第１実施例によれば、スイッチ１０（ネットワーク中継装置）のネットワークインタフェース部１００において、各回線収容部１９０の状態を、データ送受信が可能なアクティブ状態とデータ送受信が不可能なスタンバイ状態とのいずれかに制御する状態制御部１２１は、デバイス制御ＦＰＧＡ１３０（プログラマブル論理回路）以外の回路に備えられるため、デバイス制御ＦＰＧＡ１３０のコンフィギュレーション時であっても、状態制御部１２１は影響を受けることなく動作を継続することができる。すなわち、信号変換部１７０（回線収容部１９０）における光出力のオン／オフ状態は、デバイス制御ＦＰＧＡ１３０のコンフィギュレーション前後において変わらずに維持される。この結果、デバイス制御ＦＰＧＡ１３０を搭載したスイッチ１０において、デバイス制御ＦＰＧＡ１３０を二重化することなく、デバイス制御ＦＰＧＡ１３０のコンフィギュレーション時における通信停止（光出力オフ）を回避することができる。
【００４１】
コンフィギュレーション時におけるスイッチ１０の通信停止の回避は、対向スイッチにおいて予想外の光出力のオン／オフが検出されることを回避することに繋がる。対向スイッチにおいて予想外の光出力のオン／オフが検出された場合、一般的に、対向スイッチの管理者は、当該事象の発生が、自ら管理するスイッチの不具合に起因するものか、他のスイッチの不具合に起因するものかの調査を行わなければならない。このように、スイッチ１０は、ネットワークを介して多数の他の装置と接続されるため、スイッチ１０からの光出力の不良は、多数の他の装置へ影響を及ぼすこととなる。従って、スイッチ１０からの光出力の不良は極力回避されることが好ましい。
【００４２】
さらに、第１実施例によれば、主制御部２００は、デバイス制御ＦＰＧＡ１３０（プログラマブル論理回路）におけるソフトエラーの発生に応じて、ＰＬＤ１２０（設定回路）に、デバイス制御ＦＰＧＡ１３０の再コンフィギュレーション、すなわち、デバイス制御ＦＰＧＡ１３０に構成された論理回路を再構成させる。この結果、スイッチ１０（ネットワーク中継装置）において、デバイス制御ＦＰＧＡ１３０にソフトエラーが発生した際に、自動的にデバイス制御ＦＰＧＡ１３０内の論理回路を再構成することができ、スイッチ１０の可用性を向上させることができる。
【００４３】
さらに、第１実施例によれば、バスホルダ１４０は、少なくともデバイス制御ＦＰＧＡ１３０の再コンフィギュレーション（論理回路の再構成）の間、バスホルダ１４０に、制御信号線ＣＬを伝達される制御情報を所定の値に固定させる。このため、スイッチ１０（ネットワーク中継装置）において、デバイス制御ＦＰＧＡ１３０の再コンフィギュレーションに伴って、デバイス制御ＦＰＧＡ１３０およびこれに接続された回路（パケット制御部１５０や物理層制御部１６０等）が誤動作することを抑制することができる。さらに、バスホルダ１４０が制御信号線ＣＬを流れる制御情報を「１」に固定させることとすれば、デバイス制御ＦＰＧＡ１３０の再コンフィギュレーション中においても、パケット制御部１５０や物理層制御部１６０は、処理を継続することができる。
【００４４】
なお、デバイス制御ＦＰＧＡ１３０のコンフィギュレーション時における通信停止（光出力オフ）を回避するための他の方法として、例えば、デバイス制御ＦＰＧＡ１３０にレベル信号線ＬＬを接続した従来の構成において、レベル信号線ＬＬにバスホルダ１４０を接続させて、コンフィギュレーション中のレベル信号を、アクティブ状態を示す「１」に固定する方法も考えられる。しかし、この方法の場合、スイッチ１０の管理者による回線収容部１９０のアクティブ／スタンバイの設定を無視して、デバイス制御ＦＰＧＡ１３０のコンフィギュレーション中は全ての回線収容部１９０がアクティブ状態とされてしまうため、対向スイッチにおいて予想外の光出力のオン／オフが検出されてしまう。
【００４５】
Ｂ．第２実施例：
本発明の第２実施例では、デバイス制御ＦＰＧＡにソフトエラーが発生した際、より迅速に復旧可能な構成について説明する。以下では、第１実施例と異なる構成および動作を有する部分についてのみ説明する。なお、図中において第１実施例と同様の構成部分については先に説明した第１実施例と同様の符号を付し、その詳細な説明を省略する。
【００４６】
Ｂ−１．ネットワーク中継装置の概略構成：
図５は、第２実施例としてのスイッチ１０ａの概略構成を示す説明図である。図１に示した第１実施例との違いは、ネットワークインタフェース部１００に代えてネットワークインタフェース部１００ａを備える点と、主制御部２００に代えて主制御部２００ａを備える点であり、他の構成は第１実施例と同じである。ネットワークインタフェース部１００ａは、デバイス制御ＦＰＧＡ１３０に代えてデバイス制御ＦＰＧＡ１３０ａを備える。また、ネットワークインタフェース部１００ａは、さらに設定値記憶部１８０を備える。
【００４７】
設定値記憶部１８０は、デバイス制御ＦＰＧＡ１３０のコンフィギュレーション後の初期設定に用いる設定値や内部情報を記憶しておくためのメモリである。設定値記憶部１８０は、例えば、不揮発性のフラッシュメモリによって構成することができる。設定値記憶部１８０は、フラッシュインタフェースによってＰＬＤ１２０と接続されている。
【００４８】
Ｂ−２．コンフィギュレーションデータ更新時の動作：
本実施例では、第１実施例と同様に、次の２つの場合においてデバイス制御ＦＰＧＡ１３０ａのコンフィギュレーションデータを更新する。
（１）デバイス制御ＦＰＧＡ１３０ａにおいてソフトエラーが発生した場合。
（２）既にデバイス制御ＦＰＧＡ１３０ａに構成されている論理回路を変更することによって、デバイス制御ＦＰＧＡ１３０ａに対する機能変更、機能追加を行う場合。
（２）の処理の手順は第１実施例と同様であるため、説明を省略する。以降、（１）の処理の手順を説明する。
【００４９】
Ｂ−２−１．ソフトエラーに伴う再コンフィギュレーション処理：
図６は、第２実施例におけるソフトエラーに伴う再コンフィギュレーション処理の手順を示すフローチャートである。図２に示した第１実施例との違いは、ステップＳ１２０の前にさらにステップＳ３０２を備える点と、ステップＳ１１４に代えてステップＳ３０４を備える点であり、他のステップについては図２と同様である。
【００５０】
ステップＳ１０２においてソフトエラーは発生していないと判定された場合（ステップＳ１０２：ＮＯ）、主制御部２００ａは、デバイス制御ＦＰＧＡ１３０ａに対して、設定値の書き出しをさせる（ステップＳ３０２）。具体的には、主制御部２００ａは、デバイス制御ＦＰＧＡ１３０ａに対して、設定値と内部情報との書き出しを指示する。指示を受信したデバイス制御ＦＰＧＡ１３０ａは、自身に設定されている設定値と、内部情報とを、ＰＬＤ１２０を介して設定値記憶部１８０へ書き込む。書き込みの際、デバイス制御ＦＰＧＡ１３０ａは、古い設定値等を新たな設定値等で上書きしてもよいし、古い設定値等を上書きせずに、設定値記憶部１８０内のバックアップ用領域へ移動させてもよい。その後、主制御部２００は、一定時間待機後（ステップＳ１２０）に処理をステップＳ１０２へ遷移させて、ソフトエラー発生の監視と、設定値および内部情報の書き出しを継続する。
【００５１】
ステップＳ１１２において再コンフィギュレーションが正常終了した旨の応答を受信した場合、主制御部２００ａは、デバイス制御ＦＰＧＡ１３０ａの初期設定を行う（ステップＳ３０４）。具体的には、主制御部２００ａは、デバイス制御ＦＰＧＡ１３０ａに対して、デバイス制御ＦＰＧＡ１３０ａの初期設定を指示する。指示を受信したデバイス制御ＦＰＧＡ１３０ａは、設定値記憶部１８０に記憶されている設定値や内部情報を読み出し、読み出した設定値や内部情報を自身に設定する。
その後、主制御部２００ａは、デバイス制御ＦＰＧＡ１３０ａの初期設定（ステップＳ３０４）以降の処理を継続する。
【００５２】
以上のように、第２実施例によれば、主制御部２００ａは、デバイス制御ＦＰＧＡ１３０ａ（プログラマブル論理回路）においてソフトエラーが発生していない間、定期的に、デバイス制御ＦＰＧＡ１３０ａに設定されている最新の設定値および内部情報の少なくとも一方を設定値記憶部１８０に保存させる。この結果、スイッチ１０ａ（ネットワーク中継装置）において、デバイス制御ＦＰＧＡ１３０ａの初期設定に用いられる設定値および内部情報の少なくとも一方のバックアップを、自動的に取得することができる。
【００５３】
さらに、第２実施例によれば、主制御部２００ａは、デバイス制御ＦＰＧＡ１３０ａの再コンフィギュレーション（論理回路の再構成）後、設定値記憶部１８０に記憶されている設定値および内部情報の少なくとも一方を用いて初期設定を実行させる。この結果、スイッチ１０ａ（ネットワーク中継装置）において、予め取得された設定値および内部情報のバックアップを用いて、自動的にデバイス制御ＦＰＧＡ１３０ａの初期設定を実行することができる。また、設定値記憶部１８０はネットワークインタフェース部１００の内部の記憶領域である。このため、設定値記憶部１８０に記憶された設定値を用いた初期設定は、主制御部２００内に記憶された設定値を用いた初期設定と比較して、設定に要する時間を短くすることができる。この結果、スイッチ１０ａのエラーリカバリに要する総時間を短くすることができる。
【００５４】
Ｃ．ネットワーク中継装置の詳細な構成：
図７は、第１実施例のスイッチ１０の詳細な構成を示す説明図である。図１との違いは、主制御部２００にＣＰＵ２１０とメモリ２２０とを明記した点と、メモリ２２０には障害復旧プログラム７０２と構成変更プログラム７０３とが格納されていることを明記した点と、ＰＬＤ１２０には書込コントローラ１２２が含まれることを明記した点と、主制御部２００とＰＬＤ１２０との間の制御信号線ＣＬを明記した点と、である。
【００５５】
主制御部２００の各機能は、メモリ２２０に格納されているコンピュータプログラムがＣＰＵ２１０によって実行されることにより実現する。具体的には、主制御部２００の機能のうち、図２で説明したソフトエラーに伴う再コンフィギュレーション処理機能は、メモリ２２０に格納されている障害復旧プログラム７０２が読み出され、ＣＰＵ２１０によって実行されることにより実現する。同様に、図３で説明した機能変更等に伴う再コンフィギュレーション処理機能は、メモリ２２０に格納されている構成変更プログラム７０３が読み出され、ＣＰＵ２１０によって実行されることにより実現する。
【００５６】
ＰＬＤ１２０のコンフィギュレーション機能、すなわち、ＰＬＤ１２０がコンフィグデータ記憶部１１０からコンフィギュレーションデータを読み込んで、デバイス制御ＦＰＧＡ１３０に論理回路を構成させる機能は、ＰＬＤ１２０の書込コントローラ１２２によって実行される。また、主制御部２００からＰＬＤ１２０に対するコンフィギュレーション等の各種指示は、主制御部２００とＰＬＤ１２０とを結ぶ制御信号線ＣＬを介して送信される。
【００５７】
Ｄ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲で種々の構成を採ることができる。例えば、ソフトウェアによって実現した機能は、ハードウェアによって実現するものとしてもよい。そのほか、以下のような変形が可能である。
【００５８】
Ｄ１．変形例１：
上記実施例では、ネットワーク中継装置の構成の一例を示した。しかし、ネットワーク中継装置の構成は、上述した態様に限らず、本発明の要旨を逸脱しない範囲において任意に定めることができる。例えば、図示しない他の機能部やテーブルを含む構成としてもよいし、図示した機能部の一部を省略してもよい。
【００５９】
例えば、上記実施例では状態制御部はＰＬＤに含まれるものとした。しかし、状態制御部はプログラマブル論理回路以外の回路であれば、何に含まれていても良い。例えば、パケット制御部に含まれても良いし、専用のＬＳＩ等に含まれていてもよい。
【００６０】
例えば、上記実施例の構成において、バスホルダを省略してもよい。
【００６１】
具体的には、図７に示したスイッチ１０は、バスホルダ１４０を備えなくてもよい。その場合、第１実施例のバスホルダ１４０が担っていた処理、すなわち、信号を所定の値に固定して誤作動を抑制する処理は、状態制御部１２１が供給するレベル信号によって代替する。従って、第１実施例のスイッチ１０からバスホルダ１４０を省略することにより、スイッチ１０の構成を簡略化してもよい。
【００６２】
例えば、上記実施例の構成において、スイッチは、リンクアグリゲーション等の他の機能をサポートすることとしてもよい。
【００６３】
Ｄ２．変形例２：
上記実施例では、スイッチがコンフィギュレーションデータの更新動作を行う２つの場合（１：ソフトエラー発生時、２：プログラマブル論理回路の機能変更時）を例示した。しかし、コンフィギュレーションデータの更新動作が行われるタイミングは、上記２つの場合に限られない。
【００６４】
例えば、コンフィギュレーションデータの更新動作は、スイッチの製品製造時や、スイッチの管理者からコマンド等を用いた指示や、管理者により予め指定されたスケジュールに従って実行されてもよい。また、コンフィギュレーションデータの更新動作は、定期的に自動で実行されてもよい。なお、定期的に自動で実行する場合は、スイッチの処理負荷が軽い時間帯（例えば深夜）に実行することが好ましい。
【００６５】
Ｄ３．変形例３：
上記実施例では、コンフィギュレーション処理について、処理の手順の一例を挙げて説明した。しかし、上記実施例の手順はあくまで一例であり、種々の変更が可能である。一部のステップを省略してもよいし、更なる他のステップを追加してもよい。また、実行されるステップの順序を変更してもよい。
【００６６】
例えば、第２実施例のソフトエラーに伴う再コンフィギュレーション処理（図６）において、主制御部は、ソフトエラーが発生していない場合に加えて、プログラマブル論理回路に設定されている設定値や内部情報の少なくとも一方が変更された場合にも、プログラマブル論理回路内の設定値や内部情報を、設定値記憶部へ書き出させてもよい。そうすれば、プログラマブル論理回路内の設定値や内部情報が変更された場合でも、変更後の情報のバックアップを自動的に取得することができる。
【００６７】
Ｄ４．変形例４：
また、本発明は、以下のような適用例として実現することもできる。
［適用例１］
本発明の一形態によれば、ネットワーク中継装置が提供される。このネットワーク中継装置は、前記ネットワーク中継装置の各部を制御する主制御部と、外部との間でパケットを送受信するネットワークインタフェース部と、前記ネットワークインタフェース部を介して受信した受信パケットの宛先判定を行う中継処理部と、を備え、前記ネットワークインタフェース部は、物理回線がそれぞれ接続された複数の回線収容部と、回路データを記憶するデータ記憶部と、所定の機能を有する論理回路が実現されるプログラマブル論理回路と、前記回路データを用いて、前記プログラマブル論理回路に対して前記論理回路を構成させる設定回路と、前記プログラマブル論理回路以外の回路に備えられると共に、各回線収容部の状態を、データ送受信が可能なアクティブ状態とデータ送受信が不可能なスタンバイ状態とのいずれかに制御する状態制御部と、を備え、前記主制御部と前記設定回路との間は、前記設定回路を制御するための制御信号が伝達される制御信号線で接続されており、前記主制御部と前記プログラマブル論理回路との間は、前記プログラマブル論理回路を制御するための制御信号が伝達される制御信号線で接続されている。この形態のネットワーク中継装置によれば、ネットワーク中継装置のネットワークインタフェース部において、各回線収容部の状態を、データ送受信が可能なアクティブ状態とデータ送受信が不可能なスタンバイ状態とのいずれかに制御する状態制御部は、プログラマブル論理回路以外の回路に備えられるため、プログラマブル論理回路のコンフィギュレーション時であっても、状態制御部は影響を受けることなく動作を継続することができる。この結果、プログラマブル論理回路を搭載したネットワーク中継装置において、プログラマブル論理回路を二重化することなく、プログラマブル論理回路のコンフィギュレーション時における通信停止を回避することができる。また、主制御部は、制御信号線によって設定回路とプログラマブル論理回路とに接続されている。このため主制御部は、プログラマブル論理回路のコンフィギュレーションを制御することができる。
【００６８】
［適用例２］
本発明の一形態によれば、ネットワーク中継装置が提供される。このネットワーク中継装置は、前記ネットワーク中継装置の各部を制御する主制御部と、外部との間でパケットを送受信するネットワークインタフェース部と、前記ネットワークインタフェース部を介して受信した受信パケットの宛先判定を行う中継処理部と、を備え、前記ネットワークインタフェース部は、物理回線がそれぞれ接続された複数の回線収容部と、回路データを記憶するデータ記憶部と、所定の機能を有する論理回路が実現されるプログラマブル論理回路と、前記回路データを用いて、前記プログラマブル論理回路に対して前記論理回路を構成させる設定回路と、前記プログラマブル論理回路以外の回路に備えられると共に、各回線収容部の状態を、データ送受信が可能なアクティブ状態とデータ送受信が不可能なスタンバイ状態とのいずれかに制御する状態制御部と、を備える。この形態のネットワーク中継装置によれば、ネットワーク中継装置のネットワークインタフェース部において、各回線収容部の状態を、データ送受信が可能なアクティブ状態とデータ送受信が不可能なスタンバイ状態とのいずれかに制御する状態制御部は、プログラマブル論理回路以外の回路に備えられるため、プログラマブル論理回路のコンフィギュレーション時であっても、状態制御部は影響を受けることなく動作を継続することができる。この結果、プログラマブル論理回路を搭載したネットワーク中継装置において、プログラマブル論理回路を二重化することなく、プログラマブル論理回路のコンフィギュレーション時における通信停止を回避することができる。
［適用例３］
上記形態のネットワーク中継装置において、前記複数の回線収容部と、前記プログラマブル論理回路とは、前記複数の回線収容部を制御するための制御情報が伝達される制御信号線で接続されていると共に、前記複数の回線収容部と、前記状態制御部とは、各回線収容部の前記アクティブ状態と前記スタンバイ状態とを制御するためのレベル信号が伝達されるレベル信号線で接続されていてもよい。この形態のネットワーク中継装置によれば、回線収容部のアクティブ状態／スタンバイ状態の制御はプログラマブル論理回路以外の回路に収容された状態制御部に実行させ、回線収容部のその他の制御はプログラマブル論理回路に実行させることができる。
【００６９】
［適用例４］
上記形態のネットワーク中継装置において、前記状態制御部は、前記設定回路に備えられていてもよい。この形態のネットワーク中継装置によれば、回線収容部のアクティブ状態／スタンバイ状態の制御は、プログラマブル論理回路に論理回路を構成させる設定回路により実行させることができる。
【００７０】
［適用例５］
上記形態のネットワーク中継装置において、前記主制御部は、前記プログラマブル論理回路におけるソフトエラーの発生に応じて、前記設定回路に、前記プログラマブル論理回路に構成された前記論理回路を再構成させてもよい。この形態のネットワーク中継装置によれば、主制御部は、プログラマブル論理回路におけるソフトエラーの発生に応じて、設定回路に、プログラマブル論理回路に構成された論理回路を再構成させる。この結果、上記適用例記載のネットワーク中継装置において、プログラマブル論理回路にソフトエラーが発生した際に、自動的にプログラマブル論理回路内の論理回路を再構成することができる。
【００７１】
［適用例６］
上記形態のネットワーク中継装置において、前記ネットワークインタフェース部は、さらに、前記制御信号線に接続されると共に、自身が接続された信号線を伝達される信号を所定の値に固定することを可能とするバスホルダを備え、前記バスホルダは、少なくとも前記論理回路の再構成の間、前記制御信号線を伝達される前記制御情報を所定の値に固定させてもよい。この形態のネットワーク中継装置によれば、バスホルダは、少なくとも論理回路の再構成の間、制御信号線を伝達される制御情報を所定の値に固定させる。このため、上記適用例記載のネットワーク中継装置において、プログラマブル論理回路内の論理回路の再構成に伴って、プログラマブル論理回路およびこれに接続された回路が誤動作することを抑制することができる。
【００７２】
［適用例７］
上記形態のネットワーク中継装置において、前記ネットワークインタフェース部は、さらに、前記プログラマブル論理回路において、前記論理回路が構成された後に実行される初期設定に用いられる設定値および内部情報の少なくとも一方を記憶する設定値記憶部を備え、前記主制御部は、前記プログラマブル論理回路においてソフトエラーが発生していない間、定期的に、前記プログラマブル論理回路に設定されている最新の前記設定値および前記内部情報の少なくとも一方を前記設定値記憶部に保存させてもよい。この形態のネットワーク中継装置によれば、主制御部は、プログラマブル論理回路においてソフトエラーが発生していない間、定期的に、プログラマブル論理回路に設定されている最新の設定値および内部情報の少なくとも一方を設定値記憶部に保存させる。この結果、上記適用例記載のネットワーク中継装置において、プログラマブル論理回路の初期設定に用いられる設定値および内部情報の少なくとも一方のバックアップを自動的に取得することができる。
【００７３】
［適用例８］
上記形態のネットワーク中継装置において、前記主制御部は、前記プログラマブル論理回路に設定されている前記設定値および前記内部情報の少なくとも一方が変更された際、変更後の前記設定値および前記内部情報を前記設定値記憶部に保存させてもよい。この形態のネットワーク中継装置によれば、主制御部は、プログラマブル論理回路に設定されている設定値および内部情報の少なくとも一方が変更された際、変更後の設定値および内部情報を設定値記憶部に保存させる。この結果、上記適用例記載のネットワーク中継装置において、変更後の設定値および内部情報の少なくとも一方のバックアップを、自動的に取得することができる。
【００７４】
［適用例９］
上記形態のネットワーク中継装置において、前記主制御部は、前記論理回路の再構成後、前記設定値記憶部に記憶されている前記設定値および前記内部情報の少なくとも一方を用いて前記初期設定を実行させてもよい。この形態のネットワーク中継装置によれば、主制御部は、論理回路の再構成後、設定値記憶部に記憶されている設定値および内部情報の少なくとも一方を用いて初期設定を実行させる。この結果、上記適用例記載のネットワーク中継装置において、予め取得された設定値および内部情報のバックアップを用いて、自動的にプログラマブル論理回路の初期設定を実行することができる。
上述の実施例や適用例によると、ネットワーク中継装置のネットワークインタフェース部において、各回線収容部の状態を、データ送受信が可能なアクティブ状態とデータ送受信が不可能なスタンバイ状態とのいずれかに制御する状態制御部は、プログラマブル論理回路以外の回路に備えられるため、プログラマブル論理回路のコンフィギュレーション時であっても、状態制御部は影響を受けることなく動作を継続することができる。この結果、プログラマブル論理回路を搭載したネットワーク中継装置において、プログラマブル論理回路を二重化することなく、プログラマブル論理回路のコンフィギュレーション時における通信停止を回避することができる。また、主制御部は、制御信号線によって設定回路とプログラマブル論理回路とに接続されている。このため主制御部は、プログラマブル論理回路のコンフィギュレーションを制御する。
【符号の説明】
【００７５】
１０,１０ａ…スイッチ
２０,３０,４０,５０…スイッチ
１００,１００ａ…ネットワークインタフェース部
１１０…コンフィグデータ記憶部
１２０…ＰＬＤ
１２１…状態制御部
１２２…書込コントローラ
１３０…デバイス制御ＦＰＧＡ
１４０…バスホルダ
１５０…パケット制御部
１６０…物理層制御部
１７０…信号変換部
１８０…設定値記憶部
１９０…回線収容部
２００,２００ａ…主制御部
２１０…ＣＰＵ
２２０…メモリ
３００…中継処理部
７０２…障害復旧プログラム
７０３…構成変更プログラム
ＢＬ…物理回線
ＤＬ…データ信号線
ＬＬ…レベル信号線
ＣＬ…制御信号線
【図１】
0005879246.tif 000002
【図２】
0005879246.tif 000003
【図３】
0005879246.tif 000004
【図４】
0005879246.tif 000005
【図５】
0005879246.tif 000006
【図６】
0005879246.tif 000007
【図７】
0005879246.tif 000008