(57)【特許請求の範囲】
【請求項１】
フロー制御を行うネットワーク用のノードであって、
輻輳制御パケットの受信を検出する検出手段と、
その検出手段で検出した輻輳制御パケットの受信回数に基づいて、送信待ち時間を調整する調整手段とを備えたノード。
【請求項２】
フロー制御を行うネットワーク用のノードであって、
輻輳制御パケットの受信を検出する検出手段と、
その検出手段で検出した輻輳制御パケットの受信間隔を求める手段と、
前記求めた受信間隔に基づいて、送信待ち時間を調整する調整手段とを備えたノード。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、ノードに関するもので、より具体的には複数のノードをスイッチングハブにスター型に接続し、ノード間でフレームの送受信を行うＣＳＭＡ／ＣＤ方式のＬＡＮにおける送信時間間隔の制御の改良に関する。
【０００２】
【従来の技術】
図１は、一般的なスイッチングハブ１を利用したスター型ＬＡＮ（イーサネット等）のネットワーク構成の一例を示している。同図に示すように、複数のノード２は、スイッチングハブ１にスター型に接続されている。そして、各ノード２は、スイッチングハブ１との間で送信パケットの送受を行うようになっており、スイッチングハブ１は、受け取った送信パケットが他のノード宛ての場合には、その宛先のノード２に対して当該送信パケットを転送することにより、ノード２間の送信パケットの送受信を行うようになる。
【０００３】
そして、ＣＳＭＡ／ＣＤ方式のような衝突検出型のプロトコルでは、ネットワークを伝送する送信パケットが増大すると、衝突が発生しネットワークの帯域を減少してしまう。そこで、通常これを回避するために送信パケット量を制限するようになっている。そして、一例として衝突が発生した場合にスイッチングハブ１が、各ノード２に対して輻輳制御のパケットを送信し、そのパケットを受信した各ノード２が一定時間パケットの送信を停止するような制御を行うものがある。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記した従来の装置では以下に示す問題があった。すなわち、輻輳制御が解除されると、各ノードがいっせいに送信を開始するおそれがあり、そうすると再度パケットの衝突が発生することになる。したがって、輻輳制御が頻繁に発生してしまうという問題がある。
【０００５】
また、頻繁にパケットを送信するノードが存在する場合に、係るノードにだけ送信権が渡り、他のノードがパケットを送信することができなくなるおそれもある。
【０００６】
本発明は、上記した背景に鑑みてなされたもので、その目的とするところは、上記した問題点を解決し、輻輳制御解除後にいっせいに各ノードがパケットを送信することによる衝突の再発生にともなう輻輳制御の頻繁な発生を未然に防止し、また、特定のノードに送信権が与えられ続けることも無く、全ノードに送信権が渡るようにネットワークトラフィックを適正化することのできるノードを提供することにある。
【０００７】
【課題を解決するための手段】
上記した目的を達成するために、本発明に係るノードは、フロー制御を行うネットワーク用のノードであって、輻輳制御パケットの受信を検出する検出手段（実施の形態では、「輻輳制御パケット判別部７」に相当）と、その検出手段で検出した輻輳制御パケットの受信回数に基づいて、送信待ち時間を調整する調整手段（実施の形態では、「輻輳制御パケット処理部１１」に対応）を備えて構成した（請求項１）。これを実現するのが第１の実施の形態である。
【０００８】
また、別の解決手段としては、輻輳制御パケットの受信を検出する検出手段と、その検出手段で検出した輻輳制御パケットの受信間隔を求める手段（実施の形態では、「パケット間隔測定部１４」に相当）と、前記求めた受信間隔に基づいて、送信待ち時間を調整する調整手段（実施の形態では、「送信待ち時間設定部１５」等に対応）を備えるように構成するようにしても良い（請求項２）。これを実現するのが第２の実施の形態である。
【０００９】
すなわち、フロー制御を行うネットワークでは、輻輳が発生した場合に、各ノードが接続されるスイッチングバス（「集線装置」とも称する）から各ノードに対して輻輳制御パケットが送信される。したがって、この輻輳制御パケットを受信しない場合には、各ノードは各自のタイミングで自由にパケットを送信することができ、また、輻輳制御パケットを受信した場合には、送信待ち時間経過後でなければパケット送信できなくなる。そして、本発明では、係る送信待ち時間をノード側で可変・調整することを特徴としている。
【００１０】
すなわち、ネットワーク内でのパケットの伝送が混んでいるほど輻輳制御パケットが頻繁に発生される。そこで、請求項１では、輻輳制御パケットの受信回数に基づいて送信待ち時間を調整するようにした。つまり、受信回数が多くなるほど送信待ち時間を増加させることにより、混み具合に応じて待ち時間が調整される。
【００１１】
また、ここでいう受信回数は、単純に絶対値としての受信回数でも良いし、一定時間内での相対的な値でも良い。さらには、例えば実施の形態で示すように、一定の条件に合致すると、一旦増加した送信待ち時間を減らす機能を付加するとなお良い。すなわち、輻輳制御パケットが受信しなくなると、ネットワーク効率を考慮し、送信待ち時間は短い方が良い。このとき、直ぐに送信待ち時間を戻すのではなく、徐々に短くするのがよい。つまり、直ぐに０にして即送信の状態にすると、再度輻輳が発生するおそれが高いからである。そこで、発生回数等を考慮し、徐々に短くするとよい。
【００１２】
さらには、本発明は具体的に受信回数を覚えている必要はない。つまり、実施の形態のように受信する都度送信待ち時間を増加するというように、必ずしも回数と送信時間を関連付けておかなくても良い。もちろん、現在までの受信回数を記憶し、その受信回数に応じた送信待ち時間に設定するようにしても良い。また、その場合に、受信回数は、積算値ではなく、一定の条件で減算していく（例えば、実施の形態のように、輻輳制御パケットを受信すること無く連続して所定数送信が成功する等）ようにするとよい。
【００１３】
また、受信間隔が長い場合には、ネットワークが比較的空いていると判断できる。そこで請求項２では、例えば受信間隔が長い場合には送信待ち時間間隔を短くし、受信間隔が短い場合には送信待ち時間間隔を長くする。
【００１４】
本発明に係るノードは、例えば、ネットワークに接続される各種装置、つまり、ネットワーク通信機能を持った機器であり、一例としてＦＡ等における各種制御機器やセンサ等を接続し、協調制御，同期制御などをするためのネットワーク（ＬＡＮ）等に接続されるものがある。そして、ノードの具体例としては、例えば一般的なＰＬＣや、センサターミナル、Ｉ／Ｏターミナル等がある。さらには、パソコン等の各種の端末や中継装置も含む。もちろん、ＦＡ用に限ることはなく、各種のネットワークに接続されるものが含まれるのは言うまでもない。
【００１５】
【実施の形態】
以下、本発明の好適な一実施の形態を説明する。まず通信システムの実施の形態の全体の構成は、図１に示す従来のものと同様である。つまり、スイッチングハブ１に対して複数のノード２が伝送路３を介してスター状に接続され、各ノード２は、所望のノード２に対してパケットを送信する際に、スイッチングハブ１を経由して行うようになっている。そして、本発明では、ノード２の内部構造を改良している。
【００１６】
まず、スイッチングハブ１は、図２に示すように構成されている。同図に示すように、伝送路３に接続される物理層ＩＦ１ａを介してパケットを送受信する。この物理層ＩＦ１ａが接続される伝送路３の先には、個々のノード２が接続されている。そして、物理層ＩＦ１ａの上位には、切替イーサネットコントローラ（中継部）１ｂが接続され、物理層ＩＦ１ａを介して受信したパケットは、切替イーサネットコントローラ１ｂに渡され、所望のノードに接続された物理層ＩＦ１ａに転送される。
【００１７】
また、実際には直接転送されるのではなく、切替イーサネットコントローラ１ｂが受け取ったパケットは、そのパケットに格納された優先度情報にしたがって一旦低優先度バッファ１ｃと高優先度バッファ１ｄのいずれかに格納される。そして、係るバッファ１ｃ，１ｄに格納されたパケットは、所定の順で呼び出され、切替イーサネットコントローラ１ｂが、そのパケットの宛先ノードに対応する物理層ＩＦ１ａに送る。このとき、高優先度バッファ１ｄに格納されたパケットを優先的に処理するようになる。
【００１８】
さらに、フロー制御機能部１ｅを有している。このフロー制御機能部１ｅは、低優先度バッファ１ｃ並びに高優先度バッファ１ｄを監視し、バッファが一杯になると、その旨切替イーサネットコントローラ１ｂに送る。すると、切替イーサネットコントローラ１ｂは、すべての物理層ＩＦ１ａに対して輻輳制御パケットを送信し、各ノードへ送信一時停止を要求するようになっている。
【００１９】
そして、このスイッチングハブ１の機能をフローチャートで示すと、図３に示すようになる。すなわち、パケット受信をした（ＳＴ１）ならば、その受信したパケットをバッファ１ｃ，１ｄに格納する。次いで、フロー制御機能部１ｅが稼動し、バッファがフルであるかを判断し（ＳＴ３）、フルの場合にはフロー制御をすべく輻輳制御パケットを送信する（ＳＴ４）。その後、次の受信に備えるべくステップ１に戻る。なお、図示したフローチャートは、本発明に関係する部分のみ示しており、実際には、バッファがフルでない場合には、いずれかのバッファに格納されたパケットを送信する処理等が実行されるのはもちろんである。また、図示の例では、低優先度バッファ１ｃと高優先度バッファ１ｄを持ち、優先度情報にしたがって送信順を制御できる形式のものを示したが、本発明はこれに限ることはなく、優先度情報に対応しないネットワークに接続されるノードにも適用することができる。
【００２０】
また、本発明に係るノード２の第１の実施の形態としては、図４に示すように構成されている。すなわち、イーサネットコントローラ５を介して伝送路３上を伝送されてきた自己宛てのパケットをデータ受信部６が受信する。この受信したパケットは、検出手段たる輻輳制御パケット判定部７に送られ、そこにおいて輻輳制御パケットか通常のデータパケットであるかを判断する。そして、データパケットの場合にはその受信したパケットを上位ＩＦ部８に送り、そこにおいて受け取ったデータ内容に応じた適宜処理等をする。
【００２１】
一方、パケットを送信する場合には、その送信するパケットが上位ＩＦ部８から送信データキュー９に与えられる。そして、データ送信部１０は送信要求にしたがって、送信データキュー９の先頭から順にイーサネットコントローラ５を介してパケットを送信する。係る基本構成は従来と同様であるので、その詳細な説明を省略する。
【００２２】
ここで本発明では、輻輳制御パケット処理部１１を設け、輻輳制御パケットを受信した場合にノード２側で輻輳に伴う送信待ち時間（パケット送信時間間隔）を決定し、データ送信部１０は輻輳制御パケット処理部１１で決定された送信待ち時間にしたがって一定時間（内蔵する送信待ちタイマ１０ａにより計測）分の間隔を空け、送信するようにしている。
【００２３】
そして、輻輳制御パケット処理部１１は、輻輳制御パケットを受信すること無く連続して送信できた回数を計数する送信カウンタ１２と、その送信カウンタ１２の計数結果並びに輻輳制御パケットの受信回数に基づいて送信待ち時間を決定する送信待ち時間設定部１３とを有している。つまり、輻輳制御パケット判別部７から輻輳制御パケット処理部１１に対して与えられる輻輳制御パケットの検出信号は、送信待ち時間設定部１３と送信カウンタ１２に与えられ、データ送信部１０から送信カウンタ１２に対して送信情報（送信したことを報知）が与えられるようになっている。そして、送信カウンタ１２は、送信情報を受信するごとにカウンタを１インクリメントし、輻輳制御パケット判別部７から検出信号を受信するとカウンタ値を０にリセットするようになっている。
【００２４】
そして、送信待ち時間設定部１３の基本的な処理アルゴリズムとしては、輻輳制御パケットを受信するごとに、送信待ち時間を増加していき、輻輳制御パケットを受信しない間に送信が一定回数連続して行えた場合（送信カウンタ１２のカウンタ値が基準値に達した場合）には、送信待ち時間を減少させるようにする。そして、本形態では、基準時間ａを設定し、係る基準時間単位で増加・減少を行うようにした。
【００２５】
具体的な例を示すと、例えば図５（ａ）に示すように、通常は要求を受けると即時に送信をする。そして、フロー制御（輻輳制御パケット）を受信すると、その受信した時からタイマを駆動し、送信待ち時間ａだけ計時する。そして、その送信待ち時間の間に要求を受けると、その送信待ち時間を経過後に送信するようになる。また、同図（ｂ）に示すように、送信の最中にフロー制御を受けた場合には、送信終了後にタイマをスタートして送信待ち時間ａを計測する。
【００２６】
また、同図（ｃ）に示すように、すでに輻輳を生じ基準時間ａの送信待ち時間でもって送信をしている場合に、さらにフロー制御を受けた場合には、送信待ち時間を基準時間ａだけ増加させる。つまり、次の送信待ち時間は２ａとなる。さらに、同図（ｄ）に示すように、すでに送信終了後の送信待ち時間計測中にフロー制御を受けた場合には、その計測中に送信待ち時間をａだけ増やすことはなく、当初に設定した待ち時間（この場合にはａ）だけ経過後に送信を行い、係る送信の次の送信待ち時間の際に反映させる（図示の場合には２ａにする）。
【００２７】
このような処理を行うことにより、フロー制御を受けつづけていると、送信待ち時間を徐々に増やすように各ノード側で対応するので、輻輳の発生が抑制される。しかも、フロー制御を受けなくなるまで送信待ち時間を増加させるということは、換言すると、その時のネットワークトラフィックにとって最適な、つまり、輻輳を生じさせない最短（あるいはそれに近い）の送信時間間隔でパケットを送信していることになる。さらに、各ノードに送信権が行き渡るようになる。
【００２８】
一方、このように送信待ち時間で送信をしていた場合に、その後のネットワークの状態が変化し、ネットワーク上を伝送されるパケットが減少し、設定した送信待ち時間では余裕があり過ぎるようになると、ネットワーク効率が低下する。そこで、フロー制御を受けなくなったならば、送信待ち時間を減少させるように制御する機能も持たせている。つまり、図６（ａ）に示すように、所定回数（この例では３回）連続してフロー制御を受けること無く送信できた場合に、基準時間ａだけ送信待ち時間を減らすようにした（図示の例では、２ａからａに短縮している）。もちろん、短くした結果フロー制御が発せられたならば再度送信待ち時間を増加すれば良い。このようにすることにより、常に最適なネットワークトラフィックを実現できる。
【００２９】
さらにまた、同図（ｂ）に示すように、送信待ち時間の間に要求が無くタイムアウトし（２回目の送信の後）、その時間経過後に要求があった場合には、即時に送信を開始するようにする。その場合に、その送信後の送信待ち時間は、前回と同じ（２ａ）になる。但し、すでに３回連続してフロー制御を受けること無く送信している場合に、もちろん基準時間ａだけ減少した時間となる（図示の場合には、４番目の送信のあとの送信待ち時間がａに減少する）。
【００３０】
そして、係る処理を行うための処理フローは図７以降に示すようになる。すなわち、パケット受信に伴う処理は図７，図８となり、要求を受けた発信に伴う処理は図９に示すようになる。まず、パケット受信に伴う処理としては、初期設定として送信待ちタイマ１０ａの送信待ちタイマ値及び送信カウンタ値を０にセットする（ＳＴ１０，１１）。
【００３１】
ここで、送信待ちタイマ値は、送信待ちタイマ１０ａの作動時間であり、ここで決定されるタイマ値にしたがって送信待ちタイマ１０ａは稼動し、タイムアウトするとパケットを送信するようになる。したがって、タイマ＝０の場合には、要求があると同時にパケットの送信をすることになる。また、送信カウンタ値は、フロー制御を受けること無く連続してパケットを送信することのできた回数である。
【００３２】
そして、パケットを受信したならば（ＳＴ１２）、それが輻輳制御パケット（フロー制御）であるか否かを判断する（ＳＴ１３）。この判断は、輻輳制御パケット判別部７が実行する。そして、輻輳制御パケットでない場合には、ステップ１２に戻り、次のパケット受信に備える。
【００３３】
一方、輻輳制御パケットの場合には、ステップ１４に進み、送信待ちタイマ値を１単位時間（ａ）増加する。つまり、初期値は０としているのでタイマ値はａになる。したがって、送信待ちタイマ値がａのときに輻輳制御パケットを受信すると、タイマ値は２ａとなる。ここで決定されたタイマ値が、最終的に送信待ちタイマ１０ａにセットされる。その後、送信完了カウンタを０にクリアする（ＳＴ１５）。
【００３４】
次いで、現在送信中か否かを判断し（ＳＴ１６）、送信中の場合には、その送信の終了後に送信タイマをスタートさせる（ＳＴ１７）。つまり、データ送信機能部１０（送信待ちタイマ１０ａ）に対して、タイマスタート命令を発する。そして、この命令を受けた送信待ちタイマ１０ａは、ステップ１４で設定したタイマ値だけ計時し、タイムアウトする。そして、係る処理は、図５（ｂ），（ｃ）などに対応する。
【００３５】
一方、送信中でない場合には、送信待ちタイマ１０ａが作動中か否かを判断する（ＳＴ１８）。そして、送信タイマが作動していないときには、直ぐに送信待ちタイマをスタートさせる（ＳＴ１９）。係る処理は、図５（ａ）に示した状態に対応する。
【００３６】
さらにまた、送信待ちタイマ１０ａが作動中の場合には、次の送信終了後に送信待ちタイマ１０ａをスタートさせる（ＳＴ２０）。つまり、図５（ｄ）に示した状態に対応する。そして、図７，図８に示すフローチャートのうち、ステップ１２，１３を除き、輻輳制御パケット処理部１１の機能を示している。
【００３７】
また、ノードの送信に伴う処理は、図９に示すように、送信待ちパケットの有無を判断し（キューに存在し、また要求が発せられることからわかる）、ある場合には、送信待ちタイマーがタイムアウトになっているか否かを判断し、タイムアウトになっている場合には、パケットを送信する（ＳＴ２１〜ＳＴ２３）。したがって、タイマ値が０であったり、すでにタイムアウトしている場合には、要求とともに即時にパケットを送信することになり、また、タイマ作動中の場合には、タイマアウトを待ってパケットを送信することになる。
【００３８】
そして、パケット送信が完了したならば、送信完了カウンタのカウンタ値を１加算し（ＳＴ２４）、さらに、送信完了カウンタのカウンタ値が所定回数（本形態では、「３回」）に達したか否かを判断し（ＳＴ２５）、達している場合にはステップ２６に進み、送信完了カウンタを０にクリアするとともに、送信待ちタイマ値を１単位時間（ａ）だけ減少させる（ＳＴ２６，ＳＴ２７）。これは、図６（ａ）中、送信待ち時間が「２ａ」から「ａ」に減少された状態に対応する。その後、送信待ちタイマを再スタートさせる（ＳＴ２８）。係る処理が、送信終了後に直ぐに送信待ちタイマをスタートする各種の例に対応する。
【００３９】
また、本実施の形態の送信時間間隔増加の仕組みを一連の流れに沿って示すと、図１０のようになる。つまり、当初は要求があると即送信し（２回目まで）、２番目の送信の後フロー制御を受信すると、そこから送信時間間隔（ａ）だけタイマで計測する。そして、そのタイムアウト前に要求があったので、タイムアウトを待って送信（３番目）する。
【００４０】
次いで、その３番目の送信後、自動的に送信時間間隔（ａ）だけタイマを計測する。そして、タイムアウト後に要求があると、即送信（４番目）をする。この４番目の送信の最中にフロー制御を受信すると、送信時間間隔はａだけ加算され、合計２ａとなるので、送信終了後２ａだけタイマで計測し、その間送信待ちとなり、タイムアウト後に送信（５番目）する。
【００４１】
この５番目の送信時にはフロー制御がかからなかったので、次の送信待ち時間も２ａのままとなる。また、送信待ち時間中にフロー制御があっても、それが反映されるのはその次であるので、６番目の送信も５番目の送信終了後２ａだけ待った後行われ、６番目の送信後の送信待ち時間が３ａになる。
【００４２】
一方、送信時間間隔減少の仕組みを一連の流れに沿って示すと、図１１のようになる。まず、同図（ａ）に示すように、現在の送信時間間隔が３ａとし、連続して３回送信する間にフロー制御がかからなかった場合には、その次の回からは送信時間間隔をａだけ減らして２ａとする。そしてさらに３回連続してフロー制御を受けること無く送信が行えた場合には、次の送信時間間隔はａとなる。
【００４３】
また、同図（ｂ）に示すように、送信時間間隔３ａだけ待って送信を行った後にそのまま次の送信時間間隔３ａを待つ。この時、要求がかからずにタイムアウトした場合には、次の要求があると即送信する。この点は、図１０における４番目の送信のときと同様である。また、このようにタイムアウトした後、即送信を行ったような場合でも、送信完了カウンタはクリアされないので、図１１（ｂ）における４番目の送信の際には、それまでにすでに３回連続してフロー制御を受けることなく送信しているため、送信時間間隔は２ａに減少している。
【００４４】
上記したように、本実施の形態では、送信待ち時間の減少は、ノードからのパケット送信の頻度によっても調整される。つまり、比較的頻繁にパケット送信するノードは、頻繁にパケット送信しないノードに比べて送信待ち時間の減少が早く行われる。このように、輻輳制御パケットが送られなくなってからの送信待ち時間の減少タイミングが各ノードでずれるので、より確実に解除後のパケットの再衝突のおそれが可及的に抑制され、また、各ノードの発送タイミングに応じた送信待ち時間が設定されることにより、より効率的な伝送ができる。
【００４５】
図１２は、本発明に係るノードの第２の実施の形態を示している。同図に示すように、輻輳制御パケット処理部１１′の内部構造が異なっている。すなわち、パケット間隔測定部１４と、送信待ち時間設定部１５を有している。パケット間隔測定部１４は、輻輳制御パケット判別部７から受け取った輻輳パケットの検出信号によりオン／オフするタイマを備え、輻輳パケットを受信する間隔を計測するようになっている。
【００４６】
そして、送信待ち時間設定部１５は、パケット間隔測定部１４で測定した輻輳パケット受信間隔に基づいて送信待ち時間を設定するようになっている。つまり、輻輳パケット受信間隔が長い場合には、ネットワークが込み合っていないので輻輳待ち時間を短くして迅速にパケット送信が可能になるように制御し、輻輳パケット受信間隔が短い場合には、ネットワークが込み合っているので輻輳待ち時間を長くし輻輳の発生を抑制するように制御するようにしている。そして、具体的には、図１３〜図１５に示すフローチャートのようになっている。
【００４７】
すなわち、まず、初期設定として送信待ちタイマ値を０にするとともに、輻輳パケット受信間隔、つまり、パケット間隔測定部１４内の受信タイマを０にする（ＳＴ３１，３２）。その後、受信タイマをスタートする（ＳＴ３３）。
【００４８】
次いで、パケットの受信を待ち（ＳＴ３４）、パケットを受信したならばそれが輻輳制御パケットであるか否かを判断する（ＳＴ３５）。そして、輻輳制御パケットの場合には、受信タイマをストップし（ＳＴ３６）、前回輻輳制御パケットを受信してから今回受信するまでの受信時間間隔を求め、その受信時間間隔が基準時間ｔより小さいか否かを判断する（ＳＴ３７）。なお、実際には、受信タイマのタイマ値を読むことにより、受信時間間隔は求められる。
【００４９】
そして、受信時間間隔が基準値ｔより短い場合には、送信待ちタイマ値を１単位時間だけ増加し（ＳＴ３８）、逆に受信時間間隔が基準値ｔより長い場合には、送信待ちタイマ値を１単位時間だけ減少する（ＳＴ３９）ような制御を行う。その後、次の輻輳パケット受信時間間隔の監視を行うべく、輻輳制御パケット受信時間間隔を０にセットした後（ＳＴ４０）、受信タイマをスタートさせる（ＳＴ４１）。
【００５０】
次いで、現在送信中か否かを判断し（ＳＴ４２）、送信中の場合には、その送信の終了後に送信タイマをスタートさせる（ＳＴ４３）。つまり、データ送信機能部１０（送信待ちタイマ１０ａ）に対して、タイマスタート命令を発する。そして、この命令を受けた送信待ちタイマ１０ａは、ステップ３８またはＳＴ３９で設定したタイマ値だけ計時し、タイムアウトする。一方、送信中でない場合には、送信待ちタイマ１０ａが作動中か否かを判断する（ＳＴ４４）。そして、送信タイマが作動していないときには、直ぐに送信待ちタイマをスタートさせる（ＳＴ４５）。また、送信タイマが作動中の場合には、次の送信終了後に送信待ちタイマをスタートする。その後、ステップ３４に戻り、上記した各処理（輻輳パケットの受信時間間隔の監視並びにその受信間隔に基づく送信待ちタイマ値の設定）を繰り返し行う。
【００５１】
一方、送信処理は図１６に示すように、送信待ちパケットの有無を判断し（キューに存在し、また要求が発せられることからわかる）、ある場合には、送信待ちタイマがタイムアウトになっているか否かを判断し、タイムアウトになっている場合には、パケットを送信する（ＳＴ５１〜ＳＴ５３）。したがって、タイマ値が０であったり、すでにタイムアウトしている場合には、要求とともに即時にパケットを送信することになり、また、タイマ作動中の場合には、タイムアウトを待ってパケットを送信することになる。そして、送信後は次の送信の要求に備えて送信待ちタイマをスタートさせる（ＳＴ５４）。
【００５２】
【発明の効果】
以上のように、本発明に係るノードでは、輻輳制御パケットの受信回数や、受信間隔の状態に基づいて、ノード側で送信待ち時間を設定・制御するようにしたので、待ち時間も固定ではなく、その時のネットワークの状況に応じた値にセットされる。つまり、混んでいる場合には、比較的長く送信待ち時間を設定し、それに基づいて動作することにより、輻輳制御パケットが発生されるのを抑制することができる。
【００５３】
また、輻輳制御パケットの発生状況に応じて送信待ち時間を設定することにより、例えば輻輳制御解除後も、徐々に送信待ち時間を短くしていくような制御をすることにより、輻輳制御解除後にいっせいに各ノードがパケットを送信することによる衝突の再発生にともなう輻輳制御の頻繁な発生を未然に防止することができる。よって、特定のノードに送信権が与えられ続けることも無く、全ノードに送信権が渡るようにネットワークトラフィックを適正化することができる。
【図面の簡単な説明】
【図１】フロー制御を行うネットワーク構成の一例を示す図である。
【図２】フロー制御を行うネットワークに接続されるスイッチングバスの内部構造の一例を示す図である。
【図３】そのスイッチングバスの機能の一部を示すフローチャートである。
【図４】本発明に係るノードの第１の実施の形態を示す図である。
【図５】そのノードの機能を説明する図である。
【図６】そのノードの機能を説明する図である。
【図７】そのノードの機能を説明するフローチャートである。
【図８】そのノードの機能を説明するフローチャートである。
【図９】そのノードの機能を説明するフローチャートである。
【図１０】作用を説明する図（その１）である。
【図１１】作用を説明する図（その２）である。
【図１２】本発明に係るノードの第１の実施の形態を示す図である。
【図１３】そのノードの機能を説明するフローチャートである。
【図１４】そのノードの機能を説明するフローチャートである。
【図１５】そのノードの機能を説明するフローチャートである。
【図１６】そのノードの機能を説明するフローチャートである。
【符号の説明】
１  スイッチングハブ
２  ノード
３  伝送路
５  イーサネットコントローラ
６  データ受信部
７  輻輳制御パケット判別部
８  上位ＩＦ部
９  送信データキュー
１０  データ通信部
１０ａ  送信待ちタイマ
１１  輻輳制御パケット処理部
１２  送信カウンタ
１３  送信待ち時間設定部
１４  パケット間隔測定部
１５  送信待ち時間設定部
【図１】
0003733767.tif 000002
【図２】
0003733767.tif 000003
【図３】
0003733767.tif 000004
【図４】
0003733767.tif 000005
【図５】
0003733767.tif 000006
【図６】
0003733767.tif 000007
【図７】
0003733767.tif 000008
【図８】
0003733767.tif 000009
【図９】
0003733767.tif 000010
【図１０】
0003733767.tif 000011
【図１１】
0003733767.tif 000012
【図１２】
0003733767.tif 000013
【図１３】
0003733767.tif 000014
【図１４】
0003733767.tif 000015
【図１５】
0003733767.tif 000016
【図１６】
0003733767.tif 000017