説明

ノード装置、ノード装置制御方法、及び、ノード装置制御プログラム

【課題】無駄に通信負荷が過大となることを回避可能なノード装置を提供すること。
【解決手段】ノード装置1000は、複数の他ノード装置とともにリング状に接続された複数のノード装置を構成する。ノード装置は、宛先特定情報と通信リンク特定情報とを対応付けたテーブルを記憶し(1001)、障害通信リンクに対する障害の発生が検出された(1003)場合、自ノード装置を特定するための送信元特定情報を含む変更用データを、障害通信リンク以外の通信リンクを介して、他ノード装置へ送信し(1004)、他ノード装置から受信された変更用データに含まれる送信元特定情報と同一の宛先特定情報と対応付けられている通信リンクと、変更用データを受信するために用いられた通信リンク(受信時通信リンク)と、が異なるとき、当該宛先特定情報と対応付けられる通信リンク特定情報を、受信時通信リンクの通信リンク特定情報に変更する(1005)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、リング状に接続された複数のノード装置を構成するノード装置に関する。
【背景技術】
【0002】
複数のノード装置がリング状に接続された通信システムが知られている。この種の通信システムの一つとして、非特許文献1に記載の通信システムにおいて、各ノード装置は、2つのノード装置のそれぞれと通信リンクを介して接続される。
【0003】
各ノード装置は、データの宛先を特定するための宛先特定情報と、当該データを転送するために用いられる通信リンクを特定するための通信リンク特定情報と、を対応付けたレコードを含む転送先テーブルを記憶する。
【0004】
各ノード装置は、データを受信した場合、当該データに含まれる宛先特定情報と転送先テーブルにて対応付けられている通信リンク特定情報を取得する。各ノード装置は、通信リンク特定情報が取得された場合、当該通信リンク特定情報により特定される通信リンクを介して、上記受信されたデータを転送する。
【0005】
一方、通信リンク特定情報が取得されなかった場合、各ノード装置は、2つの通信リンクのそれぞれを介して、上記受信されたデータを転送する(即ち、ブロードキャストする)。
【0006】
また、各ノード装置は、データを受信した場合、当該データに含まれる宛先特定情報と、当該データを受信するために用いられた通信リンクを特定するための通信リンク特定情報と、を対応付けたレコードを転送先テーブルに追加する。
【0007】
また、各ノード装置は、2つの通信リンクのそれぞれに対する障害の発生を検出する。各ノード装置は、ある通信リンク(障害通信リンク)に対する障害の発生を検出した場合、当該障害通信リンクを介した通信を禁止するとともに、障害の発生を表す障害発生通知を他のノード装置のそれぞれへ送信する。
【0008】
各ノード装置は、障害発生通知を受信した場合、転送先テーブルに含まれるすべてのレコードを削除する(即ち、転送先テーブルを消去する)。その後、各ノード装置は、データを受信した場合、上述したように、受信したデータに基づいて転送先テーブルにレコードを追加する。これにより、障害通信リンクを経由することなくデータが伝送されるように、各ノード装置が記憶する転送先テーブルが作成される。
【先行技術文献】
【非特許文献】
【0009】
【非特許文献1】ITU−T(International Telecommunication Union Telecommunication Standardization Sector) G.8032、ITU(International Telecommunication Union)、2008年6月
【発明の概要】
【発明が解決しようとする課題】
【0010】
ところで、データが伝送される経路の中には、障害の発生の前と、障害の発生の後と、の間で変化しない経路も存在する。しかしながら、上記ノード装置は、障害発生通知を受信した場合、そのような経路を表すレコードを含む、すべてのレコードを削除してしまう。その結果、データのブロードキャスト(フラッディング)が無駄に行われる。即ち、上記ノード装置においては、無駄に通信負荷が過大となってしまうという問題があった。
【0011】
このため、本発明の目的は、上述した課題である「無駄に通信負荷が過大となる場合が生じること」を解決することが可能なノード装置を提供することにある。
【課題を解決するための手段】
【0012】
かかる目的を達成するため本発明の一形態であるノード装置は、データを転送する装置である。
【0013】
更に、このノード装置は、
当該ノード装置である自ノード装置以外の複数の他ノード装置のうちの2つの他ノード装置と、2つの通信リンクによりそれぞれ接続されることにより、当該複数の他ノード装置とともに、リング状に接続された複数のノード装置を構成し、
上記データの宛先を特定するための宛先特定情報と、当該データを転送するために用いられる通信リンクを特定するための通信リンク特定情報と、を対応付けた転送先テーブルを記憶する転送先テーブル記憶手段と、
上記データが受信された場合、当該受信されたデータに含まれる上記宛先特定情報と上記転送先テーブルにて対応付けられている通信リンク特定情報により特定される通信リンクを介して当該データを転送するデータ転送手段と、
上記2つの通信リンクのそれぞれに対する障害の発生を検出する障害発生検出手段と、
上記2つの通信リンクの一方である障害通信リンクに対する障害の発生が検出された場合、上記自ノード装置を特定するための情報を、データの送信元を特定するための送信元特定情報として含むテーブル変更用データを、当該2つの通信リンクのうちの、当該障害通信リンク以外の通信リンクを介して、上記複数の他ノード装置のそれぞれへ送信するテーブル変更用データ送信手段と、
上記複数の他ノード装置のいずれかにより送信された上記テーブル変更用データが受信された場合において、当該受信されたテーブル変更用データに含まれる送信元特定情報と同一の宛先特定情報と上記転送先テーブルにて対応付けられている通信リンク特定情報により特定される通信リンクと、当該テーブル変更用データを受信するために用いられた通信リンクと、が異なるとき、当該転送先テーブルにて当該宛先特定情報と対応付けられる通信リンク特定情報を、当該テーブル変更用データを受信するために用いられた通信リンクを特定するための通信リンク特定情報に変更する転送先テーブル変更手段と、
を備える。
【0014】
また、本発明の他の形態であるノード装置制御方法は、データを転送するノード装置に適用される方法である。
【0015】
更に、上記ノード装置は、当該ノード装置である自ノード装置以外の複数の他ノード装置のうちの2つの他ノード装置と、2つの通信リンクによりそれぞれ接続されることにより、当該複数の他ノード装置とともに、リング状に接続された複数のノード装置を構成する。
【0016】
加えて、上記ノード装置制御方法は、
上記データの宛先を特定するための宛先特定情報と、当該データを転送するために用いられる通信リンクを特定するための通信リンク特定情報と、を対応付けた転送先テーブルを記憶し、
上記データが受信された場合、当該受信されたデータに含まれる上記宛先特定情報と上記転送先テーブルにて対応付けられている通信リンク特定情報により特定される通信リンクを介して当該データを転送し、
上記2つの通信リンクのそれぞれに対する障害の発生を検出し、
上記2つの通信リンクの一方である障害通信リンクに対する障害の発生が検出された場合、上記自ノード装置を特定するための情報を、データの送信元を特定するための送信元特定情報として含むテーブル変更用データを、当該2つの通信リンクのうちの、当該障害通信リンク以外の通信リンクを介して、上記複数の他ノード装置のそれぞれへ送信し、
上記複数の他ノード装置のいずれかにより送信された上記テーブル変更用データが受信された場合において、当該受信されたテーブル変更用データに含まれる送信元特定情報と同一の宛先特定情報と上記転送先テーブルにて対応付けられている通信リンク特定情報により特定される通信リンクと、当該テーブル変更用データを受信するために用いられた通信リンクと、が異なるとき、当該転送先テーブルにて当該宛先特定情報と対応付けられる通信リンク特定情報を、当該テーブル変更用データを受信するために用いられた通信リンクを特定するための通信リンク特定情報に変更する方法である。
【0017】
また、本発明の他の形態であるノード装置制御プログラムは、データを転送するノード装置に適用されるプログラムである。
【0018】
更に、上記ノード装置は、当該ノード装置である自ノード装置以外の複数の他ノード装置のうちの2つの他ノード装置と、2つの通信リンクによりそれぞれ接続されることにより、当該複数の他ノード装置とともに、リング状に接続された複数のノード装置を構成する。
【0019】
加えて、上記ノード装置制御プログラムは、上記ノード装置に、
上記データの宛先を特定するための宛先特定情報と、当該データを転送するために用いられる通信リンクを特定するための通信リンク特定情報と、を対応付けた転送先テーブルを記憶し、
上記データが受信された場合、当該受信されたデータに含まれる上記宛先特定情報と上記転送先テーブルにて対応付けられている通信リンク特定情報により特定される通信リンクを介して当該データを転送し、
上記2つの通信リンクのそれぞれに対する障害の発生を検出し、
上記2つの通信リンクの一方である障害通信リンクに対する障害の発生が検出された場合、上記自ノード装置を特定するための情報を、データの送信元を特定するための送信元特定情報として含むテーブル変更用データを、当該2つの通信リンクのうちの、当該障害通信リンク以外の通信リンクを介して、上記複数の他ノード装置のそれぞれへ送信し、
上記複数の他ノード装置のいずれかにより送信された上記テーブル変更用データが受信された場合において、当該受信されたテーブル変更用データに含まれる送信元特定情報と同一の宛先特定情報と上記転送先テーブルにて対応付けられている通信リンク特定情報により特定される通信リンクと、当該テーブル変更用データを受信するために用いられた通信リンクと、が異なるとき、当該転送先テーブルにて当該宛先特定情報と対応付けられる通信リンク特定情報を、当該テーブル変更用データを受信するために用いられた通信リンクを特定するための通信リンク特定情報に変更する、処理を実行させるためのプログラムである。
【発明の効果】
【0020】
本発明は、以上のように構成されることにより、無駄に通信負荷が過大となることを回避することができる。
【図面の簡単な説明】
【0021】
【図1】本発明の第1実施形態に係る通信システムの概略構成を表す図である。
【図2】本発明の第1実施形態に係るC−TAGフレームを概念的に示した説明図である。
【図3】本発明の第1実施形態に係るB−TAGフレームを概念的に示した説明図である。
【図4】本発明の第1実施形態に係るノード装置の機能を表すブロック図である。
【図5】本発明の第1実施形態に係るノード装置が実行する障害発生時処理を示したフローチャートである。
【図6】本発明の第1実施形態に係るノード装置が実行する障害発生通知受信時処理を示したフローチャートである。
【図7】本発明の第1実施形態に係るノード装置が実行するテーブル変更用データ受信時処理を示したフローチャートである。
【図8】本発明の第1実施形態に係るノード装置が実行する障害復旧時処理を示したフローチャートである。
【図9】本発明の第1実施形態に係るノード装置が実行する障害復旧通知受信時処理を示したフローチャートである。
【図10】本発明の第1実施形態に係る通信システムの、障害が発生する前の状態を概念的に示した説明図である。
【図11】本発明の第1実施形態に係る通信システムの、障害が発生した後の状態を概念的に示した説明図である。
【図12】本発明の第1実施形態の変形例に係る通信システムの概略構成を表す図である。
【図13】本発明の第2実施形態に係るノード装置の機能を表すブロック図である。
【発明を実施するための形態】
【0022】
以下、本発明に係る、ノード装置、ノード装置制御方法、及び、ノード装置制御プログラム、の各実施形態について図1〜図13を参照しながら説明する。
【0023】
<第1実施形態>
(構成)
図1に示したように、第1実施形態に係る通信システム1は、複数(本例では、4つ)のノード装置10A〜10Dを備える。本例では、複数のノード装置10A〜10Dのそれぞれは、データを転送するスイッチである。
【0024】
ノード装置10Aは、2つの通信ポート11A,12Aを備える。同様に、ノード装置10Bは、2つの通信ポート11B,12Bを備える。更に、ノード装置10Cは、2つの通信ポート11C,12Cを備える。また、ノード装置10Dは、2つの通信ポート11D,12Dを備える。
【0025】
複数のノード装置10A〜10Dは、リング状に接続されている。具体的には、複数のノード装置10A〜10Dのそれぞれは、他の2つのノード装置(2つの他ノード装置)のそれぞれと、通信リンクにより接続される。ここで、通信リンクは、2つのノード装置間の、データを伝送可能な接続であり、2つの通信ポートと1つの通信回線とにより構成される。
【0026】
なお、通信リンクは、IEEE(Institute of Electrical and Electronics Engineers) 802.3adにより規定されているリンク・アグリゲーションを用いることにより、複数の通信回線により構成されていてもよい。即ち、通信リンクは、仮想的な通信リンクであってもよい。
【0027】
本例では、ノード装置10A、及び、ノード装置10Bは、通信ポート12A、通信ポート12B、及び、通信回線31Aにより構成される通信リンク30Aにより接続される。同様に、ノード装置10B、及び、ノード装置10Cは、通信ポート11B、通信ポート12C、及び、通信回線31Bにより構成される通信リンク30Bにより接続される。
【0028】
更に、ノード装置10C、及び、ノード装置10Dは、通信ポート11C、通信ポート12D、及び、通信回線31Cにより構成される通信リンク30Cにより接続される。また、ノード装置10D、及び、ノード装置10Aは、通信ポート11D、通信ポート11A、及び、通信回線31Dにより構成される通信リンク30Dにより接続される。
【0029】
本例では、通信システム1は、ITU−T(International Telecommunication Union Telecommunication Standardization Sector) G.8032により規定されているイーサネット・リング(「イーサネット」は、登録商標である)を構成している。
【0030】
なお、通信システム1は、ITU−T G.8032以外の規格により規定されたリング型の通信システムであってもよい。
また、通信システム1は、IEEE(Institute of Electrical and Electronics Engineers) 802.1ahにより規定されるプロバイダ・バックボーン・ブリッジング網を構成している。
【0031】
また、ノード装置10Aは、アクセス網(本例では、プロバイダ・ブリッジ網)NWAに接続されている。アクセス網には、図示しないユーザ端末が接続されている。プロバイダ・ブリッジ網は、IEEE 802.1adにより規定される通信網である。
【0032】
更に、ノード装置10Bは、アクセス網NWBに接続されている。また、ノード装置10Cは、アクセス網NWCに接続されている。加えて、ノード装置10Dは、アクセス網NWDに接続されている。
【0033】
複数のノード装置10A〜10Dのそれぞれ(各ノード装置)は、自ノード装置に接続されているアクセス網を介して、ユーザ端末からデータ(ここでは、C−TAGフレーム)を受信する。
【0034】
C−TAGフレームは、図2に示したように、C−MAC(Customer Media Access Control) DA(Destination Address)と、C−MAC SA(Source Address)と、C−TAG(Customer VLAN Tag)と、DATAと、FCS(Frame Check Sequence)と、を含む。
【0035】
C−MAC DAは、6バイトの情報であり、ユーザ(カスタマ)VLANにおいて、C−TAGフレームの宛先を表すMACアドレスである。ユーザVLANは、各アクセス網NWA〜NWDに接続されているユーザ端末により構成される仮想的なLAN(VLAN;Virtual Local Area Network)である。
【0036】
C−MAC SAは、6バイトの情報であり、ユーザVLANにおいて、C−TAGフレームの送信元を表すMACアドレスである。C−TAGは、4バイトの情報であり、ユーザVLANを識別するためのVLAN識別情報である。
【0037】
DATAは、ペイロードとしての情報である。FCSは、4バイトの情報であり、C−TAGフレームの誤りを検出するための情報である。
【0038】
各ノード装置は、C−TAGフレームが受信された場合、C−TAGフレームに基づいて、B−TAGフレームを生成する。
【0039】
B−TAGフレームは、図3に示したように、B−MAC(Backbone Media Access Control) DAと、B−MAC SAと、B−TAGと、I−TAG(Service Instance Tag)と、S−TAG(Service VLAN Tag)と、C−TAGと、DATAと、FCSと、を含む。
【0040】
B−MAC DAは、6バイトの情報であり、バックボーンVLANにおいて、B−TAGフレームの宛先を表すMACアドレスである。バックボーンVLANは、複数のノード装置10A〜10Dにより構成されるVLANである。
【0041】
B−MAC SAは、6バイトの情報であり、バックボーンVLANにおいて、B−TAGフレームの送信元を表すMACアドレスである。B−TAGは、4バイトの情報であり、バックボーンVLANを識別するためのVLAN識別情報である。
【0042】
I−TAGは、18バイトの情報であり、C−MAC DA、及び、C−MAC SAを含む。S−TAGは、4バイトの情報であり、IEEE 802.1adにて規定される情報である。C−TAGは、4バイトの情報であり、ユーザVLANを識別するためのVLAN識別情報である。DATAは、ペイロードとしての情報である。FCSは、4バイトの情報であり、B−TAGフレームの誤りを検出するための情報である。
【0043】
各ノード装置は、生成されたB−TAGフレームを、自ノード装置と接続されているノード装置(接続ノード装置)へ転送する。
【0044】
また、各ノード装置は、接続ノード装置からB−TAGフレームを受信する。
各ノード装置は、B−TAGフレームが受信された場合において、B−TAGフレームに含まれる、B−MAC DA、及び、B−TAGにより特定される宛先が自ノード装置であるとき、当該B−TAGフレームをC−TAGフレームに変換する。そして、各ノード装置は、変換後のC−TAGフレームを、自ノード装置に接続されているアクセス網へ送信する。
【0045】
一方、各ノード装置は、B−TAGフレームが受信された場合において、B−TAGフレームに含まれる、B−MAC DA、及び、B−TAGにより特定される宛先が自ノード装置でないとき、当該B−TAGフレームを接続ノード装置へ転送する。
【0046】
このように、通信システム1は、複数のノード装置10A〜10Dの1つにより送信されたデータ(本例では、B−TAGフレーム)を、複数のノード装置10A〜10Dの他の1つへ伝送する。即ち、通信システム1は、複数のノード装置10A〜10Dのうちの任意の2つのノード装置間でデータを伝送する。
【0047】
(機能)
図4は、上記のように構成されたノード装置10Aの機能を表すブロック図である。ノード装置10Aの機能は、転送先テーブル記憶部(転送先テーブル記憶手段)21と、データ転送部(データ転送手段)22と、障害発生検出部(障害発生検出手段)23と、テーブル変更用データ送信部(テーブル変更用データ送信手段)24と、転送先テーブル変更部(転送先テーブル変更手段)25と、障害発生通知送信部(障害発生通知送信手段)26と、宛先特定情報記憶部(宛先特定情報記憶手段)27と、障害復旧通知送信部(障害復旧通知送信手段)28と、を含む。
【0048】
転送先テーブル記憶部21は、データの宛先を特定するための宛先特定情報と、当該データを転送するために用いられる通信リンクを特定するための通信リンク特定情報と、を対応付けたレコードを含む転送先テーブルを記憶する。本例では、データは、B−TAGフレームである。また、宛先特定情報は、B−MAC DA、及び、B−TAGである。更に、通信リンク特定情報は、通信ポートを識別するための通信ポート識別情報である。
【0049】
なお、宛先特定情報は、B−MAC DAのみであってもよい。また、宛先特定情報は、B−TAG、及び、C−TAGを含んでいてもよい。
【0050】
データ転送部22は、自ノード装置(ノード装置10A)により構成される、2つの通信リンク30A,30Dのそれぞれの状態を、通信許可状態、及び、通信禁止状態のいずれかに設定する。通信許可状態は、通信リンクを介した通信を許可する状態である。また、通信禁止状態は、通信リンクを介した通信を禁止(遮断)する状態である。
【0051】
データ転送部22は、2つの通信リンク30A,30Dの一方を介して、接続ノード装置からB−TAGフレームを受信する。データ転送部22は、B−TAGフレームを受信した場合、当該B−TAGフレームに含まれる、当該B−TAGフレームの送信元を特定するための送信元特定情報と、当該B−TAGフレームを受信するために用いられた通信リンクを特定するための通信リンク特定情報と、を取得する。本例では、送信元特定情報は、B−MAC SA、及び、B−TAGである。
【0052】
データ転送部22は、宛先特定情報としての、上記取得された送信元特定情報と、上記取得された通信リンク特定情報と、を対応付けたレコードを転送先テーブルに追加する。
【0053】
データ転送部22は、受信されたB−TAGフレームに含まれる宛先特定情報により特定されるB−TAGフレームの宛先が、自ノード装置である場合、当該B−TAGフレームをC−TAGフレームに変換する。データ転送部22は、変換後のC−TAGフレームを、自ノード装置に接続されているアクセス網NWAへ送信する。
【0054】
データ転送部22は、受信されたB−TAGフレームに含まれる宛先特定情報により特定されるB−TAGフレームの宛先が、自ノード装置でない場合、転送先テーブルにて当該宛先特定情報と対応付けられた通信リンク特定情報を取得する。
【0055】
データ転送部22は、通信リンク特定情報が取得された場合、当該通信リンク特定情報により特定される通信リンクを介して、上記B−TAGフレームを送信(転送)する。一方、データ転送部22は、通信リンク特定情報が取得されなかった場合、上記B−TAGフレームを、2つの通信リンク30A,30Dのそれぞれを介して送信(転送)する(即ち、ブロードキャストする)。
【0056】
更に、データ転送部22は、自ノード装置に接続されているアクセス網NWAを介して、ユーザ端末からC−TAGフレームを受信する。データ転送部22は、C−TAGフレームを受信した場合、C−TAGフレームに基づいて、B−TAGフレームを生成する。
【0057】
データ転送部22は、生成されたB−TAGフレームに含まれる宛先特定情報と、転送先テーブルにて対応付けられた通信リンク特定情報を取得する。データ転送部22は、通信リンク特定情報が取得された場合、当該通信リンク特定情報により特定される通信リンクを介して、上記B−TAGフレームを送信(転送)する。一方、データ転送部22は、通信リンク特定情報が取得されなかった場合、上記B−TAGフレームを、2つの通信リンク30A,30Dのそれぞれを介して送信(転送)する(即ち、ブロードキャストする)。
【0058】
障害発生検出部23は、自ノード装置としてのノード装置10Aが構成する、2つの通信リンク30A,30Dのそれぞれに対する、障害の発生を検出する。本例では、障害発生検出部23は、予め設定された障害検出周期が経過する毎に受信されるべき制御用データが、通信リンクを介して受信されなかった場合、当該通信リンクに対する障害の発生を検出する。
【0059】
本例では、障害は、通信が不能となることである。なお、障害は、データの誤り率(データの総量に対する、誤って受信されたデータの量の割合)が所定の基準値よりも高くなることであってもよい。この場合、障害発生検出部23は、データの誤り率が基準値よりも高い場合に障害の発生を検出するように構成されることが好適である。
【0060】
テーブル変更用データ送信部24は、自ノード装置により構成される、2つの通信リンク30A,30Dの一方である障害通信リンクに対する障害の発生が障害発生検出部23により検出された場合、テーブル変更用データを、2つの通信リンク30A,30Dのうちの、障害通信リンク以外の通信リンクを介して、複数の他ノード装置10B〜10Dのそれぞれへ送信する。
【0061】
ここで、テーブル変更用データは、自ノード装置10Aを特定するための情報を、当該テーブル変更用データの送信元を特定するための送信元特定情報として含む。本例では、送信元特定情報は、転送先テーブル記憶部21に記憶されている転送先テーブルにおける宛先特定情報に含まれるB−TAGと、B−MAC SAとしての、自ノード装置が有するMACアドレスと、を含む。
【0062】
転送先テーブル変更部25は、複数の他ノード装置10B〜10Dのいずれかにより送信されたテーブル変更用データを受信する。転送先テーブル変更部25は、当該テーブル変更用データを受信した場合、通信リンク判定処理を行う。
【0063】
通信リンク判定処理は、上記テーブル変更用データに含まれる送信元特定情報と同一の宛先特定情報と、転送先テーブル記憶部21に記憶されている転送先テーブルにて対応付けられている通信リンク特定情報により特定される通信リンクと、当該テーブル変更用データを受信するために用いられた通信リンクと、が一致するか否かを判定する処理である。
【0064】
具体的には、通信リンク判定処理は、テーブル内通信リンク特定情報と、受信時通信リンク特定情報と、が一致するか否かを判定する処理である。テーブル内通信リンク特定情報は、テーブル変更用データに含まれる送信元特定情報と同一の宛先特定情報と、転送先テーブル記憶部21に記憶されている転送先テーブルにて対応付けられている通信リンク特定情報である。受信時通信リンク特定情報は、テーブル変更用データを受信するために用いられた通信リンクを特定するための通信リンク特定情報である。
【0065】
転送先テーブル変更部25は、通信リンク判定処理にて、テーブル内通信リンク特定情報と、受信時通信リンク特定情報と、が異なると判定された場合、通信リンク不一致時変更処理を実行する。通信リンク不一致時変更処理は、テーブル変更用データに含まれる送信元特定情報と同一の宛先特定情報と、転送先テーブルにて対応付けられる通信リンク特定情報を、受信時通信リンク特定情報に変更(置換)する処理である。
【0066】
更に、転送先テーブル変更部25は、障害通信リンクに対する障害の発生が障害発生検出部23により検出された場合、障害発生時変更処理を実行する。障害発生時変更処理は、転送先テーブル記憶部21に記憶されている転送先テーブルにおける、上記障害通信リンクを特定するための通信リンク特定情報のすべてを、自ノード装置により構成される、2つの通信リンクのうちの、障害通信リンク以外の通信リンクを特定するための通信リンク特定情報に変更(置換)する処理である。
【0067】
障害発生通知送信部26は、障害通信リンクに対する障害の発生が障害発生検出部23により検出された場合、当該障害の発生を表す障害発生通知を、複数の他ノード装置10B〜10Dのそれぞれへ送信する。
【0068】
宛先特定情報記憶部27は、転送先テーブル変更部25により障害発生時変更処理が実行された場合、当該障害発生時変更処理において置換された通信リンク特定情報と、転送先テーブル記憶部21に記憶されている転送先テーブルにて対応付けられた宛先特定情報のすべてを記憶する。
【0069】
テーブル変更用データ送信部24は、障害発生検出部23により障害の発生が検出されていた障害通信リンクに対する障害の発生が検出されなくなった場合、テーブル変更用データを、当該障害通信リンク(障害の発生が検出されなくなった通信リンク)を介して、複数の他ノード装置10B〜10Dのそれぞれへ送信する。
【0070】
ここで、テーブル変更用データは、自ノード装置10Aを特定するための情報を、当該テーブル変更用データの送信元を特定するための送信元特定情報として含む。本例では、送信元特定情報は、転送先テーブル記憶部21に記憶されている転送先テーブルにおける宛先特定情報に含まれるB−TAGと、B−MAC SAとしての、自ノード装置が有するMACアドレスと、を含む。
【0071】
転送先テーブル変更部25は、障害発生検出部23により障害の発生が検出されていた障害通信リンクに対する障害の発生が検出されなくなった場合、障害復旧時変更処理を実行する。
【0072】
障害復旧時変更処理は、宛先特定情報記憶部27に記憶されている宛先特定情報のそれぞれと、転送先テーブル記憶部21に記憶されている転送先テーブルにて対応付けられた通信リンク特定情報を、上記障害通信リンクを特定するための通信リンク特定情報に置換する処理である。即ち、障害復旧時変更処理は、転送先テーブルにて宛先特定情報と対応付けられる通信リンク特定情報を、障害が発生する前の情報に戻す処理である、と言うことができる。
【0073】
障害復旧通知送信部28は、障害発生検出部23により障害の発生が検出されていた障害通信リンクに対する障害の発生が検出されなくなった場合、当該障害の復旧を表す障害復旧通知を、複数の他ノード装置10B〜10Dのそれぞれへ送信する。
【0074】
ところで、通信システム1においては、ノード装置10AがRPL(Ring Protection Link)オーナーとして設定されている。
【0075】
従って、データ転送部22は、自ノード装置がRPLオーナーとして設定されている場合、初期状態において、2つの通信リンクの一方であるブロック通信リンク(本例では、通信リンク30A)の状態を通信禁止状態に設定し、且つ、他方(本例では、通信リンク30D)の状態を通信許可状態に設定する。なお、データ転送部22は、自ノード装置がRPLオーナーとして設定されていない場合、初期状態において、2つの通信リンクのそれぞれ(両方)の状態を通信許可状態に設定する。
【0076】
更に、データ転送部22は、自ノード装置がRPLオーナーとして設定されている場合において、複数の他ノード装置10B〜10Dの任意の1つから、他ノード装置のみにより構成される通信リンクに対する障害の発生を表す障害発生通知を受信したとき、ブロック通信リンク(本例では、通信リンク30A)の状態を通信許可状態に設定する。
【0077】
加えて、データ転送部22は、自ノード装置がRPLオーナーとして設定されている場合において、複数の他ノード装置10B〜10Dの任意の1つから、他ノード装置のみにより構成される通信リンクに対する障害の復旧を表す障害復旧通知を受信したとき、ブロック通信リンク(本例では、通信リンク30A)の状態を通信禁止状態に設定する。
【0078】
また、データ転送部22は、障害通信リンクに対する障害の発生が障害発生検出部23により検出された場合、当該障害通信リンクの状態を通信禁止状態に設定する。更に、データ転送部22は、障害発生検出部23により障害の発生が検出されていた障害通信リンクに対する障害の発生が検出されなくなった場合、当該障害通信リンクの状態を通信許可状態に設定する。
【0079】
なお、ノード装置10B〜10Dのそれぞれも、ノード装置10Aと同様の機能を有する。
【0080】
(作動)
次に、上述した通信システム1の作動について説明する。
具体的には、各ノード装置10A〜10Dは、図5に示した障害発生時処理、図6に示した障害発生通知受信時処理、図7に示したテーブル変更用データ受信時処理、図8に示した障害復旧時処理、及び、図9に示した障害復旧通知受信時処理、のそれぞれを、予め設定された実行周期が経過する毎に実行するようになっている。
【0081】
先ず、図10に示したように、いずれの通信リンクにおいても障害が発生していない場合を想定する。また、上述したように、ノード装置10Aは、RPLオーナーとして設定されている。更に、ノード装置10Aは、通信リンク30Aをブロック通信リンクとして設定(即ち、通信リンク30Aの状態を通信禁止状態に設定)している場合を想定する。
【0082】
加えて、通信システム1において、B−TAGフレームが伝送された結果、各ノード装置10A〜10Dが、図10に示した転送先テーブルを記憶している状態を想定する。
【0083】
具体的には、ノード装置10Aが記憶する転送先テーブルは、B−MACとしての「MACC」と、B−TAGとしての「TAG1」と、通信リンク特定情報としての「L#11」と、を対応付けたレコードを含む。更に、ノード装置10Aが記憶する転送先テーブルは、B−MACとしての「MACB」と、B−TAGとしての「TAG2」と、通信リンク特定情報としての「L#11」と、を対応付けたレコードを含む。
【0084】
ここで、「MACB」は、ノード装置10Bが有するMACアドレスである。また、「MACC」は、ノード装置10Cが有するMACアドレスである。また、ノード装置10Aに対する「L#11」は、通信リンク30Dを特定するための通信リンク特定情報である。なお、ノード装置10Aに対する「L#12」は、通信リンク30Aを特定するための通信リンク特定情報である。
【0085】
また、ノード装置10Bが記憶する転送先テーブルは、B−MACとしての「MACA」と、B−TAGとしての「TAG1」と、通信リンク特定情報としての「L#11」と、を対応付けたレコードを含む。更に、ノード装置10Bが記憶する転送先テーブルは、B−MACとしての「MACC」と、B−TAGとしての「TAG2」と、通信リンク特定情報としての「L#11」と、を対応付けたレコードを含む。
【0086】
ここで、「MACA」は、ノード装置10Aが有するMACアドレスである。また、ノード装置10Bに対する「L#11」は、通信リンク30Bを特定するための通信リンク特定情報である。なお、ノード装置10Bに対する「L#12」は、通信リンク30Aを特定するための通信リンク特定情報である。
【0087】
また、ノード装置10Cが記憶する転送先テーブルは、B−MACとしての「MACA」と、B−TAGとしての「TAG1」と、通信リンク特定情報としての「L#11」と、を対応付けたレコードを含む。更に、ノード装置10Cが記憶する転送先テーブルは、B−MACとしての「MACB」と、B−TAGとしての「TAG2」と、通信リンク特定情報としての「L#12」と、を対応付けたレコードを含む。
【0088】
ここで、ノード装置10Cに対する「L#11」は、通信リンク30Cを特定するための通信リンク特定情報である。また、ノード装置10Cに対する「L#12」は、通信リンク30Bを特定するための通信リンク特定情報である。
【0089】
また、ノード装置10Dが記憶する転送先テーブルは、B−MACとしての「MACC」と、B−TAGとしての「TAG1」と、通信リンク特定情報としての「L#12」と、を対応付けたレコードを含む。更に、ノード装置10Dが記憶する転送先テーブルは、B−MACとしての「MACB」と、B−TAGとしての「TAG2」と、通信リンク特定情報としての「L#12」と、を対応付けたレコードを含む。
【0090】
ここで、ノード装置10Dに対する「L#11」は、通信リンク30Dを特定するための通信リンク特定情報である。また、ノード装置10Dに対する「L#12」は、通信リンク30Cを特定するための通信リンク特定情報である。
【0091】
このような状態において、通信リンク30Bに対する障害が発生した場合を想定する。この場合、ノード装置10B及びノード装置10Cのそれぞれは、当該障害の発生を検出する。
【0092】
この時点にて、ノード装置10Bは、図5に示した障害発生時処理の実行を開始すると、障害の発生を検出したか否かを判定する(ステップS101)。上記仮定に従えば、ノード装置10Bは、「Yes」と判定してステップS102へ進み、障害の発生が検出された通信リンク(本例では、通信リンク30B)である障害通信リンク30Bの状態を通信禁止状態に設定する。
【0093】
次いで、ノード装置10Bは、障害通信リンク30Bに対する障害の発生を表す障害発生通知を、自ノード装置により構成される、2つの通信リンク30A,30Bのうちの、障害通信リンク30B以外の通信リンク30Aを介して送信する(ステップS103)。
【0094】
また、ノード装置10Cも、ノード装置10Bと同様にステップS101〜ステップS103の処理を実行する。従って、ノード装置10Cは、障害発生通知を、通信リンク30Cを介して送信する。ノード装置10Dは、ノード装置10Cから障害発生通知を受信する。
【0095】
ノード装置10Dは、図6に示した障害発生通知受信時処理の実行を開始すると、障害発生通知を受信したか否かを判定する(ステップS201)。上記仮定に従えば、ノード装置10Dは、「Yes」と判定してステップS202へ進み、自ノード装置がRPLオーナーとして設定されているか否かを判定する。
【0096】
そして、ノード装置10Dは、「No」と判定して、障害発生通知受信時処理の実行を終了する。更に、ノード装置10Dは、受信した障害発生通知をノード装置10Aへ送信する。
【0097】
そして、ノード装置10Aは、ノード装置10Dから障害発生通知を受信する。次いで、ノード装置10Aは、図6に示した障害発生通知受信時処理の実行を開始すると、ステップS201にて「Yes」と判定し、ステップS202にて「Yes」と判定する。そして、ノード装置10Aは、ステップS203へ進み、ブロック通信リンク30Aの状態を通信許可状態に設定する。
【0098】
一方、ノード装置10Bは、図5のステップS104へ進み、テーブル変更用データを、自ノード装置により構成される、2つの通信リンク30A,30Bのうちの、障害通信リンク30B以外の通信リンク(非障害通信リンク)30Aを介して送信する。
【0099】
具体的には、ノード装置10Bは、自ノード装置が記憶している転送先テーブルにおける、すべての宛先特定情報に含まれるB−TAGを取得する。
【0100】
そして、ノード装置10Bは、取得されたB−TAGのそれぞれに対して、当該B−TAGと、自ノード装置が有するMACアドレス「MACB」と、を含む送信元特定情報を含むテーブル変更用データを生成する。次いで、ノード装置10Bは、生成されたテーブル変更用データのそれぞれを、非障害通信リンク30Aを介して送信する。
【0101】
これにより、ノード装置10Aは、ノード装置10Bからテーブル変更用データを受信する。次いで、ノード装置10Aは、図7に示したテーブル変更用データ受信時処理の実行を開始すると、ステップS301にて、テーブル変更用データを受信したか否かを判定する。
【0102】
上記仮定に従えば、ノード装置10Aは、「Yes」と判定してステップS302へ進み、受信時通信リンク特定情報を取得する。本例では、ノード装置10Aは、受信時通信リンク特定情報として、通信リンク30Aを特定するための通信リンク特定情報「L#12」を取得する。
【0103】
次いで、ノード装置10Aは、ステップS303へ進み、テーブル内通信リンク特定情報を取得する。本例では、ノード装置10Aは、受信したテーブル変更用データに含まれる送信元特定情報(本例では、B−MACとしての「MACB」及びB−TAGとしての「TAG2」)と同一の宛先特定情報と、ノード装置10Aが記憶している転送先テーブルにて対応付けられている通信リンク特定情報「L#11」を、テーブル内通信リンク特定情報として取得する。
【0104】
そして、ノード装置10Aは、ステップS304にて、取得された受信時通信リンク特定情報と、取得されたテーブル内通信リンク特定情報と、が異なるか否かを判定する。上記仮定に従えば、ノード装置10Aは、「Yes」と判定してステップS305へ進み、通信リンク特定情報を変更する。
【0105】
具体的には、図11に示したように、ノード装置10Aは、ノード装置10Aが記憶している転送先テーブルにて、上記宛先特定情報(本例では、B−MACとしての「MACB」及びB−TAGとしての「TAG2」)と対応付けられている通信リンク特定情報「L#11」を、受信時通信リンク特定情報「L#12」に変更する。
【0106】
そして、ノード装置10Aは、テーブル変更用データ受信時処理の実行を終了する。更に、ノード装置10Aは、受信したテーブル変更用データをノード装置10Dへ送信する。
【0107】
これにより、ノード装置10Dは、ノード装置10Aからテーブル変更用データを受信する。次いで、ノード装置10Dは、ノード装置10Aと同様に、図7に示したテーブル変更用データ受信時処理を実行する。
【0108】
これにより、図11に示したように、ノード装置10Dは、ノード装置10Dが記憶している転送先テーブルにて、B−MACとしての「MACB」及びB−TAGとしての「TAG2」を含む宛先特定情報と対応付けられている通信リンク特定情報「L#12」を、受信時通信リンク特定情報「L#11」に変更する。
【0109】
同様に、ノード装置10Dは、受信したテーブル変更用データをノード装置10Cへ送信する。これにより、ノード装置10Cは、ノード装置10Dからテーブル変更用データを受信する。次いで、ノード装置10Cは、ノード装置10Aと同様に、図7に示したテーブル変更用データ受信時処理を実行する。
【0110】
これにより、図11に示したように、ノード装置10Cは、ノード装置10Cが記憶している転送先テーブルにて、B−MACとしての「MACB」及びB−TAGとしての「TAG2」を含む宛先特定情報と対応付けられている通信リンク特定情報「L#12」を、受信時通信リンク特定情報「L#11」に変更する。
【0111】
また、ノード装置10Cも、ノード装置10Bと同様にステップS104の処理を実行する。従って、ノード装置10Cは、テーブル変更用データを、通信リンク30Cを介して送信する。
【0112】
具体的には、ノード装置10Cは、自ノード装置が記憶している転送先テーブルにおける、すべての宛先特定情報に含まれるB−TAGを取得する。
【0113】
そして、ノード装置10Cは、取得されたB−TAGのそれぞれに対して、当該B−TAGと、自ノード装置が有するMACアドレス「MACC」と、を含む送信元特定情報を含むテーブル変更用データを生成する。次いで、ノード装置10Cは、生成されたテーブル変更用データのそれぞれを、非障害通信リンク30Cを介して送信する。
【0114】
これにより、ノード装置10Dは、ノード装置10Cからテーブル変更用データを受信する。次いで、ノード装置10Dは、図7に示したテーブル変更用データ受信時処理の実行を開始すると、ステップS301にて「Yes」と判定し、ステップS304にて「No」と判定する。
【0115】
従って、ノード装置10Dは、ノード装置10Dが記憶している転送先テーブルにて、B−MACとしての「MACC」及びB−TAGとしての「TAG1」を含む宛先特定情報と対応付けられている通信リンク特定情報「L#12」を変更することなく、テーブル変更用データ受信時処理の実行を終了する。
【0116】
同様に、ノード装置10Dは、受信したテーブル変更用データをノード装置10Aへ送信する。これにより、ノード装置10Aは、ノード装置10Dからテーブル変更用データを受信する。次いで、ノード装置10Aは、ノード装置10Dと同様に、図7に示したテーブル変更用データ受信時処理を実行する。
【0117】
ノード装置10Aは、ノード装置10Dと同様に、ノード装置10Aが記憶している転送先テーブルにて、B−MACとしての「MACC」及びB−TAGとしての「TAG1」を含む宛先特定情報と対応付けられている通信リンク特定情報「L#11」を変更しない。
【0118】
一方、ノード装置10Bは、図5のステップS105へ進み、ノード装置10Bが記憶している転送先テーブルにおける、障害通信リンク30Bを特定するための通信リンク特定情報「L#11」のすべてを、図11に示したように、非障害通信リンク30Aを特定するための通信リンク特定情報「L#12」に変更(置換)する。
【0119】
次いで、ノード装置10Bは、ステップS106へ進み、ステップS105にて置換された通信リンク特定情報と転送先テーブルにて対応付けられた(置換に係る)宛先特定情報を記憶する。
その後、ノード装置10Bは、障害発生時処理の実行を終了する。なお、ノード装置10Cも、ノード装置10Bと同様に、ステップS105〜ステップS106の処理を実行する。
【0120】
これによれば、障害通信リンク30Bに対して障害が発生した場合において、転送先テーブルを消去しなくても、障害通信リンク30Bを経由することなくデータが伝送されるように、各ノード装置10A〜10Dが記憶する転送先テーブルを変更することができる。この結果、無駄にフラッディングが行われることを回避することができる。即ち、上記ノード装置10A〜10Dによれば、無駄に通信負荷が過大となることを回避することができる。
【0121】
その後、障害通信リンク30Bに対する障害が復旧した場合を想定する。この場合、ノード装置10B及びノード装置10Cのそれぞれは、当該障害の発生を検出しなくなる。
【0122】
この時点にて、ノード装置10Bは、図8に示した障害復旧時処理の実行を開始すると、障害の発生が検出されなくなったか否かを判定する(ステップS401)。上記仮定に従えば、ノード装置10Bは、「Yes」と判定してステップS402へ進み、障害通信リンク30Bの状態を通信許可状態に設定する。
【0123】
次いで、ノード装置10Bは、障害通信リンク30Bに対する障害の復旧を表す障害復旧通知を、自ノード装置により構成される、2つの通信リンク30A,30Bのそれぞれを介して送信する(ステップS403)。
【0124】
また、ノード装置10Cも、ノード装置10Bと同様にステップS401〜ステップS403の処理を実行する。従って、ノード装置10Cは、障害復旧通知を、2つの通信リンク30B,30Cのそれぞれを介して送信する。
【0125】
これにより、ノード装置10Dは、ノード装置10Cから障害復旧通知を受信する。ノード装置10Dは、図9に示した障害復旧通知受信時処理の実行を開始すると、障害復旧通知を受信したか否かを判定する(ステップS501)。上記仮定に従えば、ノード装置10Dは、「Yes」と判定してステップS502へ進み、自ノード装置がRPLオーナーとして設定されているか否かを判定する。
【0126】
そして、ノード装置10Dは、「No」と判定して、障害復旧通知受信時処理の実行を終了する。更に、ノード装置10Dは、受信した障害復旧通知をノード装置10Aへ送信する。
【0127】
また、ノード装置10Aは、ノード装置10B及びノード装置10Dのそれぞれから障害復旧通知を受信する。次いで、ノード装置10Aは、図9に示した障害復旧通知受信時処理の実行を開始すると、ステップS501にて「Yes」と判定し、ステップS502にて「Yes」と判定する。そして、ノード装置10Aは、ステップS503へ進み、ブロック通信リンク30Aの状態を通信禁止状態に再び設定する。
【0128】
一方、ノード装置10Bは、図8のステップS504へ進み、テーブル変更用データを、障害が復旧した通信リンク30Bを介して送信する。
【0129】
具体的には、ノード装置10Bは、自ノード装置が記憶している転送先テーブルにおける、すべての宛先特定情報に含まれるB−TAGを取得する。
【0130】
そして、ノード装置10Bは、取得されたB−TAGのそれぞれに対して、当該B−TAGと、自ノード装置が有するMACアドレス「MACB」と、を含む送信元特定情報を含むテーブル変更用データを生成する。次いで、ノード装置10Bは、生成されたテーブル変更用データのそれぞれを、通信リンク30Bを介して送信する。
【0131】
これにより、ノード装置10Cは、ノード装置10Bからテーブル変更用データを受信する。次いで、ノード装置10Cは、図7に示したテーブル変更用データ受信時処理を実行する。
【0132】
これにより、図10に示したように、ノード装置10Cは、ノード装置10Cが記憶している転送先テーブルにて、B−MACとしての「MACB」及びB−TAGとしての「TAG2」を含む宛先特定情報と対応付けられている通信リンク特定情報「L#11」を、受信時通信リンク特定情報「L#12」に変更する。
【0133】
更に、ノード装置10Cは、受信したテーブル変更用データをノード装置10Dへ送信する。これにより、ノード装置10Dは、ノード装置10Cからテーブル変更用データを受信する。次いで、ノード装置10Dは、図7に示したテーブル変更用データ受信時処理を実行する。
【0134】
これにより、図10に示したように、ノード装置10Dは、ノード装置10Dが記憶している転送先テーブルにて、B−MACとしての「MACB」及びB−TAGとしての「TAG2」を含む宛先特定情報と対応付けられている通信リンク特定情報「L#11」を、受信時通信リンク特定情報「L#12」に変更する。
【0135】
更に、ノード装置10Dは、受信したテーブル変更用データをノード装置10Aへ送信する。これにより、ノード装置10Aは、ノード装置10Dからテーブル変更用データを受信する。次いで、ノード装置10Aは、図7に示したテーブル変更用データ受信時処理を実行する。
【0136】
これにより、図10に示したように、ノード装置10Aは、ノード装置10Aが記憶している転送先テーブルにて、B−MACとしての「MACB」及びB−TAGとしての「TAG2」を含む宛先特定情報と対応付けられている通信リンク特定情報「L#12」を、受信時通信リンク特定情報「L#11」に変更する。
【0137】
また、ノード装置10Cも、ノード装置10Bと同様にステップS404の処理を実行する。従って、ノード装置10Cは、テーブル変更用データを、通信リンク30Bを介して送信する。
【0138】
具体的には、ノード装置10Cは、自ノード装置が記憶している転送先テーブルにおける、すべての宛先特定情報に含まれるB−TAGを取得する。
【0139】
そして、ノード装置10Cは、取得されたB−TAGのそれぞれに対して、当該B−TAGと、自ノード装置が有するMACアドレス「MACC」と、を含む送信元特定情報を含むテーブル変更用データを生成する。次いで、ノード装置10Cは、生成されたテーブル変更用データのそれぞれを、通信リンク30Bを介して送信する。
【0140】
これにより、ノード装置10Bは、ノード装置10Cからテーブル変更用データを受信する。次いで、ノード装置10Bは、図7に示したテーブル変更用データ受信時処理を実行する。
【0141】
これにより、図10に示したように、ノード装置10Bは、ノード装置10Bが記憶している転送先テーブルにて、B−MACとしての「MACC」及びB−TAGとしての「TAG2」を含む宛先特定情報と対応付けられている通信リンク特定情報「L#12」を、受信時通信リンク特定情報「L#11」に変更する。
【0142】
一方、ノード装置10Bは、図8のステップS405へ進み、図5のステップS106にて記憶された宛先特定情報のそれぞれと、ノード装置10Bが記憶している転送先テーブルにて対応付けられた通信リンク特定情報を、図10に示したように、障害の発生が検出されなくなった通信リンク30Bを特定するための通信リンク特定情報「L#11」に置換する。本例では、図5のステップS106にて記憶された宛先特定情報は、B−MACとしての「MACA」及びB−TAGとしての「TAG1」と、B−MACとしての「MACC」及びB−TAGとしての「TAG2」と、を含む。
【0143】
次いで、ノード装置10Bは、障害復旧時処理の実行を終了する。なお、ノード装置10Cも、ノード装置10Bと同様に、ステップS405の処理を実行する。
【0144】
これによれば、障害通信リンク30Bに対する障害が復旧した場合において、転送先テーブルを消去しなくても、各ノード装置10A〜10Dが記憶する転送先テーブルを、障害が発生する前の状態に戻すことができる。この結果、無駄にフラッディングが行われることを回避することができる。即ち、上記ノード装置10A〜10Dによれば、無駄に通信負荷が過大となることを回避することができる。
【0145】
以上、説明したように、本発明の第1実施形態に係るノード装置10A〜10Dによれば、無駄に通信負荷が過大となることを回避することができる。
【0146】
なお、本発明に係るノード装置は、図12に示したような通信システム1Aに適用されてもよい。通信システム1Aは、第1実施形態に係る通信システム1に対して、ノード装置10E及びノード装置10Fを備える点で相違している。
【0147】
更に、通信システム1Aに係るノード装置10Aは、通信ポート13Aを備える。また、通信システム1Aに係るノード装置10Dは、通信ポート13Dを備える。ノード装置10Eは、2つの通信ポート11E,12Eを備える。ノード装置10Fは、2つの通信ポート11F,12Fを備える。
【0148】
第1実施形態に係る通信システム1と同様に、複数のノード装置10A〜10Dは、リング状に接続されている。更に、複数のノード装置10A,10E,10F,10Dも、リング状に接続されている。
【0149】
本例では、ノード装置10A、及び、ノード装置10Eは、通信ポート13A、通信ポート12E、及び、通信回線31Eにより構成される通信リンク30Eにより接続される。同様に、ノード装置10E、及び、ノード装置10Fは、通信ポート11E、通信ポート11F、及び、通信回線31Fにより構成される通信リンク30Fにより接続される。更に、ノード装置10F、及び、ノード装置10Dは、通信ポート12F、通信ポート13D、及び、通信回線31Gにより構成される通信リンク30Gにより接続される。
【0150】
このように構成された通信システム1Aも、第1実施形態に係る通信システム1と同様に作動する。従って、通信システム1Aも、通信システム1と同様の作用及び効果を奏することができる。
【0151】
<第2実施形態>
次に、本発明の第2実施形態に係るノード装置について図13を参照しながら説明する。
第2実施形態に係るノード装置1000は、データを転送する装置である。
【0152】
更に、このノード装置1000は、
当該ノード装置1000である自ノード装置以外の複数の他ノード装置のうちの2つの他ノード装置と、2つの通信リンクによりそれぞれ接続されることにより、当該複数の他ノード装置とともに、リング状に接続された複数のノード装置を構成し、
上記データの宛先を特定するための宛先特定情報と、当該データを転送するために用いられる通信リンクを特定するための通信リンク特定情報と、を対応付けた転送先テーブルを記憶する転送先テーブル記憶部(転送先テーブル記憶手段)1001と、
上記データが受信された場合、当該受信されたデータに含まれる上記宛先特定情報と上記転送先テーブルにて対応付けられている通信リンク特定情報により特定される通信リンクを介して当該データを転送するデータ転送部(転送するデータ転送手段)1002と、
上記2つの通信リンクのそれぞれに対する障害の発生を検出する障害発生検出部(障害発生検出手段)1003と、
上記2つの通信リンクの一方である障害通信リンクに対する障害の発生が検出された場合、上記自ノード装置を特定するための情報を、データの送信元を特定するための送信元特定情報として含むテーブル変更用データを、当該2つの通信リンクのうちの、当該障害通信リンク以外の通信リンクを介して、上記複数の他ノード装置のそれぞれへ送信するテーブル変更用データ送信部(テーブル変更用データ送信手段)1004と、
上記複数の他ノード装置のいずれかにより送信された上記テーブル変更用データが受信された場合において、当該受信されたテーブル変更用データに含まれる送信元特定情報と同一の宛先特定情報と上記転送先テーブルにて対応付けられている通信リンク特定情報により特定される通信リンクと、当該テーブル変更用データを受信するために用いられた通信リンクと、が異なるとき、当該転送先テーブルにて当該宛先特定情報と対応付けられる通信リンク特定情報を、当該テーブル変更用データを受信するために用いられた通信リンクを特定するための通信リンク特定情報に変更する転送先テーブル変更部(転送先テーブル変更手段)1005と、
を備える。
【0153】
これによれば、障害通信リンクに対して障害が発生した場合において、転送先テーブルを消去しなくても、障害通信リンクを経由することなくデータが伝送されるように、各ノード装置が記憶する転送先テーブルを変更することができる。この結果、無駄にフラッディングが行われることを回避することができる。即ち、上記ノード装置1000によれば、無駄に通信負荷が過大となることを回避することができる。
【0154】
以上、上記実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成及び詳細に、本願発明の範囲内において当業者が理解し得る様々な変更をすることができる。
【0155】
なお、上記各実施形態においてノード装置の各機能は、回路等のハードウェアにより実現されていた。ところで、ノード装置は、処理装置と、プログラム(ソフトウェア)を記憶する記憶装置と、を備えるとともに、処理装置がそのプログラムを実行することにより、各機能を実現するように構成されていてもよい。この場合、プログラムは、コンピュータが読み取り可能な記録媒体に記憶されていてもよい。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【0156】
また、上記実施形態の他の変形例として、上述した実施形態及び変形例の任意の組み合わせが採用されてもよい。
【0157】
<付記>
上記実施形態の一部又は全部は、以下の付記のように記載され得るが、以下には限られない。
【0158】
(付記1)
データを転送するノード装置であって、
当該ノード装置である自ノード装置以外の複数の他ノード装置のうちの2つの他ノード装置と、2つの通信リンクによりそれぞれ接続されることにより、当該複数の他ノード装置とともに、リング状に接続された複数のノード装置を構成し、
前記データの宛先を特定するための宛先特定情報と、当該データを転送するために用いられる通信リンクを特定するための通信リンク特定情報と、を対応付けた転送先テーブルを記憶する転送先テーブル記憶手段と、
前記データが受信された場合、当該受信されたデータに含まれる前記宛先特定情報と前記転送先テーブルにて対応付けられている通信リンク特定情報により特定される通信リンクを介して当該データを転送するデータ転送手段と、
前記2つの通信リンクのそれぞれに対する障害の発生を検出する障害発生検出手段と、
前記2つの通信リンクの一方である障害通信リンクに対する障害の発生が検出された場合、前記自ノード装置を特定するための情報を、データの送信元を特定するための送信元特定情報として含むテーブル変更用データを、当該2つの通信リンクのうちの、当該障害通信リンク以外の通信リンクを介して、前記複数の他ノード装置のそれぞれへ送信するテーブル変更用データ送信手段と、
前記複数の他ノード装置のいずれかにより送信された前記テーブル変更用データが受信された場合において、当該受信されたテーブル変更用データに含まれる送信元特定情報と同一の宛先特定情報と前記転送先テーブルにて対応付けられている通信リンク特定情報により特定される通信リンクと、当該テーブル変更用データを受信するために用いられた通信リンクと、が異なるとき、当該転送先テーブルにて当該宛先特定情報と対応付けられる通信リンク特定情報を、当該テーブル変更用データを受信するために用いられた通信リンクを特定するための通信リンク特定情報に変更する転送先テーブル変更手段と、
を備えるノード装置。
【0159】
これによれば、障害通信リンクに対して障害が発生した場合において、転送先テーブルを消去しなくても、障害通信リンクを経由することなくデータが伝送されるように、各ノード装置が記憶する転送先テーブルを変更することができる。この結果、無駄にフラッディングが行われることを回避することができる。即ち、上記ノード装置によれば、無駄に通信負荷が過大となることを回避することができる。
【0160】
(付記2)
付記1に記載のノード装置であって、
前記転送先テーブル変更手段は、前記障害通信リンクに対する障害の発生が検出された場合、前記転送先テーブルにおける、当該障害通信リンクを特定するための通信リンク特定情報のそれぞれを、前記2つの通信リンクのうちの、当該障害通信リンク以外の通信リンクを特定するための通信リンク特定情報に置換するように構成されたノード装置。
【0161】
(付記3)
付記1又は付記2に記載のノード装置であって、
前記テーブル変更用データ送信手段は、前記障害通信リンクに対する障害の発生が検出されなくなった場合、前記自ノード装置を特定するための情報を前記送信元特定情報として含むテーブル変更用データを、当該障害通信リンクを介して、前記複数の他ノード装置のそれぞれへ送信するように構成されたノード装置。
【0162】
これによれば、障害通信リンクに対する障害が復旧した場合において、転送先テーブルを消去しなくても、各ノード装置が記憶する転送先テーブルを、障害が発生する前の状態に戻すことができる。この結果、無駄にフラッディングが行われることを回避することができる。即ち、上記ノード装置によれば、無駄に通信負荷が過大となることを回避することができる。
【0163】
(付記4)
付記2に記載のノード装置であって、
前記置換された通信リンク特定情報と前記転送先テーブルにて対応付けられた宛先特定情報を記憶する宛先特定情報記憶手段を備え、
前記転送先テーブル変更手段は、前記障害通信リンクに対する障害の発生が検出されなくなった場合、前記記憶されている宛先特定情報のそれぞれと、前記転送先テーブルにて対応付けられた通信リンク特定情報を、当該障害通信リンクを特定するための通信リンク特定情報に置換するように構成されたノード装置。
【0164】
(付記5)
付記1乃至付記4のいずれかに記載のノード装置であって、
前記自ノード装置がRPL(Ring Protection Link)オーナーとして設定されている場合、前記2つの通信リンクの一方であるブロック通信リンクを介した通信を禁止するように構成され、
前記障害通信リンクに対する障害の発生が検出された場合、当該障害の発生を表す障害発生通知を、前記複数の他ノード装置のそれぞれへ送信する障害発生通知送信手段を備え、
前記自ノード装置が前記RPLオーナーとして設定されている場合において、前記複数の他ノード装置のいずれかにより送信された前記障害発生通知が受信されたとき、以後の時点において、前記ブロック通信リンクを介した通信を許可するように構成されたノード装置。
【0165】
(付記6)
付記5に記載のノード装置であって、
前記障害通信リンクに対する障害の発生が検出されなくなった場合、当該障害の復旧を表す障害復旧通知を、前記複数の他ノード装置のそれぞれへ送信する障害復旧通知送信手段を備え、
前記自ノード装置が前記RPLオーナーとして設定されている場合において、前記複数の他ノード装置のいずれかにより送信された前記障害復旧通知が受信されたとき、以後の時点において、前記ブロック通信リンクを介した通信を再び禁止するように構成されたノード装置。
【0166】
(付記7)
データを転送するノード装置に適用されるノード装置制御方法であって、
前記ノード装置は、当該ノード装置である自ノード装置以外の複数の他ノード装置のうちの2つの他ノード装置と、2つの通信リンクによりそれぞれ接続されることにより、当該複数の他ノード装置とともに、リング状に接続された複数のノード装置を構成し、
前記ノード装置制御方法は、
前記データの宛先を特定するための宛先特定情報と、当該データを転送するために用いられる通信リンクを特定するための通信リンク特定情報と、を対応付けた転送先テーブルを記憶し、
前記データが受信された場合、当該受信されたデータに含まれる前記宛先特定情報と前記転送先テーブルにて対応付けられている通信リンク特定情報により特定される通信リンクを介して当該データを転送し、
前記2つの通信リンクのそれぞれに対する障害の発生を検出し、
前記2つの通信リンクの一方である障害通信リンクに対する障害の発生が検出された場合、前記自ノード装置を特定するための情報を、データの送信元を特定するための送信元特定情報として含むテーブル変更用データを、当該2つの通信リンクのうちの、当該障害通信リンク以外の通信リンクを介して、前記複数の他ノード装置のそれぞれへ送信し、
前記複数の他ノード装置のいずれかにより送信された前記テーブル変更用データが受信された場合において、当該受信されたテーブル変更用データに含まれる送信元特定情報と同一の宛先特定情報と前記転送先テーブルにて対応付けられている通信リンク特定情報により特定される通信リンクと、当該テーブル変更用データを受信するために用いられた通信リンクと、が異なるとき、当該転送先テーブルにて当該宛先特定情報と対応付けられる通信リンク特定情報を、当該テーブル変更用データを受信するために用いられた通信リンクを特定するための通信リンク特定情報に変更する、ノード装置制御方法。
【0167】
(付記8)
付記7に記載のノード装置制御方法であって、
前記障害通信リンクに対する障害の発生が検出された場合、前記転送先テーブルにおける、当該障害通信リンクを特定するための通信リンク特定情報のそれぞれを、前記2つの通信リンクのうちの、当該障害通信リンク以外の通信リンクを特定するための通信リンク特定情報に置換するように構成されたノード装置制御方法。
【0168】
(付記9)
データを転送するノード装置に適用されるノード装置制御プログラムであって、
前記ノード装置は、当該ノード装置である自ノード装置以外の複数の他ノード装置のうちの2つの他ノード装置と、2つの通信リンクによりそれぞれ接続されることにより、当該複数の他ノード装置とともに、リング状に接続された複数のノード装置を構成し、
前記ノード装置制御プログラムは、前記ノード装置に、
前記データの宛先を特定するための宛先特定情報と、当該データを転送するために用いられる通信リンクを特定するための通信リンク特定情報と、を対応付けた転送先テーブルを記憶し、
前記データが受信された場合、当該受信されたデータに含まれる前記宛先特定情報と前記転送先テーブルにて対応付けられている通信リンク特定情報により特定される通信リンクを介して当該データを転送し、
前記2つの通信リンクのそれぞれに対する障害の発生を検出し、
前記2つの通信リンクの一方である障害通信リンクに対する障害の発生が検出された場合、前記自ノード装置を特定するための情報を、データの送信元を特定するための送信元特定情報として含むテーブル変更用データを、当該2つの通信リンクのうちの、当該障害通信リンク以外の通信リンクを介して、前記複数の他ノード装置のそれぞれへ送信し、
前記複数の他ノード装置のいずれかにより送信された前記テーブル変更用データが受信された場合において、当該受信されたテーブル変更用データに含まれる送信元特定情報と同一の宛先特定情報と前記転送先テーブルにて対応付けられている通信リンク特定情報により特定される通信リンクと、当該テーブル変更用データを受信するために用いられた通信リンクと、が異なるとき、当該転送先テーブルにて当該宛先特定情報と対応付けられる通信リンク特定情報を、当該テーブル変更用データを受信するために用いられた通信リンクを特定するための通信リンク特定情報に変更する、処理を実行させるためのノード装置制御プログラム。
【0169】
(付記10)
付記9に記載のノード装置制御プログラムであって、
前記障害通信リンクに対する障害の発生が検出された場合、前記転送先テーブルにおける、当該障害通信リンクを特定するための通信リンク特定情報のそれぞれを、前記2つの通信リンクのうちの、当該障害通信リンク以外の通信リンクを特定するための通信リンク特定情報に置換するように構成されたノード装置制御プログラム。
【産業上の利用可能性】
【0170】
本発明は、リング状に接続された複数のノード装置を構成するノード装置等に適用可能である。
【符号の説明】
【0171】
1 通信システム
10A〜10D ノード装置
11A〜11D,12A〜12D 通信ポート
21 転送先テーブル記憶部
22 データ転送部
23 障害発生検出部
24 テーブル変更用データ送信部
25 転送先テーブル変更部
26 障害発生通知送信部
27 宛先特定情報記憶部
28 障害復旧通知送信部
30A〜30D 通信リンク
31A〜31D 通信回線
NWA〜NWD アクセス網
1000 ノード装置
1001 転送先テーブル記憶部
1003 障害発生検出部
1004 テーブル変更用データ送信部
1005 転送先テーブル変更部

