(57)【要約】【課題】輻輳時にウィンドウサイズの増加率を変化させることによって、廃棄されるパケット数を少なくし、結果としてネットワーク使用率の低下を防ぐ。【解決手段】送信端末３１は、パケット送信時に現在の時刻ｎｏｗ１をパケットに書き込み、該パケットを送信する。受信端末は、ｎｏｗ１と現在の時刻ｎｏｗ２を受信確認パケットに書き込み、該受信確認パケットを送信する。送信端末３１は前記受信確認パケットを受信した時、ｎｏｗ２からｎｏｗ１を減算した値を計算し、その平均値Ａｖｇ、最小値Ｍｉｎ、及び最大値Ｍａｘを記憶しておき、ネットワークが輻輳状態でないと判断した場合にウィンドウサイズを増加させる時、Ａｖｇ＞Ｍｉｎ＋α（Ｍａｘ−Ｍｉｎ）（０＜α＜１）が成立するならば、成立しない場合に比べて、ウィンドウサイズの増加幅を小さくする。【選択図】        図３
2005268979.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークが輻輳状態であると判断した時にウィンドウサイズを減少し、そうでないと判断した時にウィンドウサイズを増加する輻輳制御方法であって、
送信端末は、パケット送信時に現在の時刻ｎｏｗ１をパケットに書き込み、該パケットを送信し、
受信端末は、パケットを受信した時、パケットに書き込まれているｎｏｗ１を読み取り、受信したパケットに対する受信確認パケットを送信する際、ｎｏｗ１と現在の時刻ｎｏｗ２を受信確認パケットに書き込み、該受信確認パケットを送信し、
前記送信端末は前記受信確認パケットを受信した時、ｎｏｗ２からｎｏｗ１を減算した値を計算し、その平均値Ａｖｇ、最小値Ｍｉｎ、及び最大値Ｍａｘを記憶しておき、
ネットワークが輻輳状態でないと判断した場合にウィンドウサイズを増加させる時、
Ａｖｇ＞Ｍｉｎ＋α（Ｍａｘ−Ｍｉｎ）（０＜α＜１）
が成立するならば、成立しない場合に比べて、ウィンドウサイズの増加幅を小さくすることを特徴とする輻輳制御方法。
【請求項２】
ネットワークが輻輳状態であると判断した時にウィンドウサイズを減少し、そうでないと判断した時にウィンドウサイズを増加する輻輳制御を行う送信端末と受信端末を有する通信システムであって、
前記送信端末は、パケット送信時に現在の時刻ｎｏｗ１をパケットに書き込み、該パケットを送信する手段を備え、
前記受信端末は、パケットを受信した時、パケットに書き込まれているｎｏｗ１を読み取り、受信したパケットに対する受信確認パケットを送信する際、ｎｏｗ１と現在の時刻ｎｏｗ２を受信確認パケットに書き込み、該受信確認パケットを送信する手段を備え、
前記送信端末は、前記受信確認パケットを受信した時、ｎｏｗ２からｎｏｗ１を減算した値を計算し、その平均値Ａｖｇ、最小値Ｍｉｎ、及び最大値Ｍａｘを記憶しておき、
ネットワークが輻輳状態でないと判断した場合にウィンドウサイズを増加させる時、
Ａｖｇ＞Ｍｉｎ＋α（Ｍａｘ−Ｍｉｎ）（０＜α＜１）
が成立するならば、成立しない場合に比べて、ウィンドウサイズの増加幅を小さくする手段を備えることを特徴とする通信システム。
【請求項３】
ネットワークが輻輳状態であると判断した時にウィンドウサイズを減少し、そうでないと判断した時にウィンドウサイズを増加する輻輳制御を行う通信装置であって、
パケット送信時に現在の時刻ｎｏｗ１をパケットに書き込み、該パケットを送信する手段と、
送信した前記パケットの受信確認パケットを受信した時、受信端末が前記受信確認パケットに書き込んだ受信端末における現在時刻ｎｏｗ２から前記パケット送信時の現在時刻ｎｏｗ１を減算した値を計算し、その平均値Ａｖｇ、最小値Ｍｉｎ、及び最大値Ｍａｘを記憶しておき、
ネットワークが輻輳状態でないと判断した場合にウィンドウサイズを増加させる時、
Ａｖｇ＞Ｍｉｎ＋α（Ｍａｘ−Ｍｉｎ）（０＜α＜１）
が成立するならば、成立しない場合に比べて、ウィンドウサイズの増加幅を小さくする手段と、
を備えることを特徴とする通信装置。
【請求項４】
請求項３に記載の通信装置からパケットを受信し前記通信装置に受信確認パケットを送信する通信装置であって、
前記パケットを受信した時、該パケットに書き込まれているｎｏｗ１を読み取り、受信したパケットに対する受信確認パケットを送信する際、ｎｏｗ１と現在の時刻ｎｏｗ２を受信確認パケットに書き込み、該受信確認パケットを送信する手段を備える通信装置。
【請求項５】
ネットワークが輻輳状態であると判断した時にウィンドウサイズを減少し、そうでないと判断した時にウィンドウサイズを増加する輻輳制御を行う通信装置における通信方法であって、
パケット送信時に現在の時刻ｎｏｗ１をパケットに書き込み、該パケットを送信するステップと、
送信した前記パケットの受信確認パケットを受信した時、受信端末が前記受信確認パケットに書き込んだ受信端末における現在時刻ｎｏｗ２から前記パケット送信時の現在時刻ｎｏｗ１を減算した値を計算し、その平均値Ａｖｇ、最小値Ｍｉｎ、及び最大値Ｍａｘを記憶しておき、
ネットワークが輻輳状態でないと判断した場合にウィンドウサイズを増加させる時、
Ａｖｇ＞Ｍｉｎ＋α（Ｍａｘ−Ｍｉｎ）（０＜α＜１）
が成立するならば、成立しない場合に比べて、ウィンドウサイズの増加幅を小さくするステップと、
を有することを特徴とする通信方法。
【請求項６】
請求項５に記載の通信装置からパケットを受信し前記通信装置に受信確認パケットを送信する通信装置における通信方法であって、
前記パケットを受信した時、該パケットに書き込まれているｎｏｗ１を読み取り、受信したパケットに対する受信確認パケットを送信する際、ｎｏｗ１と現在の時刻ｎｏｗ２を受信確認パケットに書き込み、該受信確認パケットを送信するステップを有する通信方法。
【請求項７】
請求項５または６に記載の通信方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項８】
請求項７に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークの輻輳度に応じて、どの程度ウィンドウサイズを増加させるかを計算する技術に関する。
【背景技術】
【０００２】
現在のインターネットで使用されている端末はトランスポートプロトコルにＴＣＰ（Transmission Control Protocol）を実装している。ＴＣＰにおける輻輳制御アルゴリズムは、スロースタート段階と輻輳回避段階に分けることができる（非特許文献１参照）。ここでは本提案に関係のある輻輳回避段階におけるアルゴリズムについてのみ述べる。
【０００３】
ＴＣＰを使用している送信端末はパケットを送信する時、各パケットにシーケンス番号を付与する。受信端末はパケットを正しく受信すると、次に受信を期待するパケットのシーケンス番号が付与された受信確認パケットを送信する。図１の例では、シーケンス番号１００或いは１０１のパケットを受信すると、受信端末は次に受信を期待するパケットのシーケンス番号１０１或いは１０２が付与された受信確認パケットを送信している。
【０００４】
また送信端末は、輻輳ウィンドウ（ｃｗｎｄ）と呼ばれる変数を管理しており、ｃｗｎｄの値だけパケットを受信端末からの受信確認パケットの到着なしに送信することができる。例えばｃｗｎｄの値が１００の時、送信端末は１００個のパケットを受信確認パケットの到着なしに送信することができる。送信端末はｃｗｎｄ個の受信確認パケットを受信すると、ネットワークが輻輳状態ではないと判断し、ｃｗｎｄの値を１だけ増加させる。つまり先程の例では１００個のパケットに対する受信確認パケットを受信すると、ｃｗｎｄの値を１だけ増加させ、１０１にする。一方、次に受信を期待するパケットのシーケンス番号が同じである受信確認パケットを３回連続して受信すると、ネットワークが輻輳状態であると判断し、ｃｗｎｄの値を半分にし、そのシーケンス番号のパケットを再送する。図２ではシーケンス番号１０１のパケットがネットワーク内で廃棄され、送信端末は次に受信を期待するパケットのシーケンス番号が１０１である受信確認パケットを３回受信したので、シーケンス番号が１０１のパケットを再送している。
【０００５】
上記がＴＣＰにおける輻輳制御アルゴリズムの基本的動作であるが、近年このアルゴリズムでは、往復伝播遅延時間が長い場合、ギガビットレベルのスループットが実現不可能であることが報告され、新しくＨｉｇｈ−Ｓｐｅｅｄ  ＴＣＰ（ＨＳ−ＴＣＰ）が提案されている（非特許文献２参照）。ＨＳ−ＴＣＰでは、送信端末はｃｗｎｄ分の受信確認パケットを受信すると、ネットワークが輻輳状態でないと判断し、ｃｗｎｄの値をａだけ増加させる。一方、次に受信を期待するパケットのシーケンス番号が同じである受信確認パケットを３回連続して受信すると、ネットワークが輻輳状態であると判断し、ｃｗｎｄの値を（１−ｂ）倍にする。ここで、ａ、ｂはそれぞれ以下の式１、式２で定義される。
【０００６】
【数１】
2005268979.tif 000003
【０００７】
ＨＳ−ＴＣＰは従来のＴＣＰに比べて、ｃｗｎｄの増加率を高くし、且つ減少率を低くすることにより、往復遅延時間が長い場合でも、ギガビットレベルのスループットが実現可能であるようにしている。
【０００８】
しかし一般にネットワークでＴＣＰのパケットが廃棄される時、その数はＴＣＰのウィンドウサイズの増加率に比例すると言われている。よってＨＳ−ＴＣＰでは輻輳時、従来のＴＣＰより大量のパケットが廃棄されることとなり、結果として、ネットワーク使用率の低下を招くという問題がある。
【０００９】
この問題を解決する方法として、ｃｗｎｄの値がパケットのｎ倍の時、ｎ個のパケットの往復遅延時間を測定し、それらパケットを送信した時刻と測定した往復遅延時間に正の相関関係があれば、ＨＳ−ＴＣＰにおけるｃｗｎｄの増加率を従来のＴＣＰと同じ値に減少させる方式が提案されている（非特許文献３参照）。
【００１０】
しかしこの方式は、往復遅延時間の増加が送信端末から受信端末へのトラヒックが通過するリンクの輻輳を必ずしも意味していない為、不必要に増加率を減少させる問題がある。またｃｗｎｄの値が大きくなった時、記憶しておく情報（ｎ個のパケットの送信時刻、往復遅延時間）が大きくなりすぎるという問題もある。
【００１１】
【非特許文献１】S. A. Thomas（塚本、春本訳）、”次世代ＴＣＰ／ＩＰ技術解説”、日経ＢＰ社、１９９７年１月２７日
【非特許文献２】S. Floyd、”HighSpeed TCP for Large Congestion Windows”、RFC 3649、December 2003、[online]、［平成１６年３月１０日検索］、インターネット＜http://www.faqs.org/rfcs/rfc3649.html＞
【非特許文献３】徳田他、“HighSpeed TCPの性能評価とその性能改善方式の提案”、電子情報通信学会、情報ネットワーク研究会、２００３年３月
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明はＨＳ−ＴＣＰの輻輳制御アルゴリズムにおいて、片方向遅延時間の値の増加によって送信端末から受信端末へのトラヒックが通過するリンクの輻輳を検出し、輻輳時にウィンドウサイズの増加率を変化させることによって、廃棄されるパケット数を少なくし、結果としてネットワーク使用率の低下を防ぐことである。
【課題を解決するための手段】
【００１３】
本発明は、ネットワークが輻輳状態であると判断した時にウィンドウサイズを減少し、そうでないと判断した時にウィンドウサイズを増加する輻輳制御方法またはシステムであって、送信端末は、パケット送信時に現在の時刻ｎｏｗ１をパケットに書き込み、該パケットを送信し、受信端末は、パケットを受信した時、パケットに書き込まれているｎｏｗ１を読み取り、受信したパケットに対する受信確認パケットを送信する際、ｎｏｗ１と現在の時刻ｎｏｗ２を受信確認パケットに書き込み、該パケットを送信し、前記送信端末は前記受信確認パケットを受信した時、ｎｏｗ２からｎｏｗ１を減算した値を計算し、その平均値Ａｖｇ、最小値Ｍｉｎ、及び最大値Ｍａｘを記憶しておき、ネットワークが輻輳状態でないと判断した場合にウィンドウサイズを増加させる時、Ａｖｇ＞Ｍｉｎ＋α（Ｍａｘ−Ｍｉｎ）（０＜α＜１）が成立するならば、成立しない場合に比べて、ウィンドウサイズの増加幅を小さくすることを特徴とする。また、本発明は、ネットワークが輻輳状態であると判断した時にウィンドウサイズを減少し、そうでないと判断した時にウィンドウサイズを増加する輻輳制御を行う通信装置であって、パケット送信時に現在の時刻ｎｏｗ１をパケットに書き込み、該パケットを送信する手段と、送信した前記パケットの受信確認パケットを受信した時、受信端末が前記受信確認パケットに書き込んだ受信端末における現在時刻ｎｏｗ２から前記パケット送信時の現在時刻ｎｏｗ１を減算した値を計算し、その平均値Ａｖｇ、最小値Ｍｉｎ、及び最大値Ｍａｘを記憶しておき、ネットワークが輻輳状態でないと判断した場合にウィンドウサイズを増加させる時、Ａｖｇ＞Ｍｉｎ＋α（Ｍａｘ−Ｍｉｎ）（０＜α＜１）が成立するならば、成立しない場合に比べて、ウィンドウサイズの増加幅を小さくする手段と、を備えることを特徴とする。また、本発明は、前記通信装置からパケットを受信し前記通信装置に受信確認パケットを送信する通信装置であって、前記パケットを受信した時、該パケットに書き込まれているｎｏｗ１を読み取り、受信したパケットに対する受信確認パケットを送信する際、ｎｏｗ１と現在の時刻ｎｏｗ２を受信確認パケットに書き込み、該パケットを送信する手段を備える。また、本発明は前記通信装置における通信方法を特徴とし、さらに、そのためのプログラム、そのプログラムを記録した記録媒体を特徴とする。
【発明の効果】
【００１４】
本発明を用いれば、例えばギガビットレベルのスループットが実現可能なＨｉｇｈＳｐｅｅｄ  ＴＣＰにおいて輻輳時、廃棄されるパケットの数を少なくすることができる。その結果、ネットワーク使用率を高く維持することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施例を図を用いて詳細に説明する。
実施例における送信端末の構成図を図３に、受信端末の構成図を図４に示す。送信端末３１は、送信するパケットに現在時刻を書き込む現在時刻書込部３２と、受信したパケットから時刻を読み取る読み取り部３３と、片方向遅延時間を計算する片方向遅延時間計算部３４と、増加率・減少率を決定する増加率・減少率決定部３５を備える。受信端末４１は受信したパケットから時刻を読み取る時刻読み取り部４２と、送信するパケットに情報を書き込む情報書込部４３と、送信するパケットに現在時刻を書き込む書込部４４を備える。なお、送信端末３１、受信端末４１が上記の各部の外に、パケットを送受するための手段等の送信端末、受信端末として必要な手段を備えていることはいうまでもない。また、一つの装置が送信端末と受信端末の両方の機能を備えていてもよい。
【００１６】
送信端末３１はパケットＡを送信する時、現在時刻書込部３２で現在の時刻ｎｏｗ１を書き込んだ後、パケットＡを送信する。
受信端末４１はパケットＡを受信すると時刻読み取り部４２でパケットＡに書き込まれている時刻情報ｎｏｗ１を読み取り、その値を情報書込部４３に通知する。受信端末４１はパケットＡに対する受信確認パケットを送信する時、情報書込部４３で、パケットＡに書き込まれていた時刻情報ｎｏｗ１を書き込み、且つ、現在時刻書込部４４で現在の時刻ｎｏｗ２を書き込んだ後、パケットＢを送信する。
【００１７】
送信端末３１はパケットＢを受信すると時刻読み取り部３３でパケットＢに書き込まれている時刻情報ｎｏｗ１とｎｏｗ２を読み取り、それらを片方向遅延時間計算部３４に通知する。
送信端末３１の片方向遅延時間計算部３４は図５に示すフローチャートに従って、平均、最小、最大片方向遅延時間を計算する。図５において、Ａｖｇは片方向遅延時間の平均値である。Ｍａｘは片方向遅延時間の最大値であり、初期値は十分小さな値とする。Ｍｉｎは片方向遅延時間の最小値であり、初期値は十分大きな値とする。βは常数であり、０＜β＜１である。片方向遅延時間計算部３４は次のようにして計算する。ステップ５１において時刻読み取り部３３で読み取られた時刻情報ｎｏｗ２とｎｏｗ１の時間差すなわち片方向遅延時間ｔｉｍｅ＝ｎｏｗ２−ｎｏｗ１を計算する。ステップ５２において片方向遅延時間の平均値Ａｖｇをそれまでの片方向遅延時間の平均値Ａｖｇ、片方向遅延時間ｔｉｍｅ、常数β（０＜β＜１）を用いて、Ａｖｅ＝（１−β）＊Ａｖｇ＋β＊ｔｉｍｅとして計算する。ステップ５３において片方向遅延時間ｔｉｍｅが片方向遅延時間の最大値Ｍａｘより大きいかどうかを判断し、ＹＥＳであれば片方向遅延時間の最大値Ｍａｘに片方向遅延時間ｔｉｍｅの値を代入した後ステップ５５に進み、ＮＯであればそのままステップ５５に進む。ステップ５５において片方向遅延時間の最小値Ｍｉｎが片方向遅延時間ｔｉｍｅより大きいかどうかを判断し、ＹＥＳであれば片方向遅延時間の最小値Ｍｉｎに片方向遅延時間ｔｉｍｅの値を代入して終了し、ＮＯであればそのまま終了する。以上のフローにより、送信端末３１が受信端末４１から受信確認パケットを受信するたびに、送信端末３１の片方向遅延時間計算部３４は片方向遅延時間の平均値Ａｖｇ、片方向遅延時間の最大値Ｍａｘ、片方向遅延時間の最小値Ｍｉｎを計算し、記憶する。
【００１８】
そして送信端末３１の増加率・減少率決定部３５は、図６に示すフローチャートに従って、ウィンドウサイズの増加率・減少率を決定する。図６において、ｃｎｔは変数であり、初期値は０である。ｃｗｎｄは輻輳ウィンドウサイズである。αは定数であり、０＜α＜１である。また、ｆ（Ａｖｇ）＝（Ｍａｘ−Ａｖｇ）／（Ｍａｘ−ｍｉｎ）である。また、ａ、ｂはそれぞれ背景技術の欄に記載した式１、式２で定義される。増加率・減少率決定部３５は次のようにして輻輳ウィンドウサイズｃｗｎｄを決定する。ステップ６１において次に受信を期待するパケットのシーケンス番号が同じである受信確認パケットを３回連続して受信したかどうかを判断する。ＹＥＳの場合（輻輳状態であると判断した場合）は、ステップ６２において輻輳ウィンドウサイズｃｗｎｄにそれまでの輻輳ウィンドウサイズｃｗｎｄと（１−ｂ）を乗じた値を代入し、ステップ６８に進む。ステップ６１でＮＯの場合（輻輳状態でないと判断した場合）は、ステップ６３で変数ｃｎｔをインクリメントし、ステップ６４で変数ｃｎｔと輻輳ウィンドウサイズｃｗｎｄが等しいかどうかを判断する。ＮＯであれば終了する。ＹＥＳであれば、ステップ６５でＡｖｇ＞Ｍｉｎ＋α＊（Ｍａｘ−Ｍｉｎ）かどうかを判断する。ＹＥＳであれば、ステップ６６で輻輳ウィンドウサイズｃｗｎｄにそれまでのｃｗｎｄにａ＊ｆ（Ａｖｇ）を加算した値を代入し、ステップ６８に進む。ステップ６５でＮＯであればステップ６７において輻輳ウィンドウサイズｃｗｎｄにそれまでのｃｗｎｄにａを加算した値を代入し、ステップ６８に進む。ステップ６８ではｃｎｔを初期値０に戻して、終了する。以上のフローにより、送信端末３１の増加率・減少率決定部３５は輻輳ウィンドウサイズｃｗｎｄを決定し、記憶する。
【００１９】
以上のように、ステップ６４でＹＥＳの場合すなわち輻輳ウィンドウサイズを増加させる場合、輻輳ウィンドウサイズｃｗｎｄは、ステップ６５でＹＥＳの場合はステップ６６でｃｗｎｄ＝ｃｗｎｄ＋ａ＊ｆ（Ａｖｇ）とされ、ステップ６５でＮＯの場合はステップ６７でｃｗｎｄ＝ｃｗｎｄ＋ａとされる。ｆ（Ａｖｇ）＝（Ｍａｘ−Ａｖｇ）／（Ｍａｘ−Ｍｉｎ）であり、Ｍａｘ−Ａｖｇ≦Ｍａｘ−Ｍｉｎであるから、ｆ（Ａｖｇ）≦１である。これは、ステップ６５でＹＥＳの場合はＮＯの場合よりもそれまでのｃｗｎｄに加算する値が少ないことを意味している。したがって、Ａｖｇ＞Ｍｉｎ＋α＊（Ｍａｘ−Ｍｉｎ）が成立するならば、成立しない場合に比べて、輻輳ウィンドウサイズの増加幅は小さいことになる。
【００２０】
以下、図７に示す例を用いて、本発明の実施例の動作を説明する。送信端末は図７において示された時刻にパケット１から３を送信し、受信端末は図７において示された時刻にパケット１から３の受信確認パケットを送信するとする。パケット１から３のシーケンス番号は１０１から１０３とし、それらに対する受信確認パケットの次に受信を期待するパケットのシーケンス番号はそれぞれ１０２、１０３、１０４であるとする。またパケット１を送信する時、図５の片方向遅延時間の平均値Ａｖｇは０．０５秒、片方向遅延時間の最小値Ｍｉｎは０．０５秒、片方向遅延時間の最大値Ｍａｘは０．０９秒、βは０．５、図６のｃｎｔは５０９７、輻輳ウィンドウサイズｃｗｎｄは５１００、αは０．５、ａ（ｃｗｎｄ＝５１００）は２０であり、次に受信を期待するパケットのシーケンス番号が１０１である受信確認パケットを受信しているとする。
【００２１】
送信端末３１がパケット１を送信する時、現在時刻書込部３２で時刻１０．００が書き込まれる。受信端末４１がパケット１を受信すると時刻読み取り部４２で時刻１０．００が読み取られ、その値は情報書込部４３に通知される。受信端末４１がパケット１に対する受信確認パケットを送信する時、情報書込部４３で１０．００が書き込まれ、現在時刻書込部４４で時刻１０．０５が書き込まれる。送信端末３１がパケット１の受信確認パケットを受信すると、時刻読み取り部３３で、１０．００と１０．０５が読み取られる。そして、それらは片方向遅延時間計算部３４に通知される。
【００２２】
片方向遅延時間計算部３４では図５のアルゴリズムに従って、片方向遅延時間が計算される。今、ｎｏｗ２は１０．０５、ｎｏｗ１は１０．００なので、片方向遅延時間ｔｉｍｅは０．０５となり（ステップ５１）、片方向遅延時間の平均値Ａｖｇの値は、
Ａｖｇ＝（１−β）＊Ａｖｇ＋β＊ｔｉｍｅ
＝（１−０．５）＊０．０５＋０．５＊０．０５
＝０．０５
に更新される（ステップ５２）。そして、ｔｉｍｅは０．０５でありＭａｘは０．０９であるから、ｔｉｍｅはＭａｘより大きくないのでＭａｘの値は更新されず（ステップ５３でＮＯ）、また、ｔｉｍｅは０．０５でありＭｉｎは０．０５であるから、ｔｉｍｅはＭｉｎより小さくないのでＭｉｎの値も更新されない（ステップ５５でＮＯ）。次に増加率・減少率決定部３５で図６のアルゴリズムに従って、ウィンドウサイズが変更される。今、次に受信を期待するパケットのシーケンス番号が同じである受信確認パケットを３回連続して受け取っていないので（ステップ６１でＮＯ）、ｃｎｔを５０９７から５０９８に更新する（ステップ６３）。ｃｗｎｄは５１００であり、ｃｎｔはｃｗｎｄと等しくないので（ステップ６４でＮＯ）、アルゴリズムは終了する。
【００２３】
送信端末３１がパケット２を送信する時、現在時刻書込部３２で時刻１０．１０が書き込まれる。受信端末４１がパケット２を受信すると時刻読み取り部４２で時刻１０．１０が読み取られ、その値は情報書込部４３に通知される。受信端末４１がパケット２に対する受信確認パケットを送信する時、情報書込部４３で１０．１０が書き込まれ、現在時刻書込部４４で時刻１０．１６が書き込まれる。送信端末３１がパケット２の受信確認パケットを受信すると、時刻読み取り部３３で、１０．１０と１０．１６が読み取られる。そして、それらは片方向遅延時間計算部３４に通知される。
【００２４】
片方向遅延時間計算部３４では図５のアルゴリズムに従って、片方向遅延時間が計算される。今、ｎｏｗ２は１０．１６、ｎｏｗ１は１０．１０なので、ｔｉｍｅは０．０６となり（ステップ５１）、Ａｖｇの値は、
Ａｖｇ＝（１−β）＊Ａｖｇ＋β＊ｔｉｍｅ
＝（１−０．５）＊０．０５＋０．５＊０．０６
＝０．０５５
に更新される（ステップ５２）。そして、ｔｉｍｅは０．０６でありＭａｘは０．０９であるから、ｔｉｍｅはＭａｘより大きくないのでＭａｘの値は更新されず（ステップ５３でＮＯ）、また、ｔｉｍｅは０．０６でありＭｉｎは０．０５であるから、ｔｉｍｅはＭｉｎより小さくないのでＭｉｎの値も更新されない（ステップ５５でＮＯ）。次に増加率・減少率決定部３５で図６のアルゴリズムに従って、ウィンドウサイズが変更される。今、次に受信を期待するパケットのシーケンス番号が同じである受信確認パケットを３回連続して受け取っていないので（ステップ６１でＮＯ）、ｃｎｔを５０９８から５０９９に更新する。ｃｗｎｄは５１００であり、ｃｎｔはｃｗｎｄと等しくないので、アルゴリズムは終了する。
【００２５】
送信端末３１がパケット３を送信する時、現在時刻書込部３２で時刻１０．２１が書き込まれる。受信端末４１がパケット３を受信すると時刻読み取り部４２で時刻１０．２１が読み取られ、その値は情報書込部４３に通知される。受信端末４１がパケット３に対する受信確認パケットを送信する時、情報書込部４３で１０．２１が書き込まれ、現在時刻書込部４４で時刻１０．３１が書き込まれる。送信端末３１がパケット３の受信確認パケットを受信すると、時刻読み取り部３３で、１０．２１と１０．３１が読み取られる。そして、それらは片方向遅延時間計算部３４に通知される。
【００２６】
片方向遅延時間計算部３４では図５のアルゴリズムに従って、片方向遅延時間が計算される。今、ｎｏｗ２は１０．３１、ｎｏｗ１は１０．２１なので、片方向遅延時間ｔｉｍｅは０．１０となり（ステップ５１）、片方向遅延時間の平均値Ａｖｇの値は、
Ａｖｇ＝（１−β）＊Ａｖｇ＋β＊ｔｉｍｅ
＝（１−０．５）＊０．０５５＋０．５＊０．１０
＝０．０７７５
に更新される（ステップ５２）。そして、ｔｉｍｅは０．１０でありＭａｘは０．０９であるから、ｔｉｍｅはＭａｘより大きいのでＭａｘの値は０．１０に更新され（ステップ５３、５４）、また、ｔｉｍｅは０．１０でありＭｉｎは０．０５であるから、ｔｉｍｅはＭｉｎより小さくないのでＭｉｎの値は更新されない（ステップ５５でＮＯ）。次に増加率・減少率決定部３５で図６のアルゴリズムに従って、ウィンドウサイズが変更される。今、次に受信を期待するパケットのシーケンス番号が同じである受信確認パケットを３回連続して受け取っていないので（ステップ６１でＮＯ）、ｃｎｔを５０９９から５１００に更新する（ステップ６３）。輻輳ウィンドウサイズｃｗｎｄは５１００であるから、ｃｎｔはｃｗｎｄと等しく（ステップ６４でＹＥＳ）、Ａｖｇが０．０７７５であり、
Ｍｉｎ＋α＊（Ｍａｘ−Ｍｉｎ）＝０．０５＋０．５（０．１０−０．０５）
＝０．０７５
なので（ステップ６５でＹＥＳ）、輻輳ウィンドウサイズｃｗｎｄの値を
【００２７】
【数２】
2005268979.tif 000004
に更新する（ステップ６６）。そしてｃｎｔとの値を０にする（ステップ６８）。
【００２８】
次に本実施例の効果を確認するシミュレーションを行った結果を示す。図８にシミュレーションモデルを示す。送信端末、受信端末はそれぞれ５つで、リンク帯域は１Ｇｂｐｓ、送信・受信端末間の往復伝播遅延時間を１００ミリ秒、パケットサイズを１５００バイトとした。送信端末は常に送信するパケットを有しており、シミュレーション時間は３００秒し、１５０秒から３００秒間のデータを結果に用いた。
【００２９】
図９にルータにおけるバッファサイズを変化させた時のリンク使用率を示す。横軸は８３３４パケットを１とした時の値を示している。縦軸は１Ｇｂｐｓを１とした時の５つの受信端末で受信したスループットの合計値を示している。図９より、本実施例を用いることにより、従来方式（従来のＨＳ−ＴＣＰ）を用いる場合に比べて、スループットが向上していることが分かる。また図１０にパケットロス率を示す。図１０より、本実施例を用いた場合、パケットロス率が大幅に減少していることが分かる。
【００３０】
以上詳細に説明したように、本発明の実施例のポイントは、新たに片方向遅延時間を計測し、平均片方向遅延時間が最小片方向遅延時間と最大片方向遅延時間により決まる値以上ならば、ウィンドウサイズの増加率をそうでない場合に比べて、減少させることによって、輻輳時に廃棄されるパケットの数を少なくし、結果として、ネットワーク使用率を高く維持できる点である。
【００３１】
従来の技術との差異は以下の通りである。
・本発明の実施例では片方向遅延時間を用いてウィンドウサイズの増加率を決定している。しかし従来方式では片方向遅延時間を用いていない。
・ｃｗｎｄの増加率を減少させる時、従来の方式では従来のＴＣＰと同じ値に減少させている。しかし本発明の実施例では、平均片方向遅延時間、最小片方向遅延時間、及び最大片方向遅延時間により決まる値によって、減少する値を決定している。
【００３２】
以上の実施例の送信端末および受信端末の一部または全部をコンピュータとプログラムによっても構成できる。また、そのプログラムを記録媒体に記録することができ、ネットワークを介して転送することもできる。図５、図６に示したアルゴリズムは好適にはトランスポート層に実装する。
【００３３】
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【図面の簡単な説明】
【００３４】
【図１】パケットにおけるシーケンス番号を説明するための図である。
【図２】パケットが再送される条件を説明するための図である。
【図３】本発明の実施例の送信端末のシステム構成を示す図である。
【図４】本発明の実施例の受信端末のシステム構成を示す図である。
【図５】本発明の実施例の片方向遅延計算部におけるアルゴリズムを示す図である。
【図６】本発明の実施例の増加率・減少率決定部におけるアルゴリズムを示す図である。
【図７】本発明の実施例におけるパケットの送受信の流れの例を示す図である。
【図８】本発明の実施例のシミュレーションモデルを示す図である。
【図９】本発明の実施例のシミュレーション結果（スループット）を示す図である。
【図１０】本発明の実施例のシミュレーション結果（パケットロス率）を示す図である。
【符号の説明】
【００３５】
３１…送信端末、３２…現在時刻書込部、３３時刻読み取り部、３４…片方向遅延時間計算部、３５…増加率・減少率決定部、４１…受信端末、４２…時刻読み取り部、４３…情報書込部、４４…現在時刻書込部
【図１】
2005268979.tif 000005
【図２】
2005268979.tif 000006
【図３】
2005268979.tif 000007
【図４】
2005268979.tif 000008
【図５】
2005268979.tif 000009
【図６】
2005268979.tif 000010
【図７】
2005268979.tif 000011
【図８】
2005268979.tif 000012
【図９】
2005268979.tif 000013
【図１０】
2005268979.tif 000014