(57)【特許請求の範囲】
【請求項１】
互いに反対方向にパケットを転送する２つのリングレットによって複数のノードが接続されたパケットリングネットワークシステムであって、
同一のアドレスを有する２つのノードを組み合わせたノードの組である仮想冗長化ノードと、
同一の仮想冗長化ノードに含まれる２つのノードにそれぞれリンクを介して接続されるクライアント装置とを備え、
前記クライアント装置は、前記２つのノードにパケットを振り分けて送信し、前記パケットを振り分けて送信する際に、前記２つのノードのいずれか一方にのみ前記パケットが送信されることがないように、前記パケットを送信するノードを決定することを特徴とするパケットリングネットワークシステム。
【請求項２】
前記クライアント装置と前記２つのノードとの間に障害が発生しない場合に、前記クライアント装置が、前記２つのノードにパケットを振り分けて送信することを特徴とする請求項１に記載のパケットリングネットワークシステム。
【請求項３】
同一の仮想冗長化ノードに含まれる個々のノードは、
各リングレットに対応して、対応するリングレットからパケットを受信する受信部を２つ備え、
各クライアント装置のアドレスと、前記各クライアント装置に接続されるノードのアドレスとの対応関係を記憶するアドレス記憶部と、
クライアント装置にパケットを送信するクライアント装置向け送信部と、
前記受信部が受信したパケットの前記クライアント装置向け送信部への出力を許可または禁止するフィルタ部とを備えた請求項１に記載のパケットリングネットワークシステム。
【請求項４】
同一の仮想冗長化ノードに含まれる２つのノードにおける、同一のリングレットからパケットを受信する受信部のうち、
先にパケットを受信する受信部は、
ＴＴＬ値が０でないブロードキャスト制御パケットを受信した場合、ＴＴＬ値減算を行わずに、前記ブロードキャスト制御パケットを次のノードに向けて送信するとともに、受信したブロードキャスト制御パケットと同一のパケットを生成し、
自ノードのアドレスを宛先とするユニキャスト制御パケットを受信した場合、前記ユニキャスト制御パケットを次のノードに向けて送信するとともに、受信したユニキャスト制御パケットと同一のパケットを生成し、
後にパケットを受信する受信部は、
ＴＴＬ値が０でないブロードキャスト制御パケットを受信した場合、ＴＴＬ値を１減算し、前記ブロードキャスト制御パケットを次のノードに向けて送信するとともに、受信したブロードキャスト制御パケットと同一のパケットを生成し、
自ノードのアドレスを宛先とするユニキャスト制御パケットを受信した場合、当該ユニキャスト制御パケットをリングレットから取り出す請求項３に記載のパケットリングネットワークシステム。
【請求項５】
同一の仮想冗長化ノードに含まれる２つのノードにおける、同一のリングレットからパケットを受信する受信部のうち、
先にパケットを受信する受信部は、
ＴＴＬ値が０でないブロードキャストデータパケットを受信した場合、ＴＴＬ値減算を行わずに、前記ブロードキャストデータパケットを次のノードに向けて送信するとともに、受信したブロードキャストデータパケットと同一のパケットを生成し、
自ノードのアドレスを宛先とするユニキャストデータパケットを受信した場合、前記ユニキャストデータパケットを次のノードに向けて送信するとともに、受信したユニキャストデータパケットと同一のパケットを生成し、
後にパケットを受信する受信部は、
ＴＴＬ値が０でないブロードキャストデータパケットを受信した場合、ＴＴＬ値を１減算し、前記ブロードキャストデータパケットを次のノードに向けて送信するとともに、受信したブロードキャストデータパケットと同一のパケットを生成し、
自ノードのアドレスを宛先とするユニキャストデータパケットを受信した場合、当該ユニキャストデータパケットをリングレットから取り出す請求項３または請求項４に記載のパケットリングネットワークシステム。
【請求項６】
同一の仮想冗長化ノードに含まれる個々のノードが備える各記憶部は、同一ノード内の受信部が受信したブロードキャストデータパケットまたはユニキャストデータパケットと同一のパケットとして生成したパケット、またはリングレットから取り出したユニキャストデータパケットに基づいて、各クライアント装置のアドレスと、前記各クライアント装置に接続されるノードのアドレスとの対応関係を学習し、記憶する請求項５に記載のパケットリングネットワークシステム。
【請求項７】
同一の仮想冗長化ノードに含まれる２つのノードのうち、一のリングレットから先にパケットを受信するノードが備えるフィルタ部は、
前記一のリングレットから転送されてきたパケットのクライアント装置向け送信部への出力を許可し、他方のリングレットから転送されてきたパケットのクライアント装置向け送信部への出力を禁止し、
同一の仮想冗長化ノードに含まれる２つのノードのうち、他方のリングレットから先にパケットを受信するノードが備えるフィルタ部は、
前記他方のリングレットから転送されてきたパケットのクライアント装置向け送信部への出力を許可し、前記一のリングレットから転送されてきたパケットのクライアント装置向け送信部への出力を禁止する請求項３から請求項６のうちのいずれか１項に記載のパケットリングネットワークシステム。
【請求項８】
クライアント装置は、同一の仮想冗長化ノードに含まれる２つのノードとの間のリンクの一方に障害が発生した場合、障害が発生していない方のリンクによって接続されるノードに対してパケットを送信し、
同一の仮想冗長化ノードに含まれる各ノードのフィルタ部は、仮想冗長化ノードに含まれる他のノードとクライアント装置との間のリンクに障害が発生した場合に、どちらのリングレットから転送されてきたパケットであっても、クライアント装置向け送信部への出力を許可する請求項７に記載のパケットリングネットワークシステム。
【請求項９】
同一の仮想冗長化ノードに含まれる２つのノードのうち、一のリングレットから先にパケットを受信するノードは、他方のリングレットにパケットを多重して送信する多重化部と、
クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成するパケット生成部とを備え、
同一の仮想冗長化ノードに含まれる２つのノードのうち、前記他方のリングレットから先にパケットを受信するノードは、前記一のリングレットにパケットを多重して送信する多重化部と、
クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成するパケット生成部とを備え、
同一の仮想冗長化ノードに含まれる２つのノードのうち、前記一のリングレットから先にパケットを受信するノードは、
クライアント装置から受信したパケットに基づいて生成されたパケットが前記一のリングレットに送信すべきパケットである場合には他方のノードの多重化部に前記パケットを出力し、クライアント装置から受信したパケットに基づいて生成されたパケットが前記他方のリングレットに出力すべきパケットである場合には自ノードの多重化部に前記パケットを出力する出力先切替部を備え、
同一の仮想冗長化ノードに含まれる２つのノードのうち、前記他方のリングレットから先にパケットを受信するノードは、
クライアント装置から受信したパケットに基づいて生成されたパケットが前記他方のリングレットに送信すべきパケットである場合には他方のノードの多重化部に前記パケットを出力し、クライアント装置から受信したパケットに基づいて生成されたパケットが前記一のリングレットに出力すべきパケットである場合には自ノードの多重化部に前記パケットを出力する出力先切替部を備えた請求項１から請求項８のうちのいずれか１項に記載のパケットリングネットワークシステム。
【請求項１０】
同一の仮想冗長化ノードに含まれる個々のノードは、
一のリングレットにパケットを多重して送信する第１の多重化部と、
他方のリングレットにパケットを多重して送信する第２の多重化部と、
クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成するパケット生成部と、
クライアント装置から受信したパケットに基づいて生成されたパケットが前記一のリングレットに送信すべきパケットである場合には自ノード内の第１の多重化部に前記パケットを出力し、クライアント装置から受信したパケットに基づいて生成されたパケットが前記他方のリングレットに送信すべきパケットである場合には自ノード内の第２の多重化部に前記パケットを出力する出力先切替部を備えた請求項１から請求項８のうちのいずれか１項に記載のパケットリングネットワークシステム。
【請求項１１】
同一の仮想冗長化ノードに含まれる個々のノードは、
前記仮想冗長化ノードに含まれる他のノードから、自ノードのアドレスを送信元とするパケットを受信した場合に、前記パケットをそのまま次のノードに送信するパケット転送部を備えた請求項１０に記載のパケットリングネットワークシステム。
【請求項１２】
同一の仮想冗長化ノードに含まれる個々のノードのパケット転送部は、
前記仮想冗長化ノードに含まれる他のノードから、前記他のノードで生成されたブロードキャストパケットを受信した場合に、前記ブロードキャストパケットをそのまま次のノードに送信する請求項１１に記載のパケットリングネットワークシステム。
【請求項１３】
互いに反対方向にパケットを転送する２つのリングレットによって複数のノードが接続され、同一のアドレスを有する２つのノードを組み合わせたノードの組である仮想冗長化ノードを備えたパケットリングネットワークシステムに適用されるパケット転送方法であって、
同一の仮想冗長化ノードに含まれる２つのノードにそれぞれリンクを介して接続されるクライアント装置が、前記２つのノードにパケットを振り分けて送信し、前記パケットを振り分けて送信する際に、前記２つのノードのいずれか一方にのみ前記パケットが送信されることがないように、前記パケットを送信するノードを決定することを特徴とするパケット転送方法。
【請求項１４】
前記クライアント装置と前記２つのノードとの間に障害が発生しない場合に、前記クライアント装置が、前記２つのノードにパケットを振り分けて送信することを特徴とする請求項１３に記載のパケット転送方法。
【請求項１５】
同一の仮想冗長化ノードに含まれ、同一のリングレットからパケットを受信する２つのノードのうち、
先にパケットを受信するノードが、
ＴＴＬ値が０でないブロードキャスト制御パケットを受信した場合、ＴＴＬ値減算を行わずに、前記ブロードキャスト制御パケットを次のノードに向けて送信するとともに、受信したブロードキャスト制御パケットと同一のパケットを生成し、
自ノードのアドレスを宛先とするユニキャスト制御パケットを受信した場合、前記ユニキャスト制御パケットを次のノードに向けて送信するとともに、受信したユニキャスト制御パケットと同一のパケットを生成し、
後にパケットを受信するノードが、
ＴＴＬ値が０でないブロードキャスト制御パケットを受信した場合、ＴＴＬ値を１減算し、前記ブロードキャスト制御パケットを次のノードに向けて送信するとともに、受信したブロードキャスト制御パケットと同一のパケットを生成し、
自ノードのアドレスを宛先とするユニキャスト制御パケットを受信した場合、当該ユニキャスト制御パケットをリングレットから取り出す請求項１３に記載のパケット転送方法。
【請求項１６】
同一の仮想冗長化ノードに含まれ、同一のリングレットからパケットを受信する２つのノードのうち、
先にパケットを受信するノードが、
ＴＴＬ値が０でないブロードキャストデータパケットを受信した場合、ＴＴＬ値減算を行わずに、前記ブロードキャストデータパケットを次のノードに向けて送信するとともに、受信したブロードキャストデータパケットと同一のパケットを生成し、
自ノードのアドレスを宛先とするユニキャストデータパケットを受信した場合、前記ユニキャストデータパケットを次のノードに向けて送信するとともに、受信したユニキャストデータパケットと同一のパケットを生成し、
後にパケットを受信するノードが、
ＴＴＬ値が０でないブロードキャストデータパケットを受信した場合、ＴＴＬ値を１減算し、前記ブロードキャストデータパケットを次のノードに向けて送信するとともに、受信したブロードキャストデータパケットと同一のパケットを生成し、
自ノードのアドレスを宛先とするユニキャストデータパケットを受信した場合、当該ユニキャストデータパケットをリングレットから取り出す請求項１３または請求項１５に記載のパケット転送方法。
【請求項１７】
同一の仮想冗長化ノードに含まれる個々のノードが、
受信したブロードキャストデータパケットまたはユニキャストデータパケットと同一のパケットとして生成したパケット、またはリングレットから取り出したユニキャストデータパケットに基づいて、各クライアント装置のアドレスと、前記各クライアント装置に接続されるノードのアドレスとの対応関係を学習し、記憶する請求項１６に記載のパケット転送方法。
【請求項１８】
同一の仮想冗長化モードに含まれる２つのノードのうち、一のリングレットから先にパケットを受信するノードが、
クライアント装置にパケットを送信するクライアント装置向け送信部への、前記一のリングレットから転送されてきたパケットの出力を許可し、他方のリングレットから転送されてきたパケットのクライアント装置向け送信部への出力を禁止し、
同一の仮想冗長化モードに含まれる２つのノードのうち、他方のリングレットから先にパケットを受信するノードが、
前記他方のリングレットから転送されてきたパケットのクライアント装置向け送信部への出力を許可し、前記一のリングレットから転送されてきたパケットのクライアント装置送信部への出力を禁止する請求項１３から請求項１７のうちのいずれか１項に記載のパケット転送方法。
【請求項１９】
同一の仮想冗長化ノードに含まれる２つのノードとクライアント装置とを接続するリンクの一方に障害が発生した場合に、
クライアント装置が、障害が発生していない方のリンクによって接続されるノードに対してパケットを送信し、
クライアント装置との間のリンクに障害が発生していない方のノードが、どちらのリングレットから転送されてきたパケットであってもクライアント装置向け送信部への出力を許可する請求項１８に記載のパケット転送方法。
【請求項２０】
同一の仮想冗長化ノードに含まれる２つのノードのうち、一のリングレットから先にパケットを受信するノードが、
クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成し、
生成したパケットが前記一のリングレットに送信すべきパケットである場合には、他方のノードに前記パケットを出力して、当該他方のノードに前記パケットを送信させ、
生成したパケットが他方のリングレットに送信すべきパケットである場合には、前記パケットを自ノードから送信し、
同一の仮想冗長化ノードに含まれる２つのノードのうち、前記他方のリングレットから先にパケットを受信するノードが、
クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成し、
生成したパケットが前記他方のリングレットに送信すべきパケットである場合には、他方のノードに前記パケットを出力して、当該他方のノードに前記パケットを送信させ、
生成したパケットが前記一のリングレットに送信すべきパケットである場合には、前記パケットを自ノードから送信する請求項１３から請求項１９のうちのいずれか１項に記載のパケット転送方法。
【請求項２１】
同一の仮想冗長化ノードに含まれる個々のノードが、
クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成し、
生成したパケットが一のリングレットに送信すべきパケットである場合であっても、他方のリングレットに送信すべきパケットであっても、前記生成したパケットを自ノードから送信する請求項１３から請求項１９のうちのいずれか１項に記載のパケット転送方法。
【請求項２２】
同一の仮想冗長化ノードに含まれる個々のノードが、
前記仮想冗長化ノードに含まれる他のノードから、自ノードのアドレスを送信元とするパケットを受信した場合に、前記パケットをそのまま次のノードに送信する請求項２１に記載のパケット転送方法。
【請求項２３】
同一の仮想冗長化ノードに含まれる個々のノードが、
前記仮想冗長化ノードに含まれる他のノードから、前記他のノードで生成されたブロードキャストパケットを受信した場合に、前記ブロードキャストパケットをそのまま次のノードに送信する請求項２１または請求項２２に記載のパケット転送方法。
【請求項２４】
互いに反対方向にパケットを転送する２つのリングレットによって複数のノードが接続されたパケットリングネットワークシステムに適用されるノードであって、自ノードのみで単独のノードとして配置される第１使用態様、自ノードと同一のアドレスを有する他のノードとの組み合わされ、一のリングレットからのパケットを前記他のノードよりも先に受信するように配置される第２使用態様、または自ノードと同一のアドレスを有する他のノードとの組み合わされ、一のリングレットからのパケットを前記他のノードの次に受信するように配置される第３使用態様で使用されるノードにおいて、
一のリングレットからパケットを受信する第１受信部と、
他方のリングレットからパケットを受信する第２受信部と、
クライアント装置にパケットを送信するクライアント装置向け送信部と、
第１受信部または第２受信部が受信したパケットのクライアント装置向け送信部への出力を許可または禁止するフィルタ部とを備え、
第１受信部は、
第１使用態様の場合、所定の規格に従って、受信したパケットに応じた処理を実行し、
第２使用態様の場合、ＴＴＬ値が０でないブロードキャストパケットを受信したときに、ＴＴＬ値減算を行わずに、前記ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストパケットを受信したときに、前記ユニキャストパケットを次のノードに向けて送信するとともに、受信したユニキャストパケットと同一のパケットを生成し、
第３使用態様の場合、ＴＴＬ値が０でないブロードキャストパケットを受信したときに、ＴＴＬ値を１減算し、前記ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストデータパケットを受信したときに、当該ユニキャストデータパケットをリングレットから取り出し、
第２受信部は、
第１使用態様の場合、所定の規格に従って、受信したパケットに応じた処理を実行し、 第２使用態様の場合、ＴＴＬ値が０でないブロードキャストパケットを受信したときに、ＴＴＬ値を１減算し、前記ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストデータパケットを受信したときに、当該ユニキャストデータパケットをリングレットから取り出し、
第３使用態様の場合、ＴＴＬ値が０でないブロードキャストパケットを受信したときに、ＴＴＬ値減算を行わずに、前記ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストパケットを受信したときに、前記ユニキャストパケットを次のノードに向けて送信するとともに、受信したユニキャストパケットと同一のパケットを生成し、
フィルタ部は、
第１使用態様の場合、第１受信部と第２受信部の双方が受信したパケットのクライアント装置向け送信部への出力を許可し、
第２使用態様の場合、第１受信部が受信したパケットのクライアント装置向け送信部への出力を許可し、第２受信部が受信したパケットのクライアント装置向け送信部への出力を禁止し、
第３使用態様の場合、第１受信部が受信したパケットのクライアント装置向け送信部への出力を禁止し、第２受信部が受信したパケットのクライアント装置向け送信部への出力を許可することを特徴とするノード。
【請求項２５】
クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成するパケット生成部と、
少なくともパケット生成部に生成されたパケットを多重して一のリングレットに送信する第１多重化部と、
少なくともパケット生成部に生成されたパケットを多重して他方のリングレットに送信する第２多重化部と、
パケット生成部によって生成されたパケットを、自ノードまたは他のノードの第１多重化部または第２多重化部に出力する出力先切替部とを備え、
出力先切替部は、
第１使用態様の場合、パケット生成部に生成されたパケットを、送信すべきリングレットに応じて、自ノードの内の第１多重化部または第２多重化部に出力し、
第２使用態様の場合、パケット生成部に生成されたパケットが一のリングレットに送信すべきパケットであるときには、前記パケットを他のノードが備える第１多重化部に出力し、パケット生成部に生成されたパケットが他方のリングレットに送信すべきパケットであるときには、前記パケットを自ノードが備える第２多重化部に出力し、
第３使用態様の場合、パケット生成部に生成されたパケットが一のリングレットに送信すべきパケットであるときには、前記パケットを自ノードが備える第１多重化部に出力し、パケット生成部に生成されたパケットが他方のリングレットに送信すべきパケットであるときには、前記パケットを他のノードが備える第２多重化部に出力する請求項２４に記載のノード。
【請求項２６】
クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成するパケット生成部と、
少なくともパケット生成部に生成されたパケットを多重して一のリングレットに送信する第１多重化部と、
少なくともパケット生成部に生成されたパケットを多重して他方のリングレットに送信する第２多重化部と、
パケット生成部によって生成されたパケットを、送信すべきリングレットに応じて自ノード内の自ノードの内の第１多重化部または第２多重化部に出力する出力先切替部とを備え、
第１受信部は、
第３使用態様の場合、他のノードから、自ノードのアドレスを送信元とするパケットを受信したときに、前記パケットをそのまま次のノードに送信し、
第２受信部は、
第２使用態様の場合、他のノードから、自ノードのアドレスを送信元とするパケットを受信したときに、前記パケットをそのまま次のノードに送信する請求項２４に記載のノード。
【請求項２７】
互いに反対方向にパケットを転送する２つのリングレットによって複数のノードが接続されたパケットリングネットワークシステムに適用されるノードであって、自ノードのみで単独のノードとして配置される第１使用態様、自ノードと同一のアドレスを有する他のノードとの組み合わされ、一のリングレットからのパケットを前記他のノードよりも先に受信するように配置される第２使用態様、または自ノードと同一のアドレスを有する他のノードとの組み合わされ、一のリングレットからのパケットを前記他のノードの次に受信するように配置される第３使用態様で使用されるノードが備えるコンピュータに、
一のリングレットからパケットを受信する第１受信処理であって、第１使用態様の場合、所定の規格に従って、受信したパケットに応じた処理を実行し、第２使用態様の場合、ＴＴＬ値が０でないブロードキャストパケットを受信したときに、ＴＴＬ値減算を行わずに、前記ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストパケットを受信したときに、前記ユニキャストパケットを次のノードに向けて送信するとともに、受信したユニキャストパケットと同一のパケットを生成し、第３使用態様の場合、ＴＴＬ値が０でないブロードキャストパケットを受信したときに、ＴＴＬ値を１減算し、前記ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストデータパケットを受信したときに、当該ユニキャストデータパケットをリングレットから取り出す第１受信処理、
他方のリングレットからパケットを受信する第２受信処理であって、第１使用態様の場合、所定の規格に従って、受信したパケットに応じた処理を実行し、第２使用態様の場合、ＴＴＬ値が０でないブロードキャストパケットを受信したときに、ＴＴＬ値を１減算し、前記ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストデータパケットを受信したときに、当該ユニキャストデータパケットをリングレットから取り出し、第３使用態様の場合、ＴＴＬ値が０でないブロードキャストパケットを受信したときに、ＴＴＬ値減算を行わずに、前記ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストパケットを受信したときに、前記ユニキャストパケットを次のノードに向けて送信するとともに、受信したユニキャストパケットと同一のパケットを生成する第２受信処理、
第１使用態様の場合、第１受信処理と第２受信処理の双方で受信したパケットを排除せず、第２使用態様の場合、第１受信処理で受信したパケットを排除せず、第２受信部で受信したパケットを排除し、第３使用態様の場合、第２受信処理で受信したパケットを排除せず、第１受信処理で受信したパケットを排除するフィルタ処理、および フィルタ処理で排除されなかったパケットをクライアント装置に送信するクライアント装置向け送信処理を実行させるためのノード用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケットリングネットワークシステム、パケット転送方法、ノード、およびノード用プログラムに関し、特に、ノードを冗長化したパケットリングネットワークシステムと、そのようなパケットリングネットワークシステムに適用可能なパケット転送方法、ノード、ノード用プログラムに関する。
【背景技術】
【０００２】
パケットリングネットワークとしてＩＥＥＥ８０２．１７で標準化されているＲＰＲ（Resilient Packet Ring ）が挙げられる。ＲＰＲは、リング状の伝送媒体へのアクセスを提供するＭＡＣ層プロトコルであり、キャリアクラスの高速障害回復、ネットワーク帯域の有効活用化および最短経路転送を提供することが可能である。【０００３】
図１４は、ＲＰＲのネットワーク構成例を示す説明図である。図１４に示すように、ＲＰＲネットワークに含まれるパケットリングは、互いに逆方向にパケットを転送する２つのリングレット（ｒｉｎｇｌｅｔ）１１０１，１１０２を有する。また、パケットリングでは、複数のノードがリング状に接続される。図１４では、４つのノード１１０３ａ，１１０３ｂ，１１０３ｃ，１１０３ｄがパケットリングに接続されている場合を示している。パケットリング上の各ノードには、それぞれＲＰＲ  ＭＡＣアドレスが付与されている。ネットワークが構築されるとノード間で制御パケットのやり取りが行われ、それぞれのノードは、各ノード間のホップ数などの情報を収集し、ネットワークのトポロジ情報を獲得する。【０００４】
なお、ノードとは、通信ネットワーク内に設けられ、通信ネットワークを介して通信を行う装置である。パケットリングに設けられたノードは、パケットリング内の他のノードや自身と接続されるクライアント装置（ユーザ端末）と通信を行う装置である。【０００５】
また、パケットリング上の各ノードには、ユーザ端末が接続される場合もある。図１４に示す例では、ノード１１０３ａにユーザ端末１１０４ａが接続され、ノード１１０３ｂにユーザ端末１１０４ｂが接続されている場合を示している。【０００６】
以下の説明では、ＲＰＲで転送されるＲＰＲパケットのうち、データパケットをＲＰＲデータパケットと記す場合がある。同様に、ＲＰＲパケットのうち、制御用に用いられるパケットをＲＰＲ制御パケットあるいは制御パケットと記す場合がある。【０００７】
ＩＥＥＥ８０２．１７で標準化されているＲＰＲデータパケットについて説明する。図１５は、ＲＰＲフォーマットを示す説明図である。ユーザ端末がノードにパケットを送信する場合、ユーザデータパケット２１１を送信する。ユーザデータパケット２１１は、そのユーザデータパケットの送信先のユーザ端末のＭＡＣアドレス（ＭＡＣ  ＤＡ）２１２、そのユーザデータパケットの送信元ユーザ端末のＭＡＣアドレス（ＭＡＣ  ＳＡ）２１３、送信データ２１４、およびＦＣＳ（Frame Check Sequence）２１５を含んでいる。ノードは、ユーザ端末からユーザデータパケットを受信した場合、そのユーザデータパケットをカプセル化してＲＰＲデータパケット２２１を生成し、ＲＰＲデータパケット２２１をノード間で送受信する。ユーザデータパケット２１１はカプセル化され、ＰＲＲデータパケット２２１では、データ２２６として格納される。また、ＲＰＲパケット２２１は、送信先ノードのＭＡＣアドレス（ＲＰＲ  ＭＡＣ  ＳＡ）２２５、送信元ノードのＭＡＣアドレス（ＲＰＲ  ＭＡＣ  ＤＡ）２２４、Base Controlフィールド２２３、ＴＴＬ（Time To Live）フィールド２２２、ＦＣＳ２２７を含む。Base Controlフィールド２２３には、転送に用いるリングレットを指定する情報や、制御パケット等のパケットの種類を識別する識別情報が含まれる。ＴＴＬフィールド２２２は、パケットが永久にリングを周回することを防ぐために利用される。ＲＰＲデータパケットフォーマットの詳細については、非特許文献１に記載されている。【０００８】
続いて、リング上の各ノードにおけるＲＰＲデータパケットの送信、受信及び転送動作について説明する。【０００９】
まず、ユニキャストデータパケット（ユニキャスト送信されるＲＰＲデータパケット）の場合について説明する。各ノードは、リング上で転送されるＲＰＲデータパケットを受信し、そのＲＰＲデータパケットのＲＰＲ  ＭＡＣ  ＤＡが自ノードのＲＰＲ  ＭＡＣアドレスと一致した場合、そのＲＰＲデータパケットをリング上から削除する。また、受信したＲＰＲデータパケットのＲＰＲ  ＭＡＣ  ＤＡが自ノードのＲＰＲ  ＭＡＣアドレスと異なる場合、ＴＴＬをデクリメントした後、そのＲＰＲデータパケットを、受信したリングレットと同一のリングレットに再び送出する。送信元ノードは、自らが送信したユニキャストデータパケットを受信した場合、そのユニキャストデータパケットをリング上から削除する。また、各ノードは、ＴＴＬが０となった時点で、そのＲＰＲデータパケットをリング上から削除する。  【００１０】
また、ブロードキャストデータパケット（ブロードキャスト送信されるＲＰＲデータパケット）の場合、各ノードは、受信したブロードキャストデータパケットのＴＴＬをデクリメントした後に次のノードに転送する。ブロードキャストデータパケットの送信元ノードは、自らが送信したブロードキャストデータパケットを受信した場合、そのブロードキャストデータパケットをリング上から削除する。また、各ノードは、ＴＴＬが０となった時点で、そのＲＰＲパケットをリング上から削除する。【００１１】
ＩＥＥＥ８０２．１７で標準化されているＲＰＲ制御パケット(制御パケット)について説明する。ＲＰＲネットワークに属するすべてのノードにおいてトポロジ・ディスカバリ機能、プロテクション機能、ＯＡＭ（Ｏｐｅｒａｔｉｏｎ，Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  ａｎｄ  Ｍａｉｎｔｅｎａｎｃｅ）機能などの自律的な動作を可能とするために、それぞれのＲＰＲノードが制御パケットをデータパス経由で送受信する。ＩＥＥＥ８０２．１７では、各種機能（例えば、上記に例示した機能）について、それぞれ個別に制御パケットを定義している。ノード間における制御パケットの転送は、既に示したＲＰＲデータパケットの転送と同様に行われる。【００１２】
次に、図１４に示すＲＰＲネットワークにおいて、ノード１１０３ａに接続されているユーザ端末１１０４ａからノード１１０３ｂに接続されているユーザ端末１１０４ｂへデータを送信する動作について説明する。各ノードは、受信したＲＰＲデータパケットにおいてカプセル化されている送信元ユーザ端末のＭＡＣ  ＳＡ２１３（図１５参照。）と送信元ＲＰＲ  ＭＡＣ  ＳＡ２２５（図１５参照。）を対応付けて学習し、ユーザ端末のＭＡＣアドレスを検索キーとするＲＰＲ  ＭＡＣアドレスのデータベースすなわちＦＤＢ（Ｆｏｒｗａｒｄｉｎｇ  Ｄａｔａ  Ｂａｓｅ)を保持している。ユーザ端末１１０４ａがリングにデータ（ユーザデータパケット）を送信すると、ノード１１０３ａは、そのユーザデータパケットを受信する。ノード１１０３ａは、受信したユーザデータパケットにおけるＭＡＣ  ＤＡ２１２（図１５参照）を検索キーとしてＦＤＢを検索し、その結果をＲＰＲ  ＭＡＣ  ＤＡ２２４（送信先ノードのＭＡＣアドレス。図１５参照。）とする。また、ノード１１０３ａは、自身のＭＡＣアドレスをＲＰＲ  ＭＡＣ  ＳＡ２２５（送信元ノードのＭＡＣアドレス。図１５参照。）とする。そして、ユーザ端末１１０４ａから受信したユーザデータパケットをカプセル化する。さらに、ノード１１０３ａは、トポロジデータベースを検索して、送信元ノードから送信先ノードへ最短経路を提供するリングレットの選択およびＴＴＬ値の設定を行い、ＲＰＲデータパケットをリングに送出する。【００１３】
また、ＦＤＢを検索した結果、送信先となるユーザ端末のＭＡＣアドレスと、そのＭＡＣアドレスに対応するＲＰＲ  ＭＡＣアドレスとの対応付けが未学習であった場合、ノード１１０３ａはフラッディング（Ｆｌｏｏｄｉｎｇ）を行う。フラッディングにより送信されるＲＰＲデータパケットのＲＰＲ  ＭＡＣ  ＤＡにはブロードキャストアドレスが設定され、そのＲＰＲデータパケットは、リング上の全てのノードで受信される。また、フラッディングの結果、ユーザ端末１１０４ａが送信したユーザデータパケットが送信先ユーザ端末１１０４ｂに受信される。そして、ユーザ端末１１０４ｂがユーザ端末１１０４ａに返信を行う。返信時には、ユーザ端末１１０４ｂがユーザデータパケットの送信元となり、ユーザ端末１１０４ａが送信先となる。また、ノード１１０３ｂがＲＰＲパケットの送信元となる。ユーザ端末１１０４ｂからの返信が行われると、ノード１１０３ａにおいてユーザ端末１１０４ｂのＭＡＣアドレスとノード１１０３ｂのＲＰＲ  ＭＡＣアドレスとの対応が学習される。従って、再度、ユーザ端末１１０４ａがユーザ端末１１０４ｂにユーザデータパケットを送信する場合、ノード１１０３ａは、ユーザデータパケットに含まれるＭＡＣ  ＤＡ２１２をキーにして、ノード１１０３ｂのＲＰＲ  ＭＡＣアドレスを検索し、その検索結果をＲＰＲ  ＭＡＣ  ＤＡ２２４として、ユニキャスト転送を行えるようになる。【００１４】
次に、図１６を参照してＲＰＲのプロテクション動作について説明する。ＩＥＥＥ８０２．１７では、障害発生時のプロテクション動作としてステアリングモードとラップモードが規定されている。ステアリングモードは必須機能として規定され、ラップモードは選択機能として規定されている。ステアリングモードおよびラップモードは、例えば特許文献１でも紹介されている。【００１５】
図１６（ａ）は、通常時のネットワーク動作を示している。図１６（ａ）では、ノード３０３ａからノード３０３ｂにリングレット３０１上でパケット転送されている状態を示している。【００１６】
図１６（ｂ）は、ステアリングモードの動作を示す。図１６（ｂ）に示すように障害点３０４が発生した場合、リング内の全てのノードは障害点３０４の位置情報を得る。すなわち、障害点３０４となったリンクに接続するノード３０３ｃ，３０３ｄが、障害点３０４の位置情報を他の全てのノードに通知する。この結果、各ノードは障害点３０４の位置を認識する。そして、ユニキャストパケットを送信する場合、送信元ノードは、ＲＰＲパケットの送信先ノードとの間に障害点３０４を含まないリングレットを選択してユニキャストパケットを送出する。例えば、ノード３０３ａがノード３０３ｂにユニキャストパケットを送信する場合、障害点３０４の位置を認識することにより、ユニキャストパケットを送信するリングレットをリングレット３０１からリングレット３０２に変更し、ノード３０３ｂにパケットを転送する。また、ブロードキャストパケットを送信する場合には、双方のリングレット３０１，３０２を選択して、各リングレット３０１，３０２にブロードキャストパケットを送出する。この結果、リング内の各ノードにブロードキャストパケットが送信される。【００１７】
図１６（ｃ）は、ラップモードの動作を示す。ラップモードでは、送信元ノードは、通常時と同じリングレットを選択してＲＰＲパケットを送出する。例えば、ノード３０３ａがノード３０３ｂにＲＰＲパケットを送信する場合、通常時（図１６（ａ）参照。）と同様にリングレット３０１を選択してＲＰＲパケットを送信する。障害点３０４となったリンクに接続していて障害を検知したノード３０３ｃは、ＲＰＲパケットを受信した場合、そのパケットが送られてきたリングレット３０１とは異なるリングレット３０２を選択し、そのリングレット３０２を用いてＲＰＲパケットを転送する。すなわち、ノード３０３ｃは、障害点３０４が存在しない側にＲＰＲパケットを転送する。このパケットは、リングレット３０２上を転送され、障害点３０４となったリンクに接続していて障害を検知したノード３０３ｄまで転送される。ノード３０３ｄも、パケットが送られてきたリングレットとは異なるリングレットを選択し、そのリングレットを用いてＲＰＲパケットを転送する。この結果、送信先ノード３０３ｂは、ＲＰＲパケットを受信する。また、ブロードキャストパケットをリングにフラッディングする方法として、送信元ノードが任意の片方のリングレットに送出する方法と、送信元ノードが双方のリングレットにブロードキャストパケットを送出し、多重転送を防ぐために予めリング上に設定された到達点まで転送する方法（双方向フラッディング）がある。なお、多重転送を防ぐために予めリング上に設定されたパケットの到達点をクリーブポイント（ｃｌｅａｖｅ  ｐｏｉｎｔ）という。双方向フラッディングの場合、リング内のノード数が偶数であるか奇数であるかによって、パケットがすべてのノードに転送され、かつ２重到着が起きないようＴＴＬの計算方法を変える。【００１８】
ここではリンクに障害が発生する場合を例にして説明したが、ノードに障害が発生した場合のプロテクション動作も、リンクに障害が発生した場合の動作と同様である。【００１９】
上記に示したＩＥＥＥ８０２．１７に規定されるプロテクション動作は、リングネットワーク内のスパン障害（リンク障害）における高速障害回復、およびノード障害におけるそのノード以外のノード間通信の高速障害回復を可能にする。しかし、各ＲＰＲノード配下に接続されるクライアント装置との接続（すなわち、ノードとクライアント装置間のリンク）に障害が発生したときの障害回復動作については、規定されていない。図１４に例示するような構成の場合、ノードとクライアント装置間のリンクに障害が発生した場合、ノードとクライアント装置（ユーザ端末）間の通信を行えなくなる。【００２０】
また、特許文献２には、リングＬＡＮの故障回復方式が記載されている。特許文献２に記載のリングＬＡＮの故障回復方式では、制御用ノードを二重化している。そして、二重化した制御用ノードの一方を現用系とし、他方を予備系とし、現用系制御用ノードおよび予備系制御用ノードのアドレスを同一としている。【００２１】
【特許文献１】特開２００４−２４２１９４号公報（段落０００４，００１２）
【特許文献２】特開平４−１００４４６号公報（第４−５ページ，第１図）
【非特許文献１】“ＩＥＥＥ  Ｓｔｄ  ８０２．１７−２００４  パート１７：リジ    リエントパケットリング  アクセスメソッド＆フィジカルレイヤスペシフィケイショ    ンズ（ＰＡＲＴ１７：Ｒｅｓｉｌｉｅｎｔ  ｐａｃｋｅｔ  ｒｉｎｇ（ＲＰＲ）  ａｃｃｅｓｓ  ｍｅｔｈｏｄ  ＆  ｐｈｙｓｉｃａｌ  ｌａｙｅｒ  ｓｐｅｃｉｆｉｃ ａｔｉｏｎｓ）”，ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ，Ｉｎｃ），ｐ．２１１−２２３，“９．Ｆｒａｍｅ  ｆｏｒｍａｔｓ”，２００４年９月２４日
【発明の開示】
【発明が解決しようとする課題】
【００２２】
既に説明したように、図１４に例示するようなリングネットワーク構成の場合、ノードとクライアント装置（ユーザ端末）間のリンクに障害が発生した場合、ノードとクライアント装置間の通信を行えなくなる。そこで、特許文献２に記載された技術をＲＰＲに適用することが考えられる。すなわち、ノードを二重化して一方を現用系、もう一方を予備系とし、現用系ノードおよび予備系ノードをそれぞれ個別にリンクにより同一のクライアント装置と接続させることが考えられる。しかし、この場合には、以下のような問題が生じる。【００２３】
正常時には、クライアント装置と現用系ノードが通信を行うが、クライアント装置と予備系ノードとの間では通信が行われない。従って、正常時に予備系ノードのトラヒック処理能力を利用できず、リソースの利用効率が悪いという問題がある。【００２４】
また、正常時にクライアント装置と現用系ノードが通信を行っている間では、現用系ノードは、受信したＲＰＲデータパケットにおいてカプセル化されている送信元ユーザ端末のＭＡＣ  ＳＡと送信元ＲＰＲ  ＭＡＣ  ＳＡを対応付けて学習し、ＦＤＢに記憶させる。このとき、予備系ノードが同様の学習を行っていないとすると、現用系ノードとクライアント装置間のリンクに障害が発生して、現用系ノードから予備系ノードに切り替えたときに、安定したパケットトラヒックを高速に回復することが困難になるという問題がある。予備系ノードが現用系ノードと同様の学習を行っていない場合、予備系ノードは、ＲＰＲ  ＭＡＣ  ＤＡを検索できず、クライアント端末からのユーザデータパケットをカプセル化したＲＰＲパケットをブロードキャスト送信しなければならない。予備系ノードが、クライアント装置のＭＡＣアドレスとノードのＲＰＲ  ＭＡＣアドレスとの対応関係を十分に学習するまでは、このようなブロードキャスト送信が行われる。また、このようにブロードキャスト送信が行われると、通信量が増大し、リングネットワークのリング容量を圧迫してしまう。その結果、現用系ノードから予備系ノードに切り替えたときに、安定したパケットトラヒックを高速に回復することが困難となる。【００２５】
また、ＲＰＲのプロテクション動作としては、既に説明したステアリングモードやラップモードがある。しかし、これらのプロテクション動作は、そもそもノードとクライアント装置（ユーザ端末）間の障害時の動作ではなく、リングネットワーク内のノード同士を接続させるリンクや、リングネットワーク内のノード自身に障害が発生した場合におけるプロテクション動作である。【００２６】
また、ステアリングモードやラップモードは、障害回復を可能とする動作であるが、パケットリングネットワーク全体に影響を及ぼす。例えば、ステアリングモードの場合には、パケットリングネットワークに属する全てのノードに対して、障害発生箇所を通過せずに宛先にＲＰＲパケットを送信可能なリングレットを選択するように、制御パケットで通知を行わなければならない。そして、各ノードは、トポロジ情報のアップデート処理等にＣＰＵリソースを消費しなければならない。また、ステアリングモードでは、パケットを送信可能なリングレットが１つに限定されてしまうノードが発生してしまい、パケットリングの帯域利用効率が著しく低下してしまう。また、ラップモードに移行した場合には、リング帯域が半減したり、ラップモード中にリング内に存在するパケット到着順序厳守モード（Ｓｔｒｉｃｔモード）のパケットは全て廃棄されるという問題が生じる。このように、ステアリングモードやラップモードでは、パケットの喪失、パケット流量変動などの擾乱による通信品質低下が生じる。ノードとクライアント装置（ユーザ端末）間のリンクに障害が発生した場合、パケットリングネットワーク全体に影響を及ぼすことなく、障害回復を実現できることが好ましい。【００２７】
また、リングネットワークの利用者によっては、高い通信の信頼度を要求しない場合もある。そのような場合には、ノードを二重化せずに、図１４に例示するようなネットワーク構成で利用者の要求が満たされることになる。１台のクライアント装置（ユーザ端末）を１つのノードに接続させる場合（図１４参照。）と、１台のクライアント装置を二重化した２つのノードに接続させる場合とで、ノードの構成を共通化できることが好ましい。例えば、リングネットワーク導入当初は、高い信頼度が要求されなかったが、その後、トラヒックが増加し、高い信頼度が要求されるようになり、ノードを二重化するようにネットワーク構成を変更するとする。このとき、１台のクライアント装置を１つのノードに接続させる場合と、１台のクライアント装置を二重化した２つのノードに接続させる場合とで、ノードの構成を共通化できないとすると、ネットワーク構成の変更にかかるコストが増加してしまう。また、１台のクライアント装置を１つのノードに接続させる場合のノードと、１台のクライアント装置を二重化した２つのノードに接続させる場合のノードとを、それぞれ個別に設計して用意しておく必要が生じるため、開発効率および棚卸管理効率が悪くなる。従って、ノードの構成を共通化できるようにすることが好ましい。【００２８】
そこで、本発明は、ノードとクライアント装置（ユーザ端末）間のリンクに障害が発生したときに高速に障害回復を行えるようにすることを目的とする。また、正常時におけるリソースの利用効率を向上させることを目的とする。また、ノードとクライアント装置（ユーザ端末）間のリンクに障害が発生したときに、パケットリングネットワーク全体に影響を及ぼすことなく障害回復できるようにすることを目的とする。また、１台のクライアント装置を１つのノードに接続させる場合と、１台のクライアント装置を二重化した２つのノードに接続させる場合とで、ノードの構成を共通化することを目的とする。
【課題を解決するための手段】
【００２９】
本発明によるパケットリングネットワークシステムは、互いに反対方向にパケットを転送する２つのリングレットによって複数のノードが接続されたパケットリングネットワークシステムであって、同一のアドレスを有する２つのノードを組み合わせたノードの組である仮想冗長化ノードと、同一の仮想冗長化ノードに含まれる２つのノードにそれぞれリンクを介して接続されるクライアント装置とを備え、クライアント装置は、２つのノードにパケットを振り分けて送信することを特徴とする。【００３０】
上記本発明によるパケットリングネットワークシステムにおいて、同一の仮想冗長化ノードに含まれる個々のノードが、各リングレットに対応して、対応するリングレットからパケットを受信する受信部を２つ備え、各クライアント装置のアドレスと、各クライアント装置に接続されるノードのアドレスとの対応関係を記憶するアドレス記憶部と、クライアント装置にパケットを送信するクライアント装置向け送信部と、受信部が受信したパケットのクライアント装置向け送信部への出力を許可または禁止するフィルタ部とを備えた構成であってもよい。【００３１】
上記本発明によるパケットリングネットワークシステムにおいて、同一の仮想冗長化ノードに含まれる２つのノードにおける、同一のリングレットからパケットを受信する受信部のうち、先にパケットを受信する受信部が、ＴＴＬ値が０でないブロードキャスト制御パケットを受信した場合、ＴＴＬ値減算を行わずに、ブロードキャスト制御パケットを次のノードに向けて送信するとともに、受信したブロードキャスト制御パケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャスト制御パケットを受信した場合、ユニキャスト制御パケットを次のノードに向けて送信するとともに、受信したユニキャスト制御パケットと同一のパケットを生成し、後にパケットを受信する受信部が、ＴＴＬ値が０でないブロードキャスト制御パケットを受信した場合、ＴＴＬ値を１減算し、ブロードキャスト制御パケットを次のノードに向けて送信するとともに、受信したブロードキャスト制御パケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャスト制御パケットを受信した場合、当該ユニキャスト制御パケットをリングレットから取り出す構成であってもよい。【００３２】
上記本発明によるパケットリングネットワークシステムにおいて、同一の仮想冗長化ノードに含まれる２つのノードにおける、同一のリングレットからパケットを受信する受信部のうち、先にパケットを受信する受信部が、ＴＴＬ値が０でないブロードキャストデータパケットを受信した場合、ＴＴＬ値減算を行わずに、ブロードキャストデータパケットを次のノードに向けて送信するとともに、受信したブロードキャストデータパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストデータパケットを受信した場合、ユニキャストデータパケットを次のノードに向けて送信するとともに、受信したユニキャストデータパケットと同一のパケットを生成し、後にパケットを受信する受信部が、ＴＴＬ値が０でないブロードキャストデータパケットを受信した場合、ＴＴＬ値を１減算し、ブロードキャストデータパケットを次のノードに向けて送信するとともに、受信したブロードキャストデータパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストデータパケットを受信した場合、当該ユニキャストデータパケットをリングレットから取り出す構成であってもよい。【００３３】
上記本発明によるパケットリングネットワークシステムにおいて、同一の仮想冗長化ノードに含まれる個々のノードが備える各記憶部が、同一ノード内の受信部が受信したブロードキャストデータパケットまたはユニキャストデータパケットと同一のパケットとして生成したパケット、またはリングレットから取り出したユニキャストデータパケットに基づいて、各クライアント装置のアドレスと、各クライアント装置に接続されるノードのアドレスとの対応関係を学習し、記憶する構成であってもよい。【００３４】
上記本発明によるパケットリングネットワークシステムにおいて、同一の仮想冗長化ノードに含まれる２つのノードのうち、一のリングレットから先にパケットを受信するノードが備えるフィルタ部が、一のリングレットから転送されてきたパケットのクライアント装置向け送信部への出力を許可し、他方のリングレットから転送されてきたパケットのクライアント装置向け送信部への出力を禁止し、同一の仮想冗長化ノードに含まれる２つのノードのうち、他方のリングレットから先にパケットを受信するノードが備えるフィルタ部が、他方のリングレットから転送されてきたパケットのクライアント装置向け送信部への出力を許可し、一のリングレットから転送されてきたパケットのクライアント装置向け送信部への出力を禁止する構成であってもよい。【００３５】
上記本発明によるパケットリングネットワークシステムにおいて、クライアント装置が、同一の仮想冗長化ノードに含まれる２つのノードとの間のリンクの一方に障害が発生した場合、障害が発生していない方のリンクによって接続されるノードに対してパケットを送信し、同一の仮想冗長化ノードに含まれる各ノードのフィルタ部は、仮想冗長化ノードに含まれる他のノードとクライアント装置との間のリンクに障害が発生した場合に、どちらのリングレットから転送されてきたパケットであっても、クライアント装置向け送信部への出力を許可する構成であってもよい。【００３６】
上記本発明によるパケットリングネットワークシステムにおいて、同一の仮想冗長化ノードに含まれる２つのノードのうち、一のリングレットから先にパケットを受信するノードが、他方のリングレットにパケットを多重して送信する多重化部と、クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成するパケット生成部とを備え、同一の仮想冗長化ノードに含まれる２つのノードのうち、他方のリングレットから先にパケットを受信するノードが、一のリングレットにパケットを多重して送信する多重化部と、クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成するパケット生成部とを備え、同一の仮想冗長化ノードに含まれる２つのノードのうち、一のリングレットから先にパケットを受信するノードが、クライアント装置から受信したパケットに基づいて生成されたパケットが一のリングレットに送信すべきパケットである場合には他方のノードの多重化部にパケットを出力し、クライアント装置から受信したパケットに基づいて生成されたパケットが他方のリングレットに出力すべきパケットである場合には自ノードの多重化部にパケットを出力する出力先切替部を備え、同一の仮想冗長化ノードに含まれる２つのノードのうち、他方のリングレットから先にパケットを受信するノードが、クライアント装置から受信したパケットに基づいて生成されたパケットが他方のリングレットに送信すべきパケットである場合には他方のノードの多重化部にパケットを出力し、クライアント装置から受信したパケットに基づいて生成されたパケットが一のリングレットに出力すべきパケットである場合には自ノードの多重化部にパケットを出力する出力先切替部を備えた構成であってもよい。【００３７】
上記本発明によるパケットリングネットワークシステムにおいて、同一の仮想冗長化ノードに含まれる個々のノードが、一のリングレットにパケットを多重して送信する第１の多重化部と、他方のリングレットにパケットを多重して送信する第２の多重化部と、クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成するパケット生成部と、クライアント装置から受信したパケットに基づいて生成されたパケットが一のリングレットに送信すべきパケットである場合には自ノード内の第１の多重化部にパケットを出力し、クライアント装置から受信したパケットに基づいて生成されたパケットが他方のリングレットに送信すべきパケットである場合には自ノード内の第２の多重化部にパケットを出力する出力先切替部を備えた構成であってもよい。【００３８】
上記本発明によるパケットリングネットワークシステムにおいて、同一の仮想冗長化ノードに含まれる個々のノードが、仮想冗長化ノードに含まれる他のノードから、自ノードのアドレスを送信元とするパケットを受信した場合に、パケットをそのまま次のノードに送信するパケット転送部を備えた構成であってもよい。【００３９】
上記本発明によるパケットリングネットワークシステムにおいて、同一の仮想冗長化ノードに含まれる個々のノードのパケット転送部が、仮想冗長化ノードに含まれる他のノードから、他のノードで生成されたブロードキャストパケットを受信した場合に、ブロードキャストパケットをそのまま次のノードに送信する構成であってもよい。【００４０】
また、本発明におけるパケット転送方法は、互いに反対方向にパケットを転送する２つのリングレットによって複数のノードが接続され、同一のアドレスを有する２つのノードを組み合わせたノードの組である仮想冗長化ノードを備えたパケットリングネットワークシステムに適用されるパケット転送方法であって、同一の仮想冗長化ノードに含まれる２つのノードにそれぞれリンクを介して接続されるクライアント装置が、２つのノードにパケットを振り分けて送信することを特徴とする。【００４１】
上記本発明によるパケット転送方法において、同一の仮想冗長化ノードに含まれ、同一のリングレットからパケットを受信する２つのノードのうち、先にパケットを受信するノードが、ＴＴＬ値が０でないブロードキャスト制御パケットを受信した場合、ＴＴＬ値減算を行わずに、ブロードキャスト制御パケットを次のノードに向けて送信するとともに、受信したブロードキャスト制御パケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャスト制御パケットを受信した場合、ユニキャスト制御パケットを次のノードに向けて送信するとともに、受信したユニキャスト制御パケットと同一のパケットを生成し、後にパケットを受信するノードが、ＴＴＬ値が０でないブロードキャスト制御パケットを受信した場合、ＴＴＬ値を１減算し、ブロードキャスト制御パケットを次のノードに向けて送信するとともに、受信したブロードキャスト制御パケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャスト制御パケットを受信した場合、当該ユニキャスト制御パケットをリングレットから取り出してもよい。【００４２】
上記本発明によるパケット転送方法において、同一の仮想冗長化ノードに含まれ、同一のリングレットからパケットを受信する２つのノードのうち、先にパケットを受信するノードが、ＴＴＬ値が０でないブロードキャストデータパケットを受信した場合、ＴＴＬ値減算を行わずに、ブロードキャストデータパケットを次のノードに向けて送信するとともに、受信したブロードキャストデータパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストデータパケットを受信した場合、ユニキャストデータパケットを次のノードに向けて送信するとともに、受信したユニキャストデータパケットと同一のパケットを生成し、後にパケットを受信するノードが、ＴＴＬ値が０でないブロードキャストデータパケットを受信した場合、ＴＴＬ値を１減算し、ブロードキャストデータパケットを次のノードに向けて送信するとともに、受信したブロードキャストデータパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストデータパケットを受信した場合、当該ユニキャストデータパケットをリングレットから取り出してもよい。【００４３】
上記本発明によるパケット転送方法において、同一の仮想冗長化ノードに含まれる個々のノードが、受信したブロードキャストデータパケットまたはユニキャストデータパケットと同一のパケットとして生成したパケット、またはリングレットから取り出したユニキャストデータパケットに基づいて、各クライアント装置のアドレスと、各クライアント装置に接続されるノードのアドレスとの対応関係を学習し、記憶してもよい。【００４４】
上記本発明によるパケット転送方法において、同一の仮想冗長化モードに含まれる２つのノードのうち、一のリングレットから先にパケットを受信するノードが、クライアント装置にパケットを送信するクライアント装置向け送信部への、一のリングレットから転送されてきたパケットの出力を許可し、他方のリングレットから転送されてきたパケットのクライアント装置向け送信部への出力を禁止し、同一の仮想冗長化モードに含まれる２つのノードのうち、他方のリングレットから先にパケットを受信するノードが、他方のリングレットから転送されてきたパケットのクライアント装置向け送信部への出力を許可し、一のリングレットから転送されてきたパケットのクライアント装置送信部への出力を禁止してもよい。【００４５】
上記本発明によるパケット転送方法において、同一の仮想冗長化ノードに含まれる２つのノードとクライアント装置とを接続するリンクの一方に障害が発生した場合に、クライアント装置が、障害が発生していない方のリンクによって接続されるノードに対してパケットを送信し、クライアント装置との間のリンクに障害が発生していない方のノードが、どちらのリングレットから転送されてきたパケットであってもクライアント装置向け送信部への出力を許可してもよい。【００４６】
上記本発明によるパケット転送方法において、同一の仮想冗長化ノードに含まれる２つのノードのうち、一のリングレットから先にパケットを受信するノードが、クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成し、生成したパケットが一のリングレットに送信すべきパケットである場合には、他方のノードにパケットを出力して、当該他方のノードにパケットを送信させ、生成したパケットが他方のリングレットに送信すべきパケットである場合には、パケットを自ノードから送信し、同一の仮想冗長化ノードに含まれる２つのノードのうち、他方のリングレットから先にパケットを受信するノードが、クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成し、生成したパケットが他方のリングレットに送信すべきパケットである場合には、他方のノードにパケットを出力して、当該他方のノードにパケットを送信させ、生成したパケットが一のリングレットに送信すべきパケットである場合には、パケットを自ノードから送信してもよい。【００４７】
上記本発明によるパケット転送方法において、同一の仮想冗長化ノードに含まれる個々のノードが、クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成し、生成したパケットが一のリングレットに送信すべきパケットである場合であっても、他方のリングレットに送信すべきパケットであっても、生成したパケットを自ノードから送信してもよい。【００４８】
上記本発明によるパケット転送方法において、同一の仮想冗長化ノードに含まれる個々のノードが、仮想冗長化ノードに含まれる他のノードから、自ノードのアドレスを送信元とするパケットを受信した場合に、パケットをそのまま次のノードに送信してもよい。【００４９】
上記本発明によるパケット転送方法において、同一の仮想冗長化ノードに含まれる個々のノードが、仮想冗長化ノードに含まれる他のノードから、他のノードで生成されたブロードキャストパケットを受信した場合に、ブロードキャストパケットをそのまま次のノードに送信してもよい。【００５０】
また、本発明によるノードは、互いに反対方向にパケットを転送する２つのリングレットによって複数のノードが接続されたパケットリングネットワークシステムに適用されるノードであって、自ノードのみで単独のノードとして配置される第１使用態様、自ノードと同一のアドレスを有する他のノードとの組み合わされ、一のリングレットからのパケットを他のノードよりも先に受信するように配置される第２使用態様、または自ノードと同一のアドレスを有する他のノードとの組み合わされ、一のリングレットからのパケットを他のノードの次に受信するように配置される第３使用態様で使用されるノードにおいて、一のリングレットからパケットを受信する第１受信部と、他方のリングレットからパケットを受信する第２受信部と、クライアント装置にパケットを送信するクライアント装置向け送信部と、第１受信部または第２受信部が受信したパケットのクライアント装置向け送信部への出力を許可または禁止するフィルタ部とを備え、第１受信部が、第１使用態様の場合、所定の規格に従って、受信したパケットに応じた処理を実行し、第２使用態様の場合、ＴＴＬ値が０でないブロードキャストパケットを受信したときに、ＴＴＬ値減算を行わずに、ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストパケットを受信したときに、ユニキャストパケットを次のノードに向けて送信するとともに、受信したユニキャストパケットと同一のパケットを生成し、第３使用態様の場合、ＴＴＬ値が０でないブロードキャストパケットを受信したときに、ＴＴＬ値を１減算し、ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストデータパケットを受信したときに、当該ユニキャストデータパケットをリングレットから取り出し、第２受信部が、第１使用態様の場合、所定の規格に従って、受信したパケットに応じた処理を実行し、第２使用態様の場合、ＴＴＬ値が０でないブロードキャストパケットを受信したときに、ＴＴＬ値を１減算し、ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストデータパケットを受信したときに、当該ユニキャストデータパケットをリングレットから取り出し、第３使用態様の場合、ＴＴＬ値が０でないブロードキャストパケットを受信したときに、ＴＴＬ値減算を行わずに、ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストパケットを受信したときに、ユニキャストパケットを次のノードに向けて送信するとともに、受信したユニキャストパケットと同一のパケットを生成し、フィルタ部が、第１使用態様の場合、第１受信部と第２受信部の双方が受信したパケットのクライアント装置向け送信部への出力を許可し、第２使用態様の場合、第１受信部が受信したパケットのクライアント装置向け送信部への出力を許可し、第２受信部が受信したパケットのクライアント装置向け送信部への出力を禁止し、第３使用態様の場合、第１受信部が受信したパケットのクライアント装置向け送信部への出力を禁止し、第２受信部が受信したパケットのクライアント装置向け送信部への出力を許可することを特徴とする。【００５１】
上記本発明によるノードにおいて、クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成するパケット生成部と、少なくともパケット生成部に生成されたパケットを多重して一のリングレットに送信する第１多重化部と、少なくともパケット生成部に生成されたパケットを多重して他方のリングレットに送信する第２多重化部と、パケット生成部によって生成されたパケットを、自ノードまたは他のノードの第１多重化部または第２多重化部に出力する出力先切替部とを備え、出力先切替部は、第１使用態様の場合、パケット生成部に生成されたパケットを、送信すべきリングレットに応じて、自ノードの内の第１多重化部または第２多重化部に出力し、第２使用態様の場合、パケット生成部に生成されたパケットが一のリングレットに送信すべきパケットであるときには、パケットを他のノードが備える第１多重化部に出力し、パケット生成部に生成されたパケットが他方のリングレットに送信すべきパケットであるときには、パケットを自ノードが備える第２多重化部に出力し、第３使用態様の場合、パケット生成部に生成されたパケットが一のリングレットに送信すべきパケットであるときには、パケットを自ノードが備える第１多重化部に出力し、パケット生成部に生成されたパケットが他方のリングレットに送信すべきパケットであるときには、パケットを他のノードが備える第２多重化部に出力する構成であってもよい。【００５２】
上記本発明によるノードにおいて、クライアント装置から受信したパケットに基づいてリングレットに転送するパケットを生成するパケット生成部と、少なくともパケット生成部に生成されたパケットを多重して一のリングレットに送信する第１多重化部と、少なくともパケット生成部に生成されたパケットを多重して他方のリングレットに送信する第２多重化部と、パケット生成部によって生成されたパケットを、送信すべきリングレットに応じて自ノード内の自ノードの内の第１多重化部または第２多重化部に出力する出力先切替部とを備え、第１受信部が、第３使用態様の場合、他のノードから、自ノードのアドレスを送信元とするパケットを受信したときに、パケットをそのまま次のノードに送信し、第２受信部が、第２使用態様の場合、他のノードから、自ノードのアドレスを送信元とするパケットを受信したときに、パケットをそのまま次のノードに送信する構成であってもよい。【００５３】
また、本発明によるノード用プログラムは、互いに反対方向にパケットを転送する２つのリングレットによって複数のノードが接続されたパケットリングネットワークシステムに適用されるノードであって、自ノードのみで単独のノードとして配置される第１使用態様、自ノードと同一のアドレスを有する他のノードとの組み合わされ、一のリングレットからのパケットを他のノードよりも先に受信するように配置される第２使用態様、または自ノードと同一のアドレスを有する他のノードとの組み合わされ、一のリングレットからのパケットを他のノードの次に受信するように配置される第３使用態様で使用されるノードが備えるコンピュータに、一のリングレットからパケットを受信する第１受信処理であって、第１使用態様の場合、所定の規格に従って、受信したパケットに応じた処理を実行し、第２使用態様の場合、ＴＴＬ値が０でないブロードキャストパケットを受信したときに、ＴＴＬ値減算を行わずに、ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストパケットを受信したときに、ユニキャストパケットを次のノードに向けて送信するとともに、受信したユニキャストパケットと同一のパケットを生成し、第３使用態様の場合、ＴＴＬ値が０でないブロードキャストパケットを受信したときに、ＴＴＬ値を１減算し、ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストデータパケットを受信したときに、当該ユニキャストデータパケットをリングレットから取り出す第１受信処理、他方のリングレットからパケットを受信する第２受信処理であって、第１使用態様の場合、所定の規格に従って、受信したパケットに応じた処理を実行し、第２使用態様の場合、ＴＴＬ値が０でないブロードキャストパケットを受信したときに、ＴＴＬ値を１減算し、ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストデータパケットを受信したときに、当該ユニキャストデータパケットをリングレットから取り出し、第３使用態様の場合、ＴＴＬ値が０でないブロードキャストパケットを受信したときに、ＴＴＬ値減算を行わずに、ブロードキャストパケットを次のノードに向けて送信するとともに、受信したブロードキャストパケットと同一のパケットを生成し、自ノードのアドレスを宛先とするユニキャストパケットを受信したときに、ユニキャストパケットを次のノードに向けて送信するとともに、受信したユニキャストパケットと同一のパケットを生成する第２受信処理、第１使用態様の場合、第１受信処理と第２受信処理の双方で受信したパケットを排除せず、第２使用態様の場合、第１受信処理で受信したパケットを排除せず、第２受信部で受信したパケットを排除し、第３使用態様の場合、第２受信処理で受信したパケットを排除せず、第１受信処理で受信したパケットを排除するフィルタ処理、およびフィルタ処理で排除されなかったパケットをクライアント装置に送信するクライアント装置向け送信処理を実行させることを特徴とする。【００５４】
本発明では、クライアント装置が、同一の仮想冗長化ノードに含まれる２つのノードにパケットを振り分けて送信する。従って、同一の仮想冗長化ノードに含まれる２つのノードは、いずれも、クライアント装置からのパケットの転送に寄与することになる。よって、２つのノードの一方が待機するのみとなる状態がなく、リソース（仮想冗長化ノードに含まれる２つのノード）の利用効率が向上する。【００５５】
また、同一の仮想冗長化ノードに含まれる個々のノードが備える各記憶部を設けることで、同一ノード内の受信部が受信したブロードキャストデータパケットまたはユニキャストデータパケットと同一のパケットとして生成したパケット、またはリングレットから取り出したユニキャストデータパケットに基づいて、各クライアント装置のアドレスと、各クライアント装置に接続されるノードのアドレスとの対応関係を学習し、記憶するようにすることができる。従って、同一の仮想冗長化ノードに含まれる個々のノードが、それぞれアドレスの対応関係を学習して記憶することになる。よって、一方のノードとクライアント装置間のリンクに障害が発生した場合であっても、他方のノードは、アドレスの対応関係を記憶している状態になっていて、新たに対応関係を学習し直す必要がない。その結果、１つのノードとクライアント装置間のリンクに障害が発生したとしても、高速に障害回復を実現できる。【００５６】
また、クライアント装置が、同一の仮想冗長化ノードに含まれる２つのノードとの間のリンクの一方に障害が発生した場合、障害が発生していない方のリンクによって接続されるノードに対してパケットを送信し、同一の仮想冗長化ノードに含まれる各ノードのフィルタ部は、仮想冗長化ノードに含まれる他のノードとクライアント装置との間のリンクに障害が発生した場合に、どちらのリングレットから転送されてきたパケットであっても、クライアント装置向け送信部への出力を許可する。従って、１つのノードとクライアント装置間のリンクに障害が発生したとしても、クライアント装置からノードへのパケット送信は、障害が発生していない方のリンクによって接続されるノードに対して行われる。また、同一の仮想冗長化ノードに含まれる各ノードのフィルタ部は、仮想冗長化ノードに含まれる他のノードとクライアント装置との間のリンクに障害が発生した場合に、どちらのリングレットから転送されてきたパケットであっても、クライアント装置向け送信部への出力を許可するので、リンク障害未発生時に、他のノードが行っていたクライアント装置へのパケット送信は、リンク障害が発生していない方のノードによって行われ、リンク障害が発生していない方のノードがクライアント装置に対するパケット送信を担うことになる。その結果、パケットリングネットワーク全体に影響を及ぼすことなく、クライアント装置から仮想冗長化ノードへのパケット送信および仮想冗長化ノードからクライアント装置へのパケット送信を維持することができる。【００５７】
また、本発明によるノードは、一のリングレットからパケットを受信する第１受信部と、他方のリングレットからパケットを受信する第２受信部と、クライアント装置にパケットを送信するクライアント装置向け送信部と、第１受信部または第２受信部が受信したパケットのクライアント装置向け送信部への出力を許可または禁止するフィルタ部とを備え、第１受信部、第２受信部、およびフィルタ部は、自ノードのみで単独のノードとして配置される第１使用態様、自ノードと同一のアドレスを有する他のノードとの組み合わされ、一のリングレットからのパケットを他のノードよりも先に受信するように配置される第２使用態様、または自ノードと同一のアドレスを有する他のノードとの組み合わされ、一のリングレットからのパケットを他のノードの次に受信するように配置される第３使用態様に応じた動作を行う。よって、１台のクライアント装置を１つのノードに接続させる場合であっても、１台のクライアント装置を二重化した２つのノードに接続させる場合であっても、本発明によるノードを使用することができる。すなわち、１台のクライアント装置を１つのノードに接続させる場合と、１台のクライアント装置を二重化した２つのノードに接続させる場合とで、ノードの構成を共通化することができる。
【発明の効果】
【００５８】
本発明によれば、クライアント装置が、同一の仮想冗長化ノードに含まれる２つのノードにパケットを振り分けて送信する。従って、リソースの利用効率を向上させることができる。【００５９】
本発明によるノードは、一のリングレットからパケットを受信する第１受信部と、他方のリングレットからパケットを受信する第２受信部と、クライアント装置にパケットを送信するクライアント装置向け送信部と、第１受信部または第２受信部が受信したパケットのクライアント装置向け送信部への出力を許可または禁止するフィルタ部とを備え、第１受信部、第２受信部、およびフィルタ部は、自ノードのみで単独のノードとして配置される第１使用態様、自ノードと同一のアドレスを有する他のノードとの組み合わされ、一のリングレットからのパケットを他のノードよりも先に受信するように配置される第２使用態様、または自ノードと同一のアドレスを有する他のノードとの組み合わされ、一のリングレットからのパケットを他のノードの次に受信するように配置される第３使用態様に応じた動作を行う。従って、１台のクライアント装置を１つのノードに接続させる場合と、１台のクライアント装置を二重化した２つのノードに接続させる場合とで、ノードの構成を共通化することができる。
【図面の簡単な説明】
【００６０】
【図１】本発明によるパケットリングネットワークシステムの例を示す説明図である 。
【図２】１つのクライアント装置が１つのノードに接続されるパケットリングネットワークシステムの例を示す説明図である。
【図３】ノードの構成例を示す説明図である。
【図４】ノードを２つ組み合わせた仮想冗長化ノードを示す説明図である。
【図５】各ノードのフォワーディング回路の動作を示す説明図である。
【図６】態様１におけるフォワーディング回路５１Ｗ，５１Ｅの動作を示すフローチャートである。
【図７】態様２におけるフォワーディング回路５１Ｗ，５１Ｅの動作を示すフローチャートである。
【図８】態様３におけるフォワーディング回路５１Ｗ，５１Ｅの動作を示すフローチャートである。
【図９】態様４におけるフォワーディング回路５１Ｗ，５１Ｅの動作を示すフローチャートである。
【図１０】リンク障害発生時におけるクライアント装置の動作を示すフローチャートである。
【図１１】２つのノードのうちクライアント装置との間のリンクに障害が発生していない方のノードの動作を示すフローチャートである。
【図１２】本発明の第２の実施の形態におけるノードの構成例を示す説明図である。
【図１３】ノードを２つ組み合わせた仮想冗長化ノードを示す説明図である。
【図１４】ＲＰＲのネットワーク構成例を示す説明図である。
【図１５】ＲＰＲフォーマットを示す説明図である。
【図１６】ＲＰＲのプロテクション動作を示す説明図である。
【図１７】コンピュータの一構成例を示すブロック図である。
【符号の説明】
【００６１】
５１，５２  フォワーディング回路
５３，５４，５５  多重化回路
５６  リングレット選択回路
５７  トポロジ管理回路
５８，５９  Ａｄｄ切替スイッチ
６０  アドレステーブル
６１  パケット変換回路
６２  フィルタ回路
６３  制御パケット処理回路
６４  ＴＴＬ設定回路
１００  冗長化ノードシステム制御回路
９０３  仮想冗長化ノード
９０４  クライアント装置
【発明を実施するための最良の形態】
【００６２】
以下、本発明を実施するための最良の形態を図面を参照して説明する。【００６３】
実施の形態１．
図１は、本発明によるパケットリングネットワークシステムの例を示す説明図である。本発明によるパケットリングネットワークシステムは、リング（ノードがリング状に接続されたパケットリング）を備える。そして、パケットリングネットワークシステムは、２つのＲＰＲノード（以下、単にノードと記す。）９０１，９０２を組み合わせ、その２つノード９０１，９０２を冗長に備える。そして、その２つのノードの組み合わせ９０３が仮想的に１つのノードとしての役割を果たす。図１では、２つのノードの組を４組示しているが、パケットリングネットワークシステムが備えるノードの組は４組に限定されるわけではない。以下、２つのノードの組み合わせを仮想冗長化ノードと記す。仮想冗長化ノードに含まれる２つのノードは、隣り合うように配置される。パケットリングネットワークシステムが備える各仮想冗長化ノードは、いずれも同様の動作をする。また、クライアント装置は、仮想冗長化ノードと接続される場合、その仮想冗長化ノードに含まれる２つのノードそれぞれとリンクにより接続される。例えば、図１に示すクライアント装置（ユーザ端末）９０４は、仮想冗長化ノード９０３に含まれるノード９０１，９０２それぞれと接続される。また、パケットリングネットワークシステムが備える各ノードは、互いに反対方向にパケットを転送するリングレット（ｒｉｎｇｌｅｔ）９１０ａ，９１０ｂによって接続される。【００６４】
なお、ここでは、リングレット９１０ａは、時計回りにＲＰＲパケットを転送し、リングレット９１０ｂは、反時計回りにＲＰＲパケットを転送するものとする。また、説明を簡単にするために、仮想冗長化ノード９０３に含まれる２つのノードのうち、時計回りに転送されるパケットを先に受信する方のノードを便宜上、西側ノード（Ｗｅｓｔ  Ｎｏｄｅ）と呼び、時計回りに転送されるパケットを西側ノードから受信するノードを東側ノード（Ｅａｓｔ  Ｎｏｄｅ）と呼ぶことにする。【００６５】
仮想冗長化ノード９０３に含まれる２つのノードには、同一のＲＰＲ  ＭＡＣアドレスが設定される。【００６６】
また、仮想冗長化ノード９０３に含まれるノードと同様に構成されるノードを冗長化せずに、１つのクライアント装置が１つのノードに接続されるパケットリングネットワークシステムを設けてもよい。このようなパケットリングネットワークシステムの例を図２に示す。図２に示すパケットリングネットワークシステムでは、クライアント装置は１つのノードと接続される。例えば、図２に示すクライアント装置９０４は、ノード１０１と接続される。各ノードは、互いに反対方向にパケットを転送するリングレット９１０ａ，９１０ｂによって接続される。【００６７】
１台のクライアント装置を１つのノードに接続させる場合のノード１０１と、１台のクライアント装置を二重化した２つのノードに接続させる場合のノード９０１，９０２の構成はいずれも同一である。このノードの構成については後述する。ノード１０１，９０１，９０３は、異なる符号を付して示されているが、いずれも同一の構成である。ただし、クライアント装置との接続態様によって、各ノードの設定は異なる。そして、構成が同一のノードであっても、設定により異なる動作を行う。図２に示すような冗長に配置されていないノード１０１（仮想冗長化ノードに含まれないノード）に対する設定を、冗長化非対応モードの設定と記すことにする。また、図１に示すような仮想冗長化ノードに含まれるノード９０１，９０２に対する設定を、冗長化対応モードの設定と記すことにする。また、仮想冗長化ノードに含まれるノード９０１，９０２に対して、冗長化対応モードの設定を行う場合、西側ノードであるか東側ノードであるかに応じて、それぞれ異なる設定を行う。【００６８】
また、個々のノードに対する冗長化非対応モードの設定、あるいは西側ノード用の冗長化対応モードの設定、東側ノード用の冗長化対応モードの設定は、例えば、上位プロビジョニング設定により行えばよい。すなわち、設定対象となるノードに接続されるパーソナルコンピュータ等の情報処理装置（図示せず。）を予め設けておき、その情報処理装置（本例では、パーソナルコンピュータとする。）がノードに対して、各種設定を行う。【００６９】
また、リングネットワークシステムの構成が変更された場合には、その変更に応じて、パーソナルコンピュータが、ノードの設定を変更する。例えば、図２に示すノード１０１の隣りに新たにノードを設けて、仮想冗長化ノードとする場合には、パーソナルコンピュータがオペレータの操作に従い、ノード１０１および新たに追加されたノード（図示せず。）の設定を、冗長化対応モードの設定に切り替える。また、仮に、図１に示すノード９０１，９０２の一方を廃棄する場合には、パーソナルコンピュータがオペレータの操作に従い、廃棄されずに残った方のノードを、冗長化非対応モードに切り替える。【００７０】
図３は、ノードの構成例を示す説明図である。以下、図３を参照して、ノードの構成および冗長化非対応モードに設定された場合の各構成部の処理を説明する。図３では、ノードをノード１０１と記す。【００７１】
ノード１０１は、フォワーディング回路５１，５２と、多重化回路５３〜５５と、リングレット選択回路５６と、トポロジ管理回路５７と、Ａｄｄ切替スイッチ（多重化回路切替スイッチ）５８，５９と、アドレステーブル６０と、パケット変換回路６１と、フィルタ回路６２と、制御パケット処理回路６３と、ＴＴＬ設定回路６４とを備える。【００７２】
ノード１０１は、リングレット９１０ａに応じたフォワーディング回路５１および多重化回路５３を備え、同様に、リングレット９１０ｂに応じたフォワーディング回路５２および多重化回路５４を備える。フォワーディング回路５１は、ポート７２ａによりリングレット９１０ａに接続され、多重化回路５３は、ポート７３ａによりリングレット９１０ａに接続される。また、フォワーディング回路５２は、ポート７３ｂによりリングレット９１０ｂに接続され、多重化回路５４は、ポート７２ｂによりリングレット９１０ｂに接続される。【００７３】
また、クライアントポート７１ａ，７１ｂは、クライアント装置９０４（図３において図示せず。）と接続される。【００７４】
冗長化非対応モード設定のとき、制御パケット処理回路６３は、制御パケットを転送するリングレットに応じた多重化回路（多重化回路５３，５４のいずれかまたは両方）に制御パケットを出力する。また、制御パケット処理回路６３は、フォワーディング回路５１，５２から制御パケットを入力された場合、その制御パケットの種類に応じた処理を実行する。【００７５】
フォワーディング回路５１，５２は、転送されてきたＲＰＲパケットのＲＰＲ  ＭＡＣ  ＤＡを参照する。そして、そのＲＰＲ  ＭＡＣ  ＤＡが、自ノード（図３に示す例ではノード１０１）のＲＰＲ  ＭＡＣアドレスと一致しているならば、そのＲＰＲパケットをリングから取り出す。そして、フォワーディング回路５１，５２は、そのＲＰＲパケットがデータパケットならば多重化回路５５に出力し、制御パケットならば制御パケット処理回路６３に出力する。なお、本実施形態では、クライアント装置または制御パケット処理回路６３に出力することを目的として、リングレットから転送されてきたパケットをリング内から取り出す（削除する）ことを“Ｓｔｒｉｐ”と記す。ただし、後述するように、冗長化対応モードの場合には、Ｓｔｒｉｐ（ストリップ）されたＲＰＲパケットであっても、クライアント装置に転送されない場合がある。なお、自ノードのＲＰＲ  ＭＡＣアドレスは、例えば、フォワーディング回路５１，５２が記憶していてもよい。また、ノードが備える記憶装置（図示せず。）が自ノードのＲＰＲ  ＭＡＣアドレスを記憶していてもよい。【００７６】
また、転送されてきたＲＰＲパケットがブロードキャストパケットである場合、フォワーディング回路５１，５２は、ブロードキャストパケットをクライアント装置に転送するとともに、リングレットにも転送する。なお、リングレットから転送されてきたパケットをそのリングレットに転送することを“Ｔｒａｎｓｉｔ”と記す。また、本実施形態では、リングレットから転送されてきたパケットをそのリングレットに転送しつつ、クライアント装置または制御パケット処理回路６３に出力することを目的として、そのパケットと同一のパケットを生成することを“Ｃｏｐｙ”と記す。ただし、後述するように、冗長化対応モードの場合には、Ｃｏｐｙ（コピイ）されたＲＰＲパケットであっても、クライアント装置に転送されない場合がある。フォワーディング回路５１，５３は、転送されてきたＲＰＲパケットがブロードキャストパケットである場合、Ｔｒａｎｓｉｔ（トランスミット）を行うとともに、ＲＰＲパケットをＣｏｐｙする。そして、ＣｏｐｙしたＲＰＲパケットがデータパケットならば多重化回路５５に出力し、制御パケットならば制御パケット処理回路６３に出力する。【００７７】
フォワーディング回路５１，５２は、転送されてきたＲＰＲパケットが上記の何れにも当てはまらない場合、転送されてきたパケットを同一リングレットに送信する（Ｔｒａｎｓｉｔ）。【００７８】
多重化回路５５は、各リングレット（各フォワーディング回路５１，５２）からクライアント装置に転送されるパケットを多重して、フィルタ回路６２およびアドレステーブル６０に出力する。【００７９】
フィルタ回路６２は、多重化回路５５からパケットを受け取り、そのパケットをパケット変換回路６１に出力するか否かを決定する。ただし、本設定（冗長化非対応モード）では、フィルタ回路６２は、多重化回路５５から送られてくるパケットの通過を許可し、パケット変換回路６１に出力する。【００８０】
アドレステーブル６０は、クライアント装置のＭＡＣアドレスと、リング内のノードのＲＰＲ  ＭＡＣアドレスとを対応付けて記憶する。アドレステーブル６０は、ＦＤＢとして機能する。アドレステーブル６０は、多重化回路５５から受け取ったＲＰＲパケットにおけるＲＰＲ  ＭＡＣ  ＳＡ（送信元となるリング内のノードのアドレス）と、そのＲＰＲパケット内にカプセル化されているユーザデータパケットのＭＡＣ  ＳＡとの対応関係を学習し、記憶する。なお、ＲＰＲパケット内にカプセル化されているユーザデータパケットのＭＡＣ  ＳＡは、そのユーザデータパケットを送信したクライアント装置（図３において図示せず。）のＭＡＣアドレスである。【００８１】
パケット変換回路６１は、フィルタ回路６２等を介して、各リングレット（各フォワーディング回路５１，５２）からクライアント装置に転送されるパケットを受け取る。パケット変換回路６１は、ＲＰＲパケットの状態のパケットを受け取り、そのＲＰＲパケットからユーザデータパケットを取り出す（すなわち、デカプセル化を行う）。パケット変換回路６１は、そのユーザデータパケットをクライアントポート７１ｂから出力し、クライアント装置に転送する。【００８２】
また、パケット変換回路６１は、クライアントポート７１ａを介して、クライアント装置９０４（図２参照。図３において図示せず。）からユーザデータパケットを受け取る。このとき、パケット変換回路６１は、アドレステーブル６０を参照して、受け取ったユーザデータパケットにおけるＭＡＣ  ＤＡに対応するＲＰＲ  ＭＡＣアドレスを検索する。エントリがあれば（すなわち、検索に成功すれば）、パケット変換回路６１は、検索したＲＰＲ  ＭＡＣアドレスをＲＰＲ  ＭＡＣ  ＤＡとして、ユーザデータパケットをカプセ
ル化する。【００８３】
また、エントリがなければ（すなわち、検索に失敗したならば）、ブロードキャストアドレスをＲＰＲ  ＭＡＣ  ＤＡとして、ユーザデータパケットをカプセル化する。この場合、カプセル化されるユーザデータパケットのＭＡＣ  ＤＡはブロードキャストアドレスではないが、そのユーザデータパケットをカプセル化したＲＰＲパケットのＲＰＲ  ＭＡＣ  ＤＡは、ブロードキャストアドレスとなる。このようなＲＰＲパケットを、 Unknownユニキャストパケットと呼ぶ。パケット変換回路６１は、ＲＰＲ  ＭＡＣ  ＤＡを設定してカプセル化したパケットをリングレット選択回路５６に出力する。【００８４】
リングレット選択回路５６は、パケット変換回路６１から送られてきたパケットがユニキャストパケット（Unknownユニキャストパケットは除く。）である場合、トポロジ管理回路５７を参照して、最短経路で宛先ノードへ到達可能なリングレットを選択してパケットを出力する。また、リングレット選択回路５６は、パケット変換回路６１から送られてきたパケットがブロードキャストパケットである場合、予め定められた転送方法(片方向フラッディングもしくは双方向フラッディング)に従ってリングレットを選択する。リングレット選択回路５６は、選択したリングレットをＲＰＲパケットに設定し、ＲＰＲパケットをＴＴＬ設定回路６４に出力する。【００８５】
トポロジ管理回路５７は、自ノードを含むリングにおいて時計回り方向に並ぶ各ノードのＲＰＲ  ＭＡＣアドレスと、反時計回り方向に並ぶ各ノードのＲＰＲ  ＭＡＣアドレスを記憶し、管理する。【００８６】
ＴＴＬ設定回路６４は、リングレット選択回路５６から送られてきたパケットにＴＴＬ値を設定する。このとき、ＴＴＬ設定回路６４は、トポロジ管理回路５７を参照し、ユニキャストパケットの場合は、自ノードから宛先ノードまでのホップ数をＴＴＬ値として設定する。ブロードキャストパケットの場合は、リング内でパケットの重複到着および不到着が生じないようにＴＴＬ値を設定する。ＴＴＬ設定回路６４は、ＴＴＬ値を設定したパケットを、リングレット選択回路５６によって選択されたリングレットに対応する多重化回路（多重化回路５３または多重化回路５４）に出力する。リングレット選択回路５６によって双方のリングレットが選択されていた場合には、ＴＴＬ設定回路６４は、多重化回路５３と多重化回路５４の双方にパケットを出力する。【００８７】
なお、ＴＴＬ設定回路６４は、２つのノードを組み合わせた仮想冗長化ノードについては、１つのノードとみなしてホップ数をカウントする。【００８８】
また、ＴＴＬ設定回路６４は、Ａｄｄ切替スイッチ５８を介して多重化回路５４にパケットを出力し、Ａｄｄ切替スイッチ５９を介して多重化回路５３にパケットを出力する。Ａｄｄ切替スイッチ５８は、冗長化非対応モード設定の場合、ＴＴＬ設定回路６４からのパケットを多重化回路５４に出力する。同様に、Ａｄｄ切替スイッチ５９は、冗長化非対応モード設定の場合、ＴＴＬ設定回路６４からのパケットを多重化回路５３に出力する。【００８９】
多重化回路５３は、クライアントからのパケット（Ａｄｄ切替スイッチ５９からのパケット）と、リングからのパケット（フォワーディング回路５１が出力したパケット）を多重化して、リングレット９１０ａに送信する。同様に、多重化回路５４は、クライアントからのパケット（Ａｄｄ切替スイッチ５８からのパケット）と、リングからのパケット（フォワーディング回路５２が出力したパケット）を多重化して、リングレット９１０ｂに送信する。【００９０】
ノード間ＡＤＤインタフェース８１ａ、８１ｂ、８２ａ、８２ｂは、ＲＰＲノード冗長化非対応モード時にはパケット転送に寄与しない。【００９１】
以上のような各構成部の動作により、冗長化非対応モードに設定されたノード１０１は、ＩＥＥＥ８０２．１７に準拠した動作を行う。【００９２】
図４は、図３に示す構成のノードを２つ組み合わせた仮想冗長化ノードを示す説明図である。図３と同様の構成部は、図３と同一の符号を付す。ただし、仮想冗長化ノードに含まれる各ノードは、冗長化対応モードに設定されるので、図３を用いて説明した動作と異なる動作を行う構成部が存在する。図３を用いて説明した動作と同一の動作については説明を省略する。また、図４では、仮想冗長化ノードに含まれる２つのノードをノード９０１，９０２と記す。図４に示す例において、ノード９０１は、西側ノードであり、上位プロビジョニングにより（例えば、図示していないパーソナルコンピュータにより）、西側ノード用の冗長化対応モードの設定が行われる。ノード９０２は、東側ノードであり、上位プロビジョニングにより東側ノード用の冗長化対応モードの設定が行われる。また、既に説明したように、同一の仮想冗長化ノード９０３に含まれる２つのノードには、同一のＲＰＲノードＩＤ（ＲＰＲ  ＭＡＣアドレス）が与えられる。【００９３】
なお、以下の説明において、西側ノード９０１の構成要素であることを示す場合に、符号の後に“Ｗ”を付す場合がある。同様に、東側ノード９０２の構成要素であることを示す場合に、符号の後に“Ｅ”を付す場合がある。【００９４】
図４に示す仮想冗長化ノードでは、西側ノード９０１のポート７３ａ，７３ｂと、東側ノード９０２のポート７２ａ，７２ｂとがそれぞれ接続される。また、西側ノード９０１のノード間ＡＤＤインタフェース８２ｂと、東側ノード９０２のノード間ＡＤＤインタフェース８１ｂとが接続され、西側ノード９０１のＡｄｄ切替スイッチ５９Ｗから、東側ノード９０２の多重化回路５３Ｅにパケットを送信できるよう接続されている。同様に、東側ノード９０２のノード間ＡＤＤインタフェース８２ａと、西側ノード９０１のノード間ＡＤＤインタフェース８１ａとが接続され、東側ノード９０２のＡｄｄ切替スイッチ５８Ｅから、西側ノード９０１の多重化回路５４Ｗにパケットを送信できるように接続されている。ノード間ＡＤＤインタフェース８１ａ、８１ｂ、８２ａ、８２ｂは、仮想冗長化ノードにおいて、一方のノードのＡｄｄ切替スイッチと、他方のノードの多重化回路とを接続させるためのインタフェースである。【００９５】
仮想冗長化ノードでは、冗長化ノードシステム制御回路１００を備える。冗長化ノードシステム制御回路１００は、各ノード９０１，９０２の制御パケット処理回路６３と接続される。【００９６】
クライアント装置９０４（図４において図示せず。図１参照。）は、ノード９０１、９０２それぞれのクライアントポート７１ａ，７１ｂと接続され、リングに対して冗長接続する。このとき、リンク・アグリゲーションなどを適用して、パケットのループを防止する。【００９７】
まず、クライアント装置９０４とノード９０１，９０２とを接続させる各リンクに障害が発生していない場合（正常時の場合）について説明する。【００９８】
正常時に、クライアント装置９０４は、ユーザデータパケットを送信する度に、予め定められた規則に応じてユーザデータパケットを送信するノードを決定し、決定したノードに対してユーザデータパケットを送信する。この規則は、クライアント装置９０４がノード９０１，９０２のいずれか一方にのみユーザデータパケットを送信することがないように定められる。従って、クライアント装置９０４は、ノード９０１，９０２の双方にユーザデータパケットを振り分けて送信することになる。よって、リソースの利用効率を高めることができる。なお、正常時に、クライアント装置９０４がノード９０１，９０２のいずれか一方に対してのみユーザデータパケットを送信してもよいが、この場合、他方のノードは、クライアント装置９０４からユーザデータパケットを受信することがないため、リソースの利用効率を高められない。よって、クライアント装置９０４は、ユーザデータパケットを送信する度に、規則に応じてユーザデータパケットを送信するノードを決定することが好ましい。【００９９】
冗長化対応モードの設定が行われた場合、一方のリングレットから先にＲＰＲパケットを受信するノードのＡｄｄ切替スイッチのうち、そのリングレットに転送すべきＲＰＲパケットをＴＴＬ設定回路６４から入力されるＡｄｄ切替スイッチは、ＴＴＬ設定回路６４からのＲＰＲパケットを、そのリングレットにパケット送信を行う他のノードの多重化回路に出力する。従って、西側ノード用の冗長化対応モードの設定が行われたＡｄｄ切替スイッチ５９Ｗは、リングレット９１０ａに転送すべきＲＰＲパケットをＴＴＬ設定回路６４Ｗから入力された場合、そのＲＰＲパケットを、ノード９０２の多重化回路５３Ｅに出力する。同様に、東側ノード用の冗長化対応モードの設定が行われたＡｄｄ切替スイッチ５８Ｅは、リングレット９１０ｂに転送すべきＲＰＲパケットをＴＴＬ設定回路６４Ｅから入力された場合、そのＲＰＲパケットを、ノード９０１の多重化回路５４Ｗに出力する。この結果、一方のリングレットから先にＲＰＲパケットを受信するノードの多重化回路のうち、そのリングレットからのパケットを受信する多重化回路（多重化回路５３Ｗ，５４Ｅ）は、Ａｄｄ切替スイッチからＲＰＲパケットを受け取ることがなくなる。【０１００】
また、冗長化対応モードの設定が行われた場合、一方のリングレットから先にＲＰＲパケットを受信するノードのＡｄｄ切替スイッチのうち、他方のリングレットに転送すべきＲＰＲパケットをＴＴＬ設定回路６４から入力されるＡｄｄ切替スイッチは、ＴＴＬ設定回路６４からのＲＰＲパケットを、その他方のリングレットにパケット送信を行う同一ノード内の多重化回路に出力する。従って、西側ノード用の冗長化対応モードの設定が行われたＡｄｄ切替スイッチ５８Ｗは、リングレット９１０ｂに転送すべきＲＰＲパケットをＴＴＬ設定回路６４Ｗから入力された場合、そのＲＰＲパケットを、自ノード内の多重化回路５４Ｗに出力する。同様に、東側ノード用の冗長化対応モードの設定が行われたＡｄｄ切替スイッチ５９Ｅは、リングレット９１０ａに転送すべきＲＰＲパケットをＴＴＬ設定回路６４Ｅから入力された場合、そのＲＰＲパケットを、自ノード内の多重化回路５３Ｅに出力する。【０１０１】
また、冗長化対応モードの設定が行われた場合、一方のリングレットから先にＲＰＲパケットを受信するノードの多重化回路のうち、他方のリングレットにパケット送信を行う多重化回路は、自ノード内のフォワーディング回路からＴｒａｎｓｉｔされるＲＰＲパケットやクライアント装置からのユーザデータパケットに基づいて生成されたＲＰＲパケットだけでなく、同一の仮想冗長化ノードに属する他方のノードから出力されたＲＰＲパケットも多重する。従って、西側ノード用の冗長化対応モードの設定が行われた多重化回路５４Ｗは、フォワーディング回路５２ＷからのＲＰＲパケット、Ａｄｄ切替スイッチ５８ＷからのＲＰＲパケットだけでなく、ノード９０２のＡｄｄ切替スイッチ５８ＥからのＲＰＲパケットも多重する。同様に、東側ノード用の冗長化対応モードの設定が行われた多重化回路５３Ｅは、フォワーディング回路５１ＥからのＲＰＲパケット、Ａｄｄ切替スイッチ５９ＥからのＲＰＲパケットだけでなく、ノード９０１のＡｄｄ切替スイッチ５９ＷからのＲＰＲパケットも多重する。【０１０２】
よって、クライアント装置から転送されたユーザデータパケットに基づいて生成されたＲＰＲパケットのうち、リングレット９１０ａに転送するＲＰＲパケットは、全て多重化回路５３Ｅで多重される。クライアント装置から転送されたユーザデータパケットに基づいて生成されたＲＰＲパケットのうち、リングレット９１０ｂに転送するＲＰＲパケットは、全て多重化回路５４Ｗで多重される。このように、クライアント装置からのパケットを多重する多重化回路を多重化回路５３Ｅ，５４Ｗに局所化することにより、リングレットに転送するパケットとして多重（Ａｄｄ）されるパケットの公平性を保つことができる。仮に、リングレット９１０ａに対応する多重化回路５３Ｗ，５３Ｅの双方で、クライアント装置からのパケットの多重を行うとする。この場合、多重化回路５３Ｅで多重を行う前に、多重化回路５３Ｗでの多重が行われることになる。そして、多重化回路５３Ｗでの多重により、転送可能な容量を超えてしまった場合には、多重化回路５３Ｅは、クライアント装置からのパケットを多重できなくなる。すなわち、多重化回路５３Ｗでの多重が優先的に行われ、多重化回路５３Ｅがパケットの多重を行えなくなる場合が生じ、パケット多重の公平性が保てなくなる。クライアント装置からのパケットを多重する多重化回路を局所化することにより、このような問題が解決される。クライアント装置からのパケットを多重する多重化回路５３Ｅ，５４Ｗは、例えば、クライアント装置からのパケットを多重する際、パケットを参照して優先度の高いパケットから多重すればよい。【０１０３】
また、ノード９０１，９０２のＲＰＲ  ＭＡＣアドレスは同一であるので、多重化回路５３Ｗによって多重（Ａｄｄ）されたクライアント装置からのパケットをフォワーディング回路５１Ｅが受信した場合、フォワーディング回路５１Ｅは、そのパケットを自ノードが送信したパケットであると判定して、廃棄してしまうことになる。クライアント装置からのパケットを多重する多重化回路を多重化回路５３Ｅ，５４Ｗに局所化することにより、このような問題も解決できる。【０１０４】
また、冗長化対応モードの設定が行われた場合、フィルタ回路は、自ノードが西側ノードであるか東側ノードであるか、また、入力されたＲＰＲパケットがどちらのリングレットからＤｒｏｐされたかに応じて、そのＲＰＲパケットの通過を許可するか否かを決定する。具体的には、フィルタ回路は、自ノードが先にＲＰＲパケットを受信することになるリングレットからＤｒｏｐ（ＳｔｒｉｐあるいはＣｏｐｙ）されたＲＰＲパケットについては通過を許可し、もう一方のリングレットからＤｒｏｐされたＲＰＲパケットは通過を許可しない。従って、西側ノード用の冗長化対応モードの設定が行われたフィルタ回路６２Ｗは、リングレット９１０ａからＳｔｒｉｐあるいはＣｏｐｙされたＲＰＲパケットについては通過を許可し、パケット変換回路６１Ｗに出力する。また、フィルタ回路６２Ｗは、リングレット９１０ｂからＳｔｒｉｐあるいはＣｏｐｙされたＲＰＲパケットについては通過を許可せず、パケット変換回路６１Ｗへの出力を禁止する。同様に、東側ノード用の冗長化対応モードの設定が行われたフィルタ回路６２Ｅは、リングレット９１０ｂからＳｔｒｉｐあるいはＣｏｐｙされたＲＰＲパケットについては通過を許可し、パケット変換回路６１Ｅに出力する。また、フィルタ回路６２Ｅは、リングレット９１０ａからＳｔｒｉｐあるいはＣｏｐｙされたＲＰＲパケットについては通過を許可せず、パケット変換回路６１Ｅへの出力を禁止する。【０１０５】
また、冗長化対応モードの設定が行われた場合、各フォワーディング回路５１Ｗ，５２Ｗ，５１Ｅ，５２Ｅは、自ノードが西側ノードであるか東側ノードであるかや、転送されてきたパケットの属性（例えば、データパケットであるか、制御パケットであるか、ユニキャストパケットであるか、ブロードキャストパケットであるか）に応じた動作を行う。【０１０６】
図５は、各ノードのフォワーディング回路の動作を示す説明図である。また、図６〜図９は、各態様に応じたフォワーディング回路の動作を示すフローチャートである。以下、図５〜図９を参照して、冗長化対応モード設定時のフォワーディング回路の動作について説明する。【０１０７】
図５では、ノードとして、「リングレットからＲＰＲパケットを先に受信するノード」および「もう一方のノード」を示している。以下の説明では、「リングレットからＲＰＲパケットを先に受信するノード」を、リングレット９１０ａから先にＲＰＲパケットを受信する西側ノード９０１とし、「もう一方のノード」を東側ノード９０２とした場合を例に説明する。ただし、「リングレットからＲＰＲパケットを先に受信するノード」を、リングレット９１０ｂから先にＲＰＲパケットを受信する東側ノード９０２とし、「もう一方のノード」を西側ノード９０１とした場合であっても、動作の主体がフォワーディング回路５１Ｗ，５１Ｅからフォワーディング回路５２Ｅ，５２Ｗに入れ替わる点を除けば同様である。【０１０８】
図５に示す「態様１」は、リングレット９１０ａから西側ノード９０１に対して、宛先アドレスが自ノードアドレスと一致しないユニキャストパケットが転送される態様である。ここで、自ノードアドレスとは、ノード９０１，９０２に共通のＲＰＲ  ＭＡＣアドレスである。また、図６は、態様１におけるフォワーディング回路５１Ｗ，５１Ｅの動作を示すフローチャートである。フォワーディング回路５１Ｗは、宛先アドレスが自ノードアドレスと一致しないユニキャストパケットをリングレット９１０ａから受信すると、そのユニキャストパケットのＴＴＬ値の減算を行わず、転送されてきたパケットを同一リングレット９１０ａに送信（Ｔｒａｎｓｉｔ）する（ステップＳ１１）。また、フォワーディング回路５１Ｗは、受信したユニキャストパケットのＴＴＬ値が０の場合でも、ＴＴＬ値を０のまま、同一リングレット９１０ａに送信（Ｔｒａｎｓｉｔ）する（ステップＳ１１）。すると、フォワーディング回路５１Ｅは、西側ノード９０１からユニキャストパケットを受信する。フォワーディング回路５１Ｅは、西側ノード９０１から受信したユニキャストパケットのＴＴＬ値を１減算し、そのユニキャストパケットを同一リングレット９１０ａに送信（Ｔｒａｎｓｉｔ）する（ステップＳ１２）。ただし、フォワーディング回路５１Ｅは、ステップＳ１２において、受信したユニキャストパケットのＴＴＬ値が０である場合には、Ｔｒａｎｓｉｔを行わずに、そのユニキャストパケットを廃棄する。【０１０９】
図５に示す「態様２」は、リングレット９１０ａから西側ノード９０１に対して、ＴＴＬ値が０でないブロードキャストパケットが転送される態様である。また、図７は、態様２におけるフォワーディング回路５１Ｗ，５１Ｅの動作を示すフローチャートである。フォワーディング回路５１Ｗは、ＴＴＬ値が０でないブロードキャストパケットをリングレット９１０ａから受信すると、そのブロードキャストパケットのＴＴＬ値の減算を行わずに、そのブロードキャストパケットを、転送されてきたリングレット９１０ａに送信（Ｔｒａｎｓｉｔ）するとともに、そのパケットと同一パケットを生成（Ｃｏｐｙ）する（ステップＳ２１）。すると、フォワーディング回路５１Ｅは、西側ノード９０１からブロードキャストパケットを受信する。フォワーディング回路５１Ｅは、西側ノード９０１から受信したブロードキャストパケットのＴＴＬ値を１減算し、Ｔｒａｎｓｉｔ処理およびＣｏｐｙ処理を行う（ステップＳ２２）。すなわち、受信したブロードキャストパケットを、転送されてきたリングレット９１０ａに送信するとともに、そのパケットと同一パケットを生成する。【０１１０】
なお、態様２において、ステップＳ２１，Ｓ２２でＣｏｐｙされたブロードキャストパケットは、データパケットであれば、それぞれフィルタ回路６２Ｗ，６２Ｅに入力されることになる。この場合、フィルタ回路６２Ｗはパケットの通過を許可するが、フィルタ回路６３Ｅはパケットの通過を禁止する。よって、ブロードキャストパケットからデカプセル化されるユーザデータパケットは、西側ノード９０１からのみクライアント装置に送信される。よって、クライアント装置における同一パケットの二重到着が防止される。また、ステップＳ２１，Ｓ２２でＣｏｐｙされたブロードキャストパケットは、制御パケットであれば、それぞれ制御パケット処理回路６３Ｗ，６３Ｅに入力される。制御パケット処理回路６３Ｗ，６３Ｅは、入力された制御パケットの種類に応じた処理を実行する。【０１１１】
図５に示す「態様３」は、リングレット９１０ａから西側ノード９０１に対して、ＴＴＬ値が０のブロードキャスト制御パケット（ブロードキャスト送信される制御パケット）が転送される態様である。また、図８は、態様３におけるフォワーディング回路５１Ｗ，５１Ｅの動作を示すフローチャートである。【０１１２】
フォワーディング回路５１Ｗは、ＴＴＬ値が０であるブロードキャスト制御パケットをリングレット９１０ａから受信すると、そのブロードキャスト制御パケットを、転送されてきたリングレット９１０ａに送信（Ｔｒａｎｓｉｔ）する（ステップＳ３１）。フォワーディング回路５１Ｅは、このブロードキャスト制御パケット（ＴＴＬ値は０）を受信すると、受信したパケットを廃棄する（ステップＳ３２）。【０１１３】
図５に示す「態様４」は、リングレット９１０ａから西側ノード９０１に対して、宛先アドレスが自ノードアドレスと一致するユニキャスト制御パケット（ユニキャスト送信される制御パケット）が転送される態様である。また、図９は、態様４におけるフォワーディング回路５１Ｗ，５１Ｅの動作を示すフローチャートである。フォワーディング回路５１Ｗは、宛先アドレスが自ノードアドレスと一致するユニキャスト制御パケットをリングレット９１０ａから受信すると、そのユニキャスト制御パケットを、転送されてきたリングレット９１０ａに送信（Ｔｒａｎｓｉｔ）するとともに、そのパケットと同一パケットを生成（Ｃｏｐｙ）する（ステップＳ４１）。ただし、ＴＴＬ値が０であった場合には、フォワーディング回路５１Ｗは、Ｃｏｐｙ処理は行わずにＴｒａｎｓｉｔ処理を行う。すなわち、ＴＴＬ値が０のパケットと同一パケットの生成を行わずに、受信したユニキャスト制御パケットを、転送されてきたリングレット９１０ａに送信する。フォワーディング回路５１Ｅは、西側ノード９０１から、ユニキャスト制御パケットを受信する。フォワーディング回路５１Ｅは、西側ノード９０１から受信したユニキャスト制御パケットをリングレット９１０ａから取り出す（Ｓｔｒｉｐ，ステップＳ４２）。ただし、ＴＴＬ値が０であった場合には、フォワーディング回路５１Ｅは、Ｓｔｒｉｐ処理を行わずに、受信したユニキャスト制御パケットを廃棄する。【０１１４】
なお、態様４において、ステップＳ４１でＣｏｐｙされたユニキャスト制御パケットは、フォワーディング回路５１Ｗから制御パケット処理回路６３Ｗに出力され、制御パケット処理回路６３Ｗが制御パケットの種類に応じた処理を実行する。同様に、ステップＳ４２でＳｔｒｉｐされたユニキャスト制御パケットは、フォワーディング回路５１Ｅから制御パケット処理回路６３Ｅに出力され、制御パケット処理回路６３Ｅが制御パケットの種類に応じた処理を実行する。【０１１５】
図５に示す「態様５」は、リングレット９１０ａから西側ノード９０１に対して、ＴＴＬ値が０のブロードキャストデータパケットが転送される態様である。態様５におけるフォワーディング回路５１Ｗ，５１Ｅの動作は、図８に示す動作と同様である。すなわち、フォワーディング回路５１Ｗは、ＴＴＬ値が０であるブロードキャストデータパケットをリングレット９１０ａから受信すると、そのブロードキャストデータパケットを、転送されてきたリングレット９１０ａに送信（Ｔｒａｎｓｉｔ）する。フォワーディング回路５１Ｅは、このブロードキャストデータパケット（ＴＴＬ値は０）を受信すると、受信したパケットを廃棄する。【０１１６】
図５に示す「態様６」は、リングレット９１０ａから西側ノード９０１に対して、宛先アドレスが自ノードアドレスと一致するユニキャストデータパケットが転送される態様である。態様６におけるフォワーディング回路５１Ｗ，５１Ｅの動作は、図９に示す動作と同様である。すなわち、フォワーディング回路５１Ｗは、宛先アドレスが自ノードアドレスと一致するユニキャストデータパケットをリングレット９１０ａから受信すると、そのユニキャストデータパケットを、転送されてきたリングレット９１０ａに送信（Ｔｒａｎｓｉｔ）するとともに、そのパケットと同一パケットを生成（Ｃｏｐｙ）する。ただし、ＴＴＬ値が０であった場合には、フォワーディング回路５１Ｗは、Ｃｏｐｙ処理は行わずにＴｒａｎｓｉｔ処理を行う。すなわち、ＴＴＬ値が０のパケットと同一パケットの生成を行わずに、受信したユニキャストデータパケットを、転送されてきたリングレット９１０ａに送信する。フォワーディング回路５１Ｅは、西側ノード９０１から、ユニキャストデータパケットを受信する。フォワーディング回路５１Ｅは、西側ノード９０１から受信したユニキャストデータパケットをリングレット９１０ａから取り出す（Ｓｔｒｉｐ）。ただし、ＴＴＬ値が０であった場合には、フォワーディング回路５１Ｅは、Ｓｔｒｉｐ処理を行わずに、受信したユニキャストデータパケットを廃棄する。【０１１７】
なお、態様６において、フォワーディング回路５１ＷがＣｏｐｙしたユニキャストデータパケットはフィルタ回路６２Ｗに入力され、フィルタ回路６２Ｗはそのパケットの通過を許可する。また、フォワーディング回路５１ＥがＳｔｒｉｐしたユニキャストデータパケットはフィルタ回路６２Ｅに入力され、フィルタ回路６２Ｅはそのパケットの通過を禁止する。従って、ユニキャストデータパケットからデカプセル化されるユーザデータパケットは、西側ノード９０１からのみクライアント装置に送信される。よって、クライアント装置における同一パケットの二重到着が防止される。【０１１８】
また、冗長化対応モード設定時における制御パケット処理装置６３について説明する。上述の態様２および態様４で説明したように、フォワーディング回路（上記の例ではフォワーディング回路５１Ｗ，５１Ｅ）は、ＣｏｐｙまたはＳｔｒｉｐしたパケットが制御パケットである場合には、その制御パケットを自ノード内の制御パケット処理回路６３に出力する。制御パケット処理回路６３は、入力された制御パケットの種類に応じた処理（情報解析等）を実行する。制御パケット処理回路６３は、制御パケットの種類に応じて、例えば、トポロジディスカバリ、プロテクション、ＯＡＭ(Ｏｐｅｒａｔｉｏｎ、Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  ａｎｄ  Ｍａｉｎｔｅｎａｎｃｅ)等を行う。これらの処理は、各ノード９０１，９０２において独立に行われる。ただし、仮想冗長化ノード１０３として制御パケットによる連携した処理が必要な場合は、冗長化ノードシステム制御回路１００が連携処理を行い、制御パケット処理回路６３により制御パケットの送受信動作を行う。【０１１９】
また、冗長化対応モード設定時において、制御パケット処理装置６３は、ユニキャスト制御パケットを送信する場合、自ノードに先にＲＰＲパケットを転送することになるリングレットとは反対側のリングレットに対応する多重化回路にのみユニキャスト制御パケットを出力する。例えば、制御パケット処理回路６３Ｗは、リングレット９１０ｂに対応する多重化回路５４Ｗにのみユニキャスト制御パケットを出力する。また、制御パケット処理回路６３Ｅは、リングレット９１０ａに対応する多重化回路５３Ｅにのみユニキャスト制御パケットを出力する。冗長化ノードシステム制御回路１００は、ユニキャスト制御パケットの送信タイミングになったと判定した場合や、情報処理装置（図示せず。）を介してオペレータからユニキャスト制御パケットの送信指示を受けた場合には、そのユニキャスト制御パケットを送信すべきリングレットに応じたノードの制御パケット処理回路６３にユニキャスト制御パケットの送信を行わせる。【０１２０】
また、冗長化ノードシステム１００は、仮想冗長化ノード内の一方の制御パケット処理回路６３の処理結果を、他方の制御パケット処理回路６３に通知する処理を行ってもよい。【０１２１】
以上の説明では、クライアント装置９０４とノード９０１，９０２とを接続させる各リンクに障害が発生していない場合（正常時の場合）について述べた。冗長化対応モード設定時であって、クライアント装置９０４とノード９０１，９０２とを接続させる各リンクの一方に障害が発生した場合、障害が発生したリンクに接続されるノードの各構成部の動作は変わらない。障害が発生していないリンクに接続されるノードでは、フィルタ回路６２の動作が、正常時の動作から切り替わる。フィルタ回路６２は、自ノードと対になる他のノードとクライアント装置間のリンクに障害が発生した旨の通知を受けた場合、ＲＰＲパケットがどちらのリングレットからＤｒｏｐ（ＳｔｒｉｐやＣｏｐｙ）されたパケットであっても、通過を許可する。【０１２２】
また、クライアント装置は、仮想冗長化ノードに含まれる２つのノード９０１，９０２のうち、障害が発生していない方のリンクに接続されたノードにのみユーザデータパケットを送信する。【０１２３】
次に、図４を参照して、各種属性（データパケットであるか、制御パケットであるか、ユニキャストパケットであるか、ブロードキャストパケットであるか）を有するＲＰＲパケットの転送動作について説明する。その他の転送動作については、ＩＥＥＥ８０２．１７に準拠する。【０１２４】
なお、冗長化非対応モードに設定されたノード１０１（図２参照。）の動作は、ＩＥＥＥ８０２．１７に規定されている動作であり、当業者にとって既知の内容であるため、説明を省略する。【０１２５】
以下の説明では、まず、クライアント装置９０４とノード９０１，９０２とを接続させる各リンクに障害が発生していない場合について説明する。【０１２６】
図４に示すノード９０１，９０２はそれぞれ、例えば、起動時に上位のマネジメントシステム等により、西側ノード用の冗長化対応モードの設定、東側ノード用の冗長化対応モードの設定が行われる。あるいは、既に説明したように、パーソナルコンピュータ等の情報処理装置が、ノード９０１，９０２に、西側ノード用の冗長化対応モードの設定、東側ノード用の冗長化対応モードの設定を行ってもよい。【０１２７】
ブロードキャストデータパケットの転送動作は、以下のようになる。【０１２８】
クライアント装置９０４（図４において図示せず。図１参照。）は、規則に応じてユーザデータパケットを送信するノードを決定し、決定したノードに対してユーザデータパケットを送信する。従って、ノード９０１，９０２は、いずれもクライアント装置からユーザデータパケットを受信することがある。【０１２９】
ノード９０１，９０２のいずれか一方のパケット変換回路６１が、ＲＰＲ  ＭＡＣ  ＤＡとしてブロードキャストアドレスを設定して、ユーザデータパケットをカプセル化してブロードキャストデータパケットを生成したとする。なお、パケット変換回路６１は、例えば、ユーザデータパケットのＭＡＣ  ＤＡがブロードキャストアドレスであったり、ユーザデータパケットのＭＡＣ  ＤＡに対応するＲＰＲ  ＭＡＣアドレスの検索に失敗した場合に、ブロードキャストデータパケットを生成する。【０１３０】
リングレット選択回路５６は、パケット変換回路６１によって生成されたブロードキャストデータパケットを送信すべきリングレットを決定し、そのリングレットの情報をブロードキャストデータパケットに付加する（具体的には、図１５に示すBase Controlフィールドのサブフィールドである“ｒｉ”に付加する）。続いて、ＴＴＬ設定回路６４がＴＴＬ値を設定し、リングレット９１０ａに送信すべきブロードキャストデータパケットは多重化回路５３Ｅに出力し、リングレット９１０ｂに送信すべきブロードキャストデータパケットは、多重化回路５４Ｗに出力する。具体的には、ＴＴＬ設定回路６４Ｗがブロードキャストデータパケットを出力する場合、ＴＴＬ設定回路６４Ｗは、リングレット９１０ａに送信すべきブロードキャストデータパケットを、Ａｄｄ切替スイッチ５９Ｗを介して多重化回路５３Ｅに出力する。そして、ＴＴＬ設定回路６４Ｗは、リングレット９１０ｂに送信すべきブロードキャストデータパケットを、Ａｄｄ切替スイッチ５８Ｗを介して多重化回路５４Ｗに出力する。また、ＴＴＬ設定回路６４Ｅがブロードキャストデータパケットを出力する場合、ＴＴＬ設定回路６４Ｅは、リングレット９１０ａに送信すべきブロードキャストデータパケットを、Ａｄｄ切替スイッチ５９Ｅを介して多重化回路５３Ｅに出力する。そして、ＴＴＬ設定回路６４Ｅは、リングレット９１０ｂに送信すべきブロードキャストデータパケットを、Ａｄｄ切替スイッチ５８Ｅを介して多重化回路５４Ｗに出力する。多重化回路５３Ｅは、入力されたブロードキャストパケットを多重し、リングレット９１０ａに出力する。同様に、多重化回路５４Ｗは、入力されたブロードキャストパケットを多重し、リングレット９１０ｂに出力する。【０１３１】
また、仮想冗長化ノード９０３（図１参照。）以外の仮想冗長化ノードからリングレット９１０ａに送出されたブロードキャストデータパケットが、仮想冗長化ノード９０３に転送されてきたとする。この場合、図４に示すフォワーディング回路５１Ｗがリングレット９１０ａからブロードキャストデータパケットを受信する。以降の動作は、ＴＴＬ値が０であるか否かによって異なる。【０１３２】
ＴＴＬ値が０ではないブロードキャストデータパケットを受信した場合、フォワーディング回路５１Ｗは、ＴＴＬ減算を行わずに、そのブロードキャストデータパケットを、転送されてきたリングレット９１０ａに送信する（Ｔｒａｎｓｉｔ）。また、フォワーディング回路５１Ｗは、そのデータパケットと同一のパケットを生成する（Ｃｏｐｙ）。この処理は、図７に示すステップＳ２１に相当する。フォワーディング回路５１Ｗは、Ｃｏｐｙしたパケットを多重化回路５５Ｗに出力する。多重化回路５５Ｗは、フォワーディング回路５１ＷによってＣｏｐｙされたブロードキャストデータパケットと、リングレット９１０ｂからＣｏｐｙ等されたパケットとを多重し、フィルタ回路６２Ｗおよびアドレステーブル６０Ｗに出力する。フィルタ回路６２Ｗは、リングレット９１０ａからＣｏｐｙされたパケットの通過を許可するので、フォワーディング回路５１ＷがＣｏｐｙしたブロードキャストデータパケットは、パケット変換回路６１Ｗに出力される。このとき、フィルタ回路６２Ｗは、ブロードキャストデータパケットのBase Controlフィールドのサブフィールドである“ｒｉ（Ringlet Identifier）”を参照して、ブロードキャストデータパケットがリングレット９１０ａからＣｏｐｙされたことを判定すればよい。パケット変換回路６１Ｗは、そのブロードキャストパケットをデカプセル化し、クライアント装置９０４（図４において図示せず。図１参照。）に出力する。また、アドレステーブル６０Ｗは、ブロードキャストデータパケットを参照してＲＰＲ  ＭＡＣ  ＳＡと、ユーザデータパケットのＭＡＣ  ＳＡとの対応関係を学習し、その対応関係を登録する。【０１３３】
また、フォワーディング回路５１Ｗによってリングレット９１０ａに送信されたブロードキャストデータパケットは、フォワーディング回路５１Ｅによって受信される。フォワーディング回路５１Ｅは、受信したブロードキャストデータパケットのＴＴＬ値を１減算し、そのブロードキャストデータパケットを、転送されてきたリングレット９１０ａに送信する（Ｔｒａｎｓｉｔ）。また、フォワーディング回路５１Ｅは、そのデータパケットと同一のパケットを生成する（Ｃｏｐｙ）。この処理は、図７に示すステップＳ２２に相当する。フォワーディング回路５１Ｅは、Ｃｏｐｙしたパケットを多重化回路５５Ｅに出力する。多重化回路５５Ｅは、フォワーディング回路５１ＥによってＣｏｐｙされたブロードキャストデータパケットと、リングレット９１０ｂからＣｏｐｙやＳｔｒｉｐされたパケットとを多重し、フィルタ回路６２Ｅおよびアドレステーブル６０Ｅに出力する。フィルタ回路６２Ｅは、リングレット９１０ａからＣｏｐｙされたパケットの通過を禁止するので、フォワーディング回路５１ＥがＣｏｐｙしたブロードキャストデータパケットは、パケット変換回路６１Ｅに出力されない。よって、パケット変換回路６１Ｅからクライアント装置９０４にユーザデータパケットは送信されない。なお、フィルタ回路６２Ｅも、Base Controlフィールドのサブフィールドである“ｒｉ”を参照して、ブロードキャストデータパケットがリングレット９１０ａからＣｏｐｙされたことを判定すればよい。アドレステーブル６０Ｅは、ブロードキャストデータパケットを参照してＲＰＲ  ＭＡＣ  ＳＡと、ユーザデータパケットのＭＡＣ  ＳＡとの対応関係を学習し、その対応関係を登録する。従って、アドレステーブル６０Ｗ，６０Ｅは、同様の学習内容を記憶する。フォワーディング回路５１Ｅによってリングレット９１０ａに送信されたブロードキャストデータパケットは、ＴＴＬ値が０になるまで、あるいは、“Ｓｏｕｒｃｅ  Ｓｔｒｉｐ”により廃棄されるまで、リング内を順次転送される。“Ｓｏｕｒｃｅ  Ｓｔｒｉｐ”とは、送信元アドレス（ＲＰＲ  ＭＡＣ  ＳＡ）を自身のアドレスとするノードにおいてパケットが廃棄されることを意味する。本実施の形態では、“Ｓｏｕｒｃｅ  Ｓｔｒｉｐ”動作は、冗長化対応モード時であっても、冗長化非対応モード時であっても有効である。【０１３４】
なお、上述のようにクライアント装置には、ノード９０１，９０２の一方（上記の例ではノード９０１）のみがユーザデータパケットを送信するので、クライアント装置にユーザデータパケットが二重到着することはない。【０１３５】
ＴＴＬ値が０であるブロードキャストデータパケットを受信した場合、フォワーディング回路５１Ｗは、ＴＴＬ値が０であっても、そのブロードキャストデータパケットを、転送されてきたリングレット９１０ａに送信（Ｔｒａｎｓｉｔ）する。この処理は、図８に示すステップＳ３１と同様の処理である。フォワーディング回路５１Ｗによってリングレット９１０ａに送信されたブロードキャストデータパケット（ＴＴＬ値は０）は、フォワーディング回路５１Ｅによって受信される。フォワーディング回路５１Ｅは、このブロードキャストパケットを廃棄する。この処理は、図８に示すステップＳ３２と同様の処理である。【０１３６】
ここでは、リングレット９１０ａに送出されたブロードキャストデータパケットが、仮想冗長化ノード９０３に転送されてきた場合を例に説明した。リングレット９１０ｂに送出されたブロードキャストデータパケットが、仮想冗長化ノード９０３に転送されてきた場合の動作は、フォワーディング回路５２Ｅが最初にブロードキャストデータパケットを受信して処理を行っていく点を除けば、上記の動作と同様である。【０１３７】
ユニキャストデータパケットの転送動作は、以下のようになる。【０１３８】
ノード９０１，９０２のいずれか一方のパケット変換回路６１が、ユーザデータパケットをカプセル化してユニキャストデータパケットを生成したとする。リングレット選択回路５６は、パケット変換回路６１によって生成されたユニキャストデータパケットを送信すべきリングレットを決定し、そのリングレットの情報をユニキャストデータパケットの“ｒｉ”に付加する。続いて、ＴＴＬ設定回路６４がＴＴＬ値を設定し、リングレット９１０ａに送信すべきユニキャストデータパケットは多重化回路５３Ｅに出力し、リングレット９１０ｂに送信すべきユニキャストデータパケットは、多重化回路５４Ｗに出力する。ＴＴＬ設定回路６４から多重化回路５３Ｅまたは多重化回路５４Ｗへのユニキャストパケットの出力態様は、ブロードキャストデータパケットの場合と同様であるので、詳細な説明は省略する。【０１３９】
また、仮想冗長化ノード９０３（図１参照。）以外の仮想冗長化ノードからリングレット９１０ａに送出されたユニキャストデータパケットが、仮想冗長化ノード９０３に転送されてきたとする。この場合、図４に示すフォワーディング回路５１Ｗがリングレット９１０ａからユニキャストデータパケットを受信する。以降の動作は、ユニキャストデータパケットのＲＰＲ  ＭＡＣ  ＤＡ（宛先アドレス）と、仮想冗長化ノード９０３に含まれる各ノードのＲＰＲ  ＭＡＣアドレスとが一致しているか否かによって異なる。【０１４０】
フォワーディング回路５１Ｗが、ＲＰＲ  ＭＡＣ  ＤＡが自ノードのＲＰＲ  ＭＡＣアドレスと一致しているユニキャストデータパケットを受信したとする。この場合、フォワーディング回路５１Ｗは、ユニキャストデータパケットのＲＰＲ  ＭＡＣ  ＤＡと、自ノードのＲＰＲ  ＭＡＣアドレスとが一致していることを確認し、そのユニキャストデータパケットを、転送されてきたリングレット９１０ａに送信する（Ｔｒａｎｓｉｔ）。また、フォワーディング回路５１Ｗは、そのユニキャストデータパケットと同一のパケットを生成する（Ｃｏｐｙ）。ただし、ＴＴＬ値が０であった場合には、フォワーディング回路５１Ｗは、Ｃｏｐｙ処理は行わずにＴｒａｎｓｉｔ処理を行う。すなわち、ＴＴＬ値が０のパケットと同一パケットの生成を行わずに、受信したユニキャストデータパケットを、転送されてきたリングレット９１０ａに送信する。この処理は、図９に示すステップＳ４１の処理と同様である。フォワーディング回路５１Ｗは、Ｃｏｐｙしたパケットを多重化回路５５Ｗに出力する。多重化回路５５Ｗは、フォワーディング回路５１ＷによってＣｏｐｙされたユニキャストデータパケットと、リングレット９１０ｂからＣｏｐｙ等されたパケットとを多重し、フィルタ回路６２Ｗおよびアドレステーブル６０Ｗに出力する。フィルタ回路６２Ｗは、リングレット９１０ａからＣｏｐｙされたパケットの通過を許可するので、フォワーディング回路５１ＷがＣｏｐｙしたユニキャストデータパケットは、パケット変換回路６１Ｗに出力される。このとき、フィルタ回路６２Ｗは、ユニキャストデータパケットの“ｒｉ”を参照して、ユニキャストデータパケットがリングレット９１０ａからＣｏｐｙされたことを判定すればよい。パケット変換回路６１Ｗは、そのユニキャストパケットをデカプセル化し、クライアント装置９０４（図４において図示せず。図１参照。）に出力する。また、アドレステーブル６０Ｗは、ユニキャストデータパケットを参照してＲＰＲ  ＭＡＣ  ＳＡと、ユーザデータパケットのＭＡＣ  ＳＡとの対応関係を学習し、その対応関係を登録する。【０１４１】
また、フォワーディング回路５１Ｗによってリングレット９１０ａに送信されたユニキャストデータパケットは、フォワーディング回路５１Ｅによって受信される。フォワーディング回路５１Ｅは、受信したユニキャストデータパケットのＲＰＲ  ＭＡＣ  ＤＡと、自ノードのＲＰＲ  ＭＡＣアドレスとが一致していることを確認し、そのユニキャストデータパケットをリングレット９１０ａから取り出す（Ｓｔｒｉｐ）。ただし、ＴＴＬ値が０であった場合には、フォワーディング回路５１Ｅは、Ｓｔｒｉｐ処理を行わずに、受信したユニキャストデータパケットを廃棄する。この処理は、図９に示すステップＳ４２と同様の処理である。フォワーディング回路５１Ｅは、Ｓｔｒｉｐしたパケットを多重化回路５５Ｅに出力する。多重化回路５５Ｅは、フォワーディング回路５１ＥによってＣｏｐｙされたユニキャストデータパケットと、リングレット９１０ｂからＣｏｐｙやＳｔｒｉｐされたパケットとを多重し、フィルタ回路６２Ｅおよびアドレステーブル６０Ｅに出力する。フィルタ回路６２Ｅは、リングレット９１０ａからＳｔｒｉｐされたパケットの通過を禁止するので、フォワーディング回路５１ＥがＳｔｒｉｐしたユニキャストデータパケットは、パケット変換回路６１Ｅに出力されない。よって、パケット変換回路６１Ｅからクライアント装置９０４にユーザデータパケットは送信されない。なお、フィルタ回路６２Ｅも、“ｒｉ”を参照して、ユニキャストデータパケットがリングレット９１０ａからＳｔｒｉｐされたことを判定すればよい。アドレステーブル６０Ｅは、ユニキャストデータパケットを参照してＲＰＲ  ＭＡＣ  ＳＡと、ユーザデータパケットのＭＡＣ  ＳＡとの対応関係を学習し、その対応関係を登録する。従って、アドレステーブル６０Ｗ，６０Ｅは、同様の学習内容を記憶する。【０１４２】
なお、上述のようにクライアント装置には、ノード９０１，９０２の一方（上記の例ではノード９０１）のみがユーザデータパケットを送信するので、クライアント装置にユーザデータパケットが二重到着することはない。【０１４３】
フォワーディング回路５１Ｗが、ＲＰＲ  ＭＡＣ  ＤＡが自ノードのＲＰＲ  ＭＡＣアドレスと異なるユニキャストデータパケットを受信したとする。この場合、フォワーディング回路５１Ｗは、ユニキャストデータパケットのＲＰＲ  ＭＡＣ  ＤＡと、自ノードのＲＰＲ  ＭＡＣアドレスとが異なることを確認し、そのユニキャストデータパケットを、転送されてきたリングレット９１０ａに送信する（Ｔｒａｎｓｉｔ）。このとき、フォワーディング回路５１Ｗは、ユニキャストデータパケットのＴＴＬ値の減算を行わずに送信する。この処理は、図６に示すステップＳ１１に相当する。また、フォワーディング回路５１Ｗは、受信したユニキャストデータパケットのＴＴＬ値が０であっても、廃棄は行わずに、同様のＴｒａｎｓｉｔ処理を行う。フォワーディング回路５１Ｗによってリングレット９１０ａに送信されたユニキャストデータパケットは、フォワーディング回路５１Ｅによって受信される。フォワーディング回路５１Ｅは、ユニキャストデータパケットのＲＰＲ  ＭＡＣ  ＤＡと、自ノードのＲＰＲ  ＭＡＣアドレスとが異なることを確認し、そのユニキャストデータパケットのＴＴＬ値を１減算する。そして、フォワーディング回路５１Ｅは、そのユニキャストデータパケットを、転送されてきたリングレット９１０ａに送信する（Ｔｒａｎｓｉｔ）。ただし、フォワーディング回路５１Ｅは、受信したユニキャストデータパケットのＴＴＬ値が０である場合には、そのユニキャストパケットを廃棄する。この処理は、図６に示すステップＳ１２に相当する。【０１４４】
ここでは、リングレット９１０ａに送出されたユニキャストデータパケットが、仮想冗長化ノード９０３に転送されてきた場合を例に説明した。リングレット９１０ｂに送出されたユニキャストデータパケットが、仮想冗長化ノード９０３に転送されてきた場合の動作は、フォワーディング回路５２Ｅが最初にユニキャストデータパケットを受信して処理を行っていく点を除けば、上記の動作と同様である。【０１４５】
また、以上に示したように、一方のノードのアドレステーブルがＲＰＲ  ＭＡＣ  ＳＡと、ユーザデータパケットのＭＡＣ  ＳＡとの対応関係を学習する場合、他方のノードのアドレステーブルも同様の対応関係を学習する。【０１４６】
ブロードキャスト制御パケットの転送動作は、以下のようになる。【０１４７】
冗長化対応モードに設定された制御パケット処理回路６３は、ブロードキャスト制御パケットを出力する場合、自ノード内の多重化回路５３，５４の双方に出力する。また、制御パケット処理回路６３は、そのブロードキャスト制御パケットにおけるＲＰＲ  ＭＡＣ  ＳＡとして、自ノードのＲＰＲ  ＭＡＣアドレスを設定する。制御パケット処理回路６３からブロードキャスト制御パケットを入力された多重化回路５３，５４は、それぞれブロードキャスト制御パケットをリングレット９１０ａ，９１０ｂに送信する。仮想冗長化ノード内の２つノード９０１，９０２には同一のＲＰＲ  ＭＡＣアドレスが割り当てられているため、多重化回路５３Ｗがリングレット９１０ａに送信したブロードキャスト制御パケットは、フォワーディング回路５１Ｅによって廃棄（Ｓｏｕｒｃｅ  Ｓｔｒｉｐ）される。同様に、多重化回路５４Ｅがリングレット９１０ｂに送信したブロードキャスト制御パケットは、フォワーディング回路５２Ｗによって廃棄（Ｓｏｕｒｃｅ  Ｓｔｒｉｐ）される。従って、制御パケット処理回路６３Ｗが生成したブロードキャスト制御パケットは、リングレット９１０ｂによって、他の仮想冗長化ノードに転送される。同様に、制御パケット６３Ｅが生成したブロードキャスト制御パケットは、リングレット９１０ａによって、他の仮想冗長化ノードに転送される。【０１４８】
また、仮想冗長化ノード９０３（図１参照。）以外の仮想冗長化ノードからリングレット９１０ａに送出されたブロードキャスト制御パケットが、仮想冗長化ノード９０３に転送されてきたとする。この場合、図４に示すフォワーディング回路５１Ｗがリングレット９１０ａからブロードキャストデータパケットを受信する。以降の動作は、ＴＴＬ値が０であるか否かによって異なる。【０１４９】
ＴＴＬ値が０ではないブロードキャスト制御パケットを受信した場合、フォワーディング回路５１Ｗは、ＴＴＬ減算を行わずに、そのブロードキャスト制御パケットを、転送されたきたリングレット９１０ａに送信する（Ｔｒａｎｓｉｔ）。また、フォワーディング回路５１Ｗは、その制御パケットと同一のパケットを生成する（Ｃｏｐｙ）。この処理は、図７に示すステップＳ２１に相当する。フォワーディング回路５１Ｗは、Ｃｏｐｙしたブロードキャスト制御パケットを制御パケット処理回路６３Ｗに出力する。制御パケット処理回路６３Ｗは、その制御パケットの種別に応じた処理を行う。【０１５０】
また、フォワーディング回路５１Ｗによってリングレット９１０ａに送信されたブロードキャスト制御パケットは、フォワーディング回路５１Ｅによって受信される。フォワーディング回路５１Ｅは、受信したブロードキャスト制御パケットのＴＴＬ値を１減算し、そのブロードキャスト制御パケットを、転送されてきたリングレット９１０ａに送信する（Ｔｒａｎｓｉｔ）。また、フォワーディング回路５１Ｅは、その制御パケットと同一のパケットを生成する（Ｃｏｐｙ）。この処理は、図７に示すステップＳ２２に相当する。
フォワーディング回路５１Ｅは、Ｃｏｐｙしたブロードキャスト制御パケットを制御パケット処理回路６３Ｅに出力する。制御パケット処理回路６３Ｅは、その制御パケットの種別に応じた処理を行う。フォワーディング回路５１Ｅによってリングレット９１０ａに送信されたブロードキャスト制御パケットは、ＴＴＬ値が０になるまで、あるいは、“Ｓｏｕｒｃｅ  Ｓｔｒｉｐ”により廃棄されるまで、リング内を順次転送される。【０１５１】
ＴＴＬ値が０であるブロードキャスト制御パケットを受信した場合、フォワーディング回路５１Ｗは、ＴＴＬ値が０であっても、そのブロードキャスト制御パケットを、転送されてきたリングレット９１０ａに送信（Ｔｒａｎｓｉｔ）する。この処理は、図８に示すステップＳ３１に相当する。フォワーディング回路５１Ｗによってリングレット９１０ａに送信されたブロードキャスト制御パケット（ＴＴＬ値は０）は、フォワーディング回路５１Ｅによって受信される。フォワーディング回路５１Ｅは、このブロードキャストパケットを廃棄する。この処理は、図８に示すステップＳ３２に相当する。【０１５２】
ここでは、リングレット９１０ａに送出されたブロードキャスト制御パケットが、仮想冗長化ノード９０３に転送されてきた場合を例に説明した。リングレット９１０ｂに送出されたブロードキャスト制御パケットが、仮想冗長化ノード９０３に転送されてきた場合の動作は、フォワーディング回路５２Ｅが最初にブロードキャスト制御パケットを受信して処理を行っていく点を除けば、上記の動作と同様である。【０１５３】
ユニキャスト制御パケットの転送動作は、以下のようになる。【０１５４】
既に説明したように、冗長化対応モード設定時では、制御パケット処理回路６３Ｗは、リングレット９１０ｂに対応する多重化回路５４Ｗにのみユニキャスト制御パケットを出力する。また、制御パケット処理回路６３Ｗは、リングレット９１０ｂに対応する多重化回路５４Ｗにのみユニキャスト制御パケットを出力する。従って、仮想冗長化ノード９０３がリングレット９１０ａにユニキャスト制御パケットを送信する場合には、制御パケット処理回路６３Ｅが多重化回路５３Ｅにユニキャスト制御パケットを出力し、多重化回路５３Ｅがユニキャスト制御パケットを多重してリングレット９１０ａに送信する。また、仮想冗長化ノード９０３がリングレット９１０ｂにユニキャスト制御パケットを送信する場合には、制御パケット処理回路６３Ｗが多重化回路５４Ｗにユニキャスト制御パケットを出力し、多重化回路５４Ｗがユニキャスト制御パケットを多重してリングレット９１０ｂに送信する。【０１５５】
また、仮想冗長化ノード９０３（図１参照。）以外の仮想冗長化ノードからリングレット９１０ａに送出されたユニキャスト制御パケットが、仮想冗長化ノード９０３に転送されてきたとする。この場合、図４に示すフォワーディング回路５１Ｗがリングレット９１０ａからユニキャスト制御パケットを受信する。以降の動作は、ユニキャスト制御パケットのＲＰＲ  ＭＡＣ  ＤＡと、仮想冗長化ノード９０３に含まれる各ノードのＲＰＲ  ＭＡＣアドレスとが一致しているか否かによって異なる。【０１５６】
フォワーディング回路５１Ｗが、ＲＰＲ  ＭＡＣ  ＤＡが自ノードのＲＰＲ  ＭＡＣアドレスと一致しているユニキャスト制御パケットを受信したとする。この場合、フォワーディング回路５１Ｗは、ユニキャスト制御パケットのＲＰＲ  ＭＡＣ  ＤＡと、自ノードのＲＰＲ  ＭＡＣアドレスとが一致していることを確認し、そのユニキャスト制御パケットを、転送されてきたリングレット９１０ａに送信する（Ｔｒａｎｓｉｔ）。また、フォワーディング回路５１Ｗは、そのユニキャスト制御パケットと同一のパケットを生成する（Ｃｏｐｙ）。ただし、ＴＴＬ値が０であった場合には、フォワーディング回路５１Ｗは、Ｃｏｐｙ処理は行わずにＴｒａｎｓｉｔ処理を行う。すなわち、ＴＴＬ値が０のパケットと同一パケットの生成を行わずに、受信したユニキャスト制御パケットを、転送されてきたリングレット９１０ａに送信する。この処理は、図９に示すステップＳ４１に相当する。フォワーディング回路５１Ｗは、Ｃｏｐｙした制御パケットを制御パケット処理回路６３Ｗに出力する。制御パケット処理回路６３Ｗは、その制御パケットの種別に応じた処理を行う。【０１５７】
また、フォワーディング回路５１Ｗによってリングレット９１０ａに送信されたユニキャスト制御パケットは、フォワーディング回路５１Ｅによって受信される。フォワーディング回路５１Ｅは、受信したユニキャスト制御パケットのＲＰＲ  ＭＡＣ  ＤＡと、自ノードのＲＰＲ  ＭＡＣアドレスとが一致していることを確認し、そのユニキャスト制御パケットをリングレット９１０ａから取り出す（Ｓｔｒｉｐ）。ただし、ＴＴＬ値が０であった場合には、フォワーディング回路５１Ｅは、Ｓｔｒｉｐ処理を行わずに、受信したユニキャスト制御パケットを廃棄する。この処理は、図９に示すステップＳ４２に相当する。フォワーディング回路５１Ｅは、Ｓｔｒｉｐした制御パケットを制御パケット処理回路６３Ｅに出力する。制御パケット処理回路６３Ｅは、その制御パケットの種別に応じた処理を行う。【０１５８】
フォワーディング回路５１Ｗが、ＲＰＲ  ＭＡＣ  ＤＡが自ノードのＲＰＲ  ＭＡＣアドレスと異なるユニキャスト制御パケットを受信したとする。この場合、フォワーディング回路５１Ｗは、ユニキャスト制御パケットのＲＰＲ  ＭＡＣ  ＤＡと、自ノードのＲＰＲ  ＭＡＣアドレスとが異なることを確認し、そのユニキャスト制御パケットを、転送されてきたリングレット９１０ａに送信する（Ｔｒａｎｓｉｔ）。このとき、フォワーディング回路５１Ｗは、ユニキャスト制御パケットのＴＴＬ値の減算を行わずに送信する。この処理は、図６に示すステップＳ１１に相当する。また、フォワーディング回路５１Ｗは、受信したユニキャスト制御パケットのＴＴＬ値が０であっても、廃棄は行わずに、同様のＴｒａｎｓｉｔ処理を行う。フォワーディング回路５１Ｗによってリングレット９１０ａに送信されたユニキャスト制御パケットは、フォワーディング回路５１Ｅによって受信される。フォワーディング回路５１Ｅは、ユニキャスト制御パケットのＲＰＲ  ＭＡＣ  ＤＡと、自ノードのＲＰＲ  ＭＡＣアドレスとが異なることを確認し、そのユニキャスト制御パケットのＴＴＬ値を１減算する。そして、フォワーディング回路５１Ｅは、そのユニキャスト制御パケットを、転送されてきたリングレット９１０ａに送信する（Ｔｒａｎｓｉｔ）。ただし、フォワーディング回路５１Ｅは、受信したユニキャスト制御パケットのＴＴＬ値が０である場合には、そのユニキャストパケットを廃棄する。この処理は、図６に示すステップＳ１２に相当する。【０１５９】
ここでは、リングレット９１０ａに送出されたユニキャスト制御パケットが、仮想冗長化ノード９０３に転送されてきた場合を例に説明した。リングレット９１０ｂに送出されたユニキャスト制御パケットが、仮想冗長化ノード９０３に転送されてきた場合の動作は、フォワーディング回路５２Ｅが最初にユニキャスト制御パケットを受信して処理を行っていく点を除けば、上記の動作と同様である。【０１６０】
なお、仮想冗長化ノード９０３に属する各ノード９０１，９０２の各制御パケット処理回路６３Ｗ，６３Ｅは、ブロードキャスト制御パケットやユニキャスト制御パケットを冗長化ノードシステム制御回路１００の指示に従って出力する。冗長化ノードシステム制御回路１００は、ブロードキャスト制御パケットやユニキャスト制御パケットを送信すべきリングレットに基づいて、制御パケット処理回路６３Ｗ，６３Ｅの一方あるいは両方を選択し、選択した制御パケット処理回路にブロードキャスト制御パケットやユニキャスト制御パケットを出力させる。また、制御パケット処理回路６３Ｗ，６３Ｅは、冗長化ノードシステム制御回路１００に従い、ＩＥＥＥ８０２．１７で規定されている全ての種類の制御パケットを出力する。このように、制御パケット処理回路６３Ｗ，６３Ｅが制御パケットを出力することにより、仮想的かつ巨視的に、冗長化ノード９０３を、各種制御パケットをリングに出力する１つのノードとして捉えることができる。【０１６１】
次に、仮想冗長化ノードに含まれる２つのノードのいずれか一方と、クライアント装置との間のリンクに障害が起こった場合の動作について説明する。以下の説明では、西側ノード９０１とクライアント装置間のリンクに障害が発生したものとして説明するが、東側ノード９０２とクライアント装置間のリンクに障害が発生した場合も同様である。【０１６２】
クライアントとの間のリンクに障害が発生したノード（本例では西側ノード９０１）は、リンク障害を検出しても、リンク障害検出前と同一の動作を継続する。【０１６３】
図１０は、リンク障害発生時におけるクライアント装置の動作を示すフローチャートである。また、図１１は、２つのノードのうちクライアント装置との間のリンクに障害が発生していない方のノード（本例では東側ノード）の動作を示すフローチャートである。【０１６４】
クライアント装置は、一方のノード（西側ノード９０１）との間のリンクに障害が発生したことを検出する（ステップＳ６１）。すると、クライアント装置は、ユーザデータパケットを送信するときに、障害が発生していないリンクによって接続されるノード（本例では東側ノード９０２）にのみユーザデータパケットを送信する（ステップＳ６２）。【０１６５】
また、クライアント装置との間のリンクに障害が発生していない方のノード（東側ノード９０２）は、他のノードとクライアント装置との間のリンクに障害が発生した旨の通知を受ける（ステップＳ７１）。例えば、各ノード９０１，９０２とクライアント装置間の各リンクにおける障害発生を検出する障害検出装置（図示せず。）を設けておき、その障害検出装置が、リンク障害を検出した場合に、障害の発生していないリンクによってクライアント装置と接続されているノードにリンク障害の発生を通知すればよい。なお、障害が発生したリンクによって接続されるノードおよびクライアント装置は、それぞれ自身がリンク障害を検出することができる。【０１６６】
ステップＳ７１において通知を受けたノードは、自ノードのフィルタ回路６２がどちらのリングレットからのパケットであっても通過を許可するように、自ノードのフィルタ回路６２の動作を切り替える（ステップＳ７２）。例えば、東側ノード９０２は、ステップＳ７１の通知を受けた場合、フィルタ回路６２Ｅがどちらのリングレットからのパケットであっても通過を許可するように、フィルタ回路６２Ｅの動作を切り替える。フィルタ回路６２Ｅ以外の各構成要素の動作は、リンク障害が発生していない時（正常時）と同一である。【０１６７】
クライアント装置は、西側ノード９０１との間のリンクに障害が発生すると、東側ノード９０２に対してのみユーザデータパケットを送信する。東側ノード９０２は、このユーザデータパケットに対し正常時と同様の動作を行い、リングに送出する。すなわち、パケット変換回路６１Ｅがカプセル化を行ってＲＰＲパケットを生成し、リングレット選択回路５６Ｅは、ＲＰＲパケットを送信するリングレットを決定する。そして、ＴＴＬ設定回路６４Ｅは、ＴＴＬを設定し、決定されたリングレットに応じた多重化回路にＲＰＲパケットを出力する。すなわち、リングレット９１０ａに送信する場合には、ＴＴＬ設定回路６４Ｅは、Ａｄｄ切替スイッチ５９Ｅを介して多重化回路５３ＥにＲＰＲパケットを出力する。また、リングレット９１０ｂに送信する場合には、ＴＴＬ設定回路６４Ｅは、Ａｄｄ切替スイッチ５８Ｅを介して多重化回路５４ＷにＲＰＲパケットを出力する。多重化回路５３Ｅ，５４Ｗは、ＴＴＬ設定回路６４Ｅから入力されたＲＰＲパケットを多重し、リングレットに送信する。従って、クライアント装置が東側ノード９０２のみにユーザデータパケットを送信したとしても、仮想冗長化ノードは、リングレット９１０ａにもリングレット９１０ｂにもＲＰＲパケットを送信することができる。【０１６８】
仮想冗長化ノード９０３（図１参照。）以外の仮想冗長化ノードから送信されたＲＰＲパケットを仮想冗長化ノード９０３に属するノード９０１，９０２が受信する場合の動作のうち、リンク障害未発生時と異なるのは、以下の場合である。すなわち、仮想冗長化ノード９０３からクライアント装置にユーザデータパケットを送信する必要がある場合である。具体的には、ＴＴＬ値が０でないブロードキャストデータパケットを受信した場合と、自ノードのＲＰＲ  ＭＡＣアドレスと一致するＲＰＲ  ＭＡＣ  ＤＡを有するユニキャストデータパケットを受信した場合である。他のＲＰＲパケットを受信した場合の動作は、リンク障害未発生時と同様である。【０１６９】
また、ＴＴＬ値が０でないブロードキャストデータパケットを受信した場合や、自ノードのＲＰＲ  ＭＡＣアドレスと一致するＲＰＲ  ＭＡＣ  ＤＡを有するユニキャストデータパケットを受信した場合であっても、各フォワーディング回路５１Ｗ，５２Ｗ，５１Ｅ，５２Ｅの動作は、西側ノード９０１とクライアント装置９０４（図１参照。）との間のリンクに障害が発生していない場合と同様である。従って、ＴＴＬ値が０でないブロードキャストデータパケットを受信した場合や、自ノードのＲＰＲ  ＭＡＣアドレスと一致するＲＰＲ  ＭＡＣ  ＤＡを有するユニキャストデータパケットを受信した場合、各フォワーディング回路５１Ｗ，５２Ｗ，５１Ｅ，５２Ｅは、既に説明したリンク障害未発生時と同様に、受信したＲＰＲパケットと同一のパケットを生成して出力する処理（Ｃｏｐｙ）または受信したＲＰＲパケットをリングから取り出す処理（Ｓｔｒｉｐ）を行う。なお、既に説明したように、自ノードのＲＰＲ  ＭＡＣアドレスと一致するＲＰＲ  ＭＡＣ  ＤＡを有するユニキャストデータパケットであっても、ＴＴＬ値が０の場合、Ｃｏｐｙ処理やＳｔｒｉｐ処理は行われない。【０１７０】
リンクに障害が発生した西側ノード９０１のフォワーディング回路５１Ｗやフォワーディング回路５２Ｗは、Ｃｏｐｙ処理またはＳｔｒｉｐ処理を行ったＲＰＲパケットを、多重化回路５５Ｗを介して、アドレステーブル６０Ｗおよびフィルタ回路６２Ｗに出力する。アドレステーブル６０Ｗおよびフィルタ回路６２Ｗは、リンク障害未発生時と同様に動作する。フィルタ回路６２Ｗは、リングレット９１０ａからのＲＰＲパケットをパケット変換回路６１Ｗに出力する。そして、パケット変換回路６１Ｗは、そのＲＰＲパケットをデカプセル化してユーザデータパケットをクライアント装置に出力しようとするが、リンクに障害が生じているので、ユーザデータパケットはクライアント装置には到達しない。すなわち、リンク障害未発生時であれば、リングレット９１０ａから送られてくるパケットをクライアント装置に送信可能であるが、そのようなパケットをクライアント装置に送信できなくなる。【０１７１】
一方、リンクに障害が発生していない東側ノード９０２のフォワーディング回路５１Ｅやフォワーディング回路５２Ｅは、Ｃｏｐｙ処理またはＳｔｒｉｐ処理を行ったＲＰＲパケットを、多重化回路５５Ｅを介して、アドレステーブル６０Ｅおよびフィルタ回路６２Ｅに出力する。アドレステーブル６０Ｅは、リンク障害未発生時と同様に動作する。ただし、フィルタ回路６２Ｅは、西側ノード９０１のリンク障害の通知を受けたことにより、どちらのリングレット９１０ａ，９１０ｂからＣｏｐｙまたはＳｔｒｉｐされたＲＰＲパケットであっても通過を許可するように動作切替が行われている（図１１に示すステップＳ７２参照。）。従って、フィルタ回路６２Ｅは、リングレット９１０ａから送られてくるＲＰＲパケットであっても、リングレット９１０ｂから送られてくるＲＰＲパケットであっても、パケット変換回路６１Ｅに出力する。パケット変換回路６１Ｅは、フィルタ回路６２Ｅから入力されるＲＰＲパケットをデカプセル化し、ユーザデータパケットをクライアント装置に送信する。このように、各リングレット９１０ａ、９１０ｂから転送されてくるパケットは、東側ノード９０２によってクライアント装置に送信される。【０１７２】
よって、リンク障害未発生時において西側ノード９０１がクライアント装置に送信していたパケットは、リンク障害発生後は東側ノード９０２によってクライアント装置に送信され、一方のノード９０１のリンクに障害が発生したとしても、他方のノードからクライアント装置にユーザデータパケットを送信できる。【０１７３】
また、既に説明したように、リンクに障害が発生していないとき、アドレステーブル６０Ｗ，６０Ｅは、同様の学習内容を記憶する。従って、クライアント装置が、ノード９０１，９０２の双方にユーザデータパケットを振り分けて送信する状態から、リンク障害の発生していない方のノードにのみユーザデータパケットを送信する状態に切り替わったとしても、リンク障害の発生していない方のノードのアドレステーブルは、既に学習内容を記憶していてＲＰＲ  ＭＡＣ  ＤＡの検索に失敗することが少ない。また、リンク障害発生時では、一方のフィルタ回路の動作を切り替えるだけでよい。従って、高速に障害回復を行うことができる。【０１７４】
また、クライアント装置がリンク障害の生じていない方のノードにユーザデータを送信することによって、仮想冗長化ノード９０３からいずれのリングレットに対してもＲＰＲノード送信をすることができる。また、リンク障害が生じていない方のノードのフィルタ回路の動作を切り替えることで、他の仮想冗長化ノードから転送されてくるＲＰＲパケット内のユーザデータパケットをクライアント装置に送信することができる。よって、リング内の他のノードの動作に影響を与えることななく、障害回復を行うことができる。【０１７５】
また、本実施の形態におけるノードは、例えば、上位プロビジョニング設定により、フォワーディング回路５１，５２、多重化回路５３，５４、Ａｄｄ切替スイッチ５８，５９、フィルタ回路６２の動作を切り替える。よって、クライアント装置が１つのノードにのみ接続される場合であっても、クライアント装置が冗長化された２つのノードに接続される場合であっても、ノードの構成を共通化することができる。その結果、ノードの開発効率および棚卸管理効率を向上させることができる。【０１７６】
第１の実施の形態において、受信部は、フォワーディング回路５１，５２によって実現される。アドレス記憶部は、アドレステーブル６０によって実現される。クライアント装置向け送信部は、パケット変換回路６１によって実現される。フィルタは、フィルタ回路６２によって実現される。多重化部は、５３Ｅ，５４Ｗによって実現される。パケット生成部は、パケット変換回路６１によって実現される。出力先切替部は、ＴＴＬ設定回路６４、Ａｄｄ切替スイッチ５８，５９によって実現される。第１受信部は、フォワーディング回路５１によって実現される。第２受信部は、フォワーディング回路５２によって実現される。第１多重化部は、多重化回路５３によって実現される。第２多重化部は、多重化回路５４によって実現される。【０１７７】
実施の形態２．
図１２は、本発明の第２の実施の形態におけるノードの構成例を示す説明図である。図３に示す構成部と同様の構成部については、図３と同一の符号を付し詳細な説明を省略する。第二の実施の形態におけるノードは、Ａｄｄ切替スイッチ５８，５９（図３参照。）を備えていない点で、第１の実施の形態と異なる。冗長化非対応モードに設定された場合の各構成部（フォワーディング回路５１，５２、多重化回路５３〜５５、リングレット選択回路５６、トポロジ管理回路５７、アドレステーブル６０、パケット変換回路６１、フィルタ回路６２、制御パケット処理回路６３、およびＴＴＬ設定回路６４）の動作は、第１の実施の形態における冗長化非対応モード設定時と同様である。冗長化非対応モード設定時のノードの動作は、ＩＥＥＥ８０２．１７に準拠した動作であるので説明を省略する。【０１７８】
図１３は、図１２に示す構成のノードを２つ組み合わせた仮想冗長化ノードを示す説明図である。図１２や図４に示す構成部と同様の構成部については、図１２や図４と同一の符号を付して、詳細な説明を省略する。仮想冗長化ノードとして使用されるノード９０１，９０２は、冗長化対応モードに設定される。また、第１の実施の形態と同様に、同一の仮想冗長化ノードに含まれる２つのノードには、同一のＲＰＲノードＩＤ（ＲＰＲ  ＭＡＣアドレス）が与えられる。ノードに対する冗長化非対応モードまたは冗長化対応モードの設定は、第１の実施の形態と同様に、例えば上位プロビジョニング設定によって行われる。【０１７９】
以下、冗長化対応モードに設定されたときの動作について、第１の実施の形態と異なる点について説明する。【０１８０】
各ノード９０１，９０２のＴＴＬ設定回路６４は、リングレット選択回路５６から入力されたＲＰＲパケットを、リングレット選択回路５６によって選択されたリングレットに対応する自ノード内の多重化回路に出力する。すなわち、各ノードのＴＴＬ設定回路６４は、リングレット９１０ａが選択されたときには、自ノード内の多重化回路５３にＲＰＲパケットを出力し、リングレット９１０ｂが選択されたときには、自ノード内の多重化回路５４にＲＰＲパケットを出力する。また、リングレット９１０ａ、９１０ｂが両方とも選択されたとき（例えば、ブロードキャストデータパケット送信時）には、自ノード内の多重化回路５３，５４それぞれにＲＰＲパケットを出力する。【０１８１】
また、各ノード９０１，９０２の制御パケット処理回路６３は、制御パケットの送信リングレットに対応する自ノード内の多重化回路に制御パケットを出力する、すなわち、各ノードの制御パケット処理回路６３は、制御パケットをリングレット９１０ａから送出する場合には、その制御パケットを自ノード内の多重化回路５３に出力し、制御パケットをリングレット９１０ｂから送出する場合には、その制御パケットを自ノード内の多重化回路５４に出力する。また、制御パケットをリングレット９１０ａ，９１０ｂの双方から送出するとき（例えば、ブロードキャスト制御パケット送信時）には、自ノード内の多重化回路５３，５４それぞれにＲＰＲパケットを出力する。【０１８２】
冗長化ノードシステム制御回路１００は、他の仮想冗長化ノードに制御パケットの重複到着が生じないように、制御パケット処理回路６３Ｗ，６３Ｅを制御する。例えば、制御パケット処理回路６３Ｗに各リングレット９１０ａ，９１０ｂへの制御パケットのブロードキャスト送信を行わせる場合には、他方の制御パケット処理回路６３Ｅにはその制御パケットの出力を行わせないように制御する。【０１８３】
なお、各ノード９０１，９０２の多重化回路５３，５４は、それぞれ入力されたＲＰＲパケットを多重し、対応するリングレットに送信する。この動作は、冗長化非対応モード時の動作と同様である。【０１８４】
自身が属する仮想冗長化ノード以外の仮想冗長化ノードから転送されてくるＲＰＲパケットを受信した場合、各ノード９０１，９０２の各フォワーディング回路５１，５２は、第１の実施の形態と同様に動作する。ただし、第１の実施の形態では、自身が属する仮想冗長化ノード内の他のノードからＲＰＲパケットを受信するフォワーディング回路（具体的にはフォワーディング回路５１Ｅ，５２Ｗ）が、その仮想冗長化ノード内の他のノードで生成されリングレットに多重されて送信されたＲＰＲパケットを受信することはなかった。しかし、第２の実施の形態では、そのようなＲＰＲパケットも受信することになる。自身が属する仮想冗長化ノード内の他のノードからＲＰＲパケットを受信するフォワーディング回路（フォワーディング回路５１Ｅ，５２Ｗ）は、第１の実施の形態と同様の動作を行うとともに、仮想冗長化ノード内の他のノードで生成されてリングレットに多重されて送信されたＲＰＲパケットに対して、以下の処理を行う。【０１８５】
自身が属する仮想冗長化ノード内の他のノードからＲＰＲパケットを受信するフォワーディング回路は、その仮想冗長化ノード内の他のノードで生成されてリングレットに多重されて送信されたＲＰＲパケットに対して“Ｓｏｕｒｃｅ  Ｓｔｒｉｐ”を禁止する。すなわち、自身が属する仮想冗長化ノード内の他のノードで生成され送信されてきたＲＰＲパケットを、そのパケットが転送されてきたリングレットにそのまま送信する。【０１８６】
ノード９０１，９０２には、同一のＲＰＲ  ＭＡＣアドレスが割り当てられているので、西側ノード９０１で生成されたＲＰＲパケットのＲＰＲ  ＭＡＣ  ＳＡは、東側ノード９０２のＲＰＲ  ＭＡＣアドレスに一致する。一般的には、各ノードは、自ノードのＲＰＲ  ＭＡＣアドレスをＲＰＲ  ＭＡＣ  ＳＡとするＲＰＲパケットを受信した場合には、そのＲＰＲパケットを廃棄する（Ｓｏｕｒｃｅ  Ｓｔｒｉｐ）。しかし、本実施の形態では、フォワーディング回路５１Ｅは、自身が属する仮想冗長化ノード内の他のノード９０１で生成され多重化回路５３Ｗでリングレット９１０ａに多重されたＲＰＲパケットを受信した場合、廃棄（Ｓｏｕｒｃｅ  Ｓｔｒｉｐ）を行わずに、そのＲＰＲパケットを、転送されてきたリングレット９１０ａにそのまま送信する。同様に、本実施の形態では、フォワーディング回路５２Ｗは、自身が属する仮想冗長化ノード内の他のノード９０２で生成され多重化経路５４Ｅでリングレット９１０ｂに多重されたＲＰＲパケットを受信した場合、廃棄（Ｓｏｕｒｃｅ  Ｓｔｒｉｐ）を行わずに、そのＲＰＲパケットを、転送されてきたリングレット９１０ａにそのまま送信する。【０１８７】
また、第１の実施の形態では、自身が属する仮想冗長化ノード内の他のノードからＲＰＲパケットを受信するフォワーディング回路（具体的にはフォワーディング回路５１Ｅ，５２Ｗ）が、その仮想冗長化ノード内の他のノードで生成されリングレットに多重されて送信されたブロードキャストパケットを受信することはなかった。しかし、第２の実施の形態では、そのようなブロードキャストパケットも受信することになる。自身が属する仮想冗長化ノード内の他のノードからＲＰＲパケットを受信するフォワーディング回路（フォワーディング回路５１Ｅ，５２Ｗ）は、第１の実施の形態と同様の動作を行うとともに、仮想冗長化ノード内の他のノードで生成されてリングレットに多重されて送信されたブロードキャストパケット（ブロードキャストデータパケットおよびブロードキャスト制御パケットの双方）に対して、以下の処理を行う。【０１８８】
自身が属する仮想冗長化ノード内の他のノードからＲＰＲパケットを受信するフォワーディング回路は、その仮想冗長化ノード内の他のノードで生成されてリングレットに多重されて送信されたブロードキャストパケットに対して、Ｔｒａｎｓｉｔ処理のみを行う。すなわち、自身が属する仮想冗長化ノード内の他のノードで生成され送信されてきたブロードキャストパケットを、そのブロードキャストパケットが転送されてきたリングレットにそのまま送信する。従って、フォワーディング回路５１Ｅは、自身が属する仮想冗長化ノード内の他のノード９０１で生成され多重化回路５３Ｗでリングレット９１０ａに多重されたブロードキャストパケットを受信した場合、そのブロードキャストパケットをリングレット９１０ａにそのまま送信する。また、フォワーディング回路５２Ｗは、自身が属する仮想冗長化ノード内の他のノード９０２で生成されて多重化回路５４Ｅでリングレット９１０ｂに多重されたブロードキャストパケットを受信した場合、そのブロードキャストパケットをそのままリングレット９１０ｂに送信する。【０１８９】
冗長化対応モード設定時における他の動作は、第１の実施の形態と同様である。【０１９０】
次に、冗長化非対応モード設定時において、一方のノードが同一の仮想冗長化ノードにＲＰＲパケットを出力するときの動作について説明する。ここでは、西側ノード９０１がＲＰＲパケットを生成して東側ノード９０２に送信する場合を例に説明するが、東側ノード９０２がＲＰＲパケットを生成して西側ノード９０１に送信する場合も同様である。【０１９１】
西側ノード９０１のパケット変換回路６１Ｗが、クライアント装置（図１３において図示せず。）からユーザデータパケットを受信し、ユーザデータパケットのＭＡＣ  ＤＡに対応するＲＰＲ  ＭＡＣアドレスを検索する。ここでは、検索に成功するものとする。パケット変換回路６１Ｗは、検索したＲＰＲ  ＭＡＣアドレスをＲＰＲ  ＭＡＣ  ＤＡとし、また、ノード９０１，９０２に共通のＲＰＲ  ＭＡＣアドレスをＲＰＲ  ＭＡＣ  ＳＡとしてＲＰＲパケットを生成する。パケット変換回路６１Ｗは、そのＲＰＲパケットをリングレット選択回路５６Ｗに出力する。リングレット選択回路５６Ｗは、ＲＰＲ  ＭＡＣ  ＤＡを参照してリングレットを選択する。ここでは、リングレット９１０ａを選択したものとする。リングレット選択回路５６Ｗは、選択したリングレットの情報を“ｒｉ（Ringlet Identifier）”に付加し、ＲＰＲパケットをＴＴＬ設定回路６４Ｗに出力する。ＴＴＬ設定回路６４Ｗは、ＴＴＬ値をＲＰＲパケットに設定する。また、リングレット選択回路５６Ｗによってリングレット９１０ａが選択されているので、ＴＴＬ設定回路６４Ｗは、ＲＰＲパケットを多重化回路５３Ｗに出力する。多重化回路５３Ｗは、そのＲＰＲパケットを多重し、リングレット９１０ａに送信する。【０１９２】
東側ノード９０２のフォワーディング回路５１Ｅは、このＲＰＲパケットを受信する。このＲＰＲパケットにおけるＲＰＲ  ＭＡＣ  ＳＡは、東側ノードのＲＰＲ  ＭＡＣアドレスと同一であるが、フォワーディング回路５１Ｅは、そのＲＰＲパケットをそのままリングレット９１０ａに送信する。この結果、西側ノードで生成されたＲＰＲパケットは、東側ノード９０２で廃棄されずに、次のノードに転送される。【０１９３】
また、パケット変換回路６１ＷがＲＰＲ  ＭＡＣアドレスの検索に失敗したとする。この場合、パケット変換回路６１Ｗは、ブロードキャストアドレスをＲＰＲ  ＭＡＣ  ＤＡとし、また、ノード９０１，９０２に共通のＲＰＲ  ＭＡＣアドレスをＲＰＲ  ＭＡＣ  ＳＡとしてブロードキャストパケットを生成する。パケット変換回路６１Ｗは、そのブロードキャストパケットをリングレット選択回路５６Ｗに出力する。リングレット選択回路５６Ｗは、ＲＰＲ  ＭＡＣ  ＤＡを参照してリングレットを選択する。ここでは、リングレット９１０ａ，９１０ｂの両方を選択したものとする。リングレット選択回路５６Ｗは、“ｒｉ”にリングレット９１０ａの情報を付加したブロードキャストパケットを多重化回路５３Ｗに出力し、“ｒｉ”にリングレット９１０ｂの情報を付加したブロードキャストパケットを多重化回路５４Ｗに出力する。多重化回路５３Ｗは、ＴＴＬ設定回路６４Ｗから出力されたブロードキャストパケットを多重してリングレット９１０ａに送信する。また、多重化回路５４Ｗは、ＴＴＬ設定回路６４Ｗから出力されたブロードキャストパケットを多重してリングレット９１０ｂに送信する。【０１９４】
東側ノード９０２のフォワーディング回路５１Ｅは、多重化回路５３Ｗから送信されたブロードキャストパケットを受信すると、そのブロードキャストパケットをそのままリングレット９１０ａに送信する。この結果、西側ノードで生成されたブロードキャストパケットは、東側ノード９０２を通過して、次のノードに転送される。【０１９５】
ここでは、西側ノード９０１がユーザデータパケットをカプセル化したブロードキャストパケットを生成して、東側ノード９０２に送信する場合を示した。西側ノード９０１の制御パケット処理回路６３Ｗがブロードキャスト制御パケットを生成して、東側ノード９０２に送信する場合であっても、同様である。【０１９６】
また、以上の説明では、西側ノード９０１から東側ノード９０２にＲＰＲパケットを送信する場合を説明したが、東側ノード９０２から西側ノード９０１にＲＰＲを送信する場合も同様である。【０１９７】
なお、他の仮想冗長化ノードから転送されてくるＲＰＲパケットを受信した場合の各ノード９０１，９０２の動作は、第１の実施の形態と同様であるので、説明を省略する。【０１９８】
次に、仮想冗長化ノードに含まれる２つのノードのいずれか一方と、クライアント装置との間のリンクに障害が起こった場合の動作について説明する。以下の説明では、西側ノード９０１とクライアント装置間のリンクに障害が発生したものとして説明するが、東側ノード９０２とクライアント装置間のリンクに障害が発生した場合も同様である。【０１９９】
クライアントとの間のリンクに障害が発生したノード（本例では西側ノード９０１）は、リンク障害を検出しても、リンク障害検出前と同一の動作を継続する。【０２００】
リンク障害を検出したクライアント装置は、第１の実施の形態と同様に動作する。すなわち、クライアント装置は、一方のノードとの間のリンクに障害が発生したことを検出すると、障害が発生していないリンクによって接続されるノードにのみユーザデータパケットを送信する（図１０に示すステップＳ６１，Ｓ６２参照。）。【０２０１】
クライアント装置との間のリンクに障害が発生していない方のノードの動作も第１の実施の形態と同様である。すなわち、他のノードとクライアント装置との間のリンクに障害が発生した旨の通知を受け、自ノードのフィルタ回路６２がどちらのリングレットからのパケットであっても通過を許可するように、自ノードのフィルタ回路６２の動作を切り替える（図１１に示すステップＳ７１，Ｓ７２参照。）。従って、本例では、フィルタ回路６２Ｅがどちらのリングレットからのパケットであっても通過を許可するように、フィルタ回路６２Ｅの動作を切り替える。フィルタ回路６２Ｅ以外の各構成要素の動作は、リンク障害が発生していない時（正常時）と同一である。【０２０２】
クライアント装置は、西側ノード９０１との間のリンクに障害が発生すると、東側ノード９０２に対してのみユーザデータパケットを送信する。東側ノード９０２は、このユーザデータパケットに対し正常時と同様の動作を行い、リングに送出する。すなわち、パケット変換回路６１Ｅがカプセル化を行ってＲＰＲパケットを生成し、リングレット選択回路５６Ｅは、ＲＰＲパケットを送信するリングレットを決定する。そして、ＴＴＬ設定回路６４Ｅは、ＴＴＬを設定し、決定されたリングレットに応じた多重化回路にＲＰＲパケットを出力する。多重化回路５３Ｅ，５４Ｅは、ＴＴＬ設定回路６４Ｅから入力されたＲＰＲパケットを多重し、リングレットに送信する。すでに説明したように、このノード９０２で生成されたＲＰＲパケットを、同一の仮想冗長化ノード内の他のノード９０１が受信しても、ノード９０１はノード９０２からのＲＰＲパケットをそのまま通過させる。従って、クライアント装置が東側ノード９０２のみにユーザデータパケットを送信したとしても、仮想冗長化ノードは、リングレット９１０ａにもリングレット９１０ｂにもＲＰＲパケットを送信することができる。【０２０３】
また、一方のノードのリンクにおける障害発生時に、他の仮想冗長化ノードから送信されたＲＰＲパケットを受信した場合のノード９０１，９０２の動作は、第１の実施の形態におけるリンク障害発生時の動作と同様である。従って、リンク障害未発生時において西側ノード９０１がクライアント装置に送信していたパケットは、リンク障害発生後は東側ノードによってクライアント装置に送信され、一方のノード９０１のリンクに障害が発生したとしても、他方のノードからクライアント装置にユーザデータパケットを送信できる。【０２０４】
また、第２の実施の形態においても、リンクに障害が発生していないとき、アドレステーブル６０Ｗ，６０Ｅは、同様の学習内容を記憶する。従って、第１の実施の形態と同様に、一方のノードとクライアント装置間のリンクに障害が発生したとしても、高速に障害回復を行うことができる。【０２０５】
また、第２の実施の形態においても、クライアント装置がリンク障害の生じていない方のノードにユーザデータを送信することによって、仮想冗長化ノードからいずれのリングレットに対してもＲＰＲノード送信をすることができる。また、リンク障害が生じていない方のノードのフィルタ回路の動作を切り替えることで、他の仮想冗長化ノードから転送されてくるＲＰＲパケット内のユーザデータパケットをクライアント装置に送信することができる。よって、リング内の他のノードの動作に影響を与えることななく、障害回復を行うことができる。【０２０６】
また、第２の実施の形態においても、第１の実施の形態と同様に、例えば、上位プロビジョニング設定により、フォワーディング回路５１，５２、多重化回路５３，５４、フィルタ回路６２の動作を切り替える。よって、クライアント装置が１つのノードにのみ接続される場合であっても、クライアント装置が冗長化された２つのノードに接続される場合であっても、ノードの構成を共通化することができる。その結果、ノードの開発効率および棚卸管理効率を向上させることができる。【０２０７】
第２の実施の形態において、受信部は、フォワーディング回路５１，５２によって実現される。アドレス記憶部は、アドレステーブル６０によって実現される。クライアント装置向け送信部は、パケット変換回路６１によって実現される。フィルタ部は、フィルタ回路６２によって実現される。多重化部は、５３，５４によって実現される。パケット生成部は、パケット変換回路６１によって実現される。出力先切替部は、ＴＴＬ設定回路６４によって実現される。第１受信部は、フォワーディング回路５１によって実現される。第２受信部は、フォワーディング回路５２によって実現される。第１多重化部は、多重化回路５３によって実現される。第２多重化部は、多重化回路５４によって実現される。【０２０８】
また、上記の各実施の形態では、ノードが、フォワーディング回路５１，５２等の各回路を備える構成として説明したが、ノードが、コンピュータを備え、そのコンピュータが、プログラムに従って、図１３や図１２（又は図４や図３）に示す各回路と同様の動作をする構成であってもよい。プログラムは、予めノードが備える記憶装置に記憶させておけばよい。【０２０９】
上記コンピュータ上で動作するプログラムは、コンピュータのハードディスク等のディスク装置（記憶装置）に記憶され、このプログラムを実行することでノードとしての各機能を実現する。プログラムは磁気ディスク、光ディスク、半導体メモリその他の記録媒体に格納され、その記録媒体からコンピュータのハードディスク等のディスク装置にインストールすることができる。図１７はコンピュータの一構成例を示すブロック図である。図１７に示すように、プログラムをハードディスク等のディスク装置２００１に記憶させ、ＤＲＡＭ等のメモリ２００２にＣＰＵの演算処理に必要な情報（例えば、アドレステーブル６０の情報）を記憶させ、ＣＰＵ２００４によりプログラムが実行されノードの機能が実現される。ＣＲＴ (Cathode-Ray Tube)やＬＣＤ（Liquid Crystal display）からなる表示装置（図ではＬＣＤとして示されている）２００３は情報処理状況等を表示するものである。２００５はデータバス等のバスを示す。【０２１０】
本発明はその精神または本質的な特徴から逸脱することなく、他の種々の形で実施することができる。そのため、前述した各実施形態は単なる例示にすぎず、限定的に解釈されるべきではない。本発明の範囲は特許請求の範囲によって示すものであって、明細書の記載にはなんら拘束されない。さらに、特許請求の範囲の均等範囲に属する変形や変更はすべて本発明の範囲内のものである。
【図１】
0005152642.tif 000002
【図２】
0005152642.tif 000003
【図３】
0005152642.tif 000004
【図４】
0005152642.tif 000005
【図５】
0005152642.tif 000006
【図６】
0005152642.tif 000007
【図７】
0005152642.tif 000008
【図８】
0005152642.tif 000009
【図９】
0005152642.tif 000010
【図１０】
0005152642.tif 000011
【図１１】
0005152642.tif 000012
【図１２】
0005152642.tif 000013
【図１３】
0005152642.tif 000014
【図１４】
0005152642.tif 000015
【図１５】
0005152642.tif 000016
【図１６】
0005152642.tif 000017
【図１７】
0005152642.tif 000018