(57)【要約】【課題】複数の転送装置が伝送路によってリング状に接続され、転送装置のうちいくつかの転送装置の間に冗長経路が形成されたリングネットワークシステムで冗長経路を使用した情報の送受信を行う転送装置を得ること。【解決手段】リングネットワークシステムを構成する転送装置と冗長経路を含む伝送路の配置に関するトポロジ情報から、冗長経路を含まない閉ループと、１つの冗長経路または交差しない２つの冗長経路を含む閉ループであって該閉ループを構成する転送装置間に他の冗長経路が形成されない閉ループとから閉ループ経路を作成する閉ループ検出部１６と、閉ループ経路に基づいて自転送装置からシステムを構成する他の転送装置までの転送コストが最小となる経路である転送経路情報を算出する転送コスト算出部１８と、情報の宛て先に対応する転送経路を転送経路情報から選択し、該当する伝送路に情報を送信する転送制御部１３と、を備える。【選択図】        図１
2005260708.tif 000002
【特許請求の範囲】
【請求項１】
複数の転送装置が伝送路によってリング状に接続されるともに、前記転送装置のうちいくつかの転送装置の間に冗長経路が形成されたリングネットワークシステムで、所定の長さに分割された情報の送信または転送を行う転送装置であって、
前記リングネットワークシステムを構成する転送装置と前記冗長経路を含む伝送路の配置に関するトポロジ情報から、冗長経路を含まない閉ループと、１つの冗長経路または交差しない２つの冗長経路を含む閉ループであって該閉ループを構成する転送装置間に他の冗長経路が形成されない閉ループと、を検出し、この閉ループから閉ループ経路を作成する閉ループ検出手段と、
前記閉ループ経路に基づいて、自転送装置から前記リングネットワークシステムを構成する転送装置までの距離のうち転送コストが最小となる経路である転送経路情報を算出する転送コスト算出手段と、
前記情報の宛て先に対応する転送経路を前記転送経路情報から選択し、該当する伝送路に前記情報を送信する転送制御手段と、
を備えることを特徴とする転送装置。
【請求項２】
前記転送制御手段は、該転送制御手段を備える転送装置が冗長経路を有さず、前記情報の転送を行う場合に限って、前記転送経路情報を参照せずに、前記情報を受信した伝送路以外の伝送路に前記情報を送出することを特徴とする請求項１に記載の転送装置。
【請求項３】
前記閉ループ検出手段は、前記リングネットワークシステムを構成する２つの転送装置を結ぶ経路上にリングを形成しない１以上の転送装置が存在する場合に、この経路を１つの伝送路とみなして閉ループの検出を行うことを特徴とする請求項１または２に記載の転送装置。
【請求項４】
前記閉ループ検出手段は、自ノードを含まない閉ループの閉ループ経路を作成するに当たって、冗長経路のうち一方のノードを起点とし、前記冗長経路を経ない方向に伝送路をたどり、前記冗長経路の他方のノードを終点とする閉ループ経路を作成することを特徴とする請求項１〜３のいずれか１つに記載の転送装置。
【請求項５】
前記閉ループ検出手段は、前記リングネットワークシステムが交差する冗長経路を有する場合に、前記交差する冗長経路のいずれかを含む閉ループについて、前記冗長経路を構成する一方のノードを起点とし、前記冗長経路を最初に通過する閉ループ経路も作成することを特徴とする請求項４に記載の転送装置。
【請求項６】
前記リングネットワークシステムが複数の通信グループによって情報の送信および転送に利用される場合に、
前記転送コスト算出手段は、前記通信グループごとに転送経路情報を算出し、
前記転送制御手段は、送信または転送する情報の属する通信グループに対応した前記転送経路情報を用いて前記情報を、該当する伝送路に送信することを特徴とする請求項１〜５のいずれか１つに記載の転送装置。
【請求項７】
前記閉ループ検出手段は、前記通信グループごとに設定される使用可能な転送装置と伝送路に基づいて、閉ループを検出することを特徴とする請求項６に記載の転送装置。
【請求項８】
前記閉ループ検出手段は、前記リングネットワークシステムを構成する転送装置または伝送路に障害が発生した場合に、障害が発生した前記転送装置または伝送路を経由しない閉ループを検出することを特徴とする請求項１〜７のいずれか１つに記載の転送装置。
【請求項９】
請求項１〜８のいずれか１つに記載の複数の転送装置が伝送路を介してリング状に接続されるとともに、前記転送装置のうち少なくとも２つの転送装置の間を伝送路で接続した冗長経路が形成されることを特徴とするリングネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、冗長経路（バイパス経路ともいう）を有するリングネットワークにおけるパケット転送経路の候補の検出とその転送経路の選択を行う冗長経路を有するリングネットワークシステムと、そのシステムに使用される転送装置に関するものである。
【背景技術】
【０００２】
従来、複数のノード装置が伝送路によりリング状に接続されたリングネットワークでは、リング状の伝送路の故障などによって情報が到達されないノード装置が生じないように、上記リングネットワークを構成する２つのノード間を伝送路で接続したバイパス経路を備えるように構成している。このバイパス経路は、従来では、上記のようにリング状の伝送路が切断等の障害によって使用できない場合に、代替経路として使用されるものであり、通常時では使用することはなかった（たとえば、特許文献１参照）。この特許文献１に記載の発明においては、障害が発生した場合にバイパス経路を代替の閉ループ作成に使用している。
【０００３】
また、１つのリングネットワークを構成する２つのノード間が伝送路によって接続された場合には、上記２つのノード間の伝送路を共通の伝送路とする２つ以上のリングネットワークが接続されたリングネットワーク構成として制御している（たとえば、特許文献２参照）。この特許文献２に記載の発明では、２つのリングネットワーク構成において、リングＩＤなどの識別子によってそれぞれのリングネットワークを区別して、バイパス経路に相当する経路を含むリングネットワークでパケットの転送を行う方法が提案されている。
【０００４】
【特許文献１】特開昭６３−６７８４７号公報（第５頁、第３〜６図）
【特許文献２】特開平６−３３８８９０号公報（第２〜３頁、第１〜２図）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記特許文献１に記載された複数のノード装置が伝送路によりリング状に接続されたリングネットワークでは、該リングネットワークを構成する２つのノード装置間が伝送路により接続されたバイパス経路を、通常時の転送経路として制御できていなかった。そのために、バイパス経路を含めた経路を１つのリングネットワークとして認識し通常時に有効にバイパス経路を利用することができないという問題点があった。
【０００６】
また、上記特許文献２に記載された発明のように、２つのノード間を接続する伝送路をバイパス経路と識別せず、マルチリング構成として通常使用する場合には、リングＩＤなどのリングネットワークを個別に識別できる情報を追加して、複数のリングネットワーク情報を管理しなければならないという問題点がある。さらに、障害が発生した場合の経路切り替え制御は、マルチリングを構成するそれぞれのリングネットワークでの制御の実行と同時に、マルチリングを構成する全てのリングネットワークで同期しなければならず、単一のリングネットワーク制御と比べ複雑になってしまうという問題点もあった。
【０００７】
この発明は、上記に鑑みてなされたもので、リング状の伝送路に障害が発生していない通常時にも冗長経路を使用したパケットの転送経路候補の検出と、その転送経路の選択を行う冗長経路を有するリングネットワークシステムと、そのシステムに使用される転送装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、この発明にかかる冗長経路を有するリングネットワークシステムに使用される転送装置は、複数の転送装置が伝送路によってリング状に接続されるともに、前記転送装置のうちいくつかの転送装置の間に冗長経路が形成されたリングネットワークシステムで、所定の長さに分割された情報の送信または転送を行う転送装置であって、前記リングネットワークシステムを構成する転送装置と前記冗長経路を含む伝送路の配置に関するトポロジ情報から、冗長経路を含まない閉ループと、１つの冗長経路または交差しない２つの冗長経路を含む閉ループであって該閉ループを構成する転送装置間に他の冗長経路が形成されない閉ループと、を検出し、この閉ループから閉ループ経路を作成する閉ループ検出手段と、前記閉ループ経路に基づいて、自転送装置から前記リングネットワークシステムを構成する転送装置までの距離のうち転送コストが最小となる経路である転送経路情報を算出する転送コスト算出手段と、前記情報の宛て先に対応する転送経路を前記転送経路情報から選択し、該当する伝送路に前記情報を送信する転送制御手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
この発明によれば、冗長経路を有するリングネットワークを構成する転送装置は、冗長経路を含んだ閉ループを複数検出し、検出した閉ループを組み合わせて目的とする転送装置に送信するための最小の転送コストを算出し、着信側転送装置までの転送経路を選択するようにしているので、通常時においても冗長経路を使用して、最小コストで情報を目的とする転送装置に送信することができるという効果を有する。また、単一リングネットワークに冗長経路転送制御処理を導入することで簡素な制御で冗長経路を使用可能にすることができる。さらに、リングネットワークにおいて、複数の閉ループを検出しパケットの発信と中継の際に経路選択を行なうという、１つのリングネットワーク内の経路選択制御としているので、複数のリングネットワークを制御する場合に必要なリングＩＤなどの識別情報は不要となり、マルチリング制御で行なう各リングネットワークの情報のやり取りや各リングネットワークの同期処理などの複雑な処理を行なわなくてもよい。
【発明を実施するための最良の形態】
【００１０】
以下に添付図面を参照して、この発明にかかる冗長経路を有するリングネットワークシステムとそのシステムに使用される転送装置の好適な実施の形態を詳細に説明する。
【００１１】
実施の形態１．
図１は、この発明にかかるリングネットワークシステムを構成する転送装置の概略構成を模式的に示すブロック図である。転送装置（以下、ノードという）は、伝送路を介して送られる情報を受信する受信部１１と、受信した情報の転送先に対応する経路情報を示す転送経路情報が格納された転送経路情報格納部１２と、情報に付された宛て先情報と転送経路情報に基づいて受信した情報の転送を行う転送制御部１３と、情報をノード外部の伝送路に送出する送信部１４と、冗長経路を有するリングネットワークシステムにおけるノードの配置に関するトポロジ情報を有するトポロジ情報格納部１５と、トポロジ情報から閉ループを検出し、閉ループ経路を作成する閉ループ検出部１６と、作成された閉ループ経路を閉ループ情報として格納する閉ループ情報格納部１７と、閉ループ情報に基づいて各ノードへの転送コストを算出する転送コスト算出部１８と、を備えている。
【００１２】
受信部１１は、伝送路に接続され、この伝送路を介して送られてくる所定の長さに分割されたフレームやセル、パケットなど（以下の説明では、情報を所定の長さに分割されたものを総称してパケットという）を受信する機能を有する。
【００１３】
転送経路情報格納部１２は、送信または転送するパケットの宛て先情報に基づいて、該パケットの転送経路に関する転送経路情報を格納する。この発明では、転送経路情報として、自ノードからリングネットワークを構成する他のノードまでの転送経路のうち、最もコストの低い転送経路が格納される。この転送経路は後述する転送コスト算出部１８によって作成される。
【００１４】
転送制御部１３は、受信部１１から受信したパケットまたは自ノードから発信するパケットの宛て先情報を取得し、該宛て先情報中の宛て先にパケットを転送するための転送経路情報を転送経路情報格納部１２から抽出して、その転送経路情報にしたがって受信したパケットを送信する機能を有する。
【００１５】
送信部１４は、伝送路に接続され、転送制御部１３から渡されたパケットを伝送路に送出する機能を有する。
【００１６】
トポロジ情報格納部１５は、リングネットワークシステム全体におけるノードの配置と伝送路の配線に関するトポロジ情報を格納する。このトポロジ情報には、リング状に接続される伝送路のほかに、２つのノード間を接続する伝送路によって構成される冗長経路に関する情報も含まれている。つまり、この発明では、従来では障害時にしか使用できない冗長経路も、通常時（障害時でないとき）に使用することができるようにトポロジ情報が構成されている。なお、このトポロジ情報は、リングネットワークシステムの管理者によって予め設定されていてもよいし、ノード間においてノードの配置に関する情報のやり取りを行って所定のタイミングで入手するようにしてもよい。
【００１７】
閉ループ検出部１６は、トポロジ情報格納部１５に格納されるトポロジ情報を用いてリングネットワークシステム内において所定の条件を満たす閉ループを検出する機能を有する。具体的には、リングネットワークシステムのうち、冗長経路を含まない閉ループと、１つの冗長経路または交差しない２つの冗長経路を含む閉ループであって該閉ループを構成するノード間に他の冗長経路が形成されていない閉ループと、を検出する。また、閉ループ検出部１６は、検出した閉ループについて、閉ループ経路を作成する機能を有する。
【００１８】
閉ループ情報格納部１７は、閉ループ検出部１６によって作成された閉ループ経路を閉ループ情報として格納する機能を有する。
【００１９】
転送コスト算出部１８は、自ノードからリングネットワークシステムを構成する他のノードまでの転送経路のうち、最もコストの低い転送経路を算出する機能を有する。この経路は、自ノードから閉ループ経路を構成する各ノードまでの転送コストを各閉ループ経路について算出し、この中からノードごとにコストが最小となる経路を選択することによって求められる。また、このとき、求められた経路にパケットを送信するための自ノードに接続された伝送路についても求められる。このようにして求められた転送経路とこの転送経路にパケットを送信するために使用される伝送路の組み合わせは、転送経路情報として転送経路情報格納部１２に格納される。
【００２０】
図２は、冗長経路を有するリングネットワークシステムの構成の一例を示す図である。この図２において、図１に示される構成を有する複数のノードａ〜ｋが伝送路２０１〜２１１によってリング状に接続され、閉ループのリングノードネットワークを構成している。また、このリングノードネットワークのノードｂとノードｉとの間と、ノードｄとノードｆとの間が、それぞれ伝送路で接続され、冗長経路（バイパス経路ともいう）３０１，３０２を構成している。リングネットワークシステムを構成するノードａ〜ｋは、図１の左回りおよび右回りに情報を送信することが可能である。また、冗長経路３０１，３０２は、リングノードネットワークを構成する伝送路２０１〜２１１の一部が断線などの障害が発生した場合に使用されるものではなく、通常時においても使用可能な状態にあるものとする。
【００２１】
つぎに、各ノードにおける冗長経路転送制御方法について、図２のリングネットワークシステムのノードａの場合を例に挙げて説明する。まず、ノードにおける初期化処理について説明する。図３は、閉ループ検出部１６による閉ループ検出の処理手順を示すフローチャートである。ノードａには図２に示される形態でノードが接続されたリングネットワークシステムに関するトポロジ情報が格納されているので、ノードａは、従来のリングネットワークと同様にリングノードネットワークの構成ノードであることを認識している。そのため、ノードａの閉ループ検出部１６は、最初にトポロジ情報に基づいて冗長経路を含まない閉ループであるリングノードネットワークを検出し（ステップＳ１１）、検出したリングノードネットワークによって作成される閉ループ経路を閉ループ情報格納部１７に格納する。すなわち、ノードａの閉ループ検出部１６は、自ノードａから出発し、自ノードａへ帰着するリングノードネットワーク４０１の閉ループ経路を作成する。図２に示される例では、ノードａから発信し、リングノードネットワーク４０１を図２の示すところの右回りに１周してノードａに着信する経路である、ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈ，ｉ，ｊ，ｋ，ａとなる経路と、ノードａから発信し、リングノードネットワーク４０１を図２の示すところの左回りに１周してノードａに着信する経路である、ａ，ｋ，ｊ，ｉ，ｈ，ｇ，ｆ，ｅ，ｄ，ｃ，ｂ，ａとなる経路とを作成する。図４は、閉ループ情報格納部１７に格納される閉ループ情報の一例を示す図である。このステップＳ１１で検出された２つの経路は、図４の行５０１，５０２に示されている。
【００２２】
また、ノードａの閉ループ検出部１６は、１つの冗長経路または交差しない２つの冗長経路を含む閉ループであって、該閉ループを構成するノード間に他の冗長経路が形成されていない閉ループを検出し、検出した閉ループから閉ループ経路を作成する（ステップＳ１２）。作成された閉ループ経路は閉ループ情報として閉ループ情報格納部１７に格納される。このとき、自ノードを含まない閉ループ経路の作成は、冗長経路の構成ノードの１つを起点とし、その冗長経路の構成ノードの他の１つを終点とする閉ループ経路を作成する。また、リングネットワークシステム内に交差する冗長経路が含まれる場合には、その冗長経路を最初に通過（使用）する経路、すなわち起点をその冗長経路の構成ノードの１つとして、その冗長経路を経て作成される閉ループ経路も作成する。
【００２３】
図２に示される例では、最初にノードａの閉ループ検出部１６は、リングノードネットワーク４０１の閉ループの右回りの経路から最初に現れる冗長経路３０１を構成するノードｂと、リングノードネットワーク４０１の閉ループの左回りの経路から最初に現れる冗長経路３０１を構成するノードｉとから、閉ループ４０２を検出する。そして、自ノードａから出発し、自ノードａへ帰着する閉ループ４０２の閉ループ経路を作成する。すなわち、ノードａから発信して、閉ループ４０２を右回りに１周してノードａに着信する経路である、ａ，ｂ，ｉ，ｊ，ｋ，ａとなる経路と、ノードａから出発し、閉ループ４０２を左回りに１周してノードａに着信する経路である、ａ，ｋ，ｊ，ｉ，ｂ，ａとなる経路が作成される。これらの閉ループ経路は、図４の行５０３，５０４に示されている。
【００２４】
また、ノードａの閉ループ検出部１６は、リングノードネットワーク４０１の閉ループの右回りの経路から２番目に現れる冗長経路３０２を構成するノードｄと、リングノードネットワーク４０１の閉ループの左回りの経路から２番目に現れる冗長経路３０２を構成するノードｆと、を検出し、上記閉ループ４０２の検出時に検出した冗長経路３０１と検出したノードｄ，ｆを結ぶ冗長経路３０２で構成される閉ループ４０３を検出する。そして、閉ループ４０２の検出時に検出している冗長経路３０１を構成するいずれかのノードを出発し、他方のノードへ帰着する閉ループ４０３の閉ループ経路を作成する。すなわち、ノードｂを発信して、閉ループ４０３を右回りでノードｉに着信する経路である、ｂ，ｃ，ｄ，ｆ，ｇ，ｈ，ｉとなる経路と、ノードｉを発信して、閉ループ４０３を左回りでノードｂに着信する経路である、ｉ，ｈ，ｇ，ｆ，ｄ，ｃ，ｂとなる経路が作成される。このように、自ノードを含まない閉ループの経路作成は、自ノードに近い冗長経路の構成ノードの１つを起点とし、その冗長経路の構成ノードの他の１つを終点とする閉ループを作成する。これらの閉ループ経路は、図４の行５０５，５０６に示されている。
【００２５】
さらに、ノードａの閉ループ検出部１６は、リングノードネットワーク４０１の閉ループの右回りの経路から３番目に現れる冗長経路を構成するノードの検出を行なうが、前に検出した冗長経路３０２を構成するノードｆを検出するため、新たに検出する冗長経路はないと判断し、冗長経路３０２を１つだけ使用して構成される閉ループ４０４を検出する。そして、冗長経路３０２を構成する一方のノードを発信し、他方のノードへ帰着する閉ループ４０４の閉ループ経路を作成する。すなわち、ノードｄを発信して、閉ループ４０４を右回りでノードｆに着信する経路である、ｄ，ｅ，ｆとなる経路と、ノードｆを発信して閉ループ４０４を左回りでノードｄに着信する経路である、ｆ，ｅ，ｄとなる経路が作成される。これらの閉ループ経路は、図４の行５０７，５０８に示されている。
【００２６】
つぎに、転送コスト算出部１８は、ステップＳ１２で検出された各閉ループ経路を基に、自ノードから各閉ループを構成するそれぞれのノードまでの転送コストを、それぞれの閉ループについて算出する（ステップＳ１３）。この例では、冗長経路を含まない閉ループ４０１における全ての隣り合うノード間の転送コストを右回り左回りともに１とする。また、冗長経路を介して隣り合う全てのノード間の転送コストも１とする。たとえば、ノードａから伝送路２０１を通ってノードｂまでの転送コストは１であり、逆にノードｂから伝送路２０１を通ってノードａまでの転送コストも１である。また、ノードｂから冗長経路３０１を通ってノードｉまでの転送コストも１であり、ノードｉから冗長経路３０１を通ってノードｂまでの転送コストも１である。さらに、この例における転送コストの算出は、従来ネットワークの転送コストの算出で多く用いられているように、ノード間を転送される度にコストを加算していくこととする。
【００２７】
図５は、閉ループ毎に算出した転送コストを示す図である。この図において、「各閉ループの転送コスト」は、自ノードａから各閉ループに関して経由するノードについての転送コストを示しており、「送信する伝送路」は、上記ノードに情報を送信（転送）するためには、自ノードに接続される伝送路のうちどの伝送路を使用してパケットの情報を送信するかを示している。したがって、この図５においては、「送信する伝送路」に示される伝送路によって自ノードからパケットが送信された場合の転送コストが示されている。
【００２８】
以下、各行に示される内容について説明する。図５の行６０１に示される“閉ループ４０２右回り”のコストは、図４の行５０３に示される閉ループ経路の順に情報を送信した場合の転送コストである。この“閉ループ４０２右回り”の経路には、自ノードａが含まれているので、コスト０の起点に自ノードを示す“ａ”を設定して、図４の行５０３に示される経路が入力される。閉ループ４０２の右回りの経路は、図２に示されるように、自ノードａから伝送路２０１を経てノードｂへと至るので、「送信する伝送路」には“伝送路２０１”が入力される。この図５の行６０１に示されるように、ノードａから右回りに閉ループ４０２を構成するノードへ送信する場合のコストは、ノードｂまでは“１”であり、ノードｉまでは“２”であり、ノードｊまでは“３”であり、ノードｋまでは“４”であることが示されている。
【００２９】
行６０２に示される“閉ループ４０２左回り”のコストは、図４の行５０４に示される閉ループ経路の順に情報を送信した場合の転送コストである。この“閉ループ４０２左回り”の経路にも、自ノードａが含まれているので、閉ループ４０２右回りと同様に、コスト０の起点に自ノードを示す“ａ”を設定して、図４の行５０４に示される経路が入力される。この場合、自ノードａから伝送路２１１経てノードｋへと至るので、「送信する伝送路」には“伝送路２１１”が入力される。その他は、行６０１と同様であるので詳細な説明を省略する。
【００３０】
行６０３に示される“閉ループ４０３右回り”のコストは、図４の行５０５に従ってノードｂを起点として算出した転送コストである。ここで、起点であるノードｂまでの転送コストは、行６０２ではコストが“４”であるのに対して行６０１ではコストが“１”であり、行６０１の“閉ループ４０２右回り”を利用した方がコストが低い。したがって、起点であるノードｂをコスト１の下に配置している。また、行６０１を使用することから、ノードａから伝送路２０１を経てノードｂへと至るので、「送信する伝送路」には“伝送路２０１”が入力される。なお、その他は、行６０１と同様であるので詳細な説明を省略する。
【００３１】
行６０４に示される“閉ループ４０３左回り”のコストは、図４の行５０６にしたがってノードｉを起点として算出した転送コストである。ここで、起点であるノードｉは、自ノードａからの転送コストの低い転送経路が行６０１，６０２から求められる結果、コスト２の下に配置される。その他は、行６０１と同様であるので詳細な説明を省略する。
【００３２】
行６０５に示される“閉ループ４０４右回り”のコストは、図４の行５０７に従ってノードｄを起点として算出した転送コストである。ここで、起点であるノードｄまでの転送コストは、行６０４ではコストが“６”であるのに対して行６０３ではコストが“３”であり、行６０３の“閉ループ４０３右回り”を利用した方がコストが低い。したがって、起点であるノードｄをコスト３の下に配置している。その他は、行６０１と同様であるので詳細な説明を省略する。
【００３３】
行６０６に示される“閉ループ４０４左回り”のコストは、図４の行５０８に従ってノードｆを起点として算出した転送コストである。ここで、起点であるノードｆまでの転送コストは、行６０４ではコストが“５”であるのに対して行６０３ではコストが“４”であり、行６０３の“閉ループ４０３右回り”を利用した方がコストが低い。したがって、起点であるノードｆをコスト４の下に配置している。その他は、行６０１と同様であるので詳細な説明を省略する。
【００３４】
つぎに、ノードａの転送コスト算出部１８は、図５に示した各閉ループの転送コストから、リングネットワークシステムを構成するそれぞれのノードまで最小の転送コストとなる経路を検出する（ステップＳ１４）。自ノードａから各ノードまでの転送コストが最小となる経路は、図５に出現する各ノードのうち最も低い転送コストとなる位置を含む閉ループ経路を選択すればよい。ただし、宛先とするノードが閉ループ経路の起点となる場合は、宛先が起点となる閉ループの経路を選択経路から除く。たとえば、ノードｉは、行６０１〜６０４に表れるが、行６０４は“閉ループ４０３左回り”の起点となるので候補から除外すると、行６０１における転送コストが“２”で最小となる。したがって、ノードｉへ情報を転送する場合には、行６０１の“閉ループ４０２右回り”を用いて転送するように決定される。この場合、ノードａは、伝送路２０１を用いてノードｉにパケットを送信または転送することになる。その他のノードｂ〜ｈ，ｊ，ｋについても同様にして求められる。このようにして求められた経路は転送経路情報として転送経路情報格納部１２に格納される。
【００３５】
図６は、転送経路情報の一例を示す図である。行７０１〜７０６に示される転送経路情報の内容が、転送コスト算出部１８によって作成される。「各閉ループの転送コスト」は、各ノードに関して最小の転送コストとなる経路と、そのときの転送コストを示している。「送信する伝送路」に格納される内容は図５と同様であるので、その詳細な説明を省略する。なお、この図６において、行７０６に示される最小コストは、起点ノードのみしか存在しないため、ノードによって実行される送信伝送路選択処理では使用されない。以上によって、ノードによる初期化処理が終了する。
【００３６】
以上の処理は、各ノードａ〜ｋによるパケットの転送に先立って、それぞれのノードａ〜ｋで行われるものであり、これによって、各ノードａ〜ｋは、伝送路を介して送信されるパケットを転送することが可能な状態となる。また、このような初期化処理は、リングネットワークシステムを構築した直後や、その構成内容に変更が生じた場合に行われる。
【００３７】
つぎに、ノードにおけるパケットの送信処理と転送処理を含む冗長経路転送制御方法について説明する。パケットの送信処理においては、まず、ノードａの転送制御部１３は、転送経路情報格納部１２に格納される転送経路情報（図６）を使用して、パケットを発信するときに送信する伝送路を選択する。たとえば、ノードａが、ノードｇを宛て先とするパケットを発信する場合には、図６に示される転送経路情報においてノードｇまでの最小コストが示される行７０４を参照すると、送信すべき伝送路は“伝送路２０１”となっている。そのため、伝送路２０１に送信することでコスト“４”でノードｇにパケットを送信することを認識できる。したがって、ノードａの転送制御部１３は、送信部１４に接続される伝送路のうち伝送路２０１を選択して、ノードｇを宛て先とするパケットを送信し、パケットの送信処理を終了する。その他のノードｂ〜ｋにおいても、同様の手順でパケットを発信する。
【００３８】
なお、パケットの中継を行う転送処理についても、基本的に上述したパケットの送信処理と同様である。ただし、転送処理の場合には、受信部１１から受信したパケットについて、転送制御部１３が、パケットから取得した宛て先に、転送経路情報格納部１２に格納される転送経路情報を参照して最小コストで転送することができる経路を求め、その経路となる自ノードに接続される伝送路に送信部１４からパケットを送信する。
【００３９】
以上の説明では、図２に示されるようにリングネットワークシステムにおける冗長経路が交差しない場合を例に挙げたが、以下では、冗長経路が交差する場合の閉ループ検出処理と経路選択処理の具体例について説明する。
【００４０】
図７は、交差する冗長経路を有するリングネットワークシステムの構成の一例を示す図である。この図７に示されるように、７つのノードａ〜ｇがリング状に接続されたリングノードネットワークが形成され、そのうち、ノードｂとノードｆとの間、ノードｃとノードｇとの間、およびノードｄとノードｅとの間に伝送路が設けられて冗長経路３１１〜３１３が形成されている。このうち、冗長経路３１１と冗長経路３１２とが交差して設けられている。以下に、ノードａが初期化処理を実行する場合を例に挙げて説明する。
【００４１】
上述したように、ノードａの閉ループ検出部１６は、まず、冗長経路を含まない閉ループを検出し、そのつぎに１つの冗長経路または交差しない２つの冗長経路を含む閉ループであって該閉ループを構成するノード間に他の冗長経路を有さない閉ループを検出し、検出した閉ループから閉ループ経路を作成する。図８は、図７に示されるリングネットワークシステムから閉ループ検出部１６によって検出される閉ループ情報を示す図である。
【００４２】
まず、閉ループ検出部１６は、ノードａ〜ｇによって構成される冗長経路を含まない閉ループであるリングノードネットワーク４１１によって構成される右回りと左回りの閉ループ経路（行５１１，５１２）を検出する。つぎに、閉ループ検出部１６は、冗長経路３１１を含みノードａ，ｂ，ｆ，ｇからなる閉ループ４１２によって構成される右回りと左回りの閉ループ経路（行５１３，５１４）、冗長経路３１２を含みノードａ，ｂ，ｃ，ｇからなる閉ループ４１３によって構成される右回りと左回りの閉ループ経路（行５１５，５１６）と、冗長経路３１１，３１３を含みノードｂ，ｃ，ｄ，ｅ，ｆからなる閉ループ４１４によって構成される右回りと左回りの閉ループ経路（行５１７，５１８）と、冗長経路３１２，３１３を含みノードｃ，ｄ，ｅ，ｆ，ｇからなる閉ループ４１５によって構成される右回りと左回りの閉ループ経路（行５１９，５２０）と、冗長経路３１３とノードｄ，ｅからなる閉ループ４１６によって構成される右回りと左回りの閉ループ経路（行５２１，５２２）と、を作成する。
【００４３】
また、図７に示されるリングネットワークシステムは、交差する冗長経路を有しているので、交差する冗長経路３１１，３１２のいずれかを含む閉ループ４１２〜４１５について、この交差する冗長経路３１１，３１２を最初に通過（使用）する閉ループ経路も作成する。つまり、閉ループ検出部１６は、閉ループ４１２において、冗長経路３１１の構成ノードであるノードｂとノードｆをそれぞれ始点とし、冗長経路３１１を経て作成される閉ループ経路（行５２３，５２４）と、閉ループ４１３において、冗長経路３１２の構成ノードであるノードｃとノードｇをそれぞれ始点とし、冗長経路３１２を経て作成される閉ループ経路（行５２５，５２６）と、閉ループ４１４において、冗長経路３１１の構成ノードであるノードｆとノードｂをそれぞれ始点とし、冗長経路３１１を経て作成される閉ループ経路（行５２７，５２８）と、閉ループ４１５において、冗長経路３１２の構成ノードであるノードｇとノードｃをそれぞれ始点とし、冗長経路３１２を経て作成される閉ループ経路（行５２９，５３０）と、を作成する。
【００４４】
その後、転送コスト算出部１８は、図８に示される閉ループ経路を参照して、自ノードから各閉ループを構成するそれぞれのノードまでの転送コストを、それぞれの閉ループについて計算する。ここでも、上述した図２の例と同様に、冗長経路を含まない閉ループ４１１における全ての隣り合うノード間の転送コストを右回り左回りとも“１”とし、全ての冗長経路を介して隣り合うノード間の転送コストも“１”とする。図９は、図８に示される閉ループ経路について、それぞれの閉ループを構成するノードまでの転送コストを算出した結果を示す図である。
【００４５】
なお、この図９において、交差している閉ループの組合せでは、経路の起点が１つとなるので、図８の行５２３〜５３０の経路の転送コストは下記の組み合わせで算出している。行５２３の経路の転送コストは、閉ループ４１３から閉ループ４１２に切り替る場合についての転送コストを算出し、行５２４の転送コストは、閉ループ４１５から閉ループ４１２に切り替る場合についての転送コストを算出し、行５２５の転送コストは、閉ループ４１４から閉ループ４１３に切り替る場合についての転送コストを算出し、行５２６の転送コストは、閉ループ４１２から閉ループ４１３に切り替る場合についての転送コストを算出し、行５２７の転送コストは、閉ループ４１５から閉ループ４１４に切り替る場合についての転送コストを算出し、行５２８の転送コストは、閉ループ４１３から閉ループ４１４に切り替る場合についての転送コストを算出し、行５２９の転送コストは、閉ループ４１２から閉ループ４１５に切り替る場合についての転送コストを算出し、行５３０の転送コストは、閉ループ４１４から閉ループ４１５に切り替る場合についての転送コストを算出している。
【００４６】
そして、転送コスト算出部１８は、図９に示される各閉ループ経路における転送コストを用いて、自ノードからリングネットワークシステムを構成するそれぞれのノードまでの最小の転送コストとなる経路を検出する。図１０は、図９に示される閉ループ経路における転送コストから求めた、自ノードａから各ノードまでの最小の転送コストを検出した結果を示す図である。ここで、ノードａに関係した最初の経路は、閉ループ４１２または閉ループ４１３であり、図８の行５２４，５２５，５２７，５３０は、必ず閉ループ４１２または閉ループ４１３を経由した経路となるので、これらの行５２４，５２５，５２７，５３０のコストは最小転送コストが含まれる経路とはなりえない。そのため、この例ではこれらの閉ループ経路と転送コストを算出することとしているが、初めからこれらの経路については算出しなくともよい。また、図１０の行７１９，７２０，７２２，７２３，７２５，７２８は起点ノードのみしか存在しないため、冗長経路転送制御処理ではこれらは使用されない。
【００４７】
なお、上述した図１０の例では、行７１３〜７１５，７２４，７２７にノードｃが存在し、行７１５，７１７，７２７にノードｄが存在し、行７１６，７１８，７２６にノードｅが存在し、行７１１，７１２，７１８，７２１，７２６にノードｆが存在する。これは、ノードａを送信ノードとし、ノードｃ，ｄ，ｅ，ｆを着信ノードとした場合には、最小コストとなる経路がそれぞれ５，３，３，５通り存在することを示している。最小コストである経路であればどの経路を選択させてもよいが、冗長経路を使用しない経路を優先して選択するなどの閉ループ経路ごとに優先順位などの基準を予め設定し、この基準に基づいて転送制御部１３に転送経路を選択させるようにしてもよい。
【００４８】
以上のような処理が、リングネットワークシステムを構成する他の全てのノードｂ〜ｇによっても行われる。そして、以上のようにして求められた転送経路情報に基づいて、各ノードはパケットの送信または転送を行う。この場合のパケットの送信または転送の処理は、冗長経路が交差しないリングネットワークシステムのところで述べたものと同様であるので、その説明を省略する。
【００４９】
なお、上述した説明では、トポロジ情報を用いて閉ループを検出する例を示したが、他の手段によって予め閉ループと閉ループ経路が与えられていてもよい。この場合には、閉ループ検出部１６とトポロジ情報格納部１５は省略される。
【００５０】
この実施の形態１によれば、冗長経路を有するリングネットワークを構成する発信ノードまたは中継ノードは、冗長経路を含んだ閉ループを複数検出し、検出した閉ループを組み合わせて目的とするノードに送信するための最小の転送コストを算出し、着信ノードまでの転送経路を選択するようにしているので、通常時においても冗長経路を使用して、最小コストでパケットを目的とするノードに送信することができるという効果を有する。また、リングネットワークにおいて、複数の閉ループを検出しパケットの発信と中継の際に経路選択を行なうという、１つのリングネットワーク内の経路選択制御としているので、複数のリングネットワークを制御する場合に必要なリングＩＤなどの識別情報は不要となる。そのため、複数のリングネットワークを識別してノード情報を管理する必要がなくなるという効果を有する。さらに、冗長経路が交差する場合においても各閉ループ経路を検出し、各閉ループ経路における転送コストを算出し、パケットを自ノードからリングネットワークシステム内における各ノードまで送信する際の最小転送コストを算出することができる。
【００５１】
実施の形態２．
実施の形態１では、パケットの発信時または中継時に送信する伝送路を選択するようにしたものであるが、この実施の形態２では、パケットの発信ノード以外でかつ冗長経路を構成しない中継ノードにおけるパケットの転送制御方法について説明する。なお、ノードの構成は実施の形態１の図１と同様であるので、その詳細な説明を省略する。
【００５２】
実施の形態１では、全てのノードは、パケットを発信する場合と受信したパケットを転送（中継）する場合に、パケットの宛て先情報を取得して、初期化処理で作成した転送経路情報に基づいてそのパケット転送経路となる伝送路にパケットを送出する処理を行っていた。しかし、たとえば図２に示される冗長経路を有さないノードａ，ｃ，ｅ，ｇ，ｈ，ｊ，ｋは、２本の伝送路に接続されるのみである。そのため、一方の伝送路から送られてきたパケットは、他方の伝送路へと送出するのみである。そこで、この実施の形態２では、冗長経路を有さないノードにおいて、転送制御部１３は、受信部１１から受信したパケットを送信部１４から転送する際に、転送経路情報格納部１２に格納されている転送経路情報を参照することなく、受信した伝送路と異なる伝送路を選択して送信する機能をさらに備えるようにしている。
【００５３】
これは、パケットを発信するノードで選択された経路は、宛て先となる着信ノードまでの転送コストが最小となる経路であり、この経路上に存在する各中継ノードにおける経路選択でも同一の経路が選択されることに基づくものである。これにより、１つの閉ループを構成するそれぞれのノードは、閉ループの右回りの経路でリングネットワークシステム内で中継されているパケットを、冗長経路を構成するノードまで右回りの経路を構成する伝送路へと送信すればよく、また、閉ループの左回りの経路でリングネットワークシステム内で中継されているパケットを、冗長経路を構成するノードまで左回りの経路を構成している伝送路へと送信すればよい。その結果、冗長経路を有さないノードにおけるパケットの転送にかかる時間が短縮される。
【００５４】
なお、パケットを発信するノードと冗長経路を構成するノードについては、転送制御部１３が、パケット発信時またはパケット転送時に実施の形態１と同様にパケットを送信または転送する伝送路を選択し、この選択した伝送路からパケットを送出する。
【００５５】
この実施の形態２によれば、冗長経路を構成していないノードにおいて、パケット転送時の送信伝送路決定を、受信伝送路以外の伝送路へ送信するようにしたので、転送コスト情報を使用することなく、より簡素な判定で送信伝送路を決定することができるという効果を有する。
【００５６】
実施の形態３．
実施の形態１〜２では、冗長経路がリングネットワークを構成する２つのノード間を接続する１つの伝送路で構成されている場合の閉ループを検出するものであるが、この実施の形態３では、冗長経路が複数のノードと複数の伝送路で構成される場合について説明する。
【００５７】
図１１は、冗長経路を有するリングネットワークシステムの実施の形態３の構成の一例を示す図である。このリングネットワークシステムは、実施の形態１の図２のノードｄとノードｆを接続して構成される冗長経路３０２が、伝送路３０３とノードｌと伝送路３０４によって構成される点で異なる。具体的には、ノードｄとノードｆとの間にノードｌを配置し、ノードｄとノードｌとの間に伝送路３０３を接続し、ノードｌとノードｆとの間に伝送路３０４を接続した構成となっている。なお、その他の図２と同一の構成要素には、同一の符合を付してその説明を省略している。
【００５８】
このようなリングネットワークシステムに使用されるノードの構成は、実施の形態１の図１に示される構成と同様であるので、その説明を省略する。ただし、図１１のようなリングネットワークシステムの構成の場合には、各ノードの閉ループ検出部１６は、そのトポロジ情報から、伝送路３０３とノードｌと伝送３０４によって構成される冗長経路３０５を図２で示した１つの冗長経路３０２と見なして、実施の形態１〜２で示した方法と同様の手順で閉ループの検出および閉ループ経路の作成を行なう。すなわち、冗長経路を含まない閉ループを構成する２つのノード間が、１以上のノードと２以上の伝送路によって結ばれる場合には、各ノードは、その２つのノード間に配置されるノードと伝送路を１つの伝送路（冗長経路）とみなして処理を行うことを特徴とする。このとき、閉ループ検出部による閉ループ経路の検出（作成）は、１つの伝送路（冗長経路）とみなされた経路の両端のノードから開始してもよいが、１つの伝送路とみなされた経路の途中にあるノード（図１１の場合には、ノードｌ）から開始してはならない。
【００５９】
また、このようなリングネットワークシステムに使用される各ノードにおける最小の転送コストとなる経路を検出する初期化処理も、冗長経路を含まない閉ループを構成する２つのノード間に配置されるノードと伝送路を１つの冗長経路とみなして処理する点を除いて、基本的に図３に示されるフローチャートと同一の処理であるので、その説明を省略する。以下では、図１１に示されるノード構成を有するリングネットワークシステムにおけるノードａの初期化処理の具体例について説明する。
【００６０】
最初に、ノードａの閉ループ検出部１６は、冗長経路を含まない閉ループを検出し、そのつぎに１つの冗長経路または交差しない２つの冗長経路を含む閉ループであって、該閉ループを構成するノード間に他の冗長経路を有さない閉ループを検出し、閉ループ経路を作成する。ただし、この場合に、閉ループ検出部１６は、ノードｄとノードｆとの間の伝送路３０３とノードｌと伝送路３０４によって構成される経路を１つの冗長経路３０５とみなして処理を行う。
【００６１】
すなわち、ノードａの閉ループ検出部１６は、まず、ノードａ〜ｋによって構成される冗長経路を含まない閉ループであるリングノードネットワーク４０１と、冗長経路３０１を含みノードａ，ｂ，ｉ，ｊ，ｋからなる閉ループ４０２と、冗長経路３０１と、ノードｄ，ｌ，ｆと伝送路３０３，３０４とから構成される冗長経路とみなされる経路３０５を含みノードｂ，ｃ，ｄ，ｌ，ｆ，ｇ，ｈ，ｉからなる閉ループ４０３と、冗長経路とみなされる経路３０５を含みノードｄ，ｅ，ｆ，ｌからなる閉ループ４０４と、を検出する。そして、この検出した閉ループ４０１〜４０４から閉ループ経路を作成する。図１２は、図１１に示されるリングネットワークシステムから閉ループ検出部１６によって検出される閉ループ情報を示す図である。この図１２には、閉ループ４０１〜４０４の右回りと左回りの閉ループ経路がそれぞれ示されている。
【００６２】
つぎに、転送コスト算出部１８は、図１２に示される各閉ループ経路に基づいて、自ノードａから各閉ループを構成するそれぞれのノードｂ〜ｌまでの転送コストを、それぞれの閉ループについて算出する。ここでも、上述した実施の形態１の例と同様に、冗長経路を含まない閉ループ４０１における全ての隣り合うノード間の転送コストを右回り左回りともに“１”とし、冗長経路３０１を介して隣り合うノード間の転送コストも“１”とし、さらにノードｄとノードｆの間を結ぶ経路３０５における隣り合うノード間の転送コストも“１”とする。図１３は、図１２に示される閉ループ経路について、それぞれの閉ループを構成するノードまでの転送コストを算出した結果を示す図である。
【００６３】
そして、転送コスト算出部１８は、図１３に示される各閉ループ経路における転送コストを用いて、自ノードからリングネットワークシステムを構成するそれぞれのノードまでの最小転送コストとなる経路を検出する。具体的には、転送コスト算出部１８は、図１２に示される各閉ループ経路における転送コストから、最小転送コスト以外の転送コストを除くことによって、各ノードへの最小転送コストを作成する。図１４は、図１３に示される閉ループ経路における転送コストから求めた、自ノードから各ノードまでの最小の転送コストを検出した結果を示す図である。ただし、この図１４において、行７３４に示される「閉ループ４０４左回り」は、起点ノードのみしか存在しないため、冗長経路転送制御処理では使用しない。
【００６４】
以上説明したものと同様の処理が、ノードｂ〜ｌについても行われる。以後、各ノードａ〜ｌでは、検出した最小の転送コストとなる転送経路情報を用いてパケットの送信または転送を行う。この場合のパケットの送信または転送の方法は、上述した実施の形態１と同様であるので、その詳細な説明は省略する。なお、上述した図１４の例では、行７３１〜７３３にノードｆが存在する。これは、ノードａを送信ノードとし、ノードｆを着信ノードとする場合には、最小コストである経路が３通り存在することを示している。最小コストである経路であればどの経路を選択させてもよいが、冗長経路を使用しない経路を優先して選択するなどの基準を予め設定し、この基準に基づいて選択させるようにしてもよい。また、冗長経路を構成する伝送路を含まないノードａ，ｃ，ｅ，ｇ，ｈ，ｊ，ｋ，ｌについては、これらのノードがパケットの転送を行う中継ノードとなる場合においては、実施の形態２に示される方法によってパケットを転送するようにしてもよい。
【００６５】
なお、図１１では、冗長経路を含まない閉ループを構成する２つのノード間を結ぶ経路に１つのノードが存在する場合を例示したが、これに限られる趣旨ではなく、複数のノードが存在してもよい。
【００６６】
この実施の形態３によれば、冗長経路を含まない閉ループを構成する２つのノード間を結ぶ経路が、１以上のノードと２以上の伝送路によって構成される場合には、リングネットワークシステム上の各ノードは、閉ループの検出時に上記２つのノード間を結ぶ経路を１つの伝送路（冗長経路）とみなして閉ループの検出を行い、閉ループごとの閉ループ経路の検出を上記１つの伝送路（冗長経路）の両端のノードから開始するようにしたので、冗長経路が１以上のノードと複数の伝送路で構成される場合にも実施の形態１と同様の処理を行うことができる。
【００６７】
実施の形態４．
実施の形態１〜３では、転送コストは全ての通信で共通である場合を示したが、この実施の形態４では、リングネットワークシステムを利用する通信グループごとに転送コストが異なる場合について説明する。
【００６８】
図１５は、冗長経路を有するリングネットワークシステムの実施の形態４の構成の一例を示す図である。このリングネットワークシステムは、ノードａ〜ｅの５つのノードがリング状に伝送路によって接続され、このうちノードｂとノードｅとの間が伝送路で接続されて冗長経路３２１が構成されている。この実施の形態４では、リングネットワークシステムが、複数の通信グループによって、異なる転送コストで使用される。以下では、第１の通信グループと第２の通信グループの２つの通信グループがこのリングネットワークシステムを利用する場合を例に挙げて説明する。図１６は、リングネットワークシステムを構成する伝送路における各通信グループの転送コストを示す図である。すなわち、第１の通信グループでは、全ての伝送路を使用した場合の転送コストは“１”であるが、第２の通信グループでは、ノードａとノードｅとの間の伝送路を使用した場合の転送コストは“３”であり、ノードｃとノードｄとの間の伝送路を使用した場合の転送コストは“２”であり、その他の伝送路を使用した場合の転送コストは“１”である。
【００６９】
なお、このようなリングネットワークシステムで使用されるノードの構成は、実施の形態１の図１に示される構成と同様であるので、その説明を省略する。ただし、各ノードの転送コスト算出部１８は、リングネットワークを使用する通信グループごとに転送コストを算出する点が、実施の形態１〜３と異なる。そのため、転送経路情報格納部１２には、基本的にリングネットワークシステムを利用する通信グループの数だけ転送経路情報が格納される。このとき、転送経路情報は、通信グループと関連付けされる。
【００７０】
このようなリングネットワークシステムに使用される各ノードにおける最小の転送コストとなる経路を検出する初期化処理も、転送経路コストの算出処理がリングネットワークシステムを利用する通信グループごとに行われる点を除いて、実施の形態１の図３に示されるフローチャートと同様であるので、その説明を省略する。以下では、図１５に示されるノード構成を有するリングネットワークシステムを利用する２つの通信グループが、図１６に示される転送コストを設定した場合の初期化処理と冗長経路転送制御処理について説明する。なお、初期化処理については、ノードａが初期化処理を実行する場合を例に挙げる。
【００７１】
最初に、ノードａの閉ループ検出部１６は、冗長経路を含まない閉ループを検出し、そのつぎに１つの冗長経路または交差しない２つの冗長経路を含む閉ループであって、該閉ループを構成するノード間に他の冗長経路を有さない閉ループを検出し、閉ループ経路を作成する処理を行う。すなわち、ノードａの閉ループ検出部１６は、まず、ノードａ〜ｅによって構成される冗長経路を含まない閉ループであるリングノードネットワーク４２１と、冗長経路３２１を含みノードａ，ｂ，ｅからなる閉ループ４２２と、冗長経路３２１を含みノードｂ，ｃ，ｄ，ｅからなる閉ループ４２３と、を検出する。そして、この検出した閉ループ４２１〜４２３から閉ループ経路を作成する。具体的には、検出した閉ループ４２１〜４２３のそれぞれについて、右回りと左回りの閉ループ経路を作成する。図１７は、図１５に示されるリングネットワークシステムから閉ループ検出部によって検出される閉ループ情報を示す図である。この図１７には、閉ループ４２１〜４２３の右回りと左回りの閉ループ経路がそれぞれ示されている。
【００７２】
つぎに、転送コスト算出部１８は、図１７に示される各閉ループ経路と図１６の転送コストに基づいて、自ノードから各閉ループ経路を構成するそれぞれのノードまでの転送コストを、それぞれの閉ループ経路について通信グループごとに算出する処理を行う。図１８−１は、図１７に示される閉ループ経路について、それぞれの閉ループ経路を構成するノードまでの第１の通信グループによる転送コストを算出した結果を示す図であり、図１８−２は、図１７に示される閉ループ経路について、それぞれの閉ループを構成するノードまでの第２の通信グループによる転送コストを算出した結果を示す図である。これらの転送コストの算出処理は、実施の形態１で詳細に説明したので、その説明を省略する。
【００７３】
そして、転送コスト算出部１８は、図１８−１と図１８−２に示される通信グループごとの各閉ループ経路における転送コストを用いて、自ノードａからリングネットワークシステムを構成するそれぞれのノードｂ〜ｅまでの最小転送コストとなる経路を検出する。図１９−１は、図１８−１に示される第１の通信グループの閉ループ経路における転送コストから求めた、自ノードａから各ノードまでの最小の転送コストを検出した結果を示す図であり、図１９−２は、図１８−２に示される第２の通信グループの閉ループ経路における転送コストから求めた、自ノードａから各ノードまでの最小の転送コストを検出した結果を示す図である。これらの最小の転送コストを検出する処理は、実施の形態１で詳細に説明したので、その説明を省略する。なお、図１９−２において、行７５１は、起点ノードのみしか存在しないため、冗長経路転送制御処理における送信伝送路の選択では使用されない。このようにして、ノードａによって、パケットをリングネットワークシステム内のノードに送信する場合に通信グループごとに最小の転送コストとなる経路を求める初期化処理が行われる。このような初期化処理は、他のノードｂ〜ｅについても同様に行われる。
【００７４】
つぎに、ノードにおけるパケットの送信処理について説明する。図２０は、ノードがパケットを送信（発信）する場合の動作処理手順を示すフローチャートである。なお、ここでは、発信するパケットの宛て先情報にはどの通信グループに属するパケットであるかを識別する通信グループ識別情報が格納されているものとする。まず、パケットを送信（発信）しようとするノードの転送制御部１３は、パケットの宛て先情報に格納されているどの通信グループ識別情報を抽出し、送信するパケットが属する通信グループを識別する（ステップＳ２１）。つぎに、転送制御部１３は、転送経路情報格納部１２から識別した通信グループと関連付けされている転送経路情報を選択する（ステップＳ２２）。そして、転送制御部１３は、パケットの宛て先に対応する経路を選択した転送経路情報から抽出し、この転送経路に対応する伝送路に対して送信部１４を介してパケットを送出する（ステップＳ２３）。以上でノードにおけるパケットの送信処理が終了する。
【００７５】
たとえば、ノードａが、第１の通信グループに属するパケットをノードｄに対して発信する場合には、ノードａの転送制御部１３は転送経路情報格納部１２に格納されている第１の通信グループに関する転送経路情報（図１９−１）を参照して、行７４１の経路を選択する。この行７４１には、パケットを送信する伝送路として“伝送路２３５”が格納されているので、転送制御部１３はパケットを伝送路２３５に送出する処理を行う。これにより、第１の通信グループに属する場合のパケットの場合には、転送コスト“２”でノードａからノードｄにパケットを送信することができる。
【００７６】
また、たとえば、ノードａが第２の通信グループに属するパケットをノードｄに対して発信する場合には、ノードａの転送制御部１３は、図１９−２に示される第２の通信グループに関する転送経路情報を参照して、行７５２を選択する。この行７５２には、パケットを送信する伝送路として“伝送路２３１”が格納されているので、転送制御部１３はパケットを伝送路２３１に送出する処理を行う。これにより、第２の通信グループに属するパケットの場合には、転送コスト“３”でノードａからノードｄにパケットを送信することができる。
【００７７】
ノードにおけるパケットの転送処理については、送信（発信）するパケットが受信部１１から受信したパケットに変わるだけで、上述した図２０に示されるパケットの送信処理と同様の手順で実行される。
【００７８】
この実施の形態４によれば、通信グループごとに転送コストを変更するようにしたので、通信グループごとに異なった経路を使用してパケットを送信または転送することができる。また、転送コストを変えることによって、たとえば各伝送路にかかる負荷がほぼ均等となるようにするなど、転送経路を任意に変えることもできる。
【００７９】
実施の形態５．
実施の形態４では、通信グループによって転送コストを異ならせるようにしたが、この実施の形態５では、通信グループごとに使用できないノードと伝送路を指定する場合について説明する。
【００８０】
この実施の形態５の説明に使用するリングネットワークシステムは、実施の形態４で用いた図１５に示される構成を有するものとする。また、この実施の形態５では、リングネットワークシステムが、複数の通信グループによってそれぞれ所定の条件下で使用される。以下では、第３の通信グループと第４の通信グループの２つの通信グループがこのリングネットワークシステムを利用する場合を例に挙げて説明する。図２１は、第３の通信グループと第４の通信グループの転送コストとリングネットワークシステムの使用条件の詳細を示す図である。すなわち、第３と第４の通信グループの転送コストは、ノードａとノードｅとの間の伝送路２３５を使用した場合の転送コストは“３”であり、ノードｃとノードｄとの間の伝送路２３３を使用した場合の転送コストは“２”であり、その他の伝送路を使用した場合の転送コストは“１”である。また、第３の通信グループでは、リングネットワークシステムを構成する全てのノードを使用することができるが、第４の通信グループでは、ノードｂを使用してはならないという条件が課せられている。
【００８１】
なお、このようなリングネットワークシステムで使用されるノードの構成は、実施の形態１の図１に示される構成と同様であり、各ノードの転送コスト算出部１８は通信グループごとに転送コストを算出し、転送経路情報格納部１２には通信グループごとに関連付けされた転送経路情報が格納される点も実施の形態４と同様であるので、その説明を省略する。
【００８２】
このようなリングネットワークシステムに使用される各ノードにおける最小の転送コストとなる経路を検出する初期化処理も、通信グループごとに所定の条件を満たすように最小の転送コストとなる経路を検出する点を除いて、実施の形態１の図３に示されるフローチャートと同様であるので、その説明を省略する。以下では、図１５に示されるノード構成を有するリングネットワークシステムを利用する２つの通信グループが、図２１に示される条件の下で最小の転送コストとなる経路を検出する場合の初期化処理と転送制御処理について説明する。なお、初期化処理については、ノードａが初期化処理を実行する場合を例に挙げる。
【００８３】
最初に、ノードａの閉ループ検出部１６は、実施の形態４の場合と同様の手順で、冗長経路を含まない閉ループと、１つの冗長経路または交差しない２つの冗長経路を含む閉ループであって該閉ループを構成するノード間に他の冗長経路を有さない閉ループと、検出する処理を行い、検出した閉ループを用いて閉ループ経路を作成する。その結果、図１７に示される閉ループ情報が作成される。
【００８４】
つぎに、転送コスト算出部１８は、図１７に示される各閉ループ経路と図２１に示される各通信グループに与えられる条件に基づいて、自ノードから各閉ループを構成するそれぞれのノードまでの転送コストを、それぞれの閉ループについて通信グループごとに算出する処理を行う。第３の通信グループについての転送コストは、実施の形態４の第２の通信グループについての転送コストを求めた条件とまったく同じであるので、その結果は、図１８−２に示されるとおりである。
【００８５】
一方の第４の通信グループでは、図２１に示されるようにノードｂを使用することができないので、この条件を考慮した転送コストが転送コスト算出部１８によって算出される。そのため、閉ループ４２２の右回りの経路は、自ノードａのつぎがノードｂであるので、始点ノードａのみで経路は終了する。同様に、閉ループ４２２の左回りの経路は、ノードｅで経路が終了する。また、閉ループ４２３の右回りの経路においては、始点ノード自体がノードｂであるので経路を作成することはできない。閉ループ４２３の左回りの経路は、ノードｅから出発し、ノードｄを経てノードｃで経路が終了する。転送コスト算出部１８は、第４の通信グループに関しては、このような経路における転送コストを算出する。図２２は、図１７に示される閉ループ経路について、それぞれの閉ループを構成するノードまでの図２１に示される条件下における第４の通信グループによる転送コストを算出した結果を示す図である。
【００８６】
そして、転送コスト算出部１８は、図１８−２と図２２に示される通信グループごとの各閉ループ経路における転送コストを用いて、自ノードからリングネットワークシステムを構成するそれぞれのノードまでの最小の転送コストとなる経路を検出する。第３の通信グループについての最小の転送コストとなる経路は、実施の形態４の第２の通信グループと条件がまったく同じであるので、その結果は図１９−２に示されるとおりである。図２３は、図２１に示される第４の通信グループの閉ループ経路における転送コストから求めた、自ノードから各ノードまでの最小の転送コストを検出した結果を示す図である。この図２３に示されるように、第４の通信グループでは、図２１に示される「ノードｂは使用不可」という条件が満たされている。なお、図２３において、行７６１は、起点ノードのみしか存在しないため、冗長経路転送制御処理における送信伝送路の選択では使用されない。また、行７６２は、着信可能なノードが存在しないため、冗長経路転送制御処理における送信伝送路の選択では使用されない。
【００８７】
ノードにおけるパケットの送信処理と転送処理については、実施の形態４で説明した処理と同様であるので、その一般的な説明は省略し、図１５を用いた具体的な例についてのみ説明する。この場合にも、転送されるパケットの宛て先情報には、自パケットがどの通信グループに属するパケットであるのかを識別するための通信グループ識別情報が格納されている必要がある。ここでは、ノードａがノードｄ宛てのパケットを送信する場合を例に挙げて説明する。まず、第３の通信グループに属するパケットを送信する場合には、図１９−２の行７５２に示されるように、ノードａから、ノードｂ，ｅを経てノードｄに到達する。このときの転送コストは“３”である。一方、第４の通信グループに属するパケットを送信する場合には、図２３の行７６３に示されるようにノードａから、ノードｅを経てノードｄに到達する。このときの転送コストは“４”である。これらの通信グループによる結果の違いは、第４の通信グループに属するパケットでは、ノードｂを使用することができないので、転送コストの高い伝送路２３５を使用せざるを得ないことによるものである。
【００８８】
上述した説明では、１つの通信グループにおいて、ある１つのノードが使用できない場合を例に挙げたが、複数のノードが使用できないようにしてもよく、また複数の通信グループそれぞれにおいて、通信できないノードが複数あってもよい。また、通信グループによって制限される対象がノードではなく、伝送路としてもよい。使用できない伝送路を指定する場合には、指定された伝送路を通過する経路を除外して各閉ループの転送コストを作成すればよい。
【００８９】
この実施の形態５によれば、通信グループによって使用できないノードおよび／または伝送路を認識し、使用できないノードまたは使用できないノードを経由する経路を除外し、および／または使用できない伝送路または使用できない伝送路を通過する経路を除外して、転送コストを作成するようにしているので、リングネットワークシステムを利用する通信グループごとに異なった経路の使用を可能とすることができる。
【００９０】
実施の形態６．
実施の形態５では、通信グループによって使用できないノードおよび／または伝送路を認識し、使用できないノードまたは使用できないノードを経由する経路を除外し、および／または使用できない伝送路または使用できない伝送路を通過する経路を除外して、転送コストを作成したが、この実施の形態６では、リングネットワークシステムを構成するノードおよび／または伝送路に障害が発生した場合について説明する。
【００９１】
この実施の形態６の説明に使用するリングネットワークシステムは、実施の形態４で用いた図１５に示される構成を有するものとする。また、このリングネットワークシステムに使用されるノードの構成は、実施の形態５で説明したものと同様であるものとする。
【００９２】
つぎに、リングネットワークシステムに障害が発生した際の動作について説明する。実施の形態５では、使用できないノードまたは使用できない伝送路が、たとえばリングネットワークシステムの管理者などによって予め指定されるものであった。この実施の形態６では、障害が発生したノードを実施の形態５における使用できないノードとして、障害が発生したノードを除く全てのノードに対して設定し、障害の発生した伝送路を実施の形態５における使用できない伝送路として、全てのノードに対して設定し、実施の形態５で示した処理と同一の処理を行なう。すなわち、リングネットワークシステムを構成するノードまたは伝送路に障害が発生すると、障害が発生したノードまたは障害の発生により他のノードと孤立してしまったノードを除いたノードが、上記障害が発生したノードまたは伝送路を使用不可となるように設定して、初期化処理を実行する。なお、障害が発生したノードまたは伝送路の検出は、各ノードに公知の障害検出手段を備えるようにしてもよいし、リングネットワークシステムの管理者が異常を検出し、その結果をノードに設定するようにしてもよい。
【００９３】
障害が発生したノードまたは伝送路が各ノードに設定された後の送信処理や転送処理は、実施の形態５において説明した処理と同様であるので、その説明を省略する。
【００９４】
この実施の形態６によれば、障害を認識した場合に障害ノードまたは障害ノードを経由する経路を除外し、および／または障害伝送路または障害伝送路を通過する経路を除外して、最小転送コストを作成するようにしているので、リングネットワークシステムを構成するノードまたは伝送路に障害が発生した場合にも、その障害を回避した最小転送コストとなる経路を新たに作成し直し、その結果に基づいて経路を選択することができる。
【産業上の利用可能性】
【００９５】
以上のように、この発明にかかる冗長経路を有するリングネットワークシステムは、障害発生時にしか使用することができないとされている冗長経路を有するリングネットワークシステムに有用である。
【図面の簡単な説明】
【００９６】
【図１】この発明によるリングネットワークシステムを構成する転送装置の概略構成を模式的に示すブロック図である。
【図２】冗長経路を有するリングネットワークシステムの構成の一例を示す図である。
【図３】閉ループ検出部による閉ループ検出の処理手順を示すフローチャートである。
【図４】閉ループ情報格納部に格納される閉ループ情報の一例を示す図である。
【図５】閉ループ毎に算出した転送コストを示す図である。
【図６】最小の転送コストである転送経路情報の一例を示す図である。
【図７】交差する冗長経路を有するリングネットワークシステムの構成の一例を示す図である。
【図８】図７のリングネットワークシステムから検出される閉ループ情報を示す図である。
【図９】図８の閉ループ経路について算出した転送コストを示す図である。
【図１０】図９の閉ループ経路における転送コストから求めたノードａから各ノードまでの最小の転送コストである転送経路情報を示す図である。
【図１１】冗長経路を有するリングネットワークシステムの実施の形態３の構成の一例を示す図である。
【図１２】図１１のリングネットワークシステムから検出される閉ループ情報を示す図である。
【図１３】図１２の閉ループ経路について算出した転送コストを示す図である。
【図１４】図１３の閉ループ経路における転送コストから求めたノードａから各ノードまでの最小の転送コストである転送経路情報を示す図である。
【図１５】冗長経路を有するリングネットワークシステムの実施の形態４の構成の一例を示す図である。
【図１６】リングネットワークシステムを構成する伝送路における各通信グループの転送コストを示す図である。
【図１７】図１５のリングネットワークシステムから検出される閉ループ情報を示す図である。
【図１８−１】図１７の閉ループ経路について算出した転送コストを示す図である。
【図１８−２】図１７の閉ループ経路について算出した転送コストを示す図である。
【図１９−１】図１８−１の閉ループ経路における転送コストから求めたノードａから各ノードまでの最小の転送コストである転送経路情報を示す図である。
【図１９−２】図１８−２の閉ループ経路における転送コストから求めたノードａから各ノードまでの最小の転送コストである転送経路情報を示す図である。
【図２０】ノードによるパケット送信の動作処理手順を示すフローチャートである。
【図２１】転送コストとリングネットワークシステムの使用条件の詳細を示す図である。
【図２２】図１７の閉ループ経路について図２１に示される条件下で算出した転送コストを示す図である。
【図２３】図２１の閉ループ経路における転送コストから求めたノードａから各ノードまでの最小の転送コストである転送経路情報を示す図である。
【符号の説明】
【００９７】
１  転送装置（ノード）
１１  受信部
１２  転送経路情報格納部
１３  転送制御部
１４  送信部
１５  トポロジ情報格納部
１６  閉ループ検出部
１７  閉ループ情報格納部
１８  転送コスト算出部
【図１】
2005260708.tif 000003
【図２】
2005260708.tif 000004
【図３】
2005260708.tif 000005
【図４】
2005260708.tif 000006
【図５】
2005260708.tif 000007
【図６】
2005260708.tif 000008
【図７】
2005260708.tif 000009
【図８】
2005260708.tif 000010
【図９】
2005260708.tif 000011
【図１０】
2005260708.tif 000012
【図１１】
2005260708.tif 000013
【図１２】
2005260708.tif 000014
【図１３】
2005260708.tif 000015
【図１４】
2005260708.tif 000016
【図１５】
2005260708.tif 000017
【図１６】
2005260708.tif 000018
【図１７】
2005260708.tif 000019
【図１８−１】
2005260708.tif 000020
【図１８−２】
2005260708.tif 000021
【図１９−１】
2005260708.tif 000022
【図１９−２】
2005260708.tif 000023
【図２０】
2005260708.tif 000024
【図２１】
2005260708.tif 000025
【図２２】
2005260708.tif 000026
【図２３】
2005260708.tif 000027