(57)【要約】【課題】並列模擬パラメータを適切に制御し、有効にスループットを向上できる送信レート制御装置を提供する。【解決手段】コネクションの中に模擬された複数の並列的なコネクションを併用してデータを送信する際の送信レートを制御する送信レート制御装置であって、通信ネットワークの通信状態を監視する通信ネットワーク状態監視手段３と、複数の並列的なコネクションの数を特定可能な並列模擬パラメータを、通信状態を示す通信状態情報を基に増減させる並列模擬パラメータ変更手段４と、並列模擬パラメータ変更手段４による並列模擬パラメータを基に送信レートを決定する輻輳制御手段２とを備える。【選択図】図８
2015015555.tif 000002
【特許請求の範囲】
【請求項１】
コネクションの中に模擬された複数の並列的なコネクションを併用してデータを送信する際の送信レートを制御する送信レート制御装置であって、
通信ネットワークの通信状態を監視する通信ネットワーク状態監視手段と、
前記複数の並列的なコネクションの数を特定可能な並列模擬パラメータを、前記通信状態を示す通信状態情報を基に増減させる並列模擬パラメータ変更手段と、
前記並列模擬パラメータ変更手段による前記並列模擬パラメータを基に前記送信レートを決定する輻輳制御手段とを備える
ことを特徴とする送信レート制御装置。
【請求項２】
通信ネットワーク状態監視手段は、過去の通信状態情報を示す値と、記憶した通信状態情報の発生頻度、発生間隔、通信状態の統計値のうちの１つ以上を算出して記憶し、
並列模擬パラメータ変更手段は、前記通信ネットワーク状態監視手段が記憶する値に基づいて並列模擬パラメータを増加させるか否かを判断する
請求項１記載の送信レート制御装置。
【請求項３】
通信ネットワーク状態監視手段は、正規化した往復遅延の分散値、往復遅延とその最小値との差分にスループットを乗じた推定キュー量を算出して記憶し、
並列模擬パラメータ変更手段は、通信状態情報または算出された値と予め設定された閾値とを比較して、並列模擬パラメータを増加させるか否かを判断する
請求項２記載の送信レート制御装置。
【請求項４】
通信ネットワーク状態監視手段は、受信したＡＣＫパケット内の情報を基にデータ送信におけるバーストロスの発生を検知し、
並列模擬パラメータ変更手段は、前記バーストロスの発生に基づいて並列模擬パラメータを減少させる
請求項１から請求項３のうちのいずれか１項に記載の送信レート制御装置。
【請求項５】
通信ネットワーク状態監視手段は、ＳＡＣＫ（Ｓｅｌｅｃｔｉｖｅ  ＡＣＫｎｏｗｌｅｄｇｅｍｅｎｔ）またはＮＡＣＫ（Ｎｅｇａｔｉｖｅ  ＡＣＫｎｏｗｌｅｄｇｅｍｅｎｔ）によって示されたパケット数またはバイト数の欠落量、または連続して到着した重複ＡＣＫのパケット数またはバイト数によって連続パケットロス量を計測し、前記連続パケットロス量が予め設定された閾値を超えた場合に、バーストロスが発生したと判定する
請求項４記載の送信レート制御装置。
【請求項６】
通信ネットワーク状態監視手段は、データの送信先である端末が受信したデータパケットの到着状況を基に検知したデータ送信におけるバーストロスの発生の情報を前記端末から受信し、
並列模擬パラメータ変更手段は、前記バーストロスの発生に基づいて並列模擬パラメータを減少させる
請求項１から請求項３のうちのいずれか１項に記載の送信レート制御装置。
【請求項７】
通信ネットワーク状態監視手段は、データの送信先である端末が到着パケットのシーケンス番号の間で連続して欠落しているパケット数またはバイト数、またはＣＥ（Ｃｏｎｇｅｓｔｉｏｎ  Ｅｎｃｏｕｎｔｅｒｅｄ）状態を表しているＥＣＮ（Ｅｘｐｌｉｃｉｔ  Ｃｏｎｇｅｓｔｉｏｎ  Ｎｏｔｉｆｉｃａｔｉｏｎ）オプション付きデータパケットの連続到着回数によって連続パケットロス量を計測し、前記連続パケットロス量が予め設定された閾値を超えた場合に、バーストロスが発生したと判定した情報を前記端末から受信する
請求項６記載の送信レート制御装置。
【請求項８】
コネクションの中に模擬された複数の並列的なコネクションを併用してデータを送信する際の送信レートを制御する送信レート制御装置において実行される送信レート制御方法であって、
通信ネットワークの通信状態を監視し、
前記複数の並列的なコネクションの数を特定可能な並列模擬パラメータを、前記通信状態を示す通信状態情報を基に増減させ、
増減させられた前記並列模擬パラメータを基に前記送信レートを決定する
ことを特徴とする送信レート制御方法。
【請求項９】
コネクションの中に模擬された複数の並列的なコネクションを併用してデータを送信する際の送信レートを制御する送信レート制御装置において実行される送信レート制御プログラムであって、
前記送信レート制御装置に、
通信ネットワークの通信状態を監視する監視処理、
前記複数の並列的なコネクションの数を特定可能な並列模擬パラメータを、前記通信状態を示す通信状態情報を基に増減させる増減処理、および
増減させられた前記並列模擬パラメータを基に前記送信レートを決定する決定処理
を実行させるための送信レート制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークの状態に応じて送信レートを効率的に調節可能な送信レート制御装置、送信レート制御方法および送信レート制御プログラムに関する。
【背景技術】
【０００２】
技術の進展に伴い、通信ネットワーク機器のデータ転送速度は急速に高速化している。しかし、データ転送速度の高速化に対して、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）を利用したデータ転送技術では通信ネットワークの性能を十分に使い切れず、データ転送におけるスループット（伝送効率）が低いという課題が顕在化している。
【０００３】
具体的には、一般的なＴＣＰの輻輳制御では送信レートの向上速度が遅い。また、輻輳を検知した際の送信レートの低下量が大きい。このため、一旦輻輳が検知されると、データ転送における送信レートが通信ネットワークの性能を使い切ることができる送信レートになるまでに多大な時間がかかる。
【０００４】
上記の問題を解決するため、ＴＣＰの輻輳制御を改善する取り組みがなされている。その取り組みの１つに、非特許文献１に記載されているＭｕｌＴＣＰが存在する。
【０００５】
非特許文献１に記載されているＭｕｌＴＣＰは、複数のＴＣＰコネクションを併用してデータを送信することによってスループットが向上することに着目し、１つのＴＣＰコネクションの中でＮ個の並列的なＴＣＰコネクションを模擬し、輻輳ウィンドウサイズｃｗｎｄを調整している。
【０００６】
具体的には、正常なＡＣＫ（ＡＣＫｎｏｗｌｅｄｇｅｍｅｎｔ）パケット（確認応答）を受信した場合には式（１）のようにｃｗｎｄを増減する。また、重複ＡＣＫパケットを３回連続して受信した場合には式（２）のようにｃｗｎｄを増減する。
【０００７】
ｃｗｎｄ＝ｃｗｎｄ＋Ｎ／ｃｗｎｄ・・・式（１）
【０００８】
ｃｗｎｄ＝ｃｗｎｄ×（Ｎ−０．５）／Ｎ・・・式（２）
【０００９】
上記のような輻輳制御を行うことで、ＭｕｌＴＣＰは、並列的なＴＣＰコネクションを模擬して通信ネットワークの性能を素早く使い切る。その結果、ＭｕｌＴＣＰは、データ転送におけるスループットを向上させることができる。
【００１０】
また、特許文献１には、消費電力軽減のための経路数削減方法が記載されている。特許文献１に記載されている経路数削減方法では、各経路の利用率に偏りを持たせて、削減したい経路の利用率を０にしてから経路を削減する。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１２−０３９３０３号公報
【非特許文献】
【００１２】
【非特許文献１】Ｊ．  Ｃｒｏｗｃｒｏｆｔ  ａｎｄ  Ｐ．  Ｏｅｃｈｓｌｉｎ，  “Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｅｎｄ−ｔｏ−Ｅｎｄ  Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅｓ  ｕｓｉｎｇ  ａ  Ｗｅｉｇｈｔｅｄ  Ｐｒｏｐｏｒｔｉｏｎａｌ  Ｆａｉｒ  Ｓｈａｒｉｎｇ  ＴＣＰ，”  ＡＣＭ  Ｃｏｍｐｕｔｅｒ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ Ｒｅｖｉｅｗ，  ｖｏｌ．２８，  ｉｓｓｕｅ３，  ｐｐ．５３−６９，  ＡＣＭ  Ｎｅｗ  Ｙｏｒｋ，  ＮＹ，  ＵＳＡ，  Ｊｕｌｙ  １９９８．
【発明の概要】
【発明が解決しようとする課題】
【００１３】
並列的なＴＣＰコネクションを用いたデータ送信や、並列的なＴＣＰコネクションを模擬したＭｕｌＴＣＰ等では、並列的なＴＣＰコネクション数やそのコネクション数を模擬した並列模擬パラメータを大きくした場合、ある程度まではスループットが向上する。
【００１４】
しかし、ＴＣＰコネクション数や並列模擬パラメータを大きくしすぎると輻輳制御が過剰制御になってパケットのバースト的な損失が誘発されてしまう。すなわち、並列的なＴＣＰコネクションを用いたデータ送信や、並列的なＴＣＰコネクションを模擬したＭｕｌＴＣＰ等では、ＴＣＰコネクション数や並列模擬パラメータを大きくしすぎた場合、却ってスループットが低下することがある。
【００１５】
すなわち、並列的なＴＣＰコネクションや並列的なＴＣＰコネクションを模擬したＭｕｌＴＣＰ等を用いる場合、時々刻々と変化する通信ネットワークの状態にあわせて適切にＴＣＰコネクション数や並列模擬パラメータを調整することが課題である。
【００１６】
また、特許文献１に記載された方法では、通信ネットワークの性能に無駄を発生させずに経路を削減できる。しかし、この方法には経路の削減に時間がかかるという問題がある。
【００１７】
そこで、本発明は、並列模擬パラメータを適切に制御し、有効にスループットを向上できる送信レート制御装置、送信レート制御方法および送信レート制御プログラムを提供する。
【課題を解決するための手段】
【００１８】
本発明による送信レート制御装置は、コネクションの中に模擬された複数の並列的なコネクションを併用してデータを送信する際の送信レートを制御する送信レート制御装置であって、通信ネットワークの通信状態を監視する通信ネットワーク状態監視手段と、複数の並列的なコネクションの数を特定可能な並列模擬パラメータを、通信状態を示す通信状態情報を基に増減させる並列模擬パラメータ変更手段と、並列模擬パラメータ変更手段による並列模擬パラメータを基に送信レートを決定する輻輳制御手段とを備えることを特徴とする。
【００１９】
本発明による送信レート制御方法は、コネクションの中に模擬された複数の並列的なコネクションを併用してデータを送信する際の送信レートを制御する送信レート制御装置において実行される送信レート制御方法であって、通信ネットワークの通信状態を監視し、複数の並列的なコネクションの数を特定可能な並列模擬パラメータを、通信状態を示す通信状態情報を基に増減させ、増減させられた並列模擬パラメータを基に送信レートを決定することを特徴とする。
【００２０】
本発明による送信レート制御プログラムは、コネクションの中に模擬された複数の並列的なコネクションを併用してデータを送信する際の送信レートを制御する送信レート制御装置において実行される送信レート制御プログラムであって、送信レート制御装置に、通信ネットワークの通信状態を監視する監視処理、複数の並列的なコネクションの数を特定可能な並列模擬パラメータを、通信状態を示す通信状態情報を基に増減させる増減処理、および増減させられた並列模擬パラメータを基に送信レートを決定する決定処理を実行させることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、並列模擬パラメータを適切に制御し、有効にスループットを向上できる。
【図面の簡単な説明】
【００２２】
【図１】本発明による送信レート制御装置の第１の実施形態の構成例を示すシステム構成図である。
【図２】データ送信装置２０の第１の実施形態の構成例を示すブロック図である。
【図３】データ送信装置２０の第１の実施形態の並列模擬パラメータ増加処理の動作を示すフローチャートである。
【図４】データ送信装置２０の第１の実施形態の並列模擬パラメータ減少処理の動作を示すフローチャートである。
【図５】ユーザ端末１０の第２の実施形態の構成例を示すブロック図である。
【図６】データ送信装置２０の第２の実施形態の構成例を示すブロック図である。
【図７】データ送信装置２０の第２の実施形態の並列模擬パラメータ減少処理の動作を示すフローチャートである。
【図８】本発明による送信レート制御装置の概要を示すブロック図である。
【発明を実施するための形態】
【００２３】
実施形態１．
以下、本発明の実施形態を図面を参照して説明する。図１は、本発明による送信レート制御装置の第１の実施形態の構成例を示すシステム構成図である。
【００２４】
図１に示す送信レート制御システム１００は、ユーザ端末１０と、送信レート制御装置であるデータ送信装置２０とを含む。ユーザ端末１０は、通信ネットワーク３０を介してデータ送信装置２０と通信可能に接続されている。
【００２５】
ユーザ端末１０は、ユーザが通信ネットワーク３０またはデータ送信装置２０を経由してデータを要求し取得するために使用する端末である。ユーザ端末１０は、例えばＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）である。なお、ユーザ端末１０は、携帯端末等でもよい。
【００２６】
ユーザ端末１０は、ユーザからデータ取得の要求がされた際に、通信ネットワーク３０を経由してデータ送信装置２０またはオリジンサーバに向けてデータのリクエストを送信する。そして、データ送信装置２０またはオリジンサーバからユーザが要求したデータが配信された際に、ユーザ端末１０は、ユーザに配信されたデータを提示する。
【００２７】
データ送信装置２０は、ユーザ端末１０に対してＴＣＰ等のコネクションを確立し、ユーザ端末１０から要求されたデータを送信する装置である。本実施形態では、データ送信装置２０がユーザ端末１０に対してＴＣＰコネクションを確立する場合を例にする。データ送信装置２０は、例えば、ユーザから要求されたデータを保持するオリジンサーバである。
【００２８】
また、データ送信装置２０は、通信ネットワーク３０の中に設置され、オリジンサーバとユーザ端末１０との間のデータ通信を一度終端させる中継サーバ装置でもよい。すなわち、データ送信装置２０は、オリジンサーバがユーザ端末１０にデータを送信する経路の途中に配置されていてもよい。この場合、データ送信装置２０は、キャッシュサーバやプロキシサーバ、エッジサーバ等になる。
【００２９】
上記の場合、ユーザ端末１０から見てデータ送信装置２０の後ろに別の通信ネットワーク（図示せず）や、ユーザ端末１０から要求されたデータを保持するオリジンサーバ等（図示せず）があってもよい。
【００３０】
また、データ送信装置２０は、通信ネットワーク３０を構成するデータ通信機器でもよい。この場合、データ送信装置２０は、Ｐ−ＧＷ（Ｐａｃｋｅｔ  Ｄａｔａ  Ｎｅｔｗｏｒｋ  Ｇａｔｅｗａｙ）やＳ−ＧＷ（Ｓｅｒｖｉｎｇ  Ｇａｔｅｗａｙ）等になる。
【００３１】
次に、データ送信装置２０の詳細な構成を図２を参照して説明する。図２は、データ送信装置２０の第１の実施形態の構成例を示すブロック図である。
【００３２】
図２に示すデータ送信装置２０は、データ送受信手段２１と、輻輳制御手段２２と、通信ネットワーク状態監視手段２３と、バーストロス検出手段２４と、並列模擬パラメータ変更手段２５とを含む。
【００３３】
データ送受信手段２１は、輻輳制御手段２２に設定された輻輳ウィンドウサイズや送信レートを基にデータを送信する機能を有する。また、データ送受信手段２１は、ユーザ端末１０からＡＣＫパケットを受信した際に、受信したＡＣＫパケットの情報を輻輳制御手段２２と、通信ネットワーク状態監視手段２３と、バーストロス検出手段２４とに通知する機能を有する。
【００３４】
データ送受信手段２１は、ユーザ端末１０からデータ要求のメッセージを取得した際に、輻輳制御手段２２に設定された輻輳ウィンドウサイズや送信レートを基に、要求されたデータをＴＣＰでユーザ端末１０に送信する。
【００３５】
また、データ送受信手段２１は、データの送信中において、ユーザ端末１０から送信パケットに対するＡＣＫパケットを受信した際に、通信ネットワーク３０の状態情報および受信したＡＣＫパケットに記載された情報を輻輳制御手段２２と、通信ネットワーク状態監視手段２３と、バーストロス検出手段２４とに通知する。
【００３６】
輻輳制御手段２２に通知される情報は、例えば、データ送信にかかる往復遅延時間ＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）、受信したＡＣＫパケットに記載されているＡＣＫシーケンス番号および受信ウィンドウサイズＲＷＩＮ（Ｒｅｃｅｉｖｅ  Ｗｉｎｄｏｗ）である。
【００３７】
輻輳制御手段２２に通知される情報には、上記の他にも、通常のＴＣＰ通信でやり取りされる情報が含まれていてもよい。通常のＴＣＰ通信でやり取りされる情報には、受信されたＡＣＫパケットに記載されているタイムスタンプ情報ＴＳｖａｌ（ＴＳ  Ｖａｌｕｅ）、ＴＳｅｃｒ（ＴＳ  Ｅｃｈｏ  Ｒｅｐｌｙ）や、ＥＣＮ（Ｅｘｐｌｉｃｉｔ  Ｃｏｎｇｅｓｔｉｏｎ  Ｎｏｔｉｆｉｃａｔｉｏｎ）オプションの情報等がある。
【００３８】
通信ネットワーク状態監視手段２３に通知される情報は、例えば、データ送信にかかる往復遅延時間ＲＴＴである。また、通信ネットワーク状態監視手段２３に通知される情報は、上記に限らず、通常のＴＣＰ通信で測定可能な情報または取得可能な情報でもよい。通常のＴＣＰ通信で測定可能な情報または取得可能な情報には、データ送信におけるパケットロスの発生通知等がある。
【００３９】
バーストロス検出手段２４に通知される情報は、パケットロスの発生通知である。パケットロスの発生通知は、拡張機能を用いて得られる一部パケットの未到着通知である。パケットロスの発生通知で用いられる拡張機能には、例えば、ＳＡＣＫ（Ｓｅｌｅｃｔｉｖｅ  ＡＣＫｎｏｗｌｅｄｇｅｍｅｎｔ）オプションやＮＡＣＫ（Ｎｅｇａｔｉｖｅ  ＡＣＫｎｏｗｌｅｄｇｅｍｅｎｔ）パケットを利用した機能がある。
【００４０】
また、パケットロスの発生通知は、上記に限らず、パケットロスの可能性である重複ＡＣＫパケットの到着通知でもよい。
【００４１】
また、データ送信装置２０がオリジンサーバの場合、データ送信装置２０は、自身の内部にオリジナルデータをすべて保持している。よって、データ送受信手段２１は、輻輳制御手段２２に設定された輻輳ウィンドウサイズや送信レートでデータを送信できる。
【００４２】
また、データ送信装置２０が中継サーバ装置やデータ通信機器の場合、データ送信装置２０は、オリジナルデータを予め自身の記憶領域にキャッシュとして複製できる。また、データ送信装置２０は、オリジンサーバから送信されるデータストリームを一時的にバッファとして溜めることができる。その結果、データ送受信手段２１は、オリジンサーバとデータ送信装置２０との間の通信ネットワーク（図示せず）のスループットに依存せず、輻輳制御手段２２に設定された輻輳ウィンドウサイズや送信レートでデータを送信できる。
【００４３】
データ送信装置２０が中継サーバ装置やデータ通信機器の場合のデータ送受信手段２１によるデータ要求のメッセージの取得方法として、例えば、ユーザ端末１０がオリジンサーバへ送信した要求メッセージを、ユーザ端末１０からオリジンサーバへの経路の途中に設置されデータ送信装置２０と接続しているルータ等が、要求メッセージのヘッダ情報等の条件を基に、オリジンサーバの代わりにデータ送受信手段２１へ転送する方法がある。
【００４４】
また、データ要求のメッセージの取得方法は、上記の取得方法に限らず、例えば、ユーザ端末１０がデータ送信装置２０をプロキシとして明示的に指定して、要求メッセージをデータ送受信手段２１へ送信する方法でもよい。
【００４５】
また、データ要求のメッセージの取得方法は、例えば、ユーザ端末１０がオリジンサーバに要求メッセージを送信しようとしてＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）サーバ等で宛先のアドレス解決を行う際に、ＤＮＳサーバ等がオリジンサーバの代わりにデータ送信装置２０のアドレスを返答する方法でもよい。データ要求のメッセージの取得方法は、上記の方法に限らず他の方法でもよい。
【００４６】
輻輳制御手段２２は、データ送受信手段２１から通信ネットワーク３０の状態情報およびＡＣＫパケットに記載された情報を通知された際に、並列模擬パラメータ変更手段２５に設定された並列模擬パラメータＮを基に、輻輳ウィンドウサイズや送信レートを増減する機能を有する。
【００４７】
輻輳制御手段２２は、例えば、データ送受信手段２１からパケットロス等の通知を受けた際に、並列模擬パラメータ変更手段２５に設定された並列模擬パラメータＮを基に、輻輳ウィンドウサイズや送信レートを増減する。
【００４８】
輻輳制御手段２２による輻輳ウィンドウサイズや送信レートの増減方法には、例えば、非特許文献１と同じく、式（１）、式（２）によってｃｗｎｄを増減させる方法がある。また、この方法に限らず、輻輳ウィンドウサイズや送信レートの増減方法は、例えば、式（１）、式（２）におけるＮの値を定数ａ、ｂを用いて、ａ×ＮまたはＮ＋ｂに変えた式によってｃｗｎｄを増減させる方法でもよい。
【００４９】
通信ネットワーク状態監視手段２３は、データ送受信手段２１から通信ネットワーク３０の状態情報またはＡＣＫパケットに記載された情報を通知された際に、通知された情報を記憶する機能を有する。なお、通信ネットワーク状態監視手段２３は、過去に通知された１つまたは複数の情報を記憶してもよい。また、通信ネットワーク状態監視手段２３は、記憶した情報に対応する値に対して、発生頻度、発生間隔、記憶した情報に関する平均または分散等の統計値等のうちの１つ以上を算出して記憶する機能を有する。
【００５０】
通信ネットワーク状態監視手段２３は、例えば、データ送受信手段２１からＲＴＴやパケットロスといった通信ネットワーク３０の状態情報を通知された際に、通知された状態情報を記憶する。
【００５１】
通信ネットワーク状態監視手段２３が算出して記憶する値は、例えば、正規化したＲＴＴの分散値である。また、算出して記憶する値は、上記に限らず、例えば、往復遅延と往復遅延の最小値との差分に、データ送受信手段２１による送信におけるスループットを乗じた推定キュー量でもよい。
【００５２】
また、通信ネットワーク状態監視手段２３が算出して記憶する値は、パケットロスの発生頻度や、パケットロスの発生間隔でもよい。パケットロスの検知方法には、例えば、ＳＡＣＫで示されたシーケンス番号の間に、所定値以上のパケット数またはバイト数の欠落が生じた場合にパケットロスが発生したとみなす方法がある。
【００５３】
また、パケットロスの検知方法は、上記の方法に限らず、例えば、所定値以上のパケット数またはバイト数のＮＡＣＫパケットの到着をもってパケットロスの発生とみなす方法でもよい。また、所定値以上のパケット数またはバイト数の重複ＡＣＫパケットの到着をもってパケットロスの発生とみなす方法でもよい。
【００５４】
バーストロス検出手段２４は、データ送受信手段２１が受信したＡＣＫパケットの情報から、ＡＣＫパケットのデータ送信にかかるバーストロスの発生を検知する機能を有する。
【００５５】
バーストロス検出手段２４は、データ送受信手段２１からパケットロスの発生通知を受けた際に、バーストロスが発生したか否かを判定する。バーストロスが発生したか否かの判定方法には、例えば、連続パケットロス量が予め設定された閾値を超えた場合に、バーストロスが発生したと判定する方法がある。
【００５６】
また、バーストロスが発生したか否かの判定方法は、上記の方法に限らず、連続パケットロス量から予め設定された閾値を引いた値の大きさに応じて、バーストロスの深刻さを判定する方法でもよい。連続パケットロス量は、例えば、ＳＡＣＫで示されたシーケンス番号の間で連続して欠落しているパケット数またはバイト数である。
【００５７】
また、連続パケットロス量は、上記の内容に限らず、ＮＡＣＫパケットで示された連続して欠落しているパケット数またはバイト数でもよい。また、連続パケットロス量は、重複ＡＣＫパケットの到着回数でもよい。
【００５８】
並列模擬パラメータ変更手段２５は、通信ネットワーク状態監視手段２３から記憶された状態情報または算出された状態情報の統計値を取得して、並列模擬パラメータを増加させるか否かを判断する機能を有する。また、並列模擬パラメータ変更手段２５は、バーストロス検出手段２４からバーストロスが発生した旨を通知された場合に、並列模擬パラメータを減少させる機能を有する。
【００５９】
並列模擬パラメータ変更手段２５は、通信ネットワーク状態監視手段２３が状態情報を記憶または状態情報の統計値を算出または記憶した際に、通信ネットワーク状態監視手段２３から状態情報または状態情報の統計値を取得して、並列模擬パラメータを増加させるか否かを判断する。
【００６０】
並列模擬パラメータを増加させるか否かの判断方法には、例えば、正規化したＲＴＴの分散値が予め設定された閾値より小さい場合に、並列模擬パラメータを増加させると判断する方法がある。
【００６１】
また、並列模擬パラメータを増加させるか否かの判断方法は、上記の方法に限らず、例えば、推定キュー量が予め設定された閾値より小さい場合に、並列模擬パラメータを増加させると判断する方法でもよい。
【００６２】
また、並列模擬パラメータを増加させるか否かの判断方法は、パケットロスの発生頻度が予め設定された閾値より小さい場合に、並列模擬パラメータを増加させると判断する方法でもよい。また、パケットロスの発生間隔が予め設定された閾値より大きい場合に、並列模擬パラメータを増加させると判断する方法でもよい。
【００６３】
並列模擬パラメータの増加量は、例えば１である。また、増加量は１に限らず、例えば、１以外の固定値でもよい。また、増加量は、通信ネットワーク状態監視手段２３により記憶された状態情報または算出された状態情報の統計値と、予め設定された閾値との差の大きさに応じた変動値でもよい。
【００６４】
並列模擬パラメータ変更手段２５は、バーストロス検出手段２４がバーストロスの発生を判定した際に、並列模擬パラメータを減少させる。並列模擬パラメータの減少量は、例えば１である。また、減少量は１に限らず、例えば、１以外の固定値でもよい。また、減少量は、バーストロス検出手段２４によって判定されたバーストロスの深刻さに応じた変動値でもよい。
【００６５】
なお、本実施形態において輻輳制御手段２２、通信ネットワーク状態監視手段２３、バーストロス検出手段２４および並列模擬パラメータ変更手段２５は、例えば、プログラムに従って動作するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）によって実現される。
【００６６】
また、データ送受信手段２１は、例えば、プログラムに従って動作するＣＰＵと、通信ネットワークカード等の通信制御装置とによって実現される。
【００６７】
以下、本実施形態におけるデータ送信装置２０が並列模擬パラメータを増加させる時の動作を図３のフローチャートを参照して説明する。図３は、データ送信装置２０の第１の実施形態の並列模擬パラメータ増加処理の動作を示すフローチャートである。
【００６８】
データ送受信手段２１は、ユーザ端末１０からデータ要求のメッセージを取得した際に、輻輳制御手段２２に設定された輻輳ウィンドウサイズや送信レートを基に、要求されたデータをＴＣＰでユーザ端末１０に送信する（ステップＳ１１）。
【００６９】
データ送受信手段２１は、ユーザ端末１０から送信パケットに対するＡＣＫパケットを受信した際に、通信ネットワーク３０の状態情報および受信したＡＣＫパケットに記載された情報を、輻輳制御手段２２と通信ネットワーク状態監視手段２３とバーストロス検出手段２４とに通知する（ステップＳ１２）。
【００７０】
通信ネットワーク状態監視手段２３は、データ送受信手段２１から通信ネットワーク３０の状態情報またはＡＣＫパケットに記載された情報を通知された際に、通知された情報を記憶する。なお、通信ネットワーク状態監視手段２３は、通知された情報を記憶している過去の情報の一覧に含めてもよい。また、通信ネットワーク状態監視手段２３は、記憶した情報の値に対して、頻度や発生間隔、平均や分散等の統計値を算出して記憶する（ステップＳ１３）。
【００７１】
並列模擬パラメータ変更手段２５は、通信ネットワーク状態監視手段２３が状態情報を記憶または状態情報の統計値を算出または記憶した際に、記憶された状態情報または算出された状態情報の統計値を取得して並列模擬パラメータを増加させるか否かを判断する（ステップＳ１４）。
【００７２】
並列模擬パラメータを増加させると判断した場合（ステップＳ１４のＹｅｓ）、並列模擬パラメータ変更手段２５は、内部に設定されている並列模擬パラメータＮを増加させる（ステップＳ１５）。並列模擬パラメータを増加させないと判断した場合（ステップＳ１４のＮｏ）、データ送信装置２０は、ステップＳ１６へ処理を進める。
【００７３】
輻輳制御手段２２は、データ送受信手段２１から通信ネットワーク３０の状態情報およびデータ送受信手段２１が受信したＡＣＫパケットに記載された情報を通知された際に、並列模擬パラメータ変更手段２５に設定された並列模擬パラメータを基に、輻輳ウィンドウサイズや送信レートを増減する（ステップＳ１６）。輻輳制御手段２２が送信レート等を変更した後、データ送信装置２０は、並列模擬パラメータ増加処理を終了する。
【００７４】
なお、バーストロス検出手段２４も、データ送受信手段２１から通知された情報を基にバーストロスが発生しているか否かを判定する。ここで、バーストロス検出手段２４は、バーストロスが発生していないと判定する。並列模擬パラメータ変更手段２５は、バーストロス検出手段２４による判定結果を受けて、並列模擬パラメータを変更しない。
【００７５】
次に、本実施形態におけるデータ送信装置２０が並列模擬パラメータを減少させる時の動作を図４のフローチャートを参照して説明する。図４は、データ送信装置２０の第１の実施形態の並列模擬パラメータ減少処理の動作を示すフローチャートである。
【００７６】
データ送受信手段２１は、ユーザ端末１０からデータ要求のメッセージを取得した際に、輻輳制御手段２２に設定された輻輳ウィンドウサイズや送信レートを基に、要求されたデータをＴＣＰでユーザ端末１０に送信する（ステップＳ２１）。
【００７７】
データ送受信手段２１は、ユーザ端末１０から送信パケットに対するＡＣＫパケットを受信した際に、通信ネットワーク３０の状態情報および受信したＡＣＫパケットに記載された情報を、輻輳制御手段２２とバーストロス検出手段２４と通信ネットワーク状態監視手段２３とに通知する（ステップＳ２２）。
【００７８】
バーストロス検出手段２４は、データ送受信手段２１からパケットロスの発生を通知された際に、発生したパケットロスにおいてバーストロスが発生したか否かを判定する（ステップＳ２３）。
【００７９】
バーストロスが発生したとバーストロス検出手段２４が判定した場合（ステップＳ２３のＹｅｓ）、並列模擬パラメータ変更手段２５は、並列模擬パラメータを減少させる（ステップＳ２４）。バーストロスが発生していないとバーストロス検出手段２４が判定した場合（ステップＳ２３のＮｏ）、データ送信装置２０は、ステップＳ２５へ処理を進める。
【００８０】
輻輳制御手段２２は、データ送受信手段２１から通信ネットワーク３０の状態情報およびデータ送受信手段２１が受信したＡＣＫパケットに記載された情報を通知された際に、並列模擬パラメータ変更手段２５に設定された並列模擬パラメータを基に、輻輳ウィンドウサイズや送信レートを増減する（ステップＳ２５）。輻輳制御手段２２が送信レート等を変更した後、データ送信装置２０は、並列模擬パラメータ減少処理を終了する。
【００８１】
なお、通信ネットワーク状態監視手段２３も、データ送受信手段２１から通知された情報を記憶し、また記憶した情報から算出した統計値を記憶する。ここで、並列模擬パラメータ変更手段２５は、通信ネットワーク状態監視手段２３に記憶された情報または算出された情報の統計値から、並列模擬パラメータを増加させる必要が無いと判断し、並列模擬パラメータを変更しない。
【００８２】
本実施形態の送信レート制御システムを使用した場合、特に通信ネットワークの状態が変化した時でも、並列的なＴＣＰコネクション数を模擬したパラメータＮを適切に制御し、有効にスループットの向上を図ることができる。
【００８３】
実施形態２．
次に、本発明の第２の実施形態を説明する。なお、本発明の第２の実施形態における送信レート制御システム１００の構成例は、第１の実施形態における説明と同様であるため説明を省略する。
【００８４】
図５は、ユーザ端末１０の第２の実施形態の構成例を示すブロック図である。図５に示すユーザ端末１０は、バーストロス観測・通知手段１１を含む。
【００８５】
バーストロス観測・通知手段１１は、データ送受信手段２１から受信したデータパケットの到着状況からデータ送信にかかるバーストロスの発生を検知し、検知したバーストロスの発生状況をデータ送受信手段２１へ通知する機能を有する。バーストロス観測・通知手段１１は、例えば、プログラムに従って動作するＣＰＵによって実現される。
【００８６】
バーストロス観測・通知手段１１は、データ送受信手段２１からデータパケットを受信した際に、受信したデータパケットの到着状況から、データ送信にかかるバーストロスが発生したか否かを判定する。
【００８７】
バーストロスが発生したか否かの判定方法には、例えば、連続パケットロス量が予め設定された閾値を超えた場合に、バーストロスが発生したと判定する方法がある。
【００８８】
また、バーストロスが発生したか否かの判定方法は、上記の方法に限らず、連続パケットロス量から予め設定された閾値を引いた値の大きさに応じて、バーストロスの深刻さを判定する方法でもよい。
【００８９】
連続パケットロス量は、例えば、到着パケットのシーケンス番号の間で連続して欠落しているパケット数またはバイト数である。
【００９０】
また、連続パケットロス量は、上記の内容に限らず、ＣＥ（Ｃｏｎｇｅｓｔｉｏｎ  Ｅｎｃｏｕｎｔｅｒｅｄ）状態を表しているＥＣＮオプション付きデータパケットの連続到着回数でもよい。
【００９１】
バーストロス観測・通知手段１１は、バーストロスが発生したと判定した際に、データ送受信手段２１へバーストロスの発生を通知する。バーストロス発生の通知方法には、例えば、通常のＡＣＫパケットのヘッダ等に、予め定められた様式に則ったバーストロス発生を表すフラグまたはメッセージを付加して返信する方法がある。
【００９２】
また、バーストロス発生の通知方法は、上記の方法に限らず、例えば、通常のＡＣＫパケットとは別に、予め定められた様式に則ったバーストロス発生を表すパケットを返信する方法でもよい。
【００９３】
図６は、データ送信装置２０の第２の実施形態の構成例を示すブロック図である。図６に示すデータ送信装置２０は、データ送受信手段２１と、輻輳制御手段２２と、通信ネットワーク状態監視手段２３と、並列模擬パラメータ変更手段２５とを含む。データ送受信手段２１、輻輳制御手段２２、通信ネットワーク状態監視手段２３および並列模擬パラメータ変更手段２５についての説明は、第１の実施形態における説明と同様であるため省略する。
【００９４】
以下、本実施形態におけるデータ送信装置２０が並列模擬パラメータを減少させる時の動作を図７のフローチャートを参照して説明する。図７は、データ送信装置２０の第２の実施形態の並列模擬パラメータ減少処理の動作を示すフローチャートである。
【００９５】
データ送受信手段２１は、ユーザ端末１０からデータ要求のメッセージを取得した際に、輻輳制御手段２２に設定された輻輳ウィンドウサイズや送信レートを基に、要求されたデータをＴＣＰでユーザ端末１０に送信する（ステップＳ３１）。
【００９６】
バーストロス観測・通知手段１１は、データ送受信手段２１からデータパケットを受信した際に、受信したデータパケットの到着状況から、データ送信にかかるバーストロスが発生したか否かを判定する（ステップＳ３２）。
【００９７】
バーストロスが発生したと判定した場合（ステップＳ３２のＹｅｓ）、バーストロス観測・通知手段１１は、データ送受信手段２１へバーストロスの発生を通知する（ステップＳ３３）。バーストロスが発生していないと判定した場合（ステップＳ３２のＮｏ）、バーストロス観測・通知手段１１は、ステップＳ３４へ処理を進める。
【００９８】
データ送受信手段２１は、ユーザ端末１０から送信パケットに対するＡＣＫパケットを受信した際に、通信ネットワーク３０の状態情報および受信したＡＣＫパケットに記載された情報を輻輳制御手段２２と通信ネットワーク状態監視手段２３とに通知する（ステップＳ３４）。
【００９９】
次いで、データ送受信手段２１は、バーストロス観測・通知手段１１からバーストロスの発生を通知されたか否かを確認する（ステップＳ３５）。バーストロスの発生を通知された場合（ステップＳ３５のＹｅｓ）、データ送受信手段２１は、バーストロスの発生を並列模擬パラメータ変更手段２５に通知する（ステップＳ３６）。バーストロスの発生を通知されていない場合（ステップＳ３５のＮｏ）、データ送信装置２０は、ステップＳ３８へ処理を進める。
【０１００】
並列模擬パラメータ変更手段２５は、データ送受信手段２１からバーストロスの発生を通知された際に、並列模擬パラメータを減少させる（ステップＳ３７）。
【０１０１】
輻輳制御手段２２は、データ送受信手段２１から通信ネットワーク３０の状態情報および受信されたＡＣＫパケットに記載された情報を通知された際に、並列模擬パラメータ変更手段２５に設定された並列模擬パラメータを基に、輻輳ウィンドウサイズや送信レートを増減する（ステップＳ３８）。輻輳制御手段２２が送信レート等を変更した後、データ送信装置２０は、並列模擬パラメータ減少処理を終了する。
【０１０２】
なお、通信ネットワーク状態監視手段２３も、データ送受信手段２１から入力した情報を記憶し、また記憶した情報から算出した統計値を記憶する。ここで、並列模擬パラメータ変更手段２５は、通信ネットワーク状態監視手段２３に記憶された情報または算出された情報の統計値から、並列模擬パラメータを増加させる必要が無いと判断し、並列模擬パラメータを変更しない。
【０１０３】
本実施形態の送信レート制御システムを使用した場合、バーストロス観測・通知手段がバーストロスを直接観測して通知することで、第１の実施形態ではＳＡＣＫオプションやＮＡＣＫパケットを利用した機能等によって推定していたバーストロスをより正確に検知できる。よって、より高精度に並列模擬パラメータを適切に制御し、有効にスループットを向上できる。
【０１０４】
次に、本発明の概要を説明する。図８は、本発明による送信レート制御装置の概要を示すブロック図である。本発明による送信レート制御装置１は、コネクションの中に模擬された複数の並列的なコネクションを併用してデータを送信する際の送信レートを制御する送信レート制御装置であって、通信ネットワークの通信状態を監視する通信ネットワーク状態監視手段３（例えば、通信ネットワーク状態監視手段２３およびバーストロス検出手段２４）と、複数の並列的なコネクションの数を特定可能な並列模擬パラメータを、通信状態を示す通信状態情報を基に増減させる並列模擬パラメータ変更手段４（例えば、並列模擬パラメータ変更手段２５）と、並列模擬パラメータ変更手段４による並列模擬パラメータを基に送信レートを決定する輻輳制御手段２（例えば、輻輳制御手段２２）とを備えることを特徴とする。
【０１０５】
そのような構成により、この送信レート制御装置は、並列模擬パラメータを適切に制御し、有効にスループットを向上できる。
【０１０６】
また、通信ネットワーク状態監視手段３は、過去の通信状態情報を示す値と、記憶した通信状態情報の発生頻度、発生間隔、通信状態の統計値のうちの１つ以上を算出して記憶し、並列模擬パラメータ変更手段４は、通信ネットワーク状態監視手段３が記憶する値に基づいて並列模擬パラメータを増加させるか否かを判断してもよい。
【０１０７】
そのような構成により、この送信レート制御装置は、過去の通信状態情報および算出された値を用いて並列模擬パラメータを制御できる。
【０１０８】
また、通信ネットワーク状態監視手段３は、正規化した往復遅延の分散値、往復遅延とその最小値との差分にスループットを乗じた推定キュー量を算出して記憶し、並列模擬パラメータ変更手段４は、通信状態情報または算出された値と予め設定された閾値とを比較して、並列模擬パラメータを増加させるか否かを判断してもよい。
【０１０９】
そのような構成により、この送信レート制御装置は、正規化された往復遅延の分散値や推定キュー量を用いて並列模擬パラメータを制御できる。
【０１１０】
また、通信ネットワーク状態監視手段３は、受信したＡＣＫパケット内の情報を基にデータ送信におけるバーストロスの発生を検知し、並列模擬パラメータ変更手段４は、バーストロスの発生に基づいて並列模擬パラメータを減少させてもよい。
【０１１１】
そのような構成により、この送信レート制御装置は、データ送信におけるバーストロスの発生を検知でき、バーストロス発生の検知に基づいて並列模擬パラメータを制御できる。
【０１１２】
また、通信ネットワーク状態監視手段３は、ＳＡＣＫまたはＮＡＣＫによって示されたパケット数またはバイト数の欠落量、または連続して到着した重複ＡＣＫのパケット数またはバイト数によって連続パケットロス量を計測し、連続パケットロス量が予め設定された閾値を超えた場合に、バーストロスが発生したと判定してもよい。
【０１１３】
そのような構成により、この送信レート制御装置は、ＳＡＣＫ、ＮＡＣＫまたは重複ＡＣＫを用いてバーストロスの発生を検知できる。
【０１１４】
また、通信ネットワーク状態監視手段３は、データの送信先である端末が受信したデータパケットの到着状況を基に検知したデータ送信におけるバーストロスの発生の情報を端末から受信し、並列模擬パラメータ変更手段４は、バーストロスの発生に基づいて並列模擬パラメータを減少させてもよい。
【０１１５】
そのような構成により、この送信レート制御装置は、より高精度に並列模擬パラメータを適切に制御し、有効にスループットを向上できる。
【０１１６】
また、通信ネットワーク状態監視手段３は、データの送信先である端末が到着パケットのシーケンス番号の間で連続して欠落しているパケット数またはバイト数、またはＣＥ状態を表しているＥＣＮオプション付きデータパケットの連続到着回数によって連続パケットロス量を計測し、連続パケットロス量が予め設定された閾値を超えた場合に、バーストロスが発生したと判定した情報を端末から受信してもよい。
【０１１７】
そのような構成により、この送信レート制御装置は、到着パケットの連続パケットロス量からバーストロスの発生を検知できる。
【産業上の利用可能性】
【０１１８】
本発明は、並列的なＴＣＰコネクションを模擬したデータ通信での輻輳制御におけるパラメータ制御の他に、並列的なＴＣＰコネクションを確立して通信する際に使用されるコネクション数の制御処理にも好適に適用される。また、本発明は、並列的なコネクションを用いてコンテンツをダウンロードする受信端末において、ＡＣＫパケットの返信タイミングで送信レートを制御する既知の手法とも好適に組み合わされて適用される。
【符号の説明】
【０１１９】
１  送信レート制御装置
１０  ユーザ端末
１１  バーストロス観測・通知手段
２０  データ送信装置
２１  データ送受信手段
２、２２  輻輳制御手段
３、２３  通信ネットワーク状態監視手段
２４  バーストロス検出手段
４、２５  並列模擬パラメータ変更手段
３０  通信ネットワーク
１００  送信レート制御システム
【図１】
2015015555.tif 000003
【図２】
2015015555.tif 000004
【図３】
2015015555.tif 000005
【図４】
2015015555.tif 000006
【図５】
2015015555.tif 000007
【図６】
2015015555.tif 000008
【図７】
2015015555.tif 000009
【図８】
2015015555.tif 000010