(57)【要約】  本発明にかかる転送装置は、ネットワークを形成するスイッチ装置（１０）であって、ネットワークのトポロジ情報と、経路計算で使用される、自装置の優先度およびネットワークを形成する他の転送装置の優先度と、を保持するリンクステートデータベース（１１）と、ネットワークを形成している転送装置の中の第１のスイッチ装置から第２のスイッチ装置までの最短経路をトポロジ情報に基づいて算出する最短経路算出部（１２１）と、最短経路算出部（１２１）で算出された最短経路と、自装置の優先度および他の転送装置の優先度とに基づいて自装置の優先度を調整する優先度調整部（１３）と、を備え、優先度調整部（１３）は、同一起点から同一宛先までの最短経路を自装置とともに構成し、かつ同一起点からの距離が自装置と同じ他の転送装置の優先度と重複する回数が少なくなるように自装置の優先度を調整する。
2017199301.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを形成する転送装置であって、
前記ネットワークのトポロジ情報と、経路計算で使用される、自装置の優先度および前記ネットワークを形成する他の転送装置の優先度と、を保持する情報保持部と、
前記ネットワークを形成している転送装置の中の第１の転送装置から第２の転送装置までの最短経路を前記トポロジ情報に基づいて算出する最短経路算出部と、
前記最短経路算出部で算出された最短経路と、前記自装置の優先度および前記他の転送装置の優先度とに基づいて前記自装置の優先度を調整する優先度調整部と、
を備え、
前記優先度調整部は、同一起点から同一宛先までの最短経路を自装置とともに構成し、かつ前記同一起点からの距離が自装置と同じ他の転送装置の優先度と重複する回数が少なくなるように前記自装置の優先度を調整する、
ことを特徴とする転送装置。
【請求項２】
前記優先度調整部は、
自装置の優先度を設定可能な値の中のいずれか一つに仮決定し、仮決定した優先度の評価を、前記ネットワークを形成しているいずれかの２台の転送装置である第１の転送装置と第２の転送装置との間の最短経路の情報と、自装置の優先度と、前記他の転送装置の優先度とに基づいて行う処理を、前記設定可能な値の全てを対象として実行し、前記設定可能な値の各々を前記優先度に仮決定して前記評価を実行した結果に基づいて、前記自装置の優先度を決定する、
ことを特徴とする請求項１に記載の転送装置。
【請求項３】
前記優先度調整部は、
宛先が同一かつ同一起点からの距離が同じ転送装置からなる転送装置群の各々を対象として、同じ群に属する転送装置の全てのペアについて、各転送装置の優先度の排他的論理和を求め、さらに、各ペアについての排他的論理和の演算結果から規定の条件を満たす４ビットを抽出し、抽出した４ビットの各々について、最上位の‘1’以外の‘1’を‘0’に変更し、変更後の４ビットを対象として論理和演算を実行して第１の演算結果を生成し、次に、宛先が同一かつ同一起点からの距離が異なる各転送装置群の前記第１の演算結果同士を比較して第２の演算結果を生成し、前記仮決定した優先度の評価結果とする、
ことを特徴とする請求項２に記載の転送装置。
【請求項４】
前記優先度調整部は、
前記排他的論理和の演算結果から規定の条件を満たす４ビットを抽出する処理において、前記排他的論理和の演算結果を上位から４ビットごとに区切ってビットの状態を確認し、‘1’となっているビットを含んでいる４ビットを検知すると当該４ビットを抽出し、
前記宛先が同一かつ同一起点からの距離が異なる各転送装置群の前記第１の演算結果同士を比較する処理において、‘1’となっているビット位置の重複数を前記第２の演算結果とする、
ことを特徴とする請求項３に記載の転送装置。
【請求項５】
ネットワークを形成する各転送装置に設定されたパラメータを調整する調整装置であって、
前記ネットワークのトポロジ情報と、経路計算で使用される前記パラメータである前記各転送装置の優先度とを取得する情報取得部と、
前記各転送装置の中の第１の転送装置から第２の転送装置までの最短経路を前記トポロジ情報に基づいて算出する最短経路算出部と、
前記最短経路算出部で算出された最短経路と、前記各転送装置の優先度とに基づいて前記各転送装置の優先度を調整する優先度調整部と、
を備え、
前記優先度調整部は、前記各転送装置の中のいずれか一つを調整対象として選択する第１の処理と、同一起点から同一宛先までの最短経路を前記調整対象の転送装置とともに構成し、かつ前記同一起点からの距離が前記調整対象の転送装置と同じ他の転送装置の優先度と重複する回数が少なくなるように前記調整対象の転送装置の優先度を調整する第２の処理と、を前記第１の処理で前記調整対象として選択する転送装置を変更しながら繰り返し実行する、
ことを特徴とする調整装置。
【請求項６】
前記優先度調整部による調整結果を表示する表示部、
を備えることを特徴とする請求項５に記載の調整装置。
【請求項７】
前記優先度調整部による調整結果を前記各転送装置へ送信する送信部、
を備えることを特徴とする請求項５または６に記載の調整装置。
【請求項８】
ネットワークを形成する転送装置がパラメータを調整するパラメータ調整方法であって、
前記ネットワークを形成している転送装置の中の第１の転送装置から第２の転送装置までの最短経路を前記ネットワークのトポロジ情報に基づいて算出する最短経路算出ステップと、
前記最短経路算出ステップで算出した最短経路と、前記ネットワークを形成する各転送装置の優先度とに基づいて自装置の優先度を調整する優先度調整ステップと、
を含み、
前記優先度調整部ステップでは、同一起点から同一宛先までの最短経路を自装置とともに構成し、かつ前記同一起点からの距離が自装置と同じ他の転送装置の優先度と重複する回数が少なくなるように前記自装置の優先度を調整する、
ことを特徴とするパラメータ調整方法。
【請求項９】
ネットワークを形成する各転送装置に設定されたパラメータを調整装置が調整するパラメータ調整方法であって、
前記ネットワークのトポロジ情報と、経路計算で使用される前記パラメータである前記各転送装置の優先度とを取得する情報取得ステップと、
前記各転送装置の中の第１の転送装置から第２の転送装置までの最短経路を前記トポロジ情報に基づいて算出する最短経路算出ステップと、
前記最短経路算出ステップで算出した最短経路と、前記各転送装置の優先度とに基づいて前記各転送装置の優先度を調整する優先度調整ステップと、
を含み、
前記優先度調整ステップは、
前記各転送装置の中のいずれか一つを調整対象として選択する第１のステップと、
同一起点から同一宛先までの最短経路を前記調整対象の転送装置とともに構成し、かつ前記同一起点からの距離が前記調整対象の転送装置と同じ他の転送装置の優先度と重複する回数が少なくなるように前記調整対象の転送装置の優先度を調整する第２のステップと、
を含み、前記第１のステップで前記調整対象として選択する転送装置を変更しながら前記第１のステップおよび前記第２のステップを繰り返し実行する、
ことを特徴とするパラメータ調整方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを形成する転送装置、調整装置およびパラメータ調整方法に関する。
【背景技術】
【０００２】
ネットワークの信頼性を向上させる手段として、ＳＰＢ（Shortest  Path  Bridging）が存在する（非特許文献１参照）。ＳＰＢでは、ネットワークを形成している各転送装置が他の転送装置との間でネットワークのトポロジ情報を交換し、全ての転送装置が各々で経路計算を行う。この経路計算で等距離の最短経路（ＥＣＭＰ：Equal  Cost  Multi  Path）を複数算出することにより、経路の冗長化および負荷分散が可能となる。負荷分散を効果的に実施するためには、より多くの経路を求める必要がある。ＳＰＢによる経路計算では、２つの転送装置間の最短経路を最大１６通り求めることができる。しかし、ＳＰＢにより求まる経路数は、最短経路を構成する各転送装置のブリッジプライオリティと呼ばれるパラメータによって左右される。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ＩＥＥＥ  Ｐ８０２．１ａｑ／Ｄ４．６，２０１２
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＳＰＢを使用してより多くの経路を計算するためには転送装置のブリッジプライオリティを調整する必要がある。しかしながら、従来は各転送装置のブリッジプライオリティの調整を手動で行ってきたため、ネットワークの運用性および拡張性に欠けるという問題があった。【０００５】
本発明は、上記に鑑みてなされたものであって、経路計算で使用するブリッジプライオリティを自動で調整することが可能な転送装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、ネットワークを形成する転送装置である。転送装置は、ネットワークのトポロジ情報と、経路計算で使用される、自装置の優先度およびネットワークを形成する他の転送装置の優先度と、を保持する情報保持部と、ネットワークを形成している転送装置の中の第１の転送装置から第２の転送装置までの最短経路をトポロジ情報に基づいて算出する最短経路算出部と、を備える。また、転送装置は、最短経路算出部で算出された最短経路と、自装置の優先度および他の転送装置の優先度とに基づいて自装置の優先度を調整する優先度調整部を備え、優先度調整部は、同一起点から同一宛先までの最短経路を自装置とともに構成し、かつ同一起点からの距離が自装置と同じ他の転送装置の優先度と重複する回数が少なくなるように自装置の優先度を調整する。
【発明の効果】
【０００７】
本発明にかかる転送装置は、経路計算で使用するブリッジプライオリティを自動で調整できるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１にかかる転送装置が形成するネットワークの一例を示す図
【図２】実施の形態１にかかる転送装置の機能構成例を示す図
【図３】実施の形態１にかかる転送装置のハードウェア構成例を示す図
【図４】実施の形態１にかかる優先度調整部の動作の一例を示すフローチャート
【図５】実施の形態１にかかる転送装置が形成するネットワークの一例を示す図
【図６】実施の形態２にかかる調整装置の機能構成例を示す図
【図７】実施の形態２にかかる調整装置のハードウェア構成例を示す図
【図８】実施の形態２にかかる優先度調整部の動作の一例を示すフローチャート
【発明を実施するための形態】
【０００９】
以下に、本発明の実施の形態にかかる転送装置、調整装置およびパラメータ調整方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１０】
実施の形態１．
図１は、本発明の実施の形態１にかかる転送装置が形成するネットワークの一例を示す図である。図１に示したネットワークは、実施の形態１にかかる転送装置であるスイッチ装置１０により形成されている。スイッチ装置１０には端末２０が接続可能である。各スイッチ装置１０は、ネットワークを形成している他のスイッチ装置１０との間でネットワークのトポロジ情報を交換し、他のスイッチ装置１０から収集したトポロジ情報を保持する。また、各スイッチ装置１０は、他のスイッチ装置１０の各々に至る経路、すなわち他のスイッチ装置１０の各々と通信する際の通信経路をＳＰＢにより決定する。端末２０はスイッチ装置１０により形成されているネットワークを介して他の端末２０と通信する。図１では、各スイッチ装置１０および各端末２０の接続関係を実線で示しており、実線は通信路に相当する。２台のスイッチ装置１０同士の間の通信路はリンクとも呼ばれる。なお、以下の説明において、各スイッチ装置１０をノードと称する場合がある。
【００１１】
図２は、実施の形態１にかかるスイッチ装置の機能構成例を示す図である。図２に示したように、スイッチ装置１０は、リンクステートデータベース１１、経路設定部１２および優先度調整部１３を備える。経路設定部１２は、最短経路算出部１２１および経路選択部１２２を備える。なお、図２においては、スイッチ装置１０の主要部、具体的には、他のスイッチ装置１０と通信する際の通信経路を設定するために必要な機能ブロックを記載しており、一般的なスイッチ装置が備えているその他の機能ブロックの記載を省略している。一般的なスイッチ装置が備えているその他の機能ブロックは、例えば、スイッチ装置１０が他のスイッチ装置１０または端末２０である他の通信装置との通信を実現するための機能ブロック、すなわち、スイッチ装置１０が他の通信装置との間で信号を送受信するための機能ブロックである。
【００１２】
リンクステートデータベース１１は、スイッチ装置１０が形成しているネットワークのトポロジ情報（以下、トポロジ情報）と、各スイッチ装置１０の優先度であるブリッジプライオリティとを保持する。リンクステートデータベース１１は情報保持部である。トポロジ情報は、スイッチ装置１０同士の接続関係の情報およびリンクコストを含む。リンクコストは、スイッチ装置１０の間の各リンクの品質に関する情報である。リンクコストは、例えば、各リンクの帯域幅である。ブリッジプライオリティは、非特許文献１で規定されているパラメータである。上述したように、ブリッジプライオリティは、ＳＰＢを使用して経路設定を行う場合に使用される。よって、ブリッジプライオリティは、経路計算で使用される各スイッチ装置１０の優先度である。ブリッジプライオリティの初期値は、ネットワークの管理者などにより、外部からリンクステートデータベース１１に設定される。
【００１３】
経路設定部１２は、リンクステートデータベース１１が保持しているトポロジ情報およびブリッジプライオリティに基づいて、ネットワークを形成しているスイッチ装置１０の全ての組み合わせについての最短経路を設定する。経路設定部１２は、経路を設定する際にＳＰＢを使用する。ＳＰＢは、最短経路算出部１２１および経路選択部１２２の動作により実現する。
【００１４】
経路設定部１２の最短経路算出部１２１は、リンクステートデータベース１１が保持しているトポロジ情報に基づいて、ネットワークを形成している複数のスイッチ装置１０の中のいずれか１台である第１のスイッチ装置、つまり第１の転送装置から第１のスイッチ装置以外のいずれか１台である第２のスイッチ装置、つまり第２の転送装置までの最短経路を算出する。最短経路算出部１２１は、ネットワークを形成している複数のスイッチ装置１０の全てのペアを対象として、ペアのスイッチ装置間の最短経路を算出する。最短経路算出部１２１は、第１のスイッチ装置から第２のスイッチ装置までの最短経路を算出する際、文献“A  note  on  two  problems  in  connexion  with  graphs（Numerische  Mathematik、1959、Volume  1、p269-271）”に記載されたダイクストラアルゴリズムを使用する。
【００１５】
経路設定部１２の経路選択部１２２は、起点のスイッチ装置１０から終点のスイッチ装置１０までの最短経路が複数存在する場合に、複数の最短経路の中の１つをタイブレークアルゴリズムにより選択する。すなわち、経路選択部１２２は、最短経路算出部１２１による計算結果の中に、ある２つのスイッチ装置１０を結ぶ最短経路が複数存在する場合に、複数の最短経路の中の１つを選択して選択結果を最短経路算出部１２１に通知する。タイブレークアルゴリズムでは、ネットワークを形成している各スイッチ装置１０のブリッジＩＤ（Identification）に基づいて、起点のスイッチ装置１０から終点のスイッチ装置１０までの複数の最短経路の中の１つを選択する。ブリッジＩＤは、スイッチ装置１０のブリッジプライオリティとＭＡＣ（Media  Access  Control）アドレスとを組み合わせて得られるスイッチ装置１０の識別情報である。ブリッジプライオリティの長さが２ｂｙｔｅであるため、ブリッジＩＤの長さは８ｂｙｔｅとなる。以下の説明においてはブリッジＩＤをＢＩＤと記載する場合がある。
【００１６】
経路設定部１２の最短経路算出部１２１および経路選択部１２２による経路選択手順、すなわち、ダイクストラアルゴリズムおよびタイブレークアルゴリズムを組み合わせた経路選択手順の詳細は非特許文献１に記載されている。
【００１７】
優先度調整部１３は、経路情報に基づいて、リンクステートデータベース１１が保持している自スイッチ装置１０のブリッジプライオリティを調整する。ブリッジプライオリティの調整で使用する経路情報は、ネットワークを形成しているスイッチ装置１０の全ての組み合わせについての最短経路の情報である。例えば、ネットワークを形成しているスイッチ装置１０がスイッチ装置１０1〜１０5である場合、経路情報は、スイッチ装置１０1とスイッチ装置１０2との間の最短経路の情報、スイッチ装置１０1とスイッチ装置１０3との間の最短経路の情報、スイッチ装置１０1とスイッチ装置１０4との間の最短経路の情報、スイッチ装置１０1とスイッチ装置１０5との間の最短経路の情報、スイッチ装置１０2とスイッチ装置１０3との間の最短経路の情報、スイッチ装置１０2とスイッチ装置１０4との間の最短経路の情報、スイッチ装置１０2とスイッチ装置１０5との間の最短経路の情報、スイッチ装置１０3とスイッチ装置１０4との間の最短経路の情報、スイッチ装置１０3とスイッチ装置１０5との間の最短経路の情報、および、スイッチ装置１０4とスイッチ装置１０5との間の最短経路の情報である。なお、ＳＰＢでは、１６ビットで構成されているブリッジプライオリティのうち、上位４ビットの変更が可能とされている。そのため、優先度調整部１３は、ブリッジプライオリティの上位４ビットを対象として調整を行う。優先度調整部１３がブリッジプライオリティを調整する動作の詳細については後述する。
【００１８】
ここで、スイッチ装置１０を実現するハードウェアについて説明する。図３は、実施の形態１にかかるスイッチ装置のハードウェア構成例を示す図である。スイッチ装置１０は、図３に示したプロセッサ１０１、メモリ１０２およびデータ転送ハードウェア１０４により実現することができる。これらのプロセッサ１０１、メモリ１０２およびデータ転送ハードウェア１０４はバス１０３を介して接続されている。
【００１９】
プロセッサ１０１は、ＣＰＵ（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）、またはこれらを組み合わせたものが該当する。経路設定部１２および優先度調整部１３の一方を専用のハードウェアで実現し、残りを上記のプロセッサ１０１およびメモリ１０２で実現するようにしてもよい。
【００２２】
データ転送ハードウェア１０４は、スイッチ装置１０が他のスイッチ装置１０または端末２０からデータを受信する際、および、受信したデータを他のスイッチ装置１０または端末２０へ転送する際に利用される。また、データ転送ハードウェア１０４は、リンクステートデータベース１１に格納する情報を外部から受信する際にも利用される。
【００２３】
つづいて、優先度調整部１３がリンスステートデータベース１１に格納されているブリッジプライオリティを調整する動作について説明する。
【００２４】
図４は、実施の形態１にかかる優先度調整部１３の動作の一例を示すフローチャートである。具体的には、図４は、優先度調整部１３が、リンクステートデータベース１１に格納されている、自スイッチ装置１０のブリッジプライオリティを調整する場合の動作の一例を示すフローチャートである。
【００２５】
本実施の形態では、各スイッチ装置１０が図５に示した構成のネットワークを形成している場合を例にとり、動作を説明する。図５において、丸（○）がスイッチ装置１０であるノードを示し、丸の中に記載された数字はノードの識別子である。各ノードを示す丸の上側に示した数字およびハイフン（−）は、起点のノードであるルートノードから各ノードまでの最短経路を示す。最短経路の左端の数値がルートノードの識別子を示し、右端の数値が終点のノードである宛先ノードの識別子を示す。最短経路の左端および右端のいずれにも該当しない数値は、最短経路の途中に位置するノードの識別子を示す。以下の説明では、識別子が「Ｎ」のノード（Ｎ＝１，２，３，…）をノードＮと記載する。図５に示した例では、ノード０がルートノードである。例えば、ノード０からノード４への最短経路は、２つ存在する。具体的には、ノード０からノード４への最短経路として、ノード０からノード１を経由してノード４に至る、「０−１−４」で示される経路と、ノード０からノード２を経由してノード４に至る、「０−２−４」で示される経路と、が存在する。
【００２６】
優先度調整部１３は、リンクステートデータベース１１が保持しているトポロジ情報またはブリッジプライオリティが変更された場合、外部のネットワーク管理者から指示を受けた場合など、規定の条件を満たした場合に、図４に示したフローチャートに従った動作を実行する。
【００２７】
優先度調整部１３は、まず、経路情報を最短経路算出部１２１から取得する（ステップＳ１１）。このステップＳ１１において優先度調整部１３が最短経路算出部１２１から取得する経路情報は、ネットワーク上の全ての２ノード間における全ての最短経路の情報である。最短経路算出部１２１は、ダイクストラアルゴリズムにより、最短経路の算出、すなわち、ネットワーク上の全ての２ノード間における全ての最短経路の算出が完了しているものとする。なお、最短経路算出部１２１は、優先度調整部１３から経路情報が要求されてから最短経路の算出を実行して経路情報を生成し、優先度調整部１３へ出力するようにしてもよい。
【００２８】
例えば、スイッチ装置１０が形成しているネットワークが図５に示したネットワークの場合、優先度調整部１３は、ステップＳ１１において、ノード０をルートノードとした場合のノード１〜８のそれぞれに至る最短経路の情報に加えて、ノード１から８のそれぞれをルートノードとした場合のその他の各ノードに至る最短経路の情報を、最短経路算出部１２１から取得する。すなわち、優先度調整部１３は、ノードｎrからノードｎdまでの最短経路の情報（ｎｒ≠ｎｄ、ｎｒ，ｎｄ＝０，１，２，…，８）を最短経路算出部１２１から取得する。
【００２９】
次に、優先度調整部１３は、上記ステップＳ１１で取得した経路情報を確認し、宛先ごとの最短経路上にあるノードをルートノードからの距離別に分類する（ステップＳ１２）。図５に示したネットワークの場合、例えば、ノード０からノード４までの最短経路は「０−１−４」で示される経路および「０−２−４」で示される経路の２通りである。したがって、優先度調整部１３は、ルートノード＝ノード０、宛先ノード＝ノード４、かつルートノードからの距離＝１という条件を満たすノードとして、ノード１およびノード２を記憶する。同様に、優先度調整部１３は、ルートノード＝ノード０、かつ宛先ノード＝ノード７の場合については、ルートノードからの距離＝１という条件を満たすノードとしてノード１、ノード２およびノード３を記憶するとともに、ルートノードからの距離＝２という条件を満たすノードとしてノード４およびノード５を記憶する。ルートノード＝ノード０、かつ宛先ノード＝ノードｎ（ｎ＝５，６，８）の場合も同様である。優先度調整部１３は、ルートノード＝ノード０とした場合の処理と同様の処理をネットワーク上の全ての２ノードの組み合わせに対して行う。図５に示したネットワークの場合、優先度調整部１３は、ノード１〜ノード８のそれぞれをルートノードとした場合について、ルートノード＝ノード０とした場合の上記処理と同様の処理を実行する。すなわち、優先度調整部１３は、ノードｎrとノードｎdのペア（ｎｒ≠ｎｄ、ｎｒ，ｎｄ＝０，１，２，…，８）のそれぞれについて、最短経路を構成するノードをノードｎｒからの距離が同一のノード群に分類する。
【００３０】
次に、優先度調整部１３は、上記ステップＳ１２で分類したノードの中から、ブリッジプライオリティが未だ調整されていないノードを一つ選び、調整対象のノードとする（ステップＳ１３）。ノードの選び方は、ノードのブリッジＩＤの昇順に選ぶ方法、無作為に選ぶ方法等が考えられるが、この限りではない。
【００３１】
次に、優先度調整部１３は、上記ステップＳ１３で選択したノードである調整対象ノードのブリッジプライオリティの候補を0x0〜0xFの中から一つ選ぶ（ステップＳ１４）。なお、選択するブリッジプライオリティの候補は、実際には、１６ビットで示されるブリッジプライオリティのうち、調整が可能な上位４ビットの候補である。以下の説明では、説明が煩雑になるのを防止するために、「ブリッジプライオリティの上位４ビットの候補」を意味する表現として「ブリッジプライオリティの候補」を使用する。ブリッジプライオリティの候補の選び方は、0x0〜0xFの中から昇順に選ぶ方法、0x0〜0xFの中から無作為に選ぶ方法等が考えられるが、この限りではない。優先度調整部１３は、以下のステップＳ１５およびＳ１６においては、上記ステップＳ１３で選択した調整対象ノードのブリッジプライオリティをステップＳ１４で選択したブリッジプライオリティの候補が示す値に置き換えて処理を行う。ステップＳ１４の処理は、ブリッジプライオリティを仮決定する処理といえる。ステップＳ１５およびＳ１６の処理は、仮決定したブリッジプライオリティを評価する処理といえる。
【００３２】
次に、優先度調整部１３は、上記ステップＳ１２での分類により得られた、ルートノード（ノードｎｒ）からある宛先ノード（ノードｎｄ）までの最短経路を構成しかつルートノードからの距離が同じノードの集合であるノード群の各々に対して、以下の処理を実行する。優先度調整部１３は、上記ステップＳ１２で得られたノード群の１つを対象として、まず、ノード群に属するノードの全てのペアについて、ブリッジＩＤの排他的論理和（ＸＯＲ）演算を行う。さらに、優先度調整部１３は、各ペアについての演算結果を、上位から４ビット単位で確認する。具体的には、優先度調整部１３は、各演算結果を上位から４ビット単位で確認し、ビットが立っている４ビットを発見した場合、すなわち４ビットで示される値が０以外の４ビットを発見した場合、発見した４ビットを抽出し、次に、抽出した４ビットのうち、最上位の‘1’以外を‘0’に変更し、変更後の各抽出結果同士の論理和（ＯＲ）演算を行う（ステップＳ１５）。優先度調整部１３は、各ノードのブリッジＩＤを最短経路算出部１２１経由で取得してもよいしリンクステートデータベース１１から直接取得してもよい。
【００３３】
ステップＳ１５の処理の具体例を説明する。図５に示したネットワークの場合、優先度調整部１３は、上記ステップＳ１２において、ルートノード＝ノード０、宛先ノード＝ノード７、かつルートノードからの距離＝１に該当するノード群として｛ノード１，ノード２，ノード３｝を記憶する。この場合、ステップＳ１５において、優先度調整部１３は、先ず、演算＃１としてノード１のＢＩＤ（ブリッジＩＤ）とノード２のＢＩＤのＸＯＲ演算（(ノード１のＢＩＤ)＾(ノード２のＢＩＤ)）を行い、演算＃２としてノード１のＢＩＤとノード３のＢＩＤのＸＯＲ演算（(ノード１のＢＩＤ)＾(ノード３のＢＩＤ)）を行い、演算＃３としてノード２のＢＩＤとノード３のＢＩＤのＸＯＲ演算（(ノード２のＢＩＤ)＾(ノード３のＢＩＤ)）を行う。仮に、演算＃１の結果が0x3000000000000000、演算＃２の結果が0x0000F00000000000、演算＃３の結果が0x0000000000000007とすると、優先度調整部１３は、次に、演算＃１の結果から0x3すなわち‘0011'の４ビットを抽出し、演算＃２の結果から0xFすなわち‘1111’の４ビットを抽出し、演算＃３の結果から0x7すなわち‘0111’の４ビットを抽出する。優先度調整部１３は、次に、各演算結果から抽出した４ビットのそれぞれについて、最上位の‘1’以外の‘1’を‘0’に変更し、変更後の各４ビットのＯＲを取る。すなわち、‘0010’、‘1000’および‘0100’のＯＲ演算を行う。この場合、（0010｜1000｜0100)＝1110という演算結果が得られる。以上の処理を、優先度調整部１３は、上記ステップＳ１２での分類により得られたノード群の全てに対して実行する。
【００３４】
次に、優先度調整部１３は、上記ステップＳ１５での演算結果を、宛先が同一かつ同一ルートノードからの距離が異なるもの同士で比較し、立っているビットの重複数を記憶する（ステップＳ１６）。例えば、ルートノードから宛先ノードまでの距離が４の場合、上記ステップＳ１５においてルートノードからの距離が１のノード群に対して実行した上記処理の演算結果、ルートノードからの距離が２のノード群に対して実行した上記処理の演算結果およびルートノードからの距離が３のノード群に対して実行した上記処理の演算結果を比較し、立っているビットの重複数を記憶する。
【００３５】
ステップＳ１６の処理の具体例を説明する。図５に示したネットワークにおいて、ノード０がルートノード（ルートノード＝ノード０）、かつノード７が宛先ノード（宛先ノード＝ノード７）のケースについて考える。このケースでは、ルートノードからの距離＝１のノード群は｛ノード１，ノード２，ノード３｝、ルートノードからの距離＝２のノード群は｛ノード４，ノード５｝となる。｛ノード１，ノード２，ノード３｝を対象とした上記ステップＳ１５での演算結果（演算結果Ａ）が‘1110’、｛ノード４，ノード５｝を対象とした上記ステップＳ１５での演算結果（演算結果Ｂ）が‘0100’であった場合、上位から２ビット目がともに立っており（ビット＝１）、上位から２番目以外のビットは演算結果Ａおよび演算結果Ｂの一方または双方が０である。そのため、重複数＝１となる。以上の処理を、優先度調整部１３は、ノードｎrとノードｎdのペア（ｎｒ≠ｎｄ、ｎｒ，ｎｄ＝０，１，２，…，８）のそれぞれについて実行する。そして、優先度調整部１３は、ノードｎrとノードｎdのペアのそれぞれについて算出した上記重複数を加算し、重複数の加算結果を、上記ステップＳ１４で選択したブリッジプライオリティの候補の評価結果として記憶する。
【００３６】
次に、優先度調整部１３は、上記ステップＳ１３で選択したノードのブリッジプライオリティの候補として0x0〜0xFの全てを上記ステップＳ１４で選択済みか否かを確認する（ステップＳ１７）。すなわち、優先度調整部１３は、上記ステップＳ１３で選択したノードのブリッジプライオリティを設定可能な全ての値のそれぞれに設定して上記ステップＳ１５およびＳ１６を実行したか否かを確認する。上記ステップＳ１３で選択したノードのブリッジプライオリティの候補として0x0〜0xFの全てを上記ステップＳ１４で選択済みであり、ステップＳ１７での判定が「Ｙｅｓ」となる場合、0x0〜0xFの各々に対応したステップＳ１６の演算結果である重複数が合計１６個記憶されていることになる。すなわち、優先度調整部１３は、ステップＳ１７で「Ｙｅｓ」と判定した場合、上記ステップＳ１３で選択したノードのブリッジプライオリティの各候補の評価結果を記憶していることになる。
【００３７】
優先度調整部１３は、0x0〜0xFの中に上記ステップＳ１４で選択済ではないものが存在する場合（ステップＳ１７：Ｎｏ）、上記ステップＳ１４に戻り、選択済みではないブリッジプライオリティの候補、すなわち、上記ステップＳ１５およびＳ１６により評価結果の算出が済んでいないブリッジプライオリティの候補の中の１つを選択する。そして、選択したブリッジプライオリティの候補について、上記ステップＳ１５およびＳ１６を実行する。優先度調整部１３は、0x0〜0xFの全てを上記ステップＳ１４で選択済みの場合、すなわち、ブリッジプライオリティの候補の全てについて、上記ステップＳ１５およびＳ１６による評価結果の算出を行った場合（ステップＳ１７：Ｙｅｓ）、上記ステップＳ１２での分類により得られたノード群のうち、上記ステップＳ１３で選択したノードである調整対象ノードが属しているノード群を対象として確認を行い、ブリッジプライオリティの候補0x0〜0xFの中に、宛先が同一かつ同一ルートノードからの距離が調整対象ノードと等距離にあるノードのブリッジプライオリィと重複しない候補が存在するか否かを確認する（ステップＳ１８）。
【００３８】
ステップＳ１８の処理の具体例を説明する。図５に示したネットワークにおいて、ノード０がルートノード（ルートノード＝ノード０）、かつノード７が宛先ノード（宛先ノード＝ノード７）のケースについて考える。このケースでは、ルートノードからの距離＝２に該当するノード群は｛ノード４，ノード５｝となる。ここで、ノード５が上記ステップＳ１３で選択されたノードでありノード５のブリッジプライオリティが調整対象であるとする。すなわち、ノード５が調整対象ノードであるとする。この場合、調整対象ノードではないノード４のブリッジプライオリティと同じ値のブリッジプライオリティは、宛先が同一かつ同一ルートノードから等距離にあるノード同士で重複するブリッジプライオリティの候補に該当する。ノード４のブリッジプライオリティと異なる値のブリッジプライオリティは、宛先が同一かつ同一ルートノードから等距離にあるノード同士で重複するブリッジプライオリティの候補に該当しない。同様の確認処理を調整対象ノードであるノード５が属している他のノード群についても行い、ノード５が属している全てのノード群において「宛先が同一かつ同一ルートノードから等距離にあるノード同士で重複するブリッジプライオリティの候補」に該当しないブリッジプライオリティが１つ以上存在する場合には上記ステップＳ１８での判定結果が「Ｙｅｓ」となる。別の表現を用いれば、上記ステップＳ１８において、優先度調整部１３は、調整対象ノードが属している各ノード群の調整対象ノード以外のノードのブリッジプライオリティを確認し、調整対象ノード以外のいずれのノードにも設定されていないブリッジプライオリティが存在する場合は「Ｙｅｓ」と判定する。
【００３９】
上記ステップＳ１８での判定結果が「Ｙｅｓ」の場合、優先度調整部１３は、宛先が同一かつ同一ルートノードから等距離にあるノード同士で重複しないブリッジプライオリティの候補の内、上記ステップＳ１６で記憶した重複数が最小のものに対応する候補を、調整対象ノード（上記ステップＳ１３で選択したノード）の調整後のブリッジプライオリティに決定する（ステップＳ１９）。例えば、上記ステップＳ１８において、調整対象ノードが属している各ノード群の調整対象ノード以外のノードのいずれにも設定されていないブリッジプライオリティとして0x2〜0x7が存在する場合、0x2〜0x7の内、上記ステップＳ１６で計算した重複数が最小であったものを、調整対象ノードの調整後のブリッジプライオリティに決定する。一方、上記ステップＳ１８での判定結果が「Ｎｏ」の場合、優先度調整部１３は、全てのブリッジプライオリティの候補（0x0〜0xF）の内、上記ステップＳ１６で計算した重複数が最小のものに対応する値を、調整対象ノードの調整後のブリッジプライオリティに決定する（ステップＳ２０）。
【００４０】
次に、優先度調整部１３は、自ノードの調整後のブリッジプライオリティを決定済みか否かを確認し（ステップＳ２１）、決定済みではない場合（ステップＳ２１：Ｎｏ）、上記ステップＳ１３に戻る。優先度調整部１３は、自ノードの調整後のブリッジプライオリティを決定済みの場合（ステップＳ２１：Ｙｅｓ）、リンクステートデータベース１１内の自ノードのブリッジプライオリティを、上記ステップＳ１９またはＳ２０で決定したブリッジプライオリティに更新する（ステップＳ２２）。
【００４１】
スイッチ装置１０は、ステップＳ２２で自装置のブリッジプライオリティを更新した後、更新後のブリッジプライオリティを他のスイッチ装置１０に通知する。また、スイッチ装置１０は、他のスイッチ装置１０から更新後のブリッジプライオリティの通知を受けた場合、通知を受けたブリッジプライオリティをリンクステートデータベース１１に上書きして情報を更新し、更新後のブリッジプライオリティを使用して図４に示したフローチャートに従った動作を実行して自装置のブリッジプライオリティを調整する。
【００４２】
以上のように、本実施の形態にかかるスイッチ装置において、優先度調整部は、設定可能なブリッジプライオリティの中の１つを選択して自装置の調整後のブリッジプライオリティに仮決定し、仮決定したブリッジプライオリティを評価する処理を、設定可能な全てのブリッジプライオリティを対象として行う。具体的には、優先度調整部は、ネットワークを形成している第１のスイッチ装置から第２のスイッチ装置までの最短経路の情報と、自装置および他のスイッチ装置のブリッジＩＤとに基づいて、仮決定したブリッジプライオリティを評価する。また、優先度調整部は、設定可能なブリッジプライオリティの各々についての評価結果に基づいて、自装置の調整後のブリッジプライオリティを決定する。優先度調整部は、評価結果の算出において、まず、宛先が同一かつ同一起点からの距離が同じスイッチ装置からなるスイッチ装置群の各々を対象として、同じ群に属するスイッチ装置の全てのペアについて、ブリッジＩＤに対するＸＯＲ演算を行い、さらに、各ＸＯＲ演算結果から規定の条件を満たす４ビットを抽出し、抽出した４ビットの各々について、最上位の‘1’以外の‘1’を‘0’に変更し、変更後の４ビットを対象としてＯＲ演算を実施して第１の演算結果を生成する。次に、宛先が同一かつ同一起点からの距離が異なる各スイッチ装置群の第１の演算結果同士を比較して第２の演算結果を生成し、これを仮決定したブリッジプライオリティの評価結果とする。規定の条件を満たす４ビットとは、ＸＯＲ演算結果を上位から４ビットごとに区切り、‘1’となっている最上位のビットを含む４ビットである。
【００４３】
本実施の形態にかかるスイッチ装置によれば、ＳＰＢによる経路計算で使用するブリッジプライオリティを自動で調整することができる。よって、ネットワークの管理者等がスイッチ装置に対して手動で設定する項目を削減することができ、ネットワークの運用性および拡張性を向上できる。
【００４４】
実施の形態２．
実施の形態１では、ネットワークを形成している各スイッチ装置が自装置のブリッジプライオリティの調整値を決定することとした。これに対して、本実施の形態では、ネットワークを形成している全てのスイッチ装置のブリッジプライオリティの調整値を１台の装置がまとめて行う。ブリッジプライオリティの調整値の決定は、１台のスイッチ装置が代表して行うようにしてもよいし、スイッチ装置とは別の装置が行うようにしてもよい。本実施の形態では、スイッチ装置とは別の装置が各スイッチ装置のブリッジプライオリティの調整値を決定する場合について説明する。
【００４５】
図６は実施の形態２にかかる調整装置の機能構成例を示す図である。調整装置３０は、入力部３１、経路設定部３２、優先度調整部３３および出力部３４を備える。経路設定部３２は、最短経路算出部３２１および経路選択部３２２を備える。調整装置３０の経路設定部３２、最短経路算出部３２１および経路選択部３２２は、実施の形態１のスイッチ装置１０が備えている経路設定部１２、最短経路算出部１２１および経路選択部１２２と同じ機能ブロックである。
【００４６】
調整装置３０の優先度調整部３３は、実施の形態１の優先度調整部１３と同様の手順により、ネットワークを形成している各スイッチ装置のブリッジプライオリティの調整値を決定する。なお、実施の形態１の優先度調整部１３は、自スイッチ装置のブリッジプライオリティの調整値を決定した時点で調整値の決定処理を終了するが、本実施の形態の優先度調整部３３は、全てのスイッチ装置のブリッジプライオリティの調整値が決まるまで処理を継続する。
【００４７】
入力部３１は、ネットワークのトポロジ情報を外部から取得して最短経路算出部３２１へ入力する情報取得部である。
【００４８】
出力部３４は、優先度調整部３３が決定した、各スイッチ装置のブリッジプライオリティの調整値を外部へ出力する。出力部３４は、表示装置または送信装置により実現される。出力部３４は、表示装置により実現される場合、ブリッジプライオリティの調整値をネットワークの管理者などに通知するための表示部として動作する。また、出力部３４は、送信装置により実現される場合、ブリッジプライオリティの調整値をスイッチ装置へ送信するための送信部として動作する。表示装置および送信装置で出力部３４を実現し、出力部３４は上記の表示部および送信部として動作するようにしてもよい。
【００４９】
図７は、実施の形態２にかかる調整装置のハードウェア構成例を示す図である。調整装置３０は、図７に示したプロセッサ１０１、メモリ１０２、入力装置１０５および出力装置１０６により実現することができる。これらのプロセッサ１０１、メモリ１０２、入力装置１０５および出力装置１０６はバス１０３を介して接続されている。プロセッサ１０１およびメモリ１０２は実施の形態１で説明したプロセッサ１０１およびメモリ１０２と同様のものである。入力装置１０５は、例えばキーボード、タッチパネル、マイク等が考えられるがこの限りではない。出力装置１０６は、例えばディスプレイ（モニタ、画面ともいう）、スピーカ、および送信装置等であるが、この限りではない。
【００５０】
図８は、優先度調整部３３の動作の一例を示すフローチャートである。図８に示したフローチャートは、図４に示したフローチャートのステップＳ２１およびＳ２２をステップＳ３１およびＳ３２に置き換えたものである。図８に示したステップＳ１１〜Ｓ２０については実施の形態１で説明したステップＳ１１〜Ｓ２０と同様であるため説明を省略する。
【００５１】
優先度調整部３３は、ステップＳ１９またはステップＳ２０を実行した後、ブリッジプライオリティを未調整のノードが存在するか否か、すなわち、調整対象のネットワークを形成している全てのノードのブリッジプライオリティの調整値を決定したか否かを確認する（ステップＳ３１）。ブリッジプライオリティを未調整のノードが存在する場合（ステップＳ３１：Ｙｅｓ）、優先度調整部３３は、ステップＳ１３に戻る。一方、ブリッジプライオリティを未調整のノードが存在しない場合（ステップＳ３１：Ｎｏ）、優先度調整部３３は、調整後の全てのブリッジプライオリティを出力部３４へ送る（ステップＳ３２）。出力部３４がディスプレイ等の表示装置の場合、出力部３４は、優先度調整部３３から調整後のブリッジプライオリティを受け取るとこれを表示する。
【００５２】
なお、調整装置が各スイッチ装置のブリッジプライオリティの調整値をまとめて決定することとしたが、上述したように、ネットワークを形成しているスイッチ装置の中の１台が各スイッチ装置のブリッジプライオリティの調整値をまとめて決定するようにしてもよい。１台のスイッチ装置が各スイッチ装置のブリッジプライオリティの調整値をまとめて決定する場合、調整値を決定するスイッチ装置は、全てのスイッチ装置のブリッジプライオリティの調整値を決定した後、決定した調整値を他のスイッチ装置に通知する。
【００５３】
このように、本実施の形態においては、ネットワークを形成する各スイッチ装置のブリッジプライオリティの調整値の決定を１台の装置でまとめて行うこととした。これにより、同様の処理を全てのスイッチ装置が実行する必要がなくなり、スイッチ装置全体としての処理負荷を軽減することができる。また、各スイッチ装置のブリッジプライオリティの調整値を高速に得ることができる。また、スイッチ装置とは異なる調整装置が各スイッチ装置のブリッジプライオリティの調整値を決定する場合には、ネットワークを構築する前に、各スイッチ装置のブリッジプライオリティの最適値を予め決定することができる。
【００５４】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００５５】
１０  スイッチ装置、１１  リンクステートデータベース、１２，３２  経路設定部、１３，３３  優先度調整部、２０  端末、３０  調整装置、３１  入力部、３４  出力部、１２１，３２１  最短経路算出部、１２２，３２２  経路選択部。
【図１】
2017199301.tif 000003
【図２】
2017199301.tif 000004
【図３】
2017199301.tif 000005
【図４】
2017199301.tif 000006
【図５】
2017199301.tif 000007
【図６】
2017199301.tif 000008
【図７】
2017199301.tif 000009
【図８】
2017199301.tif 000010
【国際調査報告】
2017199301.tif 000011
2017199301.tif 000012
2017199301.tif 000013
2017199301.tif 000014