説明

通信制御装置および通信制御方法

【課題】ノードにおける通信レートの発振を防止し、通信ネットワークを構成する複数のノードに公平に帯域を分配すること。
【解決手段】入力可能レート算出部103は、リング容量レートおよび通過トラフィックレートから、入力可能レートを算出する。許容レート決定部104は、受信制御レートまたは入力可能レートから許容レートを決定する。入力レート制御部105は、入力データをキュー経由で出力する。キュー監視部106は、キュー内に入力データが蓄積されていなければ、許容レートが希望レート以上であると判断する。パケットタイプ判定部107は、受信された制御フレームが拡張パケットであるか否かを判定する。パケットタイプ決定部108は、受信制御レートが受信されないか拡張パケットが受信されており、かつ許容レートが希望レート以上である場合、送信するパケットタイプを拡張パケットに決定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、リング状に接続された複数のノードからなる通信ネットワークにおいて上流ノードから下流ノードへ向かうデータ伝送に輻輳が発生した場合に、上流ノードの入力レートを制限する制御レートを含む制御情報を送信するノード内における通信制御装置および通信制御方法に関し、特に、ノードにおける通信レートの発振を防止し、通信ネットワークを構成する複数のノードに公平に帯域を分配することができる通信制御装置および通信制御方法に関する。
【背景技術】
【0002】
近年、MAN(Metropolitan Area Network)領域における通信技術としてRPR(Resilient Packet Ring)が注目されている。RPRは、通信ネットワーク内の複数のノードが二重のリング状に接続されて構成されており、IEEE802.17によって標準化されている。RPRでは、いずれかのノード間で障害が発生した場合、50ms以内に通信経路が反対方向の経路へ切り替えられ、SONET/SDH並みの障害復旧能力を有している。また、RPRでは、帯域の公平性が確保されることも大きな特徴となっている。
【0003】
具体的には、RPRの1つのノードにおけるトラフィックには、上流ノードから伝送されてこのノードを通過するトラフィックとこのノードにおいて入力されるトラフィックとの2種類が存在する。これらの2種類のトラフィックでは、ノードを通過するトラフィックの方が優先されるため、上流ノードから多くのトラフィックが伝送されると、下流ノードではトラフィックを入力することができなくなる。このため、RPRでは各ノードに帯域が公平に分配されて、上下流のノードで入力レートが不均一になることを防止している。
【0004】
このとき、下流ノードの入力レートを増加させるためには、上流ノードの入力レートを減少させる必要がある。そこで、下流ノードは、自ノードにおいて輻輳の発生を検知すると、上流ノードに対してバックプレッシャーをかけて入力レートを制限する。その結果、上流ノードの入力レートの減少に伴って下流ノードの入力レートが増加し、各ノードの入力レートの公平性が保たれるようになる。より具体的には、輻輳を検知した下流ノードは、自ノードにおける入力レートを制御レートとして上流ノードへ通知する。そして、制御レートを受け取った上流ノードは、入力レートを制御レートへ収束させるように調整する。これにより、上流ノードの入力レートが少しずつ減少するとともに、下流ノードの入力レートが少しずつ増加して制御レートも少しずつ大きくなり、最終的には、上流ノードと輻輳を検知した下流ノードとは、同一の入力レートでトラフィックを入力するようになる。
【0005】
このような帯域の公平性を確保するための制御は、例えば特許文献1などに開示されているように、SONET/SDHにおいても行われている。
【0006】
【特許文献1】特表2004−525538号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、輻輳発生時に上述の制御が実行された場合、輻輳の解除と輻輳の発生とが交互に繰り返され、各ノードにおける入力トラフィックが安定せず、結果として、各ノードの公平性が確保されないことがあるという問題がある。以下、具体例を挙げて説明する。
【0008】
図7−1は、ノード1〜7からなるRPRが適用された通信ネットワークの一例を示す図である。この通信ネットワークにおけるリング全体で伝送可能なレートを示すリング容量レートは100Mbps(メガビットパーセカンド:以下単に「M」と略記する)であるとする。この通信ネットワークにおいて、ノード1およびノード2が入力レート40Mでノード4への伝送を行う場合、下流のノード3では、30Mのレートでノード4への伝送を希望するものの、上流ノードからの通過トラフィックを優先させるため、ノード3における入力レートは20Mとなる。
【0009】
そして、ノード1〜3からノード4へのトラフィックレートがリング容量レートに達するため、ノード3とノード4の間で輻輳が発生する。このため、ノード3は輻輳発生を検知し、自ノードの入力レートである20Mを制御レートとしてノード2およびノード1へ通知する。制御レートが通知されたノード1およびノード2においては、入力レートが制御レートである20Mへ収束するように制御され、例えば図7−2に示すように、ノード1およびノード2の入力レートが35Mに減少する。このとき、ノード1およびノード2の入力レートが合計で10M減少したことになるため、その分ノード3の入力レートが増加し、ノード3の入力レートは30Mとなる。
【0010】
これにより、ノード3は、希望の入力レートを達成することになるが、ノード1〜3からノード4へのトラフィックレートは依然としてリング容量レートに達しているため、ノード3とノード4の間での輻輳は解除されず、ノード3によって引き続き自ノードの入力レート30Mが制御レートとしてノード2およびノード1へ通知される。このため、最終的には図7−3に示すように、ノード1およびノード2の入力レートがノード3の入力レートと同じ30Mになり、ノード1〜3の合計の入力レートが90Mとなってリング容量レート未満となるため、輻輳が解除される。
【0011】
ところが、輻輳が解除されるため、ノード2およびノード1へノード3の入力レートが制御レートとして通知されることがなくなり、ノード1およびノード2は、制御レートが通知されないことから、再び入力レートを希望の40Mに増加させる。そして、上流ノードからの通過トラフィックを優先させるため、ノード3における入力レートは20Mとなり、再びノード3とノード4の間で輻輳が発生し、図7−1の状態となる。以降、図7−1から図7−3の状態が繰り返され、ノード1〜ノード3の入力レートは安定せず発振してしまう。また、ノード3の入力レートは常にノード1およびノード2の入力レート以下であり、帯域の分配が公平に行われていない。
【0012】
本発明はかかる点に鑑みてなされたものであり、ノードにおける通信レートの発振を防止し、通信ネットワークを構成する複数のノードに公平に帯域を分配することができる通信制御装置および通信制御方法を提供することを目的とする。
【課題を解決するための手段】
【0013】
上記課題を解決するために、本発明は、リング状に接続された複数のノードからなる通信ネットワークにおいて上流ノードから下流ノードへ向かうデータ伝送に輻輳が発生した場合に、上流ノードの入力レートを制限する制御レートを含む制御情報を送信するノード内に備えられた通信制御装置であって、自ノードにおけるデータの入力に許容される許容レートを決定する決定手段と、前記決定手段によって決定された許容レートが自ノードの希望レート以上である場合に、希望レートが達成される旨の満足情報を含む拡張制御情報を生成する生成手段と、前記生成手段によって生成された拡張制御情報を上流ノードへ送信する送信手段とを有することを特徴とする。
【0014】
また、本発明は、上記発明において、前記決定手段は、通信ネットワーク全体の伝送容量レートから自ノードを通過するデータのトラフィックレートを減算して得られる入力可能レートを自ノードの許容レートと決定することを特徴とする。
【0015】
また、本発明は、上記発明において、自ノードにおける入力データを蓄積可能なキューを備え、前記決定手段によって決定された許容レートに従って前記キューを経由する入力データの入力レートを制御する制御手段をさらに有し、前記生成手段は、前記キューに入力データが蓄積されていない場合に拡張制御情報を生成することを特徴とする。
【0016】
また、本発明は、上記発明において、いずれかの下流ノードにおける入力レートが制御レートとして格納された制御情報または拡張制御情報を受信する受信手段をさらに有し、前記生成手段は、前記受信手段によって受信された情報の種別に応じて拡張制御情報を生成するか否かを決定することを特徴とする。
【0017】
また、本発明は、上記発明において、前記生成手段は、前記受信手段によって拡張制御情報が受信され、かつ許容レートが希望レート以上である場合に、拡張制御情報を生成することを特徴とする。
【0018】
また、本発明は、上記発明において、前記生成手段は、前記受信手段によって受信された拡張制御情報に格納された制御レートおよび自ノードの入力レートのうち大きいレートを制御レートとして拡張制御情報に格納することを特徴とする。
【0019】
また、本発明は、上記発明において、前記生成手段は、前記受信手段によって拡張制御情報が受信され、かつ許容レートが希望レート未満である場合に、制御情報を生成することを特徴とする。
【0020】
また、本発明は、上記発明において、前記生成手段は、前記受信手段によって受信された拡張制御情報に格納された制御レートおよび自ノードの入力レートのうち大きいレートを制御レートとして制御情報に格納することを特徴とする。
【0021】
また、本発明は、上記発明において、前記生成手段は、前記受信手段によって制御情報が受信された場合に、許容レートと希望レートの大小関係に関わらず受信された制御情報に格納された制御レートを含む制御情報を生成することを特徴とする。
【0022】
また、本発明は、上記発明において、前記決定手段は、前記受信手段によって拡張制御情報が受信され、かつこの拡張制御情報に格納された制御レートが自ノードの入力レート未満である場合に、通信ネットワーク全体の伝送容量レートから自ノードを通過するデータのトラフィックレートおよびすべての下流ノードの入力レートの合計を減算して得られるレートを自ノードの許容レートと決定することを特徴とする。
【0023】
また、本発明は、上記発明において、前記決定手段は、前記受信手段によって制御情報が受信された場合に、この制御情報に格納された制御レートを自ノードの許容レートと決定することを特徴とする。
【0024】
また、本発明は、上記発明において、前記生成手段は、前記受信手段によって受信された拡張制御情報に格納された制御レートと自ノードの入力レートとの差分に関する差分情報を拡張制御情報に格納することを特徴とする。
【0025】
また、本発明は、上記発明において、前記決定手段は、前記差分情報を用いてすべての下流ノードの入力レートの合計を算出し、許容レートの決定に使用することを特徴とする。
【0026】
また、本発明は、上記発明において、前記生成手段は、自ノードの入力レートが制御レートとして拡張制御情報に格納される際、下流ノードの入力レートについて自ノードの入力レートを基準とした差分を算出し、差分情報を更新することを特徴とする。
【0027】
また、本発明は、上記発明において、前記生成手段は、前記受信手段によって受信された制御情報または拡張制御情報に格納された制御レートが自ノードを通過するデータのトラフィックレート以上である場合に、制御レートを含まない制御情報を生成することを特徴とする。
【0028】
また、本発明は、リング状に接続された複数のノードからなる通信ネットワークにおいて上流ノードから下流ノードへ向かうデータ伝送に輻輳が発生した場合に、上流ノードの入力レートを制限する制御レートを含む制御情報を送信するノード内における通信制御方法であって、自ノードにおけるデータの入力に許容される許容レートを決定する決定工程と、前記決定工程にて決定された許容レートが自ノードの希望レート以上である場合に、希望レートが達成される旨の満足情報を含む拡張制御情報を生成する生成工程と、前記生成工程にて生成された拡張制御情報を上流ノードへ送信する送信工程とを有することを特徴とする。
【発明の効果】
【0029】
本発明によれば、自ノードにおけるデータの入力に許容される許容レートを決定し、決定された許容レートが自ノードの希望レート以上である場合に、希望レートが達成される旨の満足情報を含む拡張制御情報を生成し、生成された拡張制御情報を上流ノードへ送信する。このため、上流ノードが拡張制御情報を受信した場合、この上流ノードが主体となってさらに上流のノードの入力レートを制御することができ、各ノードにおける入力レートを過剰に減少させることがない。結果として、ノードにおける通信レートの発振を防止し、通信ネットワークを構成する複数のノードに公平に帯域を分配することができる。
【0030】
また、本発明によれば、通信ネットワーク全体の伝送容量レートから自ノードを通過するデータのトラフィックレートを減算して得られる入力可能レートを自ノードの許容レートと決定する。このため、輻輳が発生していない状況では上流ノードを優先しながら下流ノードの入力レートを制御することができ、許容レートが希望レートに等しいか希望レート未満になって輻輳が発生すると、輻輳の発生を契機として上流ノードに対する拡張制御情報または制御情報の送信を開始することができる。
【0031】
また、本発明によれば、自ノードにおける入力データを蓄積可能なキューを経由する入力データの入力レートを許容レートに従って制御し、キューに入力データが蓄積されていない場合に拡張制御情報を生成する。このため、許容レートによる制限に関わらず入力データがすべてキューから出力されていれば拡張制御情報を生成することになり、希望レートが達成されている場合に確実に拡張制御情報を上流ノードへ送信することができる。
【0032】
また、本発明によれば、いずれかの下流ノードにおける入力レートが制御レートとして格納された制御情報または拡張制御情報を受信し、受信された情報の種別に応じて拡張制御情報を生成するか否かを決定する。このため、下流ノードの状況を含めた情報を上流ノードへ送信することができ、例えば自ノードおよびすべての下流ノードにおいて希望レートが達成されている場合にのみ拡張制御情報を上流ノードへ送信することができる。
【0033】
また、本発明によれば、拡張制御情報が受信され、かつ許容レートが希望レート以上である場合に、拡張制御情報を生成するため、自ノードおよびすべての下流ノードにおいて希望レートが達成されている場合に拡張制御情報を上流ノードへ送信し、上流ノードにさらに上流のノードの入力レートを制限する権利を与えることができる。
【0034】
また、本発明によれば、受信された拡張制御情報に格納された制御レートおよび自ノードの入力レートのうち大きいレートを制御レートとして拡張制御情報に格納するため、上流ノードは、自ノードおよびすべての下流ノードにおける最大の入力レートを制御レートとして把握し、制御レートに合わせて入力レートを制限するため、確実に各ノードに公平に帯域を分配することができる。
【0035】
また、本発明によれば、拡張制御情報が受信され、かつ許容レートが希望レート未満である場合に、制御情報を生成するため、すべての下流ノードにおいて希望レートが達成され、自ノードにおいて希望レートが達成されない場合に制御情報を上流ノードへ送信し、上流ノードの入力レートを制限する権利を獲得することができる。
【0036】
また、本発明によれば、受信された拡張制御情報に格納された制御レートおよび自ノードの入力レートのうち大きいレートを制御レートとして制御情報に格納するため、上流ノードは、自ノードおよびすべての下流ノードにおける最大の入力レートを制御レートとして把握し、制御レートに合わせて入力レートを制限するため、確実に各ノードに公平に帯域を分配することができる。
【0037】
また、本発明によれば、制御情報が受信された場合に、許容レートと希望レートの大小関係に関わらず受信された制御情報に格納された制御レートを含む制御情報を生成するため、いずれかの下流ノードにおいて希望レートが達成されていない場合に、上流ノードは、この下流ノードにおける入力レートを制御レートとして把握し、制御レートに合わせて入力レートを制限するため、確実に各ノードに公平に帯域を分配することができる。
【0038】
また、本発明によれば、拡張制御情報が受信され、かつこの拡張制御情報に格納された制御レートが自ノードの入力レート未満である場合に、通信ネットワーク全体の伝送容量レートから自ノードを通過するデータのトラフィックレートおよびすべての下流ノードの入力レートの合計を減算して得られるレートを自ノードの許容レートと決定する。このため、自ノード以外のすべての上流ノードおよび下流ノードの入力レートを考慮した許容レートを決定することになり、上流ノードの入力レートが自ノードの許容レートおよび下流ノードの入力レートと公平になるように、適切に上流ノードの入力レートを制限することができる。
【0039】
また、本発明によれば、制御情報が受信された場合に、この制御情報に格納された制御レートを自ノードの許容レートと決定するため、希望レートが達成されていない下流ノードの入力レートに合わせて自ノードの入力レートを制限することになり、確実に各ノードに公平に帯域を分配することができる。
【0040】
また、本発明によれば、受信された拡張制御情報に格納された制御レートと自ノードの入力レートとの差分に関する差分情報を拡張制御情報に格納するため、拡張制御情報を受信する上流ノードは、制御レートと差分情報から下流ノードにおける入力レートを正確に把握することができる。
【0041】
また、本発明によれば、差分情報を用いてすべての下流ノードの入力レートの合計を算出し、許容レートの決定に使用するため、拡張制御情報を受信した場合の許容レートを正しく決定することができる。
【0042】
また、本発明によれば、自ノードの入力レートが制御レートとして拡張制御情報に格納される際、下流ノードの入力レートについて自ノードの入力レートを基準とした差分を算出し、差分情報を更新する。このため、拡張制御情報に格納される制御レートが変更されても、拡張制御情報を受信する上流ノードは、制御レートと差分情報から下流ノードにおける入力レートを正確に把握することができる。
【0043】
また、本発明によれば、受信された制御情報または拡張制御情報に格納された制御レートが自ノードを通過するデータのトラフィックレート以上である場合に、制御レートを含まない制御情報を生成する。このため、通過トラフィックが小さく、上流ノードにおける入力レートを制限する必要はない場合は、上流ノードに対して輻輳を考慮する必要がないことを通知することができる。
【発明を実施するための最良の形態】
【0044】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。以下においては、RPRを適用する通信ネットワークを例に挙げて説明するが、本発明は、データの伝送経路が分岐することが無いように複数のノードがリング状に接続され、必要に応じて上流ノードの入力レートを下流ノードが制御する通信ネットワークであれば適用可能である。なお、以下においては、リング状に接続された複数のノードが、時計回り方向にデータの伝送を行っているものとし、特定のノードに対して、データの伝送経路の下流側に位置するノードを下流ノードといい、データの伝送経路の上流側に位置するノードを上流ノードという。
【0045】
(実施の形態1)
図1は、本発明の実施の形態1に係るノードの要部構成を示すブロック図である。このノードは、RPRを適用する通信ネットワーク内のノードである。図1に示すノードは、データフレーム送受信部101、制御フレーム受信部102、入力可能レート算出部103、許容レート決定部104、入力レート制御部105、キュー監視部106、パケットタイプ判定部107、パケットタイプ決定部108、差分レート算出部109、パケット生成部110、および制御フレーム送信部111を有している。
【0046】
データフレーム送受信部101は、図示しない上流ノードから自ノードを通過して図示しない下流ノードへ伝送される通過データを含むデータフレームを上流ノードから受信し、通過データおよび自ノードから入力される入力データを含むデータフレームを下流ノードへ送信する。なお、図1では省略したが、データフレーム送受信部101に受信されるデータフレームには、自ノード宛のデータが含まれていても良い。
【0047】
制御フレーム受信部102は、図示しない下流ノードから所定間隔で制御フレームを受信する。本実施の形態においては、制御フレーム受信部102は、制御フレームとして、2種類のパケットを受信する。すなわち、制御フレーム受信部102は、通常の制御用データを含む通常パケット、または自ノードにおける入力レートの上限を示す制御レートと下流ノードの入力レートが希望のレートを達成している旨の満足情報とを含む拡張パケットのいずれかを受信する。ただし、通常パケットには、制御用データとして制御レートが含まれているものと含まれていないものとがある。
【0048】
ここで、通常パケットのデータ部分は、例えば図2−1に示すようなフォーマットを有しており、満足情報フィールド201のビットが0となっている。この満足情報フィールド201は、予約フィールド202の最上位ビットが利用されている。満足情報フィールド201のビットが0の通常パケットが受信された場合、いずれかの下流ノードにおいて入力レートが希望レートを達成していないことを意味している。予約フィールド202は、パケットの拡張性に寄与するフィールドであり、通常パケットにおいては何の情報も有していない。さらに、制御レートフィールド203は、輻輳地点までの下流ノードにおける最大の入力レートに等しい制御レートの情報を保持している。
【0049】
一方、拡張パケットのデータ部分は、例えば図2−2に示すようなフォーマットを有しており、満足情報フィールド204のビットが1となっている。満足情報フィールド204のビットが1の拡張パケットが受信された場合、すべての下流ノードにおいて入力レートが希望レートを達成していることを意味している。また、拡張パケットにおいては、予約フィールド205に差分レートの情報が格納されている。差分レートとは、制御レートと下流ノードそれぞれにおける入力レートとの差分を累積したレートのことであり、拡張パケットに含まれる制御レートに対して、下流ノードそれぞれの実際の入力レートがどの程度小さいかを示している。この差分レートは、下流ノード全体の入力レートの合計を算出するのに用いられる。制御レートフィールド206は、輻輳地点までの下流ノードにおける最大の入力レートに等しい制御レートの情報を保持している。
【0050】
入力可能レート算出部103は、リング全体で伝送可能なトラフィックレートを示すリング容量レートから、上流ノードから下流ノードへの通過データのトラフィックレートを減算し、自ノードが入力可能な入力可能レートを算出する。
【0051】
許容レート決定部104は、制御フレーム受信部102によって受信される制御フレーム内の制御レート(以下「受信制御レート」という)、入力可能レート算出部103によって算出される入力可能レート、キュー監視部106から通知される入力レート、および拡張パケット内の差分レートを用いて、自ノードにおける入力レートの上限を示す許容レートを決定する。具体的には、許容レート決定部104は、制御フレーム受信部102によって制御レートを含む通常パケットが受信された場合は、受信制御レートを許容レートと決定する。また、制御フレーム受信部102によって拡張パケットが受信された場合は、受信制御レートと入力レートの大小関係に応じて、入力可能レートから下流ノード全体の入力レートの合計(以下「下流レート」という)を差し引いたレートおよび受信制御レートのいずれかを許容レートと決定する。そして、制御フレーム受信部102によって制御レートを含まない通常パケットが受信された場合は、入力可能レートを許容レートと決定する。
【0052】
ここで、許容レート決定部104は、下流レートを算出するに際して、拡張パケット内の差分レートを用いる。すなわち、許容レート決定部104は、下流ノード数に受信制御レートを乗算し、乗算結果から差分レートを減算して下流レートを算出する。下流ノード数は、拡張パケットのヘッダ部分に格納されているttl(time to live)フィールドの数値などから判断することができる。上述したように、受信された制御フレーム内の制御レートは、下流ノードにおける最大の入力レートに等しいため、すべての下流ノードにおける入力レートは、受信制御レート以下である。そして、拡張パケット内の差分レート情報として、受信制御レートと各下流ノードにおける入力レートとの差分が累積されているため、受信制御レートの下流ノード数倍から差分レートを減算することにより、実際の下流ノード全体の入力レートの合計(下流レート)が算出される。許容レート決定部104は、拡張パケットが受信され、受信制御レートが入力レート未満である場合、入力可能レートから下流レートを減算して許容レートを求めるが、これはリング容量レートから通過トラフィックレートと下流ノードの入力レートとの合計を減算したレートに他ならない。
【0053】
差分レートは、このように下流レートの算出に用いられるため、拡張パケットの予約フィールド205に下流レートそのものを格納するようにしても良いが、制御レートとの差分として情報を保持することにより、情報量の削減を図ることができ、限りある予約フィールド205のビットを有効に利用することができる。
【0054】
入力レート制御部105は、許容レート決定部104によって決定された許容レートを上限として自ノードにおける入力データをデータフレーム送受信部101へ出力し、自ノードにおける入力レートを制御する。具体的には、入力レート制御部105は、入力データを蓄積するキューを備えており、キューに蓄積された入力データを許容レートを上限とした入力レートでデータフレーム送受信部101へ出力する。ただし、入力レート制御部105は、通常パケットが受信されて許容レートが受信制御レートとなって減少する場合は、急激に入力レートを許容レートにまで減少させるのではなく、入力レートが徐々に許容レートに収束するように制御する。
【0055】
キュー監視部106は、入力レート制御部105に備えられたキューを監視し、キュー内に入力データが蓄積されていれば、許容レートが自ノードの希望レート未満であると判断する一方、キュー内に入力データが蓄積されていなければ、許容レートが自ノードの希望レート以上であると判断する。すなわち、キュー監視部106は、キューを監視することによって、自ノードの許容レートと希望レートとの大小関係を判断する。そして、もし、下流ノードにおいて輻輳が発生していない、換言すれば、制御フレーム受信部102によって制御レートを含まない通常パケットが受信されており、かつ自ノードの許容レートが希望レート以下であれば、自ノードにおいて輻輳が発生していることになる。また、キュー監視部106は、キュー監視の結果、実際の入力レートを許容レート決定部104へ通知する。
【0056】
パケットタイプ判定部107は、制御フレーム受信部102によって受信された制御フレームに制御レートが含まれているか否かを判定する。また、パケットタイプ判定部107は、受信制御フレームに制御レートが含まれている場合、制御フレームの満足情報フィールドを参照して、この制御フレームが通常パケットであるか拡張パケットであるかを判定する。パケットタイプ判定部107は、パケットタイプの判定結果を許容レート決定部104およびパケットタイプ決定部108へ通知する。また、パケットタイプ判定部107は、受信制御フレームに制御レートが含まれている場合、受信制御レートとデータフレーム送受信部101における通過トラフィックレートとを比較し、受信制御レートが通過トラフィックレート以上であれば、その旨をパケットタイプ決定部108へ通知する。
【0057】
パケットタイプ決定部108は、キュー監視部106による判断結果およびパケットタイプ判定部107による判定結果に応じて自ノードから上流ノードへ送信する制御フレームのパケットタイプを決定する。具体的には、受信制御フレームに制御レートが含まれていない場合は、パケットタイプ決定部108は、キュー監視部106による判断の結果によってパケットタイプを決定する。すなわち、パケットタイプ決定部108は、許容レートが希望レート未満である場合、パケットタイプを制御レートを含む通常パケットに決定し、許容レートが希望レートに等しい場合、パケットタイプを拡張パケットに決定し、許容レートが希望レートより大きい場合、パケットタイプを制御レートを含まない通常パケットに決定する。
【0058】
一方、制御フレームが受信されており、パケットタイプ判定部107から制御レートを含む通常パケットを受信した旨の判定結果が出力された場合は、パケットタイプ決定部108は、キュー監視部106の判断結果に関わらず、パケットタイプを通常パケットに決定する。また、パケットタイプ判定部107から拡張パケットを受信した旨の判定結果が出力された場合は、パケットタイプ決定部108は、許容レートが希望レート未満である場合、パケットタイプを制御レートを含む通常パケットに決定し、許容レートが希望レート以上である場合、パケットタイプを拡張パケットに決定する。さらに、パケットタイプ決定部108は、パケットタイプ判定部107から受信制御レートが通過トラフィックレート以上である旨が通知された場合は、上流ノードの入力レートを制限する必要がないことから、パケットタイプを制御レートを含まない通常パケットに決定する。
【0059】
また、パケットタイプ決定部108は、送信するパケットタイプの決定とともに、パケットに格納する制御レートを決定する。具体的には、受信制御フレームに制御レートが含まれておらず、パケットタイプが制御レートを含む通常パケットまたは拡張パケットに決定された場合は、パケットタイプ決定部108は、自ノードにおける入力レートを制御レートに決定する。
【0060】
一方、パケットタイプ判定部107から制御レートを含む通常パケットを受信した旨の判定結果が出力された場合は、パケットタイプ決定部108は、受信制御レートをそのまま制御レートに決定する。また、パケットタイプ判定部107から拡張パケットを受信した旨の判定結果が出力された場合は、パケットタイプ決定部108は、許容レートが希望レート未満である場合、自ノードにおける入力レートを制御レートに決定し、許容レートが希望レート以上である場合、自ノードにおける入力レートと受信制御レートとのうち大きい方を制御レートに決定する。
【0061】
差分レート算出部109は、パケットタイプ決定部108によってパケットタイプが拡張パケットに決定された際、制御フレーム受信部102によって受信制御レートと自ノードの入力レートとから差分レートを算出する。具体的には、図2−2に示すような拡張パケットが受信され、許容レートが希望レート以上である場合、差分レート算出部109は、制御レートフィールド206の受信制御レートから入力レート制御部105における入力レートを減算し、減算結果を予約フィールド205の差分レートに加算することにより新たな差分レートを算出する。このとき、パケットタイプ決定部108によって自ノードの入力レートが制御レートに決定される場合は、基準となる制御レートが変更される可能性があるため、差分レート算出部109は、下流ノードに関する差分レートについても計算しなおす。
【0062】
具体的に例を挙げると、例えば図3において、ノード1〜4が上流ノードから順にそれぞれ25M、10M、10M、および20Mの入力レートでノード5へデータを伝送している場合、ノード4において輻輳が発生し、かつ各ノード1〜4の希望レートが入力レートに等しければ、ノード1〜4は上流ノードに対して拡張パケットを送信することになる。すなわち、ノード4は、ノード3に対してノード4の入力レート20Mを制御レートとした拡張パケットを送信する。ノード3は、ノード4からの受信制御レートの方がノード3の入力レートより大きいため、ノード2に対してノード4からの受信制御レート20Mを制御レートとした拡張パケットを送信する。ノード2は、ノード3からの受信制御レートの方がノード2の入力レートより大きいため、ノード1に対してノード3からの受信制御レート20Mを制御レートとした拡張パケットを送信する。
【0063】
さらに、ノード1は、ノード2からの受信制御レートよりノード1の入力レートの方が大きいため、図示しない上流ノードに対してノード1の入力レート25Mを制御レートとした拡張パケットを送信する。つまり、ノード1において制御レートが変更されるため、ノード2までは制御レート20Mを基準とした差分レートが算出されていたのに対し、ノード1では制御レート25Mを基準とした差分レートを算出する必要がある。このため、ノード1は、ttlフィールドの数値を参照して下流ノード数を3(ノード2〜4)と把握し、下流レート40M(=受信制御レート20M×3−差分レート20M)を算出するとともに、ノード1で決定された制御レート25Mの下流ノード数倍(=25M×3)から下流レート40Mを減算して新たな差分レート35Mを算出する。このようにしておくことで、図示しない上流ノードにおいて下流レートが算出される際、受信制御レートと差分レートが正しく対応しており、正確な下流レートが算出される。
【0064】
パケット生成部110は、パケットタイプ決定部108によって決定されたパケットタイプのパケットを生成する。すなわち、パケット生成部110は、パケットタイプが通常パケットに決定された場合は、満足情報フィールドのビットを0とした通常パケットを生成し、パケットタイプが拡張パケットに決定された場合は、満足情報フィールドのビットを1とした拡張パケットを生成する。このとき、パケット生成部110は、パケットタイプ決定部108によって決定された制御レートの有無に応じたパケットを生成し、拡張パケットを生成する場合は、差分レート算出部109によって算出される差分レートを含む拡張パケットを生成する。なお、制御レートを含まない通常パケットを生成する場合、パケット生成部110は、例えば通常パケットの制御レートフィールド203の全ビットを1にする。
【0065】
制御フレーム送信部111は、パケット生成部110によって生成された通常パケットまたは拡張パケットを制御フレームとして図示しない上流ノードへ送信する。
【0066】
次いで、上記のように構成されたノードによる制御フレーム送信動作について、図4に示すフロー図を参照しながら説明する。
【0067】
まず、上流ノードからの通過トラフィックがデータフレーム送受信部101を通過していく状態において、入力可能レート算出部103によって入力可能レートが算出される。すなわち、入力可能レート算出部103によって、リング容量レートから通過トラフィックレートが減算され、自ノードにおける入力可能レートが算出される(ステップS101)。算出された入力可能レートは、許容レート決定部104へ出力される。また、制御フレーム受信部102によって下流ノードから制御フレームが受信され、パケットタイプ判定部107によって、受信制御フレームに制御レートが含まれているか否かが監視されている(ステップS102)。
【0068】
ここではまず、制御レートを含む通常パケットが受信された場合について説明する。パケットタイプ判定部107によって、受信制御フレームに制御レートが含まれていると判定されると(ステップS102Yes)、さらに制御フレームの満足情報フィールドが参照され、パケットタイプが通常パケットであるか否かが判定される(ステップS103)。パケットタイプの判定結果は、許容レート決定部104へ通知され、受信パケットタイプが制御レートを含む通常パケットである場合は(ステップS103Yes)、許容レート決定部104によって、受信制御レートが自ノードの許容レートと決定される(ステップS104)。
【0069】
また、パケットタイプ判定部107によって、受信制御レートとデータフレーム送受信部101における通過トラフィックレートとが比較され(ステップS105)、受信制御レートが通過トラフィックレート以上である場合にのみ、その旨がパケットタイプ決定部108へ通知される。受信制御レートが通過トラフィックレート以上である場合は(ステップS105No)、通過トラフィックが小さいことから、上流ノードにおける入力レートを制限する必要はないことがわかる。このため、自ノードのみにおいて入力レートを制限すれば十分であり、上流ノードに対して輻輳を考慮する必要がないことを通知するために、後述するように制御レートを含まない通常パケットが送信されることになる(ステップS118)。
【0070】
また、受信制御レートと通過トラフィックレートとの大小関係に関わらず、ここで受信された制御フレームが制御レートを含む通常パケットであることから、いずれかの下流ノードにおいて希望レートが達成されていないことになるため、入力レート制御部105によって、希望レートが達成されていない下流ノードの入力レート(すなわち許容レート)に自ノードの入力レートが収束するように制御される。このとき、自ノードの入力レートが元々許容レート未満である場合は、入力レート制御部105によって許容レートを上限とした入力レートの制御が行われる。
【0071】
また、パケットタイプ決定部108によって、上流ノードに対して送信する制御フレームのパケットタイプが決定されるが、受信制御レートが通過トラフィックレート未満である場合は(ステップS105Yes)、希望レートが達成されていない下流ノードの状況をそのまま上流ノードへ伝達する必要があり、パケットタイプ決定部108によって決定されるパケットタイプは制御レートを含む通常パケットとなる。そして、通常パケットに格納される制御レートは受信制御レートに等しくなる。一方、受信制御レートが通過トラフィックレート以上である場合は(ステップS105No)、上述したように輻輳が発生していることを上流ノードへ伝達する必要がなく、パケットタイプ決定部108によって決定されるパケットタイプは制御レートを含まない通常パケットとなる。
【0072】
パケットタイプ決定部108によって決定されたパケットタイプおよび制御レートは、パケット生成部110へ通知され、パケット生成部110によって、制御レートが受信制御レートに等しい通常パケット(ステップS106)または制御レートを含まない通常パケット(ステップS118)が生成される。そして、通常パケットは、制御フレーム送信部111によって上流ノードへ送信される(ステップS107)。
【0073】
次に、制御フレームとして拡張パケットが受信された場合について説明する。パケット判定部107によって、受信制御フレームに制御レートが含まれていると判定されると(ステップS102Yes)、さらに制御フレームの満足情報フィールドが参照され、パケットタイプが通常パケットであるか否かが判定される(ステップS103)。パケットタイプの判定結果は、許容レート決定部104へ通知され、受信パケットタイプが拡張パケットである場合は(ステップS103No)、許容レート決定部104によって、受信制御レートとキュー監視部106から通知される入力レートとが比較される(ステップS108)。
【0074】
この結果、受信制御レートが入力レート未満であれば(ステップS108Yes)、受信された拡張パケット内の差分レートから求まる下流レートを入力可能レートから減算して得られるレートが自ノードの許容レートと決定される(ステップS109)。換言すれば、受信パケットタイプが拡張パケットであり、自ノードの入力レートが大きすぎる場合の許容レートは、通過トラフィックレートと下流ノード全体の入力レートとの合計をリング容量レートから減算したレートとなる。一方、受信制御レートが入力レート以上であれば(ステップS108No)、受信制御レートが自ノードの許容レートと決定される(ステップS113)。換言すれば、受信パケットタイプが拡張パケットであり、自ノードの入力レートが十分に小さい場合の許容レートは、いずれかの下流ノードの入力レートに等しくなる。
【0075】
また、パケットタイプ判定部107によって、受信制御レートとデータフレーム送受信部101における通過トラフィックレートとが比較され(ステップS110)、受信制御レートが通過トラフィックレート以上である場合にのみ、その旨がパケットタイプ決定部108へ通知される。受信制御レートが通過トラフィックレート以上である場合は(ステップS110No)、通過トラフィックが小さいことから、上流ノードにおける入力レートを制限する必要はないことがわかる。このため、自ノードのみにおいて入力レートを制限すれば十分であり、上流ノードに対して輻輳を考慮する必要がないことを通知するために、受信パケットタイプが制御レートを含む通常パケットであった場合と同様に、自ノードからは制御レートを含まない通常パケットが送信されることになる(ステップS118)。
【0076】
また、受信制御レートと通過トラフィックレートとの大小関係に関わらず、入力レート制御部105によって、許容レートを使用するように自ノードの入力レートが制限される。このとき、キュー監視部106によって、入力レート制御部105内のキューが監視され、キューに入力データが蓄積されているか否かにより、許容レートが自ノードの希望レート未満であるか否かが判定される(ステップS111)。
【0077】
すなわち、キューに入力データが蓄積されていれば、所望量の入力データがデータフレームとして送信されていないことになり、許容レートが希望レート未満であることになる。一方、キューに入力データが蓄積されていなければ、所望量の入力データがデータフレームとして送信されていることになり、許容レートが希望レートに等しいことになる。
【0078】
キュー監視部106によるキューの監視の結果、許容レートが希望レート未満であれば(ステップS111Yes)、すべての下流ノードにおいては希望レートが達成されているものの自ノードにおいては希望レートが達成されていないことになるため、パケットタイプ決定部108によって決定されるパケットタイプは制御レートを含む通常パケットとなる。そして、通常パケットに格納される制御レートは自ノードの入力レートに等しくなる。
【0079】
パケットタイプ決定部108によって決定されたパケットタイプおよび制御レートは、パケット生成部110へ通知され、パケット生成部110によって、制御レートが自ノードの入力レートに等しい通常パケットが生成される(ステップS112)。そして、制御レートを含む通常パケットは、制御フレーム送信部111によって上流ノードへ送信される(ステップS107)。
【0080】
また、キュー監視部106によるキューの監視の結果、許容レートが希望レート以上であれば(ステップS111No)、すべての下流ノードおよび自ノードにおいて希望レートが達成されていることになるため、パケットタイプ決定部108によって決定されるパケットタイプは拡張パケットとなる。そして、拡張パケットに格納される制御レートは受信制御レートおよび自ノードの入力レートのうち大きい方のレートに等しくなる。
【0081】
そして、パケットタイプが通常パケットに決定された場合と同様に、パケット生成部110によって、制御レートが自ノードの入力レートまたは受信制御レートに等しい拡張パケットが生成され(ステップS114)、拡張パケットは、制御フレーム送信部111によって上流ノードへ送信される(ステップS107)。
【0082】
最後に、制御レートを含まない制御フレーム(通常パケット)が受信された場合、換言すれば、輻輳について考慮する必要がない場合について説明する。制御レートが受信されない場合は(ステップS102No)、許容レート決定部104に受信制御レートが通知されることはなく、入力可能レートが自ノードの許容レートと決定される(ステップS115)。
【0083】
そして、入力レート制御部105によって、許容レートを上限として自ノードの入力レートが制御される。このとき、キュー監視部106によって、入力レート制御部105内のキューが監視され、キューに入力データが蓄積されているか否かにより、許容レートと自ノードの希望レートとの大小関係が判定される(ステップS116)。
【0084】
キュー監視部106によるキュー監視の結果、許容レートが希望レート以下であれば(ステップS116Yes)、自ノードにおいて希望レートが達成されないか許容レートと希望レートが等しいため、自ノードにおいて輻輳が発生していることになる。したがって、上流ノードに対して制御レートを含む制御フレームが送信されることになり、パケットタイプ決定部108によって、希望レートが達成されていない場合はパケットタイプが通常パケットに決定され、許容レートと希望レートが等しい場合はパケットタイプが拡張パケットに決定される。そして、通常パケットまたは拡張パケットに格納される制御レートは自ノードの入力レートに等しくなる。
【0085】
パケットタイプ決定部108によって決定されたパケットタイプおよび制御レートは、パケット生成部110へ通知され、パケット生成部110によって、制御レートが自ノードの入力レートに等しい通常パケットまたは拡張パケットが生成される(ステップS117)。そして、通常パケットまたは拡張パケットは、制御フレーム送信部111によって上流ノードへ送信される(ステップS107)。
【0086】
また、キュー監視部106によるキュー監視の結果、許容レートが希望レートより大きければ(ステップS116No)、自ノードの希望レートを入力レートとしてもリング容量レートには余裕があり、自ノードにおいても輻輳が発生しないことになる。したがって、上流ノードに対して制御レートが送信されることはなく、パケット生成部110によって、制御レートを含まない通常パケットが生成される(ステップS118)。そして、制御レートを含まない通常パケットは、制御フレーム送信部111によって上流ノードへ送信される(ステップS107)。
【0087】
このように、本実施の形態においては、リング容量レートが最大限まで使用され輻輳が発生している場合、自ノードおよびすべての下流ノードにおいて希望レートが達成されていれば、上流ノードに対して拡張パケットが送信され、自ノードまたはいずれかの下流ノードにおいて希望レートが達成されていなければ、上流ノードに対して通常パケットが送信される。このため、希望レートが達成されていない最下流のノードの入力レートのみが制御レートとして上流ノードへ通知され、上流ノードの入力レートに制限をかけることになる。したがって、すべてのノードにおいて希望レートが達成されれば、上流ノードの入力レートが必要以上に制限されることはなく、ノードにおける通信レートの発振を防止し、通信ネットワークを構成する複数のノードに公平に帯域を分配することができる。
【0088】
以下、複数のノードにおける帯域の分配について、具体的に例を挙げて説明する。
【0089】
図5−1は、ノード1〜7からなるRPRの通信ネットワークを模式的に示す図である。同図において、ノード1〜4によるノード5へのデータ伝送の希望レートがそれぞれ40M、40M、10M、および20Mである場合を考える。なお、図5−1に示した通信ネットワークのリング容量レートは100Mであるものとする。
【0090】
RPRでは上流ノードが優先されるため、初期状態では、ノード1〜3は、それぞれ入力レートを希望レートに等しくしており、ノード4には通過トラフィックとして90Mが到達する。そして、ノード4の希望レートは20Mであるが、リング容量レートは100Mであるため、ノード4は入力レートを10Mにせざるを得ず、ノード4において輻輳が発生する。このため、ノード4は、制御レートを自ノードの入力レート10Mとした通常パケットをノード3へ送信する。
【0091】
送信された通常パケットは、ノード3によって受信され、ノード3における許容レートは受信制御レート10Mに等しくなって、ノード3の入力レートが制御される。すなわち、ノード3の現在の入力レートが10Mであるため、入力レートは10Mのまま維持される。また、通常パケットが受信されたため、ノード3は、制御レートを受信制御レート10Mとした通常パケットをノード2へ送信する。
【0092】
送信された通常パケットは、ノード2によって受信され、ノード2における許容レートは受信制御レート10Mに等しくなって、ノード2の入力レートが制御される。すなわち、ノード2の現在の入力レートが40Mであるため、入力レートは許容レート10Mへ向かって減少する。また、通常パケットが受信されたため、ノード2は、制御レートを受信制御レート10Mとした通常パケットをノード1へ送信する。
【0093】
送信された通常パケットは、ノード1によって受信され、ノード1における許容レートは受信制御レート10Mに等しくなって、ノード1の入力レートが制御される。すなわち、ノード1の現在の入力レートが40Mであるため、入力レートは許容レート10Mへ向かって減少する。
【0094】
このように、ノード1およびノード2の入力レートが許容レート10Mへ向かって減少する結果、下流のノード4における入力レートを増加させることができる。具体的には、例えば図5−2に示すように、ノード1の入力レートが38Mとなり、ノード2の入力レートが37Mとなると、減少した5Mだけノード4の入力レートが増加し、ノード4の入力レートは15Mとなる。しかし、依然としてノード4において輻輳が発生するとともに、ノード4の希望レート20Mが達成されていないため、ノード4は、制御レートを自ノードの入力レート15Mとした通常パケットをノード3へ送信する。
【0095】
送信された通常パケットは、ノード3によって受信され、ノード3における許容レートは受信制御レート15Mに等しくなって、ノード3の入力レートが制御される。すなわち、ノード3の現在の入力レートが10Mであるため、入力レートは10Mのまま維持される。また、通常パケットが受信されたため、ノード3は、制御レートを受信制御レート15Mとした通常パケットをノード2へ送信する。
【0096】
送信された通常パケットは、ノード2によって受信され、ノード2における許容レートは受信制御レート15Mに等しくなって、ノード2の入力レートが制御される。すなわち、ノード2の現在の入力レートが37Mであるため、入力レートは許容レート15Mへ向かって減少する。また、通常パケットが受信されたため、ノード2は、制御レートを受信制御レート15Mとした通常パケットをノード1へ送信する。
【0097】
送信された通常パケットは、ノード1によって受信され、ノード1における許容レートは受信制御レート15Mに等しくなって、ノード1の入力レートが制御される。すなわち、ノード1の現在の入力レートが38Mであるため、入力レートは許容レート15Mへ向かって減少する。
【0098】
以降、このような上流ノードへ対する通常パケットの伝送と上流ノードによる入力レートの制御とが行われ、例えば図5−3に示すように、ノード1の入力レートが36Mとなり、ノード2の入力レートが34Mとなると、ノード4の入力レートは20Mとなる。この時点で、ノード4において輻輳が発生するものの、ノード4の許容レートと希望レートがいずれも20Mで等しくなるため、ノード4は、制御レートを自ノードの入力レート20Mとした拡張パケットをノード3へ送信する。
【0099】
送信された拡張パケットは、ノード3によって受信され、ノード3における許容レートはリング容量レート100Mから通過トラフィックレートと下流ノードすべての入力レートとの合計(=36M+34M+20M)を減算して得られるレート10Mに等しくなって、ノード3の入力レートが制御される。すなわち、ノード3の現在の入力レートが10Mであるため、入力レートは10Mのまま維持される。また、拡張パケットが受信され、かつ、ノード3の許容レートと希望レートがいずれも10Mで等しくなるため、ノード3は、制御レートを入力レート10Mよりも大きい受信制御レート20Mとした拡張パケットをノード2へ送信する。
【0100】
送信された拡張パケットは、ノード2によって受信され、ノード2における許容レートはリング容量レート100Mから通過トラフィックレートと下流ノードすべての入力レートとの合計(=36M+10M+20M)を減算して得られるレート34Mに等しくなって、ノード2の入力レートが制御される。すなわち、ノード2の現在の入力レートが34Mであるため、入力レートは34Mのまま維持される。また、拡張パケットが受信され、かつ、ノード2の許容レート34Mが希望レート40M未満であるため、ノード2は、制御レートを入力レート34Mとした通常パケットをノード1へ送信する。
【0101】
送信された通常パケットは、ノード1によって受信され、ノード1における許容レートは受信制御レート34Mに等しくなって、ノード1の入力レートが制御される。すなわち、ノード1の現在の入力レートが36Mであるため、入力レートは許容レート34Mへ向かって減少する。
【0102】
このように、下流ノードから拡張パケットが送信された場合は、拡張パケットを受信したノードが上流ノードの入力レートを制限する権利を有することになる。つまり、上記の例においては、当初、ノード4が自ノードの入力レートに合わせて上流ノードの入力レートを制限していたが、ノード4およびノード3において希望レートが達成されると、ノード2において拡張パケットが受信されるとともに、ノード2の希望レートが達成されないため、ノード2が自ノードの入力レートに合わせて上流ノードであるノード1の入力レートを制限するようになる。
【0103】
そして、最終的には、図5−4に示すように、ノード1の入力レートが35Mとなると、減少した1Mだけノード2の入力レートが増加し、ノード2の入力レートは35Mとなる。この状態でも、ノード4において輻輳が発生するため、図5−3の状態と同様に、ノード4およびノード3は、制御レートを20Mとした拡張パケットを上流ノードへ送信する。そして、ノード2によって拡張パケットが受信されると、ノード2における許容レートはリング容量レート100Mから通過トラフィックレートと下流ノードすべての入力レートとの合計(=35M+10M+20M)を減算して得られるレート35Mに等しくなって、ノード2の入力レートが制御される。すなわち、ノード2の現在の入力レートが35Mであるため、入力レートは35Mのまま維持される。また、拡張パケットが受信され、かつ、ノード2の許容レート35Mが希望レート40M未満であるため、ノード2は、制御レートを入力レート35Mとした通常パケットをノード1へ送信する。
【0104】
送信された通常パケットは、ノード1によって受信され、ノード1における許容レートは受信制御レート35Mに等しくなって、ノード1の入力レートが制御される。すなわち、ノード1の現在の入力レートが35Mであるため、入力レートは35Mのまま維持される。こうして、すべてのノード1〜4における入力レートが安定することになるとともに、希望レートが達成されないノード3、4においては、いずれも入力レートが35Mとなって、各ノード1〜4に公平に帯域が分配されたことになる。
【0105】
以上のように、本実施の形態によれば、通信ネットワーク内の各ノードが、自ノードおよびすべての下流ノードにおいて希望レートが達成される場合は、制御フレームとして拡張パケットを上流ノードへ送信するため、希望レートが達成されない最下流のノードの入力レートに合わせて上流ノードの入力レートを制御することができる。したがって、必要以上に上流ノードの入力レートが減少することがなく、結果として、ノードにおける通信レートの発振を防止し、通信ネットワークを構成する複数のノードに公平に帯域を分配することができる。
【0106】
(実施の形態2)
本発明の実施の形態2の特徴は、通信ネットワーク内の各ノードにおいて入力レートが安定した後、新たにデータを伝送する上流ノードが増えた場合にも適切に各ノードの入力レートを制御する点である。
【0107】
本実施の形態に係る個々のノードの要部構成および動作は、実施の形態1と同様であるため、その説明を省略する。ここでは、実施の形態1における具体例において、ノード1〜4の入力レートが安定した状態(図5−4)から上流ノードが増えた場合の例について説明する。
【0108】
図6−1は、実施の形態1における図5−4の状態から、ノード1の上流ノードとしてノード6およびノード7が新たに加わった状態を示す図である。ノード6、7は、希望レート25Mでノード5へのデータ伝送を行う。RPRでは上流ノードが優先されるため、図6−1の状態では、新たに加わったノード6、7は、入力レートを希望レートに等しくしている。
【0109】
一方、ノード3からの拡張パケットを受信しているノード2においては、許容レートがリング容量レート100Mから通過トラフィックレートと下流ノードすべての入力レートとの合計(=25M+25M+35M+10M+20M)を減算して得られるレートになるが、このレートが負の値−15Mになるため、ノード2の入力レートは0Mとなる。このとき、ノード2は、上流のノード1へ通常パケットを送信することになるが、通常パケットに格納される制御レートは、入力レート0Mではなく受信制御レート20Mとする。これは、受信制御レートは、いずれかの下流ノードにおける入力レートであるため、もし、受信制御レートを受け取ったノードの入力レートが希望レートを達成していないにも拘らず受信制御レートより小さければ、上流ノードを優先することと矛盾する。そこで、この矛盾を解消するために、制御レートは、入力レートが受信制御レートより大きい場合にのみ入力レートに変更されることになり、ノード2の入力レートが受信制御レートより小さい場合は、ノード2は制御レートを受信制御レートのまま変更しない。
【0110】
また、ノード2の入力レートを0Mにしても入力レートの合計がリング容量レート100Mに収まらないため、最下流のノード4の入力レートが15M減少して5Mとなる。そして、ノード2から制御レートを20Mとした通常パケットが上流のノード1、ノード7、およびノード6へ順次伝達されるため、これらのノードにおける入力レートは制御レート20Mへ向かって減少する。この結果、例えば図6−2に示すように、ノード1の入力レートが30Mとなり、ノード6、7の入力レートが22Mとなると、これらのノードの入力レートが減少した分、ノード2およびノード4の入力レートが増加する。図6−2にでは、例としてノード2の入力レートが5Mとなり、ノード4の入力レートが11Mとなっている。
【0111】
同時に、ノード4においては希望レートが達成されなくなっているため、制御レートによって上流ノードの入力レートを制限する権利はノード2からノード4へ移動する。すなわち、ノード4から制御レートを11Mとした通常パケットが送信され始める。通常パケットは、ノード3、ノード2、ノード1、ノード7、およびノード6へ順次伝達され、希望レートが制御レート未満であるノード3と入力レートが制御レート未満であるノード4以外のノードにおいては、入力レートが制御レート11Mへ向かって減少する。そして、ノード6、ノード7、およびノード1の入力レートが減少した分、入力レートが制御レート未満であるノード4および希望レートを達成していない最下流のノード2の入力レートが増加する。
【0112】
以降、各ノードが実施の形態1と同様の処理を実行することにより、最終的には、図6−3に示すように、希望レートが達成されないノード6、ノード7、ノード1、ノード2、およびノード4においては、いずれも入力レートが18Mとなって、各ノードに公平に帯域が分配されたことになる。
【0113】
以上のように、本実施の形態によれば、各ノードの入力レートが安定している状態で上流ノードが新たに追加された場合、上流ノードの入力レートを制御するノードが改めて希望レートが達成されない最下流のノードに設定される。このため、上流ノードが追加されても、効率的に各ノードの入力レートが制御され、ノードにおける通信レートの発振を防止し、通信ネットワークを構成する複数のノードに公平に帯域を分配することができる。
【0114】
(付記1)リング状に接続された複数のノードからなる通信ネットワークにおいて上流ノードから下流ノードへ向かうデータ伝送に輻輳が発生した場合に、上流ノードの入力レートを制限する制御レートを含む制御情報を送信するノード内における通信制御装置であって、
自ノードにおけるデータの入力に許容される許容レートを決定する決定手段と、
前記決定手段によって決定された許容レートが自ノードの希望レート以上である場合に、希望レートが達成される旨の満足情報を含む拡張制御情報を生成する生成手段と、
前記生成手段によって生成された拡張制御情報を上流ノードへ送信する送信手段と
を有することを特徴とする通信制御装置。
【0115】
(付記2)前記決定手段は、
通信ネットワーク全体の伝送容量レートから自ノードを通過するデータのトラフィックレートを減算して得られる入力可能レートを自ノードの許容レートと決定することを特徴とする付記1記載の通信制御装置。
【0116】
(付記3)自ノードにおける入力データを蓄積可能なキューを備え、前記決定手段によって決定された許容レートに従って前記キューを経由する入力データの入力レートを制御する制御手段をさらに有し、
前記生成手段は、
前記キューに入力データが蓄積されていない場合に拡張制御情報を生成することを特徴とする付記1記載の通信制御装置。
【0117】
(付記4)いずれかの下流ノードにおける入力レートが制御レートとして格納された制御情報または拡張制御情報を受信する受信手段をさらに有し、
前記生成手段は、
前記受信手段によって受信された情報の種別に応じて拡張制御情報を生成するか否かを決定することを特徴とする付記1記載の通信制御装置。
【0118】
(付記5)前記生成手段は、
前記受信手段によって拡張制御情報が受信され、かつ許容レートが希望レート以上である場合に、拡張制御情報を生成することを特徴とする付記4記載の通信制御装置。
【0119】
(付記6)前記生成手段は、
前記受信手段によって受信された拡張制御情報に格納された制御レートおよび自ノードの入力レートのうち大きいレートを制御レートとして拡張制御情報に格納することを特徴とする付記5記載の通信制御装置。
【0120】
(付記7)前記生成手段は、
前記受信手段によって拡張制御情報が受信され、かつ許容レートが希望レート未満である場合に、制御情報を生成することを特徴とする付記4記載の通信制御装置。
【0121】
(付記8)前記生成手段は、
前記受信手段によって受信された拡張制御情報に格納された制御レートおよび自ノードの入力レートのうち大きいレートを制御レートとして制御情報に格納することを特徴とする付記7記載の通信制御装置。
【0122】
(付記9)前記生成手段は、
前記受信手段によって制御情報が受信された場合に、許容レートと希望レートの大小関係に関わらず受信された制御情報に格納された制御レートを含む制御情報を生成することを特徴とする付記4記載の通信制御装置。
【0123】
(付記10)前記決定手段は、
前記受信手段によって拡張制御情報が受信され、かつこの拡張制御情報に格納された制御レートが自ノードの入力レート未満である場合に、通信ネットワーク全体の伝送容量レートから自ノードを通過するデータのトラフィックレートおよびすべての下流ノードの入力レートの合計を減算して得られるレートを自ノードの許容レートと決定することを特徴とする付記4記載の通信制御装置。
【0124】
(付記11)前記決定手段は、
前記受信手段によって制御情報が受信された場合に、この制御情報に格納された制御レートを自ノードの許容レートと決定することを特徴とする付記4記載の通信制御装置。
【0125】
(付記12)前記生成手段は、
前記受信手段によって受信された拡張制御情報に格納された制御レートと自ノードの入力レートとの差分に関する差分情報を拡張制御情報に格納することを特徴とする付記4記載の通信制御装置。
【0126】
(付記13)前記決定手段は、
前記差分情報を用いてすべての下流ノードの入力レートの合計を算出し、許容レートの決定に使用することを特徴とする付記12記載の通信制御装置。
【0127】
(付記14)前記生成手段は、
自ノードの入力レートが制御レートとして拡張制御情報に格納される際、下流ノードの入力レートについて自ノードの入力レートを基準とした差分を算出し、差分情報を更新することを特徴とする付記12記載の通信制御装置。
【0128】
(付記15)前記生成手段は、
前記受信手段によって受信された制御情報または拡張制御情報に格納された制御レートが自ノードを通過するデータのトラフィックレート以上である場合に、制御レートを含まない制御情報を生成することを特徴とする付記4記載の通信制御装置。
【0129】
(付記16)リング状に接続された複数のノードからなる通信ネットワークにおいて上流ノードから下流ノードへ向かうデータ伝送に輻輳が発生した場合に、上流ノードの入力レートを制限する制御レートを含む制御情報を送信するノード内における通信制御方法であって、
自ノードにおけるデータの入力に許容される許容レートを決定する決定工程と、
前記決定工程にて決定された許容レートが自ノードの希望レート以上である場合に、希望レートが達成される旨の満足情報を含む拡張制御情報を生成する生成工程と、
前記生成工程にて生成された拡張制御情報を上流ノードへ送信する送信工程と
を有することを特徴とする通信制御方法。
【産業上の利用可能性】
【0130】
本発明は、ノードにおける通信レートの発振を防止し、通信ネットワークを構成する複数のノードに公平に帯域を分配する場合に適用することができる。
【図面の簡単な説明】
【0131】
【図1】実施の形態1に係るノードの要部構成を示すブロック図である。
【図2−1】実施の形態1に係る通常パケットの一例を示す図である。
【図2−2】実施の形態1に係る拡張パケットの一例を示す図である。
【図3】実施の形態1に係る拡張パケットの送受信の一例を示す図である。
【図4−1】実施の形態1に係る制御フレーム送信動作を示すフロー図である。
【図4−2】図4−1に続く図である。
【図5−1】実施の形態1に係るノード間通信の一例を示す図である。
【図5−2】図5−1に続く図である。
【図5−3】図5−2に続く図である。
【図5−4】図5−3に続く図である。
【図6−1】実施の形態2に係るノード間通信の一例を示す図である。
【図6−2】図6−1に続く図である。
【図6−3】図6−2に続く図である。
【図7−1】輻輳発生時のノード間通信の一例を示す図である。
【図7−2】図7−1に続く図である。
【図7−3】図7−2に続く図である。
【符号の説明】
【0132】
101 データフレーム送受信部
102 制御フレーム受信部
103 入力可能レート算出部
104 許容レート決定部
105 入力レート制御部
106 キュー監視部
107 パケットタイプ判定部
108 パケットタイプ決定部
109 差分レート算出部
110 パケット生成部
111 制御フレーム送信部

