(57)【特許請求の範囲】
【請求項１】
複数の転送装置によって構成されるネットワークのトポロジ情報である第１のトポロジ情報に基づいて、前記複数の転送装置のうちの第１の転送装置から第２の転送装置までの１つ以上の最短経路を算出し、前記１つ以上の最短経路の情報である冗長経路情報を生成する冗長経路算出部と、
前記冗長経路情報を保持する情報保持部と、
前記冗長経路情報に基づいて単一障害点を検出し、前記第１のトポロジ情報から前記単一障害点を除去したトポロジ情報である第２のトポロジ情報を生成する単一障害点検出部と、
を備え、
前記冗長経路算出部は、前記第２のトポロジ情報に基づいて、前記第１の転送装置から前記第２の転送装置までの経路として追加する追加経路の候補を算出し、追加経路候補の情報である追加経路候補情報を生成し、
前記単一障害点検出部は、前記追加経路候補情報に基づいて前記追加経路を決定し、前記追加経路の情報である追加経路情報を生成して前記情報保持部に登録する、
ことを特徴とする転送装置。
【請求項２】
前記単一障害点検出部は、前記冗長経路情報の全ての最短経路に含まれている転送装置、または転送装置間の通信路を前記単一障害点に決定し、決定した前記単一障害点の１つを前記第１のトポロジ情報から除去した第２のトポロジ情報を生成する、
ことを特徴とする請求項１に記載の転送装置。
【請求項３】
前記単一障害点検出部は、前記単一障害点が複数ある場合、除去する単一障害点を変えて第２のトポロジ情報を生成する、
ことを特徴とする請求項２に記載の転送装置。
【請求項４】
前記単一障害点検出部は、単一障害点が検出されなかった追加経路候補が複数あった場合、複数の追加経路候補のうち経路長が最短の追加経路候補を前記追加経路として前記追加経路情報を生成する、
ことを特徴とする請求項２または３に記載の転送装置。
【請求項５】
冗長経路算出部が、複数の転送装置によって構成されるネットワークのトポロジ情報である第１のトポロジ情報に基づいて、前記複数の転送装置のうちの第１の転送装置から第２の転送装置までの複数の最短経路を算出し、前記複数の最短経路の情報である冗長経路情報を生成し、情報保持部に登録する第１の算出ステップと、
単一障害点検出部が、前記冗長経路情報に基づいて単一障害点を検出し、前記第１のトポロジ情報から前記単一障害点を除去したトポロジ情報である第２のトポロジ情報を生成する第１の検出ステップと、
前記冗長経路算出部が、前記第２のトポロジ情報に基づいて、前記第１の転送装置から前記第２の転送装置までの経路として追加する追加経路の候補を算出し、追加経路候補の情報である追加経路候補情報を生成する第２の算出ステップと、
前記単一障害点検出部が、前記追加経路候補情報に基づいて前記追加経路を決定し、前記追加経路の情報である追加経路情報を生成して前記情報保持部に登録する第２の検出ステップと、
を含むことを特徴とする経路追加方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メッシュネットワークにおいてフレームを転送する転送装置および経路追加方法に関する。
【背景技術】
【０００２】
ネットワークの構成の１つにメッシュネットワークがある。メッシュネットワークでは、各通信装置が網目状に相互接続される形態をとることによって、通信経路すなわちパスの冗長化を容易に実現している。メッシュネットワークにおいて冗長パスの制御を実現するプロトコルに、ＳＰＢ（Shortest  Path  Bridging）がある（非特許文献１）。ＳＰＢは、ＥＣＭＰ（Equal  Cost  Multi  Path）を構成することにより、障害発生時の高速なパス切り替え、冗長パスの構成、トラフィックの分散などを可能とする技術である。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ＩＥＥＥ（Institute  of  Electrical  and  Electronics  Engineers）  Ｓｔｄ  ８０２．１ａｑ−２０１２
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来の技術によれば、メッシュネットワークでは、２つの通信装置間に複数のパスを設定して冗長化できるが、設定した冗長パスに単一障害点（ＳＰＯＦ（Single  Point  Of  Failure））が形成される場合がある。ＳＰＯＦに該当する通信装置または通信路に障害が発生した場合、冗長パスが設定されているにも拘わらず２つの通信装置間の通信が途絶えてしまう、という問題があった。【０００５】
本発明は、上記に鑑みてなされたものであって、メッシュネットワークでの通信の信頼性を向上可能な転送装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明の転送装置は、複数の転送装置によって構成されるネットワークのトポロジ情報である第１のトポロジ情報に基づいて、複数の転送装置のうちの第１の転送装置から第２の転送装置までの複数の最短経路を算出し、複数の最短経路の情報である冗長経路情報を生成する冗長経路算出部と、冗長経路情報を保持する情報保持部と、冗長経路情報に基づいて単一障害点を検出し、第１のトポロジ情報から単一障害点を除去したトポロジ情報である第２のトポロジ情報を生成する単一障害点検出部と、を備える。冗長経路算出部は、第２のトポロジ情報に基づいて、第１の転送装置から第２の転送装置までの経路として追加する追加経路の候補を算出し、追加経路候補の情報である追加経路候補情報を生成する。単一障害点検出部は、追加経路候補情報に基づいて追加経路を決定し、追加経路の情報である追加経路情報を生成して情報保持部に登録することを特徴とする。
【発明の効果】
【０００７】
本発明にかかる転送装置は、メッシュネットワークでの通信の信頼性を向上できる、という効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】メッシュネットワークの構成例を示す図
【図２】転送装置の構成例を示すブロック図
【図３】転送装置の経路算出処理の動作の一例を示すフローチャート
【図４】単一障害点検出部が単一障害点を検出する処理を説明するためのメッシュネットワークの例を示す図
【図５】単一障害点検出部が図４に示すメッシュネットワークで単一障害点を検出し、単一障害点を除去したメッシュネットワークの例を示す図
【図６】単一障害点検出部が単一障害点を検出する処理を説明するためのメッシュネットワークの他の例を示す図
【図７】単一障害点検出部が図６に示すメッシュネットワークで単一障害点を検出し、単一障害点を除去したメッシュネットワークの例を示す図
【図８】転送装置のハードウェアの構成例を示す図
【図９】転送装置のハードウェアの他の構成例を示す図
【発明を実施するための形態】
【０００９】
以下に、本発明の実施の形態にかかる転送装置および経路追加方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１０】
実施の形態．
図１は、本発明の実施の形態にかかるメッシュネットワーク３０の構成例を示す図である。メッシュネットワーク３０は、フレームの転送を行う転送装置１０−１〜１０−６により構成されるネットワークである。また、メッシュネットワーク３０には、フレームの送信元またはフレームの宛先となる端末装置２０−１〜２０−７が接続されている。以降の説明において、転送装置１０−１〜１０−６を区別しない場合、転送装置１０と称することがある。また、端末装置２０−１〜２０−７を区別しない場合、端末装置２０と称することがある。
【００１１】
転送装置１０は、１つ以上の他の転送装置１０、および１つ以上の端末装置２０と接続可能なスイッチ装置である。各転送装置１０は、メッシュネットワーク３０を構成する他の転送装置１０との間で接続情報を交換し、他の転送装置１０から収集した接続情報からメッシュネットワーク３０のトポロジ情報を生成して保持する。接続情報とは、他の転送装置１０が接続している転送装置１０についての情報である。メッシュネットワーク３０のトポロジ情報を第１のトポロジ情報とする。また、各転送装置１０は、他の転送装置１０の各々に至る通信の経路、すなわち他の転送装置１０の各々と通信する際の経路をＳＰＢにより決定する。以降の説明において、経路のことをパスと称する場合がある。
【００１２】
端末装置２０は、１つの転送装置１０と接続可能である。端末装置２０は、１つ以上の転送装置１０を介して他の端末装置２０との間で通信、すなわちフレームの送受信を行う。図１では、各転送装置１０および各端末装置２０の接続関係を実線で示しており、実線は通信路に相当する。以降の説明において、隣接する転送装置１０間の通信路のことをリンクと称する場合がある。
【００１３】
転送装置１０の構成について説明する。図２は、本実施の形態にかかる転送装置１０の構成例を示すブロック図である。転送装置１０は、リンクステートデータベース１１と、冗長経路算出部１２と、フォワーディングデータベース１３と、単一障害点検出部１４と、仮想リンクステートデータベース１５と、を備える。冗長経路算出部１２は、最短経路算出部１２１およびタイブレーカ１２２を備える。なお、図２では、本実施の形態で特徴的な動作に関わる転送装置１０の主要部、具体的には、他の転送装置１０と通信する際の経路を設定するために必要な機能ブロックを記載しており、一般的な転送装置が備えるその他の機能ブロックについては記載を省略している。
【００１４】
リンクステートデータベース１１は、第１の情報保持部である。リンクステートデータベース１１は、複数の転送装置１０により構成しているメッシュネットワーク３０のトポロジ情報である第１のトポロジ情報を保持する。第１のトポロジ情報は、転送装置１０同士の接続関係の情報、およびリンクコストを含む。リンクコストは、例えば、各リンクの帯域幅である。
【００１５】
冗長経路算出部１２は、リンクステートデータベース１１が保持している第１のトポロジ情報に基づいて、メッシュネットワーク３０を構成している複数の転送装置１０の全てのペアの組み合わせについての最短パスすなわち最短経路を１つ以上算出する。冗長経路算出部１２は、最短経路を算出する際にＳＰＢを使用する。冗長経路算出部１２では、最短経路算出部１２１およびタイブレーカ１２２の動作によりＳＰＢを実現する。なお、メッシュネットワーク３０において隣接する転送装置１０の組み合わせの場合、隣接する転送装置１０の組み合わせにおける最短経路は１つとなる。
【００１６】
冗長経路算出部１２の最短経路算出部１２１は、リンクステートデータベース１１が保持している第１のトポロジ情報に基づいて、メッシュネットワーク３０を構成している複数の転送装置１０において組み合わせが可能な全てのペアを対象として、各ペアの転送装置１０間の最短経路を算出する。最短経路算出部１２１は、最短経路算出のアルゴリズムとして、例えば、「A  Note  on  Two  Problems  in  Connexion  with  Graphs  （“Numerische  Mathematik”  Volume  1,  1959,  p.269-271）」に記載されたダイクストラアルゴリズムを使用する。最短経路算出部１２１は、転送装置１０の各ペアについて算出した各経路のリンクコストなどの情報である選択情報をタイブレーカ１２２に通知する。
【００１７】
冗長経路算出部１２のタイブレーカ１２２は、転送装置１０の各ペアにおいて、起点の転送装置１０から終点の転送装置１０までの最短経路が複数存在する場合、最短経路算出部１２１からの選択情報に基づいて、複数の最短経路の中の１つをタイブレークアルゴリズムにより選択する。起点の転送装置１０を第１の転送装置と称し、終点の転送装置１０を第２の転送装置と称する場合がある。タイブレーカ１２２は、選択結果を最短経路算出部１２１に通知する。
【００１８】
最短経路算出部１２１は、タイブレーカ１２２からの選択結果に基づいて最短経路の情報である冗長経路情報を生成して、フォワーディングデータベース１３に登録する。最短経路算出部１２１は、例えば、複数の最短経路があった場合、タイブレーカ１２２で選択された最短経路を冗長経路情報の１つとして生成する。なお、説明の便宜上、冗長経路算出部１２で算出できた最短経路が１つの場合でも、最短経路算出部１２１がフォワーディングデータベース１３に登録する最短経路の情報、および最短経路算出部１２１が単一障害点検出部１４に出力する最短経路の情報については冗長経路情報とする。冗長経路算出部１２の最短経路算出部１２１およびタイブレーカ１２２による冗長経路算出手順の詳細については、非特許文献１に記載されている。
【００１９】
フォワーディングデータベース１３は、第２の情報保持部である。フォワーディングデータベース１３は、フレーム転送機能を有する装置が一般的に持つデータベースであり、例えば、ＶＬＡＮ（Virtual  Local  Area  Network）テーブルが該当する。フォワーディングデータベース１３は、冗長経路算出部１２で算出された複数の最短経路の情報である冗長経路情報を保持し、転送装置１０が受信したフレームを隣接するどの転送装置１０へ転送すればよいかを示す情報を保持する。フォワーディングデータベース１３については、単に情報保持部と称する場合がある。
【００２０】
単一障害点検出部１４は、冗長経路算出部１２で算出された冗長経路情報に基づいて、２つの転送装置１０間の経路に単一障害点となる転送装置１０またはリンクが存在するか否かを判定する。単一障害点とは、冗長経路情報で示される最短経路が複数あるが、ある１つの転送装置１０または１つのリンクで障害が発生すると全ての最短経路で障害が発生し、冗長経路情報にかかる転送装置１０のペアの間で通信障害となってしまう箇所のことである。単一障害点として、転送装置１０またはリンクのどちらも該当する場合がある。単一障害点検出部１４は、単一障害点を検出、すなわち単一障害点が存在した場合、リンクステートデータベース１１に保持されている第１のトポロジ情報から単一障害点を除去したトポロジ情報、すなわちメッシュネットワーク３０から単一障害点となる転送装置１０またはリンクを除去したネットワークについてのトポロジ情報である第２のトポロジ情報を生成し、仮想リンクステートデータベース１５に登録する。このように、単一障害点検出部１４は、冗長経路情報および第１のトポロジ情報に基づいて第２のトポロジ情報を生成する。単一障害点検出部１４にかかる動作の詳細については後述する。
【００２１】
仮想リンクステートデータベース１５は、第３の情報保持部である。仮想リンクステートデータベース１５は、保持するデータの種類はリンクステートデータベース１１と同様であるが、保持するデータの内容は前述の通り、単一障害点検出部１４で生成された第２のトポロジ情報である。
【００２２】
つづいて、転送装置１０が、単一障害点を形成しない経路を算出する動作、すなわち経路算出処理について説明する。図３は、本実施の形態にかかる転送装置１０の経路算出処理の動作の一例を示すフローチャートである。図３に示すフローチャートは、具体的に、転送装置１０が、リンクステートデータベース１１に保持されている第１のトポロジ情報を基に、単一障害点を形成しない経路情報をフォワーディングデータベース１３に登録するまでの動作の一例を示すものである。転送装置１０は、メッシュネットワークの構成が変更されたことによってリンクステートデータベース１１が保持している第１のトポロジ情報が変更した場合、外部のネットワーク管理者から指示を受けた場合など、規定の条件を満たした場合に図３に示すフローチャートに従って経路算出処理の動作を実行する。なお、転送装置１０は、図３に示すフローチャートの処理を、メッシュネットワーク３０を構成している複数の転送装置１０の全てのペアの組み合わせの各々について行う。
【００２３】
転送装置１０において、まず、冗長経路算出部１２は、リンクステートデータベース１１に保持されている第１のトポロジ情報に基づいて、メッシュネットワークを構成しているある転送装置１０のペアを対象として、ペアの転送装置１０間の最短経路を１つ以上算出する（ステップＳ１１）。前述のように、メッシュネットワークにおいて隣接する転送装置１０の組み合わせの場合、最短経路は１つとなる。そのため、このような場合も含めて、ステップＳ１１の処理について、冗長経路算出部１２は冗長経路を算出するともいう。冗長経路算出部１２は、算出した冗長経路の情報である冗長経路情報をフォワーディングデータベース１３に登録する（ステップＳ１２）。また、冗長経路算出部１２は、冗長経路情報を単一障害点検出部１４に出力する。ステップＳ１１およびステップＳ１２は、第１の算出ステップである。
【００２４】
単一障害点検出部１４は、冗長経路算出部１２からの冗長経路情報に基づいて、２つの転送装置１０間の経路に単一障害点が存在するか否かを判定する（ステップＳ１３）。図４は、本実施の形態にかかる単一障害点検出部１４が単一障害点を検出する処理を説明するためのメッシュネットワーク３１の例を示す図である。メッシュネットワーク３１は、転送装置１０−１〜１０−１１により構成されている。単一障害点検出部１４は、例えば、転送装置１０−１から転送装置１０−１１への最短経路がＳＰＢにより算出された場合、転送装置１０−５を単一障害点として検出する。なお、図４の例では、転送装置１０−１が第１の転送装置、転送装置１０−１１が第２の転送装置となる。
【００２５】
具体的に、図４に示すメッシュネットワーク３１において、転送装置１０−１から転送装置１０−１１への最短経路は、転送装置１０−１から転送装置１０−２、転送装置１０−５、転送装置１０−９の順に経由して転送装置１０−１１に至る「１０−１→１０−２→１０−５→１０−９→１０−１１」で示される経路、転送装置１０−１から転送装置１０−２、転送装置１０−５、転送装置１０−１０の順に経由して転送装置１０−１１に至る「１０−１→１０−２→１０−５→１０−１０→１０−１１」で示される経路、転送装置１０−１から転送装置１０−３、転送装置１０−５、転送装置１０−９の順に経由して転送装置１０−１１に至る「１０−１→１０−３→１０−５→１０−９→１０−１１」で示される経路、および転送装置１０−１から転送装置１０−３、転送装置１０−５、転送装置１０−１０の順に経由して転送装置１０−１１に至る「１０−１→１０−３→１０−５→１０−１０→１０−１１」で示される経路の計４本となる。
【００２６】
この４本の経路情報から起点となる転送装置１０−１および終点となる転送装置１０−１１を除いた経路情報、つまり、「１０−２→１０−５→１０−９」、「１０−２→１０−５→１０−１０」、「１０−３→１０−５→１０−９」、および「１０−３→１０−５→１０−１０」の情報を見たとき、４本全ての経路情報に含まれる転送装置１０は、転送装置１０−５であることが分かる。単一障害点検出部１４は、以上の方法により、転送装置１０−５を単一障害点として検出する。
【００２７】
単一障害点検出部１４は、単一障害点を検出した、すなわち単一障害点が存在した場合（ステップＳ１３：Ｙｅｓ）、リンクステートデータベース１１に保持されている第１のトポロジ情報から単一障害点を除去した第２のトポロジ情報を生成し、生成した第２のトポロジ情報を仮想リンクステートデータベース１５に登録する（ステップＳ１４）。例えば、図４に示すメッシュネットワーク３１において、転送装置１０−１から転送装置１０−１１への最短経路上に形成される単一障害点を除去した場合、図５に示すトポロジとなる。図５は、本実施の形態にかかる単一障害点検出部１４が図４に示すメッシュネットワーク３１で単一障害点を検出し、単一障害点を除去したメッシュネットワーク３１の例を示す図である。仮想リンクステートデータベース１５に保持されている第２のトポロジ情報は、リンクステートデータベース１１に保持されている第１のトポロジ情報から転送装置１０−５が除去された状態となっている。
【００２８】
なお、単一障害点を検出しない、すなわち単一障害点が存在しない場合（ステップＳ１３：Ｎｏ）、転送装置１０は処理を終了する。ステップＳ１３およびステップＳ１４は、第１の検出ステップである。
【００２９】
冗長経路算出部１２は、仮想リンクステートデータベース１５に保持されている第２のトポロジ情報に基づいて、ステップＳ１１のときと同じ転送装置１０のペアを対象として、ペアの転送装置１０間の最短経路を算出する（ステップＳ１５）。また、冗長経路算出部１２は、最短経路があるか否か、すなわち、起点の転送装置から終点の転送装置まで繋がった経路があるか否かを判定する（ステップＳ１６）。これは、単一障害点を除去したことによって、メッシュネットワーク３１が分離する場合があるからである。
【００３０】
冗長経路算出部１２は、図４に示すメッシュネットワーク３１において転送装置１０−１から転送装置１０−１１への最短経路上に形成される単一障害点すなわち転送装置１０−５を除去した第２のトポロジ情報に基づいて最短経路を可能なだけ算出した場合、図５に矢印で示した２本の最短経路を算出する。
【００３１】
図６は、本実施の形態にかかる単一障害点検出部１４が単一障害点を検出する処理を説明するためのメッシュネットワーク３２の例を示す図である。また、図７は、本実施の形態にかかる単一障害点検出部１４が図６に示すメッシュネットワーク３２で単一障害点を検出し、単一障害点を除去したメッシュネットワーク３２の例を示す図である。図６に示すメッシュネットワーク３２は、図４に示すメッシュネットワーク３１と転送装置１０の配置は同一であるが、転送装置１０間の一部の通信路の配線が異なっている。
【００３２】
図６に示すメッシュネットワーク３２において、転送装置１０−１から転送装置１０−１１への最短経路の単一障害点は転送装置１０−５である。ステップＳ１４において、単一障害点検出部１４がメッシュネットワーク３２から転送装置１０−５を除去すると、図７に示すようにメッシュネットワーク３２は分離してしまう。この場合、転送装置１０−１から転送装置１０−１１へ繋がった経路は存在しないことになる。冗長経路算出部１２は、このような場合を踏まえて、ステップＳ１６において、最短経路があるか否か、すなわち、起点の転送装置１０−１から終点の転送装置１０−１１まで繋がった経路があるか否かを判定する。
【００３３】
冗長経路算出部１２は、最短経路の算出において、起点の転送装置１０−１から終点の転送装置１０−１１まで繋がった経路がある場合（ステップＳ１６：Ｙｅｓ）、算出した最短経路をフォワーディングデータベース１３に追加する経路の候補となる追加経路候補として、追加経路候補の情報である追加経路候補情報を生成して単一障害点検出部１４に出力する。冗長経路算出部１２は、起点の転送装置１０−１から終点の転送装置１０−１１まで繋がった経路がなかった場合（ステップＳ１６：Ｎｏ）、最短経路を算出できなかったことを単一障害点検出部１４に通知する。ステップＳ１５およびステップＳ１６は、第２の算出ステップである。
【００３４】
単一障害点検出部１４は、追加経路候補情報に基づいて、２つの転送装置１０間の経路に単一障害点が存在するか否かを判定する（ステップＳ１７）。単一障害点検出部１４におけるステップＳ１７での単一障害点が存在するか否かの判定方法は、ステップＳ１３のときと同様である。単一障害点検出部１４は、単一障害点を検出しない、すなわち単一障害点が存在しない場合（ステップＳ１７：Ｎｏ）、追加経路候補のうち経路長が最短の追加経路候補、およびその距離を記憶する。単一障害点検出部１４は、最短の追加経路候補およびその距離について、起点の転送装置１０および終点の転送装置１０のペア毎に記憶する。図４に示すメッシュネットワーク３１を例に挙げると、単一障害点検出部１４は、転送装置１０−１から転送装置１０−１１への最短の追加経路候補およびその距離の情報（以降、情報１と称する）と、転送装置１０−１１から転送装置１０−１への最短の追加経路候補およびその距離の情報（以降、情報２と称する）とは別々に記憶する。単一障害点検出部１４は、情報１と情報２とを比較することはない。
【００３５】
単一障害点検出部１４は、新たに記憶した追加経路候補の距離と、記憶済みの追加経路候補の距離とを比較する。単一障害点検出部１４は、新たに記憶した追加経路候補の距離が記憶済みの追加経路候補の距離よりも小さい場合、すなわち新たに記憶した追加経路候補が追加経路候補の中で最短の場合（ステップＳ１８：Ｙｅｓ）、新たに記憶した追加経路候補を、最新の追加経路候補として記憶し、追加経路候補を更新する（ステップＳ１９）。なお、単一障害点検出部１４は、記憶済みの追加経路候補が無い場合、すなわち初回の動作時はステップＳ１８を省略してステップＳ１９を実施してもよい。
【００３６】
単一障害点検出部１４は、起点の転送装置１０−１から終点の転送装置１０−１１まで繋がった経路がなかった旨の通知を冗長経路算出部１２から受けた場合（ステップＳ１６：Ｎｏ）、単一障害点を検出、すなわち単一障害点が存在する場合（ステップＳ１７：Ｙｅｓ）、記憶済みの追加経路候補の距離≦新たに記憶した追加経路候補の距離、すなわち新たに記憶した追加経路候補が追加経路候補の中で最短ではない場合（ステップＳ１８：Ｎｏ）、およびステップＳ１９の処理の後、これまでの処理においてステップＳ１４で除去を試していない単一障害点が存在するか否かを判定する（ステップＳ２０）。これは、１つの経路において単一障害点が複数存在する場合があるためである。
【００３７】
単一障害点検出部１４は、未だ除去を試していない単一障害点がある場合（ステップＳ２０：Ｙｅｓ）、ステップＳ１４へ戻り、ステップＳ１４においてリンクステートデータベース１１の第１のトポロジ情報から未だ除去を試していない単一障害点を除去した第２のトポロジ情報を生成する。以降の処理は前述の通りである。このように、単一障害点検出部１４は、追加経路候補情報に基づいて追加経路を決定し、追加経路情報を生成してフォワーディングデータベース１３に登録する。
【００３８】
また、単一障害点検出部１４は、冗長経路情報の全ての最短経路に含まれている転送装置１０、または転送装置１０間の通信路を単一障害点に決定し、第１のトポロジ情報から決定した単一障害点の１つを除去した第２のトポロジ情報を生成する。単一障害点検出部１４は、単一障害点が複数ある場合、除去する単一障害点を変えて第２のトポロジ情報を生成する。
【００３９】
単一障害点検出部１４は、全ての単一障害点の除去を試した場合（ステップＳ２０：Ｎｏ）、ステップＳ１９の処理で記憶している追加経路候補を追加経路として追加経路情報を生成し、追加経路情報をフォワーディングデータベース１３に登録する（ステップＳ２１）。単一障害点検出部１４は、起点の転送装置１０から終点の転送装置１０まで繋がり、かつ、単一障害点が検出されなかった追加経路候補が複数あった場合、複数の追加経路候補のうち経路長が最短の追加経路候補を追加経路として決定し、追加経路情報を生成することになる。ステップＳ１７からステップＳ２１は、第２の検出ステップである。
【００４０】
なお、転送装置１０では、ステップＳ１３からステップＳ２０までの処理について、例えば、図４に示すメッシュネットワーク３１の管理者が指定した特定の経路、例えば、転送装置１０−１から転送装置１０−１１への経路に対して実施してもよいし、メッシュネットワーク３１を構成する全ての転送装置１０間の経路に対して実施してもよい。
【００４１】
つづいて、転送装置１０を実現するハードウェアについて説明する。図８は、本実施の形態にかかる転送装置１０のハードウェアの構成例を示す図である。転送装置１０は、図８に示したプロセッサ９１、メモリ９２、およびデータ転送ハードウェア９３により実現することができる。これらのプロセッサ９１、メモリ９２、およびデータ転送ハードウェア９３は、バス９４を介して接続されている。
【００４２】
プロセッサ９１は、ＣＰＵ（Central  Processing  Unit、中央処理装置、処理装置、演算装置、プロセッサ、マイクロプロセッサ、マイクロコンピュータ、ＤＳＰ（Digital  Signal  Processor）ともいう）、システムＬＳＩ（Large  Scale  Integration）などである。メモリ９２は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable  Programmable  Read  Only  Memory）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read  Only  Memory）などの不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ（Digital  Versatile  Disc）などである。
【００４３】
転送装置１０のリンクステートデータベース１１、フォワーディングデータベース１３、および仮想リンクステートデータベース１５は、メモリ９２により実現される。転送装置１０の冗長経路算出部１２および単一障害点検出部１４は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアおよびファームウェアはプログラムとして記述され、メモリ９２に格納される。冗長経路算出部１２および単一障害点検出部１４は、プロセッサ９１が、冗長経路算出部１２および単一障害点検出部１４のそれぞれとして動作するためのプログラムをメモリ９２から読み出して実行することにより実現される。すなわち、転送装置１０は、その機能がプロセッサ９１により実行されるときに、冗長経路算出部１２および単一障害点検出部１４の動作を実施するステップが結果的に実行されることになるプログラムを格納するためのメモリ９２を備える。また、これらのプログラムは、冗長経路算出部１２および単一障害点検出部１４が行う各種処理をコンピュータに実行させるものであるともいえる。
【００４４】
冗長経路算出部１２および単一障害点検出部１４は専用のハードウェアで実現してもよい。図９は、本実施の形態にかかる転送装置１０のハードウェアの他の構成例を示す図である。冗長経路算出部１２および単一障害点検出部１４を専用のハードウェアとして処理回路９５により実現している。専用のハードウェアとしては、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）、またはこれらを組み合わせたものが該当する。冗長経路算出部１２および単一障害点検出部１４の一方を専用のハードウェアで実現し、残りを上記のプロセッサ９１およびメモリ９２で実現するようにしてもよい。
【００４５】
データ転送ハードウェア９３は、転送装置１０が他の転送装置１０または端末装置２０からデータを受信する際、および、受信したデータを他の転送装置１０または端末装置２０へ転送する際に利用される。また、データ転送ハードウェア９３は、リンクステートデータベース１１に格納する情報を外部から受信する際にも利用される。
【００４６】
以上説明したように、本実施の形態によれば、転送装置１０は、複数の転送装置１０により構成されるメッシュネットワークにおいて単一障害点が検出された場合、メッシュネットワークの第１のトポロジ情報から単一障害点を除去した第２のトポロジ情報に基づいて追加経路を決定し、第１のトポロジ情報から得られた冗長経路の情報とともに保持することとした。これにより、転送装置１０は、単一障害点を含まない経路の情報を保持することができ、メッシュネットワークでの通信の信頼性を向上させることができる。
【００４７】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００４８】
１０，１０−１〜１０−１１  転送装置、１１  リンクステートデータベース、１２  冗長経路算出部、１２１  最短経路算出部、１２２  タイブレーカ、１３  フォワーディングデータベース、１４  単一障害点検出部、１５  仮想リンクステートデータベース、２０−１〜２０−７  端末装置、３０，３１，３２  メッシュネットワーク。
【図１】
0006501992.tif 000002
【図２】
0006501992.tif 000003
【図３】
0006501992.tif 000004
【図４】
0006501992.tif 000005
【図５】
0006501992.tif 000006
【図６】
0006501992.tif 000007
【図７】
0006501992.tif 000008
【図８】
0006501992.tif 000009
【図９】
0006501992.tif 000010