(57)【特許請求の範囲】
【請求項１】
ＴＣＰを用いたデータパケットの送受信における、確認応答パケットやデータパケット量や同時送信データ量履歴に基づく情報に基づいて、前記同時送信データ量の上限値を設定する送信上限データ量算出手段と、
前記上限値に基づいて、前記同時送信データ量を制限する制御信号を出力する送信データ量制限手段と、を有し、
前記送信上限データ量算出手段と前記送信データ量制限手段とは前記送受信を行うデータ送信装置に具備され、
前記送信上限データ量算出手段は、
パケットロスを検知した際の輻輳ウィンドウサイズに基づいて、もしくは、
確認未応答データ量の統計値に基づいて、もしくは、
計測または算出された遅延時間の平均値または指数移動平均値が前記遅延時間の最小値よりも予め設定された閾値以上増加した場合に、その時点での前記遅延時間とスループットを積算した値に基づいて、もしくは、
前記データ送信装置が受信した前記確認応答パケットに記載されている受信ウィンドウサイズと、前記パケットロスの検知後に前記データ送信装置からデータパケットの送出が停止する時間とに基づいて、前記上限値を設定する、送信データ量制御装置。
【請求項２】
前記送信データ量制限手段は、前記上限値に基づいて、
前記輻輳ウィンドウサイズに最大値を設け前記最大値を変更することで、もしくは、
ソケットオプションの送信バッファサイズを、または前記データ送信装置のカーネル変数の送信メモリサイズを変更することで、
前記同時送信データ量を制限する、請求項１記載の送信データ量制御装置。
【請求項３】
ＴＣＰを用いたデータパケットの送受信における、確認応答パケットやデータパケット量や同時送信データ量履歴に基づく情報に基づいて、前記同時送信データ量の上限値を設定する送信上限データ量算出手段と、
前記上限値に基づいて、前記同時送信データ量を制限する制御信号を出力する送信データ量制限手段と、を有し、
前記送信上限データ量算出手段と前記送信データ量制限手段とは前記送受信を行うデータ受信装置に具備され、
前記送信上限データ量算出手段は、
パケットロスを検知した際の輻輳ウィンドウサイズの、または確認未応答データ量の、推定値の統計値に基づいて、もしくは、
推定された遅延時間の平均値または指数移動平均値が前記遅延時間の最小値よりも予め設定された閾値以上増加した場合に、その時点での前記遅延時間と、前記データ受信装置におけるデータパケットの単位時間当たりの受信量とを積算した値に基づいて、
前記上限値を設定する、送信データ量制御装置。
【請求項４】
前記送信データ量制限手段は、前記上限値に基づいて、
受信ウィンドウサイズに最大値を設け、前記最大値を変更することで、もしくは、
ソケットオプションの受信バッファサイズ、または前記データ受信装置のカーネル変数の受信メモリサイズ、を変更することで、
前記同時送信データ量を制限する、請求項３記載の送信データ量制御装置。
【請求項５】
ＴＣＰを用いたデータパケットの送受信における、確認応答パケットやデータパケット量や同時送信データ量履歴に基づく情報に基づいて、前記同時送信データ量の上限値を設定する送信上限データ量算出手段と、
前記上限値に基づいて、前記同時送信データ量を制限する制御信号を出力する送信データ量制限手段と、を有し、
前記送信上限データ量算出手段と前記送信データ量制限手段とは前記送受信を行うネットワークの有するネットワーク機器に具備され、
前記送信上限データ量算出手段は、
前記ネットワーク機器がデータパケットを廃棄した際の輻輳ウィンドウサイズの、または確認未応答データ量の、推定値の統計値に基づいて、もしくは、
推定された遅延時間の平均値または指数移動平均値が前記遅延時間の最小値よりも予め設定された閾値以上増加した場合、その時点での前記遅延時間と前記ネットワーク機器におけるデータパケットの単位時間当たりの通過量とを積算した値に基づいて、もしくは、
前記ネットワーク機器を通過する確認応答パケットに記載されている受信ウィンドウサイズと、前記ネットワーク機器がデータパケットを破棄した後にデータパケットの前記ネットワーク機器の通過が停止する時間と、に基づいて、
前記上限値を設定する、送信データ量制御装置。
【請求項６】
前記送信データ量制限手段は、前記上限値に基づいて、
明示的輻輳通知の輻輳検知フラグを付与するキュー量を変更することで、もしくは、
前記上限値を超えた際に前記ネットワーク機器を通過するデータパケットをランダムに廃棄することで、
前記同時送信データ量を制限する、請求項５記載の送信データ量制御装置。
【請求項７】
請求項１乃至請求項６のいずれかに記載された送信データ量制御装置と、
入力される前記制御信号に基づく量の前記データパケットを送信するとともに、前記送信データ量制御装置に供給するデータ送信装置と、
を有する送信データ量制御システム。
【請求項８】
ＴＣＰを用いたデータパケットの送受信における、確認応答パケットやデータパケット量や同時送信データ量履歴に基づく情報に基づいて、
パケットロスを検知した際の輻輳ウィンドウサイズに基づいて、もしくは、
確認未応答データ量の統計値に基づいて、もしくは、
計測または算出された遅延時間の平均値または指数移動平均値が前記遅延時間の最小値よりも予め設定された閾値以上増加した場合に、その時点での前記遅延時間とスループットを積算した値に基づいて、もしくは、
前記送受信を行うデータ送信装置が受信した前記確認応答パケットに記載されている受信ウィンドウサイズと、前記パケットロスの検知後に前記データ送信装置からデータパケットの送出が停止する時間とに基づいて、
前記同時送信データ量の上限値を設定し、
前記上限値に基づいて、前記同時送信データ量を制限する、送信データ量制御方法。
【請求項９】
ＴＣＰを用いたデータパケットの送受信における、確認応答パケットやデータパケット量や同時送信データ量履歴に基づく情報に基づいて、
パケットロスを検知した際の輻輳ウィンドウサイズの、または確認未応答データ量の、推定値の統計値に基づいて、もしくは、
推定された遅延時間の平均値または指数移動平均値が前記遅延時間の最小値よりも予め設定された閾値以上増加した場合に、その時点での前記遅延時間と、前記送受信を行うデータ受信装置におけるデータパケットの単位時間当たりの受信量とを積算した値に基づいて、
前記同時送信データ量の上限値を設定し、
前記上限値に基づいて、前記同時送信データ量を制限する、送信データ量制御方法。
【請求項１０】
ＴＣＰを用いたデータパケットの送受信における、確認応答パケットやデータパケット量や同時送信データ量履歴に基づく情報に基づいて、
前記送受信を行うネットワークの有するネットワーク機器がデータパケットを廃棄した際の輻輳ウィンドウサイズの、または確認未応答データ量の、推定値の統計値に基づいて、もしくは、
推定された遅延時間の平均値または指数移動平均値が前記遅延時間の最小値よりも予め設定された閾値以上増加した場合、その時点での前記遅延時間と前記ネットワーク機器におけるデータパケットの単位時間当たりの通過量とを積算した値に基づいて、もしくは、
前記ネットワーク機器を通過する確認応答パケットに記載されている受信ウィンドウサイズと、前記ネットワーク機器がデータパケットを破棄した後にデータパケットの前記ネットワーク機器の通過が停止する時間と、に基づいて、
前記同時送信データ量の上限値を設定し、
前記上限値に基づいて、前記同時送信データ量を制限する、送信データ量制御方法。
【請求項１１】
コンピュータに、
ＴＣＰを用いたデータパケットの送受信における、確認応答パケットやデータパケット量や同時送信データ量履歴に基づく情報に基づいて、前記同時送信データ量の上限値を設定する処理と、
前記上限値に基づいて、前記同時送信データ量を制限する処理と、を実行させ、
パケットロスを検知した際の輻輳ウィンドウサイズに基づいて、もしくは、
確認未応答データ量の統計値に基づいて、もしくは、
計測または算出された遅延時間の平均値または指数移動平均値が前記遅延時間の最小値よりも予め設定された閾値以上増加した場合に、その時点での前記遅延時間とスループットを積算した値に基づいて、もしくは、
前記送受信を行うデータ送信装置が受信した前記確認応答パケットに記載されている受信ウィンドウサイズと、前記パケットロスの検知後に前記データ送信装置からデータパケットの送出が停止する時間とに基づいて、
前記上限値を設定する処理を実行させる送信データ量制御プログラム。
【請求項１２】
コンピュータに、
ＴＣＰを用いたデータパケットの送受信における、確認応答パケットやデータパケット量や同時送信データ量履歴に基づく情報に基づいて、前記同時送信データ量の上限値を設定する処理と、
前記上限値に基づいて、前記同時送信データ量を制限する処理と、を実行させ、
パケットロスを検知した際の輻輳ウィンドウサイズの、または確認未応答データ量の、推定値の統計値に基づいて、もしくは、
推定された遅延時間の平均値または指数移動平均値が前記遅延時間の最小値よりも予め設定された閾値以上増加した場合に、その時点での前記遅延時間と、前記送受信を行うデータ受信装置におけるデータパケットの単位時間当たりの受信量とを積算した値に基づいて、
前記上限値を設定する処理を実行させる送信データ量制御プログラム。
【請求項１３】
コンピュータに、
ＴＣＰを用いたデータパケットの送受信における、確認応答パケットやデータパケット量や同時送信データ量履歴に基づく情報に基づいて、前記同時送信データ量の上限値を設定する処理と、
前記上限値に基づいて、前記同時送信データ量を制限する処理と、を実行させ、
前記送受信を行うネットワークの有するネットワーク機器がデータパケットを廃棄した際の輻輳ウィンドウサイズの、または確認未応答データ量の、推定値の統計値に基づいて、もしくは、
推定された遅延時間の平均値または指数移動平均値が前記遅延時間の最小値よりも予め設定された閾値以上増加した場合、その時点での前記遅延時間と前記ネットワーク機器におけるデータパケットの単位時間当たりの通過量とを積算した値に基づいて、もしくは、
前記ネットワーク機器を通過する確認応答パケットに記載されている受信ウィンドウサイズと、前記ネットワーク機器がデータパケットを破棄した後にデータパケットの前記ネットワーク機器の通過が停止する時間と、に基づいて、
前記上限値を設定する処理を実行させる送信データ量制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク技術に関し、特に、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）を用いたデータパケットの送受信を行うネットワーク技術に関する。
【背景技術】
【０００２】
近年、インターネットの回線容量の増大や多様なメディア情報を扱う通信技術の整備に伴い、リッチメディアによる情報配信をモバイル端末から、いつでもどこでも楽しめるようになってきた。こうしたライフスタイルは広く浸透してきており、その情報配信を支える高速なモバイル環境として、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）やＬＴＥ−Ａ（ＬＴＥ  Ａｄｖａｎｃｅｄ）といったモバイル通信技術が普及しつつある。【０００３】
ＬＴＥなどの高速モバイル通信環境においては、無線区間における帯域変動の影響を吸収するため、ｅＮｏｄｅＢなどのＬＴＥ無線基地局に、大容量のバッファが設けられている。また、ＲＬＣ（Ｒａｄｉｏ  Ｌｉｎｋ  Ｃｏｎｔｒｏｌ）層におけるＡＲＱ（Ａｕｔｏｍａｔｉｃ  Ｒｅｐｅａｔ  ｒｅＱｕｅｓｔ）技術やＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）層におけるＨＡＲＱ（Ｈｙｂｒｉｄ  ＡＲＱ）技術によって、無線区間でビットエラーが発生した場合に下位層で再送を行ってデータを修復する。このため、ネットワーク層より上位の層では、パケットの破損はほとんど発生しなくなってきている。【０００４】
一方で、有線、無線の何れのデータ通信においても広く用いられているトランスポート層プロトコルであるＴＣＰでは、パケットロスを検知した際に輻輳が発生したと判断して送信レートを低下させる、ロスベースの輻輳制御を行う方式が多い。この方式は、ＣＵＢＩＣ  ＴＣＰ（非特許文献１）やＴＣＰ  ＮｅｗＲｅｎｏ（非特許文献２）に代表される。前述のように、近年のモバイル通信ではビットエラーに伴うパケットの破損が発生しにくい。そのため、ロスベースの輻輳制御を用いるＴＣＰでは、前記大容量のバッファがあふれてパケットロスが発生するまで輻輳ウィンドウサイズ（ｃｏｎｇｅｓｔｉｏｎ  ｗｉｎｄｏｗ  ｓｉｚｅ、ｃｗｎｄ）を増加し続ける。ｃｗｎｄが膨大になってからパケットロスが発生すると、ロスしたパケットの再送後に続けて送出可能なパケット量が少なくなるため、パケットの送出が停止する可能性がある。パケットロスに伴ってパケットの送出が停止すると、ＴＣＰスループットの低下や、映像や音声などのストリーミングコンテンツの再生途絶などが発生し、ユーザの体感品質が著しく損なわれるという不都合が生じる。【０００５】
前記問題に対し、これまでに特許文献１のような改善策が講じられてきた。特許文献１は、ネットワークの途中に中継装置を設置し、中継装置の前後のネットワーク種別（有線網や無線網など）に応じてＴＣＰのパラメータを変更する技術である。特許文献１で例示されているＴＣＰのパラメータは、再送タイムアウト時間（Ｒｅｔｒａｎｓｍｉｓｓｉｏｎ  Ｔｉｍｅ  Ｏｕｔ、ＲＴＯ）の最大値、最小値と、初期ウィンドウサイズである。これらを、例えば、送信バッファサイズなどといった送出パケット量に関わる他のＴＣＰのパラメータに適用することも類推可能である。本技術によって、送出パケット量に関わるＴＣＰのパラメータをネットワーク種別に応じて設定することにより、ＬＴＥ網などにおいて送出パケット量を制限してパケットの送出停止を軽減し、ユーザの体感品質を向上させることができる。また、関連する技術が特許文献２、特許文献３、特許文献４に開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−２２９８３４号公報
【特許文献２】国際公開第２０１１／０５２０７９号
【特許文献３】特開２０１３／１９１９３１号公報
【特許文献４】特開２００８／７８９６６号公報
【非特許文献】
【０００７】
【非特許文献１】Ｓ．Ｈａ，Ｉ．Ｒｈｅｅ，ａｎｄ  Ｌ．Ｘｕ，‘ＣＵＢＩＣ：Ａ  Ｎｅｗ  ＴＣＰ−Ｆｒｉｅｎｄｌｙ  Ｈｉｇｈ−Ｓｐｅｅｄ  ＴＣＰ  Ｖａｒｉａｎｔ’，Ｉｎ  Ｐｒｏｃ．ｏｆ  ＡＣＭ  ＳＩＧＯＰＳ，ｖｏｌ．４２，ｎｏ．５，ｐｐ．６４−７４，Ｎｅｗ  Ｙｏｒｋ，ＮＹ，ＵＳＡ，Ｊｕｌ．２００８．
【非特許文献２】Ｓ．Ｆｌｏｙｄ  ａｎｄ  Ｔ．Ｈｅｎｄｅｒｓｏｎ，‘Ｔｈｅ  ＮｅｗＲｅｎｏ  Ｍｏｄｉｆｉｃａｔｉｏｎ  ｔｏ  ＴＣＰ’ｓ  Ｆａｓｔ  Ｒｅｃｏｖｅｒｙ  Ａｌｇｏｒｉｔｈｍ’，ＲＦＣ  ２５８２，Ａｐｒ．１９９９．
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１は、同じ種別のネットワークにおいては同じパラメータしか設定できないため、送出パケット量の制限が柔軟に行えないという課題を抱えている。例えば、同じネットワーク種別でも異なるネットワーク事業者が運用する場合には、無線基地局の有するバッファの容量は異なる可能性がある。また、設備拡充の過渡期などでは、前記バッファの容量が異なるネットワーク設備が混在する可能性がある。また、前記バッファの容量が同じでも、クロストラヒックなどの影響によって早期に前記バッファがあふれる可能性がある。特許文献１のようにネットワーク種別に応じてパラメータを設定するだけでは、上記のような場合に対応できず、依然としてパケットの送出停止が発生し、ユーザの体感品質が損なわれるという不都合が生じる。【０００９】
また、特許文献２には、異なるネットワーク間での通信速度を揃えるように、ゲートウェイ装置において、通信速度制限に関わる数値を変換する方法が開示されている。しかしながら、ネットワークの状態に合わせて輻輳ウィンドウサイズに制限を与え、送出パケット量を適切に制御してパケットの送出停止を抑制することには対応できていない。【００１０】
本発明は、上記の課題に鑑みてなされたものであり、その目的は、送信バッファ容量などのネットワークの状況に合わせて、送出パケット量を適切に制御してパケットの送出停止を抑制し、ユーザの体感品質を向上させるネットワークを実現することである。
【課題を解決するための手段】
【００１１】
本発明による送信データ量制御装置は、ＴＣＰを用いたデータパケットの送受信における、確認応答パケットやデータパケット量や同時送信データ量履歴に基づく情報に基づいて、前記同時送信データ量の上限値を設定する送信上限データ量算出手段と、前記上限値に基づいて、前記同時送信データ量を制限する制御信号を出力する送信データ量制限手段と、を有する。【００１２】
本発明による送信データ量制御システムは、ＴＣＰを用いたデータパケットの送受信における、確認応答パケットやデータパケット量や同時送信データ量履歴に基づく情報に基づいて、前記同時送信データ量の上限値を設定する送信上限データ量算出手段と、前記上限値に基づいて、前記同時送信データ量を制限する制御信号を出力する送信データ量制限手段と、を有する送信データ量制御装置と、入力される前記制御信号に基づく量の前記データパケットを送信するとともに、前記送信データ量制御装置に供給するデータ送信装置と、を有する。【００１３】
本発明による送信データ量制御方法は、ＴＣＰを用いたデータパケットの送受信における、確認応答パケットやデータパケット量や同時送信データ量履歴に基づく情報に基づいて、前記同時送信データ量の上限値を設定し、前記上限値に基づいて、前記同時送信データ量を制限する。【００１４】
本発明による送信データ量制御プログラムは、ＴＣＰを用いたデータパケットの送受信における、確認応答パケットやデータパケット量や同時送信データ量履歴に基づく情報に基づいて、前記同時送信データ量の上限値を設定する処理と、前記上限値に基づいて、前記同時送信データ量を制限する処理と、を実行させる。
【発明の効果】
【００１５】
本発明によれば、送信バッファ容量などのネットワークの状況に合わせて、送出パケット量を適切に制御してパケットの送出停止を抑制し、ユーザの体感品質を向上させるネットワークを実現することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態の送信データ量制御装置の構成を示すブロック図である。
【図２】本発明の第２の実施形態の送信データ量制御システムの構成を示すブロック図である。
【図３】本発明の第２の実施形態の送信データ量制御システムの動作を示すフローチャートである。
【図４】本発明の第３の実施形態の送信データ量制御システムの構成を示すブロック図である。
【図５】本発明の第３の実施形態の送信データ量制御システムの動作を示すフローチャートである。
【図６】本発明の第４の実施形態の送信データ量制御システムの構成を示すブロック図である。
【図７】本発明の第４の実施形態の送信データ量制御システムの動作を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、図を参照しながら、本発明の実施形態を詳細に説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
（第１の実施形態）
図１は、本発明の第１の実施形態の送信データ量制御装置の構成を示すブロック図である。本実施形態の送信データ量制御装置１は、ＴＣＰを用いたデータパケットの送受信における、確認応答パケットやデータパケット量や同時送信データ量履歴に基づく情報に基づいて、前記同時送信データ量の上限値を設定する送信上限データ量算出手段２を有する。さらに、前記上限値に基づいて、前記同時送信データ量を制限する制御信号を出力する送信データ量制限手段３を有する。
【００１８】
本実施形態によれば、送信バッファ容量などのネットワークの状況に合わせて、送出パケット量を適切に制御してパケットの送出停止を抑制し、ユーザの体感品質を向上させるネットワークを実現することができる。
（第２の実施形態）
図を参照しながら、本発明の第２の実施形態を説明する。
［構成の説明］
図２は、本発明の第２の実施形態の送信データ量制御システムの構成を示すブロック図である。本実施形態の送信データ量制御システム４は、データ送信装置１０ａとデータ受信装置２０ａとネットワーク３０ａとを有する。
【００１９】
データ送信装置１０ａは、データ受信装置２０ａのユーザから要求されたデータを保持するオリジンサーバとすることができる。また、キャッシュサーバやプロキシサーバ、エッジサーバなどのように、ネットワーク３０ａの中に設置され、オリジンサーバとデータ受信装置２０ａの間のデータ通信を一度終端する中継サーバ装置とすることもできる。データ送信装置１０ａは、データ受信装置２０ａに対してＴＣＰなどのコネクションを確立し、データ受信装置２０ａから要求されたデータをデータ受信装置２０ａに送信する。
【００２０】
データ受信装置２０ａは、例えばＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）や携帯端末などのように、ユーザがネットワーク３０ａを介してデータ送信装置１０ａにデータを要求し取得する装置である。
【００２１】
ネットワーク３０ａは、データ送信装置１０ａとデータ受信装置２０ａとを繋げてデータ通信を行う。
【００２２】
なお、前述のようにデータ送信装置１０ａは、オリジンサーバがデータ受信装置２０ａにデータを送信する際の中継サーバ装置として、経路の途中に配置されていても良い。その場合は、データ受信装置２０ａから見てデータ送信装置１０ａの後ろ側に、オリジンサーバやオリジンサーバを繋ぐ別のネットワークなどを有していても良い。
【００２３】
データ送信装置１０ａは、データ送受信手段１１と送信レート制御手段１２と送信上限データ量算出手段１３と送信データ量制限手段１４とを有する。データ受信装置２０ａは、データ送受信手段２１を有する。
【００２４】
データ送受信手段１１は、送信レート制御手段１２が決定した送信レートをもとに、ネットワーク３０ａを経由して、データ受信装置２０ａのデータ送受信手段２１に向けて、データパケットの送信およびＡＣＫ（ＡＣＫｎｏｗｌｅｄｇｅｍｅｎｔ、確認応答）パケットの受信を行う。
【００２５】
送信レート制御手段１２は、データ送受信手段１１が受信したＡＣＫパケットの情報と、送信データ量制限手段１４が制御する同時送信データ量の制限とに基づいて、データパケットの同時送信量を制御する。
【００２６】
送信上限データ量算出手段１３は、データ送受信手段１１が受信したＡＣＫパケットの情報や送信したデータパケットの量や、送信レート制御手段１２が決定した同時送信データ量の履歴などに基づいて、同時送信データ量の上限値を設定する。
【００２７】
送信データ量制限手段１４は、送信上限データ量算出手段１３の決定した同時送信データ量の上限値に基づいて、送信レート制御手段１２の決定する同時送信データ量に制限を与える。
【００２８】
データ送受信手段２１は、ネットワーク３０ａを経由してデータ送信装置１０ａに向けて、データ要求の送信、およびデータパケットの受信、およびＡＣＫパケットの送信を行う。
【００２９】
データ送受信手段１１は、データ受信装置２０ａのデータ送受信手段２１からデータ要求のメッセージを取得した際に、送信レート制御手段１２で設定された同時送信データ量に従って要求されたデータのパケットをデータ送受信手段２１に送信する。ここで、データ送信装置１０ａがオリジンサーバの場合、自身でオリジナルデータをすべて保持しているため、データ送受信手段１１は設定された同時送信データ量に従ってデータを送信することができる。
【００３０】
また、データ送信装置１０ａが中継サーバ装置の場合、オリジナルデータを予め自身の記憶領域にキャッシュとして複製したり、オリジンサーバから送信されてきているデータストリームを一時的にバッファとして溜めたりする。これにより、オリジンサーバとデータ送信装置１０ａとの間のネットワークのスループットに依存せず、データ送受信手段１１は設定された同時送信データ量に従ってデータを送信することができる。
【００３１】
さらに、データ送受信手段１１は、データ送受信手段２１からデータパケットに対応するＡＣＫパケットを受信すると、ＡＣＫパケットから次の情報を取得する。すなわち、データ送信装置１０ａとデータ受信装置２０ａとの間の通信の往復遅延（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ、ＲＴＴ）や、受信ウィンドウサイズ（Ｒｅｃｅｉｖｅ  ＷＩＮｄｏｗ  ｓｉｚｅ、ＲＷＩＮ）や、通信における輻輳の程度を示す重複ＡＣＫや、再送タイムアウト時間の超過や、明示的輻輳通知（Ｅｘｐｌｉｃｉｔ  Ｃｏｎｇｅｓｔｉｏｎ  Ｎｏｔｉｆｉｃａｔｉｏｎ、ＥＣＮ）のメッセージ等の情報である。データ送受信手段１１は、これらの情報を送信レート制御手段１２に通知する。前記情報の取得と通知の方法は、既知のＴＣＰの方法と同様とすることができる。
【００３２】
送信レート制御手段１２は、ネットワーク３０ａを経由してデータ受信装置２０ａへ送信するデータパケットの同時送信量を制御する。この制御は、データ送受信手段１１がＡＣＫパケットを受信した際に、または、一定時間ごとに、データ送受信手段１１が受信したＡＣＫパケットから得られる情報と、送信データ量制限手段１４が決定する同時送信データ量の制限とに基づいて行われる。ここで、ＡＣＫパケットから得られる情報は、例えば、ＲＴＴや、ＲＷＩＮや、重複ＡＣＫや、再送タイムアウト時間の超過や、ＥＣＮのメッセージである。また、前記情報に限らず、既知のＴＣＰが利用し得る他の情報であっても良い。
【００３３】
また、ここで、データパケットの同時送信量の制御方法は、既知のＴＣＰの制御に対し、送信データ量制限手段１４が決定する同時送信データ量の制限を加えたものである。既知のＴＣＰの制御は、ネットワークの混雑を回避するための輻輳制御と、データ受信装置２０ａのメモリあふれを回避するためのフロー制御からなる。
【００３４】
輻輳制御はデータ送信装置１０ａの管理するｃｗｎｄを増減させる。増減の方法は、例えばＣＵＢＩＣ  ＴＣＰ（非特許文献１）やＴＣＰ  ＮｅｗＲｅｎｏ（非特許文献２）である。また、前記増減方法に限らず、その他の既知のＴＣＰの輻輳制御方式と同様の増減方法であっても良い。また、フロー制御はデータ受信装置２０ａから通知されたＲＷＩＮを超えないようにデータパケットの同時送信量を制限する。また、同時送信データ量の制限は、送信データ量制限手段１４が決定する後述のパラメータを読み込み、このパラメータを超えないようにデータパケットの同時送信量を制限する。結果として、送信レート制御手段１２は、ｃｗｎｄとＲＷＩＮと前記パラメータのいずれも超えない量のデータパケットを、ＡＣＫパケットの到着を待たずに送信できる。
【００３５】
送信上限データ量算出手段１３は、同時送信データ量の上限値を設定する。この設定は、データ送受信手段１１がＡＣＫパケットを受信した際に、または、一定時間ごとに、データ送受信手段１１が受信したＡＣＫパケットの情報や、送信したデータパケットの量や、送信レート制御手段１２が決定した同時送信データ量の履歴等に基づく。ここで、上限値の設定には、例えば、過去にパケットロスを検知した際のｃｗｎｄ、または、ネットワーク３０ａを通信中の未ＡＣＫデータ量ｉｎ＿ｆｌｉｇｈｔの履歴の統計値を、上限値として設定することができる。統計値は、前記履歴の指数移動平均、または、過去の一定時間における最大値、または、既知の手法によって外れ値を除いた値の、いずれかによって求めることができる。また、パケットロスを抑制させるために、前記統計値から数パケットだけ減らした値を上限値として設定しても良い。
【００３６】
また、前記設定方法に限らず、次のような方法であっても良い。すなわち、データ送受信手段１１が計測または算出したＲＴＴを監視し、ＲＴＴの平均値または指数移動平均値がＲＴＴの最小値よりも予め設定された閾値以上増加した場合に、その時点でのＲＴＴとスループットを積算した値を上限値に設定しても良い。また、データ送受信手段１１が受信したＡＣＫパケットに記載されているＲＷＩＮの値に、予め設定された０．５以上１．０以下の定数αを積算した値を上限値として設定しても良い。また、パケットロス後にデータ送受信手段１１からパケット送出が停止する時間を監視し、停止時間が長いほど値が小さくなる０．５以上１．０以下の変数βを算出し、前記定数αの代わりに変数βをＲＷＩＮに積算した値を上限値として設定しても良い。また、これら１つ以上の設定方法で算出された値の内の、最大値または最小値を上限値として設定しても良い。
【００３７】
送信データ量制限手段１４は、送信上限データ量算出手段１３が同時送信データ量の上限値を設定した際に、前記上限値に基づいて、送信レート制御手段１２の決定する同時送信データ量に制限を与える。ここで、制限を与える方法は、例えば、ＴＣＰの輻輳制御が増減させるｃｗｎｄに最大値を新たに設け、この最大値に上限値を設定する方法である。また、前記方法に限らず、例えば、通信ソケットのオプションの送信バッファサイズとして上限値を設定する方法であっても良いし、データ送信装置１０ａのカーネル変数の送信メモリサイズとして上限値を設定する方法であっても良い。
【００３８】
データ受信装置２０ａは、ネットワーク３０ａを経由してデータ送信装置１０ａに向けてデータ要求の送信、およびデータパケットの受信、およびＡＣＫパケットの送信を行うデータ送受信手段２１を有する。そして、データ送信装置１０ａまたはオリジンサーバから要求したデータが配信された際に、ユーザに前記データを提示する。
【００３９】
データ送受信手段２１は、ユーザからデータ取得の要求がされた際に、ネットワーク３０ａを経由してデータ送信装置１０ａまたはオリジンサーバに向けてデータのリクエストを送信する。また、データ送信装置１０ａのデータ送受信手段１１からデータパケットを受信した際に、データパケットに対応するＡＣＫパケットをデータ送受信手段１１に送信する。ここで、ＡＣＫパケットは既知のＴＣＰが送信するＡＣＫパケットと同様とすることができる。
［動作の説明］
次に、図２と図３を参照して本実施形態の送信データ量制御システムの動作について詳細に説明する。図３は、本実施形態の送信データ量制御システム４の動作を示すフローチャートである。
【００４０】
（ステップＳ１１）  データ送受信手段１１は、データ送受信手段２１からデータ要求のメッセージを取得した際に、送信レート制御手段１２で設定された同時送信データ量に従って要求されたデータのパケットをデータ送受信手段２１に送信する。
【００４１】
（ステップＳ１２）  データ送受信手段２１は、データ送受信手段１１からデータパケットを受信した際に、データパケットに対応するＡＣＫパケットをデータ送受信手段１１に送信する。
【００４２】
（ステップＳ１３）  データ送受信手段１１は、データ送受信手段２１からＡＣＫパケットを受信した際に、ＡＣＫパケットから、ＲＴＴ、およびＲＷＩＮ、及び重複ＡＣＫや、再送タイムアウト時間の超過や、ＥＣＮのメッセージ等の情報を取得し、送信レート制御手段１２に通知する。
【００４３】
（ステップＳ１４）  送信上限データ量算出手段１３は、データ送受信手段１１がＡＣＫパケットを受信した際に、または、一定時間ごとに、同時送信データ量の上限値を設定する。送信上限データ量算出手段１３は、この上限値を、データ送受信手段１１が受信したＡＣＫパケットの情報や送信したデータパケットの量や、送信レート制御手段１２が決定した同時送信データ量の履歴などに基づいて、設定する。
【００４４】
（ステップＳ１５）  送信データ量制限手段１４は、送信上限データ量算出手段１３が同時送信データ量の上限値を決定した際に、前記上限値に基づいて、送信レート制御手段１２の決定する同時送信データ量に制限を与える。
【００４５】
（ステップＳ１６）  送信レート制御手段１２は、ネットワーク３０ａを経由してデータ受信装置２０ａへ送信するデータパケットの同時送信量を制御する。送信レート制御手段１２は、この制御を、データ送受信手段１１が受信したＡＣＫパケットから得られる情報と、送信データ量制限手段１４が決定する同時送信データ量の制限とに基づいて行う。
【００４６】
本実施形態の送信データ量制御方法は、上記の送信データ量制御システム４の構成および動作で説明した動作をする制御方法である。また、本実施形態の送信データ量制御プログラムは、本実施形態の送信データ量制御方法の処理を実行させる制御プログラムである。
【００４７】
以上のように、本実施形態によれば、送信バッファ容量などのネットワークの状況に合わせて、送出パケット量を適切に制御してパケットの送出停止を抑制し、ユーザの体感品質を向上させるネットワークを実現することができる。
（第３の実施形態）
図を参照しながら、本発明の第３の実施形態を説明する。
［構成の説明］
図４は、本発明の第３の実施形態の送信データ量制御システムの構成を示すブロック図である。本実施形態の送信データ量制御システム５は、データ送信装置１０ｂとデータ受信装置２０ｂとネットワーク３０ｂとを有する。データ送信装置１０ｂは、データ送受信手段１１と送信レート制御手段１２とを有する。データ受信装置２０ｂは、データ送受信手段２１と送信上限データ量算出手段２３と送信データ量制限手段２４とを有する。
【００４８】
本実施形態と第２の実施形態との違いは次の通りである。すなわち、第２の実施形態の送信データ量制御システム４では、データ送信装置１０ａが送信上限データ量算出手段１３と送信データ量制限手段１４とを有する。それに対し、本実施形態の送信データ量制御システム５では、データ受信装置２０ｂが送信上限データ量算出手段２３と送信データ量制限手段２４とを有する。
【００４９】
送信上限データ量算出手段２３は、データ送受信手段２１が受信したデータパケットの量や受信の時間間隔から、ＲＴＴや、送信レート制御手段１２が制御するｃｗｎｄや、ネットワーク３０ｂの中を通信している最中の未ＡＣＫデータ量ｉｎ＿ｆｌｉｇｈｔ等を推定する。さらに、推定した値に基づいて、同時送信データ量の上限値を設定する。
【００５０】
送信データ量制限手段２４は、送信上限データ量算出手段２３の決定した同時送信データ量の上限値に基づいて、データ送信装置１０ｂの送信レート制御手段１２が決定する同時送信データ量に制限を与える。
【００５１】
送信上限データ量算出手段２３は、データ送受信手段２１がデータパケットを受信した際に、または、一定時間ごとに、データパケットの量や受信の時間間隔から、次の値を推定する。すなわち、ＲＴＴや、送信レート制御手段１２が制御するｃｗｎｄや、ネットワーク３０ｂの中を通信している最中の未ＡＣＫデータ量ｉｎ＿ｆｌｉｇｈｔ等を推定する。さらに、推定した値に基づいて、同時送信データ量の上限値を設定する。
【００５２】
ここで、上限値の設定には、例えば、過去に３回連続で重複ＡＣＫをデータ送受信手段１１に送信した際の、ｃｗｎｄまたはｉｎ＿ｆｌｉｇｈｔの推定値の統計値を上限値として設定することができる。前記統計値は、前記推定値の指数移動平均、または過去の一定時間における最大値、または既知の手法によって外れ値を除いた値のいずれかによって求めることができる。また、パケットロスを抑制させるために前記統計値から数パケットだけ減らした値を上限値として設定しても良い。
【００５３】
また、前記設定方法に限らず、ＲＴＴの推定値の平均値または指数移動平均値がＲＴＴの推定値の最小値よりも予め設定された閾値以上増加した場合に、その時点でのＲＴＴの推定値とデータパケットの受信速度を積算した値を上限値としても良い。また、ｃｗｎｄまたはｉｎ＿ｆｌｉｇｈｔの推定値に、予め設定された１．０以上の定数γを積算した値を上限値としても良い。また、これら１つ以上の設定方法で算出された値のうち最大値または最小値を上限値としても良い。
【００５４】
送信データ量制限手段２４は、送信上限データ量算出手段２３が同時送信データ量の上限値を設定した際に、前記上限値に基づいて、データ送信装置１０ｂの送信レート制御手段１２が決定する同時送信データ量に制限を与える。この制限を与える方法は、例えば、データ受信装置２０ｂのＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が増減させるＲＷＩＮに最大値をさらに設け、この最大値に上限値を設定する方法である。また、前記方法に限らず、例えば、通信ソケットのオプションの受信バッファサイズとして上限値を設定する方法であっても良いし、データ受信装置２０ｂのカーネル変数の受信メモリサイズとして上限値を設定する方法であっても良い。
【００５５】
送信レート制御手段１２は、データ受信装置２０ｂのデータ送受信手段２１とデータ送受信手段１１を経由して、ＲＷＩＮの情報を取得する。そして、前記情報に基づいて、既知のＴＣＰと同様に、フロー制御によりＲＷＩＮを超えないようにデータパケットの同時送信量を制限する。これによって、同時送信量は、送信上限データ量算出手段２３が決定した上限値に制限される。
［動作の説明］
次に、図４と図５を参照して本実施形態の送信データ量制御システムの動作について詳細に説明する。図５は、本実施形態の送信データ量制御システム５の動作を示すフローチャートである。
【００５６】
（ステップＳ２１）  送信上限データ量算出手段２３は、データ送受信手段２１がデータパケットを受信した際に、または、一定時間ごとに、データパケットの量や受信の時間間隔から、次の値を推定する。すなわち、ＲＴＴや、送信レート制御手段１２が制御するｃｗｎｄや、ネットワーク３０ｂの中を通信している最中の未ＡＣＫデータ量ｉｎ＿ｆｌｉｇｈｔなどを推定する。さらに、推定した値に基づいて、同時送信データ量の上限値を設定する。
【００５７】
（ステップＳ２２）  送信データ量制限手段２４は、送信上限データ量算出手段２３が同時送信データ量の上限値を決定した際に、前記上限値に基づいて、データ送信装置１０ｂの送信レート制御手段１２が決定する同時送信データ量に制限を与える。
【００５８】
（ステップＳ２３）  送信レート制御手段１２は、データ受信装置２０ｂのデータ送受信手段２１とデータ送受信手段１１を経由して、ＲＷＩＮの情報を取得する。そして、前記情報に基づいて、既知のＴＣＰと同様に、フロー制御によりＲＷＩＮを超えないようにデータパケットの同時送信量を制限する。
【００５９】
本実施形態の送信データ量制御方法は、上記の送信データ量制御システム５の構成および動作で説明した動作をする制御方法である。また、本実施形態の送信データ量制御プログラムは、本実施形態の送信データ量制御方法の処理を実行させる制御プログラムである。
【００６０】
以上のように、本実施形態によれば、送信バッファ容量などのネットワークの状況に合わせて、送出パケット量を適切に制御してパケットの送出停止を抑制し、ユーザの体感品質を向上させるネットワークを実現することができる。
（第４の実施形態）
図を参照しながら、本発明の第４の実施形態を説明する。
［構成の説明］
図６は、本発明の第４の実施形態の送信データ量制御システムの構成を示すブロック図である。本実施形態の送信データ量制御システム６は、データ送信装置１０ｃとデータ受信装置２０ｃとネットワーク３０ｃとを有する。データ送信装置１０ｃは、データ送受信手段１１と送信レート制御手段１２とを有する。データ受信装置２０ｃは、データ送受信手段２１を有する。
【００６１】
本実施形態と第２の実施形態との違いは次の通りである。すなわち、第２の実施形態の送信データ量制御システム４では、データ送信装置１０ａが送信上限データ量算出手段１３と送信データ量制限手段１４とを有する。これに対し、本実施形態の送信データ量制御システム６では、ネットワーク３０ｃ中のネットワーク機器３１が、送信上限データ量算出手段３３と送信データ量制限手段３４とを有する。
【００６２】
送信データ量制御システム６は、ネットワーク３０ｃの中に、例えばｅＮｏｄｅＢやＰ−ＧＷ（Ｐａｃｋｅｔ  Ｄａｔａ  Ｎｅｔｗｏｒｋ  Ｇａｔｅｗａｙ）やＳ−ＧＷ（Ｓｅｒｖｉｎｇ  Ｇａｔｅｗａｙ）などのようなネットワーク機器３１を備える。
【００６３】
送信上限データ量算出手段３３は、ネットワーク機器３１を通過したデータパケットの量や通過の時間間隔から、ＲＴＴや、送信レート制御手段１２が制御するｃｗｎｄや、ネットワーク３０ｃの中を通信している最中の未ＡＣＫデータ量ｉｎ＿ｆｌｉｇｈｔ等を推定する。さらに、推定した値に基づいて、同時送信データ量の上限値を設定する。
【００６４】
送信データ量制限手段３４は、送信上限データ量算出手段３３の決定した同時送信データ量の上限値に基づいて、データ送信装置１０ｃの送信レート制御手段１２が決定する同時送信データ量に制限を与える。
【００６５】
送信上限データ量算出手段３３は、データパケットがネットワーク機器３１を通過した際に、または、一定時間ごとに、通過したデータパケットの量や通過の時間間隔から、次の値を推定する。すなわち、ＲＴＴや、送信レート制御手段１２が制御するｃｗｎｄや、ネットワーク３０ｃの中を通信している最中の未ＡＣＫデータ量ｉｎ＿ｆｌｉｇｈｔなどを推定する。さらに、推定した値に基づいて、同時送信データ量の上限値を設定する。
【００６６】
ここで、前記上限値の設定には、例えば、ネットワーク機器３１でパケットロスが発生した際の、ｃｗｎｄまたはｉｎ＿ｆｌｉｇｈｔの推定値の統計値を上限値として設定することができる。前記統計値は、推定値の指数移動平均、または過去の一定時間における最大値、または既知の手法によって外れ値を除いた値のいずれかによって求める。また、パケットロスを抑制させるために前記統計値から数パケットだけ減らした値を上限値として設定しても良い。
【００６７】
また、前記に限らず、ＲＴＴの推定値の平均値または指数移動平均値がＲＴＴの推定値の最小値よりも予め設定された閾値以上増加した場合に、その時点でのＲＴＴの推定値と、データパケットの単位時間当たりの通過量とを積算した値を上限値としても良い。また、ネットワーク機器３１を通過するＡＣＫパケットに記載されているＲＷＩＮの値に、予め設定された０．５以上１．０以下の定数αを積算した値を上限値としても良い。また、パケットロス後にデータパケットのネットワーク機器３１の通過が停止する時間を監視し、停止時間が長いほど値が小さくなる０．５以上１．０以下の変数βを算出し、前記定数αの代わりに変数βをＲＷＩＮに積算した値を上限値としても良い。また、これら１つ以上の設定方法で算出された値のうち最大値または最小値を上限値として設定しても良い。
【００６８】
送信データ量制限手段３４は、送信上限データ量算出手段３３が同時送信データ量の上限値を決定した際に、前記上限値に基づいて、データ送信装置１０ｃの送信レート制御手段１２が決定する同時送信データ量に制限を与える。この制限を与える方法は、例えば、次のような方法である。すなわち、各通信セッションまたは通信セッション全体のｉｎ＿ｆｌｉｇｈｔの推定値、またはネットワーク機器３１に溜まっているキュー量が前記上限値を超えた際に、ネットワーク機器３１を通過したデータパケットのヘッダにフラグを付与する。このフラグは、ＥＣＮオプションのＣＥ（Ｃｏｎｇｅｓｔｉｏｎ  Ｅｘｐｅｒｉｅｎｃｅｄ）フラグである。また、前記方法に限らず、例えば、前記のように上限値を超えた際に、ネットワーク機器３１を通過したデータパケットをランダムに廃棄する方法であっても良い。
【００６９】
送信レート制御手段１２は、データ受信装置２０ｃのデータ送受信手段２１とデータ送受信手段１１を経由して、ＥＣＮのメッセージ、またはパケットロスに起因する重複ＡＣＫの情報を取得する。そして、前記情報に基づいて、既知のＴＣＰと同様に輻輳制御によりｃｗｎｄを制御する。これによって、データパケットの同時送信量は、送信上限データ量算出手段３３が決定した上限値に間接的に制限される。
［動作の説明］
次に、図６と図７を参照して本実施形態の送信データ量制御システムの動作について詳細に説明する。図７は、本実施形態の送信データ量制御システム６の動作を示すフローチャートである。
【００７０】
（ステップＳ３１）  送信上限データ量算出手段３３は、データパケットがネットワーク機器３１を通過した際に、または、一定時間ごとに、前記通過したデータパケットの量や通過の時間間隔から、次の値を推定する。すなわち、ＲＴＴや、送信レート制御手段１２が制御するｃｗｎｄや、ネットワーク３０ｃの中を通信している最中の未ＡＣＫデータ量ｉｎ＿ｆｌｉｇｈｔなどを推定する。さらに、推定した値に基づいて、同時送信データ量の上限値を設定する。
【００７１】
（ステップＳ３２）  送信データ量制限手段３４は、送信上限データ量算出手段３３が同時送信データ量の上限値を決定した際に、前記上限値に基づいて、データ送信装置１０ｃの送信レート制御手段１２が決定する同時送信データ量に制限を与える。
【００７２】
（ステップＳ３３）  送信レート制御手段１２は、データ受信装置２０ｃのデータ送受信手段２１とデータ送受信手段１１を経由して、ＥＣＮのメッセージ、またはパケットロスに起因する重複ＡＣＫの情報を取得する。そして、前記情報に基づいて、既知のＴＣＰと同様に輻輳制御によりｃｗｎｄを制御する。
【００７３】
本実施形態の送信データ量制御方法は、上記の送信データ量制御システム６の構成および動作で説明した動作をする制御方法である。また、本実施形態の送信データ量制御プログラムは、本実施形態の送信データ量制御方法の処理を実行させる制御プログラムである。
【００７４】
以上のように、本実施形態によれば、送信バッファ容量などのネットワークの状況に合わせて、送出パケット量を適切に制御してパケットの送出停止を抑制し、ユーザの体感品質を向上させるネットワークを実現することができる。
【００７５】
本発明は上記実施形態に限定されることなく、特許請求の範囲に記載した発明の範囲内で種々の変形が可能であり、それらも本発明の範囲内に含まれるものである。
【００７６】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【００７７】
付記
（付記１）
ＴＣＰを用いたデータパケットの送受信における、確認応答パケットやデータパケット量や同時送信データ量履歴に基づく情報に基づいて、前記同時送信データ量の上限値を設定する送信上限データ量算出手段と、
前記上限値に基づいて、前記同時送信データ量を制限する制御信号を出力する送信データ量制限手段と、を有する、送信データ量制御装置。
（付記２）
前記送信上限データ量算出手段と前記送信データ量制限手段とは前記送受信を行う際のデータ送信装置に具備され、
前記送信上限データ量算出手段は、
パケットロスを検知した際の輻輳ウィンドウサイズに基づいて、もしくは、
確認未応答データ量の統計値に基づいて、もしくは、
計測または算出された遅延時間の平均値または指数移動平均値が前記遅延時間の最小値よりも予め設定された閾値以上増加した場合に、その時点での前記遅延時間とスループットを積算した値に基づいて、もしくは、
前記データ送信装置が受信した前記確認応答パケットに記載されている受信ウィンドウサイズと、前記パケットロスの検知後に前記データ送信装置からデータパケットの送出が停止する時間とに基づいて、
前記上限値を設定する、付記１記載の送信データ量制御装置。
（付記３）
前記送信データ量制限手段は、前記上限値に基づいて、
前記輻輳ウィンドウサイズに最大値を設け前記最大値を変更することで、もしくは、
ソケットオプションの送信バッファサイズを、または前記データ送信装置のカーネル変数の送信メモリサイズを変更することで、
前記同時送信データ量を制限する、付記２記載の送信データ量制御装置。
（付記４）
前記送信上限データ量算出手段と前記送信データ量制限手段とは前記送受信を行う際のデータ受信装置に具備され、
前記送信上限データ量算出手段は、
パケットロスを検知した際の輻輳ウィンドウサイズの、または確認未応答データ量の、推定値の統計値に基づいて、もしくは、
推定された遅延時間の平均値または指数移動平均値が前記遅延時間の最小値よりも予め設定された閾値以上増加した場合に、その時点での前記遅延時間と、前記データ受信装置におけるデータパケットの単位時間当たりの受信量とを積算した値に基づいて、
前記上限値を設定する、付記１記載の送信データ量制御装置。
（付記５）
前記送信データ量制限手段は、前記上限値に基づいて、
受信ウィンドウサイズに最大値を設け、前記最大値を変更することで、もしくは、
ソケットオプションの受信バッファサイズ、または前記データ受信装置のカーネル変数の受信メモリサイズ、を変更することで、
前記同時送信データ量を制限する、付記４記載の送信データ量制御装置。
（付記６）
前記送信上限データ量算出手段と前記送信データ量制限手段とは前記送受信を行うネットワークの有するネットワーク機器に具備され、
前記送信上限データ量算出手段は、
前記ネットワーク機器がデータパケットを廃棄した際の輻輳ウィンドウサイズの、または確認未応答データ量の、推定値の統計値に基づいて、もしくは、
推定された遅延時間の平均値または指数移動平均値が前記遅延時間の最小値よりも予め設定された閾値以上増加した場合、その時点での前記遅延時間と前記ネットワーク機器におけるデータパケットの単位時間当たりの通過量とを積算した値に基づいて、もしくは、
前記ネットワーク機器を通過する確認応答パケットに記載されている受信ウィンドウサイズと、前記ネットワーク機器がデータパケットを破棄した後にデータパケットの前記ネットワーク機器の通過が停止する時間と、に基づいて、
前記上限値を設定する、付記１記載の送信データ量制御装置。
（付記７）
前記送信データ量制限手段は、前記上限値に基づいて、
明示的輻輳通知の輻輳検知フラグを付与するキュー量を変更することで、もしくは、
前記上限値を超えた際に前記ネットワーク機器を通過するデータパケットをランダムに廃棄することで、
前記同時送信データ量を制限する、付記６記載の送信データ量制御装置。
（付記８）
付記１乃至付記７のいずれかに記載された送信データ量制御装置と、
入力される前記制御信号に基づく量の前記データパケットを送信するとともに、前記送信データ量制御装置に供給するデータ送信装置と、を有する送信データ量制御システム。
（付記９）
前記送信上限データ量制御装置は前記データ送信装置に具備され、
前記送信上限データ量算出手段は、
パケットロスを検知した際の輻輳ウィンドウサイズに基づいて、もしくは、
確認未応答データ量の統計値に基づいて、もしくは、
計測または算出された遅延時間の平均値または指数移動平均値が前記遅延時間の最小値よりも予め設定された閾値以上増加した場合に、その時点での前記遅延時間とスループットを積算した値に基づいて、もしくは、
前記データ送信装置が受信した前記確認応答パケットに記載されている受信ウィンドウサイズと、前記パケットロスの検知後に前記データ送信装置からデータパケットの送出が停止する時間とに基づいて、
前記上限値を設定する、付記８記載の送信データ量制御システム。
（付記１０）
前記送信データ量制限手段は、前記上限値に基づいて、
前記輻輳ウィンドウサイズに最大値を設け前記最大値を変更することで、もしくは、
ソケットオプションの送信バッファサイズを、または前記データ送信装置のカーネル変数の送信メモリサイズを変更することで、
前記同時送信データ量を制限する、付記９記載の送信データ量制御システム。
（付記１１）
前記送信上限データ量制御装置は前記送受信を行う際のデータ受信装置に具備され、
前記送信上限データ量算出手段は、
パケットロスを検知した際の輻輳ウィンドウサイズの、または確認未応答データ量の、推定値の統計値に基づいて、もしくは、
推定された遅延時間の平均値または指数移動平均値が前記遅延時間の最小値よりも予め設定された閾値以上増加した場合に、その時点での前記遅延時間と、前記データ受信装置におけるデータパケットの単位時間当たりの受信量とを積算した値に基づいて、
前記上限値を設定する、付記８記載の送信データ量制御システム。
（付記１２）
前記送信データ量制限手段は、前記上限値に基づいて、
受信ウィンドウサイズに最大値を設け、前記最大値を変更することで、もしくは、
ソケットオプションの受信バッファサイズ、または前記データ受信装置のカーネル変数の受信メモリサイズ、を変更することで、
前記同時送信データ量を制限する、付記１１記載の送信データ量制御システム。
（付記１３）
前記送信上限データ量制御装置は前記送受信を行うネットワークの有するネットワーク機器に具備され、
前記送信上限データ量算出手段は、
前記ネットワーク機器がデータパケットを廃棄した際の輻輳ウィンドウサイズの、または確認未応答データ量の、推定値の統計値に基づいて、もしくは、
推定された遅延時間の平均値または指数移動平均値が前記遅延時間の最小値よりも予め設定された閾値以上増加した場合、その時点での前記遅延時間と前記ネットワーク機器におけるデータパケットの単位時間当たりの通過量とを積算した値に基づいて、もしくは、
前記ネットワーク機器を通過する確認応答パケットに記載されている受信ウィンドウサイズと、前記ネットワーク機器がデータパケットを破棄した後にデータパケットの前記ネットワーク機器の通過が停止する時間と、に基づいて、
前記上限値を設定する、付記８記載の送信データ量制御システム。
（付記１４）
前記送信データ量制限手段は、前記上限値に基づいて、
明示的輻輳通知の輻輳検知フラグを付与するキュー量を変更することで、もしくは、
前記上限値を超えた際に前記ネットワーク機器を通過するデータパケットをランダムに廃棄することで、
前記同時送信データ量を制限する、付記１３記載の送信データ量制御システム。
（付記１５）
ＴＣＰを用いたデータパケットの送受信における、確認応答パケットやデータパケット量や同時送信データ量履歴に基づく情報に基づいて、前記同時送信データ量の上限値を設定し、
前記上限値に基づいて、前記同時送信データ量を制限する、送信データ量制御方法。
（付記１６）
パケットロスを検知した際の輻輳ウィンドウサイズに基づいて、もしくは、
確認未応答データ量の統計値に基づいて、もしくは、
計測または算出された遅延時間の平均値または指数移動平均値が前記遅延時間の最小値よりも予め設定された閾値以上増加した場合に、その時点での前記遅延時間とスループットを積算した値に基づいて、もしくは、
前記送受信を行う際のデータ送信装置が受信した前記確認応答パケットに記載されている受信ウィンドウサイズと、前記パケットロスの検知後に前記データ送信装置からデータパケットの送出が停止する時間とに基づいて、
前記上限値を設定する、付記１５記載の送信データ量制御方法。
（付記１７）
前記上限値に基づいて、
前記輻輳ウィンドウサイズに最大値を設け前記最大値を変更することで、もしくは、
ソケットオプションの送信バッファサイズを、または前記データ送信装置のカーネル変数の送信メモリサイズを変更することで、
前記同時送信データ量を制限する、付記１６記載の送信データ量制御方法。
（付記１８）
パケットロスを検知した際の輻輳ウィンドウサイズの、または確認未応答データ量の、推定値の統計値に基づいて、もしくは、
推定された遅延時間の平均値または指数移動平均値が前記遅延時間の最小値よりも予め設定された閾値以上増加した場合に、その時点での前記遅延時間と、前記送受信を行う際のデータ受信装置におけるデータパケットの単位時間当たりの受信量とを積算した値に基づいて、
前記上限値を設定する、付記１５記載の送信データ量制御方法。
（付記１９）
前記上限値に基づいて、
受信ウィンドウサイズに最大値を設け、前記最大値を変更することで、もしくは、
ソケットオプションの受信バッファサイズ、または前記データ受信装置のカーネル変数の受信メモリサイズ、を変更することで、
前記同時送信データ量を制限する、付記１８記載の送信データ量制御方法。
（付記２０）
前記送受信を行うネットワークの有するネットワーク機器がデータパケットを廃棄した際の輻輳ウィンドウサイズの、または確認未応答データ量の、推定値の統計値に基づいて、もしくは、
推定された遅延時間の平均値または指数移動平均値が前記遅延時間の最小値よりも予め設定された閾値以上増加した場合、その時点での前記遅延時間と前記ネットワーク機器におけるデータパケットの単位時間当たりの通過量とを積算した値に基づいて、もしくは、
前記ネットワーク機器を通過する確認応答パケットに記載されている受信ウィンドウサイズと、前記ネットワーク機器がデータパケットを破棄した後にデータパケットの前記ネットワーク機器の通過が停止する時間と、に基づいて、
前記上限値を設定する、付記１５記載の送信データ量制御方法。
（付記２１）
前記上限値に基づいて、
明示的輻輳通知の輻輳検知フラグを付与するキュー量を変更することで、もしくは、
前記上限値を超えた際に前記ネットワーク機器を通過するデータパケットをランダムに廃棄することで、
前記同時送信データ量を制限する、付記２０記載の送信データ量制御方法。
（付記２２）
ＴＣＰを用いたデータパケットの送受信における、確認応答パケットやデータパケット量や同時送信データ量履歴に基づく情報に基づいて、前記同時送信データ量の上限値を設定する処理と、
前記上限値に基づいて、前記同時送信データ量を制限する処理と、を実行させる送信データ量制御プログラム。
（付記２３）
パケットロスを検知した際の輻輳ウィンドウサイズに基づいて、もしくは、
確認未応答データ量の統計値に基づいて、もしくは、
計測または算出された遅延時間の平均値または指数移動平均値が前記遅延時間の最小値よりも予め設定された閾値以上増加した場合に、その時点での前記遅延時間とスループットを積算した値に基づいて、もしくは、
前記送受信を行う際のデータ送信装置が受信した前記確認応答パケットに記載されている受信ウィンドウサイズと、前記パケットロスの検知後に前記データ送信装置からデータパケットの送出が停止する時間とに基づいて、
前記上限値を設定する処理を実行させる、付記２２記載の送信データ量制御プログラム。
（付記２４）
前記上限値に基づいて、
前記輻輳ウィンドウサイズに最大値を設け前記最大値を変更することで、もしくは、
ソケットオプションの送信バッファサイズを、または前記データ送信装置のカーネル変数の送信メモリサイズを変更することで、
前記同時送信データ量を制限する処理を実行させる、付記２３記載の送信データ量制御プログラム。
（付記２５）
パケットロスを検知した際の輻輳ウィンドウサイズの、または確認未応答データ量の、推定値の統計値に基づいて、もしくは、
推定された遅延時間の平均値または指数移動平均値が前記遅延時間の最小値よりも予め設定された閾値以上増加した場合に、その時点での前記遅延時間と、前記送受信を行う際のデータ受信装置におけるデータパケットの単位時間当たりの受信量とを積算した値に基づいて、
前記上限値を設定する処理を実行させる、付記２２記載の送信データ量制御プログラム。
（付記２６）
前記上限値に基づいて、
受信ウィンドウサイズに最大値を設け、前記最大値を変更することで、もしくは、
ソケットオプションの受信バッファサイズ、または前記データ受信装置のカーネル変数の受信メモリサイズ、を変更することで、
前記同時送信データ量を制限する処理を実行させる、付記２５記載の送信データ量制御プログラム。
（付記２７）
前記送受信を行うネットワークの有するネットワーク機器がデータパケットを廃棄した際の輻輳ウィンドウサイズの、または確認未応答データ量の、推定値の統計値に基づいて、もしくは、
推定された遅延時間の平均値または指数移動平均値が前記遅延時間の最小値よりも予め設定された閾値以上増加した場合、その時点での前記遅延時間と前記ネットワーク機器におけるデータパケットの単位時間当たりの通過量とを積算した値に基づいて、もしくは、
前記ネットワーク機器を通過する確認応答パケットに記載されている受信ウィンドウサイズと、前記ネットワーク機器がデータパケットを破棄した後にデータパケットの前記ネットワーク機器の通過が停止する時間と、に基づいて、
前記上限値を設定処理を実行させる、付記２２記載の送信データ量制御プログラム。
（付記２８）
前記上限値に基づいて、
明示的輻輳通知の輻輳検知フラグを付与するキュー量を変更することで、もしくは、
前記上限値を超えた際に前記ネットワーク機器を通過するデータパケットをランダムに廃棄することで、
前記同時送信データ量を制限する処理を実行させる、付記２７記載の送信データ量制御プログラム。
【００７８】
この出願は、２０１４年６月６日に出願された日本出願特願２０１４−１１７１７５を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【００７９】
本発明は、ＴＣＰを用いたデータパケットの送受信を行う通信技術への利用が可能である。
【符号の説明】
【００８０】
１    送信データ量制御装置
２、１３、２３、３３    送信上限データ量算出手段
３、１４、２４、３４    送信データ量制限手段
４、５、６    送信データ量制御システム
１０、１０ａ、１０ｂ、１０ｃ    データ送信装置
２０、２０ａ、２０ｂ、２０ｃ    データ受信装置
３０、３０ａ、３０ｂ、３０ｃ    ネットワーク
１１、２１    データ送受信手段
１２    送信レート制御手段
３１    ネットワーク機器
【図１】
0006544353.tif 000002
【図２】
0006544353.tif 000003
【図３】
0006544353.tif 000004
【図４】
0006544353.tif 000005
【図５】
0006544353.tif 000006
【図６】
0006544353.tif 000007
【図７】
0006544353.tif 000008