(57)【要約】  より容易な方法で送信データ量を適切な範囲に制御し、通信資源全体のスループットの向上や遅延の短縮やパケット再送の抑制を実現することを可能とするため、自装置で測定可能な、送信データの送信に関する通信品質に基づいて、前記送信データの前記送信に使用する自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定し、前記通信セッションの前記混雑度に基づき送信データ量を決定し、前記送信データ量に基づき前記送信データの前記送信を行う。
2019004013.tif 000002
【特許請求の範囲】
【請求項１】
送信データ量に基づき送信データの送信を行うデータ送受信手段と、
自装置で測定可能な、前記送信データの前記送信に関する通信品質に基づいて、前記送信データの前記送信に使用する自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定する混雑度推定手段と、
前記通信セッションの前記混雑度に基づき前記送信データ量を決定する送信データ量決定手段と
を備えることを特徴とするデータ送信装置。
【請求項２】
前記混雑度推定手段は、前記通信資源を共有する前記通信セッションの推定セッション数を推定し、前記推定セッション数および前記自セッションの前記混雑度に基づいて、前記通信セッションの前記混雑度の推定を行う
ことを特徴とする請求項１に記載のデータ送信装置。
【請求項３】
前記混雑度推定手段は、所定時間おきの前記自セッションのスループットの最大値に基づいて前記通信セッションの可用帯域を推定し、前記可用帯域とキューイング遅延の積を計算することで、前記通信セッションの前記混雑度を推定する
ことを特徴とする請求項１に記載のデータ送信装置。
【請求項４】
前記混雑度の目標値である目標混雑度を決定する目標混雑度決定手段
をさらに備え、
前記送信データ量決定手段は、前記混雑度および前記目標混雑度に基づき前記送信データ量を決定する
ことを特徴とする請求項１あるいは請求項３に記載のデータ送信装置。
【請求項５】
前記目標混雑度決定手段は、前記目標混雑度を、前記通信資源を共有する前記通信セッションの推定セッション数が大きくなるほど前記目標混雑度が小さくなるように補正する
ことを特徴とする請求項４に記載のデータ送信装置。
【請求項６】
前記混雑度の目標値である目標混雑度を決定する目標混雑度決定手段
をさらに備え、
前記送信データ量決定手段は、前記混雑度および前記目標混雑度に基づき前記送信データ量を決定する
ことを特徴とする請求項２に記載のデータ送信装置。
【請求項７】
前記目標混雑度決定手段は、前記目標混雑度を、前記推定セッション数が大きくなるほど前記目標混雑度が小さくなるように補正する
ことを特徴とする請求項６に記載のデータ送信装置。
【請求項８】
前記推定セッション数は、前記通信セッションの前記混雑度を前記自セッションの前記混雑度で除算したもの、所定時間おきの前記自セッションのスループットの最大値と平均値に基づいて推定したもの、前記自セッションで測定可能な前記通信品質の分布や統計値をあらかじめ測定し、通信中の前記分布や前記統計値を測定し、あらかじめ測定した前記分布や前記統計値と通信中の前記分布や前記統計値の近似度に基づいて推定したもの、輻輳検知フラグの付与されたＡＣＫパケットを受信したときに所定の値を前記通信セッションの前記混雑度であるとし、その時点での前記自セッションの前記混雑度と前記通信セッションの前記混雑度に基づいて推定したもの、のいずれかである
ことを特徴とする請求項２、請求項５から請求項７のいずれかに記載のデータ送信装置。
【請求項９】
前記混雑度推定手段および前記送信データ量決定手段を含む、一つ以上の送信制御機能群と、
前記自セッションが前記通信資源を共有する前記通信セッションのグループのいずれに属するかを判断する該当機能群決定手段
をさらに備え、
前記送信データ量決定手段の各々は、自身に対応した前記グループの前記自セッションの前記送信データ量を決定する
ことを特徴とする請求項１から請求項８のいずれかに記載のデータ送信装置。
【請求項１０】
前記混雑度は、前記通信資源を構成するネットワーク機器に滞留する滞留データ量、送信中データ量、過去一定期間内における前記滞留データ量または前記送信中データ量の増加量、ＡＣＫパケットの到着頻度の減少量、前記ＡＣＫパケットによって受信確認済みとなったデータ量と前記ＡＣＫパケットの到着間隔から推定した前記通信資源の減少量、データパケットのロスの発生頻度、ＲＴＴの増加量のいずれか一つ以上に関する指標である
ことを特徴とする請求項１から請求項９のいずれかに記載のデータ送信装置。
【請求項１１】
自装置で測定可能な、送信データの送信に関する通信品質に基づいて、前記送信データの前記送信に使用する自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定し、
前記通信セッションの前記混雑度に基づき送信データ量を決定し、
前記送信データ量に基づき前記送信データの前記送信を行う
ことを特徴とするデータ送信方法。
【請求項１２】
前記通信資源を共有する前記通信セッションの推定セッション数を推定し、前記推定セッション数および前記自セッションの前記混雑度に基づいて、前記通信セッションの前記混雑度の推定を行う
ことを特徴とする請求項１１に記載のデータ送信方法。
【請求項１３】
所定時間おきの前記自セッションのスループットの最大値に基づいて前記通信セッションの可用帯域を推定し、前記可用帯域とキューイング遅延の積を計算することで、前記通信セッションの前記混雑度を推定する
ことを特徴とする請求項１１に記載のデータ送信方法。
【請求項１４】
前記混雑度の目標値である目標混雑度を決定し、
前記混雑度および前記目標混雑度に基づき前記送信データ量を決定する
ことを特徴とする請求項１１あるいは請求項１３に記載のデータ送信方法。
【請求項１５】
前記目標混雑度を、前記通信資源を共有する前記通信セッションの推定セッション数が大きくなるほど前記目標混雑度が小さくなるように補正する
ことを特徴とする請求項１４に記載のデータ送信方法。
【請求項１６】
前記混雑度の目標値である目標混雑度を決定し、
前記混雑度および前記目標混雑度に基づき前記送信データ量を決定する
ことを特徴とする請求項１２に記載のデータ送信方法。
【請求項１７】
前記目標混雑度を、前記推定セッション数が大きくなるほど前記目標混雑度が小さくなるように補正する
ことを特徴とする請求項１６に記載のデータ送信方法。
【請求項１８】
前記推定セッション数は、前記通信セッションの前記混雑度を前記自セッションの前記混雑度で除算したもの、所定時間おきの前記自セッションのスループットの最大値と平均値に基づいて推定したもの、前記自セッションで測定可能な前記通信品質の分布や統計値をあらかじめ測定し、通信中の前記分布や前記統計値を測定し、あらかじめ測定した前記分布や前記統計値と通信中の前記分布や前記統計値の近似度に基づいて推定したもの、輻輳検知フラグの付与されたＡＣＫパケットを受信したときに所定の値を前記通信セッションの前記混雑度であるとし、その時点での前記自セッションの前記混雑度と前記通信セッションの前記混雑度に基づいて推定したもの、のいずれかである
ことを特徴とする請求項１２、請求項１５から請求項１７のいずれかに記載のデータ送信方法。
【請求項１９】
前記自セッションが前記通信資源を共有する前記通信セッションのグループのいずれに属するかを判断し、
前記グループの各々について、前記グループに属する前記自セッションの前記送信データ量を決定する
ことを特徴とする請求項１１から請求項１８のいずれかに記載のデータ送信方法。
【請求項２０】
前記混雑度は、前記通信資源を構成するネットワーク機器に滞留する滞留データ量、送信中データ量、過去一定期間内における前記滞留データ量または前記送信中データ量の増加量、ＡＣＫパケットの到着頻度の減少量、前記ＡＣＫパケットによって受信確認済みとなったデータ量と前記ＡＣＫパケットの到着間隔から推定した前記通信資源の減少量、データパケットのロスの発生頻度、ＲＴＴの増加量のいずれか一つ以上に関する指標である
ことを特徴とする請求項１１から請求項１９のいずれかに記載のデータ送信方法。
【請求項２１】
コンピュータに、
送信データ量に基づき送信データの送信を行うデータ送受信機能と、
自装置で測定可能な、前記送信データの前記送信に関する通信品質に基づいて、前記送信データの前記送信に使用する自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定する混雑度推定機能と、
前記通信セッションの前記混雑度に基づき前記送信データ量を決定する送信データ量決定機能と
を実現させることを特徴とするデータ送信プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２２】
前記混雑度推定機能は、前記通信資源を共有する前記通信セッションの推定セッション数を推定し、前記推定セッション数および前記自セッションの前記混雑度に基づいて、前記通信セッションの前記混雑度の推定を行う
ことを特徴とする請求項２１に記載のデータ送信プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２３】
前記混雑度推定機能は、所定時間おきの前記自セッションのスループットの最大値に基づいて前記通信セッションの可用帯域を推定し、前記可用帯域とキューイング遅延の積を計算することで、前記通信セッションの前記混雑度を推定する
ことを特徴とする請求項２１に記載のデータ送信プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２４】
前記混雑度の目標値である目標混雑度を決定する目標混雑度決定機能
をさらにコンピュータに実現させ、
前記送信データ量決定機能は、前記混雑度および前記目標混雑度に基づき前記送信データ量を決定する
ことを特徴とする請求項２１あるいは請求項２３に記載のデータ送信プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２５】
前記目標混雑度決定機能は、前記目標混雑度を、前記通信資源を共有する前記通信セッションの推定セッション数が大きくなるほど前記目標混雑度が小さくなるように補正する
ことを特徴とする請求項２４に記載のデータ送信プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２６】
前記混雑度の目標値である目標混雑度を決定する目標混雑度決定機能
をさらにコンピュータに実現させ、
前記送信データ量決定機能は、前記混雑度および前記目標混雑度に基づき前記送信データ量を決定する
ことを特徴とする請求項２２に記載のデータ送信プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２７】
前記目標混雑度決定機能は、前記目標混雑度を、前記推定セッション数が大きくなるほど前記目標混雑度が小さくなるように補正する
ことを特徴とする請求項２６に記載のデータ送信プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２８】
前記推定セッション数は、前記通信セッションの前記混雑度を前記自セッションの前記混雑度で除算したもの、所定時間おきの前記自セッションのスループットの最大値と平均値に基づいて推定したもの、前記自セッションで測定可能な前記通信品質の分布や統計値をあらかじめ測定し、通信中の前記分布や前記統計値を測定し、あらかじめ測定した前記分布や前記統計値と通信中の前記分布や前記統計値の近似度に基づいて推定したもの、輻輳検知フラグの付与されたＡＣＫパケットを受信したときに所定の値を前記通信セッションの前記混雑度であるとし、その時点での前記自セッションの前記混雑度と前記通信セッションの前記混雑度に基づいて推定したもの、のいずれかである
ことを特徴とする請求項２２、請求項２５から請求項２７のいずれかに記載のデータ送信プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２９】
前記混雑度推定機能および前記送信データ量決定機能を含む、一つ以上の送信制御機能群と、
前記自セッションが前記通信資源を共有する前記通信セッションのグループのいずれに属するかを判断する該当機能群決定機能
をさらにコンピュータに実現させ、
前記送信データ量決定機能の各々は、自身に対応した前記グループの前記自セッションの前記送信データ量を決定する
ことを特徴とする請求項２１から請求項２８のいずれかに記載のデータ送信プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項３０】
前記混雑度は、前記通信資源を構成するネットワーク機器に滞留する滞留データ量、送信中データ量、過去一定期間内における前記滞留データ量または前記送信中データ量の増加量、ＡＣＫパケットの到着頻度の減少量、前記ＡＣＫパケットによって受信確認済みとなったデータ量と前記ＡＣＫパケットの到着間隔から推定した前記通信資源の減少量、データパケットのロスの発生頻度、ＲＴＴの増加量のいずれか一つ以上に関する指標である
ことを特徴とする請求項２１から請求項２９のいずれかに記載のデータ送信プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信データのデータ量を制御する、データ送信装置、方法および記録媒体に関する。
【背景技術】
【０００２】
近年、スマートフォンやタブレット端末などのような高性能で高機能なモバイル端末の普及に伴い、動画や写真、Ｗｅｂなどのコンテンツを、モバイル網を経由していつでもどこでも楽しむというライフスタイルが広く浸透してきている。そして、より高品質なコンテンツをより快適に楽しみたいという欲求により、モバイル網における高速通信へのニーズが高まっている。【０００３】
モバイル網では基地局とユーザ端末の間の無線区間がボトルネックとなりやすい。また、無線区間では、各ユーザ端末に割り当てられた通信資源を当該ユーザ端末が宛先となるすべてのセッションで共有する。そのため、モバイル網における通信を高速化するためには、無線区間をすべてのセッションで有効に活用できる通信制御が重要である。【０００４】
一方、有線、無線のいずれのデータ通信においても広く用いられているトランスポート層プロトコルに、ＴＣＰ（Transmission Control Protocol）がある。ＴＣＰは、ＣＵＢＩＣ  ＴＣＰ（非特許文献１）やＴＣＰ  ＮｅｗＲｅｎｏ（非特許文献２）に代表される。ＴＣＰでは、データ送信装置が、データパケットを送信しながら、ネットワークが混雑しているか否かにあわせて試行錯誤的に送信レートを増減する。【０００５】
具体的には、ＴＣＰでは、データ送信装置は、送信したデータパケットが正常にデータ受信装置に届いたことを示す確認応答（ACKnowledgement、ＡＣＫ）パケットを受信した場合、ネットワークが空いていると判断して送信レートを緩やかに増加する。また、重複したＡＣＫパケットなどによってパケットロスを検知した場合や、往復遅延時間（Round Trip Time、ＲＴＴ）が閾値よりも大きくなった場合は、ネットワークが輻輳（混雑）していると判断して送信レートを大きく低下させる。【０００６】
このＴＣＰの送信レートの増減方法は、モバイル網においてスループットの低下や遅延の増加やパケット再送の増加を引き起こす可能性がある。【０００７】
具体的には、ＲＴＴによってネットワークの輻輳を検知するＴＣＰの場合、再送制御に伴う遅延によるＲＴＴの増加をネットワークの輻輳と誤認し、送信レートを抑制し過ぎてスループットが低下する可能性がある。なお、再送制御には、たとえば、モバイル網の無線区間のＲＬＣ（Radio Link Control）層におけるＡＲＱ（Automatic Repeat reQuest）技術やＭＡＣ（Media Access Control）層におけるＨＡＲＱ（Hybrid ARQ）技術がある。【０００８】
また、モバイル網では可用帯域の変動などを吸収するために基地局などに大容量のバッファを設けている。そのため、パケットロスによってネットワークの輻輳を検知するＴＣＰは、ネットワークの輻輳が重篤化するまでパケットロスを検知できず、ネットワークに過剰にデータを送出してしまう。そして、その結果、遅延が大幅に増加する。また、重篤化した輻輳により多数のパケットがまとめてロスしたりタイムアウトが発生したりするため、パケットの再送が多発する。【０００９】
このように、スループットの低下や遅延の増加やパケット再送の増加が発生すると、動画の再生開始やＷｅｂページの表示までの待ち時間の増大やインスタントメッセージのレスポンスの悪化などによって、ユーザの体感品質が著しく損なわれる。また、再送パケットによってネットワークの負荷が増大する。【００１０】
これに対し、非特許文献３や特許文献１に記載の方法では、同一端末への複数のセッションを束ねたデータ送信制御を行っている。【００１１】
具体的には、非特許文献３に記載の方法では、送信装置のＴＣＰ／ＩＰ（Internet Protocol）スタック内において同一端末への複数セッションの送信中データ量の合計値を取得、管理する。また、同一端末への複数セッションで一つの統合輻輳ウィンドウを管理する。そして、送信するデータが存在するとき、送信中データ量の合計値が統合輻輳ウィンドウより小さい場合、データパケットを送信する。【００１２】
また、特許文献１に記載の方法では、アプリケーション層において、同一端末への複数セッションの送信中データ量の合計値を取得、管理し、また、同一端末に一度に送信可能なデータ量をＲＴＴに基づく可変閾値として管理する。そして、送信するデータが存在するとき、送信中データ量の合計値が可変閾値より小さい場合、データパケットを送信する。【００１３】
これらの方法では、パケットロスやＲＴＴではなく送信中データ量によってデータ送信制御を行うため、スループットの低下や遅延の増加やパケット再送の増加を改善することができる。また、同一端末への複数のセッションを束ねたデータ送信制御を行うことで、同一端末への複数のセッションで通信資源を有効に活用することができる。【００１４】
しかし、非特許文献３および特許文献１に記載の方法では、データ送信装置が同一端末への送信中データ量の合計値を取得、管理できることが前提条件となっている。そのため、送信中データ量を取得できない場合はこれらの方法を利用することができない。たとえば、データ送信装置が複数のサーバに分散している場合は、各サーバでは送信中データ量の一部しか取得できないため、送信中データ量の合計値を計算することができない。【００１５】
また、各サーバで送信中データ量の合計値を取得できるようにするには、各サーバが他サーバと連係して同一端末への送信中データ量の合計値を取得、管理するための処理が必要になり、処理負荷が増加する。この処理を実環境で実施するためには、制御を行う頻度を下げるなどといった処理負荷を抑制する施策と組み合わせて運用する必要があるため、送信中データ量の合計値の精度劣化に繋がる。【００１６】
これに対し、特許文献２に記載の方法では、無線端末（データ送信装置）が、無線区間で送受信されているパケットの送受信に係る時間に基づいて無線区間の通信の混雑度合いを示す無線混雑度を推定し、無線混雑度に基づいて送信制御を行っている。この方法では、自装置が送受信するパケットだけでなく、無線区間で他の無線端末が送受信するパケットも考慮して送信制御を行うことができる。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】国際公開第２０１５／１２４１８７号
【特許文献２】特開２０１６−０３６０８３号公報
【非特許文献】
【００１８】
【非特許文献１】Ｓａｎｇｔａｅ  Ｈａ、外２名、“ＣＵＢＩＣ:Ａ  Ｎｅｗ  ＴＣＰ−Ｆｒｉｅｎｄｌｙ  Ｈｉｇｈ−Ｓｐｅｅｄ  ＴＣＰ  Ｖａｒｉａｎｔ”、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ＡＣＭ  ＳＩＧＯＰＳ、２００８年７月、ｖｏｌ．４２、ｎｏ．５、ｐ．６４−７４
【非特許文献２】Ｓ．Ｆｌｏｙｄ、外１名、“Ｔｈｅ  ＮｅｗＲｅｎｏ  Ｍｏｄｉｆｉｃａｔｉｏｎ  ｔｏ  ＴＣＰ’ｓ  Ｆａｓｔ  Ｒｅｃｏｖｅｒｙ  Ａｌｇｏｒｉｔｈｍ”、ＲＦＣ  ２５８２、１９９９年４月
【非特許文献３】Ｈ．Ｂａｌａｋｒｉｓｈｎａｎ、外４名、“ＴＣＰ  Ｂｅｈａｖｉｏｒ  ｏｆ  ａ  Ｂｕｓｙ  Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｅｒ：  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｉｍｐｒｏｖｅｍｅｎｔｓ”、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＩＥＥＥ  ＩＮＦＯＣＯＭ  １９９８、１９９８年３月、ｖｏｌ．１、ｐ．２５２−２６２
【発明の概要】
【発明が解決しようとする課題】
【００１９】
しかし、特許文献２に記載の方法では、無線混雑度を推定するために、無線区間のパケットを監視する、あるいは、Ｐａｓｓｐｏｉｎｔ対応のサーバから報知信号を受信する、といった特別な仕組みが必要である。そのため、非特許文献３および特許文献１に記載の方法と同様に、特別な仕組みによる処理負荷の問題や、この方法を適用できるシステムが限定されるという問題がある。【００２０】
本発明の目的は、より容易な方法で送信データ量を適切な範囲に制御し、通信資源全体のスループットの向上や遅延の短縮やパケット再送の抑制を実現することを可能とする、データ送信装置、方法および記録媒体を提供することにある。
【課題を解決するための手段】
【００２１】
上述の問題を解決するために、本発明のデータ送信装置は、送信データ量に基づき送信データの送信を行うデータ送受信手段と、自装置で測定可能な、前記送信データの前記送信に関する通信品質に基づいて、前記送信データの前記送信に使用する自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定する混雑度推定手段と、前記通信セッションの前記混雑度に基づき前記送信データ量を決定する送信データ量決定手段とを備えることを特徴とする。【００２２】
また、本発明のデータ送信方法は、自装置で測定可能な、送信データの送信に関する通信品質に基づいて、前記送信データの前記送信に使用する自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定し、前記通信セッションの前記混雑度に基づき送信データ量を決定し、前記送信データ量に基づき前記送信データの前記送信を行うことを特徴とする。【００２３】
また、本発明のコンピュータ読み取り可能な記録媒体に記憶されたデータ送信プログラムは、コンピュータに、送信データ量に基づき送信データの送信を行うデータ送受信機能と、自装置で測定可能な、前記送信データの前記送信に関する通信品質に基づいて、前記送信データの前記送信に使用する自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定する混雑度推定機能と、前記通信セッションの前記混雑度に基づき前記送信データ量を決定する送信データ量決定機能とを実現させることを特徴とする。
【発明の効果】
【００２４】
本発明のデータ送信装置、方法および記録媒体により、より容易な方法で送信データ量を適切な範囲に制御し、通信資源全体のスループットの向上や遅延の短縮やパケット再送の抑制を実現することが可能になる。
【図面の簡単な説明】
【００２５】
【図１】本発明の第一の実施形態のデータ送信装置の構成例を示す図である。
【図２】本発明の第一の実施形態のデータ送信装置の動作例を示す図である。
【図３】本発明の第二の実施形態のデータ送信システムの構成例を示す図である。
【図４】本発明の第二の実施形態のデータ送信装置の構成例を示す図である。
【図５】本発明の第二の実施形態のデータ送信装置の混雑度推定方法を説明するための図である。
【図６】本発明の第二の実施形態のデータ送信装置の動作例を示す図である。
【図７】本発明の第三の実施形態のデータ送信装置の構成例を示す図である。
【図８】本発明の第三の実施形態のデータ送信装置の動作例を示す図である。
【図９】本発明の各実施形態のハードウェア構成例を示す図である。
【発明を実施するための形態】
【００２６】
［第一の実施形態］
本発明の第一の実施の形態について説明する。
【００２７】
図１に本実施形態のデータ送信装置１０の構成例を示す。本実施形態のデータ送信装置１０は、混雑度推定部１１、送信データ量決定部１２およびデータ送受信部１３により構成される。
【００２８】
データ送受信部１３は、送信データ量に基づき送信データの送信を行う部分である。混雑度推定部１１は、自装置で測定可能な、送信データの送信に関する通信品質に基づいて、送信データの送信に使用する自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定する部分である。送信データ量決定部１２は、通信セッションの混雑度に基づき送信データ量を決定する部分である。
【００２９】
このようにデータ送信装置１０を構成することによって、データ送信装置１０は、自装置で測定可能な通信品質に基づいて、自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定する。そして、通信セッションの混雑度に基づき送信データの送信データ量を決定する。これにより、特別な仕組みを必要とせずに、通信資源を共有する他セッションの状況も考慮して送信データ量を適切な範囲に制御することが可能になる。そのため、より容易な方法で送信データ量を適切な範囲に制御し、通信資源全体のスループットの向上や遅延の短縮やパケット再送の抑制を実現することが可能になる。
【００３０】
次に、図２に本実施形態のデータ送信装置１０の動作の例を示す。
【００３１】
まず、混雑度推定部１１は、自装置で測定可能な、送信データの送信に関する通信品質に基づいて、自装置が送信データの送信に使用する自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定する（ステップＳ１０１）。次に、送信データ量決定部１２は、通信セッションの混雑度に基づき送信データの送信データ量を決定する（ステップＳ１０２）。そして、データ送受信部１３は、送信データ量に基づき送信データの送信を行う（ステップＳ１０３）。
【００３２】
このように動作することによって、データ送信装置１０は、自装置で測定可能な通信品質に基づいて、自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定する。そして、通信セッションの混雑度に基づき送信データの送信データ量を決定する。これにより、特別な仕組みを必要とせずに、通信資源を共有する他セッションの状況も考慮して送信データ量を適切な範囲に制御することが可能になる。そのため、より容易な方法で送信データ量を適切な範囲に制御し、通信資源全体のスループットの向上や遅延の短縮やパケット再送の抑制を実現することが可能になる。
【００３３】
以上で説明したように、本発明の第一の実施形態では、データ送信装置１０は、自装置で測定可能な通信品質に基づいて、自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定する。そして、通信セッションの混雑度に基づき送信データの送信データ量を決定する。これにより、特別な仕組みを必要とせずに、通信資源を共有する他セッションの状況も考慮して送信データ量を適切な範囲に制御することが可能になる。そのため、より容易な方法で送信データ量を適切な範囲に制御し、通信資源全体のスループットの向上や遅延の短縮やパケット再送の抑制を実現することが可能になる。
【００３４】
また、本実施形態のデータ送信装置１０をより多くのシステムに適用することが可能になる。
【００３５】
［第二の実施形態］
次に、本発明の第二の実施の形態について説明する。本実施形態では、データ送信装置について、さらに具体的に説明する。
【００３６】
図３に本実施形態のデータ送信装置２０を用いたデータ送信システムの構成例を示す。
【００３７】
データ送信装置２０は、データ受信装置６０に対してＴＣＰなどのコネクションを確立して、要求されたデータを送信するデータ送信装置である。
【００３８】
データ送信装置２０は、たとえば、ユーザから要求されたデータを保持するオリジンサーバとすることができる。また、たとえば、キャッシュサーバやプロキシサーバ、エッジサーバなどのように、ネットワーク８０の中に設置され、オリジンサーバとデータ受信装置６０の間のデータ通信を一度終端する中継サーバ装置とすることもできる。
【００３９】
なお、データ送信装置２０は、オリジンサーバがデータ受信装置６０にデータを送信する経路の途中に配置されていても良い。その場合、データ受信装置６０から見てデータ送信装置２０の後ろに別のネットワークやオリジンサーバなどがあっても良い。
【００４０】
データ受信装置６０は、ネットワーク８０を経由してデータ送信装置２０に向けてデータ要求の送信を行い、データ送信装置２０から送信されたデータパケットを受信する装置である。たとえば、ＰＣ（Personal Computer）や携帯端末などがこれに該当する。
【００４１】
データ受信装置６０は、ユーザからデータ取得の要求がされた際に、ネットワーク８０経由でデータ送信装置２０またはオリジンサーバに向けてデータのリクエストを送信する。また、データ受信装置６０は、データ送信装置２０からデータパケットを受信した際に、データパケットに対応するＡＣＫパケットをデータ送信装置２０へ送信する。そして、データ受信装置６０は、要求したデータがデータ送信装置２０またはオリジンサーバから配信された際に、ユーザに前記データを提示する。
【００４２】
図４は、本実施形態のデータ送信装置２０の構成例を示す図である。図４では、データ送信装置１０の構成例（図１）に対して、目標混雑度決定部２６を追加している。また、混雑度推定部１１は自セッション混雑度推定部２４および全セッション混雑度推定部２５により構成される。
【００４３】
まず、データ送受信部１３について説明する。データ送受信部１３は、送信データ量決定部１２が決定した一度に送信可能なデータパケットの量（送信データ量）に基づいて送信データを送信する部分である。
【００４４】
データ送受信部１３は、データ受信装置６０からデータ要求のメッセージを受信したとき、送信データ量決定部１２が決定した送信データ量に従って、要求されたデータのパケットをネットワーク８０経由でデータ受信装置６０へ送信する。また、データ送受信部１３は、ＡＣＫパケットの受信を行う。
【００４５】
また、データ送受信部１３は、データ受信装置６０とのデータ送受信に関する通信品質を測定する。
【００４６】
通信品質の具体的な例を以下に挙げる。データ送受信部１３では、これらの情報（通信品質）のいずれか一つ以上を測定する。なお、これらの情報は、データ送信装置２０やデータ送信システムに特別な仕組みを導入しなくても容易に測定することができる情報である。
・データ送信装置２０とデータ受信装置６０との間の通信の往復遅延時間（Round Trip Time、ＲＴＴ）
・ＡＣＫパケットを受信した時刻
・ＡＣＫパケットの受信時間間隔（前回と今回のＡＣＫパケットの受信時刻の差分値）
・ＡＣＫパケットによって新たに受信確認済みとなったデータ量
・送信中データ量（データパケットを送信済み、かつ、ＡＣＫパケットによって受信確認がされていないデータ量）
・最大セグメントサイズ（Maximum Segment Size、ＭＳＳ）
また、データ送受信部１３は、上記の情報の過去一定時間における観測値を記憶しておき、観測値の累計値、平均値、分散、標準偏差、最大値、最小値、あるいは、最大値と最小値の差分値のいずれか一つ以上の情報を測定しても良い。また、上記の情報に瞬間的な変動の影響を排除するフィルタ方式や指数移動平均などの統計処理を加えた情報を測定しても良い。
【００４７】
また、以下の例のような、ＡＣＫパケットによって測定できるいずれか一つ以上の情報を測定しても良い。
・受信ウィンドウサイズ（Receive WINdow size、ＲＷＩＮ）
・データパケットのロス（ネットワークの途中でデータパケットが失われる現象）または順序違いを示唆する重複ＡＣＫ
・データパケットのロスの発生率（パケットロス率）
・明示的輻輳通知（Explicit Congestion Notification、ＥＣＮ）のメッセージ
次に、混雑度推定部１１について説明する。混雑度推定部１１は、データ送信装置２０が送信データの送信に使用する自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定する部分である。本実施形態では、混雑度推定部１１は、データ送受信部１３が測定した通信品質に基づいて混雑度を推定する。また、本実施形態では、混雑度推定部１１は自セッション混雑度推定部２４および全セッション混雑度推定部２５により構成される。
【００４８】
次に、自セッション混雑度推定部２４について説明する。自セッション混雑度推定部２４は、データ送受信部１３がデータ送受信に使用している通信セッション（自セッション）についての通信資源の混雑度を通信品質に基づいて推定する部分である。
【００４９】
混雑度には、通信資源の混雑の大小を推定できる指標であればどのような指標を使用しても良い。たとえば、ネットワークを構成するネットワーク機器に滞留する、データ送信装置２０が送信したデータに関する滞留データ量が多いほど、ネットワークが混雑していると判断することが可能である。そのため、データ送信装置２０が送信したデータに関する滞留データ量を混雑度として使用することが可能である。
【００５０】
また、混雑度の他の例としては、以下を挙げることができる。
・送信中データ量
・過去一定期間内における滞留データ量または送信中データ量の増加量
・ＡＣＫパケットの到着頻度の減少量
・ＡＣＫパケットによって受信確認済みとなったデータ量とＡＣＫパケットの到着間隔から推定した通信資源の減少量
・データパケットのロスの発生頻度
・ＲＴＴの増加量
なお、特許文献２に記載の方法では、通信資源の利用率を無線混雑度として使用している。この方法では、最大で１００％までしか混雑度を測定することができない。そのため、混雑度が適切なのか、過剰なのか、どの程度過剰なのかを判断することができない。したがって、混雑度には、上記の例で挙げたように、過剰なデータ送信を行っているときの混雑の度合いを示すことができる指標を使用することが望ましい。
【００５１】
本実施形態では、以降、滞留データ量を混雑度として使用する場合について説明する。
【００５２】
次に、自セッションの滞留データ量の推定方法の例について説明する。
【００５３】
滞留データは、ネットワークを構成するルータやスイッチ、ゲートウェイ装置、基地局装置といったネットワーク機器の中に存在するバッファに滞留するデータである。滞留データ量は、たとえば、データ送受信部１３が測定した送信中データ量から、非滞留データ量を減算することで推定することができる。
【００５４】
非滞留データは、ネットワークを構成するルータやスイッチ、ゲートウェイ装置、基地局装置といったネットワーク機器の中に存在するバッファに滞留せずに、ネットワークの中を伝送しているデータである。
【００５５】
次に、非滞留データ量の推定方法の例について説明する。
【００５６】
自セッション混雑度推定部２４は、たとえば、通信帯域の推定値（帯域推定値）と伝搬遅延時間の推定値（遅延推定値）との積を計算することで非滞留データ量を推定する。
【００５７】
図５に各データ量の関係の例を示す。送信済みデータ量は、データ送信装置２０がデータ受信装置６０へ送信したデータ量である。受信確認済みデータ量は、データ受信装置６０から受信したＡＣＫパケットによって受信確認済みとなったデータ量である。そして、送信済みデータ量から受信確認済みデータ量を減算した値が、送信中データ量である。つまり、送信中データ量は、データ送信装置２０から送信したが、まだＡＣＫパケットを受信していないデータのデータ量である。
【００５８】
送信中データは、ネットワーク機器に滞留している滞留データと、滞留せずに伝送中の非滞留データに分けることができる。非滞留データは、伝送中のため、伝搬遅延時間後までにＡＣＫパケットを受信できると考えることが可能である。したがって、本実施形態の自セッション混雑度推定部２４では、伝搬遅延時間後までに受信確認済みとなるデータ量、すなわち、通信帯域の推定値と伝搬遅延時間の推定値の積を非滞留データ量として推定する。
【００５９】
通信帯域は、単位時間当たりの伝送データ量である。具体的には、所定期間に受信確認済みとなったデータの量を、そのデータを受信するのに要した経過時間（受信時間間隔）で割ることで推定することができる。所定期間は、所定の時間間隔としても良いし、受信したＡＣＫパケットの個数としても良い。
【００６０】
所定期間に受信確認済みとなったデータの量は、たとえば、データ送受信部１３が所定期間に受信したＡＣＫパケットによって新たに受信確認済みとなったデータ量を算出することで推定できる。また、このデータ量に指数移動平均などの統計処理を加えた値を受信確認済みのデータ量として使用しても良い。
【００６１】
受信時間間隔は、たとえば、データ送受信部１３が所定期間に受信したＡＣＫパケットの中で最も新しいＡＣＫパケットの受信時刻から最も古いＡＣＫパケットの受信時刻を減算することによって得ることができる。また、この受信時間間隔に指数移動平均などの統計処理を加えた値を受信時間間隔として使用しても良い。
【００６２】
伝搬遅延時間は、データ送信装置２０とデータ受信装置６０との間の通信の往復遅延時間の最小値または指数移動平均値を算出することで推定することができる。
【００６３】
また、通信帯域は、基地局装置におけるリソースブロックの割り当て量の変化や、モバイルネットワークにおける電波品質の変動などにより変動する。また、伝搬遅延時間は、ユーザ端末のハンドオーバやＲＬＣ層におけるＡＲＱ技術やＭＡＣ層におけるＨＡＲＱ技術による再送に関する遅延などにより変動する。そのため、上述の帯域推定値あるいは／および遅延推定値に対して、瞬間的な変動の影響を排除するフィルタ方式を適用しても良い。
【００６４】
自セッション混雑度推定部２４は、データ送受信部１３が測定した送信中データ量から、上述の非滞留データ量を減算することで、自セッションの滞留データ量を推定することができる。
【００６５】
次に、全セッション混雑度推定部２５について説明する。全セッション混雑度推定部２５は、自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定する部分である。本実施形態の全セッション混雑度推定部２５は、通信セッションの混雑度として、自セッションが使用する通信資源を共有する全セッションの混雑度を推定する。また、本実施形態では、自セッション混雑度推定部２４と同様に、全セッション混雑度推定部２５でも滞留データ量を混雑度として使用する。
【００６６】
次に、全セッションの滞留データ量の推定方法の例について説明する。
【００６７】
たとえば、全セッション混雑度推定部２５は、自セッションが使用する通信資源を共有する通信セッションのセッション数を推定する。そして、自セッション混雑度推定部２４が推定した自セッションの滞留データ量と推定セッション数の積を計算することで、全セッションの滞留データ量を推定することができる。
【００６８】
また、たとえば、全セッション混雑度推定部２５は、可用帯域とキューイング遅延の積を計算することで、全セッションの滞留データ量を推定しても良い。可用帯域は、たとえば、所定時間おきの自セッションのスループットの最大値に基づいて推定することができる。また、キューイング遅延は、統計的な伝搬遅延時間と伝搬遅延時間の最小値との差に基づいて推定することができる。伝搬遅延時間は、無線区間のＡＲＱ技術やＨＡＲＱ技術といった再送制御に伴う遅延時間の増加、無線区間の帯域変動に伴う伝送遅延の変動、モバイルコア網の混雑度合いの変化に伴う処理遅延の変動などにより変動する。統計的な伝搬遅延時間は、このような伝搬遅延時間の瞬間的な変動の影響を排除するフィルタ方式や指数移動平均などの統計処理を加えた伝搬遅延時間である。
【００６９】
次に、セッション数の推定方法について説明する。
【００７０】
全セッション混雑度推定部２５は、たとえば、全セッションの滞留データ量を自セッションの滞留データ量で除算する、あるいは、所定時間おきの自セッションのスループットの最大値を平均値で除算することによりセッション数を推定することができる。
【００７１】
また、全セッション混雑度推定部２５は、セッション数を以下のように推定することもできる。まず、データ送受信部１３は、自セッションについて、伝搬遅延時間、伝搬遅延時間の変動幅、データパケットまたはＡＣＫパケットの到着間隔、スループットなどの測定可能な値の分布や統計値をあらかじめ測定しておく。また、データ送受信部１３は、通信中に自セッションで観測される上記の値の分布や統計値を測定する。そして、全セッション混雑度推定部２５は、セッション数を変えた場合に、あらかじめ計測または算出した値と通信中に計測または算出した値との近似度を仮説検定手法やベイズ推定などの手法を用いて算出し、近似度に基づいてセッション数を推定する。
【００７２】
また、全セッション混雑度推定部２５は、セッション数を以下のように推定することもできる。ＥＣＮ（Explicit Congestion Notification）の輻輳検知フラグは、ネットワーク機器の中に滞留しているデータ量が所定の量を超えた場合にＡＣＫパケットに付与される。この輻輳検知フラグを利用して、全セッション混雑度推定部２５は、データ送受信部１３が輻輳検知フラグの付与されたＡＣＫパケットを受信したとき、所定の量を全セッションの滞留データ量と推定する。そして、その時点での自セッションの滞留データ量で所定の量を除算した値を推定セッション数とする。
【００７３】
次に、目標混雑度決定部２６について説明する。目標混雑度決定部２６は、通信品質に基づき混雑度の目標値である目標混雑度を決定する部分である。目標混雑度決定部２６は、自セッション混雑度推定部２４が推定した自セッションの混雑度、あるいは、全セッション混雑度推定部２５が推定した全セッションの混雑度に基づいて、目標混雑度を決定する。なお、ここでの混雑度には、前述の混雑度推定部１１が推定する混雑度と同一の単位、尺度の指標を用いる。目標混雑度は、送信データ量決定部１２が送信データ量の上限値を決定する際の目標とする混雑度である。
【００７４】
たとえば、電波状況が急激に良くなり送信可能なデータ量が急激に多くなった場合、通信資源の滞留データ量（混雑度）が低すぎると、帯域的には送信可能な状態だが送信するデータがない状態が発生してしまう。つまり、送信帯域の利用効率が悪化してしまう。通信資源の混雑度がある程度あれば、送信可能なデータ量が急激に多くなった場合でも、滞留しているデータを送信できるため、送信可能な状態なのに送るデータがない、という送信帯域を有効利用できない状態を低減することが可能である。一方、通信資源の混雑度が高すぎると、データ受信装置へのデータ到着が遅れたり、他の通信セッションの開始が遅れたりすることで体感品質が低下してしまう。そのため、通信品質の変動量に基づいて適切な目標混雑度を決定することで、送信帯域の利用効率の悪化を抑制し、ユーザの体感品質を向上することが可能になる。
【００７５】
より具体的には、通信品質の安定度が低い、すなわち、通信品質の変動量が大きい場合には、通信資源の目標混雑度を通信品質の変動量に応じて上げる。これにより、通信資源の混雑度が高くなるため、送信可能なデータ量が急激に増えても送信データの枯渇を抑制し、送信帯域をより有効に利用することができる。通信品質の変動量が大きいとき、遅延についても変動が大きくなる。そのため、遅延についてはある程度許容して混雑度を上げることで、送信帯域をより有効に利用でき、より多くのデータを送信することが可能になる。また、通信品質の安定度が高い、すなわち、通信品質の変動量が小さい場合には、通信資源の目標混雑度を通信品質の変動量に応じて下げる。これにより、ネットワークの混雑度が低くなるため、データの遅延を小さくすることが可能になる。したがって、通信品質の変動量が大きいほど目標混雑度を大きくすることで、送信帯域の利用効率の悪化を抑制し、ユーザの体感品質を向上することが可能になる。
【００７６】
次に、目標混雑度の決定方法の例について説明する。前述のように、本実施形態では、通信品質の変動量が大きいほど目標混雑度を大きくする。なお、以下では「自セッションの混雑度あるいは全セッションの混雑度」を「混雑度」と記載している。
【００７７】
たとえば、混雑度推定部１１で推定した混雑度の過去一定期間における分散、標準偏差あるいは最大値と最小値の差を変動量とし、変動量と所定の係数との積を目標混雑度とすることができる。このようにすることで、通信品質の変動量を指標化し、変動量の増加に応じて目標混雑度を大きくすることが可能になる。
【００７８】
また、混雑度推定部１１で推定した混雑度の過去一定期間における値から、既存の統計処理によって異常値（大きく外れた値）を除外した後に、分散、標準偏差あるいは最大値と最小値の差を計算することで変動量を計算しても良い。また、複数回計算した変動量に指数移動平均の計算を行った値に基づいて目標混雑度を計算しても良い。
【００７９】
また、ＡＣＫパケットの受信間隔の過去一定期間における分散、標準偏差あるいは最大値と最小値との差を変動量としても良い。たとえば、所定の初期値から開始して、変動量が大きいほど目標混雑度の増加幅を増やし、小さいほど目標混雑度の増加幅を減らす（目標混雑度を減少させることもある）、という所定の広義単調増加関数に従って目標混雑度を決定しても良い。このようにすると、ＡＣＫパケットの受信間隔の変動量に基づいて目標混雑度を決定することができる。
【００８０】
また、過去一定期間の複数の混雑度の傾向または相関関係から混雑度の時間変化の安定度合いを分析することによって混雑度の変動量を算出し、安定度合い（変動量）によって目標混雑度を決定しても良い。たとえば、安定度合いが高いほど（変動量が小さい）目標混雑度を減らし、安定度合いが低いほど（変動量が大きい）目標混雑度を増やすという、所定の広義単調減少関数に従って目標混雑度を決定しても良い。また、安定度合いは、たとえば、単位根検定や共和分検定や自己共分散の分析などといった、既存の定常性の検定方法に従って算出しても良い。
【００８１】
また、通信品質の変動量ではなく、ＲＴＴやパケットロス率といった通信品質に基づいて目標混雑度を決定しても良い。たとえば、所定の初期値から開始して、ＲＴＴまたはパケットロス率が大きいほど目標混雑度の増加幅を減らし（目標混雑度を減少させることもある）、小さいほど目標混雑度の増加幅を増やす、という所定の広義単調減少関数に従って目標混雑度を決定しても良い。この方法では、遅延やパケットロス率が大きいときは混雑度が過剰であるとみなして、目標混雑度を減らす。
【００８２】
次に、目標混雑度の補正について説明する。
【００８３】
上述の目標混雑度の決定方法では、目標混雑度決定部２６は、自セッションの目標混雑度、あるいは、全セッションの目標混雑度を決定することができる。ただし、目標混雑度決定部２６が決定した目標混雑度が自セッションの目標混雑度の場合、この目標混雑度は、他セッションの影響を考慮していない目標混雑度である。そのため、本実施形態の目標混雑度決定部２６は、上述の方法で算出した自セッションの目標混雑度に対して以下の方法で補正を行い、他セッションの影響を考慮した自セッションの目標混雑度とする。
【００８４】
目標混雑度決定部２６は、自セッションと通信資源を共有する通信セッションのセッション数を推定し、推定セッション数が大きいほど目標混雑度が小さくなるように目標混雑度を補正する。セッション数は、全セッションの滞留データ量の推定方法において説明したのと同様の方法で推定することができる。目標混雑度決定部２６は、たとえば、目標混雑度を推定セッション数あるいは推定セッション数の対数値で除算する等の方法で、目標混雑度を補正する。
【００８５】
このように目標混雑度を補正すると、他セッションの混雑度が大きいとき、全セッションの混雑度に対する自セッションの混雑度の割合が小さくなるため、補正後の目標混雑度は補正前に比べて大幅に小さくなる。逆に、他セッションの混雑度が小さいとき、全セッションの混雑度に対する自セッションの混雑度が大きくなるため、補正後の目標混雑度は補正前に比べてあまり小さくならない。このように、本実施形態のデータ送信装置２０は、他セッションの混雑度を考慮して目標混雑度を決定するため、通信資源全体としての混雑度をより適切に制御することが可能になる。
【００８６】
なお、目標混雑度決定部２６が決定した目標混雑度が全セッションの目標混雑度の場合、目標混雑度決定部２６では目標混雑度に対する補正を行わずに、送信データ量決定部１２で他セッションの影響を考慮した送信データ量の決定を行う。
【００８７】
次に、送信データ量決定部１２について説明する。送信データ量決定部１２は自セッションの混雑度あるいは全セッションの混雑度と目標混雑度に基づき送信データ量を決定する部分である。
【００８８】
送信データ量は、たとえば、輻輳ウィンドウサイズ（ｃｗｎｄ）のような送信データ量の上限値とすることができる。また、上限値は、ＵＤＰ（User Datagram Protocol）などにおける所定時間内に送信可能なデータサイズであっても良い。また、通信コネクションの送信バッファサイズの設定値（ＳＯ＿ＳＮＤＢＵＦ）、システムパラメータとして設定された通信に利用可能なメモリサイズ（ｔｃｐ＿ｗｍｅｍ）、ＡＣＫパケットによって通知される受信ウィンドウサイズ（ＲＷＩＮ）であっても良い。以降、送信データ量として送信データ量の上限値を決定する場合について説明する。
【００８９】
なお、送信データ量の決定方法には、二つのパターンがある。
【００９０】
一つ目は、自セッションの混雑度と自セッションの目標混雑度（補正後）に基づいて自セッションの送信データ量を決定するパターンである。二つ目は、全セッションの混雑度と全セッションの目標混雑度（補正なし）に基づいて自セッションの送信データ量を決定するパターンである。
【００９１】
二つ目のパターンの場合、送信データ量決定部１２は、全セッションの混雑度と全セッションの目標混雑度に基づいて、推定セッション数などの他セッションの影響を考慮して、自セッションの送信データ量を決定する。あるいは、全セッションの混雑度と全セッションの目標混雑度に基づいて全セッションの送信データ量を決定し、目標混雑度の補正と同様の方法で、全セッションの送信データ量を自セッションの送信データ量へ補正しても良い。
【００９２】
いずれのパターンについても、混雑度と目標混雑度に基づいて送信データ量を決定する部分については、同様の方法を使用することができる。
【００９３】
送信データ量の決定方法の例を以下に挙げる。ネットワークの混雑度は、送信データ量を大きくするほど大きくなる。そのため、混雑度が目標混雑度より小さい場合は送信データ量を大きくし、混雑度が目標混雑度より大きい場合は送信データ量を小さくすることで、混雑度を目標混雑度に近づけることができる。
【００９４】
たとえば、目標混雑度から混雑度を減算した値に所定の係数を乗算（あるいは所定の指数だけべき乗）し、現在の上限値に加算した値を、新たな上限値として決定する。このようにすると、混雑度が目標混雑度より大きい場合に送信データ量の上限値を小さくし、混雑度が目標混雑度より小さい場合に上限値を大きくすることが可能になる。
【００９５】
また、目標混雑度から混雑度を減算した値の一つ以上の過去の履歴の総和に所定の係数を乗算し、現在の上限値に加算した値を、新たな上限値としても良い。また、目標混雑度から混雑度を減算した値の、最新の値と所定の計算回数または時間だけ過去の値との間の計算回数または時間あたりの単位変化量を計算して所定の係数を乗算し、現在の上限値に加算した値を、新たな上限値としても良い。また、上述した上限値決定方法のいずれか２つ以上を組み合わせて新たな上限値を決定しても良い。
【００９６】
また、たとえば、上限値がｃｗｎｄの場合、ＣＵＢＩＣ  ＴＣＰ（非特許文献１）やＴＣＰ  ＮｅｗＲｅｎｏ（非特許文献２）といった既存のＴＣＰのｃｗｎｄの増減方法と組み合わせても良い。たとえば、既存の増減方法に対して、目標混雑度から混雑度を減算または除算した値が大きいほどｃｗｎｄの増加量を増やして減少量を減らすように調整する関数を加えても良い。このようにすることで、より早く混雑度を目標混雑度に近づけることが可能になる。
【００９７】
このように送信データ量を決定することによって、上述の一つ目のパターンの場合、自セッションの混雑度が他セッションを考慮した目標混雑度に近づくよう、自セッションの送信データ量を決定することができる。
【００９８】
また、二つ目のパターンの場合、全セッションの混雑度が全セッションの目標混雑度より小さいとき、通信資源に余裕があるため、自セッションの送信データ量を増やすことになる。また、全セッションの混雑度が全セッションの目標混雑度より大きいとき、通信資源が混雑しているため、自セッションの送信データ量を減らすことになる。このように、二つ目のパターンでも、他セッションを考慮して自セッションの送信データ量を決定することができる。
【００９９】
このようにデータ送信装置２０を構成することによって、データ送信装置２０は、自装置で測定可能な通信品質に基づいて、自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定する。そして、通信セッションの混雑度に基づき送信データの送信データ量を決定する。これにより、特別な仕組みを必要とせずに、通信資源を共有する他セッションの状況も考慮して送信データ量を適切な範囲に制御することが可能になる。そのため、より容易な方法で送信データ量を適切な範囲に制御し、通信資源全体のスループットの向上や遅延の短縮やパケット再送の抑制を実現することが可能になる。
【０１００】
次に、図６に本実施形態のデータ送信装置２０の動作例を示す。図６のステップＳ２０３は図２のステップＳ１０１に、図６のステップＳ２０４およびステップＳ２０５は図２のステップＳ１０２に、図６のステップＳ２０６は図２のステップＳ１０３に該当する。
【０１０１】
まず、データ送受信部１３は、データ送受信部１３がデータ受信装置６０からＡＣＫパケットを受信したときや所定時間おきなどの所定のタイミングで、通信品質を測定する（ステップＳ２０１）。
【０１０２】
混雑度推定部１１は、所定のタイミングで、自セッションの混雑度および全セッションの混雑度を通信品質に基づいて推定する（ステップＳ２０２、ステップＳ２０３）。ここでの所定のタイミングは、たとえば、データ送受信部１３がデータ受信装置６０からＡＣＫパケットを受信したときや所定時間おきなどである。
【０１０３】
次に、目標混雑度決定部２６は、所定のタイミングで、自セッションの混雑度あるいは全セッションの混雑度に基づいて、目標混雑度を決定する（ステップＳ２０４）。ここでの所定のタイミングは、たとえば、混雑度推定部１１が自セッションあるいは全セッションの混雑度を推定したときや所定時間おきなどである。
【０１０４】
そして、送信データ量決定部１２は、混雑度推定部１１が自セッションあるいは全セッションの混雑度を推定したときや所定時間おきなどの所定のタイミングで、混雑度と目標混雑度に基づいて送信データ量を決定する（ステップＳ２０５）。
【０１０５】
データ送受信部１３は、データ受信装置６０からデータ要求のメッセージを受信したとき、送信データ量決定部１２が決定した送信データ量に従って、要求されたデータのパケットをデータ受信装置６０へ送信する（ステップＳ２０６）。
【０１０６】
ここで、データ送信装置２０がオリジンサーバの場合、自身でオリジナルデータをすべて保持しているため、データ送受信部１３は送信データ量決定部１２が決定した送信データ量に従ってデータを送信することができる。データ送信装置２０が中継サーバ装置の場合には、オリジナルデータをあらかじめ自身の記憶領域にキャッシュとして記憶させたり、オリジンサーバから受信したデータストリームを一時的にバッファに記憶させたりすると良い。このようにすることで、オリジンサーバとデータ送信装置２０との間のネットワークのスループットに依存せず、データ送受信部１３はデータ送受信部１３が決定した送信データ量に従ってデータを送信することが可能になる。
【０１０７】
このように動作することによって、データ送信装置２０は、自装置で測定可能な通信品質に基づいて、自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定する。そして、通信セッションの混雑度に基づき送信データの送信データ量を決定する。これにより、特別な仕組みを必要とせずに、通信資源を共有する他セッションの状況も考慮して送信データ量を適切な範囲に制御することが可能になる。そのため、より容易な方法で送信データ量を適切な範囲に制御し、通信資源全体のスループットの向上や遅延の短縮やパケット再送の抑制を実現することが可能になる。
【０１０８】
なお、上記ではトランスポート層のプロトコルがＴＣＰであることを前提に説明した。しかし、本実施形態のデータ送信装置は、ＵＤＰなどのＴＣＰとは異なるプロトコルを用い、トランスポート層あるいは上位層においてＴＣＰの振る舞いを模擬して送信データ量を制御するデータ送信装置にも適用可能である。
【０１０９】
以上で説明したように、本発明の第二の実施形態では、データ送信装置２０は、自装置で測定可能な通信品質に基づいて、自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定する。そして、通信セッションの混雑度に基づき送信データの送信データ量を決定する。これにより、特別な仕組みを必要とせずに、通信資源を共有する他セッションの状況も考慮して送信データ量を適切な範囲に制御することが可能になる。そのため、より容易な方法で送信データ量を適切な範囲に制御し、通信資源全体のスループットの向上や遅延の短縮やパケット再送の抑制を実現することが可能になる。
【０１１０】
また、本実施形態のデータ送信装置２０をより多くのシステムに適用することが可能になる。
【０１１１】
また、本実施形態のデータ送信装置２０は、通信品質の変動に基づいて目標混雑度を決定している。これにより、帯域変動や遅延変動の影響を加味し、モバイルネットワークでも送信データ量を適切な範囲に制御することが可能になる。
【０１１２】
［第三の実施形態］
次に、本発明の第三の実施の形態について説明する。本実施形態は、データ送信装置が送信データを送信する自セッションが複数あり、また、自セッションが送信制御のパラメータ等によって複数のグループに分けられる場合の例である。
【０１１３】
図７に本実施形態のデータ送信装置３０の構成例を示す。本実施形態のデータ送信装置３０は、データ送受信部１３、該当機能群決定部３８および送信制御機能群３９（３９−１〜３９−Ｎ）により構成される。送信制御機能群３９の各々は混雑度推定部１１および送信データ量決定部１２を含む。なお、送信制御機能群３９の各々はさらに目標混雑度決定部２６を含んでも良い。
【０１１４】
混雑度推定部１１、送信データ量決定部１２およびデータ送受信部１３については第一の実施形態と同様のため説明を省略する。
【０１１５】
送信制御機能群３９（３９−１〜３９−Ｎ）は、自身に割り当てられた自セッションのグループに対して送信データ量を決定する部分である。各々の送信制御機能群３９は独立して送信データ量を決定する。送信制御機能群３９は、通信資源を共有する通信セッションのグループごとに一つずつ割り当てられる。たとえば、通信セッションのグループは、ＬＴＥ（Long Term Evolution）ネットワークのＱｏＳ（Quality of Service）クラスなどのように、同一のＱｏＳクラスに属する一部の通信セッションのグループなどである。
【０１１６】
該当機能群決定部３８は、各自セッションの送信制御を行う送信制御機能群３９（３９−１〜３９−Ｎ）を決定し、決定した送信制御機能群３９へ通知する部分である。
【０１１７】
該当機能群決定部３８は、たとえば、データ送信装置３０がモバイル網の基地局装置やＰ−ＧＷ（Packet data network Gateway）である場合に、自セッションに割り当てられたＱｏＳクラス識別子（QoS Class Identifier、ＱＣＩ）に基づいてＱｏＳクラスを把握する。そして、把握したＱｏＳクラスを当該自セッションの所属グループとし、そのグループに対応する送信制御機能群３９へ通知する。
【０１１８】
また、該当機能群決定部３８は、データ送信装置３０が基地局装置やＰ−ＧＷ以外である場合に、基地局装置やＰ−ＧＷからＱＣＩなどから受信した情報通知に基づいてＱｏＳクラスなどを把握し、ＱｏＳクラスなどを当該自セッションの所属グループとしても良い。
【０１１９】
また、該当機能群決定部３８は、各自セッションのグループを以下のように決定することもできる。データ送受信部１３は、各自セッションについて、伝搬遅延時間、伝搬遅延時間の変動幅、データパケットまたはＡＣＫパケットの到着間隔、スループットなどの値の分布や統計値を計測または算出する。また、データ送受信部１３は、各グループに属する自セッションで観測される上述の値の分布や統計値を計測または算出する。そして、該当機能群決定部３８は、自セッションで計測または算出した値と各グループに属する通信セッションで計測または算出した値との近似度を仮説検定手法やベイズ推定などの手法を用いて算出し、近似度に基づいて所属グループを判断する。
【０１２０】
このようにデータ送信装置３０を構成することによって、データ送信装置３０は、自装置で測定可能な通信品質に基づいて、自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定する。そして、通信セッションの混雑度に基づき送信データの送信データ量を決定する。これにより、特別な仕組みを必要とせずに、通信資源を共有する他セッションの状況も考慮して送信データ量を適切な範囲に制御することが可能になる。そのため、より容易な方法で送信データ量を適切な範囲に制御し、通信資源全体のスループットの向上や遅延の短縮やパケット再送の抑制を実現することが可能になる。
【０１２１】
次に、図８にデータ送信装置３０の動作例を示す。図８の動作例は、データ送信装置３０が第二の実施形態の動作例（図６）と合わせて行う動作の例である。
【０１２２】
該当機能群決定部３８は、所定のタイミングで、それぞれの自セッションがどのグループに属するかを判断し、所属グループの送信制御機能群３９へ通知する（ステップＳ３０１）。所定のタイミングは、データ送信装置３０とデータ受信装置６０との間に通信セッション（自セッション）が確立された際や、データ送受信部１３がデータ受信装置６０からデータ要求のメッセージを受信した際や所定時間おきなどである。
【０１２３】
各送信制御機能群３９およびデータ送受信部１３の動作は第二の実施形態と同様のため、説明を省略する。
【０１２４】
このように動作することによって、データ送信装置３０は、自装置で測定可能な通信品質に基づいて、自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定する。そして、通信セッションの混雑度に基づき送信データの送信データ量を決定する。これにより、特別な仕組みを必要とせずに、通信資源を共有する他セッションの状況も考慮して送信データ量を適切な範囲に制御することが可能になる。そのため、より容易な方法で送信データ量を適切な範囲に制御し、通信資源全体のスループットの向上や遅延の短縮やパケット再送の抑制を実現することが可能になる。
【０１２５】
以上で説明したように、本発明の第三の実施形態では、データ送信装置３０は、自装置で測定可能な通信品質に基づいて、自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定する。そして、通信セッションの混雑度に基づき送信データの送信データ量を決定する。これにより、特別な仕組みを必要とせずに、通信資源を共有する他セッションの状況も考慮して送信データ量を適切な範囲に制御することが可能になる。そのため、より容易な方法で送信データ量を適切な範囲に制御し、通信資源全体のスループットの向上や遅延の短縮やパケット再送の抑制を実現することが可能になる。
【０１２６】
また、本実施形態のデータ送信装置３０をより多くのシステムに適用することが可能になる。
【０１２７】
［ハードウェア構成例］
上述した本発明の各実施形態におけるデータ送信装置（１０、２０、３０）を、一つの情報処理装置（コンピュータ）を用いて実現するハードウェア資源の構成例について説明する。なお、データ送信装置は、物理的または機能的に少なくとも二つの情報処理装置を用いて実現してもよい。また、データ送信装置は、専用の装置として実現してもよい。また、データ送信装置の一部の機能のみを情報処理装置を用いて実現しても良い。
【０１２８】
図９は、本発明の各実施形態のデータ送信装置を実現可能な情報処理装置のハードウェア構成例を概略的に示す図である。情報処理装置９０は、通信インタフェース９１、入出力インタフェース９２、演算装置９３、記憶装置９４、不揮発性記憶装置９５およびドライブ装置９６を備える。
【０１２９】
通信インタフェース９１は、各実施形態のデータ送信装置が、有線あるいは／および無線で外部装置と通信するための通信手段である。なお、データ送信装置を、少なくとも二つの情報処理装置を用いて実現する場合、それらの装置の間を通信インタフェース９１経由で相互に通信可能なように接続しても良い。
【０１３０】
入出力インタフェース９２は、入力デバイスの一例であるキーボードや、出力デバイスとしてのディスプレイ等のマンマシンインタフェースである。
【０１３１】
演算装置９３は、汎用のＣＰＵ（Central Processing Unit）やマイクロプロセッサ等の演算処理装置である。演算装置９３は、たとえば、不揮発性記憶装置９５に記憶された各種プログラムを記憶装置９４に読み出し、読み出したプログラムに従って処理を実行することが可能である。
【０１３２】
記憶装置９４は、演算装置９３から参照可能な、ＲＡＭ（Random Access Memory）等のメモリ装置であり、プログラムや各種データ等を記憶する。記憶装置９４は、揮発性のメモリ装置であっても良い。
【０１３３】
不揮発性記憶装置９５は、たとえば、ＲＯＭ（Read Only Memory）、フラッシュメモリ、等の、不揮発性の記憶装置であり、各種プログラムやデータ等を記憶することが可能である。
【０１３４】
ドライブ装置９６は、たとえば、後述する記録媒体９７に対するデータの読み込みや書き込みを処理する装置である。
【０１３５】
記録媒体９７は、たとえば、光ディスク、光磁気ディスク、半導体フラッシュメモリ等、データを記録可能な任意の記録媒体である。
【０１３６】
本発明の各実施形態は、たとえば、図９に例示した情報処理装置９０によりデータ送信装置を構成し、このデータ送信装置に対して、上記各実施形態において説明した機能を実現可能なプログラムを供給することにより実現してもよい。
【０１３７】
この場合、データ送信装置に対して供給したプログラムを、演算装置９３が実行することによって、実施形態を実現することが可能である。また、データ送信装置のすべてではなく、一部の機能を情報処理装置９０で構成することも可能である。
【０１３８】
さらに、上記プログラムを記録媒体９７に記録しておき、データ送信装置の出荷段階、あるいは運用段階等において、適宜上記プログラムが不揮発性記憶装置９５に格納されるよう構成してもよい。なお、この場合、上記プログラムの供給方法は、出荷前の製造段階、あるいは運用段階等において、適当な治具を利用してデータ送信装置内にインストールする方法を採用してもよい。また、上記プログラムの供給方法は、インターネット等の通信回線を介して外部からダウンロードする方法等の一般的な手順を採用してもよい。
【０１３９】
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１４０】
（付記１）
送信データ量に基づき送信データの送信を行うデータ送受信手段と、
自装置で測定可能な、前記送信データの前記送信に関する通信品質に基づいて、前記送信データの前記送信に使用する自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定する混雑度推定手段と、
前記通信セッションの前記混雑度に基づき前記送信データ量を決定する送信データ量決定手段と
を備えることを特徴とするデータ送信装置。
【０１４１】
（付記２）
前記混雑度推定手段は、前記通信資源を共有する前記通信セッションの推定セッション数を推定し、前記推定セッション数および前記自セッションの前記混雑度に基づいて、前記通信セッションの前記混雑度の推定を行う
ことを特徴とする付記１に記載のデータ送信装置。
【０１４２】
（付記３）
前記混雑度推定手段は、所定時間おきの前記自セッションのスループットの最大値に基づいて前記通信セッションの可用帯域を推定し、前記可用帯域とキューイング遅延の積を計算することで、前記通信セッションの前記混雑度を推定する
ことを特徴とする付記１に記載のデータ送信装置。
【０１４３】
（付記４）
前記混雑度の目標値である目標混雑度を決定する目標混雑度決定手段
をさらに備え、
前記送信データ量決定手段は、前記混雑度および前記目標混雑度に基づき前記送信データ量を決定する
ことを特徴とする付記１あるいは付記３に記載のデータ送信装置。
【０１４４】
（付記５）
前記目標混雑度決定手段は、前記目標混雑度を、前記通信資源を共有する前記通信セッションの推定セッション数が大きくなるほど前記目標混雑度が小さくなるように補正する
ことを特徴とする付記４に記載のデータ送信装置。
【０１４５】
（付記６）
前記混雑度の目標値である目標混雑度を決定する目標混雑度決定手段
をさらに備え、
前記送信データ量決定手段は、前記混雑度および前記目標混雑度に基づき前記送信データ量を決定する
ことを特徴とする付記２に記載のデータ送信装置。
【０１４６】
（付記７）
前記目標混雑度決定手段は、前記目標混雑度を、前記推定セッション数が大きくなるほど前記目標混雑度が小さくなるように補正する
ことを特徴とする付記６に記載のデータ送信装置。
【０１４７】
（付記８）
前記推定セッション数は、前記通信セッションの前記混雑度を前記自セッションの前記混雑度で除算したもの、所定時間おきの前記自セッションのスループットの最大値と平均値に基づいて推定したもの、前記自セッションで測定可能な前記通信品質の分布や統計値をあらかじめ測定し、通信中の前記分布や前記統計値を測定し、あらかじめ測定した前記分布や前記統計値と通信中の前記分布や前記統計値の近似度に基づいて推定したもの、輻輳検知フラグの付与されたＡＣＫパケットを受信したときに所定の値を前記通信セッションの前記混雑度であるとし、その時点での前記自セッションの前記混雑度と前記通信セッションの前記混雑度に基づいて推定したもの、のいずれかである
ことを特徴とする付記２、付記５から付記７のいずれかに記載のデータ送信装置。
【０１４８】
（付記９）
前記混雑度推定手段および前記送信データ量決定手段を含む、一つ以上の送信制御機能群と、
前記自セッションが前記通信資源を共有する前記通信セッションのグループのいずれに属するかを判断する該当機能群決定手段
をさらに備え、
前記送信データ量決定手段の各々は、自身に対応した前記グループの前記自セッションの前記送信データ量を決定する
ことを特徴とする付記１から付記８のいずれかに記載のデータ送信装置。
【０１４９】
（付記１０）
前記混雑度は、前記通信資源を構成するネットワーク機器に滞留する滞留データ量、送信中データ量、過去一定期間内における前記滞留データ量または前記送信中データ量の増加量、ＡＣＫパケットの到着頻度の減少量、前記ＡＣＫパケットによって受信確認済みとなったデータ量と前記ＡＣＫパケットの到着間隔から推定した前記通信資源の減少量、データパケットのロスの発生頻度、ＲＴＴの増加量のいずれか一つ以上に関する指標である
ことを特徴とする付記１から付記９のいずれかに記載のデータ送信装置。
【０１５０】
（付記１１）
自装置で測定可能な、送信データの送信に関する通信品質に基づいて、前記送信データの前記送信に使用する自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定し、
前記通信セッションの前記混雑度に基づき送信データ量を決定し、
前記送信データ量に基づき前記送信データの前記送信を行う
ことを特徴とするデータ送信方法。
【０１５１】
（付記１２）
前記通信資源を共有する前記通信セッションの推定セッション数を推定し、前記推定セッション数および前記自セッションの前記混雑度に基づいて、前記通信セッションの前記混雑度の推定を行う
ことを特徴とする付記１１に記載のデータ送信方法。
【０１５２】
（付記１３）
所定時間おきの前記自セッションのスループットの最大値に基づいて前記通信セッションの可用帯域を推定し、前記可用帯域とキューイング遅延の積を計算することで、前記通信セッションの前記混雑度を推定する
ことを特徴とする付記１１に記載のデータ送信方法。
【０１５３】
（付記１４）
前記混雑度の目標値である目標混雑度を決定し、
前記混雑度および前記目標混雑度に基づき前記送信データ量を決定する
ことを特徴とする付記１１あるいは付記１３に記載のデータ送信方法。
【０１５４】
（付記１５）
前記目標混雑度を、前記通信資源を共有する前記通信セッションの推定セッション数が大きくなるほど前記目標混雑度が小さくなるように補正する
ことを特徴とする付記１４に記載のデータ送信方法。
【０１５５】
（付記１６）
前記混雑度の目標値である目標混雑度を決定し、
前記混雑度および前記目標混雑度に基づき前記送信データ量を決定する
ことを特徴とする付記１２に記載のデータ送信方法。
【０１５６】
（付記１７）
前記目標混雑度を、前記推定セッション数が大きくなるほど前記目標混雑度が小さくなるように補正する
ことを特徴とする付記１６に記載のデータ送信方法。
【０１５７】
（付記１８）
前記推定セッション数は、前記通信セッションの前記混雑度を前記自セッションの前記混雑度で除算したもの、所定時間おきの前記自セッションのスループットの最大値と平均値に基づいて推定したもの、前記自セッションで測定可能な前記通信品質の分布や統計値をあらかじめ測定し、通信中の前記分布や前記統計値を測定し、あらかじめ測定した前記分布や前記統計値と通信中の前記分布や前記統計値の近似度に基づいて推定したもの、輻輳検知フラグの付与されたＡＣＫパケットを受信したときに所定の値を前記通信セッションの前記混雑度であるとし、その時点での前記自セッションの前記混雑度と前記通信セッションの前記混雑度に基づいて推定したもの、のいずれかである
ことを特徴とする付記１２、付記１５から付記１７のいずれかに記載のデータ送信方法。
【０１５８】
（付記１９）
前記自セッションが前記通信資源を共有する前記通信セッションのグループのいずれに属するかを判断し、
前記グループの各々について、前記グループに属する前記自セッションの前記送信データ量を決定する
ことを特徴とする付記１１から付記１８のいずれかに記載のデータ送信方法。
【０１５９】
（付記２０）
前記混雑度は、前記通信資源を構成するネットワーク機器に滞留する滞留データ量、送信中データ量、過去一定期間内における前記滞留データ量または前記送信中データ量の増加量、ＡＣＫパケットの到着頻度の減少量、前記ＡＣＫパケットによって受信確認済みとなったデータ量と前記ＡＣＫパケットの到着間隔から推定した前記通信資源の減少量、データパケットのロスの発生頻度、ＲＴＴの増加量のいずれか一つ以上に関する指標である
ことを特徴とする付記１１から付記１９のいずれかに記載のデータ送信方法。
【０１６０】
（付記２１）
コンピュータに、
送信データ量に基づき送信データの送信を行うデータ送受信機能と、
自装置で測定可能な、前記送信データの前記送信に関する通信品質に基づいて、前記送信データの前記送信に使用する自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定する混雑度推定機能と、
前記通信セッションの前記混雑度に基づき前記送信データ量を決定する送信データ量決定機能と
を実現させることを特徴とするデータ送信プログラム。
【０１６１】
（付記２２）
前記混雑度推定機能は、前記通信資源を共有する前記通信セッションの推定セッション数を推定し、前記推定セッション数および前記自セッションの前記混雑度に基づいて、前記通信セッションの前記混雑度の推定を行う
ことを特徴とする付記２１に記載のデータ送信プログラム。
【０１６２】
（付記２３）
前記混雑度推定機能は、所定時間おきの前記自セッションのスループットの最大値に基づいて前記通信セッションの可用帯域を推定し、前記可用帯域とキューイング遅延の積を計算することで、前記通信セッションの前記混雑度を推定する
ことを特徴とする付記２１に記載のデータ送信プログラム。
【０１６３】
（付記２４）
前記混雑度の目標値である目標混雑度を決定する目標混雑度決定機能
をさらにコンピュータに実現させ、
前記送信データ量決定機能は、前記混雑度および前記目標混雑度に基づき前記送信データ量を決定する
ことを特徴とする付記２１あるいは付記２３に記載のデータ送信プログラム。
【０１６４】
（付記２５）
前記目標混雑度決定機能は、前記目標混雑度を、前記通信資源を共有する前記通信セッションの推定セッション数が大きくなるほど前記目標混雑度が小さくなるように補正する
ことを特徴とする付記２４に記載のデータ送信プログラム。
【０１６５】
（付記２６）
前記混雑度の目標値である目標混雑度を決定する目標混雑度決定機能
をさらにコンピュータに実現させ、
前記送信データ量決定機能は、前記混雑度および前記目標混雑度に基づき前記送信データ量を決定する
ことを特徴とする付記２２に記載のデータ送信プログラム。
【０１６６】
（付記２７）
前記目標混雑度決定機能は、前記目標混雑度を、前記推定セッション数が大きくなるほど前記目標混雑度が小さくなるように補正する
ことを特徴とする付記２６に記載のデータ送信プログラム。
【０１６７】
（付記２８）
前記推定セッション数は、前記通信セッションの前記混雑度を前記自セッションの前記混雑度で除算したもの、所定時間おきの前記自セッションのスループットの最大値と平均値に基づいて推定したもの、前記自セッションで測定可能な前記通信品質の分布や統計値をあらかじめ測定し、通信中の前記分布や前記統計値を測定し、あらかじめ測定した前記分布や前記統計値と通信中の前記分布や前記統計値の近似度に基づいて推定したもの、輻輳検知フラグの付与されたＡＣＫパケットを受信したときに所定の値を前記通信セッションの前記混雑度であるとし、その時点での前記自セッションの前記混雑度と前記通信セッションの前記混雑度に基づいて推定したもの、のいずれかである
ことを特徴とする付記２２、付記２５から付記２７のいずれかに記載のデータ送信プログラム。
【０１６８】
（付記２９）
前記混雑度推定機能および前記送信データ量決定機能を含む、一つ以上の送信制御機能群と、
前記自セッションが前記通信資源を共有する前記通信セッションのグループのいずれに属するかを判断する該当機能群決定機能
をさらにコンピュータに実現させ、
前記送信データ量決定機能の各々は、自身に対応した前記グループの前記自セッションの前記送信データ量を決定する
ことを特徴とする付記２１から付記２８のいずれかに記載のデータ送信プログラム。
【０１６９】
（付記３０）
前記混雑度は、前記通信資源を構成するネットワーク機器に滞留する滞留データ量、送信中データ量、過去一定期間内における前記滞留データ量または前記送信中データ量の増加量、ＡＣＫパケットの到着頻度の減少量、前記ＡＣＫパケットによって受信確認済みとなったデータ量と前記ＡＣＫパケットの到着間隔から推定した前記通信資源の減少量、データパケットのロスの発生頻度、ＲＴＴの増加量のいずれか一つ以上に関する指標である
ことを特徴とする付記２１から付記２９のいずれかに記載のデータ送信プログラム。
【０１７０】
（付記３１）
付記２１から付記３０のいずれかに記載のデータ送信プログラムを記録した、コンピュータ読み取り可能な記録媒体。
【０１７１】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１７２】
この出願は、２０１７年６月２６日に出願された日本出願特願２０１７−１２４３３６を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１７３】
１０、２０、３０    データ送信装置
１１    混雑度推定部
１２    送信データ量決定部
１３    データ送受信部
２４    自セッション混雑度推定部
２５    全セッション混雑度推定部
２６    目標混雑度決定部
３８    該当機能群決定部
３９    送信制御機能群
６０    データ受信装置
８０    ネットワーク
９０    情報処理装置
９１    通信インタフェース
９２    入出力インタフェース
９３    演算装置
９４    記憶装置
９５    不揮発性記憶装置
９６    ドライブ装置
９７    記録媒体
【図１】
2019004013.tif 000003
【図２】
2019004013.tif 000004
【図３】
2019004013.tif 000005
【図４】
2019004013.tif 000006
【図５】
2019004013.tif 000007
【図６】
2019004013.tif 000008
【図７】
2019004013.tif 000009
【図８】
2019004013.tif 000010
【図９】
2019004013.tif 000011
【手続補正書】
【提出日】令和1年11月19日(2019.11.19)
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
送信データ量に基づき送信データの送信を行うデータ送受信手段と、
自装置で測定可能な、前記送信データの前記送信に関する通信品質に基づいて、前記送信データの前記送信に使用する自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定する混雑度推定手段と、
前記通信セッションの前記混雑度に基づき前記送信データ量を決定する送信データ量決定手段と
を備えることを特徴とするデータ送信装置。
【請求項２】
前記混雑度推定手段は、前記通信資源を共有する前記通信セッションの推定セッション数を推定し、前記推定セッション数および前記自セッションの前記混雑度に基づいて、前記通信セッションの前記混雑度の推定を行う
ことを特徴とする請求項１に記載のデータ送信装置。
【請求項３】
前記混雑度推定手段は、所定時間おきの前記自セッションのスループットの最大値に基づいて前記通信セッションの可用帯域を推定し、前記可用帯域とキューイング遅延の積を計算することで、前記通信セッションの前記混雑度を推定する
ことを特徴とする請求項１に記載のデータ送信装置。
【請求項４】
前記混雑度の目標値である目標混雑度を決定する目標混雑度決定手段
をさらに備え、
前記送信データ量決定手段は、前記混雑度および前記目標混雑度に基づき前記送信データ量を決定する
ことを特徴とする請求項１あるいは請求項３に記載のデータ送信装置。
【請求項５】
前記目標混雑度決定手段は、前記目標混雑度を、前記通信資源を共有する前記通信セッションの推定セッション数が大きくなるほど前記目標混雑度が小さくなるように補正する
ことを特徴とする請求項４に記載のデータ送信装置。
【請求項６】
前記混雑度の目標値である目標混雑度を決定する目標混雑度決定手段
をさらに備え、
前記送信データ量決定手段は、前記混雑度および前記目標混雑度に基づき前記送信データ量を決定する
ことを特徴とする請求項２に記載のデータ送信装置。
【請求項７】
前記目標混雑度決定手段は、前記目標混雑度を、前記推定セッション数が大きくなるほど前記目標混雑度が小さくなるように補正する
ことを特徴とする請求項６に記載のデータ送信装置。
【請求項８】
前記推定セッション数は、前記通信セッションの前記混雑度を前記自セッションの前記混雑度で除算したもの、所定時間おきの前記自セッションのスループットの最大値と平均値に基づいて推定したもの、前記自セッションで測定可能な前記通信品質の分布や統計値をあらかじめ測定し、通信中の前記分布や前記統計値を測定し、あらかじめ測定した前記分布や前記統計値と通信中の前記分布や前記統計値の近似度に基づいて推定したもの、輻輳検知フラグの付与されたＡＣＫパケットを受信したときに所定の値を前記通信セッションの前記混雑度であるとし、その時点での前記自セッションの前記混雑度と前記通信セッションの前記混雑度に基づいて推定したもの、のいずれかである
ことを特徴とする請求項２、請求項５から請求項７のいずれかに記載のデータ送信装置。
【請求項９】
自装置で測定可能な、送信データの送信に関する通信品質に基づいて、前記送信データの前記送信に使用する自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定し、
前記通信セッションの前記混雑度に基づき送信データ量を決定し、
前記送信データ量に基づき前記送信データの前記送信を行う
ことを特徴とするデータ送信方法。
【請求項１０】
コンピュータに、
送信データ量に基づき送信データの送信を行うデータ送受信機能と、
自装置で測定可能な、前記送信データの前記送信に関する通信品質に基づいて、前記送信データの前記送信に使用する自セッションが使用する通信資源を共有する少なくとも一部の通信セッションの混雑度を推定する混雑度推定機能と、
前記通信セッションの前記混雑度に基づき前記送信データ量を決定する送信データ量決定機能と
を実現させることを特徴とするデータ送信プログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０１０６
【補正方法】変更
【補正の内容】
【０１０６】
ここで、データ送信装置２０がオリジンサーバの場合、自身でオリジナルデータをすべて保持しているため、データ送受信部１３は送信データ量決定部１２が決定した送信データ量に従ってデータを送信することができる。データ送信装置２０が中継サーバ装置の場合には、オリジナルデータをあらかじめ自身の記憶領域にキャッシュとして記憶させたり、オリジンサーバから受信したデータストリームを一時的にバッファに記憶させたりすると良い。このようにすることで、オリジンサーバとデータ送信装置２０との間のネットワークのスループットに依存せず、データ送受信部１３は送信データ量決定部１２が決定した送信データ量に従ってデータを送信することが可能になる。
【国際調査報告】
2019004013.tif 000012
2019004013.tif 000013