(57)【特許請求の範囲】
【請求項１】
ネットワークの障害発生時に、予め作成しておいたバックアップテーブルに示される迂回経路への経路切り替えを行うノードであって、
（１）前記ネットワークの宛先ノードごとに、当該宛先ノードへのネクストホップを示した経路情報からなるルーティングテーブルと、（２）前記ネットワークの故障パターンごとに、当該故障パターンにおける迂回経路へのネクストホップを示した経路情報からなるバックアップテーブル群であるバックアップテーブルＤＢ（データベース）とを記憶する記憶部と、
前記バックアップテーブルＤＢから、前記宛先ノードおよびネクストホップの組み合わせが同じ経路情報を抽出し、前記抽出した経路情報と、当該経路情報の抽出元のバックアップテーブルのテーブルＩＤと対応付けた共用バックアップテーブルを作成して前記記憶部に記憶し、前記抽出した経路情報を、当該バックアップテーブルから削除する共用バックアップテーブル作成部と、
他のノードからパケットを受信した場合において、前記受信したパケットのヘッダ情報に付されたテーブルＩＤおよび宛先ノードのアドレスに基づき、前記記憶部からルーティングテーブルまたはバックアップテーブルを選択し、前記選択したテーブルに示されるネクストホップへ前記パケットを転送するパケット転送部とを備え、
前記パケット転送部は、
前記受信したパケットのヘッダ情報に付されたテーブルＩＤが前記バックアップテーブルのテーブルＩＤである場合において、
（１）前記共用バックアップテーブルに当該テーブルＩＤおよび宛先ノードの組み合わせを示す経路情報があるとき、当該経路情報に示されるネクストホップへ、前記パケットを転送し、
（２）前記共用バックアップテーブルに当該テーブルＩＤおよび宛先ノードの組み合わせを示す経路情報がないとき、前記バックアップテーブルＤＢから当該テーブルＩＤのバックアップテーブルを検索し、前記検索したバックアップテーブルの当該宛先ノードへの経路情報に示されるネクストホップへ、前記パケットを転送することを特徴とするノード。
【請求項２】
前記パケット転送部が前記ネクストホップへパケットを転送する場合において、前記パケットの転送に用いるリンクが使用不可能であるとき、前記バックアップテーブルＤＢから、前記パケットの宛先ノードへのリンクのうち当該使用不可能となったリンクを経由しないバックアップテーブルを検索し、前記受信したパケットのテーブルＩＤを、前記検索したバックアップテーブルのテーブルＩＤに更新し、前記検索したバックアップテーブルにおける当該宛先ノードへの経路情報に示されるネクストホップへ、前記パケットを転送することを特徴とする請求項１に記載のノード。
【請求項３】
前記共用バックアップテーブルに、同じ宛先ノードへの経路情報が複数あるとき、
前記共用バックアップテーブル作成部は、
その同じ宛先ノードへの複数の経路情報のうち、いずれか１つの経路情報を残し、残りの経路情報を前記共用バックアップテーブルから削除し、当該残りの経路情報を抽出元のバックアップテーブルに再登録し、前記共用バックアップテーブルの各経路情報におけるテーブルＩＤの情報を削除することを特徴とする請求項１または請求項２に記載のノード。
【請求項４】
前記共用バックアップテーブルに、同じ宛先ノードへの経路情報が複数あるとき、
前記共用バックアップテーブル作成部は、
その同じ宛先ノードへの複数の経路情報のうち、前記抽出元のバックアップテーブルの数が最も多い経路情報を１つ残し、残りの経路情報を前記共用バックアップテーブルから削除し、当該残りの経路情報を抽出元のバックアップテーブルに再登録し、前記共用バックアップテーブルの各経路情報におけるテーブルＩＤの情報を削除することを特徴とする請求項１または請求項２に記載のノード。
【請求項５】
ネットワークの宛先ノードごとに、当該宛先ノードへのネクストホップを示した経路情報からなるルーティングテーブルと、前記ネットワークの故障パターンごとに、当該故障パターンにおける迂回経路へのネクストホップを示した経路情報からなるバックアップテーブル群であるバックアップテーブルＤＢとを記憶する記憶部を備え、前記ネットワークの障害発生時に、予め作成しておいたバックアップテーブルに示される迂回経路への経路切り替えを行うノードが、
前記バックアップテーブルＤＢから、前記宛先ノードおよびネクストホップの組み合わせが同じ経路情報を抽出し、前記抽出した経路情報と、当該経路情報の抽出元のバックアップテーブルのテーブルＩＤと対応付けた共用バックアップテーブルを作成して前記記憶部に記憶し、前記抽出した経路情報を、当該バックアップテーブルから削除するステップと、
他のノードからパケットを受信した場合において、前記受信したパケットのヘッダ情報に付されたテーブルＩＤおよび宛先ノードのアドレスに基づき、前記記憶部からルーティングテーブルまたはバックアップテーブルを選択し、前記選択したテーブルに示されるネクストホップへ前記パケットを転送するステップとを実行し、
前記パケットを転送するステップにおいて、
前記受信したパケットのヘッダ情報に付されたテーブルＩＤが前記バックアップテーブルのテーブルＩＤである場合、
（１）前記共用バックアップテーブルに当該テーブルＩＤおよび宛先ノードの組み合わせを示す経路情報があるとき、当該経路情報に示されるネクストホップへ、前記パケットを転送し、
（２）前記共用バックアップテーブルに当該テーブルＩＤおよび宛先ノードの組み合わせを示す経路情報がないとき、当該テーブルＩＤのバックアップテーブルの当該宛先ノードへの経路情報に示されるネクストホップへ、前記パケットを転送することを特徴とするパケット転送方法。
【請求項６】
ネットワークを構成する各ノードについて、（１）当該ノードの宛先ノードごとに、当該宛先ノードへのネクストホップを示した経路情報からなるルーティングテーブルと、（２）前記ネットワークの故障パターンごとに、当該故障パターンにおける迂回経路へのネクストホップを示した経路情報からなるバックアップテーブル群であるバックアップテーブルＤＢとを記憶する記憶部、
前記各ノードについて、当該ノードの前記バックアップテーブル群から、前記宛先ノードおよびネクストホップの組み合わせが同じ経路情報を抽出し、前記抽出した経路情報と、当該経路情報の抽出元のバックアップテーブルのテーブルＩＤと対応付けた共用バックアップテーブルを作成して前記記憶部に格納し、前記抽出した経路情報を、当該バックアップテーブルから削除する共用バックアップテーブル作成部、
および、
前記各ノードへ、当該ノードの前記ルーティングテーブル、バックアップテーブルＤＢおよび共用バックアップテーブルを送信するテーブル送信部を備える制御装置と、
前記制御装置から、自身のノードのルーティングテーブル、バックアップテーブルＤＢおよび共用バックアップテーブルを受信し、自身のノードの記憶部に格納するテーブル受信部、
および、
前記受信したパケットのヘッダ情報に付されたテーブルＩＤが前記バックアップテーブルのテーブルＩＤである場合において、（１）前記共用バックアップテーブルに当該テーブルＩＤおよび宛先ノードの組み合わせを示す経路情報があるとき、当該経路情報に示されるネクストホップへ、前記パケットを転送し、（２）前記共用バックアップテーブルに当該テーブルＩＤおよび宛先ノードの組み合わせを示す経路情報がないとき、当該テーブルＩＤのバックアップテーブルの当該宛先ノードへの経路情報に示されるネクストホップへ、前記パケットを転送するパケット転送部を備える前記ノードを１以上含んでなることを特徴とする通信ネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、IP−FRR(IP-Fast Reroute)に用いられるバックアップテーブルの作成技術に関する。
【背景技術】
【０００２】
IP網において、事前に故障発生時の迂回経路を計算しておくことで高速な故障復旧を実現するIP−FRR方式が提案されている（非特許文献１参照）。このIP−FRR方式は事前に、故障箇所のパターンを示したバックアップトポロジを作成し、このバックアップトポロジに従った経路制御により迅速な故障復旧を行う。
【０００３】
このバックアップトポロジを用いた故障復旧方法の具体例を、図１を用いて説明する。図１におけるｓｒｃは、通信ネットワークにおけるパケットの始点ノードであり、ｄｓｔはパケットの宛先ノードである。図１の左側のトポロジは、故障発生前のトポロジ（通常のトポロジ）を示し、右側のトポロジは、故障等によりノード１，２間のリンクが断絶したときのトポロジ（バックアップトポロジ）を示す。このバックアップトポロジ（バックアップトポロジＡ）において、故障リンク（プロテクトリンク）のリンクコストは、設定可能な最大値を付与する。これにより、バックアップトポロジ上でリンクコストの総和が最小となる最小コストルーティングにより経路を計算すると、プロテクトリンクを使用しない経路が計算される。
【０００４】
ここで、例えば、（１）ノード１が、ノード１，２間のリンクの故障を検出すると、ノード１（故障検出ノード）は、故障リンクをプロテクトするバックアップトポロジＡに従いデータ（パケット）を転送する。このとき、故障検出ノードはノード１，２間のリンクが故障したことを知っているため、バックアップトポロジＡを使用すれば故障を回避できることを知っている。しかし、他のノードは故障箇所を把握できていない。そこで、（２）故障検出ノードは、故障リンクを迂回するバックアップトポロジを選択し、この選択したバックアップトポロジのＩＤをパケットのヘッダ情報に付与して転送する。そして、（３）迂回路上に存在する他のノード（例えば、ノード４）は、このパケットを受信すると、ヘッダ情報を参照することで、使用すべきバックアップトポロジに従ったパケットを転送を実行できる。
【０００５】
ここで、図２に例示するように、バックアップトポロジそれぞれは、１以上のプロテクトリンクを含む。なお、１つのバックアップトポロジ内のプロテクトリンク数は限られるため、通常、バックアップトポロジを複数個用意する必要がある。このバックアップトポロジはそれぞれ、各ノード間のパケットの到達性を確保する必要があるため、（１）プロテクトリンクを除去しても接続グラフとなるようにする。つまり、バックアップトポロジは、任意の２つのノード間で最低１つは経路が確保されるようにする必要がある。また、複数のバックアップトポロジであらゆるリンクの故障をカヴァーする必要があるので、（２）バックアップトポロジ群のプロテクトリンクの集合と、もとのトポロジのリンク集合とを一致させる必要がある。
【０００６】
IP−FRRでは、ルータ等が、バックアップトポロジに基づく転送路を計算し、バックアップテーブルを作成する。このバックアップテーブルを、図３を用いて説明する。図３の各トポロジは、ノード０〜５の６つのノードから構成される。図３の（ａ）は、通常トポロジ（障害発生前のトポロジ）であるトポロジＸと、そのトポロジＸに対するノード１のルーティングテーブルを示す。これに対し、図３の（ｂ）〜（ｅ）はそれぞれ、トポロジＸの障害発生時のバックアップトポロジ（バックアップトポロジ＃１〜＃４）と、そのバックアップトポロジに対する、図３のノード０の用いるバックアップテーブル（バックアップテーブル＃１〜＃４）とを示している。
【０００７】
例えば、図３（ｂ）に示すバックアップトポロジ＃１は、ノード０，１間のリンクとノード０，２間のリンクがプロテクトされているため、バックアップテーブル＃１の宛先ノード「１」のネクストホップは「５（ノード５）」となる。一方で、図３（ｃ）に示すバックアップトポロジ＃２は、ノード０，１間のリンクがプロテクトされていないため、バックアップテーブル＃２では、宛先ノードを「１」としたときのネクストホップは「１（ノード１）」となる。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】A.Kyalbein, A.F.Hansen, T.Cicic, S.Gjessing, and 0.Lysne, “Fast IP Network Recovery using Multiple Routing Configurations, ” in Proceedings of INFOCOM, Apr.2006
【非特許文献２】S.Kamamura, T.Miyamura, C.Pelsser, I.Inoue and K.Shiomoto, “Minimum Backup Configurations Creation Method for IP Fast Reroute,” IEEE globecom Dec. 2009.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
前記した技術において、１つのバックアップテーブルは１つのバックアップトポロジに対応させて作成される。このため、ノード（経路制御装置）上で必要となるバックアップテーブルのためのメモリ量は、バックアップトポロジ数に比例して増加するという問題がある。なお、非特許文献２に記載の技術は、バックアップトポロジ数のそのものの数を削減するものであるが、バックアップトポロジ数に比例して増加するバックアップテーブルの情報量を低減するものではない。そこで、本発明は、前記した問題を解決し、IP−FRRを行う経路制御装置におけるバックアップテーブルの情報量を低減することを目的とする。
【課題を解決するための手段】
【００１０】
前記した課題を解決するため本発明は、ネットワークの障害発生時に、予め作成しておいたバックアップテーブルに示される迂回経路への経路切り替えを行うノードを以下の構成した。すなわち、ノードは、（１）ネットワークの宛先ノードごとに、当該宛先ノードへのネクストホップを示した経路情報からなるルーティングテーブルと、（２）ネットワークの故障パターンごとに、当該故障パターンにおける迂回経路へのネクストホップを示した経路情報からなるバックアップテーブル群であるバックアップテーブルＤＢ（データベース）とを記憶する記憶部を備える。また、ノードは、バックアップテーブルＤＢから、宛先ノードおよびネクストホップの組み合わせが同じ経路情報を抽出し、抽出した経路情報と、当該経路情報の抽出元のバックアップテーブルのテーブルＩＤと対応付けた共用バックアップテーブルを作成して記憶部に記憶する。そして、抽出した経路情報を、当該バックアップテーブルから削除する共用バックアップテーブル作成部を備える。また、このノードは、他のノードからパケットを受信した場合において、受信したパケットのヘッダ情報に付されたテーブルＩＤおよび宛先ノードのアドレスに基づき、記憶部からルーティングテーブルまたはバックアップテーブルを選択し、選択したテーブルに示されるネクストホップへパケットを転送するパケット転送部とを備える。このパケット転送部は、受信したパケットのヘッダ情報に付されたテーブルＩＤがバックアップテーブルのテーブルＩＤである場合において、（１）共用バックアップテーブルに当該テーブルＩＤおよび宛先ノードの組み合わせを示す経路情報があるとき、当該経路情報に示されるネクストホップへ、パケットを転送する。一方、（２）共用バックアップテーブルに当該テーブルＩＤおよび宛先ノードの組み合わせを示す経路情報がないとき、バックアップテーブルＤＢから当該テーブルＩＤのバックアップテーブルを検索し、検索したバックアップテーブルの当該宛先ノードへの経路情報に示されるネクストホップへ、パケットを転送する。
【００１１】
このようにすることで、ノード（経路制御装置）は、IP−FRRに用いるバックアップテーブルそれぞれが、宛先アドレスとネクストホップとの組み合わせが同じ経路情報を重複して保持しないことなるので、バックアップテーブルの情報量を低減できる。
【００１２】
また、本発明は、ノードのパケット転送部がネクストホップへパケットを転送する場合において、パケットの転送に用いるリンクが使用不可能であるとき、バックアップテーブルＤＢから、パケットの宛先ノードへのリンクのうち当該使用不可能となったリンクを経由しないバックアップテーブルを検索する。そして、パケット転送部は、受信したパケットのテーブルＩＤを、検索したバックアップテーブルのテーブルＩＤに更新し、検索したバックアップテーブルにおける当該宛先ノードへの経路情報に示されるネクストホップへ、パケットを転送する。
【００１３】
このようにすることで、通信ネットワーク内の障害発生時に、ノードは、他のノードがどのバックアップテーブルを用いてパケットの転送を行えばよいかを伝えることができる。
【００１４】
また、本発明は、ノードの共用バックアップテーブルに、同じ宛先ノードへの経路情報が複数あるとき、共用バックアップテーブル作成部が、その同じ宛先ノードへの複数の経路情報のうち、いずれか１つの経路情報を残し、残りの経路情報を共用バックアップテーブルから削除する。そして、この残りの経路情報を抽出元のバックアップテーブルに再登録し、共用バックアップテーブルの各経路情報におけるテーブルＩＤの情報を削除する。
【００１５】
このようにすることで、ノードは、受信パケットのネクストホップを決定するとき、テーブルＩＤを用いなくても、ネクストホップを決定できる。つまり、共用バックアップテーブルには、同じ宛先ノードとネクストホップとのペアの経路情報は１つのみ登録されることになるので、受信パケットの宛先ノードをキーとして共用バックアップテーブルの該当する経路情報を検索する。ここで、この共用バックアップテーブルに該当する経路情報がなかったとき、各バックアップテーブルから該当する経路情報を検索することでネクストホップを決定できる。
【００１６】
また、本発明は、ノードの共用バックアップテーブルに、同じ宛先ノードへの経路情報が複数あるとき、共用バックアップテーブル作成部が、その同じ宛先ノードへの複数の経路情報のうち、前記抽出元のバックアップテーブルの数が最も多い経路情報を１つ残し、残りの経路情報を前記共用バックアップテーブルから削除する。そして、その残りの経路情報を抽出元のバックアップテーブルに再登録し、前記共用バックアップテーブルの各経路情報におけるテーブルＩＤの情報を削除する。
【００１７】
このようにすることで、ノードは、より多くのバックアップテーブルに登録されていた経路情報を共用バックアップテーブルに登録することになるので、各バックアップテーブルに重複登録される経路情報の量を低減できる。
【００１８】
また、本発明は、ネットワークを構成する各ノードへルーティングテーブル、バックアップテーブルＤＢおよび共用バックアップテーブルを送信する制御装置を備える通信ネットワークとした。この制御装置は、（１）当該ノードの宛先ノードごとに、当該宛先ノードへのネクストホップを示した経路情報からなるルーティングテーブルと、（２）ネットワークの故障パターンごとに、当該故障パターンにおける迂回経路へのネクストホップを示した経路情報からなるバックアップテーブル群であるバックアップテーブルＤＢとを記憶する記憶部を備える。また、この制御装置は、各ノードについて、当該ノードのバックアップテーブル群から、宛先ノードおよびネクストホップの組み合わせが同じ経路情報を抽出し、抽出した経路情報と、当該経路情報の抽出元のバックアップテーブルのテーブルＩＤと対応付けた共用バックアップテーブルを作成して記憶部に格納する。そして、抽出した経路情報を、当該バックアップテーブルから削除する共用バックアップテーブル作成部を備える。また、この制御装置は、各ノードへ、当該ノードのルーティングテーブル、バックアップテーブルＤＢおよび共用バックアップテーブルを送信するテーブル送信部を備える。また、この通信ネットワークの各ノードは、制御装置から、自身のノードのルーティングテーブル、バックアップテーブルＤＢおよび共用バックアップテーブルを受信し、自身のノードの記憶部に格納するテーブル受信部を備える。そして、各ノードは、受信したパケットのヘッダ情報に付されたテーブルＩＤがバックアップテーブルのテーブルＩＤである場合において、（１）共用バックアップテーブルに当該テーブルＩＤおよび宛先ノードの組み合わせを示す経路情報があるとき、当該経路情報に示されるネクストホップへ、パケットを転送する。一方、（２）共用バックアップテーブルに当該テーブルＩＤおよび宛先ノードの組み合わせを示す経路情報がないとき、当該テーブルＩＤのバックアップテーブルの当該宛先ノードへの経路情報に示されるネクストホップへ、パケットを転送するパケット転送部を備える。
【００１９】
このように制御装置が、バックアップテーブルＤＢや共用バックアップテーブルを作成し、各ノードへ配布するので、ノードそれぞれが、バックアップテーブルや共用バックアップテーブルの作成を行う必要がなくなる。
【発明の効果】
【００２０】
本発明によれば、IP−FRRを行う経路制御装置におけるバックアップテーブルの情報量を低減できる。
【図面の簡単な説明】
【００２１】
【図１】比較例となるバックアップトポロジを用いた故障復旧方法を示した図である。
【図２】図１のバックアップテーブルトポロジを例示した図である。
【図３】（ａ）は、トポロジおよびそのトポロジに基づくルーティングテーブルを示し、（ｂ）〜（ｅ）は、バックアップトポロジとそのバックアップトポロジに基づくバックアップテーブルを例示した図である。
【図４】本実施の形態の共用バックアップテーブルを用いたパケットの転送方法の概要を示した図である。
【図５】（ａ）は、バックアップテーブルを例示した図であり、（ｂ）は、（ａ）のバックアップテーブルから重複エントリを削除した図であり、（ｃ）は、第１の実施の形態の共用バックアップテーブルを例示した図である。
【図６】本実施の形態の経路制御装置を含む通信ネットワークを例示した図である。
【図７】本実施の形態の経路制御装置の構成を示すブロック図である。
【図８】図７の共用バックアップテーブルの作成手順を示した図である。
【図９】図７のパケット転送部によるパケット転送手順を示した図である。
【図１０】（ａ）は、バックアップテーブルを例示した図であり、（ｂ）は、（ａ）のバックアップテーブルから重複エントリを削除し、再登録した後の図であり、（ｃ）は、第２の実施の形態の共用バックアップテーブルを例示した図である。
【図１１】第２の実施の形態の経路制御装置の処理手順を示した図である。
【図１２】図１１の共用バックアップテーブル作成処理の詳細を示した図である。
【図１３】第３の実施の形態の通信ネットワークを例示した図である。
【図１４】図１３の制御装置および経路制御装置の構成を示すブロック図である。
【発明を実施するための形態】
【００２２】
＜第１の実施の形態＞
以下、本発明の実施の形態を、第１の実施の形態〜第３の実施の形態に分けて説明する。なお、通信ネットワークは、例えば、ＩＰ（Internet Protocol）網であり、ノード（経路制御装置１０，４００）は、ＩＰ網で用いられるルータである。まず、図４および図５を用いて、第１の実施の形態の共用バックアップテーブル１３５を用いたパケットの転送方法の概要を説明する。
【００２３】
ここで、パケット転送処理を行うノード（経路制御装置１０（図７参照））は、図４に示すように、（１）ルーティングテーブル１３３（テーブルＩＤ「＃０」）と、（２）ネットワークの障害発生時に用いるルーティングテーブルであるバックアップテーブル（テーブルＩＤ「＃１」「＃２」「＃３」「＃４」）と、（３）共用バックアップテーブル１３５とを備える。この共用バックアップテーブル１３５は、バックアップテーブルそれぞれで用いられる経路情報（宛先アドレスごとに、その宛先アドレスへのネクストホップを示した情報）から、宛先ノード（アドレス）とネクストホップとの組み合わせが同じ経路情報を抽出したものである。
【００２４】
例えば、経路制御装置１０は、図５（ａ）に示すバックアップテーブル＃１〜＃４から、宛先アドレスおよびネクストホップの組み合わせが同じ経路情報を抽出し、（ｃ）に示す共用バックアップテーブル１３５に登録する。そして、バックアップテーブル＃１〜＃４から抽出した経路情報を削除する（（ｂ）参照）。そして、このようなルーティングテーブル１３３およびバックアップテーブルを備える経路制御装置１０は、宛先アドレスとテーブルＩＤとをヘッダ情報に持つパケットを受信すると、このテーブルＩＤに示されるテーブル（ルーティングテーブル１３３またはバックアップテーブル）を参照してパケットの転送先（ネクストホップ）を決定し、この決定した転送先へパケットを転送する。
【００２５】
ここで、経路制御装置１０が参照するテーブルとしてバックアップテーブルを選択したとき（つまり、通信ネットワーク内に障害が発生したとき）、受信パケットのテーブルＩＤに対応するバックアップテーブルから、このパケットの宛先アドレスへの経路情報を検索する。検索の結果、このパケットの宛先アドレスへの経路情報があれば、この経路情報に示されるネクストホップへパケットを転送する。一方、バックアップテーブルにこの宛先アドレスへの経路情報がなければ、共用バックアップテーブル１３５から当該テーブルＩＤおよび宛先アドレスを持つ経路情報を検索する。そして、その検索した経路情報に示されるネクストホップへパケットを転送する。なお、自身の経路制御装置１０において、リンクの故障等を検出した際には、パケットに参照すべきテーブル（バックアップテーブル）のテーブルＩＤを付加して他の経路制御装置１０へ転送する。
【００２６】
このようなバックアップテーブルおよび共用バックアップテーブル１３５を用いることで、経路制御装置１０は、バックアップテーブルそれぞれが宛先アドレスとネクストホップとの組み合わせが同じ経路情報を重複して保持する必要がなくなる。よって、バックアップテーブルの情報量を低減できる。
【００２７】
この経路制御装置１０は、例えば、図６に示すように、通信ネットワークにおいてパケット転送を行うノードにより実現される。
【００２８】
次に、経路制御装置１０の構成を、図７を用いて説明する。図７に示すように、経路制御装置１０の機能は大きく、入出力部１１、処理部１２、記憶部１３および通信部１４に分けられる。入出力部１１は、外部装置からトポロジ情報１３１や各種設定情報の入力等を受け付ける。処理部１２は、この経路制御装置１０全体の制御を司り、バックアップトポロジＤＢ１３２に基づきバックアップテーブルおよび共用バックアップテーブル１３５の作成を行う。また、これらのテーブルに基づくパケットの転送処理を行う。記憶部１３は、トポロジ情報１３１や、バックアップトポロジＤＢ（データベース）１３２等、バックアップテーブルＤＢ１３４や共用バックアップテーブル１３５を作成するときのもととなる情報を記憶する。通信部１４は、他の経路制御装置１０との間でパケットの送受信を行う。
【００２９】
なお、入出力部１１は、入出力インタフェースから構成され、通信部１４は、IPにより通信可能な通信インタフェースから構成される。また、処理部１２は、この経路制御装置１０の備えるＣＰＵ（Central Processing Unit）によるプログラム実行処理や、専用回路等により実現される。さらに、記憶部１３は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤＤ（Hard Disk Drive）、フラッシュメモリ等の記憶媒体から構成される。なお、経路制御装置１０をプログラム実行処理により実現する場合、記憶部１３には、この経路制御装置１０の機能を実現するためのプログラムが記憶される。
【００３０】
次に、処理部１２を、詳細に説明する。処理部１２は、経路計算部１２０と、バックアップテーブル作成部１２１と、共用バックアップテーブル作成部１２２と、パケット転送部１２３とを備える。
【００３１】
経路計算部１２０は、トポロジ情報１３１に基づき、ルーティングテーブル１３３を作成する。このルーティングテーブル１３３は、宛先アドレスごとに、その宛先アドレスへのネクストホップとなるノード（そのノードへの出力インタフェース）の識別情報を示した情報である。この識別情報は、例えば、IPアドレスである。また、この経路計算部１２０は、トポロジ情報１３１に基づき、故障リンクのパターンを示したバックアップトポロジ群を作成する。作成したバックアップトポロジ群は、バックアップトポロジＤＢ１３２に登録する。なお、ここでのバックアップトポロジ群の作成には、非特許文献２に示すような公知技術を用いてよい。
【００３２】
バックアップテーブル作成部１２１は、バックアップトポロジＤＢ１３２に登録されたバックアップトポロジそれぞれに対応するバックアップテーブルを作成する。例えば、図３（ｂ）に示すバックアップトポロジ＃１が与えられていた場合において、自身の経路制御装置１０がノード０であったとき、このバックアップトポロジ＃１に基づき、バックアップテーブル＃１に示すバックアップテーブルを作成する。つまり、バックアップトポロジ＃１において、ノード０，１間のリンク、ノード０，２間のリンクはプロテクトリンクなので、ノード０から、ノード１〜５それぞれへのネクストホップはいずれも「５（ノード５）」であるという情報を作成する。また、このネクストホップへの出力インタフェースの情報も付加する（図３において図示省略）。このような処理を、バックアップトポロジＤＢ１３２に登録されるすべてのバックアップトポロジについて実行する。作成したバックアップテーブルは、このバックアップテーブルのテーブルＩＤと対応付けて記憶部１３のバックアップテーブルＤＢ１３４に登録する。
【００３３】
共用バックアップテーブル作成部１２２は、バックアップテーブルＤＢ１３４に基づき、共用バックアップテーブル１３５を作成する。具体的には、共用バックアップテーブル作成部１２２は、記憶部１３のバックアップテーブルＤＢ１３４のバックアップテーブル群から、宛先ノード（宛先アドレス）とネクストホップとの組み合わせが同じ経路情報を抽出し、この経路情報の抽出元のバックアップテーブルのテーブルＩＤと対応付けた共用バックアップテーブル１３５を作成して記憶部１３に記憶する。また、共用バックアップテーブル１３５は、この抽出した経路情報を、抽出元のバックアップテーブルから削除する。つまり、バックアップテーブルＤＢ１３４から宛先ノードとネクストホップとの組み合わせが同じ経路情報をまとめた共用バックアップテーブル１３５を作成する。
【００３４】
パケット転送部１２３は、通信部１４経由で受信したパケットのヘッダ情報に付されたテーブルＩＤをキーとして、記憶部１３から参照すべきテーブル（ルーティングテーブル１３３またはバックアップテーブル）を選択し、この選択したテーブルに基づきパケットの転送先を決定する。つまり、パケットのヘッダ情報に付されたテーブルＩＤがルーティングテーブル１３３のテーブルであれば、このルーティングテーブル１３３を参照してパケットの転送先を決定する。一方、パケットのヘッダ情報に付されたテーブルＩＤが、バックアップテーブルのテーブルＩＤである場合、以下の処理を行う。
【００３５】
すなわち、パケット転送部１２３は、まず、バックアップテーブルＤＢ１３４のテーブルＩＤに対応するバックアップテーブルに宛先ノードへのネクストホップを示す経路情報があるか否かを判断する。その結果、当該宛先ノードへのネクストホップを示す経路情報があれば、この経路情報に示されるネクストホップへ、パケットを転送する。一方、バックアップテーブルＤＢ１３４のテーブルＩＤに対応するバックアップテーブルに宛先ノードへのネクストホップを示す経路情報がない場合、パケット転送部１２３は、共用バックアップテーブル１３５から、当該テーブルＩＤと宛先ノードとの組み合わせを持つ経路情報を検索し、この検索した経路情報に示されるネクストホップへパケットを転送する。
【００３６】
また、パケット転送部１２３は、受信パケットの転送に用いるリンクが使用不可能である場合、以下の処理を行う。すなわち、まず、パケット転送部１２３は、バックアップテーブルＤＢ１３４から、受信パケットの宛先ノードへのリンクのうち、この使用不可能となったリンクを経由しないバックアップテーブルを検索する。そして、パケット転送部１２３は、受信パケットに付されたテーブルＩＤを、この検索したバックアップテーブルのテーブルＩＤに更新する。そして検索したバックアップテーブルの経路情報に従い、受信パケットを転送する。このようにすることで、経路制御装置１０は、通信ネットワーク内の障害発生時に、他の経路制御装置１０がどのバックアップテーブルを用いてパケットの転送を行えばよいかを伝えることができる。なお、このテーブルＩＤは、例えば、ＩＰパケットのヘッダ情報のＴｏＳ(Type of Service)フィールドに記述されるものとする。
【００３７】
次に、記憶部１３を説明する。記憶部１３は、トポロジ情報１３１と、バックアップトポロジＤＢ１３２と、ルーティングテーブル１３３とを記憶する。また、バックアップテーブル作成部１２１により作成されたバックアップテーブル群であるバックアップテーブルＤＢ１３４と、共用バックアップテーブル作成部１２２により作成された共用バックアップテーブル１３５とを記憶する領域を備える。なお、トポロジ情報１３１およびバックアップトポロジＤＢ１３２は、例えば、記憶部１３のＨＤＤ等に記憶され、ルーティングテーブル１３３、バックアップテーブルＤＢ１３４および共用バックアップテーブル１３５は、例えば、記憶部１３のＲＡＭ等に記憶される。
【００３８】
トポロジ情報１３１は、通信ネットワーク内の各ノード（経路制御装置１０）が、どのリンクにより、どのノードと接続されているかを示した情報である。このトポロジ情報１３１は、各リンクのリンクコストの情報を含んでいてもよい。このトポロジ情報１３１は、経路計算部１２０が、ルーティングテーブル１３３やバックアップトポロジを作成する際に参照される。
【００３９】
バックアップトポロジＤＢ１３２は、トポロジ情報１３１に基づき作成されたバックアップトポロジ群である。このバックアップトポロジは、バックアップテーブルを作成するときに参照される。このバックアップテーブルは、バックアップトポロジごとに、当該バックアップトポロジにおいて、自身の経路制御装置１０から、各宛先ノードへのネクストホップ（ネクストホップのノードへの出力インタフェース）を示した情報である（図３の（ｂ）〜（ｅ））参照。
【００４０】
また、ルーティングテーブル１３３は、前記したとおり、宛先アドレスごとに、その宛先アドレスへのネクストホップとなるノード（そのノードへの出力インタフェース）の識別情報を示した情報である。このルーティングテーブル１３３は、パケット転送部１２３がパケットの転送先を決定するときに参照される。
【００４１】
また、バックアップテーブルＤＢ１３４は、バックアップテーブル作成部１２１により作成されたバックアップテーブル群である。このバックアップテーブルＤＢ１３４には、バックアップテーブル群が、当該バックアップテーブルのテーブルＩＤと対応付けて記憶される。このバックアップテーブルＤＢ１３４もパケット転送部１２３がパケットの転送先を決定するときに参照される。
【００４２】
さらに、共用バックアップテーブル１３５は、前記したとおり、バックアップテーブルＤＢ１３４のバックアップテーブル群それぞれで用いられる経路情報から、宛先ノード（アドレス）とネクストホップとの組み合わせが同じ経路情報を抽出したものである。この共用バックアップテーブル１３５も、パケット転送部１２３がパケットの転送先を決定するときに参照される。
【００４３】
＜処理手順＞
次に、図８を用いて、図７の共用バックアップテーブル１３５の作成手順を説明する。まず、処理の概要を説明し、次に、処理の具体例を説明する。なお、前提条件として、ルーティングテーブル１３３のテーブルＩＤは「０」であり、バックアップテーブルＤＢ１３４のバックアップテーブル群のテーブルＩＤは「１」以降のＩＤであるものとする。
【００４４】
図７の経路制御装置１０の共用バックアップテーブル作成部１２２は、初期化処理を行う。すなわち、バックアップテーブルＤＢ１３４で、処理対象として選択するエントリ（経路情報）のＩＤであるｊを「０」とし、選択するバックアップテーブルのテーブルＩＤ（ｂｉｄ）を「１」とする（Ｓ１０１）。
【００４５】
次に、共用バックアップテーブル作成部１２２は、ｂｉｄをテーブルＩＤに持つバックアップテーブルからエントリｊを選択する（Ｓ１０２）。そして、このｂｉｄをテーブルＩＤに持つバックアップテーブルから、エントリｊと一致する（つまり、宛先ノードとネクストホップとの組み合わせが同じである）エントリを検索し、一致したエントリ数をｃｎｔ値に格納する（Ｓ１０３）。つまり、バックアップテーブルＤＢ１３４内で、エントリｊと重複するエントリの数をカウントする。
【００４６】
ここで、共用バックアップテーブル作成部１２２は、ｃｎｔ値が２以上であれば（Ｓ１０４のＹｅｓ）、エントリｊを共用バックアップテーブル１３５に登録する（Ｓ１０５）。このとき、共用バックアップテーブル１３５に、エントリｊが登録されているバックアップテーブルのテーブルＩＤも登録する。そして、共用バックアップテーブル１３５は、エントリｊと一致するエントリを、テーブルＩＤがｂｉｄであるバックアップテーブルから削除する（Ｓ１０６）。ここで、テーブルＩＤがｂｉｄであるバックアップテーブル上のすべてのエントリを検索済みであり（Ｓ１０７のＹｅｓ）、かつ、ｂｉｄと、バックアップテーブルＤＢ１３４の総数とが一致すれば（Ｓ１０８のＹｅｓ）、共用バックアップテーブル作成部１２２は処理を終了する。つまり、バックアップテーブルＤＢ１３４のすべてのバックアップテーブルについて重複するエントリを検索済みとなったら、処理を終了する。一方、Ｓ１０４でｃｎｔ値が２に達していなければ（Ｓ１０４のＮｏ）、つまり、重複するエントリがなかった場合、Ｓ１０７へ処理を進める。
【００４７】
Ｓ１０７において、バックアップテーブル上にまだ選択していないエントリがあるとき（Ｓ１０７のＮｏ）、共用バックアップテーブル作成部１２２は、バックアップテーブル上の次のエントリをエントリｊとし（Ｓ１１１）、Ｓ１０２へ戻る。
【００４８】
また、Ｓ１０８で、ｂｉｄがバックアップテーブルの総数と一致しないとき（Ｓ１０８のＮｏ）、つまり、まだバックアップテーブルＤＢ１３４内に、まだ検索してないバックアップテーブルがあるとき、共用バックアップテーブル作成部１２２は、ｂｉｄの値をインクリメントする（Ｓ１０９：ｂｉｄ＝ｂｉｄ＋１）。そして、このインクリメントしたｂｉｄのバックアップテーブルの最初のエントリを、エントリｊとして（Ｓ１１０）、Ｓ１０２へ戻る。
【００４９】
このようにすることで、経路制御装置１０は、各バックアップテーブルから重複するエントリ（経路情報）を抽出し、共用バックアップテーブル１３５を作成する。
【００５０】
次に、図５を用いて、共用バックアップテーブル１３５の作成手順の具体例を説明する。
【００５１】
まず、共用バックアップテーブル作成部１２２は、図５（ａ）のバックアップテーブル＃１の宛先（宛先ノード）＝１，ネクストホップ＝５のエントリを選択する。このエントリの、バックアップテーブル＃１〜＃４間での重複数（ｃｎｔ値）は「１」である。つまり、エントリが重複していないため（Ｓ１０４のＮｏ）、共用バックアップテーブル作成部１２２は、共用バックアップテーブル１３５へのエントリの登録を行わず、Ｓ１０７へ処理を進める。このＳ１０７で、まだ選択していないエントリがあるので（Ｓ１０７のＮｏ）、共用バックアップテーブル作成部１２２は、このバックアップテーブル＃１の次のエントリである宛先＝２，ネクストホップ＝５のエントリを選択する（Ｓ１０２）。
【００５２】
そして、共用バックアップテーブル作成部１２２は、バックアップテーブル＃１の宛先＝２，ネクストホップ＝５および宛先＝３，ネクストホップ＝５のエントリについても前記の処理と同様の処理を行う。つまり、これらのエントリのｃｎｔ値はいずれも「１」なので、共用バックアップテーブル１３５への登録は行わない。
【００５３】
一方、共用バックアップテーブル作成部１２２は、宛先＝４，ネクストホップ＝５のエントリに対してはｃｎｔ値が「２」であるため（Ｓ１０４のＹｅｓ）、共用バックアップテーブル１３５への登録処理を行う（Ｓ１０５）。つまり、図５の（ｃ）に示す共用バックアップテーブル１３５のように、バックアップテーブル＃１，＃４が宛先＝４，ネクストホップ＝５であることを登録する。その後、共用バックアップテーブル作成部１２２は、バックアップテーブル＃１，＃４から宛先＝４，ネクストホップ＝５のエントリを削除する（Ｓ１０６）。
【００５４】
その後、共用バックアップテーブル作成部１２２は、バックアップテーブル＃１の宛先＝５，ネクストホップ＝５のエントリについても共用バックアップテーブル１３５への登録を行い、他のバックアップテーブルからの削除を行うと、バックアップテーブル＃１のすべてのエントリについて処理を終了したことになる（Ｓ１０７のＹｅｓ）。ここで、まだ処理していないバックアップテーブル（バックアップテーブル＃２〜＃４）があるので（Ｓ１０８のＮｏ）、共用バックアップテーブル作成部１２２は、次のバックアップテーブル＃２を対象として処理を開始する（Ｓ１０９→Ｓ１１０の後、Ｓ１０２へ戻る）。
【００５５】
共用バックアップテーブル作成部１２２は、以上の処理をバックアップテーブル＃３，＃４についても実行すると、図５（ｃ）に示す共用バックアップテーブル１３５を完成させる。また、バックアップテーブルＤＢ１３４のバックアップテーブル群を、図５（ｂ）に示すような状態に更新する。つまり、バックアップテーブル＃１〜＃４において重複しているエントリを削除する。
【００５６】
次に、図９を用いて、図７の経路制御装置１０のパケット転送部１２３によるパケットの転送処理を説明する。経路制御装置１０のパケット転送部１２３は、パケットが到着すると（Ｓ２０１）、パケットのヘッダ情報に記載されるテーブルＩＤと宛先ノードとを参照する。このテーブルＩＤには転送するパケットが使用するルーティングテーブルの識別子が記述される。通常のルーティングテーブル１３３を使用する場合は「０」、バックアップテーブルを使用する場合は「１」からの連番が付与されるものとする。
【００５７】
パケット転送部１２３は、テーブルＩＤをキーとして、記憶部１３のテーブル群から、エントリの検索対象となるテーブルを検索し（Ｓ２０２）、その検索したテーブル（ルーティングテーブル１３３またはバックアップテーブル）に宛先ノードのエントリがあれば（Ｓ２０３のＹｅｓ）、該当テーブルから宛先ノードへのネクストホップを得る（Ｓ２０４）。そして、Ｓ２０６へ進む。一方、検索したテーブル（ルーティングテーブル１３３またはバックアップテーブル）に宛先ノードのエントリがなければ（Ｓ２０３のＮｏ）、共用バックアップテーブル１３５から、パケットに付されたテーブルＩＤと宛先ノードとをキーとしてネクストホップを得る（Ｓ２０５）。そして、Ｓ２０６へ進む。
【００５８】
Ｓ２０６において、パケット転送部１２３は、そのネクストホップに接続する出力インタフェースが使用可能か否かを判断する（Ｓ２０６）。出力インタフェースを使用可能な場合には（Ｓ２０６のＹｅｓ）、パケット転送部１２３は、該当出力インタフェースを通してネクストホップへパケット転送を行う（Ｓ２１０）。
【００５９】
一方、出力インタフェースが故障等によって使用不可能な場合（Ｓ２０６のＮｏ）、パケット転送部１２３は、バックアップテーブルＤＢ１３４から、使用不可能なリンクを使用しないで転送可能なバックアップテーブルを検索する（Ｓ２０７）。そして、パケット転送部１２３は、パケットのテーブルＩＤを、この検索したテーブル（バックアップテーブル）のテーブルＩＤに変更する（Ｓ２０８）。その後、パケット転送部１２３は、この検索したバックアップテーブルから、宛先ノードをキーとして、ネクストホップへの新たな出力インタフェースを決定し（Ｓ２０９）、当該出力インタフェース経由でネクストホップへのパケット転送を行う（Ｓ２１０）。
【００６０】
このようにすることで経路制御装置１０は、バックアップテーブルおよび共用バックアップテーブル１３５を用いたパケットの転送処理を行うことができる。
【００６１】
＜第２の実施の形態＞
次に、第２の実施の形態を説明する。前記した実施の形態と同様の構成要素は、同じ符号を付して説明を省略する。第２の実施の形態の経路制御装置１０は、共用バックアップテーブル１３５上に同じ宛先ノードへのエントリ（経路情報）が複数あったとき、このうち１つのエントリを残し、残りのエントリをバックアップテーブルへ戻すことを特徴とする。つまり、共用バックアップテーブル１３５に同じ宛先ノードのエントリが登録されないようにする。
【００６２】
例えば、図１０に例示するように、（ｃ）に示す共用バックアップテーブル１３５には、宛先ノードが「４」のエントリが２つある（符号１０１および符号１０２参照）。このような場合、経路制御装置１０は、符号１０１のエントリ（テーブルＩＤ＝＃１，＃４、宛先＝４，ネクストホップ＝５）を削除し、このエントリを、このエントリの抽出元のバックアップテーブル＃１，＃４に再登録する。
【００６３】
このようにすることで、共用バックアップテーブル１３５上で、宛先ノードに対する、ネクストホップが一意なものとなるので、第１の実施の形態の経路制御装置１０のように、テーブルＩＤと宛先ノードとの組み合わせにより共用バックアップテーブル１３５を検索する必要がなくなる。つまり、パケット転送部１２３は、共用バックアップテーブル１３５もバックアップテーブルやルーティングテーブル１３３と同様に宛先ノードをキーとして検索すればよいので、パケット転送時における共用バックアップテーブル１３５の検索が容易になる。
【００６４】
＜共用バックアップテーブルの作成手順＞
第２の実施の形態の経路制御装置１０の基本的構成は、図７の経路制御装置１０と同様であるのでブロック図の説明は省略し、図１１を用いて、第２の実施の形態の経路制御装置１０の特徴である、共用バックアップテーブル作成部１２２の処理手順を説明する。
【００６５】
共用バックアップテーブル作成部１２２は、Ｓ１０１〜Ｓ１０４の処理と同様の処理により、バックアップテーブルＤＢ１３４のバックアップテーブル群から重複するエントリを探す。そして、バックアップテーブル群に重複するエントリがあったとき（Ｓ３０４のＹｅｓ）、共用バックアップテーブル作成部１２２は、共用バックアップテーブル作成処理を実行し（Ｓ３０５）、Ｓ３０７以降の処理を実行する。
【００６６】
また、Ｓ３０８で、ｂｉｄと、バックアップテーブルＤＢ１３４のバックアップテーブル数とが一致したとき（Ｓ３０８のＹｅｓ）、つまり、バックアップテーブルＤＢ１３４のすべてのバックアップテーブルについて処理を終了したとき、共用バックアップテーブル１３５のテーブルＩＤ列を削除する（Ｓ３１２）。そして、処理を終了する。なお、図１１のＳ３０７〜Ｓ３１１の処理は、図８のＳ１０７〜Ｓ１１１の処理と同様なので説明を省略する。共用バックアップテーブル作成処理（Ｓ３０５）の処理を、図１２を用いて詳細に説明する。
【００６７】
共用バックアップテーブル作成部１２２は、Ｓ３０４でＹｅｓだったとき、つまり、バックアップテーブルＤＢ１３４のバックアップテーブル群にエントリｊと重複するエントリがあったとき、このエントリｊと同じ宛先ノードを持つエントリが共用バックアップテーブル１３５上に存在するか否かを判断する（Ｓ４０１）。
【００６８】
このエントリｊと同じ宛先ノードを持つエントリが共用バックアップテーブル１３５上に存在しないとき（Ｓ４０１のＹｅｓ）、共用バックアップテーブル作成部１２２は、共用バックアップテーブル１３５にエントリｊを登録する（Ｓ４０２）。そして、エントリｊと一致するエントリをバックアップテーブルＤＢ１３４のバックアップテーブル群から削除する（Ｓ４０３）。そして、処理を終了する。
【００６９】
一方、Ｓ４０１において、エントリｊと同じ宛先ノードを持つエントリが共用バックアップテーブル１３５上に存在するとき（Ｓ４０１のＮｏ）、Ｓ４０４へ進む。
【００７０】
Ｓ４０４において共用バックアップテーブル作成部１２２は、エントリｊのｃｎｔ値が、共用バックアップテーブル１３５上でエントリｊと同じ宛先ノードを持つエントリ（エントリｋ）のｃｎｔ値よりも大きいか否かを判断する（Ｓ４０４）。つまり、エントリｊとエントリｋとで、どちらのエントリがバックアップテーブルＤＢ１３４で重複数が多いかを判断する。なお、このエントリｋのｃｎｔ値は、共用バックアップテーブル１３５上のエントリｋのテーブルＩＤの登録数を用いる。
【００７１】
ここで、共用バックアップテーブル作成部１２２は、エントリｊのｃｎｔ値が、エントリｋのｃｎｔ値よりも大きいと判断したとき（Ｓ４０４のＹｅｓ）、共用バックアップテーブル１３５にエントリｊを登録し（Ｓ４０５）、エントリｊと一致するエントリをバックアップテーブル群から削除する（Ｓ４０６）。
【００７２】
そして、共用バックアップテーブル１３５は、エントリｋを共用バックアップテーブル１３５から削除する。また、このエントリｋを、このエントリｋに対応するバックアップテーブル群に再登録する（Ｓ４０７）。つまり、共用バックアップテーブル１３５に登録されていたエントリｋを、このエントリｋの抽出元のバックアップテーブル群に戻す。そして、図１１のＳ３０７へ進む。なお、このエントリｋを、どのバックアップテーブルに戻せばよいかは、共用バックアップテーブル１３５のテーブルＩＤの情報を参照することで判断できる。
【００７３】
このような処理を行うことで、共用バックアップテーブル１３５上で同じ宛先ノードへのエントリが重複しないので、パケットの宛先ノードに対するネクストホップが一意に決まる。つまり、パケット転送部１２３が共用バックアップテーブル１３５を検索するとき、テーブルＩＤと宛先ノードとの組み合わせではなく、宛先ノードで検索できる。よって、パケット転送時におけるネクストホップの決定に要する処理負荷が軽減できる。また、共用バックアップテーブル作成部１２２は、共用バックアップテーブル１３５の作成処理において、この共用バックアップテーブル１３５上に同じ宛先ノードのエントリがあったとき、バックアップテーブルＤＢ１３４で、より重複登録数が多いエントリを共用バックアップテーブル１３５上に残す。よって、バックアップテーブルＤＢ１３４に登録される同じ宛先ノードのエントリ数をできるだけ低減できる。
【００７４】
なお、共用バックアップテーブル１３５上に残すエントリは、バックアップテーブルＤＢ１３４上で、自身のエントリと宛先ノードが重複するエントリ数の多いエントリとしたが、これに限定されない。例えば、共用バックアップテーブル１３５上で宛先ノードが重複するエントリから任意のエントリを１つ残し、それ以外のエントリをバックアップテーブルに戻すようにしてもよい。
【００７５】
なお、このようにして作成した共用バックアップテーブル１３５を用いた、経路制御装置１０のパケット転送の処理手順は、基本的に、図９に示した手順と同様である。但し、Ｓ２０５において、パケット転送部１２３が検索したバックアップテーブルに受信パケットの宛先ノードのエントリがなかったため（Ｓ２０３のＮｏ）、共用バックアップテーブル１３５からネクストホップを得るとき（Ｓ２０５）、受信パケットの宛先ノードをキーとしてネクストホップを得る。つまり、パケット転送部１２３は、受信パケットのテーブルＩＤとの組み合わせで共用バックアップテーブル１３５を検索する必要がない。
【００７６】
なお、前記した実施の形態において、バックアップテーブルおよび共用バックアップテーブル１３５の作成は、経路制御装置１０が行うこととしたが、これに限定されない。例えば、通信ネットワークの各ノード（経路制御装置１０）を集中制御する集中制御サーバを設け、この集中制御サーバにおいてバックアップテーブルおよび共用バックアップテーブル１３５の作成を行うようにしてもよい。
【００７７】
＜第３の実施の形態＞
次に、第３の実施の形態を説明する。前記した実施の形態と同様の構成要素は、同じ符号を付して説明を省略する。第３の実施の形態は、図１３に例示するように、通信ネットワークに各ノード（経路制御装置）４００の制御を行う集中制御サーバ１００を備える。そして、この集中制御サーバ１００は、ルーティングテーブル１３３、バックアップテーブルおよび共用バックアップテーブル１３５を作成し、各経路制御装置４００へ送信する。そして、このような集中制御サーバ１００は、図１３に示すように、制御装置２００と、ネットワーク情報取得装置３００とを備える。制御装置２００は、ネットワーク情報取得装置３００経由で経路制御装置４００から通信ネットワーク内の情報（例えば、トポロジ情報１３１のもととなる情報等）を取得すると、この情報をもとにトポロジ情報１３１、バックアップトポロジＤＢ１３２を作成する。そして、このトポロジ情報１３１に基づき、各経路制御装置４００のルーティングテーブル１３３を作成し、バックアップトポロジＤＢ１３２に基づき、バックアップテーブルＤＢ１３４、共用バックアップテーブル１３５を作成する。そして、これらのテーブルを各経路制御装置４００へ送信する。各経路制御装置４００は、制御装置２００から受信したテーブルに基づき、パケットの転送先を決定する。
【００７８】
このような制御装置２００および経路制御装置４００の構成を、図１４を用いて説明する。制御装置２００は、大きく、入出力部２１０、処理部２２０、記憶部２３０および通信部２４０に分けられる。入出力部２１０は、外部装置からこの制御装置２００の各種設定情報の入力等を受け付ける。処理部２２０は、この制御装置２００全体の制御を司り、バックアップトポロジＤＢ１３２に基づきバックアップテーブルおよび共用バックアップテーブル１３５の作成を行う。記憶部２３０は、トポロジ情報１３１や、バックアップトポロジＤＢ２３２等、バックアップテーブルや共用バックアップテーブル２３５を作成するときに参照する情報を記憶する。通信部２４０は、ネットワーク情報取得装置３００や、経路制御装置４００との間でのデータ送受信を司る。
【００７９】
処理部２２０は、トポロジ情報作成部２２１、経路計算部１２０、バックアップテーブル作成部１２１、共用バックアップテーブル作成部１２２およびテーブル送信部２２２を備える。トポロジ情報作成部２２１は、ネットワーク情報取得装置３００から、通信ネットワークの情報（経路制御装置４００が、どのリンクにより、どの経路制御装置４００と接続されているか、また、各リンクのリンクコストの値等）を取得する。そして、その取得した情報をもとにトポロジ情報１３１を作成する。なお、このネットワーク情報取得装置３００は、所定期間ごとに、最新の通信ネットワークの情報を取得するようにしてもよいし、通信ネットワークのノード追加等、何らかの変化があったときに情報を取得するようにしてもよい。また、共用バックアップテーブル作成部１２２による共用バックアップテーブル２３５およびバックアップテーブルＤＢ２３４の作成手順は、第１の実施の形態の方法によるものでもよいし、第２の実施の形態の方法によるものでもよい。
【００８０】
経路計算部１２０は、各経路制御装置４００で用いるルーティングテーブル１３３の集合であるルーティングテーブル２３３を作成する。また、各経路制御装置４００で用いるバックアップテーブルＤＢ１３４の集合であるバックアップテーブルＤＢ２３４を作成する。さらに、バックアップテーブル作成部１２１は、各経路制御装置４００のバックアップテーブルＤＢ１３４の集合であるバックアップテーブルＤＢ２３４を作成する。さらに、共用バックアップテーブル作成部１２２は、バックアップテーブルＤＢ２３４に基づき、各経路制御装置４００で用いる共用バックアップテーブル１３５の集合である共用バックアップテーブル２３５を作成する。
【００８１】
テーブル送信部２２２は、ルーティングテーブル２３３、バックアップテーブルＤＢ２３４および共用バックアップテーブル２３５から、経路制御装置４００ごとのルーティングテーブル１３３、バックアップテーブルＤＢ１３４および共用バックアップテーブル１３５を読み出し、読み出したルーティングテーブル１３３、バックアップテーブルＤＢ１３４および共用バックアップテーブル１３５を該当する経路制御装置４００へ送信する。
【００８２】
また、経路制御装置４００は、大きく、入出力部４１０、処理部４２０、記憶部４３０および通信部４４０に分けられる。入出力部４１０は、外部装置からこの制御装置２００の各種設定情報の入力等を受け付ける。処理部４２０は、制御装置４００全体の制御を司り、制御装置２００から送信された各テーブルを参照して、受信パケットの転送先を決定する。記憶部４３０は、ＲＡＭ等に制御装置２００から送信されたルーティングテーブル１３３、バックアップテーブルＤＢ１３４および共用バックアップテーブル１３５を記憶する。通信部４４０は、制御装置２００から各種テーブルを受信や、経路制御装置４００との間でのデータ送受信を司る。
【００８３】
処理部４２０は、テーブル受信部４２１と、パケット転送部１２３とを備える。テーブル受信部４２１は、通信部４４０経由で制御装置２００からルーティングテーブル１３３、バックアップテーブルＤＢ１３４および共用バックアップテーブル１３５を受信し、記憶部４３０に格納する。パケット転送部１２３は、通信部４４０経由で受信したパケットのヘッダ情報に付されたテーブルＩＤをキーとして、記憶部４３０から参照すべきテーブル（ルーティングテーブル１３３またはバックアップテーブル）を選択し、この選択したテーブルに基づきパケットの転送先を決定する。
【００８４】
このように制御装置２００が、バックアップテーブルＤＢ１３４や共用バックアップテーブル１３５を作成し、各経路制御装置４００へ配布することでも、共用バックアップテーブル１３５を用いた経路制御を行うことができる。なお、第３の実施の形態によれば、経路制御装置４００それぞれが、バックアップテーブルや共用バックアップテーブル１３５の作成を行う必要がなくなるので、各経路制御装置４００の処理負荷を軽減できる。
【００８５】
なお、前記した入出力部２１０，４１０は、入出力インタフェースから構成され、通信部２４０，４４０は、IPにより通信可能な通信インタフェースから構成される。また、処理部２２０，４２０は、ＣＰＵによるプログラム実行処理や、専用回路等により実現される。さらに、記憶部２３０，４３０は、ＲＡＭ、ＲＯＭ、ＨＤＤ、フラッシュメモリ等の記憶媒体から構成される。なお、制御装置２００をプログラム実行処理により実現する場合、記憶部２３０には、制御装置２００の機能を実現するためのプログラムが記憶される。また、経路制御装置４００をプログラム実行処理により実現する場合、記憶部４３０には、経路制御装置４００の機能を実現するためのプログラムが記憶される。
【符号の説明】
【００８６】
１０，４００    経路制御装置
１１，２１０，４１０    入出力部
１２，２２０，４２０    処理部
１３，２３０，４３０    記憶部
１４，２４０，４４０    通信部
１００  集中制御サーバ
１２０  経路計算部
１２１，２２１  バックアップテーブル作成部
１２２，２２２  共用バックアップテーブル作成部
１２３  パケット転送部
１３１  トポロジ情報
１３２  バックアップトポロジＤＢ
１３３，２３３  ルーティングテーブル
１３４，２３４  バックアップテーブルＤＢ
１３５，２３５  共用バックアップテーブル
２００  制御装置
４２１  テーブル受信部
【図１】
0005319626.tif 000002
【図２】
0005319626.tif 000003
【図３】
0005319626.tif 000004
【図４】
0005319626.tif 000005
【図５】
0005319626.tif 000006
【図６】
0005319626.tif 000007
【図７】
0005319626.tif 000008
【図８】
0005319626.tif 000009
【図９】
0005319626.tif 000010
【図１０】
0005319626.tif 000011
【図１１】
0005319626.tif 000012
【図１２】
0005319626.tif 000013
【図１３】
0005319626.tif 000014
【図１４】
0005319626.tif 000015