(57)【要約】【課題】データの転送遅延を最小化する。特に、短いデータの転送遅延を最小化する。【解決手段】ネットワークを介し複数の端末間で通信セッションを設定してデータの送受信を行う通信システムに用いる通信端末であって、 ネットワークの状態とは独立に送信帯域制御を行う第１送信帯域制御部１−６と、ネットワークの状態に応じて送信帯域制御を行う第２送信帯域制御部１−８と、第２送信帯域制御部による帯域制御に移行する際の送信帯域を決定する帯域推定部１−７とを有し、送信が開始されたときに前記第１送信帯域制御部による帯域制御を行い、その帯域制御に基づく送信パケットに対する応答パケットを基に、帯域推定部によって送信帯域が決定されると、前記第２送信帯域制御部による帯域制御を行う。【選択図】図１
2008219605.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介し複数の端末間で通信セッションを設定してデータの送受信を行う通信システムに用いる通信端末であって、 
前記ネットワークの状態とは独立に送信帯域制御を行う第１送信帯域制御部と、前記ネットワークの状態に応じて送信帯域制御を行う第２送信帯域制御部と、前記第２送信帯域制御部による帯域制御に移行する際の送信帯域を決定する帯域推定部とを有し、
送信が開始されたときに前記第１送信帯域制御部による帯域制御を行い、その帯域制御に基づく送信データに対する反応情報を基に、前記帯域推定部によって送信帯域が決定されると、前記第２送信帯域制御部による帯域制御を行うことを特徴とする通信端末。
【請求項２】
請求項１に記載の通信端末において、
前記反応情報は、前記第１送信帯域制御部によって制御され送信された送信データに対する確認応答の到着状態、又は該送信されたデータに係わる往復遅延時間若しくは片道遅延時間、又はネットワークから通知された送信帯域情報若しくはネットワーク内部の輻輳状態であり、
該反応情報を基に、前記第２送信帯域制御部による帯域制御に移行する際の最初の送信帯域を決定し、
前記第１送信帯域制御部によって制御され送信された送信データに対する確認応答パケットの到着によって、又は送信開始後一定時間経過することによって、又は送信開始後一定量のデータを送信することによって、又はパケット廃棄を検出することによって、又はネットワークからの輻輳情報の到着によって、前記第１送信帯域制御部による帯域制御から、前記第２送信帯域制御部による帯域制御に移行することを特徴とする通信端末。
【請求項３】
請求項１に記載の通信端末において、
初期に転送した一定量又は一定時間のデータに対する確認応答の到着速度から送信帯域を決定し、その後に送信したデータに関する往復遅延時間から前記送信帯域の調整を行い、前記調整された送信帯域を前記第２送信帯域制御部による帯域制御に移行する際の最初の送信帯域を決定することを特徴とする通信端末。
【請求項４】
ネットワークを介し複数の端末間で通信セッションを設定してデータの送受信を行う通信システムに用いる通信端末であって、 
前記ネットワークの状態とは独立に送信帯域制御を行う第１送信帯域制御部と、前記ネットワークの状態に応じて送信帯域制御を行う第２送信帯域制御部と、前記第２送信帯域制御部による帯域制御に移行する際の送信帯域を計測する帯域計測部とを有し、
送信が開始されたときに前記第１送信帯域制御部による帯域制御を行い、その送信パケットに対する反応情報を基に、適する帯域の計測方式を決定して適する帯域の計測を行い、その後第２送信帯域制御部による帯域制御を行うことを特徴とする通信端末。
【請求項５】
請求項４に記載の通信端末であって、
前記反応情報は、前記第１送信帯域制御部によって制御され送信されたデータに対する確認応答の到着状態、又は該送信されたデータに係わる往復遅延時間若しくは片道遅延時間、又はネットワークから通知された送信帯域情報若しくはネットワーク内部の輻輳状態であり、
該反応情報を基に、適する帯域の計測方式を決定し、
前記第１初期送信帯域制御部によって制御され送信された送信データに対する確認応答パケットの到着によって、又は送信開始後一定時間経過することによって、又は送信開始後一定量のデータを送信することによって、又はパケット廃棄を検出することによって、又はネットワークからの輻輳情報の到着によって、適する帯域の計測を開始し、
該適する帯域が決定されると、決定された帯域を送信帯域の初期値として、前記第２送信帯域制御部による帯域制御に移行することを特徴とする通信端末。
【請求項６】
請求項４に記載の通信端末であって、
初期に転送した一定量あるいは一定時間のデータに対する確認応答の到着速度から計測パケットの送信帯域を決定して計測パケットの送信を行い、これに対する確認応答の到着速度から前記第２送信帯域制御部による帯域制御に移行する際の最初の送信帯域を決定することを特徴とする通信端末。
【請求項７】
請求項１から３のいずれか１項に記載の通信端末であって、
前記第１送信帯域制御部が、送信開始時にはあらかじめ定められた第一の送信帯域を指示し、その後一定量のデータを出力した後、又は一定時間経過後には、あらかじめ定められた第二の送信帯域を指示することを特徴とする通信端末。
【請求項８】
請求項１から３のいずれか１項に記載の通信端末であって、
前記第１送信帯域制御部が、送信開始時にはあらかじめ定められた第一の帯域を指示し、その後一定量のデータを出力する毎に、又は一定時間経過する毎に、送信帯域を減少させていくことを特徴とする通信端末。
【請求項９】
請求項７又は８に記載の通信端末であって、
前記第一の帯域が、送信端末が接続されている回線の回線速度、又は過去行った通信における最大の送信帯域、又は送信端末の内部バス帯域、又は通信アプリケーションが想定する最大の通信速度によって定められることを特徴とする通信端末。
【請求項１０】
請求項７又は８に記載の通信端末であって、
前記第二の帯域が、回線帯域を想定される通信セッション数で割った帯域、又は過去行った通信における最小の送信帯域、又は通信アプリケーションが想定する最小の通信速度によって定められることを特徴とする通信端末。
【請求項１１】
請求項１から３のいずれか１項に記載の通信端末であって、
データの送信を一時停止した後、データの送信を再開する際、停止時間が一定時間以内であれば、前記第２送信帯域制御部による帯域制御を継続し、前記停止時間が一定時間以上であれば、前記第１送信帯域制御部による帯域制御に戻ることを特徴とする通信端末。
【請求項１２】
請求項７に記載の通信端末であって、
データの送信を一時停止した後、データの送信を再開する際、前記第一の帯域を、データ送信の停止時間とデータ送信停止前の送信帯域を用いて設定することを特徴とする通信端末。
【請求項１３】
請求項１２に記載の通信端末であって、
送信停止時間が短いほど、前記第一の帯域をデータ送信停止前の送信帯域に基づいて設定し、送信停止時間が長いほど、前記第一の帯域を回線速度に基づいて設定することを特徴とする通信端末。
【請求項１４】
請求項８に記載の通信端末であって、
データの送信を一時停止した後、データの送信を再開する際、送信帯域の減少幅を、データ送信の停止時間とデータ送信停止前の送信帯域を用いて設定することを特徴とする通信端末。
【請求項１５】
請求項１から１４のいずれか１項に記載の通信端末と、該通信端末とデータの送受信を行う他の通信端末とを有する通信システム。
【請求項１６】
ネットワークを介し複数の端末間で通信セッションを設定してデータの送受信を行う通信システムに用いる通信端末の輻輳制御方法であって、 
前記通信端末において、送信が開始されたときに前記ネットワークの状態とは独立に送信帯域制御を行い、その送信帯域制御に基づく送信データに対する反応情報を基に送信帯域を決定し、その後、前記ネットワークの状態に応じて送信帯域制御を行うことを特徴とする輻輳制御方法。
【請求項１７】
ネットワークを介し複数の端末間で通信セッションを設定してデータの送受信を行う通信システムに用いる通信端末の輻輳制御方法であって、 
前記通信端末において、送信が開始されたときに前記ネットワークの状態とは独立に送信帯域制御を行い、その送信帯域制御に基づく送信データに対する反応情報を基に、適する帯域の計測方式を決定して適する帯域の計測を行い、その後、前記ネットワークの状態に応じて送信帯域制御を行うことを特徴とする輻輳制御方法。
【請求項１８】
ネットワークを介し複数の通信端末間で通信セッションを設定してデータの送受信を行う通信システムの通信端末としてのコンピュータに、送信が開始されたときに前記ネットワークの状態とは独立に送信帯域制御を行い、その送信帯域制御に基づく送信データに対する反応情報を基に送信帯域を決定し、その後、前記ネットワークの状態に応じて送信帯域制御を行う処理を実行させるための輻輳制御用プログラム。
【請求項１９】
ネットワークを介し複数の通信端末間で通信セッションを設定してデータの送受信を行う通信システムの通信端末としてのコンピュータに、送信が開始されたときに前記ネットワークの状態とは独立に送信帯域制御を行い、その送信帯域制御に基づく送信データに対する反応情報を基に、適する帯域の計測方式を決定して適する帯域の計測を行い、その後、前記ネットワークの状態に応じて送信帯域制御を行う処理を実行させるための輻輳制御用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラムに関し、特に、高速回線においても低遅延な通信を実現する通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラムに関する。
【背景技術】
【０００２】
ネットワークを介した通信において、送受信端末間で低遅延な通信を行うためには、送信開始後、送信帯域が最適な帯域にまで達する時間を極力短くすることが求められる。送信データ量が多い場合、もともと通信にかかる時間が長いため、最適な送信帯域に達するのに時間がかかったとしても、その影響は比較的小さい。しかしながら、送信データ量が小さい場合、最適な送信帯域に達するのに時間がかかってしまうと、最適な送信帯域に達するまでに通信が終了してしまうため、通信にかかる遅延が長くなってしまう。
【０００３】
送信データ量が小さい場合、送信開始時の送信帯域が最適な値よりも小さい場合には、ネットワークの帯域を有効に活用できないために遅延時間が長くなる。逆に送信開始時の送信帯域が最適な値よりも大きい場合にはネットワークを輻輳させてしまうために遅延時間が長くなる。
【０００４】
最適な送信帯域はネットワークの状態によって定まるため、ネットワークの状態が不確定である送信開始直後にはこの最適な送信帯域を確定することが出来ない。そこで、輻輳制御方式においては、一般的に、以下のような技術を用いて、送信帯域を最適な値へと制御している。
【０００５】
第一の技術は、ネットワーク内のノードが送信端末に対して最適な送信帯域を通知する、あるいはネットワーク内のノードから送られてくる情報にもとづいて送信端末が最適な送信帯域を計算する技術である。本技術の例としては、非特許文献１に示されている方式があげられる。本方式では、理想的には、送受信端末間の往復伝播遅延時間に近い時間で、最適な送信帯域を得ることができる。
【０００６】
第二の技術は、送信開始後、一定量の計測パケットあるいはデータパケットを送信することで、最適な送信帯域を推定し、その後推定した送信帯域で送信を行うものである。例えば、非特許文献２に示されるTCP-Westwood方式や、特許文献１に示される方式や、特許文献２に示される方式では、TCP通信中に最適な通信帯域を推定し、送信帯域がこの通信帯域に短時間で収束するように輻輳制御を行うことで、送信開始後早期に送信帯域が最適な帯域に達する。また、特許文献３に示される方式では、TCP通信中に最適な通信帯域を推定し、送信帯域がこの通信帯域を越えないように輻輳制御することで、不必要な輻輳を防いでデータ転送遅延時間を短くする。これらの方式では、送信開始後一定量のTCPパケットを送信したのち、これらのパケットに対する受信確認パケット(ACKパケット)が到着するまではパケットの送信を停止し、その後ACKパケットの到着状況から最適な送信帯域を計算して通信を継続する。
【０００７】
第三の技術は、送信を行いながらネットワークの輻輳状況を観測し、その観測結果に応じて適応的に送信帯域を変化させることで、送信帯域を最適値に収束させていく技術である。たとえば、非特許文献３に示されるTCP-NewReno方式では、輻輳ウインドサイズがスロースタート閾値に達するまでは高速に送信帯域を増加させ、その後はパケット廃棄が発生するまで徐々に送信帯域を増加させる。そして、パケット廃棄時には一旦送信帯域を半減させてから、前記のように再び送信帯域を増加させることで、送信帯域が最適な帯域の近辺で変動するように制御する。
【特許文献１】特開2006-173961号公報
【特許文献２】特願2004-090492号公報
【特許文献３】特開2006-279283号公報
【非特許文献１】"Processor Sharing Flows in the Internet" (Nandita Dukkipati, Masayoshi Kobayashi, Rui Zhang-Shen, Nick McKeown, Thirteenth International Workshop on Quality of Service (IWQoS))
【非特許文献２】Kenshin Yamada, Ren Wang, and M.Y. Sanadidi and Mario Gerla " TCP Westwood with agile probing: Dealing with dynamic, large, leaky pipes ", In Processing of IEEE ICC. volume 2. pages 1070-1074. 2004
【非特許文献３】The NewReno Modification to TCP's Fast Recovery Algorithm, RFC2582, Internet Engineering Task Force (IETF)
【発明の開示】
【発明が解決しようとする課題】
【０００８】
第一の従来技術の問題点は、ネットワーク内の全てのノードからの情報を得る必要があるため、送信開始から最適な送信帯域を得るまでには、最低でも1往復遅延時間分の時間がかかってしまうことである。また、本技術においては、ネットワークノードが送信端末に対して、送信帯域に関する情報を送信する必要があるため、全てのネットワークノードに対応する機能を実装する必要があり、実環境での利用が容易ではないことである。
【０００９】
第二の従来技術の問題点は、最適な送信帯域を推定するために時間がかかり、そのため最適な送信帯域を得るまでに第一の従来技術よりも時間がかかってしまうことである。また、別の問題点は、送信開始直後には、ある一定量のパケットを送信して帯域計測を行うため、計測期間が限られており、推定された帯域は必ずしも最適な値ではないことである。一般的に、計測パケット数が少ない場合には、最適な値よりも大きな値を推定する傾向がある。
【００１０】
第三の従来技術の問題点は、ネットワークの状態を計測しながら適応的に送信帯域を変更するため、最適な送信帯域を得るまでに第二の従来技術よりもさらに時間がかかってしまうことである。
【００１１】
そこで、本発明の第一の目的は、送信開始直後から、最初のフィードバック情報を受け取るまでの時間、すなわち1往復転送時間の送信帯域の制御を最適化することにより、短いデータの転送遅延を小さくすることである。
【００１２】
本発明の第二の目的は、ネットワークノードからの情報を用いることなく、また限られた計測パケットを用いて、高速に最適な送信帯域を求めることである。
【課題を解決するための手段】
【００１３】
本発明の通信端末は、ネットワークを介し複数の端末間で通信セッションを設定してデータの送受信を行う通信システムに用いる通信端末であって、 
ネットワークの状態とは独立に送信帯域制御を行う第１送信帯域制御部と、ネットワークの状態に応じて送信帯域制御を行う第２送信帯域制御部と、前記第２送信帯域制御部による帯域制御に移行する際の送信帯域を決定する帯域推定部とを有し、
送信が開始されたときに前記第１送信帯域制御部による帯域制御を行い、その帯域制御に基づく送信データに対する反応情報を元に、前記帯域推定部によって送信帯域が決定されると、前記第２送信帯域制御部による帯域制御を行うことを特徴とする。
【００１４】
また本発明の通信端末は、ネットワークを介し複数の端末間で通信セッションを設定してデータの送受信を行う通信システムに用いる通信端末であって、 
ネットワークの状態とは独立に送信帯域制御を行う第１送信帯域制御部と、ネットワークの状態に応じて送信帯域制御を行う第２送信帯域制御部と、前記第２送信帯域制御部による帯域制御に移行する際の送信帯域を計測する帯域計測部とを有し、
送信が開始されたときに前記第１送信帯域制御部による帯域制御を行い、その送信パケットに対する反応情報を基に、適する帯域の計測方式を決定して適する帯域の計測を行い、その後第２送信帯域制御部による帯域制御を行うことを特徴とする。
【００１５】
本発明の輻輳制御方法は、ネットワークを介し複数の端末間で通信セッションを設定してデータの送受信を行う通信システムに用いる通信端末の輻輳制御方法であって、 
前記通信端末において、送信が開始されたときにネットワークの状態とは独立に送信帯域制御を行い、その送信帯域制御に基づく送信データに対する反応情報を基に送信帯域を決定し、その後、ネットワークの状態に応じて送信帯域制御を行うことを特徴とする。
【００１６】
また本発明の輻輳制御方法は、ネットワークを介し複数の端末間で通信セッションを設定してデータの送受信を行う通信システムに用いる通信端末の輻輳制御方法であって、 
前記通信端末において、送信が開始されたときにネットワークの状態とは独立に送信帯域制御を行い、その送信帯域制御に基づく送信データに対する反応情報を基に、適する帯域の計測方式を決定して適する帯域の計測を行い、その後、ネットワークの状態に応じて送信帯域制御を行うことを特徴とする。
【００１７】
本発明の輻輳制御用プログラムは、ネットワークを介し複数の通信端末間で通信セッションを設定してデータの送受信を行う通信システムの通信端末としてのコンピュータに、送信が開始されたときにネットワークの状態とは独立に送信帯域制御を行い、その送信帯域制御に基づく送信データに対する反応情報を基に送信帯域を決定し、その後、ネットワークの状態に応じて送信帯域制御を行う処理を実行させるための輻輳制御用プログラムである。
【００１８】
また本発明の輻輳制御用プログラムは、ネットワークを介し複数の通信端末間で通信セッションを設定してデータの送受信を行う通信システムの通信端末としてのコンピュータに、送信が開始されたときにネットワークの状態とは独立に送信帯域制御を行い、その送信帯域制御に基づく送信データに対する反応情報を基に、適する帯域の計測方式を決定して適する帯域の計測を行い、その後、ネットワークの状態に応じて送信帯域制御を行う処理を実行させるための輻輳制御用プログラムである。
【発明の効果】
【００１９】
本発明によれば、以下に述べるような効果が達成される。
【００２０】
第一に、送信開始後から、最初のフィードバック情報を受け取るまでの時間内、すなわち送信開始後1往復転送時間内においても、初期送信帯域制御部によって送信帯域の制御を行うことにより、短いデータの転送遅延を小さくできる。
【００２１】
第二に、ネットワークノードからの情報を用いることなく、また限られた計測パケットを用いて、高速に適する送信帯域を求めることができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００２３】
本発明の第１の実施形態は、ネットワークを介し複数の端末間で通信セッションを設定してデータの送受信を行う通信システムに用いる通信端末であって、 
ネットワークの状態とは独立に送信帯域制御を行う第１送信帯域制御部と、ネットワークの状態に応じて送信帯域制御を行う第２送信帯域制御部と、前記第２送信帯域制御部による帯域制御に移行する際の送信帯域を決定する帯域推定部とを有し、
送信が開始されたときに前記第１送信帯域制御部による帯域制御を行い、その帯域制御に基づく送信データに対する反応情報を基に、前記帯域推定部によって送信帯域が決定されると、前記第２送信帯域制御部による帯域制御を行うことを特徴とする通信端末である。
【００２４】
反応情報としては、例えば、前記第１送信帯域制御部によって制御され送信された送信データに対する確認応答の到着状態、又は該送信されたデータに係わる往復遅延時間若しくは片道遅延時間、又はネットワークから通知された送信帯域情報若しくはネットワーク内部の輻輳状態がある。
【００２５】
第１送信帯域制御部による帯域制御から、前記第２送信帯域制御部による帯域制御に移行は、例えば、前記第１送信帯域制御部によって制御され送信された送信データに対する確認応答パケットの到着によって、又は送信開始後一定時間経過することによって、又は送信開始後一定量のデータを送信することによって、又はパケット廃棄を検出することによって、又はネットワークからの輻輳情報の到着を契機として行われる。
【００２６】
送信帯域の決定は、例えば、初期に転送した一定量あるいは一定時間のデータに対する確認応答の到着速度から送信帯域を決定し、その後に送信したデータに関する往復遅延時間から前記送信帯域の調整を行い、前記調整された送信帯域を前記第２送信帯域制御部による帯域制御に移行する際の最初の送信帯域を決定することで行われる。
【００２７】
第１送信帯域制御部は、送信開始時にはあらかじめ定められた第一の送信帯域を指示し、その後一定量のデータを出力した後、又は一定時間経過後には、あらかじめ定められた第二の送信帯域を指示することができる。データの送信を一時停止した後、データの送信を再開する際、前記第一の帯域を、データ送信の停止時間とデータ送信停止前の送信帯域などを用いて設定することができる。その場合、送信停止時間が短いほど、前記第一の帯域をデータ送信停止前の送信帯域に基づいて設定し、送信停止時間が長いほど、前記第一の帯域を回線速度に基づいて設定することができる。また、第１送信帯域制御部が、送信開始時にはあらかじめ定められた第一の帯域を指示し、その後一定量のデータを出力する毎に、又は一定時間経過する毎に、送信帯域を減少させていくことができる。データの送信を一時停止した後、データの送信を再開する際、送信帯域の減少幅を、データ送信の停止時間とデータ送信停止前の送信帯域などを用いて設定するができる。
【００２８】
前記第一の帯域は、例えば、送信端末が接続されている回線の回線速度、又は過去行った通信における最大の送信帯域、又は送信端末の内部バス帯域、又は通信アプリケーションが想定する最大の通信速度によって定められる。前記第二の帯域は、例えば、回線帯域を想定される通信セッション数で割った帯域、又は過去行った通信における最小の送信帯域、又は通信アプリケーションが想定する最小の通信速度によって定められる。
【００２９】
本発明において、データの送信を一時停止した後、データの送信を再開する際、停止時間が一定時間以内であれば、前記第２送信帯域制御部による帯域制御を継続し、前記停止時間が一定時間以上であれば、前記第１送信帯域制御部による帯域制御に戻るように制御することができる。
【００３０】
本発明の第２の実施形態は、ネットワークを介し複数の端末間で通信セッションを設定してデータの送受信を行う通信システムに用いる通信端末であって、 
ネットワークの状態とは独立に送信帯域制御を行う第１送信帯域制御部と、ネットワークの状態に応じて送信帯域制御を行う第２送信帯域制御部と、前記第２送信帯域制御部による帯域制御に移行する際の送信帯域を計測する帯域計測部とを有し、
送信が開始されたときに前記第１送信帯域制御部による帯域制御を行い、その送信パケットに対する反応情報を基に、適する帯域の計測方式を決定して適する帯域の計測を行い、その後第２送信帯域制御部による帯域制御を行うことを特徴とする通信端末である。
【００３１】
反応情報を、前記第１送信帯域制御部によって制御され送信されたデータに対する確認応答の到着状態、又は該送信されたデータに係わる往復遅延時間若しくは片道遅延時間、又はネットワークから通知された送信帯域情報若しくはネットワーク内部の輻輳状態とし、該反応情報を基に、帯域の計測方式を決定し、前記第１初期送信帯域制御部によって制御され送信された送信データに対する確認応答パケットの到着によって、又は送信開始後一定時間経過することによって、又は送信開始後一定量のデータを送信することによって、又はパケット廃棄を検出することによって、又はネットワークからの輻輳情報の到着によって、帯域の計測を開始し、該帯域が決定されると、決定された帯域を送信帯域の初期値として、前記第２送信帯域制御部による帯域制御に移行することができる。
【００３２】
初期に転送した一定量あるいは一定時間のデータに対する確認応答の到着速度から計測パケットの送信帯域を決定して計測パケットの送信を行い、これに対する確認応答の到着速度から前記第２送信帯域制御部による帯域制御に移行する際の最初の送信帯域を決定することができる。
【００３３】
本発明の第３の実施形態は、第１又は第２の実施形態の通信端末と、その通信端末とデータの送受信を行う他の通信端末とを有する通信システムである。
【００３４】
以上説明した第１及び第２の実施形態の構成は通信端末における輻輳制御方法、輻輳制御用プログラムとしても実現できる。
【００３５】
以下、具体的に本発明の実施例について説明する。なお、「最適帯域」は最適帯域に近い範囲及び最適帯域でなくとも好ましい帯域と判断される帯域も含まれる。
【実施例１】
【００３６】
本発明の第１の実施例について図面を参照して説明する。
【００３７】
（構成の説明）
図１は本実施例による通信端末1の構成を示すブロック図である。通信端末1は送信データを発生するデータ発生部1-1と、通信データをネットワークに出力するパケット送信部1-2、通信相手の通信端末からの応答確認パケット(ACKパケット)を受信するパケット受信部1-3、パケット送信部1-2に対して送信帯域を指示する輻輳制御部1-4で構成される。
【００３８】
輻輳制御部1-4は、送信開始初期の帯域制御を行う第１送信帯域制御部となる初期送信帯域制御部1-6、ネットワークの状態を推定して最適な送信帯域を決定する最適帯域推定部1-7、定常状態における送信帯域の制御を行う第２送信帯域制御部となる送信帯域制御部1-8、初期送信帯域制御部1-6から指示される送信帯域と、最適帯域推定部1-7で推定される最適帯域と、送信帯域制御部1-8から指示される送信帯域から、パケット送信部1-2に指示する送信帯域を決定する送信帯域決定部1-5、ACKパケットを受信する毎に往復遅延時間を計測するRTT計測部1-9、で構成される。
【００３９】
（動作の説明） 
図２は、本実施例の動作を説明するフローチャートである。ここでは、図１及び図２を参照して、本実施例の動作について説明する。
【００４０】
データ発生部1-1において送信データが発生すると、輻輳制御部1-4が指定する送信帯域に従って、パケット送信部1-2がその送信データをパケット化して送信する。送信したパケットに対するACKパケットが通信相手の通信端末から到着すると、パケット受信部1-3では、その到着をパケット送信部1-2と最適帯域推定部1-7とRTT計測部１-9に通知する。RTT計測部1-9では、パケットに関する往復遅延時間(RTT)と、送信開始からの往復遅延時間の最小値(RTTmin)を計測する。ここで、RTTとは、ネットワーク通信において、1 つのパケットが送信元から宛先まで行き、再び戻ってくるまでの時間をいう。なお、本実施形態においては、遅延として往復遅延時間(RTT)を用いるが、代わりに片道遅延時間を用いても良い。片道遅延時間の導出方法としては、例えば、送信側の通信端末がパケット送信時にパケットヘッダ中に送信時刻を書き込み、このパケットを受信した受信側の通信端末が前記送信時刻とパケット受信時刻の差分を片道遅延として計算し、この計算値をACKパケットに書き込んで送信側の通信端末に通知するといった方法等が利用可能である。
【００４１】
輻輳制御部1-4において、送信開始時時には、初期送信帯域制御部1-6が以下のように送信帯域の制御を行う。
【００４２】
まず、送信開始直後は、初期送信帯域制御部1-6が送信帯域をBMAXに設定する(ステップS1)。BMAXの典型的な値は、送信端末が接続されている回線の回線速度である。そして、一定個数パケットを出力し終えると(ステップS2)、初期送信帯域制御部1-6が送信帯域をBMINに設定する(ステップS3)。BMINはネットワークが輻輳中であっても問題ない程度に小さい値に設定する。
【００４３】
次に、ACKパケットの到着が始まると、帯域推定部1-7において、以下のように最適な送信帯域を計算する。まず、送信帯域をBMAXに設定するステップS1の間に送信したパケットに対するACKパケットが全て帰ってくるまでは、ACKパケットを受信する毎に(ステップS4)、以下の式(1)に従って、送信帯域を計算する(ステップS6)。このとき、もしパケットロスを検出すれば(ステップS5)、送信帯域を一定割合減じて(ステップS15)、定常状態の制御(ステップS12以降)へと移る。
送信帯域 ＝ ACKパケットによって受信確認できた送信データ量 /
(最後にACKパケットを受信した時間 - 最初にACKパケットを受信した時間)
・・・式(1)
そして、送信帯域をBMINに設定するステップS3の間に送信したパケットに対するACKパケットが全て帰ってくるまでは、ACKパケットを受信する毎に(ステップS8)、以下の式(2)に従って、送信帯域を計算する(ステップS10)。このとき、もしパケットロスを検出すれば(ステップS9)、送信帯域を一定割合減じて(ステップS15)、定常状態の制御(ステップS12以降)へと移る。
送信帯域 ＝ 式(1)で最後に計算した送信帯域 ×
(ステップS4で計測した最大のRTT + S7で計測した最大のRTT − RTTmin) / RTTmin
・・・式(2)
以降は、送信帯域制御部1-8において、以下のように送信帯域の制御を行う。ACKパケットを受信する毎に(ステップS12)、以下の式(3)に従って、適宜送信帯域を更新する(ステップS14)。もし、パケットロスを検出すれば、送信帯域を一定割合減じる(ステップS15)。
送信帯域 ＝ 前回計算の送信帯域 + 
(α/RTT − (RTT-RTTmin)/RTT×前回計算の送信帯域) × 時定数 
・・・式(3)
時定数としては、例えば、(今回計算する時刻 - 前回計算した時刻) × RTTなどの値を用いる。また、式(3)の代りに以下の式を用いても、同様の結果が得られる。
送信帯域 ＝ ACKから計算される受信端末での受信帯域 + α/RTT × 時定数
・・・式(3’)
αの値を固定値とすれば、式(3)は前記TCP-FAST方式と同様の輻輳制御方式となる。
【００４４】
本実施例においては、また、式(3)の代りに、従来提案されている任意の輻輳制御方式による制御式を用いても構わない。
【００４５】
一定時間通信が停止してその後通信を再開する場合、停止時間が短ければ、定常状態の制御(ステップS12以降)から制御を再開するが、停止時間が一定以上長ければ再び最初(ステップS1)から制御を行うこととする。
本実施例では、送信開始時に最適な帯域を計測してすぐに送信帯域を最適な値まで引き上げるため、ネットワークの状態を調べながら徐々に送信帯域を増加させる方式に比べて、高速に通信することが出来る。
【００４６】
最適な送信帯域を計測するためには、通信開始直後BMAXでという大きな帯域でデータを出力する必要がある。本実施例においては、計測に必要な数のパケットを送信し終えるとすぐに送信帯域を最小値BMINまで引き下げるため、多数のフローが同時に通信を開始しても、ネットワークを輻輳させる可能性が少ない。
【００４７】
また、本実施例では、計測に必要なパケットを送信し終えた後、送信を停止するのではなく、低い帯域BMINでパケットを送信することでネットワークの観測は継続する。従って、計測に必要なパケットを送信し終えてすぐに送信を停止すると、定常状態での制御に移行後しばらくはACKパケットが帰ってこずすぐにはネットワークの状態が得られないが、本実施例では定常状態の制御に移行した直後であっても帯域BMINで計測しておいたネットワークの状態をすぐに得ることができ、より安定的に輻輳制御を行うことが出来る。
【実施例２】
【００４８】
本発明の第２の実施例について図面を参照して説明する。本実施例は、第１の実施例と同様の構成であるが、初期送信帯域制御部の動作が異なる。以下では初期送信帯域制御部の動作の相違点について図３を用いて説明する。
【００４９】
（動作の説明） 
図３は、本実施例の動作を説明するフローチャートである。
【００５０】
本実施例においても、初期送信帯域制御部において、まず送信開始直後には、送信帯域をBMAXに設定する(ステップS21)。その後は、ACKパケットを受信するまでは（ステップS22）、1パケット出力するごとに(ステップS23)、送信帯域を減少させていく(ステップS24)。以下のような式(5)によって、送信帯域を更新する。
【００５１】
送信帯域 ＝ 前回計算の送信帯域 × 定数  ・・・式(5)
ここで、定数は、ある固定値であっても良いし、送信帯域の更新間隔に依存する可変の値であっても良い。そして、最初のACKパケットを受信すると、第１の実施例のステップS5へ移る、その後ステップS4からS7の処理を行う。送信したパケットに対する全ACKパケットを受信した場合はステップS12以降の処理へ移る。またパケットロス（パケット廃棄）を検出したときはステップS15へ移る。
【００５２】
本実施例の効果は、第一の実施例の効果と同様である。本実施例では、帯域計測時、連続的に送信帯域を変化させているため、帯域計測に当たって送信パケット数を管理する必要がなく、実装がより容易である。
【実施例３】
【００５３】
本発明の第３の実施例について図面を参照して説明する。
【００５４】
（構成の説明）
図４は本実施例による端末３の構成を示すブロック図である。本構成は、第１の実施例の構成と比較して、輻輳制御部3-4において、初期送信帯域制御部1-6に対して動的にパラメータの変更を行うパラメータ変更部3-10が加わった構成である。その他の構成は輻輳制御部1-4と同じであるため同一符号を付して説明を省略する。
（動作の説明）
本実施例の動作は、送信開始から送信中の動作は、第１の実施例の動作と同様である。送信終了後に、あるいは送信停止後に、再び送信を開始する際に、パラメータ変更部3-10が停止時間の長さや停止前の送信帯域に従って、以下のように初期送信帯域制御部1-6の動作パラメータを動的に変更する。
送信開始時の送信帯域BMAXを以下の式(6)のように変更する。
BMAX ＝ (1 − 1/exp(停止時間)) × 回線速度 + 
1/exp(停止時間) × 停止前の送信帯域
・・・式(6)
もしくは、送信帯域BMAXを変更せず、(ステップS2)における送信パケット数を以下の式(7)のように変更する。
送信パケット数 ＝ (1 − 1/exp(停止時間)) × 送信パケット数初期値 +
1/exp(停止時間) × 送信パケット数初期値 × 停止前の送信帯域/回線容量
・・・式(7)
また、送信が、送信帯域をBMAXで送信中に停止し、送信帯域が見計算であるときに停止した場合、このとき送信したパケットに対するACKが到着するのを待って、式(1)により送信帯域を計算しておき、送信が再開されるのに備える。
【００５５】
以上の例では、前回の送信における送信帯域に基づいて式(6)あるいは式(7)の計算を行ったが、前回以降の複数回の送信における送信帯域に基づいて計算を行っても良い。
【００５６】
本実施例では、第１の実施例と比べて、送信開始時に最適な帯域を計測するためのパケット数を少なくすることが出来る。もし前回の通信を終えてからすぐに次の通信を行う場合、この間のネットワークの状態の変化は少ないと考えられるため、前回の通信で得られていた帯域情報を元に次の通信の送信帯域BMAXを少なくすることが出来る。前回の通信終了からの時間の経過が大きくなれば、その間のネットワークの状態の変化は大きいと考えられるため、前記経過時間に従ってBMAXを大きい値へと戻してゆけばよい。
【実施例４】
【００５７】
本発明の第４の実施例について図面を参照して説明する。
【００５８】
（構成の説明）
図５は本実施例による通信端末４の構成を示すブロック図である。本実施例は第１の実施例と比べて、通信端末４の輻輳制御部4-4にRTT計測部及び最適帯域推定部が設けられておらず、ネットワークから指示される送信帯域を取得する送信帯域取得部4-7が設けられている点が異なる。送信帯域取得部4-7で取得した送信帯域に基づいて、送信帯域制御部1-8において送信帯域を制御する。また、第３の実施例と同様に、初期送信帯域制御部1-6に対して動的にパラメータの変更を行うパラメータ変更部4-10が設けられている。
【００５９】
（動作の説明）
図６は、本実施例の動作を説明するフローチャートである。ここでは、図５及び図６を参照して、本実施例の動作について説明する。
【００６０】
データ発生部1-1において送信データが発生すると、輻輳制御部4-4が指定する送信帯域に従って、パケット送信部4-2がその送信データをパケット化して送信する。送信したパケットに対するACKパケットが通信相手の通信端末から到着すると、パケット受信部１-3では、その到着をパケット送信部１-2と送信帯域取得部4-7に通知する。
【００６１】
輻輳制御部4-4において、図３のフローチャートと同様に、送信開始時には、初期送信帯域制御部1-6が以下のように送信帯域の制御を行う。まず、送信開始直後は、送信帯域をBMAXに設定する(ステップS21)。その後は、ACKパケットを受信するまでは（ステップS22）、1パケット出力するごとに(ステップS23)、例えば式(5)のような式を用いて、送信帯域を減少させていく(ステップS24)
ACKパケットの到着が始まると、ACKパケットによってネットワークから指示された送信帯域を移行当初の送信帯域と設定して、送信帯域制御部1-8による帯域制御に移行する。以降は、ACKパケットを受信する毎に（ステップS36）ネットワークから指示された帯域に従って、送信帯域を変更する(ステップS35)。一旦送信が停止し、その後送信を再開する場合は、前記式(6)に従って送信帯域BMAXを変更する。
【００６２】
本実施例では、ネットワークの状態をACKパケットによって明示的に得ることが出来るため、第１の実施例と比べて、正確に輻輳制御を行うことが出来る。
【００６３】
また、ネットワークの状態をACKパケットによって明示的に得る従来の方式と比較すると、従来の方式では、最初のネットワークの状態を得るまでは大きな帯域で送信できず、特に短いデータの送信時間が長くなる。一方本実施例の方式では、ネットワークの状態が得られていないときでも、前回の通信終了時の帯域やそれからの経過時間、また今回通信開始してからの経過時間を用いて積極的に帯域制御を行うため、特に短いデータの通信時間を短くすることが出来る。
【実施例５】
【００６４】
本発明の第５の実施例について図面を参照して説明する。
【００６５】
（構成の説明）
図７は本実施例による通信端末5の構成を示すブロック図である。本実施例は第１の実施例と比べて、通信端末5の輻輳制御部5-4が、ネットワーク状態を推定するための計測パケットを出力する最適帯域計測部5-10を有している点が異なる。そして、送信帯域決定部1-5は初期送信帯域制御部１-6から指示される送信帯域と、最適帯域計測部5-10で指示される計測パケットの送信帯域と、最適帯域推定１-7で推定される最適帯域と、送信帯域制御部１-8から指示される送信帯域から、パケット送信部１-2に指示する送信帯域を決定する。
【００６６】
（動作の説明） 
図８は、本実施例の動作を説明するフローチャートである。ここでは、図７及び図８を参照して、本実施例の動作について説明する。
【００６７】
データ発生部1-1において送信データが発生すると、輻輳制御部5-4が指定する送信帯域に従って、パケット送信部1-2が送信データをパケット化して送信する。送信したパケットに対するACKパケットが通信相手の通信端末から到着すると、パケット受信部1-3では、その到着をパケット送信部1-2と最適帯域推定部1-7と最適帯域計測部5-10に通知する。RTT計測部1-9では、該パケットに関する往復遅延時間(RTT)と、送信開始からの往復遅延時間の最小値(RTTmin)を計測する。
【００６８】
輻輳制御部5-4において、送信開始時時には、初期送信帯域制御部1-6が以下のように送信帯域の制御を行う。まず、送信開始直後は、送信帯域をBMAXに設定する(ステップS1)。BMAXの典型的な値は、送信端末が接続させている回線の回線速度である。そして、一定個数パケットを出力し終えると(ステップS2)、パケットの送信を一旦停止する (ステップS43)。
【００６９】
次に、ACKパケットの到着が始まると(ステップS4)、最適帯域計測部5-10において、S2までに送信したパケットに対する受信速度を以下のように計測する(ステップS46)。ただし、このとき、もしパケットロスを検出すれば(ステップS5)、送信帯域をS46で計測した受信帯域の半分に設定して(ステップS15)、定常状態の制御(ステップS12以降)へと移る。
受信帯域 ＝ S1以降でACKパケットによって受信確認できた送信データ量 /
(ステップS1で最後にACKパケットを受信した時間 − 最初にACKパケットを受信した時間)
・・・式(1)
そして、ステップS1の間に送信したパケットに対するACKパケットが全て帰ってくると、計測した受信帯域を送信帯域として継続的にパケット出力を開始する(ステップS48)。これらのパケットは、最適帯域を計算するための計測パケットとして用いられる。ステップS8,S9,S50では、ステップS4,S5,S46と同様にして、受信帯域を計測する。
【００７０】
ステップS48以降に出力したデータに関して1RTT分のACKを受信すると(ステップS51)、計測した受信帯域を送信帯域の初期値とし(ステップS52)、ステップS12以降の定常状態の処理に移行する。
【００７１】
ステップS12以降の定常状態における送信帯域制御は、第１の実施例と同様である。
本実施例では、送信開始時に最適な帯域の計測を２回行うことにより、第一の実施例と比べて、前記帯域を正確に計測することが出来る。
【００７２】
第一回目の計測は第一の実施例と同様の計測であり、少数のパケットで計測を行うため、計測精度はあまり高くない。そして本実施例では、前記計測結果によって、もう一度に帯域計測を行う。２回目の帯域計測では、１回目の計測で得た計測結果によって計測時の送信帯域を最適化するため、１回目の計測より長い期間計測してもネットワークへの負荷は小さい。従って、２回目の計測では長い時間の計測が可能であり、正確な計測が可能である。
【実施例６】
【００７３】
本発明の第６の実施例について図面を参照して説明する。
【００７４】
（構成の説明）
図９は本実施例による通信システムの構成を示すブロック図である。本通信システムは、送信端末となる通信端末6-1、受信端末となる通信端末6-2、ネットワーク6-3で構成される。通信端末6-1の構成は、第１の実施例における通信端末1と同様であるため、ここでは説明を省略する。なお、第２〜第５の実施例に示した通信端末のいずれかを用いることもできる。通信端末6-2は、受信パケットから通信データを再構成するデータ再構成部6-5、再構成されたデータを受信し処理するデータ受信部6-4、ACKパケットを生成して通信端末6-1に返送するACK生成部6-6、で構成される。
【００７５】
(動作の説明) 
図９を参照して、本実施例の動作について説明する。
【００７６】
送信端末5-1から送信されたパケットは、ネットワーク5-3を介して、受信端末5-3に到着する。
【００７７】
データ再構成部6-5は、受信したパケットからデータを取り出し、元のデータを再構成し、データ受信部6-4へと送る。データ受信部6-4は、受け取ったデータを様々な受信アプリケーションによって処理する。
【００７８】
データ再構成部6-5は、受信完了したデータの番号をACK生成部6-6に通知する。そして、ACK生成部6-6は前記番号に基づいてACKパケットを生成し、通信端末6-1へと送信する。ACKパケットによって通知されるデータの番号は、通信端末6-2によって受信確認されたデータの番号であり、この番号およびこの番号以前のデータは通信端末6-2で確かに受信されたこととなる。従って、通信端末6-1がACKパケットを受信すると、このパケットに書かれている番号までのデータを再送することはないため、これらのデータは通信端末6-1側で破棄してもよい。送信経路上でパケット廃棄が発生すると、通信端末6-2は同じデータの番号を複数のACKに対して書き込むことで、この番号以降のデータを受信していないことを通信端末6-1に通知し、再送を促す。また、別の方法として、通信端末6-2側から通信端末6-1側に対して明示的にパケット廃棄があったことを示すNACK (Negative ACK)を送信しても良い。
【００７９】
以上説明した各実施例の通信端末は、専用ＩＣ等を用いたハードウエアで構成できるが、コンピュータを用いたソフトウエアで実現することができる。すなわち、例えば、図１０に示すようなコンピュータで図１、図４、図５、図７のいずれかの通信端末を構成し、図２、図３、図６、図８で示したフロー又は各実施例の動作を記述したプログラムにより通信端末の機能を実現することができる。かかるプログラムをハードディスク装置等のディスク装置１０３やＲＯＭ等の記憶装置（ここではディスク装置を示している）に記憶し、ＣＰＵ１０５により通信端末の機能を実現するプログラムが実行される。入力部１０２はキーボード等の入力デバイスとなる。送受信部１０１はパケット送信部とパケット受信部に対応するものである。ＬＣＤ（液晶表示装置）１０７は情報処理状況や判定結果を表示するものである。１０４はデータバス等のバス、１０６はＣＰＵ１０５の情報処理に必要な情報を記憶するＤＲＡＭ等のメモリを示す。
【産業上の利用可能性】
【００８０】
本発明は、通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラムに関し、特に、高速回線においても低遅延な通信を実現する通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラムに適用できる。
【図面の簡単な説明】
【００８１】
【図１】本発明の第１の実施例による端末の構成を示すブロック図である。
【図２】本発明の第１の実施例の動作を示すフローチャートである。
【図３】本発明の第２の実施例の動作を示すフローチャートである。
【図４】本発明の第３の実施例による端末の構成を示すブロック図である。
【図５】本発明の第４の実施例による端末の構成を示すブロック図である。
【図６】本発明の第４の実施例の動作を示すフローチャートである。
【図７】本発明の第５の実施例による端末の構成を示すブロック図である。
【図８】本発明の第５の実施例の動作を示すフローチャートである。
【図９】本発明の第６の実施例によるシステムの構成を示すブロック図である。
【図１０】コンピュータの構成の一例を示すブロック図である。
【符号の説明】
【００８２】
１〜５、６−１、６−２  通信端末
１−１  データ発生部
１−２  パケット送信部
１−３  パケット受信部
１−４、３−４、４−４、５−４  輻輳制御部
１−５  送信帯域決定部
１−６  初期送信帯域制御部
１−７  最適帯域推定部
１−８  送信帯域制御部
１−９  RTT計測部
３−１０  パラメータ変更部
５−１０  最適帯域計測部
【図１】
2008219605.tif 000003
【図２】
2008219605.tif 000004
【図３】
2008219605.tif 000005
【図４】
2008219605.tif 000006
【図５】
2008219605.tif 000007
【図６】
2008219605.tif 000008
【図７】
2008219605.tif 000009
【図８】
2008219605.tif 000010
【図９】
2008219605.tif 000011
【図１０】
2008219605.tif 000012