(57)【要約】【課題】  企業や官公庁、あるいは一般家庭などでルータを介したデータ通信を行う場合の、コネクション間でのスループットの不公平を抑止するデータ通信管理方法を提供する。【解決手段】  端末装置１−１はシェーパ１１と、シェーパ１２とを経由してデータを端末装置２−１へ送信して応答信号を端末装置２−１から受信する。この間、シェーパ１１は自身からのデータの送信時間と、シェーパ１１が応答信号を受信した受信時間とを計測し、これらの差分からデータ送信時間を計算し、データ送信ごとのデータ送信時間のうち最短のものを検知して最短データ送信時間として記憶領域に格納し、データ送信時間からデータ送信速度を計算し、最短データ送信時間から最速データ送信速度を計算する。シェーパ１１はデータ送信速度から最速データ送信速度を引いた差分からネットワークの輻輳を判断してデータの分割送信単位量と、パケット送信間隔時間とを変更する。【選択図】  図１
2005184494.tif 000002
【特許請求の範囲】
【請求項１】
第１の端末装置と、第２の端末装置とがそれぞれ第１のルータ装置と、第２のルータ装置とを経由してデータの送受信を行うデータ通信管理システムにおいて、
前記第１のルータ装置が、
前記第１の端末装置から前記第２の端末装置への送信データを受けた際に、前記送信データを前記第２のルータ装置経由で第２の端末装置へ送信すると共に、データの送信時刻を記憶領域に格納し、
前記第２の端末装置から前記第２のルータ装置経由で送信された応答信号を受信する際に、受信時刻を記憶領域に格納し、
前記受信時刻と、前記送信時刻との差分であるデータ送信時間を計算し、
データを送信する毎にデータ送信時間をチェックして最短のデータ送信時間を検知し、最短データ送信時間として記憶領域に格納し、
送信対象のデータの送信経路と、前記送信対象のデータに予め設定された優先度との組み合わせ毎のデータの分割送信単位量を、前記データ送信時間で除算して実際のデータ送信速度を得て、
前記最短データ送信時間で前記データの分割送信単位量を除算して最速データ送信速度を得て、
前記最速データ送信速度から前記実際のデータ送信速度を減算して速度差分を得て、
前記速度差分が所定のデータ送信速度差閾値よりも小さい場合には前記データの分割送信単位量を増やし、
前記速度差分が前記データ送信速度差閾値よりも大きい場合には前記データの分割送信単位量を削減し、
前記データ送信時間を前記データの分割送信単位量で除算してパケット送信間隔時間を得て、記憶領域に格納する
ことを特徴とするデータ通信管理方法。
【請求項２】
第１の端末装置と、第２の端末装置とがそれぞれ第１のルータ装置と、第２のルータ装置とを経由してデータの送受信を行うデータ通信管理システムにおいて、
前記第１のルータ装置が、
前記第１の端末装置から前記第２の端末装置への送信データを受けた際に、前記送信データを前記第２のルータ装置経由で第２の端末装置へ送信すると共に、データの送信時刻を記憶領域に格納し、
前記第２の端末装置から前記第２のルータ装置経由で送信された応答信号を受信する際に、受信時刻を記憶領域に格納し、
前記受信時刻と、前記送信時刻との差分であるデータ送信時間を計算し、
データを送信する毎にデータ送信時間をチェックして最短のデータ送信時間を検知し、最短データ送信時間として記憶領域に格納し、
データの分割送信単位量を、前記データ送信時間で除算して実際のデータ送信速度を得て、
前記最短データ送信時間で前記データの分割送信単位量を除算して最速データ送信速度を得て、
前記最速データ送信速度から前記実際のデータ送信速度を減算して速度差分を得て、
前記速度差分が所定のデータ送信速度差閾値よりも小さい場合には前記データの分割送信単位量を増やし、
前記速度差分が前記データ送信速度差閾値よりも大きい場合には前記データの分割送信単位量を削減し、
前記データ送信時間を前記データの分割送信単位量で除算し、この結果を送信対象のデータの送信経路と、前記送信対象のデータに予め設定された優先度との組み合わせ毎のパケット送信間隔時間として記憶領域に格納する
ことを特徴とするデータ通信管理方法。
【請求項３】
第１の端末装置と、第２の端末装置とがそれぞれ第１のルータ装置と、第２のルータ装置とを経由してデータの送受信を行うデータ通信管理システムにおいて、
前記第１のルータ装置は、前記第１の端末装置から前記第２の端末装置への送信データを入力し、前記送信データに送信時の時刻を加えて前記第２のルータ装置へ送信し、
前記第２のルータ装置は、前記第１のルータ装置から前記送信データを受信し、現在時刻から前記送信時の時刻を引いてデータ送信時間を得て前記第１のルータ装置へ送信し、
前記第１のルータ装置が、
前記第２のルータ装置から前記データ送信時間を受信し、
データを送信する毎にデータ送信時間をチェックして最短のデータ送信時間を検知し、最短データ送信時間として記憶領域に格納し、
送信対象のデータの送信経路と、前記送信対象のデータに予め設定された優先度との組み合わせ毎のデータの分割送信単位量を、前記データ送信時間で除算して実際のデータ送信速度を得て、
前記最短データ送信時間で前記データの分割送信単位量を除算して最速データ送信速度を得て、
前記最速データ送信速度から前記実際のデータ送信速度を減算して速度差分を得て、
前記速度差分が所定のデータ送信速度差閾値よりも小さい場合には前記データの分割送信単位量を増やし、
前記速度差分が前記データ送信速度差閾値よりも大きい場合には前記データの分割送信単位量を削減し、
前記データ送信時間を前記データの分割送信単位量で除算してパケット送信間隔時間を得て、記憶領域に格納する
ことを特徴とするデータ通信管理方法。
【請求項４】
第１の端末装置と、第２の端末装置とがそれぞれ第１のルータ装置と、第２のルータ装置とを経由してデータの送受信を行うデータ通信管理システムにおいて、
前記第１のルータ装置は、前記第１の端末装置から前記第２の端末装置への送信データを入力し、前記送信データに送信時の時刻を加えて前記第２のルータ装置へ送信し、
前記第２のルータ装置は、前記第１のルータ装置から前記送信データを受信し、現在時刻から前記送信時の時刻を引いてデータ送信時間を得て前記第１のルータ装置へ送信し、
前記第１のルータ装置が、
前記第２のルータ装置から前記データ送信時間を受信し、
データを送信する毎にデータ送信時間をチェックして最短のデータ送信時間を検知し、最短データ送信時間として記憶領域に格納し、
データの分割送信単位量を、前記データ送信時間で除算して実際のデータ送信速度を得て、
前記最短データ送信時間で前記データの分割送信単位量を除算して最速データ送信速度を得て、
前記最速データ送信速度から前記実際のデータ送信速度を減算して速度差分を得て、
前記速度差分が所定のデータ送信速度差閾値よりも小さい場合には前記データの分割送信単位量を増やし、
前記速度差分が前記データ送信速度差閾値よりも大きい場合には前記データの分割送信単位量を削減し、
前記データ送信時間を前記データの分割送信単位量で除算して、この結果を送信対象のデータの送信経路と、前記送信対象のデータに予め設定された優先度との組み合わせ毎のパケット送信間隔時間として記憶領域に格納する
ことを特徴とするデータ通信管理方法。
【請求項５】
コネクションレス型通信方式のプロトコルでデータの送信を行う場合には、前記パケット送信間隔時間に対して所定の固定値を設定することを特徴とする請求項１〜請求項４のいずれかに記載のデータ通信管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、企業や官公庁、あるいは一般家庭などにおいて、ルータを介してデータ通信を行う場合のデータ通信管理方法に関するものである。
【背景技術】
【０００２】
ネットワークの混雑を回避するための従来の輻輳制御方式の一つにＴＣＰ  Ｖｅｇａｓ（非特許文献１）が知られている。図２〜４はＴＣＰ  Ｖｅｇａｓの処理の流れを示している。図２では送信端末と受信端末がルータを経由してデータの送受信を行う場合について説明している。送信端末がデータ送信に対する正常な確認応答であるＡＣＫ（ＡＣＫｎｏｗｌｅｄｇｅｍｅｎｔ）を受信端末からルータを経由して受信する際に、図２の処理が開始される。図２〜４に記載の変数については、ｂａｓｅＲＴＴはネットワークに輻輳が起きていない場合のＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）であるが、実際は測定したＲＴＴの中で最も小さい値である。ｃｗｎｄは初期値１の輻輳ウインドウサイズであり、ｒｗｎｄは受信端末で設定される広告ウインドウサイズである。ｓｓｔｈｒｅｓｈは通信処理における一回の送信処理での送信パケット数の増加を行うスロースタートの閾値であり、初期値はｒｗｎｄの値である。ｆｌａｇはスロースタートアルゴリズムにおいてウインドウサイズを増加させるための初期値１のフラグであり、ｇａｍｍａはスロースタートアルゴリズムから輻輳回避アルゴリズムヘ移行する判断のための閾値である。ａｌｐｈａと、ｂｅｔａとはｃｗｎｄの増減を決定する際の閾値をそれぞれ表す。また、ｇａｍｍａと、ａｌｐｈａと、ｂｅｔａとの初期値については、それぞれユーザが任意に設定可能である。最初に現在の時刻と受信した確認応答であるＡＣＫに対応するパケットを送信した時刻からルータはＲＴＴを算出する（図２のステップＳ１０）。
【０００３】
次に、ＲＴＴ＜ｂａｓｅＲＴＴであるかを判断し（図２のステップＳｌｌ）、真であればＲＴＴの値を新たなｂａｓｅＲＴＴの値とする（図２のステップＳ１２）。次に、ネットワークに輻輳が起きていない場合に期待されるスループットを表すＥｘｐｅｃｔｅｄ＝ｃｗｎｄ／ｂａｓｅＲＴＴと実際のスループットを表すＡｃｔｕａｌ＝ｃｗｎｄ／ＲＴＴを算出し、さらにその差であるＤｅｌｔａ＝Ｅｘｐｅｃｔｅｄ−Ａｃｔｕａｌを算出する（図２のステップＳ１３）。
次に、ｃｗｎｄ＜ｓｓｔｈｒｅｓｈであるか判断し、真であればスロースタートアルゴリズムである処理１へ、偽であれば輻輳回避アルゴリズムである処理２へ移る（図２のステップＳ１４）。
【０００４】
スロースタートアルゴリズムでは、まずＤｅｌｔａ＜ｇａｍｍａであるか判断し（図３のステップＳ２０）、偽であれば今後の処理を輻輳回避アルゴリズムに移行させるためにｓｓｔｈｒｅｓｈ＝２として（図３のステップＳ２６）、処理を終了する。真であればｆｌａｇの否定を新たなｆｌａｇとし（図３のステップＳ２１）、ｆｌａｇが偽であるか判断し、（図３のステップＳ２２）偽であるなら処理を終了することにより、後のウインドウサイズ更新の処理を２回に１回の割合で行っている。 ｆｌａｇが真であったなら、ｃｗｎｄを２倍にして（図３のステップＳ２３）、ｃｗｎｄがｒｗｎｄを超えているか判断し（図３のステップＳ２４）、超えていればｃｗｎｄの値をｒｗｎｄの値として処理を終了する。
【０００５】
輻輳回避アルゴリズムでは、まずＤｅｌｔａ＜ａｌｐｈａであるか判断し（図４のステップＳ３０）、真であればｃｗｎｄを１増加させて（図４のステップＳ３１）、ｃｗｎｄがｒｗｎｄを超えているか判断し（図４のステップＳ３２）、超えていればｃｗｎｄをｒｗｎｄの値として（図４のステップＳ３３）処理を終了する。
Ｄｅｌｔａ＜ａｌｐｈａでなければ、Ｄｅｌｔａ＜ｂｅｔａであるか判断し（図４のステップＳ３４）、真であれば処理は終了、偽であればｃｗｎｄを１減少させて（図４のステップＳ３５）、ｃｗｎｄ＜２であるか判断し（回３のステップＳ３６）、真であればｃｗｎｄの値を２として（図４のステップＳ３７）処理を終了する。
【０００６】
このような処理を行うことにより、ネットワークが混雑してきてキューイング遅延が大きくなり、ＲＴＴの値が大きくなると、Ａｃｔｕａｌの値は小さくなるが、Ｅｘｐｅｃｔｅｄの値は変わらないため、Ｄｅｌｔａの値は大きくなり、閾値ｂｅｔａを超えるとｃｗｎｄを減少させて、送信するパケット数を減らすので、ネットワーク中のパケットの流量は減少し、混雑が回避される。逆にネットワークに空きが出てきて、ＲＴＴの値が小さくなると、Ｄｅｌｔａの値が小さくなり、ａｌｐｈａより小さくなるとｃｗｎｄを増加させてパケットの流量を増加させるので、ネットワークの帯域を有効に利用できる。最終的にはＤｅｌｔａはａｌｐｈａとｂｅｔａの値をとるようになり、ｃｗｎｄは変化せずに安定した状態に収束する。
【０００７】
ところが、既存のコネクションに対し、新たにコネクションが加わった場合、一般的にウインドウサイズは異なる値で収束してしまい、コネクション間でウインドウサイズが不公平なまま安定してしまう。この問題を解決するために、図４におけるパラメータａｌｐｈａとｂｅｔａの値を等しくする方法（非特許文献２）が知られている。ａｌｐｈａとｂｅｔａの値を等しくすることにより、ウインドウサイズが固定しないため、不公平なまま安定することを防いでいる。しかし、新しいコネクションの開始後しばらくは既存のコネクションよりもウインドウサイズが小さな値となり、コネクション間でのスループットの不公平を発生させる問題点がある。
【０００８】
また、ネットワークの混雑を回避するための従来の他のＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）制御方式にＤｉｆｆｓｅｒｖが知られている。Ｄｉｆｆｓｅｒｖではパケット中のＴＯＳ（Ｔｙｐｅ  Ｏｆ  Ｓｅｒｖｉｃｅ）フィールドに優先順位を設定し、ネットワークが混雑した際には、優先度の高いパケットは優先度の低いパケットより高確率で送出する送出優先や、優先度の高いパケットは優先度の低いパケットより低確率で破棄する破棄優先を適用して輻輳制御を行っている。しかし、Ｄｉｆｆｓｅｒｖでは確率的な制御を行うために同一優先度内であっても異なるコネクションの間ではスループットの差が生じ、公平性が保てない問題点があった。
【非特許文献１】Ｌａｗｒｅｎｃｅ  Ｓ．  Ｂｒａｋｍｏ，  Ｌａｒｒｙ  Ｌ．Ｐｅｔｅｒｓｏｎ，″ＴＣＰ  Ｖｅｇａｓ：  Ｅｎｄ  ｔｏ  Ｅｎｄ  Ｃｏｎｓｇｅｓｔｉｏｎ  Ａｖｏｉｄａｎｃｅ  ｏｎ  ａ  Ｇｌｏｂａｌ  Ｉｎｔｅｒｎｅｔ″，  ＩＥＥＥ  Ｊｏｕｒｎａｌ  ｏｎ  Ｓｅｌｅｃｔｅｄ  Ａｒｅａｓ  ｉｎ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ，  ｖｏｌ．  １３，  ｎｏ．８，Ｏｃｔｏｂｅｒ  １９９５，  ｐａｇｅｓ  １４６５−１４８０
【非特許文献２】ＧＯ  Ｈａｓｅｇａｗａ，  Ｍａｓａｙｕｋｉ  Ｍｕｒａｔａ，  ａｎｄ  Ｈｉｄｅｏ  Ｍｉｙａｈａｒａ，″Ｆａｉｒｎｅｓｓ  ａｎｄ  Ｓｔａｂｉｌｉｔｙ  ｏｆ  Ｃｏｎｇｅｓｔｉｏｎ  Ｃｏｎｔｒｏｌ  Ｍｅｃｈａｎｉｓｍ  ｏｆ  ＴＣＰ″，Ｐｒｏｃ．  ｏｆ  ＩＥＥＥ  ＩＮＦＯＣＯＭ，  Ｍａｒ．  １９９９，  ｐａｇｅｓ  １３２９−１３３６
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は上記の事情を考慮してなされたもので、その目的は、企業や官公庁、あるいは一般家庭などでルータを介したデータ通信を行う場合の、コネクション間でのスループットの不公平を抑止するデータ通信管理方法を提供することにある。
【課題を解決するための手段】
【００１０】
この発明は前述の課題を解決するためになされたもので、請求項１の発明は、第１の端末装置と、第２の端末装置とがそれぞれ第１のルータ装置と、第２のルータ装置とを経由してデータの送受信を行うデータ通信管理システムにおいて、前記第１のルータ装置が、前記第１の端末装置から前記第２の端末装置への送信データを受けた際に、前記送信データを前記第２のルータ装置経由で第２の端末装置へ送信すると共に、データの送信時刻を記憶領域に格納し、前記第２の端末装置から前記第２のルータ装置経由で送信された応答信号を受信する際に、受信時刻を記憶領域に格納し、前記受信時刻と、前記送信時刻との差分であるデータ送信時間を計算し、データを送信する毎にデータ送信時間をチェックして最短のデータ送信時間を検知し、最短データ送信時間として記憶領域に格納し、送信対象のデータの送信経路と、前記送信対象のデータに予め設定された優先度との組み合わせ毎のデータの分割送信単位量を、前記データ送信時間で除算して実際のデータ送信速度を得て、前記最短データ送信時間で前記データの分割送信単位量を除算して最速データ送信速度を得て、前記最速データ送信速度から前記実際のデータ送信速度を減算して速度差分を得て、前記速度差分が所定のデータ送信速度差閾値よりも小さい場合には前記データの分割送信単位量を増やし、前記速度差分が前記データ送信速度差閾値よりも大きい場合には前記データの分割送信単位量を削減し、前記データ送信時間を前記データの分割送信単位量で除算してパケット送信間隔時間を得て、記憶領域に格納することを特徴とするデータ通信管理方法である。
【００１１】
請求項２に記載の発明は、第１の端末装置と、第２の端末装置とがそれぞれ第１のルータ装置と、第２のルータ装置とを経由してデータの送受信を行うデータ通信管理システムにおいて、前記第１のルータ装置が、前記第１の端末装置から前記第２の端末装置への送信データを受けた際に、前記送信データを前記第２のルータ装置経由で第２の端末装置へ送信すると共に、データの送信時刻を記憶領域に格納し、前記第２の端末装置から前記第２のルータ装置経由で送信された応答信号を受信する際に、受信時刻を記憶領域に格納し、前記受信時刻と、前記送信時刻との差分であるデータ送信時間を計算し、データを送信する毎にデータ送信時間をチェックして最短のデータ送信時間を検知し、最短データ送信時間として記憶領域に格納し、データの分割送信単位量を、前記データ送信時間で除算して実際のデータ送信速度を得て、前記最短データ送信時間で前記データの分割送信単位量を除算して最速データ送信速度を得て、前記最速データ送信速度から前記実際のデータ送信速度を減算して速度差分を得て、前記速度差分が所定のデータ送信速度差閾値よりも小さい場合には前記データの分割送信単位量を増やし、前記速度差分が前記データ送信速度差閾値よりも大きい場合には前記データの分割送信単位量を削減し、前記データ送信時間を前記データの分割送信単位量で除算し、この結果を送信対象のデータの送信経路と、前記送信対象のデータに予め設定された優先度との組み合わせ毎のパケット送信間隔時間として記憶領域に格納することを特徴とするデータ通信管理方法である。
【００１２】
請求項３に記載の発明は、第１の端末装置と、第２の端末装置とがそれぞれ第１のルータ装置と、第２のルータ装置とを経由してデータの送受信を行うデータ通信管理システムにおいて、前記第１のルータ装置は、前記第１の端末装置から前記第２の端末装置への送信データを入力し、前記送信データに送信時の時刻を加えて前記第２のルータ装置へ送信し、前記第２のルータ装置は、前記第１のルータ装置から前記送信データを受信し、現在時刻から前記送信時の時刻を引いてデータ送信時間を得て前記第１のルータ装置へ送信し、前記第１のルータ装置が、前記第２のルータ装置から前記データ送信時間を受信し、データを送信する毎にデータ送信時間をチェックして最短のデータ送信時間を検知し、最短データ送信時間として記憶領域に格納し、送信対象のデータの送信経路と、前記送信対象のデータに予め設定された優先度との組み合わせ毎のデータの分割送信単位量を、前記データ送信時間で除算して実際のデータ送信速度を得て、前記最短データ送信時間で前記データの分割送信単位量を除算して最速データ送信速度を得て、前記最速データ送信速度から前記実際のデータ送信速度を減算して速度差分を得て、前記速度差分が所定のデータ送信速度差閾値よりも小さい場合には前記データの分割送信単位量を増やし、前記速度差分が前記データ送信速度差閾値よりも大きい場合には前記データの分割送信単位量を削減し、前記データ送信時間を前記データの分割送信単位量で除算してパケット送信間隔時間を得て、記憶領域に格納することを特徴とするデータ通信管理方法である。
【００１３】
請求項４に記載の発明は、第１の端末装置と、第２の端末装置とがそれぞれ第１のルータ装置と、第２のルータ装置とを経由してデータの送受信を行うデータ通信管理システムにおいて、前記第１のルータ装置は、前記第１の端末装置から前記第２の端末装置への送信データを入力し、前記送信データに送信時の時刻を加えて前記第２のルータ装置へ送信し、前記第２のルータ装置は、前記第１のルータ装置から前記送信データを受信し、現在時刻から前記送信時の時刻を引いてデータ送信時間を得て前記第１のルータ装置へ送信し、前記第１のルータ装置が、前記第２のルータ装置から前記データ送信時間を受信し、データを送信する毎にデータ送信時間をチェックして最短のデータ送信時間を検知し、最短データ送信時間として記憶領域に格納し、データの分割送信単位量を、前記データ送信時間で除算して実際のデータ送信速度を得て、前記最短データ送信時間で前記データの分割送信単位量を除算して最速データ送信速度を得て、前記最速データ送信速度から前記実際のデータ送信速度を減算して速度差分を得て、前記速度差分が所定のデータ送信速度差閾値よりも小さい場合には前記データの分割送信単位量を増やし、前記速度差分が前記データ送信速度差閾値よりも大きい場合には前記データの分割送信単位量を削減し、前記データ送信時間を前記データの分割送信単位量で除算して、この結果を送信対象のデータの送信経路と、前記送信対象のデータに予め設定された優先度との組み合わせ毎のパケット送信間隔時間として記憶領域に格納することを特徴とするデータ通信管理方法。
【００１４】
請求項５に記載の発明は、請求項１〜請求項４のいずれかに記載のデータ通信管理方法であって、コネクションレス型通信方式のプロトコルでデータの送信を行う場合には、前記パケット送信間隔時間に対して所定の固定値を設定することを特徴とするものである。
【発明の効果】
【００１５】
請求項１と、請求項３との発明によれば、データの分割送信単位量を送信経路と、優先度とをもとに設定するため、同じ送信経路と、優先度との中で既存のコネクションと新しいコネクションとの間でデータの分割送信単位量の差異を抑え、コネクション間でのスループットの不公平を抑止しながらＱｏＳ制御を行う効果がある。
【００１６】
また、請求項２と、請求項４との発明によれば、パケット送信間隔時間を送信経路と、優先度とをもとに設定するため、既存のコネクションと新しいコネクションとの間でパケット送信間隔時間の差異を抑え、コネクション間でのスループットの不公平を抑止しながらＱｏＳ制御を行う効果がある。
【００１７】
また、請求項５の発明によれば、コネクションレス型通信方式のプロトコルでデータの送信においては分割データ送出間隔時間に対して所定の固定値を適用するため、ルータ装置の処理負荷の増加を抑えることができる効果が得られる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照し、この発明の実施の形態を説明する。
図１は本実施の形態の構成を表している。端末装置１−１〜１−ｎと、端末装置２−１〜２−ｎと、端末装置３−１〜３−ｎとはシェーパ１１と、シェーパ１２と、シェーパ１３とを経由してデータの送受信を行うパソコンである。
【００１９】
シェーパ１１はシェーパ機能を備えたルータ装置であり、端末装置１−１〜１−ｎと、シェーパ１２との間での、あるいは端末装置１−１〜１−ｎと、シェーパ１３との間でのデータの中継を行う。シェーパ１１は記憶領域と、演算機能と、制御機能とを備え、記憶領域にデータの送信時間を表すＲＴＴ（データ送信時間、正の実数）と、最も短いデータの送信時間を表すｂａｓｅＲＴＴ（最短のデータ送信時間、正の実数）と、データの送信速度の閾値であるａｌｐｈａ（データ送信速度差閾値、正の実数）と、１回に送信するデータの大きさを表すｃｗｎｄ（データの分割送信単位量、正の整数）と、最も効率的なケースでのデータの送信速度を表すＥｘｐｅｃｔｅｄ（最速データ送信速度、正の実数）と、データの送信速度を表すＡｃｔｕａｌ（実際のデータ送信速度、正の実数）と、データ送信時のパケットの送信間隔時間を表すｉｎｔｅｒｖａｌ（パケット送信間隔時間、正の実数）と、を格納する。
【００２０】
また、シェーパ１１はパケットの送信元のアドレスと、送信先のアドレスと、送信先のポート番号とで表される送信経路毎に、かつ、ＴＯＳフィールド中の優先度毎にパケットのキューを記憶領域に格納し、キューから順次パケットを読み込んで送信を行う。さらに、このパケットのキューごとにシェーパ１１はｃｗｎｄと、ａｌｐｈａとを記憶領域に格納する。
シェーパ１２と、シェーパ１３とはシェーパ１１と同様の機能を備える。
【００２１】
また、ユーザは予めｂａｓｅＲＴＴの初期値として“１００００”を、ｃｗｎｄの初期値として“６”を、ａｌｐｈａの初期値として“６”を、ｉｎｔｅｒｖａｌの初期値として“０”をシェーパ１１に指定し、シェーパ１１はユーザの指定した初期値を受けて記憶領域に格納している。
【００２２】
次に、図を参照して本実施形態におけるデータ通信管理方法の動作について説明する。
図１において、まず、端末装置１−１（第１の端末装置）はシェーパ１１（第１のルータ装置）へ、データの端末装置２−１（第２の端末装置）への送信を要求する。シェーパ１１は端末装置１−１からデータを入力し、現在時刻をデータ送信時刻として記憶領域に格納し、記憶領域からｉｎｔｅｒｖａｌを読み込み、パケットの送信間隔時間“０”を適用して、シェーパ１２（第２のルータ装置）を経由してデータを端末装置２−１へ送信する。
端末装置２−１はシェーパ１１から、シェーパ１２を経由してデータを受信する。端末装置２−１はデータを受信したことを端末装置１−１に通知するために、ＡＣＫの端末装置１−１への送信をシェーパ１２に要求する。
【００２３】
シェーパ１２は端末装置２−１からＡＣＫを入力し、シェーパ１１へＡＣＫを送信する。シェーパ１１はシェーパ１２からＡＣＫを受信し、ＡＣＫの受信時刻を記憶領域に格納し、図５の処理を行って、受信したＡＣＫを端末装置１−１へ出力する。この図５は従来の技術と比べて特徴的な処理であるウインドウサイズと、パケット送信間隔時間との決定の処理の流れを示している。以下、図５の処理について説明する。
【００２４】
シェーパ１１は先ほどのＡＣＫの受信時刻からデータ送信時刻を差し引き、データの送信からＡＣＫの受信までの時間であるＲＴＴを計算し、計算結果である“８０００”を記憶領域に格納する（ステップＳ４０）。
次に、シェーパ１１はｂａｓｅＲＴＴの値である“１００００”を記憶領域から読み出してＲＴＴと比較し、先ほどのデータ送信が今までのデータ送信時間と比べて最も早い時間で完了したか否かをチェックする（ステップＳ４１）。シェーパ１１は先ほどのデータ送信が今までのデータ送信時間と比べて最も早い時間で完了したものであることを検知し、ｂａｓｅＲＴＴにＲＴＴを設定する（ステップＳ４２）。ここで、ｂａｓｅＲＴＴのほうが短い時間である場合には、ｂａｓｅＲＴＴの更新は行わない。
【００２５】
つづいて、シェーパ１１は記憶領域からｃｗｎｄの値である“６”を読み出し、最も効率よくデータの送信ができた場合を想定したデータの送信速度であるＥｘｐｅｃｔｅｄと、先ほどの実際のデータの送信速度であるＡｃｔｕａｌとを計算し、Ｅｘｐｅｃｔｅｄとして“０．０００７５”と、Ａｃｔｕａｌとして“０．０００７５”とを得る（ステップＳ４３）。
そして、Ｅｘｐｅｃｔｅｄと、Ａｃｔｕａｌとの差分をとって、最も効率よくデータの送信ができた場合と、実際のデータの送信との送信速度の差を計算し、“０”を得る。この差分に対してシェーパ１１は記憶領域から所定の閾値であるａｌｐｈａの値“６”を読み出し、比較する（ステップＳ４４）。この結果、シェーパ１１はａｌｐｈａのほうが大きいことを検知し、もっと１回に送信するデータを増やしても良いと判断する。このため、シェーパ１１はｃｗｎｄに１を加えて“７”を得て、これを記憶領域に書き込む（ステップＳ４６）。
【００２６】
なお、ａｌｐｈａのほうが小さい場合には、シェーパ１１はネットワークが混雑していると判断し、１回に送信するデータの量を減少させるためにｃｗｎｄから１を減算した“５”を記憶領域に格納する（ステップＳ４５）。
【００２７】
次に、シェーパ１１は現状のネットワークの混雑の程度に適したパケットの送信間隔時間を得るため、ＲＴＴをｃｗｎｄで除算し、“１１４２“を得て記憶領域に格納する（ステップＳ４７）。次回以降のデータの送信においては、ここまでの処理で得られたｃｗｎｄと、パケットの送信間隔時間とを適用する。
【００２８】
ここまでの説明ではｂａｓｅＲＴＴが“１００００”に対してＲＴＴが“８０００”のケースであり、ネットワークの状態が良好な場合であった。逆に、ネットワークが混雑してくると、ＲＴＴが増加し（ステップＳ４０）、これに伴いＡｃｔｕａｌの値は減少して（ステップＳ４３）Ｅｘｐｅｃｔｅｄと、Ａｃｔｕａｌとの差分は大きくなる（ステップＳ４４）。この差分がａｌｐｈａを超えると、ｃｗｎｄを減少させ（ステップＳ４５）、パケット送信間隔時間を大きくして（ステップＳ４７）パケットの流量を減らすため、ネットワークの輻輳を回避することができる。
【００２９】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成はこれらの実施の形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
例えば、シェーパ１１はシェーパ１２へデータを送信する際に送信時刻をデータに付加して送信し、シェーパ１２はシェーパ１１からデータを受信した際に現在時刻から送信時刻を引いてデータの送信時間を計測し、ＲＴＴを得る方法がある。シェーパ１２はＲＴＴを得てシェーパ１１に送信し、シェーパ１１はこのＲＴＴをもとに図５の処理を行う。これにより、受信端末装置２−１での処理時間は除外されるため、端末装置２−１の性能に依存しないＱｏＳ制御が可能となる。
【００３０】
また、シェーパ１１はパケットの送信間隔時間をキュー毎に設定しても良い。加えて、ｃｗｎｄの初期値と、ａｌｐｈａの初期値とをキュー毎に設定しても良い。例えば、ＴＯＳフィールドに設定する優先度をＨｉｇｈ、Ｍｉｄｄｌｅ、Ｌｏｗの３個とし、それぞれに対応するｃｗｎｄの初期値を“６”、“４”、“２”とし、ａｌｐｈａの初期値を“６”、“４”、“２”とする方法がある。
また、端末装置において標準的に実装されているＴＣＰ  Ｒｅｎｏコネクションに関して本実施の形態を適用し、同一優先度の複数コネクションのパケットを１つのシェーパに集約して処理する方法もある。これにより、既存のコネクションと、新規のコネクションとの間でのウインドウサイズの差異は解消される。また、パケットの送信間隔時間についても既存のコネクションと、新規のコネクションとの間での差異は発生しない。
【００３１】
また、本実施の形態をＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）パケットのみに適用し、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ、コネクションレス型通信方式のプロトコル）パケットについてはパケットの送信間隔時間を所定の時間に設定する方法がある。これにより、シェーパ１１の処理は軽減されるため、処理時間が短くなる。
【００３２】
また、ＵＤＰパケットに関しても本実施の形態を適用しても良い。さらに、シェーパ１１からシェーパ１２へのデータの送信において、シェーパ１２がデータを受信した際にシェーパ１２がＡＣＫをシェーパ１１へ送信する方法もある。このＡＣＫをもとにシェーパ１１はＵＤＰパケットのＲＴＴを計測し、本実施の形態における処理を行うことにより、ＵＤＰパケットについても輻輳制御を行うことができる。
また、本実施の形態においては端末装置１−１〜１−ｎと、端末装置２−１〜２−ｎと、端末装置３−１〜３−ｎとをパソコンとしたが、これらはＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｉｓｔａｎｔ）や、ネットワーク機能を備えたゲーム機などであっても良い。
【図面の簡単な説明】
【００３３】
【図１】本発明の実施の形態によるデータ通信管理方法のネットワーク構成例を表す図である。
【図２】従来技術であるＴＣＰ  Ｖｅｇａｓの処理の流れを表すフローチャートである。
【図３】従来技術であるＴＣＰ  Ｖｅｇａｓの処理の流れを表すフローチャートである。
【図４】従来技術であるＴＣＰ  Ｖｅｇａｓの処理の流れを表すフローチャートである。
【図５】本発明の実施形態によるデータ通信管理方法の処理の流れを表すフローチャートである。
【符号の説明】
【００３４】
１−１〜１−ｎ、２−１〜２−ｎ、３−１〜３−ｎ…端末装置
１１，１２，１３…シェーパ
【図１】
2005184494.tif 000003
【図２】
2005184494.tif 000004
【図３】
2005184494.tif 000005
【図４】
2005184494.tif 000006
【図５】
2005184494.tif 000007