(57)【要約】【課題】  リングネットワークが部分的に輻輳したとき、リンクアグリゲーション機能を無効にすることなく、輻輳発生箇所に向けたデータパケットの送出を抑制する。【解決手段】  リングネットワーク装置２０は、他のリングネットワーク装置２０に送る送信データを、所定のリンクアグリゲーションアルゴリズムを用いて、複数のデータフローに分割するリンクアグリゲーション部２１と、複数のデータフローに含まれるデータパケットを、データフローごとに定められた送出方向で、リングネットワーク１０に送出するパケット送受信部２５と、リングネットワーク１０の輻輳を検出するとともに、その検出結果に応じて、データパケットの送出方向をデータフロー単位で部分的に切り換える輻輳検出部２６とを備える。【選択図】  図３
2005236631.tif 000002
【特許請求の範囲】
【請求項１】
双方向のリングネットワークに接続され、当該リングネットワークを介して、他のリングネットワーク装置とパケットの送受信を行うリングネットワーク装置であって、
他の前記リングネットワーク装置に送る送信データを、所定のリンクアグリゲーションアルゴリズムを用いて、複数のデータフローに分割するリンクアグリゲーション部と、
複数の前記データフローに含まれるデータパケットを、前記データフローごとに定められた送出方向で、前記リングネットワークに送出するパケット送受信部と、
前記リングネットワークの輻輳を検出するとともに、その検出結果に応じて、前記データパケットの送出方向を前記データフロー単位で部分的に切り換える輻輳検出部と
を備えることを特徴とするリングネットワーク装置。
【請求項２】
前記リンクアグリゲーション部が、ＩＥＥＥ８０２．３ａｄで定義されるリンクアグリゲーションアルゴリズムを用いて、前記送信データを複数の前記データフローに分割することを特徴とする請求項１記載のリングネットワーク装置。
【請求項３】
前記輻輳検出部が、各前記データフローの送出待ちパケット量にもとづいて、前記リングネットワークの輻輳を検出し、送出待ちパケット量が所定の量を超えた前記データフローのパケット送出方向を反転方向に切り換えることを特徴とする請求項１又は２記載のリングネットワーク装置。
【請求項４】
前記輻輳検出部が、反転方向に切り換えた前記データフローのパケット送出方向を、所定の条件にもとづいて通常方向に戻すことを特徴とする請求項１〜３のいずれかに記載のリングネットワーク装置。
【請求項５】
前記データフローのパケット送出方向を切り換えるとき、前記リングネットワークに切り換え要求パケットを送出し、その応答パケットを受信してからパケット送出方向の切り換えを行うことを特徴とする請求項１〜４のいずれかに記載のリングネットワーク装置。
【請求項６】
前記切り換え要求パケットが、コントロールパケットであることを特徴とする請求項５記載のリングネットワーク装置。
【請求項７】
前記切り換え要求パケットが、切り換え要求情報を付加したデータパケットであることを特徴とする請求項５記載のリングネットワーク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、双方向のリングネットワークに接続されるリングネットワーク装置に関し、特に、リンクアグリゲーション処理を行いながらパケット通信を行うリングネットワーク装置に関する。
【背景技術】
【０００２】
双方向のリングネットワークに接続され、当該リングネットワークを介して、他のリングネットワーク装置とパケットの送受信を行うリングネットワーク装置が知られている。
【０００３】
また、リングネットワーク装置のなかには、リングネットワークを構成する複数のリンク（チャンネル）を理論的に一つのリンクとして取り扱うことにより、高速なパケット通信を可能にするリンクアグリゲーション機能を備えるものがある（例えば、特許文献１参照。）。
【０００４】
リンクアグリゲーション機能を備えるリングネットワーク装置は、他のリングネットワーク装置に送る送信データを、所定のリンクアグリゲーションアルゴリズムを用いて、複数のデータフローに分割するとともに、各データフローに含まれるデータパケットを、データフローごとに定められたリンク（送出方向）に送出するように構成されている。
【０００５】
また、特許文献１に示されるリングネットワーク装置では、リングネットワークを構成するいずれかのリンクに障害が発生した場合、リンクアグリゲート制御部のポートを強制的に切り換えることにより、障害発生箇所を迂回するパケット経路が確保されるようにしてある。
このような構成によれば、障害が発生していないときは、リンクアグリゲーション機能により高速なパケット通信を行うことができ、また、障害が発生したときは、リンクアグリゲート制御部を利用して、パケット経路を確保することが可能になる。
【特許文献１】特開２００２−３５９６２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、リングネットワークでは、複数のリングネットワーク装置によるデータパケットの送出が集中し、部分的に輻輳が発生することがある。このような状況では、データパケットの送出が部分的に停滞するだけでなく、データパケットが破棄される可能性がある。
【０００７】
そこで、リングネットワークが部分的に輻輳したとき、特許文献１に示される方法でデータパケットの送出方向を切り換え、輻輳発生箇所を迂回したパケット経路を確保することが提案される。
しかしながら、特許文献１に示される方法では、障害発生箇所に向けたデータパケットの送出を全て回避するように、送出方向を強制的に切り換えるため、この方法を輻輳発生箇所の回避に適用すると、リンクアグリゲーション機能が無効となり、通信効率が著しく低下するという問題がある。
【０００８】
また、リンクアグリゲーションによって分割されたデータフローの送出中に、その送出方向を切り換えると、受信側のリングネットワーク装置でデータパケットの順序が乱れる可能性があるため、データパケットの順序保証が要求されるアプリケーションでは、送出方向の切り換えができないという問題がある。
【０００９】
本発明は、上記の事情にかんがみなされたものであり、リングネットワークが部分的に輻輳したとき、リンクアグリゲーション機能を無効にすることなく、輻輳発生箇所に向けたデータパケットの送出を抑制し、その結果、リンクアグリゲーションによる高速なパケット通信を維持しつつ、パケット送出の部分的な停滞や、データパケットの破棄を防止することができるリングネットワーク装置の提供を目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため本発明のリングネットワーク装置は、双方向のリングネットワークに接続され、当該リングネットワークを介して、他のリングネットワーク装置とパケットの送受信を行うリングネットワーク装置であって、他の前記リングネットワーク装置に送る送信データを、所定のリンクアグリゲーションアルゴリズムを用いて、複数のデータフローに分割するリンクアグリゲーション部と、複数の前記データフローに含まれるデータパケットを、前記データフローごとに定められた送出方向で、前記リングネットワークに送出するパケット送受信部と、前記リングネットワークの輻輳を検出するとともに、その検出結果に応じて、前記データパケットの送出方向を前記データフロー単位で部分的に切り換える輻輳検出部とを備える構成としてある。
【００１１】
このようにすると、リングネットワークに輻輳が発生した場合、輻輳発生箇所に向けたデータパケットの送出が抑制されるので、データパケットの送出が部分的に停滞したり、データパケットが破棄されるという問題を解消することができる。
しかも、リングネットワークの輻輳に応じて、データパケットの送出方向をデータフロー単位で部分的に切り換えるので、リンクアグリゲーション機能が無効とならず、リンクアグリゲーションによる高速なパケット通信を維持することができる。
【００１２】
また、本発明のリングネットワーク装置は、前記リンクアグリゲーション部が、ＩＥＥＥ８０２．３ａｄで定義されるリンクアグリゲーションアルゴリズムを用いて、前記送信データを複数の前記データフローに分割する構成としてある。
このようにすると、リンクアグリゲーション部を容易に構成できるだけでなく、リングネットワーク装置の互換性を高めることができる。
【００１３】
また、本発明のリングネットワーク装置は、前記輻輳検出部が、各前記データフローの送出待ちパケット量にもとづいて、前記リングネットワークの輻輳を検出し、送出待ちパケット量が所定の量を超えた前記データフローのパケット送出方向を反転方向に切り換える構成としてある。
このようにすると、リングネットワークにおける輻輳の発生を容易に検出できるだけでなく、データパケットの送出が停滞しているデータフローだけを対象として送出方向の切り換え、輻輳発生時でもリンクアグリゲーション機能を最大限に生かすことができる。
【００１４】
また、本発明のリングネットワーク装置は、前記輻輳検出部が、反転方向に切り換えた前記データフローのパケット送出方向を、所定の条件にもとづいて通常方向に戻す構成としてある。
このようにすると、パケット送出方向の切り換えによるリンクアグリゲーション機能の低下を最少限に抑えることができる。
【００１５】
また、本発明のリングネットワーク装置は、前記データフローのパケット送出方向を切り換えるとき、前記リングネットワークに切り換え要求パケットを送出し、その応答パケットを受信してからパケット送出方向の切り換えを行う構成としてある。
このようにすると、リンクアグリゲーションによって分割されたデータフローの送出中であっても、受信側のパケット順序に乱れを生じさせることなく、送出方向の切り換えを行うことが可能になる。これにより、データパケットの順序保証が要求されるアプリケーションにおいても、輻輳の発生に応じて送出方向の切り換えを行うことができる。
【００１６】
また、本発明のリングネットワーク装置は、前記切り換え要求パケットが、コントロールパケットで構成してある。
このようにすると、コントロールパケットを用いて、他のリングネットワーク装置に対する切り換え要求を行うことができる。
【００１７】
また、本発明のリングネットワーク装置は、前記切り換え要求パケットが、切り換え要求情報を付加したデータパケットで構成してある。
このようにすると、データパケットを利用して、他のリングネットワーク装置に対する切り換え要求を行うことができる。
【発明の効果】
【００１８】
以上のように、本発明によれば、リングネットワークの輻輳に応じて、データパケットの送出方向をデータフロー単位で部分的に切り換えることにより、リンクアグリゲーション機能を生かしながら、輻輳発生箇所に向けたデータパケットの送出を抑制することができる。
これにより、リンクアグリゲーションによる高速なパケット通信を維持しながら、パケット送出の部分的な停滞や、データパケットの破棄を防止することが可能になる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施形態について、図面を参照して説明する。
図１は、リングネットワークシステムの全体構成を示すブロック図、図２は、リングネットワークの具体的な構成例を示すブロック図である。
図１に示すように、リングネットワークシステムは、双方向のリングネットワーク１０と、ここに接続される複数のリングネットワーク装置２０とを備えて構成されている。
【００２０】
具体的には、図２に示すように、複数のリンク０−１〜５、１−１〜５を介して、複数のリングネットワーク装置２０をリング状に接続することにより、リングネットワーク１０が構成される。
図２に示すリングネットワーク１０は、リンク０−１〜５からなる右回りのリングレット０と、リンク１−１〜５からなる左回りのリングレット１とを有しており、リングネットワーク装置２０は、リングレット０、１の選択により、パケットの送出方向を切り換えることができる。
【００２１】
図３は、リングネットワーク装置の構成を示すブロック図、図４は、パケットバッファ部の例を示すブロック図、図５は、パケット方向テーブルの例を示す説明図である。
図３に示すように、リングネットワーク装置２０は、リングネットワーク１０を介してパケットの送受信を行うために、リンクアグリゲーション部２１、パケットバッファ部２２、パケット方向テーブル２３、パケット方向決定部２４、パケット送受信部２５、輻輳検出部２６及びコントロールパケット送受信部２７を備えている。
【００２２】
リンクアグリゲーション部２１は、複数のリンクを理論的に一つのリンクとして取り扱うことにより、高速なパケット通信を可能にする部分である。
例えば、他のリングネットワーク装置２０に送信データを送る場合、インクアグリゲーション部２１は、所定のリンクアグリゲーションアルゴリズムを用いて、送信データを複数のデータフローに分割する。このとき、各データフローのパケット送出方向も決められる。
【００２３】
リンクアグリゲーション部２１が用いるリンクアグリゲーションアルゴリズムは、独自のものであってもよいが、ＩＥＥＥ８０２．３ａｄで定義されるリンクアグリゲーションアルゴリズムを用いることが好ましい。
このようにすると、リンクアグリゲーション部２１が容易に構成できるだけでなく、リングネットワーク装置２０の互換性が高められる。
【００２４】
パケットバッファ部２２には、パケットを蓄積する複数のパケットキューが構成されており、リンクアグリゲーション部２１で分割されたデータフローに含まれるデータパケットは、対応するパケットキューに蓄積される。
【００２５】
図４は、リンクアグリゲーション部２１で分割されたデータフローが４個ある場合のパケットバッファ部２２を示している。このパケットバッファ部２２は、各データフローに属するデータパケットを、通常リングレット０方向に送出するか、あるいはリングレット１方向に送付するかによって、さらに２個のパケットキューに分配している。
例えば、データフローＡに属するデータパケットのうち、通常リングレット０方向へ送出されるものをパケットキューＡ−０に蓄積し、通常リングレット１方向に送出されるものをパケットキューＡ−１に蓄積している。
【００２６】
パケット方向テーブル２３には、データフローごとにデータパケットの送出方向を定める情報が記憶される。
例えば、図５に示すパケット方向テーブル２３は、各データフローの名前を記憶するデータフロー名記憶領域と、各データフローの通常のパケット送出方向を記憶するパケット送出方向記憶領域と、各データフローのパケット送出方向を反転させるか否かを記憶する反転ビット記憶領域とから構成されている。
【００２７】
パケット方向決定部２４は、パケット方向テーブル２３の記憶情報にしたがって、各データフローに属するデータパケットの送出方向を最終的に決定する機能を備えている。
パケット送受信部２５は、リングネットワーク１０を流れているデータパケットと、自装置２０からリングネットワーク１０に向けて新たに追加するデータパケットとを多重化して送信する機能や、自装置２０あてのデータパケットを受信する機能を備えている。
そして、データフローに含まれるデータパケットを送信する場合は、データフローごとに定められた送出方向のリングレットにデータパケットが送出される。
【００２８】
輻輳検出部２６は、リングネットワーク１０内で輻輳が発生していることを検出し、パケット送出方向を切り換える命令を生成する機能と、反転方向に切り換えたデータフローのパケット送出方向を、所定の条件にもとづいて通常方向に戻す機能とを備えている。
例えば、パケットバッファ部２２における各データフローの送出待ちパケット量にもとづいて、リングネットワーク１０の輻輳を検出し、送出待ちパケット量が所定の量を超えたデータフローのパケット送出方向を反転方向に切り換えるように構成される。
【００２９】
コントロールパケット送受信部２７は、各データフローのパケット送出方向を切り換える際に、パケット送出方向を切り換えて良いかどうかを他のリングネットワーク装置２０に確認するために、切り換え要求コントロールパケットを送受信する機能を備えている。この機能は、リングネットワーク装置２０が受信側のパケット順序を保証する必要がある場合に使用される。
【００３０】
つぎに、リングネットワーク装置２０の動作について、図２〜図５を参照して説明する。
例えば、図２のリングネットワーク装置２０Ａからリングネットワーク装置２０Ｂに向かって、所定のデータフローに属するデータパケットを送出するにあたり、リングネットワーク装置２０Ａが、リングレット０経由でリングネットワーク装置２０Ｂに向かってデータパケットを送出しているとすると、リンク０−１もしくはリンク０−２に輻輳が発生した場合、リングネットワーク装置２０Ａは、リングネットワーク装置２０Ｂにデータパケットを送信することが困難になる。このような場合、リングネットワーク装置２０Ａの輻輳検出部２６は、輻輳を検出し、該当するデータフローのパケット送出方向を反転させる。これにより、輻輳箇所を迂回したパケット経路が確保され、リングネットワーク装置２０Ｂにデータパケットを送信することが可能になる。
【００３１】
具体的に説明すると、本実施形態の輻輳検出部２６は、パケットバッファ部２２における各データフロー（パケットキュー）の送出待ちパケット量を監視するとともに、送出待ちパケット量が所定の量を超えたデータフローから優先的にパケット送出方向を反転させる。
図４に示す例では、データフローＢのリングレット０方向のパケットキューＢ−０に蓄積された送出待ちパケットの量がしきい値を越えているため、パケットキューＢ−０に属するデータフローＢ−０のパケット送出方向を反転させるべく、パケット方向テーブル２３のデータフローＢ−０に係る反転ビット記憶領域を書き換えている。
【００３２】
つまり、リングネットワーク装置２０は、通常、各パケットキューから送出されたデータパケットをパケット方向テーブル２３の該当データフロー名に関連づけられたパケット送出方向に送信するが、上記の書き換えにより、パケット方向テーブル２３の反転ビットが「反転」になると、可能な限り通常のパケット送出方向とは反対の方向にパケットデータを送信する。
例えば、図５に示す例では、データフローＢ−０の反転ビットが反転状態であるため、リングネットワーク装置２０ＡはデータフローＢ−０に属するデータパケットを可能な限り、リングレット０ではなくリングレット１方向に送信することになる。
【００３３】
この手順を繰り返し、輻輳検出部２６が輻輳を検出しなくなるまで、各データフローのパケット送出方向を反転させる。
このような動作によれば、リングネットワーク１０の輻輳に応じて、データパケットの送出方向がデータフロー単位で部分的に切り換えられるので、リングネットワーク１０が部分的に輻輳したとき、リンクアグリゲーション機能を無効にすることなく、輻輳発生箇所に向けたデータパケットの送出を抑制することが可能になる。これにより、リンクアグリゲーションによる高速なパケット通信を維持しつつ、パケット送出の部分的な停滞や、データパケットの破棄を防止できる。
【００３４】
また、輻輳検出部２６が輻輳を検出しなくなった場合、反転しているデータフローのデータ送出方向を逆の手順で元に戻し、通常方向とする。例えば、送出待ちパケット量が多いデータフローから優先的にパケット送出方向を通常状態に戻すという方法を用いることができる。
このような動作によれば、パケット送出方向の切り換えによるリンクアグリゲーション機能の低下を最少限に抑えることができる。
【００３５】
図６は、コントロールパケット送受信部の処理手順を示すフローチャートである。
リングネットワーク装置２０Ａが受信側のパケット順序を保証する必要がある場合、以上の処理に加えて、図６に示す処理が使用される。
図６に示すように、コントロールパケット送受信部２７は、輻輳検出部２６が各データフローのパケット送出方向を反転状態から通常状態に切り換える際や、通常状態から反転状態に切り換える際に（Ｓ１）、切り換え要求コントロールパケットを該当するデータフローと同様の手順で隣接するリングネットワーク装置２０に送信し（Ｓ２）、該当するデータフローのデータの送出を停止させる（Ｓ３）。隣接するリングネットワーク装置２０は、切り換え要求コントロールパケットを受信すると、つぎのリングネットワーク装置２０に転送する。
【００３６】
この手順を繰り返し、切り換え要求コントロールパケットがリングネットワーク１０を一周し、元のリングネットワーク装置２０に受信されると（Ｓ４）、コントロールパケット送受信部２７は、該当するデータフローの送出済みデータパケットが全て他のリングネットワーク装置２０に受信されたと判断し、該当するデータフローのパケット送出方向を切り換えたうえでデータパケットの送出を再開する（Ｓ５）。
一方、元のリングネットワーク装置２０が所定時間以内に切り換え要求コントロールパケットを受信できない場合は、該当するデータフローのパケット送出方向を切り換えることなく、データパケットの送出を再開する。
【００３７】
このような動作によれば、リングネットワーク装置２０は、パケット送出方向を切り換える際に、該当するデータフローの送出済みデータパケットが全て他のリングネットワーク装置２０に受信されたことを確認したうえで、パケット送出方向を切り換えることができる。
これにより、通信経路の切り換えにより生じるデータパケットの追い越しを確実に防ぎ、受信側のパケット順序を保証することができる。
【００３８】
なお、データフローのパケット送出方向を切り換える際に、コントロールパケット送受信部２７が切り換え要求コントロールパケットを新たに生成する代わりに、パケット送出を停止する直前のデータパケットに切り換え要求情報（識別子）を付加して切り換え要求コントロールパケットの代わりとして扱っても良い。
その場合には、例えば、リングネットワーク１０を流れるデータパケットのヘッダー部分を書き換える方法、リングネットワーク１０を流れるデータパケットのペイロード部分を書き換える方法、リングネットワーク１０を流れるデータパケットにデータを追加する方法などを用いることができる。
【００３９】
以上のように構成された本実施形態のリングネットワーク装置２０によれば、他のリングネットワーク装置２０に送る送信データを、所定のリンクアグリゲーションアルゴリズムを用いて、複数のデータフローに分割するリンクアグリゲーション部２１と、複数のデータフローに含まれるデータパケットを、データフローごとに定められた送出方向で、リングネットワーク１０に送出するパケット送受信部２５と、リングネットワーク１０の輻輳を検出するとともに、その検出結果に応じて、データパケットの送出方向をデータフロー単位で部分的に切り換える輻輳検出部２６とを備えるので、輻輳発生箇所に向けたデータパケットの送出が抑制される。これにより、データパケットの送出が部分的に停滞したり、データパケットが破棄されるという問題を解消することができる。
【００４０】
しかも、リングネットワーク１０の輻輳に応じて、データパケットの送出方向をデータフロー単位で部分的に切り換えるので、リンクアグリゲーション機能が無効とならず、リンクアグリゲーションによる高速なパケット通信を維持することができる。
【００４１】
また、リンクアグリゲーション部２１は、ＩＥＥＥ８０２．３ａｄで定義されるリンクアグリゲーションアルゴリズムを用いて、送信データを複数のデータフローに分割するので、リンクアグリゲーション部２１を容易に構成できるだけでなく、リングネットワーク装置２０の互換性を高めることができる。
【００４２】
また、輻輳検出部２６は、各データフローの送出待ちパケット量にもとづいて、リングネットワーク１０の輻輳を検出し、送出待ちパケット量が所定の量を超えたデータフローのパケット送出方向を反転方向に切り換えるので、リングネットワーク１０における輻輳の発生を容易に検出できるだけでなく、データパケットの送出が停滞しているデータフローだけを対象として送出方向の切り換えを行うことができる。これにより、輻輳発生時でもリンクアグリゲーション機能を最大限に生かすことができる。
【００４３】
また、輻輳検出部２６は、反転方向に切り換えたデータフローのパケット送出方向を、所定の条件にもとづいて通常方向に戻すので、パケット送出方向の切り換えによるリンクアグリゲーション機能の低下を最少限に抑えることができる。
【００４４】
また、データフローのパケット送出方向を切り換えるとき、リングネットワーク１０に切り換え要求パケットを送出し、その応答パケットを受信してからパケット送出方向の切り換えを行うので、リンクアグリゲーションによって分割されたデータフローの送出中であっても、受信側のパケット順序に乱れを生じさせることなく、送出方向の切り換えを行うことが可能になる。これにより、データパケットの順序保証が要求されるアプリケーションにおいても、輻輳の発生に応じて送出方向の切り換えを行うことができる。
【産業上の利用可能性】
【００４５】
本発明は、双方向のリングネットワークに接続されるリングネットワーク装置に適用される。特に、リンクアグリゲーション処理を行いながらパケット通信を行うリングネットワーク装置に好適である。
【図面の簡単な説明】
【００４６】
【図１】リングネットワークシステムの全体構成を示すブロック図である。
【図２】リングネットワークの具体的な構成例を示すブロック図である。
【図３】リングネットワーク装置の構成を示すブロック図である。
【図４】パケットバッファ部の例を示すブロック図である。
【図５】パケット方向テーブルの例を示す説明図である。
【図６】コントロールパケット送受信部の処理手順を示すフローチャートである。
【符号の説明】
【００４７】
１０  リングネットワーク
２０  リングネットワーク装置
２１  リンクアグリゲーション部
２２  パケットバッファ部
２３  パケット方向テーブル
２４  パケット方向決定部
２５  パケット送受信部
２６  輻輳検出部
２７  コントロールパケット送受信部
【図１】
2005236631.tif 000003
【図２】
2005236631.tif 000004
【図３】
2005236631.tif 000005
【図４】
2005236631.tif 000006
【図５】
2005236631.tif 000007
【図６】
2005236631.tif 000008