【特許請求の範囲】
【請求項1】
リング状に接続された複数のノードからなる通信ネットワークにおいて上流ノードから下流ノードへ向かうデータ伝送に輻輳が発生した場合に、上流ノードの入力レートを制限する制御レートを含む制御情報を送信するノード内における通信制御装置であって、
自ノードにおけるデータの入力に許容される許容レートを決定する決定手段と、
前記決定手段によって決定された許容レートが自ノードの希望レート以上である場合に、希望レートが達成される旨の満足情報を含む拡張制御情報を生成する生成手段と、
前記生成手段によって生成された拡張制御情報を上流ノードへ送信する送信手段と
を有することを特徴とする通信制御装置。
【請求項2】
自ノードにおける入力データを蓄積可能なキューを備え、前記決定手段によって決定された許容レートに従って前記キューを経由する入力データの入力レートを制御する制御手段をさらに有し、
前記生成手段は、
前記キューに入力データが蓄積されていない場合に拡張制御情報を生成することを特徴とする請求項1記載の通信制御装置。
【請求項3】
いずれかの下流ノードにおける入力レートが制御レートとして格納された制御情報または拡張制御情報を受信する受信手段をさらに有し、
前記生成手段は、
前記受信手段によって受信された情報の種別に応じて拡張制御情報を生成するか否かを決定することを特徴とする請求項1記載の通信制御装置。
【請求項4】
前記生成手段は、
前記受信手段によって拡張制御情報が受信され、かつ許容レートが希望レート以上である場合に、拡張制御情報を生成することを特徴とする請求項3記載の通信制御装置。
【請求項5】
リング状に接続された複数のノードからなる通信ネットワークにおいて上流ノードから下流ノードへ向かうデータ伝送に輻輳が発生した場合に、上流ノードの入力レートを制限する制御レートを含む制御情報を送信するノード内における通信制御方法であって、
自ノードにおけるデータの入力に許容される許容レートを決定する決定工程と、
前記決定工程にて決定された許容レートが自ノードの希望レート以上である場合に、希望レートが達成される旨の満足情報を含む拡張制御情報を生成する生成工程と、
前記生成工程にて生成された拡張制御情報を上流ノードへ送信する送信工程と
を有することを特徴とする通信制御方法。

【図1】
image rotate

【図2−1】
image rotate

【図2−2】
image rotate

【図3】
image rotate

【図4−1】
image rotate

【図4−2】
image rotate

【図5−1】
image rotate

【図5−2】
image rotate

【図5−3】
image rotate

【図5−4】
image rotate

【図6−1】
image rotate

【図6−2】
image rotate

【図6−3】
image rotate

【図7−1】
image rotate

【図7−2】
image rotate

【図7−3】
image rotate


【公開番号】特開2007−259318(P2007−259318A)
【公開日】平成19年10月4日(2007.10.4)
【国際特許分類】
【出願番号】特願2006−83941(P2006−83941)
【出願日】平成18年3月24日(2006.3.24)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】