(57)【要約】０系及び１系リングに二重化されたネットワークを構成するノード装置において、通常モード時に他の各ノード装置宛てのパケットを０系及び１系リングのいずれかのパケット送出リングへの送出処理をする通常モード処理部と、自ノードが受信パケット量の最も多いセンタノードである時、他のノードである子ノードから自ノード宛てのパケット量に基づいて、該センタノード宛てのパケットの通常モード時のパケット送出リングを変更するノードをターゲットノードとして確定し、該ターゲットノード宛てにパケット送出リングを変更するよう指示するターゲットコマンドを送信するセンタノード処理部と、センタノードが送信したターゲットコマンドを受信した場合に、該ターゲットコマンドの送信元センタノード宛てのパケットのパケット送出リングを変更するターゲットノード処理部とを具備して構成する。
2004109985.tif 000002
【特許請求の範囲】
【請求項１】
０系及び１系リングに二重化されたネットワークを構成するノード装置であって、
通常モード時に他の各ノード装置宛てのパケットを前記０系及び１系リングのいずれかのパケット送出リングへの送出処理をする通常モード処理部と、
自ノードが受信パケット量の最も多いセンタノードである時、他のノードである子ノードから自ノード宛てのパケット量に基づいて、該センタノード宛てのパケットの前記通常モード時の前記パケット送出リングを変更するノードをターゲットノードとして確定し、該ターゲットノード宛てにパケット送出リングを変更するよう指示するターゲットコマンドを送信するセンタノード処理部と、
前記センタノードが送信した前記ターゲットコマンドを受信した場合に、該ターゲットコマンドの送信元センタノード宛てのパケットの前記パケット送出リングを変更するターゲットノード処理部と、
を具備したことを特徴とするノード装置。
【請求項２】
一定時間内に受信した自ノード宛ての受信パケット量を検出するパケット量検出部と、前記受信パケット量を他の全ノードに通知する受信パケット量通知部と、他ノードからの前記受信パケット量を受信する受信パケット量受信部と、前記受信パケット量検出部が検出した受信パケット量と前記受信パケット量受信部が受信した受信パケット量とを比較して、自ノードがセンタノードであり且つネットワークがセンタ集中型ネットワークである場合に、自ノードがセンタノードであることを他の全ノードに通知するセンタノード確定部とを具備したことを特徴とする請求項１記載のノード装置。
【請求項３】
前記センタノード確定部は、最大受信パケット量に対する該最大受信パケット量と２番目に多い受信パケット量との差分の割合が一定以上であるとき、前記センタ集中型ネットワークであると判断することを特徴とする請求項２記載のノード装置。
【請求項４】
前記センタノード処理部は、前記０系リング又は前記１系リングに輻輳が発生していないとき、前記ターゲットコマンドを送出せずに、前記輻輳の発生を検出している場合に前記ターゲットコマンドを送出することを特徴とする請求項１記載のノード装置。
【請求項５】
前記センタノード処理部は、前記０系及び１系の各リングについて、前記通常モード時での前記子ノードのパケット送信リングにおける当該子ノードか前記センタノードまでのホップ数及び前記子ノードからの前記センタノード宛パケット数に基づいて、前記０系リング及び１系リングにおいて前記センタノード宛てのトラフィック量が平均的に２分されるように前記ターゲットノードを決定することを特徴とする請求項１記載のノード装置。
【請求項６】
前記センタノード処理部は、前記通常モードにおける前記ホップ数がより大きいものを優先的に前記ターゲットノードとして選択することを特徴とする請求項５記載のノード装置。
【請求項７】
前記輻輳が解消されると、自ノードが前記センタノードである場合、前記ターゲットノード宛てにターゲット解除コマンドを送信し、前記センタノードより前記ターゲット解除コマンドを受信した場合、前記センタノード宛てのパケット送出リングを前記通常モードにおけるものに切り替える通常運用切戻し処理部を具備したことを特徴とする請求項４記載のノード装置。
【請求項８】
前記センタノード処理部は、外部からの動的帯域変更モード通知に基づいて、前記ターゲットノードの確定及び前記ターゲットノードへの通知を行うことを特徴とする請求項１記載のノード装置。
【請求項９】
前記通常運用切戻し処理部は、前記０系リング又は前記１系リングに障害が発生すると、前記通常モードに切り替えることを特徴とする請求項１記載のノード装置。
【請求項１０】
複数のノード装置及び伝送路が構成する０系及び１系リングにより二重化されたＲＰＲネットワークであって、
通常モード時に他の各ノード装置宛てのパケットを前記０系及び１系リングのいずれかのパケット送出リングへの送出処理をする前記各ノード装置に設けられた通常モード処理部と、
自ノードが受信パケット量の最も多いセンタノードである時、他のノードである子ノードから自ノード宛てへのパケット量に基づいて、該センタノード宛てのパケットの前記通常モード時の前記パケット送出リングを変更するノードをターゲットノードとして確定し、該ターゲットノード宛てにパケット送出リングを変更するよう指示するターゲットコマンドを送信する前記各ノード装置に設けられたセンタノード処理部と、
前記センタノードが送信した前記ターゲットコマンドを受信した場合に、該ターゲットコマンドの送信元センタノード宛てのパケットの前記パケット送出リングを変更して動的帯域変更モードに遷移する前記各ノード装置に設けられたターゲットノード処理部と、
を具備したことを特徴とするＲＰＲネットワーク。
【発明の詳細な説明】
【技術分野】  本発明は、鉄道、道路沿いに敷設された光ファイバでＲＰＲノードを結びリング状に接続したＩＰ  ＭＡＮのＲＰＲネットワークに適用される。
【背景技術】  画像データなどの大容量のデータを送信するために、経済性と信頼性などの理由から光ファイバによるリングネットワークが多く用いられている。ＲＰＲ（Ｒｅｓｉｌｉｅｎｔ  Ｐａｃｋｅｔ  Ｒｉｎｇ）はリング型のＩＰパケット用Ｌ２ネットワークプロトコルとして現在ＩＥＥＥ８０２．１７で標準化中である。パケットの送信ノードは、トポロジーマップに従って受信ノードまでの最短ルートが０系か１系なのかを判断し、該当方路へパケットを送出する。最短ルートへのルーティングは障害の発生や受信品質劣化やオペレータ介入をしない限り動的に変化することはない。そのため、受信ノードから見ると、あるノードからのパケットは必ず０系又は１系から受信することになる。
図２５はＲＰＲネットワークを示す図である。図２５に示すようにノード２＃１〜２＃５及び伝送路によりリングネットワークが構成されている。ＲＰＲネットワークは光二重リングネットワークである。このネットワークは、０系リング４＃０，１系リング４＃１の２つのリングから構成されている。各ノード２＃ｉの動作は以下のようになる。ここでは、ノード２＃１について説明する。ノード２＃１は、他ノード２＃２，…，２＃５とトポロジー情報を交換しており、０系リング４＃０と１系リング４＃１について、各ノード２＃２，…，２＃５までのホップ数等を測定することにより、各ノード２＃２，…，２＃５までの最短ルートを検出している。
ノード２＃１は、ビデオカメラで撮像した映像信号の符号化パケット等をエンコーダ等より受信すると、符号化パケットを宛先のサーバを収容するノード（受信ノード）への最短ルートとなる０系又は１系リング４＃０，４＃１のパケット送出リングに送出する。例えば、ノード２＃１は、図２５中の矢印に示すように、ノード２＃３宛てパケットを１系リング４＃１に送出する。また、ノード２＃４は、図２５中の矢印で示すように、ノード２＃３宛てパケットを０系リング４＃０に送出する。一方、ノード２＃１は、０系又は１系リング４＃０，４＃１よりパケットを受信すると、該パケットの受信ノードが自ノードでない場合は、受信した０系又は１系リング４＃０，４＃１に送信する。
リングネットワークは、パケットの送信元となるノード（送信ノード）、受信ノードの位置関係から最短ルートでデータを送信する際に０系リング４＃０にするか１系リング４＃１でデータを送信するかを選択できるという特徴がある。ＲＰＲの検討段階のなかでも、単なるノード数による方路決定ばかりでなく、Ｃｏｓｔ，Ｌｉｎｋ  Ｒａｔｅ（Ｐｈｙｓｉｃａｌ）を考慮する方式も提案されている。
センタノードをＲＰＲネットワーク上に設け、各送信ノードのパケットをセンタノードで集中管理するように構成されたセンタ中心型ネットワークでは、トラフィックが１ノードに集中することになる。
図２６はセンタ中心型ネットワークを示す図である。ノード２＃５がセンタノードの場合を示している。センタノード２＃５を起点として、送信ノード２＃１〜２＃４を見ていくと、０系，１系とに２分岐してデータが載ってくる。しかも、同ノード数分の２分岐路ツリーになる。例えば、図２６に示すように、ノード２＃２，２＃１からのパケットは０系リング４＃０、ノード２＃３，２＃４からのパケットは１系リング４＃１に載ってくる。
図２７は２分岐ツリーを示す図である。図２６のセンタ中心型ネットワークを２分岐ツリーにより表すと図２７に示すようになる。この２分岐ツリーでは、下流側のノードでは、自ノードが受信したパケットに加えて、上流側のノードから受信したパケットを伝送路に送信することからレベルが高い（ルートレベルに近い）ものとなっている。例えば、センタノード２＃５が０レベル、ノード２＃１，２＃４が１レベル、ノード２＃２，２＃３が２レベルとなっている。ここで、１系リング４＃１のトラフィックがグンと多くて、０系リング４＃０のトラヒックが少ないとどうなるか。例えば、１系リング４＃１において、ノード２＃３のトラフィックが７０Ｍｂｐｓ、ノード２＃４のトラフィックが３０Ｍｂｐｓであり、０系リング４＃０において、ノード２＃２のトラフィックが２０Ｍｂｐｓ、ノード２＃１のトラフィックが１０Ｍｂｐｓであるとする。このとき、ノード２＃４からセンタノード２＃５に向かう１系のトラフィックは１００Ｍｂｐｓとなる。
ＲＰＲでは、例えば、ノード２＃４では、パケットを１系リング４＃１に送出しようとするとき、自分のパケットを送出できる程帯域に余裕がなしと判断すると、自分の流す１系リング４＃１と逆方路の０系リング４＃０、つまり上流に輻輳通知して流れを抑えろと要求する。その結果、上流ノード２＃３はパケットの１系リング４＃１への送出を若干抑えるので、ノード２＃４でパケット送出が可能となる。もし、１系リング４＃１の輻輳を検出したとき、０系リング４＃０の帯域に充分余裕があればどうなるか。輻輳通知は不要となる。このように、従来では、ある系に輻輳が発生すると必ず上流側のノードに輻輳通知をしていたため、輻輳通知が不必要な場合でも上流側でトラフィックを抑えるこという無駄が生じていた。
また、先行文献としては以下の特許文献１があった。
文献１は、双方向リングネットワークにおいて、輻輳が発生した場合に、輻輳を回避するべく輻輳が発生したノードを含む下流ノードの出力帯域幅を制御することを開示している。
【特許文献１】  特開２００１−４５０３６号公報
しかしながら、文献１では、ノードの出力帯域幅を制御するものであり、パケット送出リングを切り替えるものでないため、出力帯域を制限しなくてもパケット送出リングを切り替えるだけで済む場合でも、出力帯域を制限しているため、パケット廃棄する必要があった。
【発明の開示】
本発明の目的は、輻輳を検出しても、輻輳通知が不必要な場合は、輻輳通知をせずに伝送することのできる、ノード装置及びＲＰＲネットワークを提供することである。
０系及び１系リングに二重化されたネットワークを構成するノード装置であって、通常モード時に他の各ノード装置宛てのパケットを前記０系及び１系リングのいずれかのパケット送出リングへの送出処理をする通常モード処理部と、自ノードが受信パケット量の最も多いセンタノードである時、他のノードである子ノードから自ノード宛てへのパケット量に基づいて、該センタノード宛てのパケットの前記通常モード時の前記パケット送出リングを変更するノードをターゲットノードとして確定し、該ターゲットノード宛てにパケット送出リングを変更するよう指示するターゲットコマンドを送信するセンタノード処理部と、前記センタノードが送信した前記ターゲットコマンドを受信した場合に、該ターゲットコマンドの送信元センタノード宛てのパケットの前記パケット送出リングを変更して動的帯域変更モードに遷移するターゲットノード処理部とを具備したことを特徴とするノード装置が提供される。
好ましくは、一定時間内に受信した自ノード宛ての受信パケット量を検出するパケット量検出部と、前記受信パケット量を他の全ノードに通知する受信パケット量通知部と、他ノードからの前記受信パケット量を受信する受信パケット量受信部と、前記受信パケット量検出部が検出した受信パケット量と前記受信パケット量受信部が受信した受信パケット量とを比較して、自ノードがセンタノードであり且つネットワークがセンタ集中型ネットワークである場合に、自ノードがセンタノードであることを他の全ノードに通知するセンタノード確定部とを具備して構成する。
【図面の簡単な説明】  図１は本発明の原理図；
図２は本発明の実施形態によるノード装置の構成図；
図３は図２中の処理部の構成図；
図４はモード変更時のフローチャート；
図５はセンタノード確定処理のフローチャート；
図６はセンタノード処理のフローチャート；
図７はセンタノードにおけるターゲットノード確定処理部のフローチャート；
図８はセンタノードにおけるターゲットノード処理部のフローチャート；
図９はターゲットノードにおけるターゲットノード処理部のフローチャート；
図１０はターゲットノード処理部のフローチャート；
図１１は通常運用切り戻し部のフローチャート；
図１２は通常運用切り戻し部のフローチャート；
図１３は通常運用切り戻し部のフローチャート；
図１４は通常運用切り戻し部のフローチャート；
図１５はＲＰＲノードのモードと処理状態遷移を示す図；
図１６はコントロールパケットのフォーマットを示す図；
図１７はコントロールパケット種別を示す図；
図１８はペイロードの内容を示す図；
図１９は本発明の実施形態によるＲＰＲネットワークを示す図；
図２０は各ノードの受信パケット数を示す図；
図２１はセンタノード向けパケットの流れを示す図；
図２２は輻輳時の２分岐ツリーを示す図；
図２３は輻輳処理後の２分岐ツリーを示す図；
図２４は輻輳処理後のセンタノード宛パケットの流れを示す図；
図２５はＲＰＲネットワークを示す図；
図２６はセンタ中心型ネットワークのトラフィックを示す図；
図２７は２分岐ツリーを示す図である。
発明を実施するための最良の態様
本発明の実施形態を説明する前に本発明の原理の説明をする。図１は本発明の原理図である。図１に示すように、複数のノード１０＃１〜１０＃５並びに０系リング１２＃０及び１系リング１２＃１により二重化リングネットワークが構成されている。各ノード１０＃ｉは、通常モード処理部２０＃ｉ、センタノード処理部２２＃ｉ及びターゲットノード処理部２４＃ｉを具備する。ノード１０＃５が自ノード宛ての受信パケット量（例えば、受信パケット数，受信パケット数分のパケットのパケット長の和）の最も多いセンタノードである場合について、動作説明をする。
各ノード１０＃ｉの通常モード処理部２０＃ｉは、通常モード時に、他ノード宛てパケットを０系リング１２＃０及び１系リング１２＃１のいずれかのパケット送出リングに送出している。センタノード１０＃５宛てのパケットについては、ノード１０＃１，１０＃２の送出リングが０系リンク１４＃０、ノード１０＃３，１０＃４の送出リングが１系リング１４＃１である。
センタノード１０＃５中のセンタノード処理部２２＃５は、他のノード１０＃１〜１０＃４である子ノードから自ノード１０＃５宛てのパケット量に基づいて、該センタノード１０＃５宛てのパケットのパケット送出リングを変更するノードをターゲットノードとして確定する。例えば、センタノード１０＃５宛ての一定時間内のパケット数がノード１０＃１，１０＃２，１０＃３，１０＃４のセンタノード１０＃５宛てのパケット量がそれぞれ１０，２０，７０，３０であるとする。センタノード処理部２２＃５は、０系リング１２＃０の方が１系リング１２＃１よりも帯域に余裕があると判断し、ノード１０＃４のセンタノード宛てのパケットの送出リングを１系リング１２＃１から０系リング１２＃０に変更するノード１０＃４をターゲットノードとして確定する。
センタノード処理部２２＃５は、ターゲットノード１０＃４宛てにパケット送出リングを変更するよう指示するターゲットコマンドを送信する。ターゲットノード１０＃４のターゲットノード処理部２４＃４は、センタノード１０＃５が送信したターゲットコマンドを受信すると、該ターゲットコマンドの送信元センタノード１０＃５宛てパケットのパケット送出リングを１系リング１２＃１から０系リンク１２＃０に変更する。これにより、ターゲットノード１０＃４ではパケット送出リングをトラフィックに余裕のある０系リング１２＃１に変更してパケットを送出するので、ノード１０＃３，１０＃４等でパケットを廃棄する必要がなくなり、帯域を有効利用できる。
図２は本発明の実施形態によるＲＰＲノード５０＃ｉの構成図である。図２に示すように、ＲＰＲノード５０＃ｉは、１０／１００ＢＡＳＥ  ＰＫＧ５２＃ｉ、０系光／電気変換部５４＃ｉ０，１系光／電気変換部５４＃ｉ１、Ｌ３制御部５６＃ｉ０，５６＃ｉ１、０系受信部５８＃ｉ０、１系受信部５８＃ｉ１、０系送信部６０＃ｉ０，１系送信部６０＃ｉ１、バス６２＃ｉ及び処理部６４＃ｉを具備する。
１０／１００ＢＡＳＥ  ＰＫＧ５２＃ｉは、エンコーダ４２＃ｉや画像データを収集するサーバ４４＃ｉとの間の１０／１００ベースのインタフェースを司る。即ち、エンコーダ４２＃ｉより符号化パケットを受信して、バス６２＃ｉを通して処理部６４＃ｉに出力する。また、バス６２＃ｉよりサーバ４４＃ｉ宛ての符号化パケットを受信して、サーバ４４＃ｉに送出する。０，１系光／電気変換部５４＃ｉ０，５４＃ｉ１は、０，１系伝送路６６＃０，６６＃１と０，１系送信部６０＃ｉ０，６０＃ｉ１との間をインタフェースする。即ち、光信号／電気信号間の変換を行う。
Ｌ３制御部５６＃ｉ０，５６＃ｉ１は、パケットを制御するものであり、具体的には以下の機能を有する。０系，１系光／電気変換部５４＃ｉ０，５４＃ｉ１により電気信号に変換された、コントロールパケットやＩＰパケットが自ノード５０＃ｉ又は自ノード５０＃ｉが収容するサーバ４４＃ｉ宛て（これらを自ノード宛てパケットと呼ぶ）であるか否かを判断する。（ｉ）自ノード宛てパケットならば、０系，１系受信部５８＃ｉ０，５８＃ｉ１及びバス６２＃ｉを通して、コントロールパケットを処理部６４＃ｉに、ＩＰパケットを１０／１００ＢＡＳＥ  ＰＫＧ５２＃ｉに出力する。（ｉｉ）自ノード宛てのパケットでなければ、０系，１系受信部５８＃ｉ０，５８＃ｉ１、バス６２＃ｉ及び０系．１系送信部６０＃ｉ０，６０＃ｉ１を通して、０系，１系光／電気変換部５４＃ｉ０，５４＃ｉ１に出力する。
０，１系受信部６０＃ｉ０，６０＃ｉ１は、０，１系光／電気変換部５４＃ｉ０，５４＃ｉ１よりパケットを受信する。０，１系送信部６０＃ｉ０，６０＃ｉ１は、処理部６４＃ｉからのコントロールパケット及びＩＰパケットをバス６２＃ｉを通して入力し、また、他ノードへ中継するべきパケットをバス６２＃ｉを通して入力して、０系．１系光／電気変換部５４＃ｉ０，５４＃ｉ１に送信する。バス６２＃ｉは、パケットのやり取りをするためのバスである。
図３は図２中の処理部６４＃ｉの構成図である。図３に示すように、処理部６４＃ｉは、動的帯域変更モード切替部１００＃ｉ、センタノード確定処理部１０２＃ｉ、輻輳検出部１０４＃ｉ、センタノード処理部１０６＃ｉ、ターゲットノード処理部１０８＃ｉ、通常運用切戻し処理部１１０＃ｉ及び通常運用処理部１１２＃ｉを有する。
図４は動的帯域変更モード切替部１００＃ｉの動作フローチャートである。ステップＳ２において、オペレータがＮＳＰ（Ｎｅｔｗｏｒｋ  Ｓｅｒｖｉｃｅ  Ｐｒｏｃｅｓｓｏｒ）から全てのノード宛てに送信した動的帯域変更モード通知（パケットＡ）のパケットを受信する。ステップＳ４において、通常モードから動的帯域変更モードに切り替えるために動的帯域変更モードフラグをセットする。通常モードとは、輻輳時にＲＰＲリングのＳＲＰフェアネスアルゴリズムを用いて輻輳解除を行うモード、もしくは障害発生時に切り替え制御を行うモードである。また、動的帯域変更モードとは、輻輳時にアップストリーム方向の送出リングにパケットを送出することにより帯域制限を行わずに輻輳解除を行うモードである。
図５はセンタノード確定処理部１０２＃ｉの動作フローチャートである。ステップＳ１０において、動的帯域変更モードフラグがセットされたら、ある時間内の「受信パケット数」をカウントし、一定時間毎に受信パケット数情報を含む受信パケット数情報通知パケット（パケットＣ）をブロードキャスト送出する。受信パケットとは、自ノード宛てのパケットをいう。ステップＳ１２において、他ノードのパケットＣを受信する。ステップＳ１４において、自ノードが受信パケット数最大ノードであるか否かを判別する。自ノードが受信パケット数最大ノードであれば、ステップＳ１６に進む。自ノードが受信パケット数最大ノードでなければ、ステップＳ２２に進む。
ステップＳ１６において、全てのノードからパケットＣを受信したか否かを判断する。パケットＣを受信していないノードが有れば、ステップＳ１２に戻る。全ノードからパケットＣを受信した場合は、ステップＳ１８に進む。受信パケット数の最も多いノードがセンタノードとなる。ステップＳ１８において、ＭＡＸ受信パケット数に対する、ＭＡＸ受信パケット数と２ｎｄＭＡＸ受信パケット数との差分の比が一定範囲内であるとき、例えば、２０％以上であるか否かを判断する。２０％以上であれば、センタ集中型のネットワークであること考えられるので、ステップＳ２０に進む。２０％以内であれば、各ノードには均等にパケットが落ちている、即ち、均等に各ノード宛てにパケットが送出されているものと考えられ、運用されているネットワークはセンタ集中型とはいえないネットワークであり有効に本発明を適用することは困難であると判断し、ステップＳ２２に進む。
ステップＳ２０において、センタノードはセンタノードフラグをセットする。ステップＳ２２において、動的帯域モードフラグクリアする。ステップＳ２２において、動的帯域変更モードのフラグをクリアにする。
輻輳検出部１０４＃ｉは、０系リング及び１系リングについて、送信側のトラフィックを検出しており、トラフィックが一定以上となり輻輳の発生を検出すると、輻輳を検出したノード（輻輳ノード）は、全局に対してアップロード方向に輻輳通知を行う。この輻輳通知は全ノードにされる。
図６はセンタノード処理部１０６＃ｉの動作フローチャートである。ステップＳ５０において、自ノードがセンタノードであるとき、自らがセンタノードであることを通知するセンタノード確定コマンド（パケットＤ）を送信する。センタノード以外のノード（子ノード）はパケットＤを受信すると、センタノード宛パケットがどれだけ有るかを示すパケット宛先情報を含む受信パケット数レスポンス（パケットＥ）をセンタノード宛てに送信する。
ステップＳ５２において、子ノードよりパケットＥを受信する。ステップＳ５４において、全ての子ノードからパケットＥを受信したか否かを判定する。全ての子ノードから受信していれば、ステップＳ５６に進む。未だ受信していない子ノードがあれば、ステップＳ５２に戻る。
ステップＳ５６において、自ノードで輻輳が発生しているか否かを判別する。輻輳が発生している場合は、ステップＳ６０に進む。自ノードで輻輳が発生していない場合は、ステップＳ５８に進む。ステップＳ５８において、他ノードより輻輳通知を受けたか否かを判別する。輻輳通知を受けた場合は、ステップＳ６０に進む。輻輳通知を受けていない場合は、終了する。動的帯域変更は、輻輳が発生している場合において効果的であるからである。ステップＳ６０において、パケット送出リングの切替を要求するターゲットノードを以下のようにして選定する。ターゲットノードはセンタノードがパケット送信時の「リング選択を逆にする」ように指定する子ノードをいう。
センタノードであるとき、センタノードをルート、各他ノードについて、センタノードまでのホップ数の少ない系のホップ数をレベルとする０系と１系から成る通常モードにおける２分岐ツリーを作成する。そして、受信パケット数レスポンスより発パケットアドレスとそのパケット数を２分岐ツリーに埋め込む。こうすると、当該２分岐ツリーにおける、０系と１系のセンタノードに向かう総トラヒック量が出てくるので、トラヒック量を平均的に２分できる２分岐ツリーを以下のトポロジーに従って決定する。
（ａ）  該当ノードからセンタノードへのパケット送出リングを変更することでトラヒックが平均的に二分できるツリーであること。
（ｂ）  リング切替を行うセンタノードからホップ数が大きいこと。リンク切り替えでは逆リングを使用するため、ホップ数が小さくなる。それにより、センタノードへ少ない遅延時間でデータ伝送することができる。
（ｃ）  アルゴリズムは多少複雑になるが、（ａ），（ｂ）において、ターゲットノードが複数個の場合も許して、リング切替を行うターゲットノード数が最小となるようにターゲットノードを選定するようにしても良い。処理の手間を減らすためである。
図７はターゲットノードが１個とした時のターゲットノードの選定方法の一例を示すフローチャートである。ステップＳ１００において、輻輳している０系又は１系リンク（輻輳ストリーム）上の最大ホップ数のノードを選択する。ターゲットノードが上記（ｂ）の条件を満足する必要があるからである。ステップＳ１０２において、当該ノードのホップ数をｎとし、ノード名をＮとする。ステップＳ１０４において、ノードＮからセンタノードへのパケットを逆パケットリングで送ったとき、０系，１系リングからセンタノードへのパケット数の比率が一定範囲、例えば、１．５倍以内に収まるか否かを判断する。上記（ａ）を満足する必要があるからである。
一定範囲に収まる場合は、ステップＳ１１０に進む。一定範囲に収まらない場合は、ステップＳ１０６に進む。ステップＳ１０６において、ノードＮをホップ数（ｎ−１）のノードに置換する。ステップＳ１０８において、Ｎはセンタノードであるか否かを判別する。センタノードであれば、上記（ａ），（ｂ）を満足するターゲットノードが存在しないので、ステップＳ１２０に進む。センタノードでなければ、ステップＳ１０２に戻る。ステップＳ１１０において、Ｎをターゲットノードに設定する。ステップＳ１２０において、動的帯域変更モード終了する。
図８はセンタノードにおけるターゲットノード処理部１０８＃ｉのフローチャートである。図９及び図１０はターゲットノードにおけるターゲットノード処理部１０８＃ｉのフローチャートである。図８中のステップＳ１４０において、自ノードがセンタノードである場合には、ターゲットノードに指定されたことを示すターゲットコマンド（パケットＦ）を送信する。図９中のステップＳ１５０において、ターゲットノードはパケットＦを受信する。ステップＳ１５２において、自ノードからのパケットのうち、宛先がセンタノードであるものに対して、逆リングを使用せよというターゲットフラグを立てる。これによりターゲットフラグが設定されている限りセンタノード宛パケットは逆リングを用いて送出される。ステップＳ１５４において、センタノードに向けて了解を示すターゲットレスポンス（パケットＧ）を送信する。図８中のステップＳ１４２において、ターゲットノードから了解のパケットＧを受信する。
図１０はセンタノード宛てのパケット送出制御を示すフローチャートである。ステップＳ１８０において、ターゲットフラグがセットされているか否かを判定する。ターゲットフラグがセットされていれば、ステップＳ１８２に進む。ステップＳ１８２において、センタノード宛てのパケットのパケット送出リングを切り替える。ターゲットフラグがセットされていなければ、センタノード宛てのパケットのパケット送出リングを切り替えずパケットを送出する。
図１１及び図１２は通常運用切戻し処理部１１０＃ｉの動作フローチャートである。ステップＳ２００において、輻輳通知がなくなったか否かを判別する。輻輳通知がなくなった場合には、ステップＳ２０２に進む。輻輳通知が有れば、ステップＳ２１０に進む。ステップＳ２０２において、センタノードは輻輳処理後も子ノードから定期的に受信パケット数レスポンスを受け取っており、通常運用に戻したとき伝送路に十分な空きができるか否かを判断する。十分な空きができると判断される場合には、ステップＳ２０４に進む。十分な空きができないと判断される場合には、図６中のステップＳ６０に戻る。
ステップＳ２０４において、ターゲットノードに対しターゲット解除コマンド（パケットＨ）を送信する。十分な空きができる場合は通常運用の方が通信コスト等の観点より効率的であるからである。図８中のステップＳ２５０において、ターゲットノードはパケットＨを受信する。ステップＳ２５２において、ターゲットフラグをクリアする。ステップＳ２５４において、センタノードに了解のレスポンス（パケットＩ）を送信する。図７中のステップＳ２０６において、パケットＩを受信する。ステップＳ２０８において、運用を通常運用に戻す。
ステップＳ２１０において、ターゲットノードのパケット送出リングを逆にしても輻輳が解除できないので、ターゲットノードに対しパケットＨを送信する。ターゲットノードは図８中のステップＳ２５０〜ステップＳ２５４を実行する。ステップＳ２１２において、パケットＩを受信する。ステップＳ２１４において、運用を通常運用に戻す。
図１３はオペレータの指示による動的帯域変更モードから通常モードへの遷移の場合の通常運用切戻し処理部１１０＃ｉの動作を示すフローチャートである。ステップＳ２８０において、オペレータより通常モード通知（パケットＢ）を受信する。ステップＳ２８２において、全ノードにおいて、動的帯域変更モードフラグをクリアする。ステップＳ２８４において、自ノードがターゲットノードであるか否かを判断する。ターゲットノードでなければ、ステップＳ２８６に進む。ターゲットノードならば、ステップＳ３００に進む。ステップＳ２８６において、自ノードがセンタノードであるか否かを判断する。センタノードでならば、ステップＳ３１０に進む。センタノードでなければ、終了する。ステップＳ００において、ターゲットノードにおいて、ターゲットフラグをクリアする。ステップＳ３１０において、センタノードにおいてセンタノードフラグをクリアする。
図１４は動的帯域変更モードでの障害発生時の処理フローチャートである。ステップＳ４００において、障害が発生したか否かを判断する。障害とは、０系リング又は１系リングの障害をいう。障害発生した場合は、ステップＳ４００に進む。障害発生していなければ、終了する。ステップＳ４０２において、各ノード５０＃ｉにおいてセットされているフラグをクリアにする。障害が発生した場合は、動的帯域変更モードでの処理はできないからである。これにより、障害時の伝送路の切り替えが行われる。
図３中の通常運用処理部１１２＃ｉは、ネットワークトポロージによるホップ数等に基づいて非輻輳時におけるパケットのパケット送出リングへの送出制御、通常モードでの輻輳時にＲＰＲリングのＳＲＰフェアネスアルゴリズムを用いて輻輳解除、また、障害が発生したときの切り替え制御を行う。
図１５はＲＰＲノードのモードと処理状態遷移を示す図である。上述したように、モードには、通常モード１と動的帯域変更モード２とがある。動的帯域変更モード２に遷移するために、センタノード確定処理２−１、センタノード処理２−２、ターゲットノード処理２−３が実行される。通常モード１であるとき、（１）に示すように、ＮＭＳを介してオペレータの介入により動的帯域変更モード通知がされると、センタノード確定処理２−１に遷移する。センタノード確定処理２−１において、（３）に示すように、センタノード確定コマンドが送出されると、センタノード処理２−２に遷移する。センタノード処理２−２において、（４）に示すように、ターゲットが決定されると、センタノードからターゲットノードにターゲットコマンドが送信されると、ターゲットノード処理２−３に遷移する。ターゲットノード処理２−３において、（５）に示すように、センタノードに向けて了解のレスポンスが行われると動的帯域変更モード２に遷移する。一方、動的帯域変更モード２において、センタノードからターゲット解除コマンドを送信し、ターゲットノードがターゲットノードを解除する了解のレスポンスをセンタに返したとき、又は故障が発生したとき、（６）に示すように、通常モード１へ遷移する。
図１６はコントロールパケットのフォーマットを示す図である。図１２に示すように、パケットは、リングコントロール（２バイト）、宛先（デスティネーション）アドレス（６バイト）、送信元（ソース）アドレス（６バイト）、コントロールバージョン（１バイト）、コントロールタイプ（１バイト）、ヘッダチェックサム（２バイト）、ペイロード（可変長バイト）及びＦＣＳを含む。リングコントロールは、パケットの優先度、ライフ等のコントロール信号である。宛先アドレスは、パケットの宛先ノードのＭＡＣアドレスであり、宛先を他の全ノードとするブロードキャストアドレスは、オール「Ｆ」である。送信元アドレスは、パケットの送信元ノードのアドレスである。コントロールバージョンはパケットフォーマットの版数である。コントロールタイプは、通知／コマンド／レスポンス種別が設定される。
図１７はコントロールパケットの種別を示す図であり、コントロールパケット種別、コントロールパケットの流れる方向及びコントロールパケットの用途を示している。図１７に示すように、コントロールパケットには、動的帯域変更モード通知、通常モード通知、受信パケット数通知、センタノード確定ノード、受信パケット数レスポンス、ターゲットコマンド、ターゲットレスポンス、ターゲットノード解除コマンド、ターゲットノード解除レスポンスのパケットＡ〜Ｉがある。
動的帯域変更モード通知は、ＮＭＳから全ノードに対して送信されるものであり、オペレータが「通常モード」から「動的帯域変更モード」に入ることを指示する目的で使用される。通常モード通知は、ＮＭＳから全ノードに対して送信されるものであり、オペレータが「動的帯域変更モード」から「通常モード」に入ることを指示する目的で使用される。受信パケット数通知は、各ノードから残りの全ノード宛てに送信されるものであり、ある時間内に測定した自ノード宛パケット数を通知する目的で使用される。
センタノード確定コマンドは、センタノードであると判断されるノードから残りの全ノード宛てに送信されるものであり、リングの中で一番受信パケット数が多いノードが自ノードがセンタノードであることを宣言する目的で使用される。受信レスポンス数レスポンスは、残り全ノードからセンタノード宛てに送信されるものであり、センタノード宛パケット数がどれだけ有るかを通知する目的で使用される。ターゲットコマンドは、センタノードからターゲットノード宛てに送信されるものであり、ターゲットノードになったことを通知する目的で使用される。ターゲットレスポンスは、ターゲットノードからセンタノード宛てに送信されるものであり、自ノードがターゲットノードになることを了解した旨を通知する目的で使用される。ターゲットノード解除レスポンスは、ターゲットノードからセンタノード宛てに送信されるものであり、ターゲットノードが解除されたことを了解した旨を通知する目的で使用される。
図１２中のヘッダチェックサムはヘッダのチェックサムである。ペイロードは本パケットのデータ部である。ペイロードには、通知／コマンド／レスポンス種別に応じて、次のものが設定される。
図１８はペイロードに設定されるパラメータの内容を示す図である。図１８に示すように、パケットＡの場合は、動的帯域変更モードであること、受信パケット数測定時間、測定休止時間が設定される。パケットＢには通常モードであることが設定される。パケットＣには、受信パケット数及び測定時間が設定される。パケットＤには、何も設定されない。パケットＥには、センタノードへ送出パケット量及び測定時間、センタノードへの送出リング種別が設定される。パケットＦ，Ｇ，Ｈ，Ｉには、何も設定されない。
以下、動的帯域変更の動作説明をする。図１９は、ＲＰＲネットワークの構成例を示す図であり、５個のノード５０＃ｉ（ｉ＝１，２，…，５）、ＮＳＰ１２０及び０系，１系リング１２２＃０，１２２＃１により構成されている。このＲＰＲネットワークでは、駅等に設置されたビデオカメラ４０＃ｉにより撮像され、エンコーダ４２＃ｉにより符号化されたパケットを受信したノード５０＃ｉがそのパケットの宛先ノードに送出する場合を例に説明する。
（１）  動的帯域変更モードへの切替
通常では、ＲＰＲネットワークでは、通常モードに従ってパケットの方路が振り分けられて、例えば、図１９中の矢印に示すように、該当方路に送出される。オペレータが、モード変更を行うのが良いと判断したときと、ＮＳＰ１５２を介して動的帯域変更モード通知（パケットＡ）を全ノード宛てにブロードキャストする。動的帯域変更モード通知をするのは、例えば、映像信号をセンタノードで集中管理し、センタノードに接続されるサーバに各ノードからの画像をモニタしているような場合に、画質が駒落ちなどにより劣化したようなときである。各ノード５０＃ｉ（ｉ＝１，２，…，５）がパケットＡを受信すると、動的帯域変更モードフラグをセットする。
（２）  センタノード確定処理
動的帯域変更モードフラグがセットされると、各ノード５０＃ｉ（ｉ＝１，…，５）は一定時間内の受信パケット数をカウントする。一定時間毎に受信パケット数をパケットＣにより他の全ノード宛てにブロードキャストする。各ノード１００＃ｉは他の全ノードよりパケットＣにより受信パケット数を受信することとなる。各ノード５０＃ｉは自ノードの受信パケット数と他の全ノードの受信パケット数とを比較して自ノードが最も受信パケット数の多いノードであるか否かを判断する。受信パケット数の最も多いノードは自らがセンタノードであると判断する。各ノード５０＃ｉは、ＭＡＸ受信パケット数に対するＭＡＸ受信パケット数と２ｎｄＭＡＸ受信パケット数の差分の割合が２０％以上であり、ＲＰＲネットワークはセンタ集中型であるか否かを判断する。センタ集中型であれば処理を続行する。ノード５０＃ｉは、センタ集中型でなければ、動的帯域変更モードフラグをクリアして、通常モードにより方路振り分けを継続して行う。
図２０は各ノードの受信パケット数を示す図である。ノード５０＃１，５０＃２，５０＃３，５０＃４，５０＃５の受信パケット数は、７０，０，３０，２０，１３０であとする。ＭＡＸ受信パケット数がノード５０＃５の受信パケット数の１３０であり、２ｎｄＭＡＸパケット数がノード５０＃３の７０であり、ＭＡＸ受信パケット数１３０に対する、ＭＡＸパケット数と２ｎｄパケット数との差分６０の割合が４６％と２０％以上であるため、本ネットワークはセンタ集中型であるものと判断される。センタノード５０＃５は、パケットＤにより自らがセンタノードであることを他ノード５０＃１〜５０＃４に通知する。ノード５０＃１〜５０＃４は、パケットＤを受信すると、パケットＥによりセンタノード５０＃５宛てのパケットがどれだけあるかを定期的に通知する。
（３）  輻輳検出
図２１は輻輳検出を示す図である。各ノード５０＃１〜５０＃４は０系及び１系の各リング１２２＃０，１２２＃１で輻輳が発生するか否かを判断する。図２１に示すように、ノード５０＃４は１系リング１２２＃１の送信側のトラフィックが１００Ｍｂｐｓであり、輻輳が発生していることを検出したとする。輻輳ノード５０＃４は、アップストリーム方向である０系リング１２２＃０にセンタノード５０＃５宛ての輻輳通知パケットを送信する。
（４）  センタノード処理
センタノード５０＃５は、受信パケットレスポンス情報を定期的に受信しており、輻輳通知パケットを受信すると、受信パケットレスポンス情報を用いて子ノード５０＃１〜５０＃４からセンタノード５０＃５へのパケット送信状況を認識する。
図２２は輻輳発生時の２分岐ツリーを示す図である。センタノード５０＃５は、ノード５０＃１〜５０＃４を０系と１系と順次２分岐し、発パケットアドレスとそのパケット数を２分岐ツリーに埋め込む。ノード５０＃１，５０＃２，５０＃３，５０＃４からセンタノード５０＃５に向かうトラフィック量が、それぞれ１０Ｍｂｐｓ，２０Ｍｂｐｓ，７０Ｍｂｐｓ，３０Ｍｂｐｓであるとすると、図２２に示すように、０系では、レベル１がノード５０＃１，レベル２が５０＃２、１系では、レベル１がノード５０＃４，レベル２が５０＃３となる２分岐ツリーが作成される。こうすると、０系と１系のセンタノード５０＃５に向かう総トラフィック量がでてくるので、トラヒック量が平均的に２分できる２分岐ツリーを上述した手順に従って決める。
図２３は輻輳処理後の２分岐ツリーを示す図である。輻輳ストームは１系リング１２２＃１であるので、１系リング１２２＃１を送信パケットリングとするノード５０＃３，５０＃４の中で最大ホップ数のノード５０＃３を選択する。ノード５０＃３からセンタノード５０＃５へ０系リング１２２＃０で送ったとき、センタノードは、０系から１００（１０＋２０＋７０）、１系から３０を受信することとなり、両系の比率が１．５倍以内ではないので、次にホッフ数の大きいノード５０＃４を選択する。ノード５０＃４のパケット送出リングを０系とすると、センタノード５０＃５は０系から６０（１０＋２０＋３０）、１系から７０を受信することとなり、両系の比率が１．５倍以内となるので、ノード５０＃４をターゲットノードとして選択する。これにより、図２３に示すように、輻輳処理後の２分岐ツリーは、０系について、ノード５０＃１，５０＃２，５０＃４、１系について、ノード５０＃３となる。
輻輳後はノード５０＃４の送出リングを変更することになることから、センタノード５０＃５はノード５０＃４にパケットＦを通知する。ノード５０＃４はパケットＦを受信すると、ノード５０＃５宛てにパケットＧにより了解のレスポンスを出す。
（５）  ターゲットノード処理
図２４は輻輳処理後のセンタノード宛パケットの流れを示す図である。ターゲットノード５０＃４はターゲットノードのフラグを立て、収容するエンコーダから受信した各パケットの宛先アドレスをチェックし、センタノード５０＃５向けのパケットの送出リングを１系リング１２２＃１から０系リング１２２＃０へと変更して、図２４中の矢印に示すように、０系リング１２２＃０に送出する。これにより、ノード５０＃４では、センタノード５０＃５宛てのパケットの送出を抑えることなく、パケット送出リングを１系リング１２２＃１から０系リング１２２＃０に変更することにより、センタノード５０＃５へパケットを送信することができる。また、図２４に示すように、ターゲットノードではない、ノード５０＃３は１系リング１２２＃１に、ノード５０＃１，５０＃２は０系リング１２２＃０にセンタノード５０＃５宛てパケットを送出する。
（６）  通常運用への切り戻し
センタノード５０＃５は輻輳処理後、輻輳検出のチェック及び子ノードから定期的にパケットＥより受信パケット数レスポンスを受け取り、通常運用に戻したとき伝送路に十分な空きができるかをチェックしており、動的帯域変更モードにも関わらず輻輳発生した場合や十分な空きがあると判断した場合に以下のようにして通常運用に戻す。センタノード５０＃５からノード５０＃４に対してターゲット解除コマンド（パケットＨ）を送信する。ターゲットノード５０＃４は、パケットＨを受信するとターゲットフラグをクリアにし、ターゲットノード解除の了解レスポンス（パケットＩ）をセンタノード５０＃５に返す。また、伝送路に障害が発生した場合には通常運用に切り戻す。例えば、０系に障害が発生した場合には，１系に切り替えるべく、通常運用へ切り戻す。
【産業上の利用可能性】  以上説明した本発明によれば、輻輳が発生したときに、上流側でパケットの一部を破棄してトラフィックを抑制するのではなく、ノードのリング送出の系を切り替えるので、トラフィックを抑制することなく輻輳が回避できて、空き帯域を有効利用することができる。
【図１】
2004109985.tif 000003
【図２】
2004109985.tif 000004
【図３】
2004109985.tif 000005
【図４】
2004109985.tif 000006
【図５】
2004109985.tif 000007
【図６】
2004109985.tif 000008
【図７】
2004109985.tif 000009
【図８】
2004109985.tif 000010
【図９】
2004109985.tif 000011
【図１０】
2004109985.tif 000012
【図１１】
2004109985.tif 000013
【図１２】
2004109985.tif 000014
【図１３】
2004109985.tif 000015
【図１４】
2004109985.tif 000016
【図１５】
2004109985.tif 000017
【図１６】
2004109985.tif 000018
【図１７】
2004109985.tif 000019
【図１８】
2004109985.tif 000020
【図１９】
2004109985.tif 000021
【図２０】
2004109985.tif 000022
【図２１】
2004109985.tif 000023
【図２２】
2004109985.tif 000024
【図２３】
2004109985.tif 000025
【図２４】
2004109985.tif 000026
【図２５】
2004109985.tif 000027
【図２６】
2004109985.tif 000028
【図２７】
2004109985.tif 000029
【国際調査報告】
2004109985.tif 000030
2004109985.tif 000031
2004109985.tif 000032
2004109985.tif 000033