(57)【特許請求の範囲】
【請求項１】
ポーリングによってパケットを送受信するルータ局と、二つの機器に接続され一方の機器から受信したパケットを他方の機器に送信する機器であってルータ局間でパケットを中継する機器である子局とをノードとするデータ転送方式であって、
各ノードは、受信したパケットであって隣のノードに送信されるパケットを蓄積するバッファと、
バッファに蓄積されるパケットの単位時間当たりの平均増加量と単位時間当たりに到達する平均パケット量との対応関係を示すテーブルを予め保持し、単位時間あたりに到達する平均パケット量に応じたバッファ内のパケットの前記平均増加量を求め、当該平均増加量とバッファの空き容量からバッファの空き容量がなくなるまでの時間を求め、バッファの空き容量が所定時間以内になくなるか否かを判断するバッファ監視手段と、
バッファの空き容量が所定時間以内になくなると判断される場合に、パケットを受信すべき隣のノードに、パケット送信を停止させるパケット送信停止命令を送信する指示手段と、
パケットを送信すべき隣のノードからパケット送信停止命令を受信したときに前記隣のノードへのパケット送信を停止する送信制御手段とを備えた
ことを特徴とするデータ転送方式。
【請求項２】
各ノードのバッファ監視手段は、バッファの空き容量を監視し、
各ノードの指示手段は、バッファの空き容量が増加して所定量以上になった場合に、パケットを受信すべき隣のノードに、パケット送信を再開させるパケット送信再開命令を送信し、
各ノードの送信制御手段は、パケットを送信すべき隣のノードからパケット送信再開命令を受信したときに前記隣のノードへのパケット送信を再開する
請求項１に記載のデータ転送方式。
【請求項３】
各ノードは、パケットを送信すべき隣のノードからパケット送信停止命令を受信したときに、前記隣のノードに送信すべきパケットをバッファに蓄積する請求項１または請求項２に記載のデータ転送方式。
【請求項４】
パケットを受信する上位ルータ局と、上位ルータ局にパケットを送信する下位ルータ局とを備え、二つの機器に接続され一方の機器から受信したパケットを他方の機器に送信する機器であって上位ルータ局と下位ルータ局との間でパケットを中継する機器である子局を複数備えたデータ転送方式であって、
上位ルータ局および下位ルータ局は、ポーリングによってパケットを送受信するルータ局であり、
上位ルータ局は、受信したパケットであって隣のノードに送信されるパケットを蓄積するバッファと、バッファに蓄積されるパケットの単位時間当たりの平均増加量と単位時間当たりに到達する平均パケット量との対応関係を示すテーブルとを保持し、単位時間あたりに到達する平均パケット量に応じたバッファ内のパケットの前記平均増加量を求め、当該平均増加量とバッファの空き容量からバッファの空き容量がなくなるまでの時間を求め、受信したパケットを蓄積すべき空き領域が所定時間以内になくなると判断される場合に、パケットを受信すべき隣の各子局にパケットの送信停止を指示し、
前記各子局は、上位ルータ局の指示に応じて上位ルータ局へのパケット送信を停止し、
前記各子局のうち、下位ルータ局から上位ルータ局までのパケット通過経路上に位置する通過経路上隣接子局は、受信したパケットであって隣のノードに送信されるパケットを蓄積するバッファと、バッファに蓄積されるパケットの単位時間当たりの平均増加量と単位時間当たりに到達する平均パケット量との対応関係を示すテーブルとを保持し、単位時間あたりに到達する平均パケット量に応じたバッファ内のパケットの前記平均増加量を求め、当該平均増加量とバッファの空き容量からバッファの空き容量がなくなるまでの時間を求め、受信したパケットを蓄積すべき空き領域が所定時間以内になくなると判断される場合に、下位ルータ局に、前記パケット通過経路の変更を指示し、
下位ルータ局は、前記指示に応じて上位ルータ局までのパケット通過経路を変更し、変更後のパケット通過経路を各子局に通知し、
各子局は、通知されたパケット通過経路に従ってパケットを中継する
ことを特徴とするデータ転送方式。
【請求項５】
上位ルータ局からパケットの送信停止を指示された各子局は、上位ルータ局に送信すべきパケットを蓄積する請求項４に記載のデータ転送方式。
【請求項６】
下位ルータ局は、変更前のパケット通過経路上に位置する子局のうち通過経路上隣接子局以外の子局に蓄積されたパケットが、下位ルータ局を経由して上位ルータ局に中継されるようにパケット通過経路を変更する請求項４または請求項５に記載のデータ転送方式。
【請求項７】
上位ルータ局は、空き容量が増加して所定量以上になった場合に、パケットを受信すべき隣の各子局にパケットの送信再開を指示し、
前記各子局は、上位ルータ局の指示に応じて上位ルータ局へのパケット送信を再開し、
通過経路上隣接子局は、下位ルータ局に、パケット通過経路を元に戻すように指示し、
下位ルータ局は、前記指示に応じて上位ルータ局までのパケット通過経路を元に戻し、元に戻したパケット通過経路を各子局に通知し、
各子局は、通知されたパケット通過経路に従ってパケットを中継する
請求項４から請求項６のうちのいずれか１項に記載のデータ転送方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パケット損失を防止できるデータ転送方式に関する。
【０００２】
【従来の技術】
ルータ局は、通信ネットワーク内におけるパケットの通過経路を定める。そして、その通過経路に従って、パケットを次のルータ局に転送する。パケットは各ルータ局を経由して、目的とする通信ネットワーク内の端末に転送される。以下、パケットの授受が行われている場合、パケットを送り出している方を「下位」と記す。また、パケットを受け取っている方を「上位」と記す。
【０００３】
下位ルータ局（下位側のルータ局）と上位ルータ局（上位側のルータ局）との間には、複数の子局が配置される。子局は、情報の送信、受信、中継等を行う機器である。下位ルータ局から上位ルータ局までの子局の通過経路は一つに限定されるわけではない。通過経路が複数ある場合、下位ルータ局は、その中から定めた通過経路に従ってパケットを転送させる。
【０００４】
各子局は、下位ルータ局が上位ルータ局に転送するパケットを中継する。また、各子局は、下位ルータ局からのパケットの中継だけでなく、自局のパケット（子局自身が送信元となるパケット）も上位ルータ局に送信する。各子局から上位ルータ局へのパケットの送信は、ポーリングによって行う。上位ルータ局は、各子局からパケットを受信すると、今度は下位ルータ局として、さらに上位に向けてパケットを転送する。
【０００５】
各ルータ局は、データ保存用バッファを備え、収集したパケットをデータ保存用バッファに蓄積する。そして、データ保存用バッファ内のパケットを上位に転送する。
【０００６】
【発明が解決しようとする課題】
しかし、子局がルータ局に送信するパケットの量が多いと、ルータ局では、蓄積すべきパケットの量がデータ保存用バッファの容量を超えてしまう場合が生ずる。この場合、データ保存用バッファに蓄積されなかったパケットは、失われてしまう。このように蓄積すべきパケットの量がデータ保存用バッファの容量を超えてしまうことをオーバフローという。
【０００７】
本発明は、ルータ局に送られてくるパケットが増加しても、オーバフローによるパケット損失を防止することができるデータ転送方式を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明によるデータ転送方式は、ポーリングによってパケットを送受信するルータ局と、二つの機器に接続され一方の機器から受信したパケットを他方の機器に送信する機器であってルータ局間でパケットを中継する機器である子局とをノードとするデータ転送方式であって、各ノードは、受信したパケットであって隣のノードに送信されるパケットを蓄積するバッファと、バッファに蓄積されるパケットの単位時間当たりの平均増加量と単位時間当たりに到達する平均パケット量との対応関係を示すテーブルを予め保持し、単位時間あたりに到達する平均パケット量に応じたバッファ内のパケットの前記平均増加量を求め、当該平均増加量とバッファの空き容量からバッファの空き容量がなくなるまでの時間を求め、バッファの空き容量が所定時間以内になくなるか否かを判断するバッファ監視手段と、バッファの空き容量が所定時間以内になくなると判断される場合に、パケットを受信すべき隣のノードに、パケット送信を停止させるパケット送信停止命令を送信する指示手段と、パケットを送信すべき隣のノードからパケット送信停止命令を受信したときに隣のノードへのパケット送信を停止する送信制御手段とを備えたことを特徴とする。
【０００９】
各ノードのバッファ監視手段は、バッファの空き容量を監視し、各ノードの指示手段は、バッファの空き容量が増加して所定量以上になった場合に、パケットを受信すべき隣のノードに、パケット送信を再開させるパケット送信再開命令を送信し、各ノードの送信制御手段は、パケットを送信すべき隣のノードからパケット送信再開命令を受信したときに隣のノードへのパケット送信を再開する。そのような構成によれば、バッファに蓄積されるパケットが減少したときに、パケットの中継を再開できる。
【００１０】
各ノードは、パケットを送信すべき隣のノードからパケット送信停止命令を受信したときに、隣のノードに送信すべきパケットをバッファに蓄積する。
【００１１】
また、本発明によるデータ転送方式は、パケットを受信する上位ルータ局と、上位ルータ局にパケットを送信する下位ルータ局とを備え、二つの機器に接続され一方の機器から受信したパケットを他方の機器に送信する機器であって上位ルータ局と下位ルータ局との間でパケットを中継する機器である子局を複数備えたデータ転送方式であって、上位ルータ局および下位ルータ局は、ポーリングによってパケットを送受信するルータ局であり、上位ルータ局は、受信したパケットであって隣のノードに送信されるパケットを蓄積するバッファと、バッファに蓄積されるパケットの単位時間当たりの平均増加量と単位時間当たりに到達する平均パケット量との対応関係を示すテーブルとを保持し、単位時間あたりに到達する平均パケット量に応じたバッファ内のパケットの前記平均増加量を求め、当該平均増加量とバッファの空き容量からバッファの空き容量がなくなるまでの時間を求め、受信したパケットを蓄積すべき空き領域が所定時間以内になくなると判断される場合に、パケットを受信すべき隣の各子局にパケットの送信停止を指示し、その各子局は、上位ルータ局の指示に応じて上位ルータ局へのパケット送信を停止し、その各子局のうち、下位ルータ局から上位ルータ局までのパケット通過経路上に位置する通過経路上隣接子局は、受信したパケットであって隣のノードに送信されるパケットを蓄積するバッファと、バッファに蓄積されるパケットの単位時間当たりの平均増加量と単位時間当たりに到達する平均パケット量との対応関係を示すテーブルとを保持し、単位時間あたりに到達する平均パケット量に応じたバッファ内のパケットの前記平均増加量を求め、当該平均増加量とバッファの空き容量からバッファの空き容量がなくなるまでの時間を求め、受信したパケットを蓄積すべき空き領域が所定時間以内になくなると判断される場合に、下位ルータ局に、パケット通過経路の変更を指示し、下位ルータ局は、その指示に応じて上位ルータ局までのパケット通過経路を変更し、変更後のパケット通過経路を各子局に通知し、各子局は、通知されたパケット通過経路に従ってパケットを中継することを特徴とする。
【００１２】
上位ルータ局からパケットの送信停止を指示された各子局は、上位ルータ局に送信すべきパケットを蓄積する。
【００１３】
下位ルータ局は、変更前のパケット通過経路上に位置する子局のうち通過経路上隣接子局以外の子局に蓄積されたパケットが、下位ルータ局を経由して上位ルータ局に中継されるようにパケット通過経路を変更する。
【００１４】
また、上位ルータ局は、空き容量が増加して所定量以上になった場合に、パケットを受信すべき隣の各子局にパケットの送信再開を指示し、その各子局は、上位ルータ局の指示に応じて上位ルータ局へのパケット送信を再開し、通過経路上隣接子局は、下位ルータ局に、パケット通過経路を元に戻すように指示し、下位ルータ局は、その指示に応じて上位ルータ局までのパケット通過経路を元に戻し、元に戻したパケット通過経路を各子局に通知し、各子局は、通知されたパケット通過経路に従ってパケットを中継する。そのような構成によれば、蓄積されるパケットが減少したときに、パケットの中継を再開できる。
【００１５】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本発明が適用される通信ネットワークの例を示す説明図である。ルータ局１ａ，１ｂの間には、複数の子局１０ａ〜１０ｄが配置される。以下、ルータ局１ｂがルータ局１ａの下位であり、ルータ局１ｂからルータ局１ａにパケットを送信する場合を例に説明する。ルータ局１ａ，１ｂ、子局１０ａ〜１０ｄ、上位局（上位ルータ局１ａよりも上位の子局）２０は、それぞれ通信ネットワーク上のノードとなる。
【００１６】
各ルータ局１ａ，１ｂは、ルーティングテーブルを保持する。ルーティングテーブルとは、収集したパケットを転送するときの通過経路を表す情報である。ルーティングテーブルにおいて、パケットの通過経路はパケットの宛先アドレスに応じて定められる。下位ルータ局１ｂのルーティングテーブルでは、上位ルータ局１ａより上位を宛先とするパケットに対して、下位ルータ局１ｂから上位ルータ局１ａまでの通過経路を定めている。
【００１７】
図１に示す例では、下位ルータ局１ｂから上位ルータ局１ａまでの通過経路として、子局１０ｂおよび子局１０ａを経由する経路と、子局１０ｄおよび子局１０ｃを経由する経路がある。下位ルータ局１ｂのルーティングテーブルでは、上位ルータ局１ａまでの通過経路として子局１０ｂおよび子局１０ａを経由する経路を定めているものとする。
【００１８】
上位局２０を宛先とするパケットがある場合、下位ルータ局１ｂは、子局１０ｂおよび子局１０ａを経由して上位ルータ局１ａに送信すると定める。そして、下位ルータ局１ｂは、このパケットを子局１０ｂに送信する。パケット授受はポーリングによって行う。ポーリングとは、情報送信局が情報受信局から情報の有無の問い合わせを受け、問い合わせを受けたときに情報が存在するならば情報受信局に情報を送信する通信方式である。すなわち、下位ルータ局１ｂは、子局１０ｂからパケットの有無の問い合わせを受け、子局１０ｂに送信すべきパケットがあるならば、そのパケットを子局１０ｂに送信する。
【００１９】
同様に、子局１０ｂは、下位ルータ局１ｂから受信したパケットを、ポーリングによって子局１０ａに送信する。子局１０ｂは、下位ルータ局１０ｂから受信したパケットだけでなく、子局１０ｂ自身が送信元となるパケットも子局１０ａに送信する。子局１０ａは、子局１０ｂから受信したパケットをポーリングによって上位ルータ局１ａに送信する。子局１０ａは、子局１０ｂから受信したパケットだけでなく、子局１０ａ自身が送信元となるパケットも上位ルータ局１ａに送信する。
【００２０】
子局１０ｄは、子局１０ｄ自身が送信元となるパケットをポーリングによって子局１０ｃに送信する。子局１０ｃは、子局１０ｄから受信したパケットや、子局１０ｃ自身が送信元となるパケットをポーリングによって上位ルータ局１ａに送信する。
【００２１】
上位ルータ局１ａは、隣接する各子局１０ａ，１０ｃのアドレス情報を有する。上位ルータ局１ａは、隣接する子局１０ａ、１０ｃに順次パケットの有無を問い合わせ、子局１０ａ，１０ｃから情報を収集する。このようにして、上位ルータ局１ａは、下位ルータ局１ｂから転送されるパケットや、各子局１０ａ〜１０ｄが送信元となるパケットを収集する。そして、上位ルータ局１ａは、収集したパケットを、ポーリングによって上位局２０に送信する。
【００２２】
ここでは、上位ルータ局１ａが下位ルータ局１ｂや子局１０ａ〜１０ｄからパケットを収集して上位局２０に送信するときの流れを説明した。上位ルータ局１ａがさらに上位のルータ局にパケットを送信するときには、上位ルータ局１ａは、上述の下位ルータ局１ｂと同様の動作を行う。また、図１に示す下位ルータ局１ｂが、さらに下位のルータ局から情報を収集する場合、上述の上位ルータ局１ａと同様の動作を行う。この結果、パケットはルータ局間を中継され、宛先となるノードに送信される。
【００２３】
各ルータ局１ａ，１ｂおよび各子局１０ａ〜１０ｄは、データ保存用バッファを備える。データ保存用バッファは、下位のノードから収集したパケットを蓄積する記憶領域である。上位ルータ局１ａは、下位の子局１０ａ，１０ｃから収集するパケットをデータ保存用バッファに蓄積し、そのパケットをポーリングによって上位局２０に送信する。上位ルータ局１ａが上位局２０に送信するパケットよりも、上位ルータ局１ａが収集するパケットの方が多いと、データ保存用バッファの空き容量は減少していく。上位ルータ局１ａは、所定時間内にデータ保存用バッファの空き容量がなくなると判断すると、上位ルータ局１ａがパケットを受信すべき隣の各子局１０ａ，１０ｃに、パケット送信停止命令を送信する。各子局１０ａ，１０ｃは、パケット送信停止命令を受信した後は、パケットの有無の問い合わせがあった場合であってもパケットを送信しないようにする。
【００２４】
各子局１０ａ，１０ｃが上位ルータ局１ａへのパケット送信を停止すると、各子局１０ａ，１０ｃのデータ保存用バッファにはパケットが蓄積されていく。子局１０ａ，１０ｃは、所定時間以内にデータ保存用バッファの空き容量がなくなると判断すると、それぞれ子局１０ｂ，１０ｄにパケット送信停止命令を送信する。パケット送信停止命令を受けた子局１０ｂ，１０ｄは、子局１０ａ，１０ｃと同様に動作する。
【００２５】
一方、上位ルータ局１ａでは上位局２０にパケットを送信するので、データ保存用バッファに蓄積されたパケットが減少する。データ保存用バッファの空き容量が所定量以上になると、上位ルータ局１ａは、隣接する子局１０ａ，１０ｃにパケット送信再開命令を送信する。各子局１０ａ，１０ｃは、パケット送信再開命令を受信すると、上位ルータ局１ａへのパケット送信を再開する。子局１０ａ，１０ｃもデータ保存用バッファの空き容量が所定量以上になると、それぞれ子局１０ｂ，１０ｄにパケット送信再開命令を送信する。パケット送信再開命令を受けた子局１０ｂ，１０ｄは、子局１０ａ，１０ｃと同様に動作する。
【００２６】
なお、各子局では、上位との回線速度と、下位との回線速度とが等しければ、上位からパケット送信停止命令を受信するまでは、オーバフローに近づくことはない。例えば、子局１０ｂと下位ルータ局１ｂの回線速度と、子局１０ｂと子局１０ａの回線速度とが等しければ、子局１０ｂでは、子局１０ａからパケット送信停止命令を受信するまで、オーバフローに近づくことはない。
【００２７】
次に、ポーリングによって通信を行う各ルータ局や各子局の構成について説明する。図２は、各ルータ局や各子局の構成の例を示すブロック図である。送受信部３１は、配下対応部３２や上位対応部３３に従って、接続される他のノード（子局またはルータ局）との間のパケット送受信処理を行う。インタフェース部３５ａ，３５ｂは、それぞれ上位のノード、下位のノードとの通信インタフェースである。
【００２８】
送受信部３１は、上位のノードからインタフェース部３５ａを介して、パケットの有無の問い合わせを受けたり、パケット送信停止命令やパケット送信再開命令を受信する。また、上位のノードにパケットを送信する。
【００２９】
さらに、送受信部３１は、インタフェース部３５ｂを介して下位のノードに、パケットの有無を問い合わせたり、パケット送信停止命令やパケット送信再開命令を送信する。また、下位のノードからパケットを受信する。
【００３０】
データ保存用バッファ３４は、送受信部３１が収集したパケットを蓄積する記憶領域である。送受信部３１は、収集したパケットをデータ保存用バッファ３４に蓄積し、蓄積したパケットを上位に送信する。
【００３１】
配下対応部３２は、ポーリングによってパケットを収集するときに、パケットの有無を問い合わせるべき下位のノードのアドレスを保持する。そして、送受信部３１に、下位のノードからパケットを収集させる。
【００３２】
また、配下対応部３２は、データ保存用バッファ３４の空き容量および単位時間あたりに到達する平均パケット量を監視する。そして、空き容量および単位時間当たりに到達する平均パケット量に基づいて、所定時間以内に、データ保存用バッファ３４の空き容量がなくなるか否かを判断する。
【００３３】
データ保存用バッファ３４に蓄積されるパケットの単位時間当たりの平均増加量は、単位時間当たりに到達する平均パケット量に応じて変化する。配下対応部３２は、この両者の対応関係を示すテーブルを予め保持し、単位時間あたりに到達する平均パケット量に応じたデータ保存用バッファ３４内のパケットの平均増加量を求める。配下対応部３２は、この平均増加量と空き容量から、空き容量がなくなるまでの時間を求め、その時間によって、所定時間以内に空き容量がなくなるか否かを判断する。配下対応部３２は、所定時間内に空き容量がなくなると判断したならば、送受信部３１に、パケット送信停止命令を下位のノードに送信させる。
【００３４】
その後、蓄積されたパケットが減少し、データ保存用バッファ３４の空き容量が所定量以上になったならば、送受信部３１に、パケット送信再開命令を下位のノードに送信させる。
【００３５】
上位対応部３３は、送受信部３１が上位のノードからパケットの有無の問い合わせを受けたならば、送受信部３１に、データ保存用バッファ３４に蓄積されたパケットを送信させる。ただし、パケットが蓄積されていなければパケットを送信させない。
【００３６】
また、送受信部３１は、パケットを送信すべき上位のノードからパケット送信停止命令やパケット送信再開命令を受信したときに、その命令を上位対応部３３に通知する。上位対応部３３は、パケット送信停止命令を受信した後は、送受信部３１にパケットを送信させない。その後、パケット送信再開命令を受信したならば、送受信部３１にパケットの送信を再開させる。
【００３７】
上記の例において、バッファ監視手段は、配下対応部３２によって実現される。指示手段は、配下対応部３２および送受信部３１によって実現される。送信制御手段は、上位対応部３３および送受信部３１によって実現される。
【００３８】
次に、パケットを送受信するときの送受信部３１の処理経過の例を説明する。ここでは、上位ルータ局１ａの送受信部３１を例に説明する。
【００３９】
上位ルータ局１ａの送受信部３１は、上位局２０からパケットの有無の問い合わせを受けると、その旨を上位対応部３３に通知する。上位対応部３３は、上位局２０に送信すべきパケットがデータ保存用バッファ３４に蓄積されているか否かを確認する。そして、蓄積されているなら、そのパケットを上位局２０に送信するように送受信部３１に指示する。送受信部１３は、この指示に従い、パケットを上位局２０に送信する。
【００４０】
上位ルータ局１ａの送受信部３１は、配下対応部３２に従って、順次、子局１０ａ，１０ｃにパケットの有無を問い合わせる。問い合わせに必要な子局１０ａ，１０ｃのアドレスは、配下対応部３２から与えられる。
【００４１】
各子局１０ａ，１０ｃは、この問い合わせに応じ、パケットが蓄積されているならば、そのパケットを送信する。このときの子局の送受信部３１の動作は、上位ルータ局１ａの送受信部３１が上位局２０にパケットを送信するときの動作と同様である。上位ルータ局１ａの送受信部３１は子局１０ａ，１０ｃからパケットを受信し、そのパケットをデータ保存用バッファ３４に蓄積する。
【００４２】
上位ルータ局１ａにおいて、上位局２０に送信するパケットより、子局１０ａ，１０ｃから収集するパケットの方が多いと、データ保存用バッファ３４の空き容量は減少していく。配下対応部３２は、データ保存用バッファ３４の空き容量および単位時間あたりに到達する平均パケット量を監視し、空き容量および到達する平均パケット量に基づいて、空き容量がなくなるまでの時間を計算する。この時間が所定時間以内であれば、配下対応部３２は、送受信部３１にパケット送信停止命令を送信させる。送受信部３１は、配下対応部３２に従い、配下の子局１０ａ，１０ｃにパケット送信停止命令を送信する。
【００４３】
子局１０ａ，１０ｃの送受信部３１は、上位ルータ局１ａからパケット送信停止命令を受信すると、パケット送信停止命令を上位対応部３３に通知する。子局１０ａ，１０ｃの上位対応部３３は、以後、パケットが蓄積されていても、送受信部３１にパケットを送信させない。従って、送受信部３１は、上位ルータ局１ａへのパケット送信を停止する。すると、子局１０ａ，１０ｃのデータ保存用バッファ３２内のパケットが増加し、空き容量が減少していく。子局１０ａ，１０ｃの配下対応部３２は、上位ルータ局１ａの配下対応部３２と同様に、空き容量がなくなるまでの時間を計算し、この時間が所定時間以内であれば、さらに下位（子局１０ｂ，１０ｄ）にパケット送信停止命令を送信させる。
【００４４】
上位ルータ局１ａでは、子局１０ａ，１０ｃからのパケット送信が停止されるので、上位局２０にパケットを送信するにつれて、データ保存用バッファ３４の空き容量が増加する。配下対応部３４は、データ保存用バッファの空き容量を監視し、空き容量が所定量以上になったら、送受信部３１にパケット送信再開命令を送信させる。送受信部３１は、配下対応部３２に従い、配下の子局１０ａ，１０ｃにパケット送信再開命令を送信する。
【００４５】
子局１０ａ，１０ｃの送受信部３１は、上位ルータ局１ａからパケット送信再開命令を受信すると、パケット送信再開命令を上位対応部３３に通知する。子局１０ａ，１０ｃの上位対応部３３は、送受信部３１にパケット送信を再開させる。すなわち、パケットの有無の問い合わせを受けたときに、パケットが蓄積されているならば、そのパケットを送受信部３１に送信させる。この結果、子局１０ａ，１０ｃのデータ保存用バッファ３４の空き容量が増加する。配下対応部３４は、データ保存用バッファの空き容量を監視し、空き容量が所定量以上になったら、送受信部３１に送信再開命令を送信させる。子局１０ａ，１０ｃの送受信部３１は、配下対応部３２に従い、それぞれ子局１０ｂ，１０ｄにパケット送信再開命令を送信する。パケット送信再開命令を受信した子局１０ｂ，１０ｄの動作は、子局１０ａ，１０ｄと同様である。
【００４６】
このように本発明では、上位ルータ局１ａのデータ保存用バッファ３４の空き容量が所定時間以内になくなると判断される場合、上位ルータ局１ａは子局１０ａ，１０ｃにパケット送信停止命令を出し、オーバフローを防ぐ。各子局１０ａ〜１０ｄも、データ保存用バッファ３４の空き容量が所定時間以内になくなると判断される場合、さらに下位にパケット送信停止命令を出してオーバフローを防ぐ。従って、パケット損失が生じることはない。
【００４７】
次に、本発明の他の実施の形態について説明する。
本例におけるルータ局の構成および動作は、上述の場合と同様である。ただし、各子局は、下位にパケット送信停止命令を送信せず、その代わりに、下位ルータ局から上位ルータ局までのパケットの通過経路を変更させる。
【００４８】
図１に示す通信ネットワークに本例が適用されているものとする。また、下位ルータ局１ｂは、上位ルータ局１ａまでの通過経路として子局１０ｂおよび子局１０ａを経由する経路を定めているものとする。
【００４９】
各子局１０ａ〜１０ｄの構成は、図２に示す構成と同様である。ただし、配下対応部３２は、送受信部３１に、パケット送信停止命令およびパケット送信再開命令を送信させない。
【００５０】
上位ルータ局１ａは、所定時間以内にデータ保存用バッファ３４の空き容量がなくなると判断すると、配下の子局１０ａ，１０ｃにパケット送信停止命令を送信する。
【００５１】
子局１０ａは、下位ルータ局１ｂから上位ルータ局１ａまでのパケットの通過経路になっているので、子局１０ｃよりも先にデータ保存用バッファ３４の空き容量がなくなりやすい。子局１０ａは、所定時間以内にデータ保存用バッファ３４の空き容量がなくなると判断すると、下位ルータ局１ｂに経路変更命令を送信する。このように、上位ルータ局１ａがパケットを受信すべき隣の子局１０ａ，１０ｃのうち、下位ルータ局１ｂから上位ルータ局１ａまでの通過経路上にある子局（通過経路上隣接子局）１０ａが、経路変更命令を送信する。なお、子局１０ａは、子局１０ｂを経由して下位ルータ局１ｂに経路変更命令を送信する
【００５２】
経路変更命令を受信した下位ルータ局１ｂは、上位ルータ局１ａまでの通過経路を、子局１０ｄおよび子局１０ｃを経由する経路に変更する。また、下位ルータ局１ｂは、子局１０ｂ（変更前のパケット通過経路上に位置する子局のうち通過経路上隣接子局以外の子局）に蓄積されているパケットについては、子局１０ｂから下位ルータ局１ｂ、子局１０ｄ、子局１０ｃを経由する通過経路で上位ルータ局１ａに送信するように、経路を変更する。
【００５３】
下位ルータ局１ｂは、各子局１０ａ〜１０ｄに変更後の通過経路を通知する。そして、各子局１０ｂ，１０ｃ，１０ｄおよび下位ルータ局１ｂは、変更後の通過経路に従って、パケットを送信する。すなわち、子局１０ｂは、ポーリングによってルータ局１ｂにパケットを送信する。下位ルータ局１ｂは、子局１０ｂから収集したパケットおよび、下位の子局（図示せず。）から収集したパケットを、ポーリングによって子局１０ｄに送信する。子局１０ｄは、下位ルータ局１ｂから収集したパケットをポーリングによって子局１０ｃに送信する。
【００５４】
通過経路が変更された結果、子局１０ｂに蓄積されていたパケットは、再び下位ルータ局１ｂに戻り、子局１０ｄを介して子局１０ｃに転送される。
【００５５】
この間、上位ルータ局１ａは、子局１０ａ，１０ｃからパケットを収集しないので、データ保存用バッファ３４の空き容量が増加する。すると、上位ルータ局１ａは、配下の子局１０ａ，１０ｃにパケット送信再開命令を送信する。パケット送信再開命令を受信した子局１０ａは、蓄積していたパケットを上位ルータ局１ａに送信する。また、子局１０ｃは、子局１０ｂや下位ルータ局１ｂから転送されたパケットを子局１０ａに送信する。
【００５６】
また、子局１０ａは、パケット送信再開命令を受信した後、通過経路を戻す旨の命令を下位ルータ局１ｂに送信する。子局１０ａは、子局１０ｂを経由してこの命令を下位ルータ局１ｂに送信する。この命令に応じて、下位ルータ局１ｂは、各子局１０ａ〜１０ｄに変更前の通過経路を通知する。そして、子局１０ａ，１０ｂは、元の経路でパケットを中継する。
【００５７】
本例の子局１０ａ（上位ルータ局１ａに隣接する子局のうち、下位ルータ局１ｂから上位ルータ局１ａまでの経路上にある子局）において、配下対応部３２は、所定時間以内にデータ保存用バッファ３４の空き容量がなくなると判断すると、送受信部３１に経路変更命令を送信させる。送受信部３１は、配下対応部３２に従って、下位ルータ局１ｂに向けて経路変更命令を送信する。
【００５８】
また、子局１０ａの配下対応部３２は、子局１０ａが上位ルータ局１ａからパケット送信再開命令を受信したときに、送受信部３１に、通過経路を戻す旨の命令を送信させる。送受信部３１は、配下対応部３２に従って、下位ルータ局１ｂに向けて通過経路を戻す旨の命令を送信する。
【００５９】
本例の子局１０ｂにおいて、送受信部３１は、下位ルータ局１ｂから変更後の通過経路を通知されると、その通過経路の情報を上位対応部３３に通知する。上位対応部３３は、変更後の通過経路に従って、送受信部３１にパケットを送信させる。すなわち、下位ルータ局１ｂからパケット有無の問い合わせがあったときに、下位ルータ局１ｂにパケットを送信させる。
【００６０】
下位ルータ局１ｂの配下対応部３２も、通過経路変更後は、変更した通過経路に従って、送受信部３１にパケットを収集させる。すなわち、送受信部３１に、子局１０ｂからもパケットを収集させる。
【００６１】
本例では、上位ルータ局１ａのデータ保存用バッファ３４の空き容量が所定時間以内になくなると判断される場合、上位ルータ局１ａは子局１０ａ，１０ｃにパケット送信停止命令を出し、オーバフローを防ぐ。また、子局１０ａは、データ保存用バッファ３４の空き容量が所定時間以内になくなると判断される場合、上位ルータ局１ａまでの通過経路を変更させ、子局１０ｂのパケットを下位ルータ局１ｂに戻させる。そしてこの間に、上位ルータ局１ａのデータ保存バッファ３４の空き容量が増加する。したがって、オーバフローによるパケット損失が少なくて済む。
【００６２】
本発明が適用される通信ネットワークは、図１に示すものに限定されない。例えば、図１では、下位ルータ局１ｂから上位ルータ局１ａまでの通過経路として二種類の通過経路がある通信ネットワークを示したが、三種類以上の通過経路がある通信ネットワークであってもよい。また、子局１０ａ〜１０ｄの代わりに、他のルータ局を配置し、そのルータ局の下位に他の子局が接続されていてもよい。
【００６３】
【発明の効果】
本発明によれば、各ノードは、受信したパケットを蓄積するバッファと、バッファに蓄積されるパケットの単位時間当たりの平均増加量と単位時間当たりに到達する平均パケット量との対応関係を示すテーブルを予め保持し、単位時間あたりに到達する平均パケット量に応じたバッファ内のパケットの前記平均増加量を求め、当該平均増加量とバッファの空き容量からバッファの空き容量がなくなるまでの時間を求め、バッファの空き容量が所定時間以内になくなるか否かを判断するバッファ監視手段と、バッファの空き容量が所定時間以内になくなると判断される場合に、パケットを受信すべき隣のノードに、パケット送信を停止させるパケット送信停止命令を送信する指示手段と、パケットを送信すべき隣のノードからパケット送信停止命令を受信したときに隣のノードへのパケット送信を停止する送信制御手段とを備えているので、オーバフローによるパケット損失を防止することができる。
【００６４】
また、本発明によれば、上位ルータ局は、受信したパケットを蓄積するバッファと、バッファに蓄積されるパケットの単位時間当たりの平均増加量と単位時間当たりに到達する平均パケット量との対応関係を示すテーブルとを保持し、単位時間あたりに到達する平均パケット量に応じたバッファ内のパケットの前記平均増加量を求め、当該平均増加量とバッファの空き容量からバッファの空き容量がなくなるまでの時間を求め、受信したパケットを蓄積すべき空き領域が所定時間以内になくなると判断される場合に、パケットを受信すべき隣の各子局にパケットの送信停止を指示し、その各子局は、上位ルータ局の指示に応じて上位ルータ局へのパケット送信を停止し、その各子局のうち、下位ルータ局から上位ルータ局までのパケット通過経路上に位置する通過経路上隣接子局は、受信したパケットを蓄積するバッファと、バッファに蓄積されるパケットの単位時間当たりの平均増加量と単位時間当たりに到達する平均パケット量との対応関係を示すテーブルとを保持し、単位時間あたりに到達する平均パケット量に応じたバッファ内のパケットの前記平均増加量を求め、当該平均増加量とバッファの空き容量からバッファの空き容量がなくなるまでの時間を求め、受信したパケットを蓄積すべき空き領域が所定時間以内になくなると判断される場合に、下位ルータ局に、パケット通過経路の変更を指示し、下位ルータ局は、その指示に応じて上位ルータ局までのパケット通過経路を変更し、変更後のパケット通過経路を各子局に通知し、各子局は、通知されたパケット通過経路に従ってパケットを中継するので、オーバフローによるパケット損失が少なくて済む。
【図面の簡単な説明】
【図１】  本発明が適用される通信ネットワークの例を示す説明図である。
【図２】  ルータ局および子局の構成の例を示すブロック図である。
【符号の説明】
１ａ，１ｂ  ルータ局
１０ａ〜１０ｄ  子局
３１  送受信部
３２  配下対応部
３３  上位対応部
３４  データ保存用バッファ
３５ａ，３５ｂ  インタフェース部
【図１】
0003997771.tif 000002
【図２】
0003997771.tif 000003