特許第6805713号(P6805713)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特許6805713受信トラヒックの高速化装置、高速化方法、および高速化プログラム
<>
  • 特許6805713-受信トラヒックの高速化装置、高速化方法、および高速化プログラム 図000002
  • 特許6805713-受信トラヒックの高速化装置、高速化方法、および高速化プログラム 図000003
  • 特許6805713-受信トラヒックの高速化装置、高速化方法、および高速化プログラム 図000004
  • 特許6805713-受信トラヒックの高速化装置、高速化方法、および高速化プログラム 図000005
  • 特許6805713-受信トラヒックの高速化装置、高速化方法、および高速化プログラム 図000006
  • 特許6805713-受信トラヒックの高速化装置、高速化方法、および高速化プログラム 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6805713
(24)【登録日】2020年12月8日
(45)【発行日】2020年12月23日
(54)【発明の名称】受信トラヒックの高速化装置、高速化方法、および高速化プログラム
(51)【国際特許分類】
   H04L 12/807 20130101AFI20201214BHJP
【FI】
   H04L12/807
【請求項の数】9
【全頁数】21
(21)【出願番号】特願2016-204821(P2016-204821)
(22)【出願日】2016年10月19日
(65)【公開番号】特開2018-67788(P2018-67788A)
(43)【公開日】2018年4月26日
【審査請求日】2019年9月13日
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100109313
【弁理士】
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100124154
【弁理士】
【氏名又は名称】下坂 直樹
(72)【発明者】
【氏名】大須賀 徹
【審査官】 宮島 郁美
(56)【参考文献】
【文献】 国際公開第2011/151884(WO,A1)
【文献】 特表2016−516377(JP,A)
【文献】 国際公開第2015/045080(WO,A1)
【文献】 特開2003−124984(JP,A)
【文献】 米国特許出願公開第2015/0156129(US,A1)
【文献】 特開2015−106880(JP,A)
【文献】 米国特許第06560243(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00−12/26,12/50−12/955,29/00
(57)【特許請求の範囲】
【請求項1】
データ送信装置から受信したデータパケットに対して応答パケットを返信するデータ受信装置に用いられる受信トラヒックの高速化装置であって、
データパケットの受信結果をもとにネットワークの可用帯域を推定し、推定された可用帯域をもとに目標送信速度を推定する目標送信速度推定手段と、
前記データパケットの受信結果をもとに、前記データパケットを前記データ送信装置が送出する現在の送信速度を推定する現在送信速度推定手段と、
前記推定した目標送信速度と前記推定した現在送信速度とをもとに、前記現在送信速度が前記目標送信速度に近付くように応答パケットの送信頻度を決定する応答送信頻度決定手段と、を含み、
前記応答送信頻度決定手段は、条件に応じて第1の送信頻度決定方法と第2の送信頻度決定方法のうちのどちらを用いて応答パケットの送信頻度を決定するかを判断し、
前記第1の送信頻度決定方法で決定される応答パケットの送信頻度は、前記第2の送信頻度決定方法で決定される応答パケットの送信頻度よりも大きくなるように設定されている、受信トラヒックの高速化装置。
【請求項2】
前記応答送信頻度決定手段は、前記第1の送信頻度決定方法を用いる場合、目標送信速度が大きいほど応答パケットの送信頻度が大きくなる、または、現在の送信速度が大きいほど応答パケットの送信頻度が小さくなる関数を用いて、前記応答パケットの送信頻度を決定する、請求項に記載の受信トラヒックの高速化装置。
【請求項3】
前記応答送信頻度決定手段は、前記第1の送信頻度決定方法を用いる場合、目標送信速度を現在の送信速度で除算した値を、第1の定数乗または第1の定数倍してから、第2の定数を減算した値を用いて、前記応答パケットの送信頻度を決定する、請求項又は請求項に記載の受信トラヒックの高速化装置。
【請求項4】
前記応答送信頻度決定手段は、前記第2の送信頻度決定方法を用いる場合、現在の送信速度が大きいほど応答パケットの送信頻度が小さくなる関数を用いて、前記応答パケットの送信頻度を決定する、請求項乃至請求項のいずれか一項に記載の受信トラヒックの高速化装置。
【請求項5】
前記応答送信頻度決定手段は、目標送信速度に第3の定数を乗算した値よりも現在の送信速度が小さい場合に、前記第1の送信頻度決定方法を用いると判断し、それ以外の場合に前記第2の送信頻度決定方法を用いると判断する、請求項乃至請求項のいずれか一項に記載の受信トラヒックの高速化装置。
【請求項6】
前記データ送信装置とデータ受信装置との間の通信に用いられるプロトコルがTCP(Transmission Control Protocol)である場合に、
データパケットの受信状況と現在の送信速度をもとに、データ送信装置における輻輳制御の状態がスロースタートであるか輻輳回避であるかを推定する送信制御状態推定手段をさらに備え、
前記応答送信頻度決定手段は、前記送信制御状態推定手段によって輻輳制御の状態がスロースタートであると推定された場合に、前記第1の送信頻度決定方法を用いると判断し、輻輳回避であると推定された場合に、前記第2の送信頻度決定方法を用いると判断する、請求項乃至請求項のいずれか一項に記載の受信トラヒックの高速化装置。
【請求項7】
前記データ送信装置と前記データ受信装置との間に設置された中継サーバに適用され、
前記目標送信速度推定手段は、前記データ送信装置からのデータパケットの受信状況をもとに、前記データ送信装置と前記中継サーバとの間のネットワークにおける第1の可用帯域を推定し、前記データ受信装置からの応答パケットの受信状況または前記中継サーバに滞留しているデータ量の変化の速度をもとに、前記中継サーバと前記データ受信装置との間のネットワークにおける第2の可用帯域を推定し、前記第1の可用帯域と前記第2の可用帯域をもとに前記目標送信速度を推定する、請求項1乃至請求項のいずれか一項に記載の受信トラヒックの高速化装置。
【請求項8】
データ送信装置から受信したデータパケットに対して応答パケットを返信するデータ受信装置に用いられる受信トラヒックの高速化方法であって、
データパケットの受信結果をもとにネットワークの可用帯域を推定し、推定された可用帯域をもとに目標送信速度を推定し、
前記データパケットの受信結果をもとに、前記データパケットを前記データ送信装置が送出する現在の送信速度を推定し、
前記推定した目標送信速度と前記推定した現在送信速度とをもとに、前記現在送信速度が前記目標送信速度に近付くように応答パケットの送信頻度を決定し、
前記応答パケットの送信頻度の決定では、条件に応じて第1の送信頻度決定方法と第2の送信頻度決定方法のうちのどちらを用いて応答パケットの送信頻度を決定するかを判断し、
前記第1の送信頻度決定方法で決定される応答パケットの送信頻度は、前記第2の送信頻度決定方法で決定される応答パケットの送信頻度よりも大きくなるように設定されている、受信トラヒックの高速化方法。
【請求項9】
データ送信装置から受信したデータパケットに対して応答パケットを返信するデータ受信装置に用いられる受信トラヒックの高速化プログラムであって、
コンピュータに、
データパケットの受信結果をもとにネットワークの可用帯域を推定し、推定された可用帯域をもとに目標送信速度を推定する目標送信速度推定処理と、
前記データパケットの受信結果をもとに、前記データパケットを前記データ送信装置が送出する現在の送信速度を推定する現在送信速度推定処理と、
前記推定した目標送信速度と前記推定した現在送信速度とをもとに、前記現在送信速度が前記目標送信速度に近付くように応答パケットの送信頻度を決定する応答送信頻度決定処理と、を実行させるものであり、
前記応答送信頻度決定処理では、条件に応じて第1の送信頻度決定方法と第2の送信頻度決定方法のうちのどちらを用いて応答パケットの送信頻度を決定するかを判断し、
前記第1の送信頻度決定方法で決定される応答パケットの送信頻度は、前記第2の送信頻度決定方法で決定される応答パケットの送信頻度よりも大きくなるように設定されている、受信トラヒックの高速化プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、受信トラヒックの高速化装置、高速化方法、および高速化プログラムに関し、特に確認応答パケットの返信制御に関する。
【背景技術】
【0002】
近年、スマートフォンやタブレット端末などのような、高性能で高機能なモバイル端末の普及に伴い、モバイル端末で写真やショートビデオを撮って、SNS(Social Networking Service)やIM(Instant Messaging)サービスへ投稿したり、クラウドストレージへ保存したりといった、ユーザ端末からネットワーク上のサーバやストレージにコンテンツをアップロードする利用シーンが増加してきている。
【0003】
ここで、現在の多くのデータ通信で使用されているトランスポートプロトコルであるTCP(Transmission Control Protocol)は、輻輳制御によって利用可能な回線性能(可用帯域)を探りながらデータを送信するため、ネットワークの性能を使い切るまでに時間を要するという不都合がある。TCPの輻輳制御の具体的な挙動は次の通りである。輻輳制御では、通信開始やタイムアウトの直後はスロースタートフェーズという送信形態になり、データパケットが正常にデータ受信装置に届いたことを示す確認応答(ACK:ACKnowledgement)パケットを受信するごとに、送信可能なデータ量(cwnd:congestion window)を1パケットずつ増加させる。また、軽度の輻輳を検知した後などは輻輳回避フェーズという送信形態になる。
【0004】
輻輳回避フェーズでのcwndの増減方法は輻輳制御ごとに異なるが、例えば非特許文献1のTCP NewRenoでは、ACKパケットをcwndと同じパケット数だけ受信するごとに、cwndを1パケットずつ増加させる。上述の通り、TCPの輻輳制御はデータパケットが正常に送信できたことをACKパケットによって確認しながら、徐々に送信するデータ量を増やしていく動作をするため、可用帯域が大きいほど、または、ACKパケットの受信までにかかる往復遅延が大きいほど、ネットワークの性能を使い切るまでに時間を要してしまう。
【0005】
この不都合に対し、これまで様々な取り組みが行われてきた。この取り組みの多くは、例えば非特許文献2のHighSpeed TCPのように、データ送信装置のTCPアルゴリズムを改善する方式である。非特許文献2は、輻輳回避フェーズにおけるcwndの増加速度を非特許文献1に比べて速くすることで、ネットワークの性能を使い切るまでの時間を短縮している。しかし、コンテンツのアップロードなどの場合、データ送信装置はユーザ端末になるため、これらの方式を実現するためにはユーザ端末のTCPを改造する必要がある。ユーザ端末は既に膨大な数が存在しているため、それら一つ一つのTCPを改造する必要がある上記方式は現実的ではない。
【0006】
また、別の取り組みとして、これまでに特許文献1のような改善策が講じられてきた。特許文献1は、データパケットの受信有無に関わらず、一定時間ごとにデータ受信装置からACKを返信することで、返信するACKの頻度を増加させ、データ送信装置でのTCPの輻輳制御の実施回数を増加させ、cwndの増加速度を加速している。これにより、データ受信装置を改造するだけでユーザ端末からのアップロードされるトラヒックを高速化することができる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特許第4777996号公報
【特許文献2】特開2004−80070号公報
【非特許文献】
【0008】
【非特許文献1】S. Floyd and T. Henderson, "The NewReno Modification to TCP's Fast Recovery Algorithm," RFC 2582, Apr. 1999.
【非特許文献2】S. Floyd, "HighSpeed TCP for Large Congestion Windows," RFC 3649, Dec. 2003.
【非特許文献3】S. Ha, I. Rhee, and L. Xu, "CUBIC: A New TCP-Friendly High-Speed TCP Variant," In Proc. of ACM SIGOPS, vol.42, no.5, pp.64-74, New York, NY, USA, Jul. 2008.
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、上述した背景技術には以下のような課題がある。
【0010】
しかし、特許文献1はデータ受信装置からACKを返信する頻度が一定であるため、最適な頻度でACKを返信できずに、過不足が生じるという課題がある。返信するACKの頻度を増加させると、データ送信装置のTCPのcwndが早く増加し、トラヒックを高速化することができるというメリットが存在する反面、ACKトラヒックが増加し、同じ方向を流れるデータトラヒックが圧迫されるというデメリットが存在する。ヘッダのみで構成されたACKパケットの場合、データパケットの5%程度のサイズとなるため、例えばACKパケットを返信する頻度を倍に増やすと、同じ方向を流れるデータトラヒックのスループットが単純計算で約5%低下する。また、ACKの頻度を増加させて得られるメリットは状況によって変化する。例えばスロースタートフェーズの場合、通信開始直後であれば、ACKの頻度を増加させた分だけ速くトラヒックを高速化することができるが、データ送信装置のTCPのcwndが可用帯域を十分使い切れる値に到達した後では、ACKの頻度を増加させるメリットはなくなる。また、輻輳回避フェーズの場合、例えばデータ送信装置のTCPが非特許文献1のTCP NewRenoの場合、前述のようにACKの頻度を増加させるとcwndが早く増加する。例えばデータ送信装置のTCPが非特許文献3のCUBIC TCPの場合、経過時間でcwndが計算されるため、ACKの頻度を増加させてもメリットは小さい。特許文献1はこのメリットとデメリットを考慮していないため、ACKの頻度の増加量が小さすぎて可用帯域を使い切るまでに時間がかかってしまったり、ACKの頻度の増加量が大きすぎて過剰にACKトラヒックを発生させてしまい、同じ方向を流れるデータトラヒックのスループットを低下させたりといった不都合が生じる。
【0011】
特許文献2は、確認応答の周期の動的制御に関するものであり、確認応答の頻度を決定する際に、ネットワークの利用可能帯域を判断基準に用いることが提案されている。しかしながら特許文献2では、変化が激しいときには確認応答の送信頻度を高く設定し、変化が穏やかなときには確認応答の送信頻度を低く設定するものである。このため、上述した本発明が解決しようとする課題を解決することができない。
【0012】
[発明の目的]
本発明は、データ送信装置のトランスポートプロトコルが可用帯域を素早く使い切れるように加速し、且つ不必要な確認応答パケットの返信を抑制する、受信トラヒックの高速化装置、高速化方法、および高速化プログラムの提供を、その目的とする。
【課題を解決するための手段】
【0013】
前記目的を達成するため、本発明に係る受信トラヒックの高速化装置は、データ送信装置から受信したデータパケットに対して応答パケットを返信するデータ受信装置に用いられる受信トラヒックの高速化装置であって、
データパケットの受信結果をもとにネットワークの可用帯域を推定し、推定された可用帯域をもとに目標送信速度を推定する目標送信速度推定手段と、
上記データパケットの受信結果をもとに、上記データパケットを上記データ送信装置が送出する現在の送信速度を推定する現在送信速度推定手段と、
上記推定した目標送信速度と上記推定した現在送信速度とをもとに、上記現在送信速度が上記目標送信速度に近付くように応答パケットの送信頻度を決定する応答送信頻度決定手段と、を含む。
【0014】
本発明に係る受信トラヒックの高速化方法は、データ送信装置から受信したデータパケットに対して応答パケットを返信するデータ受信装置に用いられる受信トラヒックの高速化方法であって、
データパケットの受信結果をもとにネットワークの可用帯域を推定し、推定された可用帯域をもとに目標送信速度を推定し、
上記データパケットの受信結果をもとに、上記データパケットを上記データ送信装置が送出する現在の送信速度を推定し、
上記推定した目標送信速度と上記推定した現在送信速度とをもとに、上記現在送信速度が上記目標送信速度に近付くように応答パケットの送信頻度を決定する。
【0015】
本発明に係る受信トラヒックの高速化プログラムは、データ送信装置から受信したデータパケットに対して応答パケットを返信するデータ受信装置に用いられる受信トラヒックの高速化プログラムであって、
コンピュータに、
データパケットの受信結果をもとにネットワークの可用帯域を推定し、推定された可用帯域をもとに目標送信速度を推定する目標送信速度推定処理と、
上記データパケットの受信結果をもとに、上記データパケットを上記データ送信装置が送出する現在の送信速度を推定する現在送信速度推定処理と、
上記推定した目標送信速度と上記推定した現在送信速度とをもとに、上記現在送信速度が上記目標送信速度に近付くように応答パケットの送信頻度を決定する応答送信頻度決定処理と、を実行させる。
【発明の効果】
【0016】
本発明によれば、データ送信装置のトランスポートプロトコルが可用帯域を素早く使い切れるように加速し、且つ不必要な確認応答パケットの返信を抑制する、受信トラヒックの高速化装置、高速化方法、および高速化プログラムを提供できる。
【図面の簡単な説明】
【0017】
図1】本発明の上位概念の実施形態の、受信トラヒックの高速化装置を説明するためのブロック図である。
図2】本発明の第1実施形態の、受信トラヒックの高速化装置を説明するためのブロック図である。
図3】本発明の第1実施形態の、受信トラヒックの高速化装置の動作を説明するためのフローチャートである。
図4】本発明の第2実施形態の、受信トラヒックの高速化装置を説明するためのブロック図である。
図5】本発明の第2実施形態の、受信トラヒックの高速化装置の動作を説明するためのフローチャートである。
図6】(a)は本発明のその他の実施形態の受信トラヒックの高速化装置を説明するためのブロック図であり、(b)はその他の実施形態の受信トラヒックの高速化装置に用いられる情報処理装置の一例を示すブロック図である。
【発明を実施するための形態】
【0018】
本発明の好ましい実施形態について説明する前に、本発明の上位概念の実施形態の、受信トラヒックの高速化装置、および高速化方法について説明する。図1は、本発明の上位概念の実施形態の、受信トラヒックの高速化装置を説明するためのブロック図である。
【0019】
図1の受信トラヒックの高速化装置200は、目標送信速度推定手段201と、現在送信速度推定手段202と、応答送信頻度決定手段203と、を含む。
【0020】
目標送信速度推定手段201は、データパケットの受信結果をもとにネットワークの可用帯域を推定し、推定された可用帯域をもとに目標送信速度を推定する。現在送信速度推定手段202は、データパケットの受信結果をもとに、現時点でのデータパケットを送出する速度を推定する。応答送信頻度決定手段203は、応答パケットの送信頻度を決定する。この応答パケットの送信頻度は例えば、目標送信速度推定手段12が推定した目標送信速度と、現在送信速度推定手段13が推定した現在送信速度とのうちの1つ以上の情報をもとに決定する。
【0021】
本実施形態によれば、データパケットの受信結果をもとにネットワークの可用帯域を推定し、推定された可用帯域をもとに目標送信速度を推定している。またデータパケットの受信結果をもとに、現時点でのデータパケットを送出する速度を推定する。そして、推定した目標送信速度と、推定した現在送信速度とのうちの1つ以上の情報をもとに、応答パケットの送信頻度を決定している。特に、推定した目標送信速度と推定した現在送信速度とをもとに、上記現在送信速度が上記目標送信速度に近付くように応答パケットの送信頻度を決定している。これにより、可用帯域を推定し、推定結果に基づいてデータ送信装置のトランスポートプロトコルの送信可能なデータ量がどこまで、どの程度速く増加するかを判断して、確認応答パケットの返信頻度を変更する。その結果、可用帯域を素早く使い切れるように加速し、且つ不必要な確認応答パケットの返信を抑制することができる。以下、本発明のより具体的な実施形態について、図面を参照しながら詳細に説明する。
【0022】
〔第1実施形態〕
本発明の第1実施形態による受信トラヒックの高速化装置、および高速化方法について、説明する。図2は、本発明の第1実施形態の、受信トラヒックの高速化装置を説明するためのブロック図である。図3は、本発明の第1実施形態の、受信トラヒックの高速化装置の動作を説明するためのフローチャートである。
【0023】
[構成の説明]
本実施形態は、受信トラヒックの高速化装置、および高速化方法を、ネットワーク4を経由してデータ送信装置2から送信されたデータパケットを受信するデータ受信装置1に適用した場合である。
【0024】
図2のシステムのデータ受信装置1やデータ送信装置2は、例えばユーザがコンテンツをダウンロードする場合のPC(Personal Computer)や携帯端末などであり、またはユーザがコンテンツをアップロードする場合のサーバやクラウドストレージなどである。
【0025】
図2のシステムのデータ受信装置1は、データ送信装置2から送信されたデータパケットを受信し、正常に受信できたか否かに応じて、または、一定時間ごとに応答パケットを上記データ送信装置2に送信するデータ受信装置1である。
【0026】
図2のシステムのデータ送信装置2は、例えばユーザがコンテンツをダウンロードする場合のサーバやクラウドストレージなどであったり、ユーザがコンテンツをアップロードする場合のPCや携帯端末などであったりし、データ受信装置1にデータパケットを送信し、上記データ受信装置1から上記データパケットに対応する応答パケットを受信した際に、上記応答パケットに記載されている情報に応じて、正常な受信を確認することなく同時に送信可能なデータパケットの量を決定し、上記送信可能なデータパケットの量に従って上記データ受信装置1にデータパケットを送信するデータ送信装置2である。
【0027】
さらに図2のシステムは、データ受信装置1とデータ送信装置2とを繋げるネットワーク4を含む。
【0028】
なお、ここで、データ受信装置1とデータ送信装置2との間の通信に用いられるプロトコルがTCPの場合、上記応答パケットはACKパケットに該当し、上記送信可能なデータパケットの量はcwndに該当する。しかしながら、これに限定されず、例えばデータ受信装置1やデータ送信装置2において動作しているプログラムが独自の応答パケットを送信したり、独自に送信可能なデータパケットの量を決定したりしても良い。
【0029】
本実施形態のデータ受信装置1は、データ送受信手段11、目標送信速度推定手段12、現在送信速度推定手段13、送信制御状態推定手段14、および応答送信頻度決定手段15を含む。これらの手段は、それぞれ概略つぎのように動作する。
【0030】
データ送受信手段11は、ネットワーク4を経由してデータ送信装置2から送信されたデータパケットを受信し、正常に受信できたか否かを示す応答パケットを、応答送信頻度決定手段15が決定した送信頻度で上記データ送信装置2に送信する。
【0031】
目標送信速度推定手段12は、データ送受信手段11によるデータパケットの受信結果をもとにネットワーク4の可用帯域を推定し、推定された可用帯域をもとに目標送信速度を推定する。
【0032】
現在送信速度推定手段13は、データ送受信手段11によるデータパケットの受信結果をもとに、現時点でのデータ送信装置2がデータパケットを送出する速度を推定する。
【0033】
送信制御状態推定手段14は、送信可能なデータパケットの量を決定する際に、どのような決定方法を用いているのかを推定する。この決定方法の推定は、データ送受信手段11によるデータパケットの受信結果と、現在送信速度推定手段13が推定した現在送信速度をもとに、データ送信装置2が応答パケットの内容や受信状況をもとに送信可能なデータパケットの量を決定する際に、行う。
【0034】
応答送信頻度決定手段15は、データ送受信手段11がデータ送信装置2に送信する応答パケットの送信頻度を決定する。この送信頻度の決定は、目標送信速度推定手段12が推定した目標送信速度と、現在送信速度推定手段13が推定した現在送信速度と、送信制御状態推定手段14が推定した送信可能なデータパケットの量の決定方法のうちの1つ以上の情報をもとに行う。特に、推定した目標送信速度と推定した現在送信速度とをもとに、上記現在送信速度が上記目標送信速度に近付くように応答パケットの送信頻度を決定している。
【0035】
データ送受信手段11は、データ送信装置2からデータパケットが送信されてきた際に、上記データパケットを受信する。また、応答送信頻度決定手段15が応答パケットの送信頻度を決定した際に、データパケットを正常に受信できたか否かを示す応答パケットを、上記決定された送信頻度で上記データ送信装置2に送信する。
【0036】
ここで、上記送信頻度で応答パケットを送信する方法は、例えば、上記送信頻度に沿うように応答パケットの送信回数を調整する方法である。具体的には、例えば、データパケットの到着頻度の1/5倍の頻度で応答パケットを送信すると応答送信頻度決定手段15が決定した場合、データ送受信手段11はデータパケットを5個受信するごとに応答パケットを1個送信する。また、例えば、データパケットの到着頻度の5倍の頻度で応答パケットを送信すると応答送信頻度決定手段15が決定した場合、データ送受信手段11はデータパケットを1個受信するごとに応答パケットを5個送信する。
【0037】
また、上記送信方法に限らず、例えば、上記送信頻度に沿うように応答パケットの送信時間間隔を調整する方法であっても良い。具体的には、例えば、データパケットの到着頻度の5倍の頻度で応答パケットを送信すると応答送信頻度決定手段15が決定した場合、データ送受信手段11はデータパケットの受信時間間隔またはその統計値を計算し、上記計算値を1/5倍にした時間間隔で応答パケットを送信する。
【0038】
また、例えば、データパケットの到着頻度の1/5倍の頻度で応答パケットを送信すると応答送信頻度決定手段15が決定した場合、データ送受信手段11は上記計算値を5倍にした時間間隔で応答パケットを送信する。なお、ここで、データ受信装置1とデータ送信装置2との間の通信に用いられるプロトコルがTCPの場合、1個のデータパケットに対して2個以上の応答パケットを送信する際に、重複ACKにならないようにするため、データパケットの途中のシーケンス番号までを受信済みであるかのように、その次のシーケンス番号を応答パケットに記載して送信する。
【0039】
具体的には、例えば、シーケンス番号が10001〜11400のデータパケットを1個受信し、これに対して5個の応答パケットを送信する場合、データ送受信手段11は、例えば、それぞれ要求するシーケンス番号が10281、10561、10841、11121、11401と記載された応答パケットをデータ送信装置2に送信する。また、応答パケットに記載するシーケンス番号は1以上大きい値を順次記載し、未受信の中で最小のシーケンス番号を最後の応答パケットに記載していれば良い。これにより上記の例のように等差的にシーケンス番号を増加させる制約はなく、例えば、それぞれ要求するシーケンス番号が10002、10003、10004、10005、11401と記載された応答パケットをデータ送信装置2に送信しても良い。
【0040】
目標送信速度推定手段12は、データ送受信手段11がデータパケットを受信した際、または、一定時間ごとに、データ送受信手段11によるデータパケットの受信結果をもとにネットワーク4の可用帯域を推定し、上記可用帯域をもとに目標送信速度を推定する。ここで、上記可用帯域の推定方法は、例えば、データパケットのサイズまたはその統計値をデータパケットのデータ送受信手段11における受信間隔またはその統計値で除算した値を上記可用帯域と推定する方法である。
【0041】
また、上記推定方法に限らず、例えば、データ送受信手段11における受信間隔が予め定められた閾値以下のデータパケットを1まとまりのパケット群と捉え、上記パケット群のサイズまたはその統計値を上記パケット群の受信にかかった時間またはその統計値で除算した値を上記可用帯域と推定する方法であっても良い。
【0042】
また、ここでの上記目標送信速度の推定方法は、例えば、上記推定された可用帯域をそのまま上記目標送信速度と推定する方法である。また、上記推定方法に限らず、例えば、タイムスタンプの値などを用いてデータ送信装置2とデータ受信装置1との間の往復遅延時間を算出し、上記往復遅延時間またはその統計値を上記推定された可用帯域に乗算した値を上記目標送信速度と推定する方法であっても良い。
【0043】
現在送信速度推定手段13は、データ送受信手段11がデータパケットを受信した際、または、一定時間ごとに、データ送受信手段11によるデータパケットの受信結果をもとに、現時点でデータ送信装置2がデータパケットを送出する現在送信速度を推定する。ここで、上記現在送信速度の推定方法は、例えば、タイムスタンプの値などを用いてデータ送信装置2とデータ受信装置1との間の往復遅延時間を算出し、上記往復遅延時間の間にデータ送受信手段11が受信したデータパケットのサイズまたはその統計値を上記現在送信速度と推定する方法である。
【0044】
また、上記推定方法に限らず、例えば、上記往復遅延時間の間にデータ送受信手段11が受信したデータパケットのサイズまたはその統計値を、上記往復遅延時間またはその統計値で除算した値を上記現在送信速度と推定する方法であっても良い。
【0045】
送信制御状態推定手段14は、データ送受信手段11がデータパケットを受信した際、または、現在送信速度推定手段13が現在送信速度を推定した際、または、一定時間ごとに、データ送受信手段11によるデータパケットの受信結果と、現在送信速度推定手段13が推定した現在送信速度をもとに、データ送信装置2が応答パケットの内容や受信状況をもとに送信可能なデータパケットの量を決定する際に、どのような決定方法を用いているかという送信制御状態を推定する。
【0046】
ここで、上記送信制御状態の推定方法は、例えば、データ受信装置1とデータ送信装置2との間の通信に用いられるプロトコルがTCPの場合、データ送信装置2のTCPがスロースタートフェーズにあるか輻輳回避フェーズにあるかを推定する方法である。具体的には、要求するシーケンス番号が同一の応答パケットを、データ送受信手段11が3回連続で送信した場合、または、現在送信速度推定手段13が推定した現在送信速度が、前回の値に予め定められた定数αを乗算した値より小さい場合、または、現在送信速度推定手段13が推定した現在送信速度が、前回の値に予め定められた定数βを加算した値より小さい場合に、輻輳回避フェーズに移行したと推定し、通信開始直後、または、現在送信速度推定手段13が推定した現在送信速度が、予め定められた閾値より小さい場合に、スロースタートフェーズに移行したと推定する。
【0047】
また、上記推定方法に限らず、例えば、データ受信装置1とデータ送信装置2との間の通信に用いられるプロトコルがTCP以外であっても、その決定アルゴリズムが既知または事前に通知しておき、上記決定アルゴリズムの挙動に沿った判別条件を設定することで、同様に送信制御状態を推定する方法であっても良い。
【0048】
応答送信頻度決定手段15は、データ送受信手段11がデータパケットを受信した際、または、目標送信速度推定手段12が目標送信速度を推定した際、または、現在送信速度推定手段13が現在送信速度を推定した際、または、送信制御状態推定手段14が送信制御状態を推定した際、または、一定時間ごとに、目標送信速度推定手段12が推定した目標送信速度と、現在送信速度推定手段13が推定した現在送信速度と、送信制御状態推定手段14が推定した送信可能なデータパケットの量の決定方法のうちの1つ以上の情報をもとに、データ送受信手段11がデータ送信装置2に送信する応答パケットの送信頻度を決定する。
【0049】
ここで、上記送信頻度は、1個のデータパケットに対していくつの応答パケットを送信するかという、0より大きい倍率値を表す。具体的な処理としては、応答送信頻度決定手段15は、高頻度決定方法と低頻度決定方法の2つの異なる送信頻度の決定方法のいずれかを用いるかを判断し、さらに、判断した上記送信頻度の決定方法を用いて応答パケットの送信頻度を決定する。ここで、高頻度決定方法と低頻度決定方法のいずれかを用いるかの判断方法は、例えば、現在送信速度推定手段13が推定した現在送信速度が、目標送信速度推定手段12が推定した目標送信速度に予め定められた定数γを乗算した値よりも小さい場合に、高頻度決定方法を用いると判断し、それ以外の場合に低頻度決定方法を用いると判断する方法である。
【0050】
また、上記判断方法に限らず、送信制御状態推定手段14が例えば、データ送信装置2のTCPがスロースタートフェーズにあると推定した場合に、高頻度決定方法を用いると判断し、データ送信装置2のTCPが輻輳回避フェーズにあると推定した場合に、低頻度決定方法を用いると判断する方法であっても良い。
【0051】
また、応答パケットの送信頻度の決定方法としては、高頻度決定方法で決定される送信頻度が、低頻度決定方法で決定される送信頻度よりも大きくなるように決定する方法がある。具体的な決定方法としては、高頻度決定方法における送信頻度の決定方法は、例えば、目標送信速度推定手段12が推定した目標送信速度が大きいほど上記送信頻度が大きくなる、または、現在送信速度推定手段13が推定した現在送信速度が大きいほど上記送信頻度が小さくなる関数を用いて、上記送信頻度を決定する方法である。
【0052】
より具体的には、上記目標送信速度をA、上記現在送信速度をB、予め定められた定数をδ(正の実数)、ε(実数)としたとき、上記送信頻度を(A/B)^(1/δ)−εによって決定する方法である。また、上記決定方法に限らず、例えば、上記送信頻度を(A/B)×(1/δ)−εによって決定する方法であっても良いし、例えば、上記決定方法のいずれかを、高頻度決定方法に移行した直後または通信開始直後の一度だけ計算し、低頻度決定方法に移行するまでの間は同じ送信頻度を使用し続ける方法であっても良い。
【0053】
例えば、低頻度決定方法が背景技術のTCPよりも小さい送信頻度を決定している場合に、背景技術のTCPと同じ送信頻度に決定する方法であっても良い。ここで、δはどの程度早く目標送信速度に到達させるかを示しており、例えば往復遅延時間の5倍程度の時間で目標送信速度に到達させる場合は、δ=5とするのが望ましい。また、εは上記送信頻度を調整するための数値で、ε=1またはε=1/δとするのが望ましい。しかし、上記数値例に限らず、別の数値が設定されていても良い。
【0054】
また、低頻度決定方法における送信頻度の決定方法は、例えば、上記現在送信速度が大きいほど上記送信頻度が小さくなる関数を用いて、上記送信頻度を決定する方法である。より具体的には、予め定められた定数をζ(正の実数)、η(実数)としたとき、上記送信頻度をζ/B−ηによって決定する方法である。また、上記決定方法に限らず、例えば、上記送信頻度を予め定められた定数θに決定する方法である。また、上記決定方法に限らず、例えば、高頻度決定方法が背景技術のTCPよりも大きい送信頻度を決定している場合に、背景技術のTCPと同じ送信頻度に決定する方法であっても良い。ここで、ζはどの程度の応答パケットを送信するかを示しており、例えば往復遅延時間内に応答パケットを10個程度送信する場合は、ζ=10とするのが望ましい。また、ηは上記送信頻度を調整するための数値で、η=0とするのが望ましい。しかし、上記数値例に限らず、別の数値が設定されていても良い。
【0055】
なお、応答送信頻度決定手段15では、目標送信速度推定手段12が推定した目標送信速度と、現在送信速度推定手段13が推定した現在送信速度と、送信制御状態推定手段14が推定した送信可能なデータパケットの量の決定方法のうちの1つ以上の情報を用いる。しかしながら応答送信頻度決定手段15では、上記情報のうちのいくつかを使用しない場合、第1実施形態では、使用しない上記情報に該当する推定手段を含まない構成を取ることもできる。
【0056】
[動作の説明]
次に、図2図3を参照して、本発明の第1実施形態の動作について説明する。
【0057】
まずデータ送受信手段11が、ネットワーク4を経由してデータ送信装置2からデータパケットが送信されてきた際に、上記データパケットを受信する(ステップS11)。
【0058】
目標送信速度推定手段12が、データ送受信手段11がデータパケットを受信した際、または、一定時間ごとに、データ送受信手段11によるデータパケットの受信結果をもとにネットワーク4の可用帯域を推定する。さらに目標送信速度推定手段12は、こうして推定した可用帯域をもとに目標送信速度を推定する(ステップS12)。
【0059】
現在送信速度推定手段13が、データ送受信手段11がデータパケットを受信した際、または、一定時間ごとに、データ送受信手段11によるデータパケットの受信結果をもとに、現時点でデータ送信装置2がデータパケットを送出する現在送信速度を推定する(ステップS13)。
【0060】
送信制御状態推定手段14が、データ送受信手段11がデータパケットを受信した際、または、現在送信速度推定手段13が現在送信速度を推定した際、または、一定時間ごとに、データ送受信手段11によるデータパケットの受信結果と、現在送信速度推定手段13が推定した現在送信速度をもとに、データ送信装置2が応答パケットの内容や受信状況をもとに送信可能なデータパケットの量を決定する際に、どのような決定方法を用いているかという送信制御状態を推定する(ステップS14)。
【0061】
次に応答送信頻度決定手段15が、データ送受信手段11がデータ送信装置2に送信する応答パケットの送信頻度を決定する(ステップS15)。この応答パケットの送信頻度は、目標送信速度推定手段12が推定した目標送信速度と、現在送信速度推定手段13が推定した現在送信速度と、送信制御状態推定手段14が推定した送信可能なデータパケットの量の決定方法のうちの1つ以上の情報をもとに、決定される。特に、推定した目標送信速度と推定した現在送信速度とをもとに、上記現在送信速度が上記目標送信速度に近付くように応答パケットの送信頻度を決定する。さらにこの応答パケットの送信頻度の決定は、データ送受信手段11がデータパケットを受信した際、または、目標送信速度推定手段12が目標送信速度を推定した際、または、現在送信速度推定手段13が現在送信速度を推定した際、または、送信制御状態推定手段14が送信制御状態を推定した際、または、一定時間ごとに、行う。
【0062】
次にデータ送受信手段11が、データパケットを受信した際、または、一定時間ごとに、上記データパケットを正常に受信できたか否かを示す応答パケットを、応答送信頻度決定手段15が決定した送信頻度で上記データ送信装置2に送信する(ステップS16)。
【0063】
[効果の説明]
本実施形態によれば、推定した目標送信速度と、推定した現在送信速度と、推定した送信可能なデータパケットの量の決定方法のうちの1つ以上の情報をもとに、データ送受信手段11がデータ送信装置2に送信する応答パケットの送信頻度を、応答送信頻度決定手段15が決定している。
【0064】
これにより、可用帯域を推定し、推定結果に基づいてデータ送信装置2のトランスポートプロトコルの送信可能なデータ量がどこまで、どの程度速く増加するかを判断して、確認応答パケットの返信頻度を変更する。その結果、可用帯域を素早く使い切れるように加速し、且つ不必要な確認応答パケットの返信を抑制することができる。
【0065】
特に、データ送受信手段11がデータ送信装置2に送信する応答パケットの送信頻度を、推定した目標送信速度と推定した現在送信速度とをもとに、上記現在送信速度が上記目標送信速度に近付くように応答パケットの送信頻度を決定することにより、応答パケットの送信頻度を最適化することができ、受信トラヒックをより一層高速化することができる
【0066】
〔第2実施形態〕
次に、本発明の第2実施形態による受信トラヒックの高速化装置、および高速化方法について、説明する。図4は、本発明の第2実施形態の、受信トラヒックの高速化装置を説明するためのブロック図である。図5は、本発明の第2実施形態の、受信トラヒックの高速化装置の動作を説明するためのフローチャートである。なお、第1実施形態の受信トラヒックの高速化装置と同様な要素については、同じ参照番号を付して、その詳細な説明を省略することとする。
【0067】
[構成の説明]
本実施形態は、第1実施形態に対し、データ送信装置2とデータ受信装置1との間のデータ通信を一度終端する中継サーバ3を含むシステムへ適用した場合である。言い換えると本実施形態は、データ送信装置2とデータ受信装置1との間のデータ通信を一度終端する中継サーバ3に、上述した受信トラヒックの高速化装置、および高速化方法を適用した場合である。
【0068】
図4を参照すると、本発明の第2実施形態は、第1実施形態に対し、例えばキャッシュサーバやプロキシサーバ、MEC(Mobile Edge Computing)サーバなどのように、データ送信装置2とデータ受信装置1との間に設置され、データ送信装置2とデータ受信装置1との間のデータ通信を一度終端する中継サーバ3を含む。本実施形態では第1実施形態のネットワーク4のうち、データ送信装置2と中継サーバ3との間の区間を送信側ネットワーク41、中継サーバ3とデータ受信装置1との間の区間を受信側ネットワーク42とする。
【0069】
これらの手段は、それぞれ概略つぎのように動作する。
【0070】
データ受信装置1は、第1実施形態のデータ受信装置1と同じ構成をしていても良いし、特別な構成は持たずに背景技術のデータ受信装置と同じ構成をしていても良い。
【0071】
中継サーバ3は、第1実施形態のデータ受信装置1に対し、データ送信装置2から受信したデータパケットを、受信側ネットワーク42を経由してデータ受信装置1に送信するデータ送受信手段(受信側)112をさらに含む。また中継サーバ3は、第1実施形態のデータ送受信手段11の代わりに、データ送受信手段(送信側)111を含む。
【0072】
データ送受信手段(送信側)111は、第1実施形態のデータ送受信手段11の動作に加えて、データ送信装置2からデータパケットを受信した際に、上記データパケットをデータ送受信手段(受信側)112に転送する。
【0073】
データ送受信手段(受信側)112は、データ送受信手段(送信側)111からデータパケットを転送された際に、受信側ネットワーク42を経由して、上記データパケットをデータ受信装置1に送信する。そして、上記データ受信装置1から上記データパケットに対応する応答パケットを受信した際に、上記応答パケットに記載されている情報に応じて、正常な受信を確認することなく同時に送信可能なデータパケットの量を決定し、上記送信可能なデータパケットの量に従って上記データ受信装置1にデータパケットを送信する。
【0074】
目標送信速度推定手段12は、第1実施形態の目標送信速度推定手段12の動作に加えて、データ送受信手段(受信側)112が応答パケットを受信した際、または、一定時間ごとに、データ送受信手段(受信側)112による応答パケットの受信結果をもとに受信側ネットワーク42の可用帯域を推定し、第1実施形態の目標送信速度推定手段12と同様にして推定した送信側ネットワーク41の可用帯域と、上記受信側の可用帯域をもとに、目標送信速度を推定する。ここで、上記受信側の可用帯域の推定方法は、例えば、データ送受信手段(受信側)112が受信した応答パケットによってデータ受信装置1への正常な到着が新たに確認されたデータのサイズまたはその統計値を、上記応答パケットのデータ送受信手段(受信側)112における受信間隔またはその統計値で除算した値を上記受信側の可用帯域と推定する方法である。また、上記推定方法に限らず、例えば、データ送受信手段(受信側)112における受信間隔が予め定められた閾値以下の応答パケットを1まとまりの応答パケット群と捉え、上記応答パケット群によってデータ受信装置1への正常な到着が新たに確認されたデータのサイズまたはその統計値を、上記応答パケット群の受信にかかった時間またはその統計値で除算した値を上記受信側の可用帯域と推定する方法であっても良いし、中継サーバ3における滞留データサイズ、つまり、データ送受信手段(送信側)111が受信済みであり、且つ、データ送受信手段(受信側)112がまだ送出していないデータパケットのサイズを計測し、上記滞留データサイズの増加速度(減少しているときは負値の増加速度と捉える)を、第1実施形態の目標送信速度推定手段12と同様にして推定した送信側ネットワーク41の可用帯域から減算した値を上記受信側の可用帯域と推定する方法であっても良いし、データ送受信手段(送信側)111が受信したデータパケットを中継サーバ3において一時的に滞留させておき、上記滞留させたデータパケットをまとめてデータ送受信手段(受信側)112から送信し、上記滞留させたデータパケットの送信で得られたスループットを上記受信側の可用帯域と推定する方法であっても良いし、上記受信側の可用帯域は急変しないと仮定して、中継サーバ3とデータ受信装置1との前回の通信セッションで得られた可用帯域またはスループットの最大値を上記受信側の可用帯域と推定する方法であっても良い。また、ここで、上記目標送信速度の推定方法は、例えば、送信側ネットワーク41の可用帯域と受信側ネットワーク42の可用帯域のいずれかの値、または、小さい方の値を上記目標送信速度と推定する方法である。また、上記推定方法に限らず、例えば、タイムスタンプの値などを用いてデータ送信装置2と中継サーバ3との間の往復遅延時間(送信側ネットワーク41の往復遅延時間)と、中継サーバ3とデータ受信装置1との間の往復遅延時間(受信側ネットワーク42の往復遅延時間)をそれぞれ算出し、上記送信側ネットワーク41の往復遅延時間またはその統計値を送信側ネットワーク41の可用帯域に乗算した値と、上記受信側ネットワーク42の往復遅延時間またはその統計値を受信側ネットワーク42の可用帯域に乗算した値のいずれかの値、または、小さい方の値を上記目標送信速度と推定する方法であっても良い。
【0075】
[動作の説明]
次に、図4および図5を参照して、本発明の第2実施形態の動作について説明する。
【0076】
まず中継サーバ3のデータ送受信手段(送信側)111が、送信側ネットワーク41を経由してデータ送信装置2からデータパケットが送信されてきた際に、上記データパケットを受信し、上記データパケットをデータ送受信手段(受信側)112に転送する(ステップS21)。
【0077】
中継サーバ3のデータ送受信手段(受信側)112が、データ送受信手段(送信側)111からデータパケットを転送された際に、受信側ネットワーク42を経由して上記データパケットをデータ受信装置1に送信する(ステップS22)。
【0078】
目標送信速度推定手段12が、データ送受信手段(送信側)111がデータパケットを受信した際、または、一定時間ごとに、データ送受信手段(送信側)111によるデータパケットの受信結果をもとに送信側ネットワーク41の可用帯域を推定する。また目標送信速度推定手段12は、データ送受信手段(受信側)112が応答パケットを受信した際、または、一定時間ごとに、データ送受信手段(受信側)112による応答パケットの受信結果をもとに受信側ネットワーク42の可用帯域を推定する。こうして推定した送信側の可用帯域と推定した受信側の可用帯域とをもとに、目標送信速度推定手段12は目標送信速度を推定する(ステップS23)。
【0079】
現在送信速度推定手段13が、データ送受信手段(送信側)111がデータパケットを受信した際、または、一定時間ごとに、データ送受信手段(送信側)111によるデータパケットの受信結果をもとに、現在送信速度を推定する(ステップS24)。この現在送信速度は、現時点でデータ送信装置2がデータパケットを送出する送信速度である。
【0080】
送信制御状態推定手段14が、データ送信装置2が応答パケットの内容や受信状況をもとに送信可能なデータパケットの量を決定する際に、どのような決定方法を用いているかという送信制御状態を推定する(ステップS25)。この送信可能なデータパケットの量の決定は、データ送受信手段(送信側)111がデータパケットを受信した際、または、現在送信速度推定手段13が現在送信速度を推定した際、または、一定時間ごとに行う。
【0081】
次に応答送信頻度決定手段15が、標送信速度推定手段12が推定した目標送信速度と、現在送信速度推定手段13が推定した現在送信速度と、送信制御状態推定手段14が推定した送信可能なデータパケットの量の決定方法のうちの1つ以上の情報をもとに、データ送受信手段(送信側)111がデータ送信装置2に送信する応答パケットの送信頻度を決定する(ステップS26)。特に、推定した目標送信速度と推定した現在送信速度とをもとに、上記現在送信速度が上記目標送信速度に近付くように応答パケットの送信頻度を決定する。この送信頻度の決定は、データ送受信手段(送信側)111がデータパケットを受信した際、または、目標送信速度推定手段12が目標送信速度を推定した際、または、現在送信速度推定手段13が現在送信速度を推定した際、または、送信制御状態推定手段14が送信制御状態を推定した際、または、一定時間ごとに、行う。
【0082】
次にデータ送受信手段(送信側)111が、データパケットを受信した際、または、一定時間ごとに、上記データパケットを正常に受信できたか否かを示す応答パケットを、応答送信頻度決定手段15が決定した送信頻度で上記データ送信装置2に送信する(ステップS27)。
【0083】
[効果の説明]
本実施形態によれば、推定した目標送信速度と、推定した現在送信速度と、推定した送信可能なデータパケットの量の決定方法のうちの1つ以上の情報をもとに、データ送受信手段(送信側)111がデータ送信装置2に送信する応答パケットの送信頻度を、応答送信頻度決定手段15が決定している。
【0084】
これにより、可用帯域を推定し、推定結果に基づいてデータ送信装置2のトランスポートプロトコルの送信可能なデータ量がどこまで、どの程度速く増加するかを判断して、確認応答パケットの返信頻度を変更する。その結果、可用帯域を素早く使い切れるように加速し、且つ不必要な確認応答パケットの返信を抑制することができる。
【0085】
特に、データ送受信手段(送信側)111がデータ送信装置2に送信する応答パケットの送信頻度を、推定した目標送信速度と推定した現在送信速度とをもとに、上記現在送信速度が上記目標送信速度に近付くように応答パケットの送信頻度を決定することにより、応答パケットの送信頻度を最適化することができ、受信トラヒックをより一層高速化することができる。
【0086】
さらに、本実施形態では中継サーバ3の目標送信速度推定手段12が、データパケットの受信結果と応答パケットの受信結果をもとに目標送信速度を推定している。これによりデータ送信装置2とデータ受信装置1との間のデータ通信を一度終端する中継サーバ3を含むシステムにおいても、可用帯域を素早く使い切れるように加速し、且つ不必要な確認応答パケットの返信を抑制することができる。
【0087】
〔その他の実施形態〕
上述した本発明の各実施形態に係る、受信トラヒックの高速化装置は、このような構成や動作を実現するプログラムを実行できる情報処理装置によっても実現されうる。例えば、本発明の受信トラヒックの高速化装置は、情報処理装置に上述した高速化方法を実行させるプログラムを読み込ませて実行させることにより、実現することも考えられる。このプログラムは、コンピュータ読み取り可能な記録媒体の形態で、流通され得る。このような記録媒体に記録されたプログラムを読み込んで、情報処理装置で実行することにより、本実施形態の機能をソフトウェア的に実現してもよい。
【0088】
図6(a)は、本発明のその他の実施形態の受信トラヒックの高速化装置を説明するためのブロック図であり、図6(b)はその他の実施形態の受信トラヒックの高速化装置に用いられる情報処理装置の一例を示すブロック図である。図6(b)の情報処理装置300は、CPU(Central Processing Unit)301、およびメモリ302を含む。このようなハードウェア構成の情報処理装置300で、上述した本発明の実施形態の、受信トラヒックの高速化装置は、実現され得る。すなわち、CPU301に、目標送信速度推定処理、現在送信速度推定処理、および応答送信頻度決定処理などを実行させ、可用帯域を推定し、推定結果に基づいてデータ送信装置のトランスポートプロトコルの送信可能なデータ量がどこまで、どの程度速く増加するかを判断して、確認応答パケットの返信頻度を変更するように構成すればよい。このような処理を実行させるプログラムは、プログラムを記録した記録媒体の形態で、流通され得る。このプログラムは、CF(Compact Flash(登録商標))およびSD(Secure Digital)等の汎用的な半導体記録デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、またはCD−ROM(Compact Disc Read Only Memory)などの光学記録媒体などの形態で、流通され得る。
【0089】
以上、本発明の好ましい実施形態を説明したが、本発明はこれに限定されるものではない。特許請求の範囲に記載した発明の範囲内で、種々の変形が可能であり、それらも本発明の範囲に含まれることはいうまでもない。
【0090】
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)データ送信装置から受信したデータパケットに対して応答パケットを返信するデータ受信装置に用いられる受信トラヒックの高速化装置であって、
データパケットの受信結果をもとにネットワークの可用帯域を推定し、推定された可用帯域をもとに目標送信速度を推定する目標送信速度推定手段と、
前記データパケットの受信結果をもとに、前記データパケットを前記データ送信装置が送出する現在の送信速度を推定する現在送信速度推定手段と、
前記推定した目標送信速度と前記推定した現在送信速度とをもとに、前記現在送信速度が前記目標送信速度に近付くように応答パケットの送信頻度を決定する応答送信頻度決定手段と、を含む受信トラヒックの高速化装置。
(付記2)前記応答送信頻度決定手段は、条件に応じて第1の送信頻度決定方法と第2の送信頻度決定方法のうちのどちらを用いて応答パケットの送信頻度を決定するかを判断し、
前記第1の送信頻度決定方法で決定される応答パケットの送信頻度は、前記第2の送信頻度決定方法で決定される応答パケットの送信頻度よりも大きくなるように設定されている、付記1に記載の受信トラヒックの高速化装置。
(付記3)前記応答送信頻度決定手段は、前記第1の送信頻度決定方法を用いる場合、目標送信速度が大きいほど応答パケットの送信頻度が大きくなる、または、現在の送信速度が大きいほど応答パケットの送信頻度が小さくなる関数を用いて、前記応答パケットの送信頻度を決定する、付記2に記載の受信トラヒックの高速化装置。
(付記4)前記応答送信頻度決定手段は、前記第1の送信頻度決定方法を用いる場合、目標送信速度を現在の送信速度で除算した値を、第1の定数乗または第1の定数倍してから、第2の定数を減算した値を用いて、前記応答パケットの送信頻度を決定する、付記2又は付記3に記載の受信トラヒックの高速化装置。
(付記5)前記応答送信頻度決定手段は、前記第2の送信頻度決定方法を用いる場合、現在の送信速度が大きいほど応答パケットの送信頻度が小さくなる関数を用いて、前記応答パケットの送信頻度を決定する、付記2乃至付記4のいずれか一つに記載の受信トラヒックの高速化装置。
(付記6)前記応答送信頻度決定手段は、目標送信速度に第3の定数を乗算した値よりも現在の送信速度が小さい場合に、前記第1の送信頻度決定方法を用いると判断し、それ以外の場合に前記第2の送信頻度決定方法を用いると判断する、付記2乃至付記5のいずれか一つに記載の受信トラヒックの高速化装置。
(付記7)前記データ送信装置とデータ受信装置との間の通信に用いられるプロトコルがTCP(Transmission Control Protocol)である場合に、
データパケットの受信状況と現在の送信速度をもとに、データ送信装置における輻輳制御の状態がスロースタートであるか輻輳回避であるかを推定する送信制御状態推定手段をさらに備え、
前記応答送信頻度決定手段は、前記送信制御状態推定手段によって輻輳制御の状態がスロースタートであると推定された場合に、前記第1の送信頻度決定方法を用いると判断し、輻輳回避であると推定された場合に、前記第2の送信頻度決定方法を用いると判断する、付記2乃至付記5のいずれか一つに記載の受信トラヒックの高速化装置。
(付記8)前記データ送信装置と前記データ受信装置との間に設置された中継サーバに適用され、
前記目標送信速度推定手段は、前記データ送信装置からのデータパケットの受信状況をもとに、前記データ送信装置と前記中継サーバとの間のネットワークにおける第1の可用帯域を推定し、前記データ受信装置からの応答パケットの受信状況または前記中継サーバに滞留しているデータ量の変化の速度をもとに、前記中継サーバと前記データ受信装置との間のネットワークにおける第2の可用帯域を推定し、前記第1の可用帯域と前記第2の可用帯域をもとに前記目標送信速度を推定する、付記1乃至付記7のいずれか一つに記載の受信トラヒックの高速化装置。
(付記9)データ送信装置から受信したデータパケットに対して応答パケットを返信するデータ受信装置に用いられる受信トラヒックの高速化方法であって、
データパケットの受信結果をもとにネットワークの可用帯域を推定し、推定された可用帯域をもとに目標送信速度を推定し、
前記データパケットの受信結果をもとに、前記データパケットを前記データ送信装置が送出する現在の送信速度を推定し、
前記推定した目標送信速度と前記推定した現在送信速度とをもとに、前記現在送信速度が前記目標送信速度に近付くように応答パケットの送信頻度を決定する、受信トラヒックの高速化方法。
(付記10)前記応答パケットの送信頻度の決定は、条件に応じて第1の送信頻度決定方法と第2の送信頻度決定方法のうちのどちらを用いて応答パケットの送信頻度を決定するかを判断し、
前記第1の送信頻度決定方法で決定される応答パケットの送信頻度は、前記第2の送信頻度決定方法で決定される応答パケットの送信頻度よりも大きくなるように設定されている、付記9に記載の受信トラヒックの高速化方法。
(付記11)前記第1の送信頻度決定方法を用いる場合、目標送信速度が大きいほど応答パケットの送信頻度が大きくなる、または、現在の送信速度が大きいほど応答パケットの送信頻度が小さくなる関数を用いて、前記応答パケットの送信頻度を決定する、付記10に記載の受信トラヒックの高速化方法。
(付記12)前記第1の送信頻度決定方法を用いる場合、目標送信速度を現在の送信速度で除算した値を、第1の定数乗または第1の定数倍してから、第2の定数を減算した値を用いて、前記応答パケットの送信頻度を決定する、付記10又は付記11に記載の受信トラヒックの高速化方法。
(付記13)前記第2の送信頻度決定方法を用いる場合、現在の送信速度が大きいほど応答パケットの送信頻度が小さくなる関数を用いて、前記応答パケットの送信頻度を決定する、付記10乃至付記12のいずれか一つに記載の受信トラヒックの高速化方法。
(付記14)目標送信速度に第3の定数を乗算した値よりも現在の送信速度が小さい場合に、前記第1の送信頻度決定方法を用いると判断し、それ以外の場合に前記第2の送信頻度決定方法を用いると判断する、付記10乃至付記13のいずれか一つに記載の受信トラヒックの高速化方法。
(付記15)前記データ送信装置とデータ受信装置との間の通信に用いられるプロトコルがTCP(Transmission Control Protocol)である場合に、
データパケットの受信状況と現在の送信速度をもとに、データ送信装置における輻輳制御の状態がスロースタートであるか輻輳回避であるかを推定し、
輻輳制御の状態がスロースタートであると推定された場合に、前記第1の送信頻度決定方法を用いると判断し、輻輳回避であると推定された場合に、前記第2の送信頻度決定方法を用いると判断する、付記10乃至付記13のいずれか一つに記載の受信トラヒックの高速化方法。
(付記16)前記データ送信装置と前記データ受信装置との間に設置された中継サーバに適用され、
前記データ送信装置からのデータパケットの受信状況をもとに、前記データ送信装置と前記中継サーバとの間のネットワークにおける第1の可用帯域を推定し、前記データ受信装置からの応答パケットの受信状況または前記中継サーバに滞留しているデータ量の変化の速度をもとに、前記中継サーバと前記データ受信装置との間のネットワークにおける第2の可用帯域を推定し、前記第1の可用帯域と前記第2の可用帯域をもとに前記目標送信速度を推定する、付記9乃至付記15のいずれか一つに記載の受信トラヒックの高速化方法。
(付記17)データ送信装置から受信したデータパケットに対して応答パケットを返信するデータ受信装置に用いられる受信トラヒックの高速化プログラムであって、
コンピュータに、
データパケットの受信結果をもとにネットワークの可用帯域を推定し、推定された可用帯域をもとに目標送信速度を推定する目標送信速度推定処理と、
前記データパケットの受信結果をもとに、前記データパケットを前記データ送信装置が送出する現在の送信速度を推定する現在送信速度推定処理と、
前記推定した目標送信速度と前記推定した現在送信速度とをもとに、前記現在送信速度が前記目標送信速度に近付くように応答パケットの送信頻度を決定する応答送信頻度決定処理と、を実行させる受信トラヒックの高速化プログラム。
(付記18)前記応答送信頻度決定処理では、条件に応じて第1の送信頻度決定方法と第2の送信頻度決定方法のうちのどちらを用いて応答パケットの送信頻度を決定するかを判断し、
前記第1の送信頻度決定方法で決定される応答パケットの送信頻度は、前記第2の送信頻度決定方法で決定される応答パケットの送信頻度よりも大きくなるように設定されている、付記17に記載の受信トラヒックの高速化プログラム。
(付記19)前記応答送信頻度決定処理では、前記第1の送信頻度決定方法を用いる場合、目標送信速度が大きいほど応答パケットの送信頻度が大きくなる、または、現在の送信速度が大きいほど応答パケットの送信頻度が小さくなる関数を用いて、前記応答パケットの送信頻度を決定する、付記18に記載の受信トラヒックの高速化プログラム。
(付記20)前記応答送信頻度決定処理では、前記第1の送信頻度決定方法を用いる場合、目標送信速度を現在の送信速度で除算した値を、第1の定数乗または第1の定数倍してから、第2の定数を減算した値を用いて、前記応答パケットの送信頻度を決定する、付記18又は付記19に記載の受信トラヒックの高速化プログラム。
(付記21)前記応答送信頻度決定処理では、前記第2の送信頻度決定方法を用いる場合、現在の送信速度が大きいほど応答パケットの送信頻度が小さくなる関数を用いて、前記応答パケットの送信頻度を決定する、付記18乃至付記20のいずれか一つに記載の受信トラヒックの高速化プログラム。
(付記22)前記応答送信頻度決定処理では、目標送信速度に第3の定数を乗算した値よりも現在の送信速度が小さい場合に、前記第1の送信頻度決定方法を用いると判断し、それ以外の場合に前記第2の送信頻度決定方法を用いると判断する、付記18乃至付記21のいずれか一つに記載の受信トラヒックの高速化プログラム。
(付記23)前記データ送信装置とデータ受信装置との間の通信に用いられるプロトコルがTCP(Transmission Control Protocol)である場合に、
データパケットの受信状況と現在の送信速度をもとに、データ送信装置における輻輳制御の状態がスロースタートであるか輻輳回避であるかを推定する送信制御状態推定処理を、さらに前記コンピュータに実行させ、
前記応答送信頻度決定処理では、前記送信制御状態推定処理によって輻輳制御の状態がスロースタートであると推定された場合に、前記第1の送信頻度決定方法を用いると判断し、輻輳回避であると推定された場合に、前記第2の送信頻度決定方法を用いると判断する、付記18乃至付記21のいずれか一つに記載の受信トラヒックの高速化プログラム。
(付記24)前記データ送信装置と前記データ受信装置との間に設置された中継サーバに適用され、
前記目標送信速度推定処理では、前記データ送信装置からのデータパケットの受信状況をもとに、前記データ送信装置と前記中継サーバとの間のネットワークにおける第1の可用帯域を推定し、前記データ受信装置からの応答パケットの受信状況または前記中継サーバに滞留しているデータ量の変化の速度をもとに、前記中継サーバと前記データ受信装置との間のネットワークにおける第2の可用帯域を推定し、前記第1の可用帯域と前記第2の可用帯域をもとに前記目標送信速度を推定する、付記17乃至付記23のいずれか一つに記載の受信トラヒックの高速化プログラム。
【産業上の利用可能性】
【0091】
本発明は、例えばデータダウンロード時のユーザ端末や、データアップロード時のサーバのようなデータ受信装置に適用することができる。また、データ送受信の経路の途中に設置され、データ送受信装置間で通信されるパケットを転送する中継サーバ装置に適用可能である。
【符号の説明】
【0092】
1 データ受信装置
11 データ送受信手段
111 データ送受信手段(送信側)
112 データ送受信手段(受信側)
12、201 目標送信速度推定手段
13、202 現在送信速度推定手段
14 送信制御状態推定手段
15、203 応答送信頻度決定手段
2 データ送信装置
3 中継サーバ
4 ネットワーク
41 送信側ネットワーク
42 受信側ネットワーク
200 受信トラヒックの高速化装置
300 情報処理装置
301 CPU
302 メモリ
図1
図2
図3
図4
図5
図6