(57)【要約】【課題】Ｎ＋１冗長構成をとる通信装置において、運用装置の故障時に予備装置への切り替えを迅速に行う。【解決手段】複数のユーザ端末にネットワーク接続環境を提供するＮ台の運用装置と接続された通信装置は、ネットワーク間の通信パケットを転送するハード転送エンジンと、前記ハード転送エンジンを利用して通信パケットの転送を制御する制御部と、備え、前記制御部は、前記Ｎ台の運用装置の前記通信パケットの転送情報を前記ハード転送エンジンに格納し、前記Ｎ台の運用装置のいずれかの運用装置の障害時に、該運用装置に代わり、該運用装置の前記通信パケットの転送情報にしたがって前記通信パケットの転送を実行させる。【選択図】図１
2014003451.tif 000002
【特許請求の範囲】
【請求項１】
複数のユーザ端末にネットワーク接続環境を提供するＮ台の運用装置と接続された通信装置であって、
ネットワーク間の通信パケットを転送するハード転送エンジンと、
前記ハード転送エンジンを利用して通信パケットの転送を制御する制御部と、
備え、
前記制御部は、前記Ｎ台の運用装置の前記通信パケットの転送情報を前記ハード転送エンジンに格納し、前記Ｎ台の運用装置のいずれかの運用装置の障害時に、該運用装置に代わり、該運用装置の前記通信パケットの転送情報にしたがって前記通信パケットの転送を実行させる
ことを特徴とする、通信装置。
【請求項２】
前記ハード転送エンジンは、
ハード登録情報テーブルに前記Ｎ台の運用装置の前記通信パケットの転送情報を格納し、
前記制御部は、
前記ハード登録情報テーブルのエントリエリアをＮ＋１に分割し、分割したエントリエリアに前記Ｎ台の運用装置の前記ハード登録情報テーブルのエントリを格納する
ことを特徴とする、請求項１に記載の通信装置。
【請求項３】
前記ハード転送エンジンは、
前記ハード登録情報テーブルの各エントリが有効か無効かを示すフラグに基づいて、前記通信パケットの転送を実行し、
前記制御部は、
前記ハード登録情報テーブルの前記エントリエリアに前記Ｎ台の運用装置の前記ハード登録情報テーブルのエントリを格納する際に、前記Ｎ台の運用装置に対応するエントリのフラグを無効化する
ことを特徴とする、請求項２に記載の通信装置。
【請求項４】
前記制御部は、
前記Ｎ台の運用装置のいずれかの運用装置の障害時に、該運用装置に対応するエントリのフラグを有効化する
ことを特徴とする、請求項３に記載の通信装置。
【請求項５】
前記制御部は、
前記Ｎ台の運用装置のいずれかの運用装置の障害後に、該運用装置以外の運用装置に対応するエントリのフラグが無効化のエントリを削除し、前記エントリエリアを該運用装置の前記エントリエリアとして使用する
ことを特徴とする、請求項３に記載の通信装置。
【請求項６】
前記制御部は、
エントリを抽出するための所定の設定情報にしたがって、前記ハード登録情報テーブルのエントリエリアに前記Ｎ台の運用装置の前記ハード登録情報テーブルのエントリを格納する、
ことを特徴とする、請求項２に記載の通信装置。
【請求項７】
複数のユーザ端末にネットワーク接続環境を提供するＮ台の運用装置と接続された通信装置における通信方法であって、
前記通信装置は、ネットワーク間の通信パケットを転送するハード転送エンジンと、前記ハード転送エンジンを利用して通信パケットの転送を制御する制御部と、備え、
前記制御部が、前記Ｎ台の運用装置の前記通信パケットの転送情報を前記ハード転送エンジンに格納する第１のステップと、
前記制御部が、前記Ｎ台の運用装置のいずれかの運用装置の障害時に、該運用装置に代わり、該運用装置の前記通信パケットの転送情報にしたがって前記通信パケットの転送を実行させる第２のステップと、
を含むことを特徴とする、通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置及び通信方法に関し、ネットワーク構成を冗長化する通信装置及び通信方法に適用して好適なるものである。
【背景技術】
【０００２】
昨今、ＩＴ化が進む中、パケット通信は生活に欠かせない重要な役割を担っている。このため、通信装置の障害による通信の停止をいかに防ぐかは重要な課題である。
【０００３】
特に多数のユーザ通信端末を収容するインターネットプロバイダ等のネットワークエッジルータ通信装置では、装置障害が直接ユーザ通信に影響を与える。ここで、ネットワークエッジルータ通信装置は、複数ユーザの端末を収容する通信装置である。通信装置の障害対策として、装置内でのパッケージ単位での冗長化を組み、パッケージ単位で障害の影響を最小に抑える構成をとることが多い。しかしながら、この通信装置内の冗長部位が同時に故障した場合、ユーザ通信はすべて停止することになるため、結果的に非常に大きい影響となる。
【０００４】
このように、通信装置の冗長部位の障害に対応するため、通信装置そのものを冗長化する技術がある。例えば、ＶＲＲＰプロトコル（非特許文献１）や、装置スタック技術（非特許文献２）、マルチシャーシ技術（非特許文献３）などが挙げられる。これらの技術は、いずれも複数台（Ｎ台（Ｎ＞１））の通信装置を仮想的に１台の装置として扱う技術である。
【０００５】
この他の通信装置を冗長化する技術として、複数台（Ｎ台（Ｎ＞１））の運用通信装置（以降、運用装置と表記）に対して、少なくとも１台の予備通信装置（以降、予備装置と表記）を用意しておき、運用装置が故障した際に、それまで運用装置が行っていた通信を予備装置が行うよう切替える技術が開示されている（例えば、特許文献１または特許文献２）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−１９２０２７号公報
【特許文献２】特開２０１０−１９９６７５号公報
【非特許文献】
【０００７】
【非特許文献１】ＲＦＣ３７６８  Ｖｉｒｔｕａｌ  Ｒｏｕｔｅｒ  Ｒｅｄｕｎｄａｎｃｙ  Ｐｒｏｔｏｃｏｌ（ＶＲＲＰ）
【非特許文献２】「ＡＸ３８００Ｓ・ＡＸ３６５０Ｓソフトウェアマニュアル コンフィグレーションガイド Ｖｏｌ．１  Ｖｅｒ１１．８対応」、アラクサラネットワークス株式会社、２０１２年２月、ｐｐ．１０７〜１５３
【非特許文献３】「Ｃｉｓｃｏ  ＣＲＳ−１キャリアルーティング システムマルチシェルフ システム概要」、シスコシステムズ合同会社、２００７年２月
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記に示す複数ユーザを収容する通信装置では、運用装置の障害が発生した場合に、通信が停止する時間を極力短くすることが重要となる。このことは、複数のハード転送エンジン部位を持つ通信装置を用いて、Ｎ台（Ｎ＞１）の運用装置に対して１台の予備装置を持つ冗長構成をとるネットワーク構成（以降、Ｎ＋１冗長構成と表記）においても同様である。例えば、運用装置が故障した際に、予備装置が該当運用装置に切替わって、該当運用装置の行っていた通信を担う場合にも、通信が停止する時間を極力短くすることが重要となる。
【０００９】
このＮ＋１冗長構成の場合、１台の予備装置にＮ台すべての運用装置の通信情報を予め設定しておくことができれば、運用装置故障発生時に即時に故障した運用装置に代えて該当通信を予備装置で継続することが可能となる。
【００１０】
しかしながら、予備装置のハード転送エンジンにＮ台分すべての運用装置のハード登録情報テーブルを登録しなければ、ハード転送エンジンで送受信可能なパケットパターンが制限されてしまうという問題があった。予備装置のハード転送エンジンにＮ台分すべての運用装置のハード登録情報テーブルを登録するには、予備装置に少なくともＮ台分のハード登録情報テーブルのエントリが必要となる。
【００１１】
上記した特許文献２では、複数台分のハード登録情報を予備装置のハード転送エンジンに登録できないため、運用装置の故障を検出した後に、該当故障運用装置のハード登録情報テーブルを予備装置のハード転送エンジンに登録している。しかし、ハード登録情報のテーブルエントリ数が多い場合には、そのテーブルをハード転送エンジンへ登録する処理自体に時間がかかり、テーブルを登録している間、通信装置で収容しているユーザ通信が停止してしまうという問題があった。
【００１２】
本発明は以上の点を考慮してなされたもので、Ｎ＋１冗長構成をとる通信装置において、運用装置の故障時に予備装置への切り替えを迅速に行うことが可能な通信装置及び通信方法を提案しようとするものである。
【課題を解決するための手段】
【００１３】
かかる課題を解決するために本発明においては、複数のユーザ端末にネットワーク接続環境を提供するＮ台の運用装置と接続された通信装置であって、ネットワーク間の通信パケットを転送するハード転送エンジンと、前記ハード転送エンジンを利用して通信パケットの転送を制御する制御部と、備え、前記制御部は、前記Ｎ台の運用装置の前記通信パケットの転送情報を前記ハード転送エンジンに格納し、前記Ｎ台の運用装置のいずれかの運用装置の障害時に、該運用装置に代わり、該運用装置の前記通信パケットの転送情報にしたがって前記通信パケットの転送を実行させることを特徴とする、通信装置が提供される。
【００１４】
かかる構成によれば、Ｎ＋１冗長構成をとる通信装置において、Ｎ台の運用装置のいずれが故障した場合でも、故障した運用装置で行っていた通信を１台の予備装置に瞬時に切替えることが可能となり、ユーザ通信の停止時間を最小にすることができる。また、１台の予備装置にＮ台分のハード登録エンジンのすべての転送情報を格納するためのエリアを用意しなくても通信切替え動作が可能となり、予備装置のハードウェアコストを下げることができる。
【発明の効果】
【００１５】
本発明によれば、Ｎ＋１冗長構成をとる通信装置において、運用装置の故障時に予備装置への切り替えを迅速に行うことができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態に係るネットワークシステムの構成を示すブロック図である。
【図２】同実施形態にかかる運用装置から予備装置への切替えについて説明する概念図である。
【図３】同実施形態にかかる運用装置から予備装置への切替えについて説明する概念図である。
【図４】同実施形態にかかる運用装置および予備装置の機能構成を示すブロック図である。
【図５】同実施形態にかかるハード登録情報テーブルの内容を示す図表である。
【図６】同実施形態にかかるハード登録情報テーブルの内容を示す図表である。
【図７】本発明の第１の実施形態にかかる通信切替え処理を説明する概念図である。
【図８】同実施形態にかかるユーザ通信パケットを送受信する処理を示すフローチャートである。
【図９】同実施形態にかかるハード登録情報受信処理を示すフローチャートである。
【図１０】同実施形態にかかるハード登録情報テーブルの内容を示す図表である。
【図１１】同実施形態にかかる運用装置の障害を検出した後予備装置が運用装置に切替えられるまでの処理を示すフローチャートである。
【図１２】同実施形態にかかるハード登録情報テーブルの遷移を説明する概念図である。
【図１３】同実施形態にかかるハード登録情報テーブルの遷移を説明する概念図である。
【図１４】同実施形態にかかるハード登録情報テーブルの遷移を説明する概念図である。
【図１５】同実施形態にかかるＬ３経路テーブルの遷移を説明する概念図である。
【図１６】本発明の第２の実施形態にかかるネットワークシステムの構成を示すブロック図である。
【図１７】同実施形態にかかるハード転送エンジンの構成を示すブロック図である。
【発明を実施するための形態】
【００１７】
以下図面について、本発明の一実施の形態を詳述する。
【００１８】
（１）本発明におけるネットワークシステム構成
以下では、後述する第１実施形態及び第２実施形態に共通するネットワークシステムの構成について説明する。
（１−１）ネットワークシステムの構成
まず、図１を参照して、複数の通信装置を備えたネットワークシステムの構成について説明する。図１に示すように、本実施形態のネットワークシステムは、複数台の通信装置ＲＡ１〜ＲＡＮ、ＲＳ１と、ルータ１００と、レイヤ３ネットワーク１１０と、ネットワークＮＷ１〜ＮＷＭと、レイヤ２スイッチＳＷ１〜ＳＷＮとユーザ端末（図中ユーザと表記）Ｕ１〜ＵＪ、ＵＫ〜ＵＬとから構成される。
【００１９】
複数台の通信装置は、ＩＰパケット通信を実行するＮ台の通信装置である運用装置ＲＡ１〜運用装置ＲＡＮ（以降、運用装置ＲＡ１〜ＲＡＮと称する。）は、レイヤ２スイッチＳＷ１〜レイヤ２スイッチＳＷＮ（以降、レイヤ２スイッチＳＷ１〜ＳＷＮと称する。を介して、ユーザＵ１からユーザＵＪ（以降、ユーザＵ１〜ユーザＵＪと称する。）を運用装置ＲＡ１が収容し、ユーザＵＫ〜ユーザＵＬを運用装置ＲＡＮが収容している。
【００２０】
また、Ｎ台の運用装置ＲＡ１〜ＲＡＮは、それぞれルータ１００に接続されており、レイヤ３ネットワーク１１０を介してネットワークＮＷ１からネットワークＮＷＭ（以降、ネットワークＮＷ１〜ＮＷＭと表記）までのネットワークにユーザが送信したＩＰパケットを転送、また逆方向のネットワークＮＷ１〜ＮＷＭからのＩＰパケットをユーザＵ１〜ＵＪ、ユーザＵＫ〜ＵＬへそれぞれ転送する。
【００２１】
図１のネットワークシステムの構成では、運用装置ＲＡ１〜ＲＡＮの予備の通信装置として、予備装置ＲＳ１が存在する。予備装置ＲＳ１は、運用装置ＲＡ１〜ＲＡＮと同様にルータ１００に接続されており、レイヤ３ネットワーク１１０を介して、ネットワークＮＷ１〜ＮＷＭへのパケット送信、またはネットワークＮＷ１〜ＮＷＭからのパケット受信を行う。
【００２２】
この予備装置ＲＳ１は、運用装置ＲＡ１〜ＲＡＮとの間で装置冗長構成をとっており、運用装置ＲＡ１〜ＲＡＮのいずれか１台の装置が故障した場合に、該当の故障した運用装置が行っていたユーザとネットワーク間の通信を予備装置に切り替える。通信が切り替えられた後の予備装置ＲＳ１は、故障した運用装置と同様の動作を行い、予備装置としての動作は行わない。以降、本構成をＮ＋１冗長構成と表記し、予備装置ＲＳ１が運用装置ＲＡ１〜ＲＡＮのいずれかの１台に切替わることを単に切替え、または装置切替えと表現する。
【００２３】
また、切替え前の予備装置ＲＳ１を単に予備装置ＲＳ１または予備装置ＲＳ１（切替え前）と称し、切替え直後の予備装置ＲＳ１を予備装置ＲＳ１（切替え直後）と称し、切替え動作を完了し、切替わり元の運用装置ＲＡ１〜ＲＡＮのいずれかの役割を担っている予備装置ＲＳ１を予備装置ＲＳ１（切替え後）と称する。なお、切替え動作に依存しない場合も、単に予備装置ＲＳ１と称する。
【００２４】
運用装置ＲＡ１〜ＲＡＮおよび予備装置ＲＳ１は、各装置を制御する装置制御部３０を装置内にそれぞれ持っている。また、ＩＰパケットをハードウェアで転送するための複数個のハード転送エンジン４１〜ハード転送エンジン４Ｐ（以降、ハード転送エンジン４１〜４Ｐ）を搭載している。ユーザにより送信されるＩＰパケットは、運用装置ＲＡ１〜ＲＡＮのハード転送エンジン４１〜４Ｐが、あて先ＩＰアドレスに応じて転送する。
【００２５】
また、各ハード転送エンジン４１〜４Ｐから、それぞれレイヤ２スイッチに対して回線が接続されており、通信の信頼性向上化のためにリンクアグリゲーションで接続回線の冗長化を行っている。リンクアグリゲーションとは、複数の物理的な回線を仮想的に束ね、あたかも１本の回線であるかの如く扱う技術であり、複数の物理的な回線のうち１本に不具合が生じた場合には、他の回線を用いて通信を継続する。このリンクアグリゲーション構成により、運用装置ＲＡ１〜ＲＡＮおよび予備装置ＲＳ１は、各装置内のハード転送エンジンのうち少なくとも１枚のハード転送エンジンが正常であれば、パケットの転送が可能となる高信頼化構成をとっている。
【００２６】
次に、図２及び図３を参照して、運用装置から予備装置への切替えについて説明する。例えば、図２に示すように、運用装置ＲＡ１が障害によりダウンした場合に、ユーザＵ１とネットワークＮＷ１との間の通信経路が予備装置（切替え直後、および切替え後）に切替えられる。運用装置ＲＡ１の障害が発生する前は、ユーザＵ１とネットワークＮＷ１との通信は、運用装置ＲＡ１を通過する通信経路５１０であった。そして、運用装置ＲＡ１が障害となった後は、予備装置ＲＳ１（切替え直後、および切替え後）を経由する通信経路５１１に切替えられる。
【００２７】
また、図３に示すように、運用装置ＲＡＮが障害によりダウンした場合には、ユーザＵＫとネットワークＮＷ１との間の通信経路が切替えられる。運用装置ＲＡＮの障害が発生する前は、ユーザＵＫとネットワークＮＷ１との通信は、運用装置ＲＡ１を通過する通信経路５１０である。そして、運用装置ＲＡＮが障害となった後は、予備装置ＲＳ１（切替え中、切替え後）を経由する通信経路５１１に切替えられる。
【００２８】
図２または図３に示したように、いずれかの運用装置ＲＡ１〜ＲＡＮが障害によりダウンして、運用装置ＲＡ１〜ＲＡＮから予備装置ＲＳ１に切替わる場合には、各運用装置のユーザ通信は予備装置（ＲＳ１）を経由した通信経路５１１に切替えられる。
【００２９】
（１−２）通信装置の機能構成
次に図４を参照して、運用装置ＲＡ１〜ＲＡＮ及び予備装置ＲＳ１の機能構成について説明する。図４（ａ）は、運用装置ＲＡ１〜ＲＡＮの構成を示し、図４（ｂ）は、予備装置ＲＳ１の構成を示す。
【００３０】
運用装置ＲＡ１〜ＲＡＮおよび予備装置ＲＳ１のハード転送エンジン４１〜４Ｐには、ＩＰパケット転送を行うためのレイヤ３（以降Ｌ３と表現）経路テーブル５０、ＡＲＰテーブル６０等のデータテーブルが装置制御部３０によって登録されており、この登録データに従って受信したパケットの転送を実行する。これらハード転送エンジンに登録されるデータテーブルを総称してハード登録情報テーブル７０と呼ぶ。
【００３１】
次に図４（ａ）および図４（ｂ）に示したハード登録情報テーブルであるＬ３経路テーブル５０とＡＲＰテーブル６０について説明する。
【００３２】
図５（ａ）は、運用装置ＲＡ１〜ＲＡＮのハード登録情報テーブルを示し、図５（ｂ）は予備装置ＲＳ１のハード登録情報テーブルを示す。
【００３３】
図５（ａ）及び図５（ｂ）に示すように、Ｌ３経路テーブル５０ａ及び５０ｂは、ＩＰパケットをハードウェアで転送するためのエントリを複数有する
【００３４】
各エントリには、あて先、Ｎｅｘｔｈｏｐ、送信インタフェース及びフラグなどが格納される。宛先は、ＩＰパケットの送信先である。Ｎｅｘｔｈｏｐは、パケットを次に転送する際に必要なＩＰアドレスである。送信インタフェースは、パケットを次に転送するために送信する通信装置の論理インタフェースであって、具体的には物理回線やＶＬＡＮ（Ｖｉｒｔｕａｌ  ＬＡＮ）等の論理回線などが格納される。また、フラグには、各エントリが有効か無効かを示すフラグ情報が格納される。例えば、フラグが有効の場合には、該当エントリはＩＰパケット転送に使用され、フラグが無効の場合には、該当エントリはＩＰパケット転送に使用されない。
【００３５】
ＩＰパケットの転送は、転送するＩＰパケットのあて先ＩＰアドレス情報から、Ｌ３経路テーブル５０のフラグが有効と設定されている各エントリに記載されたパケットのあて先が検索されて、あて先情報が一致するエントリのＮｅｘｔｈｏｐアドレスとインタフェースに転送される。Ｌ３経路テーブル５０のフラグが無効と設定されているエントリは、ＩＰパケットの転送には使用されない。
【００３６】
このハード転送エンジン４１〜４Ｐに登録可能なＬ３経路テーブル５０のエントリ数は有限である。運用装置ＲＳ１は、図４（ｂ）に示すように、このＬ３経路テーブル５０のエントリを、複数のエントリ領域（以降、エントリエリアと表記）に分割可能としている。一方、運用装置ＲＡ１〜ＲＡＮでは、図４（ａ）に示すように、Ｌ３経路テーブル５０のエントリを分割しない構成としている。
【００３７】
ＡＲＰテーブル６０は、図５（ａ）および図５（ｂ）に示すように、ＩＰパケットをハードウェアで転送するためのエントリを有する。
【００３８】
各エントリには、ＩＰアドレス、ＭＡＣアドレス、インタフェース及びフラグなどが格納される。ＩＰアドレスは、転送先の装置を識別する情報であり、ＭＡＣアドレスはＩＰアドレスに対応するデータリンク層で利用される識別情報である。インタフェースには、各装置が所属しているインタフェースの情報であって、例えば、ＩＰアドレスを持つ隣接装置が接続されている論理インタフェース情報などが格納される。また、フラグには、各エントリが有効か無効かを示すフラグ情報が格納される。例えば、フラグが有効の場合には、該当エントリはＩＰパケット転送に使用され、フラグが無効の場合には、該当エントリはＩＰパケット転送に使用されない。
【００３９】
ＩＰパケットの転送は、Ｌ３経路テーブル５０で特定された転送先のＮｅｘｔｈｏｐアドレスに対応するＭＡＣアドレスを、ＡＲＰテーブル６０を使って検索し特定する。そして、所属インタフェースから該当ＭＡＣアドレス宛にＩＰパケットを送信する。なお、ＡＲＰテーブル６０のフラグが無効とされているエントリは、ＩＰパケットの転送に使用されない。
【００４０】
このハード転送エンジン４１〜４Ｐに書き込むことが可能なＡＲＰテーブル６０のエントリ数は有限である。運用装置ＲＳ１は、図４（ｂ）に示すようにエントリを複数のエントリ領域（以降、エントリエリアと表記）に分割可能としている。一方、運用装置ＲＡ１〜ＲＡＮでは、図４（ａ）に示すように、ＡＲＰテーブル６０のエントリを分割しない構成としている。
【００４１】
次に、図４（ａ）および図４（ｂ）に示す装置制御部３０の機能について説明する。装置制御部３０は、装置全体の制御を行い、Ｌ３経路管理部３１、設定情報管理部３２、冗長装置管理部３３及びハード転送エンジン管理部３４を有する。
【００４２】
Ｌ３経路管理部３１は、ＩＰパケットの転送先を決定するためのＬ３経路テーブル５０を管理し、運用装置ＲＡ１〜ＲＡＮおよび予備装置ＲＳ１のＬ３経路テーブル５０をルータ１００に通知する機能を有する。
【００４３】
設定情報管理部３２は、運用装置ＲＡ１〜ＲＡＮ及び予備装置ＲＳ１の設定情報を管理する部位であり、管理者によって装置に設定される情報（コンフィグレーション）の管理と、装置制御部３０内の各部にそのコンフィグレーション参照する機能を提供する。コンフィグレーション情報は、ハード転送エンジンのハード登録情報テーブル７０のエントリエリアの分割設定情報、Ｎ＋１冗長構成設定情報、ハード登録情報テーブルのフィルタリング設定情報などを含む。フィルタリング設定情報については、冗長装置管理部３３を説明する際に詳細に説明する。
【００４４】
冗長装置管理部３３は、Ｎ＋１冗長構成の通信装置を管理する。冗長装置管理部３３は、設定情報管理部３２からＮ＋１冗長構成設定情報とハード登録情報テーブルのエントリエリア設定情報、ハード登録情報テーブルフィルタリング設定情報を読み込む。ここで、フィルタリング設定情報は、任意の設定情報であって、静的な情報を用いてエントリを抽出してもよいし、通信量などに応じて動的にエントリを抽出してもよい。静的な情報とは、例えば、ユーザの優先度の情報や、ユーザが利用するアプリケーションの優先度の情報などである。
【００４５】
通信装置が予備装置ＲＳ１である場合には、冗長装置管理部３３は、ハード転送エンジン管理部３４を介して、設定情報管理部３２から読み出したエントリエリア分割情報に従って、ハード登録情報テーブル７０のエントリエリアを分割する。
【００４６】
また、冗長装置管理部３３は、設定情報管理部３２から読み出したＮ＋１冗長構成情報を元に、Ｎ台の運用装置ＲＡ１〜ＲＡＮの障害を検出する機能と、Ｎ台の運用装置ＲＡ１〜ＲＡＮのハード登録情報テーブルを取得する機能を有する。
【００４７】
冗長装置管理部３３は、取得したハード登録情報テーブル７０と、設定情報管理部３２から読み出したハード登録情報テーブルフィルタリング設定情報とを比較し、一致するものだけを抽出する。ハード登録情報テーブルフィルタリング設定情報とは、ハード登録情報テーブル７０から必要なエントリを抽出するためのフィルタリング設定情報である。以降、ハード登録情報テーブル７０から必要なエントリを抽出する処理をフィルタリングと称して説明する。そして、冗長装置管理部３３は、ハード転送エンジン管理部３４を介して、抽出結果のハード登録情報テーブル７０のエントリをハード転送エンジン４１〜４Ｐに登録する。
【００４８】
ハード転送エンジン管理部３４は、実装されているハード転送エンジンとそのハード登録情報テーブルを管理するハードウェアドライバ部位である。ハード転送エンジン管理部３４は、Ｌ３経路テーブル５０とＡＲＰテーブル６０を含むハード登録情報テーブル７０を、ハード転送エンジン４１〜４Ｐに登録する機能を持つ。また、冗長装置管理部３３からの指示により、ハード転送エンジン４１〜４Ｐのハード登録情報テーブル７０（Ｌ３経路テーブル５０、ＡＲＰテーブル６０）のエントリエリアの分割を行う。
【００４９】
（２）第１の実施の形態
（２−１）ネットワークシステムの構成
次に、本実施の形態のネットワークシステムの構成について説明する。本実施の形態では、図１に示すように、インターネットプロバイダのエッジルータとして、Ｎ台（Ｎ＞１の整数）の通信装置がそれぞれ複数の契約ユーザを収容している。また、当該ネットワークシステムは、ユーザＵ１〜ＵＪ、ユーザＵＫ〜ＵＬとネットワークＮＷ１〜ＮＷＭ間のＩＰパケットを中継している。このパケットを中継する通信装置として、当該ネットワークシステムには、Ｎ台の運用装置（運用装置ＲＡ１〜運用装置ＲＡＮ）を備えている。また、当該ネットワークシステムには、運用装置ＲＡ１〜運用装置ＲＡＮの予備装置として、予備装置ＲＳ１を備えている。
【００５０】
図２及び図３は、運用装置ＲＡ１〜ＲＡＮのうちの１台が故障した際に、故障した運用装置から予備装置に切替わり、当該予備装置が、ユーザとネットワーク間の通信を行う役割と効果を示す。予備装置ＲＳ１は、運用装置ＲＡ１〜ＲＡＮが正常に動作している間は、ユーザ通信パケットの送受信は行わない。運用装置が故障して、予備装置ＲＳ１が１台の運用装置に切替わった後に、初めて該当運用装置が実行していたユーザ通信パケットの送受信を行う。運用装置ＲＡ１〜ＲＡＮ及び予備装置ＲＳ１は、装置全体の制御を行う装置制御部３０と、ユーザ通信パケットの送受信を実行するハード転送エンジン４１〜４Ｐをそれぞれ備える。
【００５１】
各ユーザと運用装置ＲＡ１〜ＲＡＮとは、それぞれレイヤ２スイッチＳＷ１〜ＳＷＮを介した回線で接続されており、ユーザとレイヤ２スイッチとは、各ユーザ単位にＥｔｈｅｒｎｅｔ（登録商標）回線で接続されている。レイヤ２スイッチＳＷ１〜ＳＷＮは、ＶＬＡＮ（Ｖｉｒｔｕａｌ  ＬＡＮ）により各ユーザ間の通信を分離しており、ポートベースＶＬＡＮを使用して各ユーザが接続されている物理回線と、そのＶＬＡＮ−ＩＤを対応させたタグＶＬＡＮを使用して、運用装置との間に接続された物理回線でパケットを送受信する。
【００５２】
具体的な例では、ユーザ１にＶＬＡＮ１を割り当てて、ＶＬＡＮ１に所属するレイヤ２スイッチＳＷ１の物理回線でユーザ１と接続し、運用装置ＲＡ１と接続している物理回線でユーザ１のパケットにＶＬＡＮ−ＩＤ１のタグを挿入し、ユーザを識別する。
【００５３】
さらに、各運用装置ＲＡ１〜ＲＡＮとレイヤ２スイッチＳＷ１〜ＳＷＮ間は、リンクアグリゲーション３１０を使用し複数の物理回線を多重して接続されている。本実施の形態では、図１に示すように、２本の物理回線を束ねたリンクアグリゲーション構成をとっている。そして、運用装置ＲＡ１〜ＲＡＮ側では、レイヤ２スイッチＳＷ１〜ＳＷＮと接続されている２つの物理回線をそれぞれ別々のハード転送エンジン４１〜４Ｐに収容する物理回線に接続している。これにより、ハード転送エンジンの一方が故障した場合でも、もう一方のハード転送エンジンによってユーザ通信パケットの送受信を継続することができる。
【００５４】
また、運用装置ＲＡ１〜ＲＡＮは、レイヤ２スイッチＳＷ１〜ＳＷＮで付与されるユーザ毎のＶＬＡＮタグが付与されたパケットでユーザを区別し、そのＶＬＡＮタグ値によりユーザ通信パケットを送受信するためのユーザ収容インタフェースをレイヤ２スイッチと接続するリンクアグリゲーション３１０上に持つ。また、運用装置ＲＡ１〜ＲＡＮはルータ１００と接続され、これらレイヤ２スイッチＳＷ１〜ＳＷＮとルータ１０１を介してネットワークＮＷ１〜ＮＷＭ間とユーザＵ１〜ＵＪ，ＵＫ〜ＵＬ間のユーザ通信パケットの送受信を行う。
【００５５】
一方の予備装置ＲＳ１は、運用装置ＲＡ１〜ＲＡＮに接続されているすべてのレイヤ２スイッチＳＷ１〜ＳＷＮに接続されている。予備装置ＲＳ１は、運用装置ＲＡ１〜ＲＡＮの予備装置であるため、運用装置ＲＡ１〜ＲＡＮに接続されているすべてのレイヤ２スイッチＳＷ１〜ＳＷＮに接続されている。これにより、予備装置ＲＳ１は、すべての運用装置のいずれかの１台に切替わった後に、該当運用装置が収容していたユーザ通信パケットの送受信を行うことが可能となる。予備装置ＲＳ１とレイヤ２スイッチとの間も、運用装置と同様にリンクアグリゲーション３１０を使用した複数の物理回線を多重して接続されている。
【００５６】
（２−２）通信装置の機能構成
また、図４および図５に示すように、ユーザ通信パケットの送受信を実行するハード転送エンジン４１、４Ｐは、Ｌ３経路テーブル５０とＡＲＰテーブル６０のハード登録情報テーブルを備えており、このテーブルに登録されたテーブルエントリに従って、パケットの送受信が行われる。
【００５７】
図６（ａ）は、本実施形態のネットワーク構成において、運用装置ＲＡ１〜ＲＡＮが正常にユーザ通信パケットの転送を実行している際の、運用装置のハード転送エンジン内のハード登録情報テーブル７０であるＬ３経路テーブル５０、ＡＲＰテーブル６０の状態を示している。図６（ｂ）は、この時の予備装置ＲＳ１のハード転送エンジン４１〜４Ｐ内のＬ３経路テーブル５０、ＡＲＰテーブル６０の状態を示している。リンクアグリゲーション構成のため、ハード転送エンジン４１〜４Ｐのハード登録情報テーブル７０のユーザ側に関する情報は同一の情報が格納される。
【００５８】
図６（ａ）では、運用装置ＲＡ１〜ＲＡＮのＬ３経路テーブル５０、ＡＲＰテーブル６０は、各テーブル内の全エントリをすべてユーザ通信パケット送受信に使用し、そのエントリ全体の領域であるエントリエリア０内の各エントリのパケット転送の有効・無効を示すフラグをすべて有効としている。
【００５９】
図６（ｂ）では、予備装置ＲＳ１のハード転送エンジン４１〜４Ｐ内のＬ３経路テーブル５０、ＡＲＰテーブル６０は、それぞれＮ＋１個のテーブルエントリエリア（エントリエリア０〜エントリエリアＮ）に分割されており、エントリエリア０内のエントリを予備装置固有のパケット送受信に使用するエントリとして、エントリエリア０内の全エントリのフラグを有効としている。その他のエントリエリア１からエントリエリアＮ（以降、エントリエリア１〜Ｎと表記）は、運用装置ＲＡ１〜ＲＡＮのＬ３経路テーブル５０とＡＲＰテーブル５０のエントリをそれぞれ登録するエントリエリアとし、エントリエリア内のすべてのエントリのフラグを無効とする。
【００６０】
これにより、予備装置ＲＳ１のハード転送エンジン４１〜４Ｐは、エントリエリア０のみを使用した予備装置ＲＳ１固有のパケット送受信を実行し、エントリエリア１〜Ｎを使用したパケット送受信は実行しない。
【００６１】
（２−３）ネットワークシステムにおける通信切替え処理
次に、本実施形態のネットワークシステムにおける通信切替え処理について説明する。
【００６２】
図７は、予備装置ＲＳ１の装置制御部３０内の各部により実行される処理を説明する図である。なお、運用装置ＲＡ１〜ＲＡＮの装置制御部３０内の各部により実行される処理については、予備装置ＲＳ１とほぼ同様であるため、予備装置ＲＳ１と異なる処理についてのみ説明している。
【００６３】
上記したように、装置制御部３０は、Ｌ３経路管理部３１、設定情報管理部３２、冗長装置管理部３３及びハード転送エンジン管理部３４を備える。図７における通信切替え処理の説明に際して、予備装置ＲＳ１が運用装置ＲＡ１〜ＲＡＮの障害発生時に、いずれか障害発生運用装置が行っていたユーザ通信パケットの送受信を実行する処理については図８を参照して説明する。
【００６４】
図７のＬ３経路管理部３１は、ＩＰパケットの転送先を決定するためのＬ３経路テーブルを管理する機能を有する。Ｌ３経路テーブルをルータ１００に対して一般的なＢＧＰ（Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ）等のルーティングプロトコルで広告する機能をもつ。Ｌ３経路テーブル５０を広告されたルータ１００は、ルータ１００で受信したパケットのうち広告されたＬ３経路テーブル５０内のあて先に一致するユーザ通信パケットを広告元に送信する。広告するＬ３経路テーブル５０は、後述する冗長装置管理部３３から通知される。ここで一般的なルーティングプロトコルでは、広告するＬ３経路テーブル５０の優先度設定ができる。
【００６５】
この機能を使用して、運用装置ＲＡ１〜ＲＡＮでは、全Ｌ３経路テーブル（エントリエリア０の全エントリ）を優先度高としてルータ１００に広告５２０する。一方の予備装置ＲＳ１では、Ｌ３経路テーブル５０のエントリエリア１〜Ｎの経路（冗長装置管理部３３から取得）を優先度低として、ルータ１００に広告５２０する。この動作によりルータ１００には、同一のあて先（ユーザ）に対するＬ３経路テーブルを運用装置ＲＡ１〜ＲＡＮと予備装置ＲＳ１からそれぞれ受信し、同一あて先のユーザ宛経路が２エントリ生成される。本動作の目的は、運用装置ＲＡ１〜ＲＡＮのうちのいずれかの１台が障害となったときに、図１のネットワークＮＷ１〜ＮＷＭから該当障害装置に収容されるユーザ宛のパケットを予備装置ＲＳ１（切替え直後、切替え完了後）に転送するためである。このルータ１００の動作は、後で図１５を用いて説明する。
【００６６】
図７の設定情報管理部３２は、運用者によって予め設定される通信装置の設定情報を管理する。設定情報として、装置設定情報（Ｎ＋１冗長構成設定情報、ハード転送エンジンハード登録情報テーブルエリア設定情報）およびハード登録情報テーブルフィルタリング設定情報を保持している。これら設定情報は、次の冗長装置管理部３３で使用する情報であり、当該設定情報については後で詳細に説明する。
【００６７】
図７の冗長装置管理部３３は、Ｎ＋１冗長構成通信装置（運用装置ＲＡ１〜ＲＡＮ、予備装置ＲＳ１）を制御する。冗長装置管理部３３は以下の処理を順に実行する。
（１）設定情報管理部３２からの設定情報読出し
（２）予備装置ＲＳ１でハード転送エンジン管理部に対するハード登録情報テーブルエントリエリア設定要求
（３）予備装置ＲＳ１と運用装置ＲＡ１〜ＲＡＮ間でのハード転送エンジンのハード登録情報テーブル送受信
（４）予備装置ＲＳ１でのハード登録情報テーブルフィルタリング
（５）予備装置ＲＳ１でハード転送エンジン管理部に対するハード登録情報テーブルの登録要求
（６）予備装置ＲＳ１からＬ３経路管理部へのＬ３経路テーブル通知
（７）予備装置ＲＳ１での運用装置ＲＡ１〜ＲＡＮの障害検出
（８）予備装置ＲＳ１での運用装置への切替わり制御
【００６８】
以下、上記（１）〜（８）の処理について順に説明する。
【００６９】
上記（１）の処理では、冗長装置管理部３３は、設定情報管理部３２から設定情報を読み出す。読み出す情報としては、装置設定情報及びハード登録情報テーブルフィルタリング設定情報などである。装置設定情報は、例えば、Ｎ＋１冗長構成設定情報、ハード登録情報テーブルエントリエリア設定情報などである。また、装置設定情報のＮ＋１冗長構成設定情報には、装置の役割情報（運用装置ＲＡ１〜ＲＡＮまたは予備装置ＲＳ１）や、予備装置ＲＳ１と運用装置ＲＡ１〜ＲＡＮ装置間の通信用ＩＰアドレス設定情報などが含まれる。装置の役割情報が予備装置である通信装置は、予備装置としての動作を行う。その他の読み出し設定情報は、次の（２）〜（８）の処理で使用する情報である。
【００７０】
上記（２）の処理では、冗長装置管理部３３は、ハード転送エンジン管理部３４に対するハード登録情報テーブルエントリエリア設定要求を送信する。このエントリエリアの設定は、設定情報管理部３２から読み出したハード転送エンジンハード登録情報テーブルエリア設定情報で決定される。
【００７１】
本実施の形態では、予備装置ＲＳ１のハード登録情報テーブル７０を、図５（ｂ）のように合計Ｎ＋１個のエントリエリア（エントリエリア０とエントリエリア１〜Ｎ）に分割する。そして、ハード登録情報テーブル７０については、図６（ｂ）に示すように、エントリエリア０を予備装置ＲＳ１の固有装置エントリエリアとし、各エントリのフラグを有効化する。また、エントリエリア１〜Ｎをその他各運用装置ＲＡ１〜ＲＡＮのハード登録情報テーブルを登録するエリアとし、当該エリアを無効化する。
【００７２】
上記（３）の処理では、運用装置ＲＡ１〜ＲＡＮの場合、図８に示すシーケンスＳ６００の動作を行う。
【００７３】
図８は、運用装置ＲＳ１〜ＲＳＮのハード登録情報送信処理を示すフローチャートである。まず、運用装置ＲＳ１〜ＲＳＮの冗長装置管理部３３は、予備装置ＲＳ１からのハード登録情報テーブル要求を受信する（Ｓ６０１）。
【００７４】
そして、運用装置ＲＳ１〜ＲＳＮのうち、ハード登録情報テーブルの送信を要求された運用装置の冗長装置管理部３３は、は、自己のハード登録情報テーブル７０の全エントリを、要求元の予備装置ＲＳ１に一括送信する（Ｓ６０２）。
【００７５】
そして、冗長装置管理部３３は、ハード登録情報テーブル７０の変更を監視し、変更があるかを判定する（Ｓ６０４）。
【００７６】
ステップＳ６０４において、ハード登録情報テーブル７０に変更がないと判定された場合には、ハード登録情報テーブル７０の監視を継続する。
【００７７】
一方、ステップＳ６０４において、ハード登録情報テーブル７０に変更があると判定された場合には、変更のあったハード登録情報テーブル７０のエントリを予備装置ＲＳ１に送信する（Ｓ６０５）。
【００７８】
図９は、予備装置ＲＳ１のハード登録情報受信処理を示すフローチャートである。まず、予備装置ＲＳ１の冗長装置管理部３３は、運用装置ＲＡ１〜ＲＡＳに対してハード登録情報テーブル要求を送信する（Ｓ６１１）。
【００７９】
そして、予備装置ＲＳ１の冗長装置管理部３３は、各運用装置ＲＡ１〜ＲＡＳのハード登録情報テーブル７０の全エントリを受信する（Ｓ６１２）。
【００８０】
次に、予備装置ＲＳ１の冗長装置管理部３３は、上記した（４）の処理、ハード登録情報テーブルフィルタリング処理を実行する（Ｓ６１３）。続いて、予備装置ＲＳ１の冗長装置管理部３３は、上記した（５）の処理、ハード登録情報テーブルの登録処理を実行する（Ｓ６１４）。そして、予備装置ＲＳ１の冗長装置管理部３３は、上記した（６）の処理、Ｌ３経路テーブル通知処理を実行する（Ｓ６１５）。
【００８１】
ここで、ステップＳ６１３における（４）の処理、ステップＳ６１４における（５）の処理、ステップＳ６１５における（６）の処理について説明する。
【００８２】
（４）の処理では、予備装置ＲＳ１で運用装置ＲＡ１〜ＲＡＮから受信したハード登録情報テーブル７０と（１）の処理で設定情報管理部３２から読み出したハード登録情報テーブルフィルタリング設定情報を比較し、設定情報の条件に一致するハード登録情報テーブル７０のエントリを抽出する。この抽出動作がハード登録情報テーブルフィルタリングであり、抽出結果のハード登録情報テーブルエントリ数は運用装置ＲＡ１〜ＲＡＳのハード登録情報テーブルエントリ数よりも少なくなる。
【００８３】
（５）の処理は、予備装置ＲＳ１でのハード転送エンジン管理部３４に対するハード登録情報テーブルの登録要求処理である。（４）の処理でフィルタリングした結果、抽出された運用装置ＲＡ１〜ＲＡＮのハード登録情報テーブル５０を、ハード転送エンジン管理部３４に要求する。そして、（２）の処理により、各運用装置ＲＡ１〜ＲＡＮに対応するエントリエリア１〜Ｎに登録する。
【００８４】
本実施の形態では、例えば、図６（ｂ）に示すように、エントリエリア１が運用装置ＲＡ１に対応するエントリエリアであり、エントリエリアＮが運用装置ＲＡＮに対応するエントリエリアである。各エントリエリアに書き込む際のエントリフラグは、いずれも無効と設定し、ハード転送エンジンでのパケット転送に使用しない。
【００８５】
図１０は、運用装置ＲＡ１〜ＲＡＮおよび予備装置ＲＳ１のハード転送エンジン毎のハード登録情報テーブル７０を示す図である。図１０は、運用装置ＲＡ１〜ＲＡＮのフィルタリングされたハード登録情報テーブル７０を、予備装置ＲＳ１の各ハード登録情報テーブルエントリエリアに登録していることを表している。
【００８６】
予備装置ＲＳ１の各ハード登録情報テーブルのエントリエリアに登録する際に、（４）の処理のフィルタリングにより、もともとの運用装置のテーブルエントリから抽出条件に一致するエントリを抽出し、エントリ数を減らした上で、予備装置のハード転送エンジンに登録している。
【００８７】
（６）の処理は、予備装置ＲＳ１からＬ３経路管理部へのＬ３経路テーブルの通知処理である。（４）の処理でフィルタリングした結果、抽出された運用装置ＲＡ１〜ＲＡＮのハード登録情報テーブル７０のうち、Ｌ３経路テーブル５０をＬ３経路管理部３１に通知する。なお、通知の目的はルータ１００にネットワークＮＷ１〜ＮＷＭからのユーザ向けパケットの低優先のＬ３迂回経路を登録するためであり、予めルータ１００にＬ３迂回経路を登録可能な場合は、本通知動作を省略してもよい。
【００８８】
図９に戻り、予備装置ＲＳ１の冗長装置管理部３３は、上記したＳ６１３〜Ｓ６１５の処理を実行した後、運用装置ＲＡ１〜ＲＡＮからのハード登録情報テーブル変更エントリの受信を監視する（Ｓ６１６）。
【００８９】
そして、予備装置ＲＳ１の冗長装置管理部３３は、ハード登録情報テーブルエントリの変更情報を受信したかを判定する（Ｓ６１７）。ステップＳ６１７において、ハード登録情報テーブルエントリの変更情報を受信していない場合は、予備装置ＲＳ１の冗長装置管理部３３は、再びＳ６１６における監視処理を継続する。一方、ステップＳ６１７において、ハード登録情報テーブルエントリの変更情報を受信している場合は、予備装置ＲＳ１の冗長装置管理部３３は、ステップＳ６１３に戻りステップＳ６１３以降の処理を行う。
【００９０】
図７に戻り、（７）の処理以降の説明を続ける。上記（７）の処理は、予備装置ＲＳ１での運用装置ＲＡ１〜ＲＡＮの障害を検出する処理である。本実施の形態では、障害を検出する処理の方式として、Ｅｃｈｏ  Ｒｅｑｕｅｓｔ／Ｒｅｐｌｙを利用している。具体的に、予備装置ＲＳ１が一定間隔で運用装置ＲＡ１〜ＲＡＮにＩＣＭＰ  Ｅｃｈｏ  Ｒｅｑｕｅｓｔを送信し、ＥｃｈｏＲｅｐｌｙが返ってこなかった場合に、該当の運用装置ＲＡ１〜ＲＡＮのいずれか１台に障害が発生しているとみなす。このＥｃｈｏ  Ｒｅｑｕｅｓｔ／Ｒｅｐｌｙを（８）の運用装置への切替わり制御を開始するトリガとしている。
【００９１】
なお、障害検出は、予備装置ＲＳ１が監視実行するのではなく、例えばネットワークシステム上の別サーバで運用装置ＲＡ１〜ＲＡＮを監視し、別サーバが運用装置ＲＡ１の障害検出した場合、予備装置に障害通知を行うといった方式や、運用装置ＲＡ１〜ＲＡＮが自装置の装置障害を検出し、予備装置ＲＳ１に通知するといった方式も適用することができる。
【００９２】
上記（８）の処理は、予備装置ＲＳ１での運用装置への切替わり制御を実行する処理である。図１１を参照して、運用装置の障害を検出した後予備装置が運用装置に切替えられるまでの処理の詳細を説明する。
【００９３】
図１１は、運用装置の障害を検出した後予備装置が運用装置に切替えられるまでの処理を示すフローチャートである。図１１のステップＳ６２１〜６２３の処理は、上記した（７）の障害検出処理である。また、図１１のステップＳ６２４〜６２６の処理は、（８）の切り替わり制御処理を示すフローチャートである。
【００９４】
図１１に示すように、まず、運用装置ＲＡ１〜ＲＡＮの定期的な監視が実行される（Ｓ６２２）。そして、ステップＳ６２２〜ステップＳ６２３において、運用装置ＲＡ１〜ＲＡＮのいずれかの１台の障害が検出された場合には、ハード転送エンジンのハード登録情報テーブルエントリの有効化処理を行う（Ｓ６２４）。
【００９５】
ステップＳ６２４におけるエントリの有効化処理は、（５）のハード登録情報テーブルの登録要求を実行し、障害が発生した運用装置に対応するハード登録情報テーブルエントリエリアのエントリフラグを有効と設定することにより実現する。これにより、運用装置の障害検出前に予めハード転送エンジンに登録されていた該当エントリを利用して、パケット送受信が実行される。
【００９６】
次に、無効化状態であるハード登録情報テーブルエントリエリアのエントリデータを消去し、ハード登録情報テーブルエントリエリア設定要求を行い（Ｓ６２５）。ステップＳ６２５において、すべての分割されていたエントリエリアが統合され、全エントリエリアが使用可能な状態となる。
【００９７】
上記した処理を実施した後、通信の切替えが完了する。すなわち、予備装置ＲＳ１（切替え後）において、障害が発生した運用装置のユーザ通信パケット送受信が行われる。
【００９８】
その後、予備装置の動作停止処理が行われ（Ｓ６２６）。ステップＳ６２６における予備装置の動作停止処理とは、予備装置ＲＳ１が運用装置に切り替わることにより、当該運用装置の予備装置としての動作が停止することを意味する。具体的に、予備装置ＲＳ１は、運用装置ＲＡ１〜ＲＡＮの監視動作と、運用装置ＲＡ１〜ＲＡＮからのハード登録情報テーブル受信動作を停止する。
【００９９】
図７に示すハード転送エンジン管理部３４は、実装されているハード転送エンジンのハード登録情報テーブルを操作するドライバ部位である。ハード転送エンジン管理部３４は、ハード登録情報テーブルエントリエリア設定要求を冗長装置管理部３３から受信して、ハード転送エンジン内のＬ３経路テーブル５０とＡＲＰテーブル６０のエントリエリアを設定する。また、ハード登録情報テーブルの登録要求を冗長装置管理部３３から受信して、ハード転送エンジン内の指定されたエントリエリアにテーブルエントリを登録する。
【０１００】
次に、図１２〜図１４を参照して、予備装置ＲＳ１において、運用装置の障害が検出される前から検出された後までのハード登録情報テーブル７０の遷移について説明する。予備装置ＲＳ１は、運用装置ＲＳ１の障害検出に伴い、運用装置ＲＳ１に切り替わる。図１２〜図１４は、ユーザＵ１〜ユーザＵＪの通信を継続する際の、ハード転送エンジン４１〜４Ｐ内のＬ３経路テーブル５０とＡＲＰ６０テーブルを示す。
【０１０１】
図１２は、予備装置ＲＳ１（切替え前）のＬ３経路テーブル５０とＡＲＰテーブル６０の内容を示す。図１２に示すように、予備装置ＲＳ１（切替え前）の各テーブルのエントリエリアは分割されている。
【０１０２】
エントリエリア０には、装置固有のエントリエリアとして使用し、ルータ１００経由で接続されるネットワークＮＷ１〜ＮＷＭのあて先に対するＬ３経路テーブル５０のエントリと、ＡＲＰテーブル６０エントリが書き込まれている。エントリエリア０では、その各エントリを有効としており、ネットワークＮＷ１〜ＮＷＭへのパケットを受信した際は、ＮｅｘｔｈｏｐのルータＩＰアドレスに対し、ルータ接続インタフェースへパケットを送信する。送信時のあて先ＭＡＣアドレスは、ＡＲＰテーブル６０のルータＩＰアドレスに対するエントリに書き込まれているＭＡＣアドレスが使用される。
【０１０３】
エントリエリア１には、運用装置ＲＡ１から受信した運用装置ＲＡ１のハード登録情報テーブル７０をフィルタリングしたエントリが書き込まれている。エントリエリア１は、分割された１つのエリアであるため、運用装置ＲＡ１のハード登録情報テーブル７０のエントリ数よりも少ないものとなるが、フィルタリング動作によって、運用装置ＲＡ１から受信した運用装置ＲＡ１のハード登録情報テーブル７０よりも、少ないエントリとなる。
【０１０４】
予備装置ＲＳ１のこの例では、ユーザＵ１〜ＵＪのあて先に対するＮｅｘｔｈｏｐは各ユーザのＩＰアドレスであり、送信インタフェースは各ユーザに接続しているインタフェースである。また、このエリアのエントリフラグはいずれも無効とし、本エリアのエントリを使用したパケットの転送は行われない。エントリエリアＮは、運用装置ＲＡＮのハード登録情報テーブル７０であり、そのエントリフラグをいずれも無効とし、パケット転送には使用されない。
【０１０５】
図１３は、予備装置ＲＳ１が運用装置ＲＡ１の障害を検出した直後のハード登録情報テーブルの内容を示す。図１２とは、エントリエリア１の各エントリフラグが有効となっている点で異なっている。エントリエリア１は、運用装置ＲＡ１のハード登録情報テーブル７０であり、これにより運用装置ＲＡ１が障害発生前に行っていたユーザ通信パケットの送受信が、予備装置ＲＳ１で継続されることとなる。
【０１０６】
図１４は、予備装置ＲＳ１が運用装置ＲＡ１への切替わりを完了した際のハード登録情報テーブルの内容を示す。図１３に示すハード登録情報テーブルとは、エントリエリアの分割が無くなり、１つのエントリエリア０として全ハード登録情報テーブルを使用している点で異なっている。これにより、ハード登録情報テーブル７０のエントリ数は、運用装置ＲＡ１と同じだけ確保される。また、図１３に示すハード登録情報テーブルとは、運用装置ＲＡＮに対応するエントリエリアＮのエントリが削除され、そのエントリエリアを有効としている点で異なっている。これは、予備装置ＲＳ１（切替え後）は、運用装置ＲＳ１に切り替わったため、運用装置ＲＡＮのエントリが不要となったためである。これにより、障害前の運用装置ＲＡ１から受信し、フィルタリングによって、書き込まれていなかったエントリを新たに書き込むためのエントリ数が確保され、当該エリアが使用可能となる。
【０１０７】
図１５は、予備装置ＲＳ１が運用装置ＲＡ１に切替わる前後での、ルータ１００のＬ３経路テーブルを示す。本発明の通信装置による運用装置ＲＡ１の障害検出で予備装置ＲＳ１が運用装置ＲＡ１に切替わり、予備装置ＲＳ１で通信パケット送受信が即時可能でも通信を継続することができない。これは、予備装置ＲＳ１で通信パケットの送受信が可能となっても、ルータ１００でのユーザ通信パケット送受信が切替わらなければ、ネットワークＮＷ１〜ＮＷＭからユーザＵ１〜ＵＪ宛ユーザ通信パケットが予備装置ＲＳ１(切替え後)に届かないためである。したがって、ルータ１００についても、ユーザＵ１〜ＵＪ宛のユーザ通信パケット送信を、運用装置ＲＡ１から運用装置ＲＳ１に切り替える構成としている。
【０１０８】
図１５（ａ）は、切替え前のＬ３経路テーブル５０ａの内容を示す。図１５（ａ）に示すように、切替え前には、予めユーザＵ１のあて先ユーザ通信パケットには２つのエントリがあり、ひとつは優先度高で、運用装置ＲＡ１がＮｅｘｔｈｏｐであり、もう１つは優先度低で予備装置ＲＳ１である。これにより、運用装置ＲＡ１が正常である場合、ユーザＵ１あてのユーザ通信パケットは、運用装置ＲＡ１に送信される。
【０１０９】
図１５（ｂ）は、運用装置ＲＡ１の障害直後のＬ３経路テーブル５０ｂの内容を示す。図１５（ｂ）に示すように、運用装置ＲＡ１の障害に伴って、運用装置ＲＡ１がＮｅｘｔｈｏｐとなっているエントリが削除される。これにより、ユーザＵ１のあて先ユーザ通信パケットは、予備装置ＲＳ１に転送される。
【０１１０】
図１５（ｃ）は、予備装置ＲＳ１が運用装置ＲＡ１に切り替えられた後のＬ３経路テーブル５０ｃの内容を示す。図１５（ｃ）に示すように、予備装置ＲＳ１（切替え後）において、ユーザ通信パケット転送不可となるエントリを削除したものである。図１５（ｃ）では、ユーザＵＫあてのユーザ通信パケットは高優先で運用装置ＲＡＮがＮｅｘｔｈｏｐとなっている。予備装置ＲＳ１が運用装置ＲＡ１に切替わった後は、ユーザＵＫあてのユーザ通信パケットを予備装置ＲＳ１（切替え後）に転送しても、ユーザＵＫには届かないため、低優先のユーザＵＫあてユーザ通信パケットのエントリが削除される。
【０１１１】
このように、上記した（１）〜（８）の処理により、図２及び図３に示すように、運用装置ＲＡ１が故障した場合でも、運用装置ＲＡＮが故障した場合でも、それぞれの運用装置で行われていたユーザ通信を予備装置ＲＳ１に即時に切替えることが可能となる。
【０１１２】
（２−４）本実施形態の効果
以上のように、本実施の形態によれば、複数のユーザの通信回線を収容する通信装置で、通信装置内に装置制御部を持ち、複数ユーザの通信回線を収容し、複数ユーザにネットワーク接続を提供する。そして、ユーザ通信パケット転送を行うハード転送エンジンを装置内に複数搭載し、そのハード転送エンジンにはユーザ通信パケット送信を制御するハード登録情報テーブルが登録されている。そして、ハード登録情報テーブルの各エントリに書き込まれた情報によってパケットの送信先を決定する。
【０１１３】
ハード転送エンジンは、ユーザ通信パケット転送を実行するためのハード登録情報テーブルの各エントリに、エントリの有効性を示すフラグを持ち、有効の場合は、該当エントリの情報に従ってパケット転送を行い、無効の場合は、該当エントリ情報をパケット転送に使用しない。
【０１１４】
この通信装置を使用してＮ＋１冗長構成をとる場合、１台の予備装置がＮ台の運用装置のハード転送エンジンに登録されているハード登録情報テーブルを取得する。また、Ｎ＋１冗長構成の場合、予備装置の装置制御部がハード登録情報テーブルから特定のエントリを抽出するための任意の設定情報（フィルタリング設定情報）を保持し、取得した運用装置のハード登録情報テーブルからフィルタリング設定情報にしたがって、ハード登録情報テーブル内の特定のエントリを抽出する。ここで、フィルタリング設定情報は、任意の設定情報であり、ユーザの優先情報やアプリケーションの優先情報などの静的な情報や、通信量などに応じた動的な情報を含む。
【０１１５】
また、Ｎ＋１冗長構成の場合、予備装置は先のハード登録情報テーブルから特定エントリ抽出（フィルタリング）処理により抽出した運用装置のハード登録情報を、各エントリのフラグを無効にして予備装置のハード転送エンジンに登録する。
【０１１６】
上記した処理を実行する通信装置においてＮ＋１冗長構成をとる場合、予備装置のハード転送エンジンのハード登録情報テーブルのエントリ数に合わせて、Ｎ台分の運用装置のハード登録情報テーブルを抽出（フィルタリング）することができるため、予備装置でＮ台分のハード転送エンジンが必要となるという問題を解決することができる。
【０１１７】
また、Ｎ台分の抽出した運用装置のハード登録情報テーブルを予備装置のハード転送エンジンに予め登録することが可能となり、運用装置故障時の運用装置で抽出されたハード転送テーブルエントリで実行されていた通信を予備装置へ切替える際に、ハード転送エンジンへのハード登録情報テーブル登録に時間がかかるという問題を解決することができる。
【０１１８】
（３）第２実施形態
次に、第２実施形態について図１６及び図１７を参照して説明する。以下では、上記した第１の実施形態と同様の構成については詳細な説明は省略し、第１の実施形態と相違する点について詳細に説明する。
【０１１９】
（３−１）ネットワークシステムの構成
本実施形態のネットワークシステムは、図１６に示すように、運用装置ＲＡ１〜ＲＡ３、予備装置ＲＳ１の４台で構成する３＋１冗長構成のネットワークシステムである。運用装置ＲＡ１〜ＲＡ３および予備装置ＲＳ１は、レイヤ２スイッチ群ＳＷＮとそれぞれリンクアグリゲーション３０１で接続し、その接続回線はハード転送エンジン４１と４２をまたがっている構成である。このように構成することにより、各運用装置ＲＡ１〜ＲＡ３のハード転送エンジン４１、４２のいずれかが故障した場合でも、残った１つのハード転送エンジンにより、ユーザ通信の継続が可能である。
【０１２０】
（３−２）通信装置の機能構成
次に、本実施形態の各通信装置の機能構成について説明する。図１７に、本実施形態の予備装置ＲＳ１のハード転送エンジン４１の構成を示す。なお、本実施形態の運用装置ＲＡ１〜ＲＡ３の機能構成は、第１の実施形態の運用装置の機能構成と同様であるため、詳細な説明は省略する。
【０１２１】
図１７に示すように、本実施形態の予備装置ＲＳ１のハード転送エンジン４１は、ハード登録情報テーブル７０のエントリエリアを３つに分割している。エリアの１つは予備装置固有のエントリとし、残りの２つのエリアは運用装置ＲＡ１及びＲＡ２のハード登録情報テーブル７０を登録するエリアとする。
【０１２２】
また、予備装置ＲＳ１のハード転送エンジン４２は、図１７に示すようにハード登録情報のエントリエリアを２つに分割し、一つは予備装置固有のエントリとし、もうひとつは運用装置ＲＡ３のハード登録情報テーブルを登録するエリアとする。
【０１２３】
このように予備装置ＲＳ１の各ハード転送エンジンで、ハード登録情報テーブル毎のエントリ設定を変えることで、すべてのハード転送エンジンのハード登録情報テーブル７０を３台の運用装置用のエリアに分割するよりも、運用装置ＲＡ１〜ＲＡ３から受信したハード登録情報テーブルを、予備装置ＲＳ１のハード登録情報テーブルにより多く登録することが可能となる。
【０１２４】
（３−３）本実施形態の効果
【０１２５】
以上のように、本実施の形態によれば、運用装置ＲＡ３のハード登録情報テーブルを予備装置ＲＳ１のハード転送エンジン４２に、ほぼすべて登録することが可能となる。これにより、運用装置ＲＡ３の障害時には、より多くの通信を停止することなく、通信を継続することができる。
【０１２６】
（４）他の実施形態
上記第１の実施形態及び第２の実施形態では、１台の予備装置を用いてネットワークの冗長構成を実現しているが、かかる例に限定されず、複数台の予備装置を用いてネットワークの冗長構成を実現してもよい。この場合、複数台の予備装置のうちいずれの予備装置を優先的に運用装置に切り替えるかを予め設定しておくようにしてもよい。
【０１２７】
また、例えば、本明細書の通信装置の処理における各ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はない。すなわち、通信装置の処理における各ステップは、異なる処理であっても並列的に実行されてもよい。
【０１２８】
また、通信装置に内蔵されるＣＰＵ、ＲＯＭおよびＲＡＭなどのハードウェアを、上述した通信装置の各構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供される。
【０１２９】
また、上述の実施形態においては、通信装置に格納されている各種プログラムに基づいて、通信装置のＣＰＵが本発明の各種機能を実現しているが、かかる例に限定されない。例えば、ＣＰＵを転送装置１００などとは別体の他の装置に設けて、当該ＣＰＵと協同して各種機能を実現するようにしてもよい。また、通信装置に格納されている各種プログラムを通信装置とは別体の他の装置に設けて、当該プログラムがＣＰＵに呼び出されることにより各種機能を実現するようにしてもよい。
【符号の説明】
【０１３０】
ＲＡ１〜ＲＡＮ    運用装置
ＲＳ１    予備装置
３０      装置制御部
３１      経路管理部
３２      設定情報管理部
３３      冗長装置管理部
３４      ハード転送エンジン管理部
４１〜４Ｐ    ハード転送エンジン
ＳＷ１〜ＳＷＮ    レイヤ２スイッチ
ＮＷ１〜ＮＷＭ    ネットワーク
１００    ルータ
１１０    レイヤ３ネットワーク
【図１】
2014003451.tif 000003
【図２】
2014003451.tif 000004
【図３】
2014003451.tif 000005
【図４】
2014003451.tif 000006
【図５】
2014003451.tif 000007
【図６】
2014003451.tif 000008
【図７】
2014003451.tif 000009
【図８】
2014003451.tif 000010
【図９】
2014003451.tif 000011
【図１０】
2014003451.tif 000012
【図１１】
2014003451.tif 000013
【図１２】
2014003451.tif 000014
【図１３】
2014003451.tif 000015
【図１４】
2014003451.tif 000016
【図１５】
2014003451.tif 000017
【図１６】
2014003451.tif 000018
【図１７】
2014003451.tif 000019