【特許請求の範囲】
【請求項1】
データを転送するノード装置であって、
当該ノード装置である自ノード装置以外の複数の他ノード装置のうちの2つの他ノード装置と、2つの通信リンクによりそれぞれ接続されることにより、当該複数の他ノード装置とともに、リング状に接続された複数のノード装置を構成し、
前記データの宛先を特定するための宛先特定情報と、当該データを転送するために用いられる通信リンクを特定するための通信リンク特定情報と、を対応付けた転送先テーブルを記憶する転送先テーブル記憶手段と、
前記データが受信された場合、当該受信されたデータに含まれる前記宛先特定情報と前記転送先テーブルにて対応付けられている通信リンク特定情報により特定される通信リンクを介して当該データを転送するデータ転送手段と、
前記2つの通信リンクのそれぞれに対する障害の発生を検出する障害発生検出手段と、
前記2つの通信リンクの一方である障害通信リンクに対する障害の発生が検出された場合、前記自ノード装置を特定するための情報を、データの送信元を特定するための送信元特定情報として含むテーブル変更用データを、当該2つの通信リンクのうちの、当該障害通信リンク以外の通信リンクを介して、前記複数の他ノード装置のそれぞれへ送信するテーブル変更用データ送信手段と、
前記複数の他ノード装置のいずれかにより送信された前記テーブル変更用データが受信された場合において、当該受信されたテーブル変更用データに含まれる送信元特定情報と同一の宛先特定情報と前記転送先テーブルにて対応付けられている通信リンク特定情報により特定される通信リンクと、当該テーブル変更用データを受信するために用いられた通信リンクと、が異なるとき、当該転送先テーブルにて当該宛先特定情報と対応付けられる通信リンク特定情報を、当該テーブル変更用データを受信するために用いられた通信リンクを特定するための通信リンク特定情報に変更する転送先テーブル変更手段と、
を備えるノード装置。
【請求項2】
請求項1に記載のノード装置であって、
前記転送先テーブル変更手段は、前記障害通信リンクに対する障害の発生が検出された場合、前記転送先テーブルにおける、当該障害通信リンクを特定するための通信リンク特定情報のそれぞれを、前記2つの通信リンクのうちの、当該障害通信リンク以外の通信リンクを特定するための通信リンク特定情報に置換するように構成されたノード装置。
【請求項3】
請求項1又は請求項2に記載のノード装置であって、
前記テーブル変更用データ送信手段は、前記障害通信リンクに対する障害の発生が検出されなくなった場合、前記自ノード装置を特定するための情報を前記送信元特定情報として含むテーブル変更用データを、当該障害通信リンクを介して、前記複数の他ノード装置のそれぞれへ送信するように構成されたノード装置。
【請求項4】
請求項2に記載のノード装置であって、
前記置換された通信リンク特定情報と前記転送先テーブルにて対応付けられた宛先特定情報を記憶する宛先特定情報記憶手段を備え、
前記転送先テーブル変更手段は、前記障害通信リンクに対する障害の発生が検出されなくなった場合、前記記憶されている宛先特定情報のそれぞれと、前記転送先テーブルにて対応付けられた通信リンク特定情報を、当該障害通信リンクを特定するための通信リンク特定情報に置換するように構成されたノード装置。
【請求項5】
請求項1乃至請求項4のいずれかに記載のノード装置であって、
前記自ノード装置がRPL(Ring Protection Link)オーナーとして設定されている場合、前記2つの通信リンクの一方であるブロック通信リンクを介した通信を禁止するように構成され、
前記障害通信リンクに対する障害の発生が検出された場合、当該障害の発生を表す障害発生通知を、前記複数の他ノード装置のそれぞれへ送信する障害発生通知送信手段を備え、
前記自ノード装置が前記RPLオーナーとして設定されている場合において、前記複数の他ノード装置のいずれかにより送信された前記障害発生通知が受信されたとき、以後の時点において、前記ブロック通信リンクを介した通信を許可するように構成されたノード装置。
【請求項6】
請求項5に記載のノード装置であって、
前記障害通信リンクに対する障害の発生が検出されなくなった場合、当該障害の復旧を表す障害復旧通知を、前記複数の他ノード装置のそれぞれへ送信する障害復旧通知送信手段を備え、
前記自ノード装置が前記RPLオーナーとして設定されている場合において、前記複数の他ノード装置のいずれかにより送信された前記障害復旧通知が受信されたとき、以後の時点において、前記ブロック通信リンクを介した通信を再び禁止するように構成されたノード装置。
【請求項7】
データを転送するノード装置に適用されるノード装置制御方法であって、
前記ノード装置は、当該ノード装置である自ノード装置以外の複数の他ノード装置のうちの2つの他ノード装置と、2つの通信リンクによりそれぞれ接続されることにより、当該複数の他ノード装置とともに、リング状に接続された複数のノード装置を構成し、
前記ノード装置制御方法は、
前記データの宛先を特定するための宛先特定情報と、当該データを転送するために用いられる通信リンクを特定するための通信リンク特定情報と、を対応付けた転送先テーブルを記憶し、
前記データが受信された場合、当該受信されたデータに含まれる前記宛先特定情報と前記転送先テーブルにて対応付けられている通信リンク特定情報により特定される通信リンクを介して当該データを転送し、
前記2つの通信リンクのそれぞれに対する障害の発生を検出し、
前記2つの通信リンクの一方である障害通信リンクに対する障害の発生が検出された場合、前記自ノード装置を特定するための情報を、データの送信元を特定するための送信元特定情報として含むテーブル変更用データを、当該2つの通信リンクのうちの、当該障害通信リンク以外の通信リンクを介して、前記複数の他ノード装置のそれぞれへ送信し、
前記複数の他ノード装置のいずれかにより送信された前記テーブル変更用データが受信された場合において、当該受信されたテーブル変更用データに含まれる送信元特定情報と同一の宛先特定情報と前記転送先テーブルにて対応付けられている通信リンク特定情報により特定される通信リンクと、当該テーブル変更用データを受信するために用いられた通信リンクと、が異なるとき、当該転送先テーブルにて当該宛先特定情報と対応付けられる通信リンク特定情報を、当該テーブル変更用データを受信するために用いられた通信リンクを特定するための通信リンク特定情報に変更する、ノード装置制御方法。
【請求項8】
請求項7に記載のノード装置制御方法であって、
前記障害通信リンクに対する障害の発生が検出された場合、前記転送先テーブルにおける、当該障害通信リンクを特定するための通信リンク特定情報のそれぞれを、前記2つの通信リンクのうちの、当該障害通信リンク以外の通信リンクを特定するための通信リンク特定情報に置換するように構成されたノード装置制御方法。
【請求項9】
データを転送するノード装置に適用されるノード装置制御プログラムであって、
前記ノード装置は、当該ノード装置である自ノード装置以外の複数の他ノード装置のうちの2つの他ノード装置と、2つの通信リンクによりそれぞれ接続されることにより、当該複数の他ノード装置とともに、リング状に接続された複数のノード装置を構成し、
前記ノード装置制御プログラムは、前記ノード装置に、
前記データの宛先を特定するための宛先特定情報と、当該データを転送するために用いられる通信リンクを特定するための通信リンク特定情報と、を対応付けた転送先テーブルを記憶し、
前記データが受信された場合、当該受信されたデータに含まれる前記宛先特定情報と前記転送先テーブルにて対応付けられている通信リンク特定情報により特定される通信リンクを介して当該データを転送し、
前記2つの通信リンクのそれぞれに対する障害の発生を検出し、
前記2つの通信リンクの一方である障害通信リンクに対する障害の発生が検出された場合、前記自ノード装置を特定するための情報を、データの送信元を特定するための送信元特定情報として含むテーブル変更用データを、当該2つの通信リンクのうちの、当該障害通信リンク以外の通信リンクを介して、前記複数の他ノード装置のそれぞれへ送信し、
前記複数の他ノード装置のいずれかにより送信された前記テーブル変更用データが受信された場合において、当該受信されたテーブル変更用データに含まれる送信元特定情報と同一の宛先特定情報と前記転送先テーブルにて対応付けられている通信リンク特定情報により特定される通信リンクと、当該テーブル変更用データを受信するために用いられた通信リンクと、が異なるとき、当該転送先テーブルにて当該宛先特定情報と対応付けられる通信リンク特定情報を、当該テーブル変更用データを受信するために用いられた通信リンクを特定するための通信リンク特定情報に変更する、処理を実行させるためのノード装置制御プログラム。
【請求項10】
請求項9に記載のノード装置制御プログラムであって、
前記障害通信リンクに対する障害の発生が検出された場合、前記転送先テーブルにおける、当該障害通信リンクを特定するための通信リンク特定情報のそれぞれを、前記2つの通信リンクのうちの、当該障害通信リンク以外の通信リンクを特定するための通信リンク特定情報に置換するように構成されたノード装置制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2013−46183(P2013−46183A)
【公開日】平成25年3月4日(2013.3.4)
【国際特許分類】
【出願番号】特願2011−182126(P2011−182126)
【出願日】平成23年8月24日(2011.8.24)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】