(57)【要約】      （修正有）【課題】データ送信装置のトランスポートプロトコルが可用帯域を素早く使い切れるように加速し、且つ、不必要な確認応答パケットの返信を抑制する、受信トラヒックの高速化装置、高速化方法および高速化プログラムを提供する。【解決手段】受信トラヒック高速化装置は、データ送信装置２から受信したデータパケットに対して応答パケットを返信するデータ受信装置１であって、データパケットの受信結果をもとにネットワークの可用帯域を推定し、推定された可用帯域をもとに目標送信速度を推定する目標送信速度推定手段１２と、データパケットの受信結果をもとに、データパケットを上記データ送信装置が送出する現在の送信速度を推定する現在送信速度推定手段１３と、推定した目標送信速度と、推定した現在送信速度とをもとに、現在送信速度が目標送信速度に近付くように応答パケットの送信頻度を決定する応答送信頻度決定手段１５を含む。【選択図】図２
2018067788.tif 000002
【特許請求の範囲】
【請求項１】
データ送信装置から受信したデータパケットに対して応答パケットを返信するデータ受信装置に用いられる受信トラヒックの高速化装置であって、
データパケットの受信結果をもとにネットワークの可用帯域を推定し、推定された可用帯域をもとに目標送信速度を推定する目標送信速度推定手段と、
前記データパケットの受信結果をもとに、前記データパケットを前記データ送信装置が送出する現在の送信速度を推定する現在送信速度推定手段と、
前記推定した目標送信速度と前記推定した現在送信速度とをもとに、前記現在送信速度が前記目標送信速度に近付くように応答パケットの送信頻度を決定する応答送信頻度決定手段と、を含む受信トラヒックの高速化装置。
【請求項２】
前記応答送信頻度決定手段は、条件に応じて第１の送信頻度決定方法と第２の送信頻度決定方法のうちのどちらを用いて応答パケットの送信頻度を決定するかを判断し、
前記第１の送信頻度決定方法で決定される応答パケットの送信頻度は、前記第２の送信頻度決定方法で決定される応答パケットの送信頻度よりも大きくなるように設定されている、請求項１に記載の受信トラヒックの高速化装置。
【請求項３】
前記応答送信頻度決定手段は、前記第１の送信頻度決定方法を用いる場合、目標送信速度が大きいほど応答パケットの送信頻度が大きくなる、または、現在の送信速度が大きいほど応答パケットの送信頻度が小さくなる関数を用いて、前記応答パケットの送信頻度を決定する、請求項２に記載の受信トラヒックの高速化装置。
【請求項４】
前記応答送信頻度決定手段は、前記第１の送信頻度決定方法を用いる場合、目標送信速度を現在の送信速度で除算した値を、第１の定数乗または第１の定数倍してから、第２の定数を減算した値を用いて、前記応答パケットの送信頻度を決定する、請求項２又は請求項３に記載の受信トラヒックの高速化装置。
【請求項５】
前記応答送信頻度決定手段は、前記第２の送信頻度決定方法を用いる場合、現在の送信速度が大きいほど応答パケットの送信頻度が小さくなる関数を用いて、前記応答パケットの送信頻度を決定する、請求項２乃至請求項４のいずれか一項に記載の受信トラヒックの高速化装置。
【請求項６】
前記応答送信頻度決定手段は、目標送信速度に第３の定数を乗算した値よりも現在の送信速度が小さい場合に、前記第１の送信頻度決定方法を用いると判断し、それ以外の場合に前記第２の送信頻度決定方法を用いると判断する、請求項２乃至請求項５のいずれか一項に記載の受信トラヒックの高速化装置。
【請求項７】
前記データ送信装置とデータ受信装置との間の通信に用いられるプロトコルがＴＣＰ（Transmission Control Protocol）である場合に、
データパケットの受信状況と現在の送信速度をもとに、データ送信装置における輻輳制御の状態がスロースタートであるか輻輳回避であるかを推定する送信制御状態推定手段をさらに備え、
前記応答送信頻度決定手段は、前記送信制御状態推定手段によって輻輳制御の状態がスロースタートであると推定された場合に、前記第１の送信頻度決定方法を用いると判断し、輻輳回避であると推定された場合に、前記第２の送信頻度決定方法を用いると判断する、請求項２乃至請求項５のいずれか一項に記載の受信トラヒックの高速化装置。
【請求項８】
前記データ送信装置と前記データ受信装置との間に設置された中継サーバに適用され、
前記目標送信速度推定手段は、前記データ送信装置からのデータパケットの受信状況をもとに、前記データ送信装置と前記中継サーバとの間のネットワークにおける第１の可用帯域を推定し、前記データ受信装置からの応答パケットの受信状況または前記中継サーバに滞留しているデータ量の変化の速度をもとに、前記中継サーバと前記データ受信装置との間のネットワークにおける第２の可用帯域を推定し、前記第１の可用帯域と前記第２の可用帯域をもとに前記目標送信速度を推定する、請求項１乃至請求項７のいずれか一項に記載の受信トラヒックの高速化装置。
【請求項９】
データ送信装置から受信したデータパケットに対して応答パケットを返信するデータ受信装置に用いられる受信トラヒックの高速化方法であって、
データパケットの受信結果をもとにネットワークの可用帯域を推定し、推定された可用帯域をもとに目標送信速度を推定し、
前記データパケットの受信結果をもとに、前記データパケットを前記データ送信装置が送出する現在の送信速度を推定し、
前記推定した目標送信速度と前記推定した現在送信速度とをもとに、前記現在送信速度が前記目標送信速度に近付くように応答パケットの送信頻度を決定する、受信トラヒックの高速化方法。
【請求項１０】
データ送信装置から受信したデータパケットに対して応答パケットを返信するデータ受信装置に用いられる受信トラヒックの高速化プログラムであって、
コンピュータに、
データパケットの受信結果をもとにネットワークの可用帯域を推定し、推定された可用帯域をもとに目標送信速度を推定する目標送信速度推定処理と、
前記データパケットの受信結果をもとに、前記データパケットを前記データ送信装置が送出する現在の送信速度を推定する現在送信速度推定処理と、
前記推定した目標送信速度と前記推定した現在送信速度とをもとに、前記現在送信速度が前記目標送信速度に近付くように応答パケットの送信頻度を決定する応答送信頻度決定処理と、を実行させる受信トラヒックの高速化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信トラヒックの高速化装置、高速化方法、および高速化プログラムに関し、特に確認応答パケットの返信制御に関する。
【背景技術】
【０００２】
近年、スマートフォンやタブレット端末などのような、高性能で高機能なモバイル端末の普及に伴い、モバイル端末で写真やショートビデオを撮って、ＳＮＳ（Social Networking Service）やＩＭ（Instant Messaging）サービスへ投稿したり、クラウドストレージへ保存したりといった、ユーザ端末からネットワーク上のサーバやストレージにコンテンツをアップロードする利用シーンが増加してきている。
【０００３】
ここで、現在の多くのデータ通信で使用されているトランスポートプロトコルであるＴＣＰ（Transmission Control Protocol）は、輻輳制御によって利用可能な回線性能（可用帯域）を探りながらデータを送信するため、ネットワークの性能を使い切るまでに時間を要するという不都合がある。ＴＣＰの輻輳制御の具体的な挙動は次の通りである。輻輳制御では、通信開始やタイムアウトの直後はスロースタートフェーズという送信形態になり、データパケットが正常にデータ受信装置に届いたことを示す確認応答（ＡＣＫ：ACKnowledgement）パケットを受信するごとに、送信可能なデータ量（ｃｗｎｄ：congestion window）を１パケットずつ増加させる。また、軽度の輻輳を検知した後などは輻輳回避フェーズという送信形態になる。
【０００４】
輻輳回避フェーズでのｃｗｎｄの増減方法は輻輳制御ごとに異なるが、例えば非特許文献１のＴＣＰ  ＮｅｗＲｅｎｏでは、ＡＣＫパケットをｃｗｎｄと同じパケット数だけ受信するごとに、ｃｗｎｄを１パケットずつ増加させる。上述の通り、ＴＣＰの輻輳制御はデータパケットが正常に送信できたことをＡＣＫパケットによって確認しながら、徐々に送信するデータ量を増やしていく動作をするため、可用帯域が大きいほど、または、ＡＣＫパケットの受信までにかかる往復遅延が大きいほど、ネットワークの性能を使い切るまでに時間を要してしまう。
【０００５】
この不都合に対し、これまで様々な取り組みが行われてきた。この取り組みの多くは、例えば非特許文献２のＨｉｇｈＳｐｅｅｄ  ＴＣＰのように、データ送信装置のＴＣＰアルゴリズムを改善する方式である。非特許文献２は、輻輳回避フェーズにおけるｃｗｎｄの増加速度を非特許文献１に比べて速くすることで、ネットワークの性能を使い切るまでの時間を短縮している。しかし、コンテンツのアップロードなどの場合、データ送信装置はユーザ端末になるため、これらの方式を実現するためにはユーザ端末のＴＣＰを改造する必要がある。ユーザ端末は既に膨大な数が存在しているため、それら一つ一つのＴＣＰを改造する必要がある上記方式は現実的ではない。
【０００６】
また、別の取り組みとして、これまでに特許文献１のような改善策が講じられてきた。特許文献１は、データパケットの受信有無に関わらず、一定時間ごとにデータ受信装置からＡＣＫを返信することで、返信するＡＣＫの頻度を増加させ、データ送信装置でのＴＣＰの輻輳制御の実施回数を増加させ、ｃｗｎｄの増加速度を加速している。これにより、データ受信装置を改造するだけでユーザ端末からのアップロードされるトラヒックを高速化することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第４７７７９９６号公報
【特許文献２】特開２００４−８００７０号公報
【非特許文献】
【０００８】
【非特許文献１】S. Floyd and T. Henderson, "The NewReno Modification to TCP's Fast Recovery Algorithm," RFC 2582, Apr. 1999.
【非特許文献２】S. Floyd, "HighSpeed TCP for Large Congestion Windows," RFC 3649, Dec. 2003.
【非特許文献３】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.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した背景技術には以下のような課題がある。
【００１０】
しかし、特許文献１はデータ受信装置からＡＣＫを返信する頻度が一定であるため、最適な頻度でＡＣＫを返信できずに、過不足が生じるという課題がある。返信するＡＣＫの頻度を増加させると、データ送信装置のＴＣＰのｃｗｎｄが早く増加し、トラヒックを高速化することができるというメリットが存在する反面、ＡＣＫトラヒックが増加し、同じ方向を流れるデータトラヒックが圧迫されるというデメリットが存在する。ヘッダのみで構成されたＡＣＫパケットの場合、データパケットの５％程度のサイズとなるため、例えばＡＣＫパケットを返信する頻度を倍に増やすと、同じ方向を流れるデータトラヒックのスループットが単純計算で約５％低下する。また、ＡＣＫの頻度を増加させて得られるメリットは状況によって変化する。例えばスロースタートフェーズの場合、通信開始直後であれば、ＡＣＫの頻度を増加させた分だけ速くトラヒックを高速化することができるが、データ送信装置のＴＣＰのｃｗｎｄが可用帯域を十分使い切れる値に到達した後では、ＡＣＫの頻度を増加させるメリットはなくなる。また、輻輳回避フェーズの場合、例えばデータ送信装置のＴＣＰが非特許文献１のＴＣＰ  ＮｅｗＲｅｎｏの場合、前述のようにＡＣＫの頻度を増加させるとｃｗｎｄが早く増加する。例えばデータ送信装置のＴＣＰが非特許文献３のＣＵＢＩＣ  ＴＣＰの場合、経過時間でｃｗｎｄが計算されるため、ＡＣＫの頻度を増加させてもメリットは小さい。特許文献１はこのメリットとデメリットを考慮していないため、ＡＣＫの頻度の増加量が小さすぎて可用帯域を使い切るまでに時間がかかってしまったり、ＡＣＫの頻度の増加量が大きすぎて過剰にＡＣＫトラヒックを発生させてしまい、同じ方向を流れるデータトラヒックのスループットを低下させたりといった不都合が生じる。
【００１１】
特許文献２は、確認応答の周期の動的制御に関するものであり、確認応答の頻度を決定する際に、ネットワークの利用可能帯域を判断基準に用いることが提案されている。しかしながら特許文献２では、変化が激しいときには確認応答の送信頻度を高く設定し、変化が穏やかなときには確認応答の送信頻度を低く設定するものである。このため、上述した本発明が解決しようとする課題を解決することができない。
【００１２】
［発明の目的］
本発明は、データ送信装置のトランスポートプロトコルが可用帯域を素早く使い切れるように加速し、且つ不必要な確認応答パケットの返信を抑制する、受信トラヒックの高速化装置、高速化方法、および高速化プログラムの提供を、その目的とする。
【課題を解決するための手段】
【００１３】
前記目的を達成するため、本発明に係る受信トラヒックの高速化装置は、データ送信装置から受信したデータパケットに対して応答パケットを返信するデータ受信装置に用いられる受信トラヒックの高速化装置であって、
データパケットの受信結果をもとにネットワークの可用帯域を推定し、推定された可用帯域をもとに目標送信速度を推定する目標送信速度推定手段と、
上記データパケットの受信結果をもとに、上記データパケットを上記データ送信装置が送出する現在の送信速度を推定する現在送信速度推定手段と、
上記推定した目標送信速度と上記推定した現在送信速度とをもとに、上記現在送信速度が上記目標送信速度に近付くように応答パケットの送信頻度を決定する応答送信頻度決定手段と、を含む。
【００１４】
本発明に係る受信トラヒックの高速化方法は、データ送信装置から受信したデータパケットに対して応答パケットを返信するデータ受信装置に用いられる受信トラヒックの高速化方法であって、
データパケットの受信結果をもとにネットワークの可用帯域を推定し、推定された可用帯域をもとに目標送信速度を推定し、
上記データパケットの受信結果をもとに、上記データパケットを上記データ送信装置が送出する現在の送信速度を推定し、
上記推定した目標送信速度と上記推定した現在送信速度とをもとに、上記現在送信速度が上記目標送信速度に近付くように応答パケットの送信頻度を決定する。
【００１５】
本発明に係る受信トラヒックの高速化プログラムは、データ送信装置から受信したデータパケットに対して応答パケットを返信するデータ受信装置に用いられる受信トラヒックの高速化プログラムであって、
コンピュータに、
データパケットの受信結果をもとにネットワークの可用帯域を推定し、推定された可用帯域をもとに目標送信速度を推定する目標送信速度推定処理と、
上記データパケットの受信結果をもとに、上記データパケットを上記データ送信装置が送出する現在の送信速度を推定する現在送信速度推定処理と、
上記推定した目標送信速度と上記推定した現在送信速度とをもとに、上記現在送信速度が上記目標送信速度に近付くように応答パケットの送信頻度を決定する応答送信頻度決定処理と、を実行させる。
【発明の効果】
【００１６】
本発明によれば、データ送信装置のトランスポートプロトコルが可用帯域を素早く使い切れるように加速し、且つ不必要な確認応答パケットの返信を抑制する、受信トラヒックの高速化装置、高速化方法、および高速化プログラムを提供できる。
【図面の簡単な説明】
【００１７】
【図１】本発明の上位概念の実施形態の、受信トラヒックの高速化装置を説明するためのブロック図である。
【図２】本発明の第１実施形態の、受信トラヒックの高速化装置を説明するためのブロック図である。
【図３】本発明の第１実施形態の、受信トラヒックの高速化装置の動作を説明するためのフローチャートである。
【図４】本発明の第２実施形態の、受信トラヒックの高速化装置を説明するためのブロック図である。
【図５】本発明の第２実施形態の、受信トラヒックの高速化装置の動作を説明するためのフローチャートである。
【図６】（ａ）は本発明のその他の実施形態の受信トラヒックの高速化装置を説明するためのブロック図であり、（ｂ）はその他の実施形態の受信トラヒックの高速化装置に用いられる情報処理装置の一例を示すブロック図である。
【発明を実施するための形態】
【００１８】
本発明の好ましい実施形態について説明する前に、本発明の上位概念の実施形態の、受信トラヒックの高速化装置、および高速化方法について説明する。図１は、本発明の上位概念の実施形態の、受信トラヒックの高速化装置を説明するためのブロック図である。
【００１９】
図１の受信トラヒックの高速化装置２００は、目標送信速度推定手段２０１と、現在送信速度推定手段２０２と、応答送信頻度決定手段２０３と、を含む。
【００２０】
目標送信速度推定手段２０１は、データパケットの受信結果をもとにネットワークの可用帯域を推定し、推定された可用帯域をもとに目標送信速度を推定する。現在送信速度推定手段２０２は、データパケットの受信結果をもとに、現時点でのデータパケットを送出する速度を推定する。応答送信頻度決定手段２０３は、応答パケットの送信頻度を決定する。この応答パケットの送信頻度は例えば、目標送信速度推定手段１２が推定した目標送信速度と、現在送信速度推定手段１３が推定した現在送信速度とのうちの１つ以上の情報をもとに決定する。
【００２１】
本実施形態によれば、データパケットの受信結果をもとにネットワークの可用帯域を推定し、推定された可用帯域をもとに目標送信速度を推定している。またデータパケットの受信結果をもとに、現時点でのデータパケットを送出する速度を推定する。そして、推定した目標送信速度と、推定した現在送信速度とのうちの１つ以上の情報をもとに、応答パケットの送信頻度を決定している。特に、推定した目標送信速度と推定した現在送信速度とをもとに、上記現在送信速度が上記目標送信速度に近付くように応答パケットの送信頻度を決定している。これにより、可用帯域を推定し、推定結果に基づいてデータ送信装置のトランスポートプロトコルの送信可能なデータ量がどこまで、どの程度速く増加するかを判断して、確認応答パケットの返信頻度を変更する。その結果、可用帯域を素早く使い切れるように加速し、且つ不必要な確認応答パケットの返信を抑制することができる。以下、本発明のより具体的な実施形態について、図面を参照しながら詳細に説明する。
【００２２】
〔第１実施形態〕
本発明の第１実施形態による受信トラヒックの高速化装置、および高速化方法について、説明する。図２は、本発明の第１実施形態の、受信トラヒックの高速化装置を説明するためのブロック図である。図３は、本発明の第１実施形態の、受信トラヒックの高速化装置の動作を説明するためのフローチャートである。
【００２３】
［構成の説明］
本実施形態は、受信トラヒックの高速化装置、および高速化方法を、ネットワーク４を経由してデータ送信装置２から送信されたデータパケットを受信するデータ受信装置１に適用した場合である。
【００２４】
図２のシステムのデータ受信装置１やデータ送信装置２は、例えばユーザがコンテンツをダウンロードする場合のＰＣ（Personal Computer）や携帯端末などであり、またはユーザがコンテンツをアップロードする場合のサーバやクラウドストレージなどである。
【００２５】
図２のシステムのデータ受信装置１は、データ送信装置２から送信されたデータパケットを受信し、正常に受信できたか否かに応じて、または、一定時間ごとに応答パケットを上記データ送信装置２に送信するデータ受信装置１である。
【００２６】
図２のシステムのデータ送信装置２は、例えばユーザがコンテンツをダウンロードする場合のサーバやクラウドストレージなどであったり、ユーザがコンテンツをアップロードする場合のＰＣや携帯端末などであったりし、データ受信装置１にデータパケットを送信し、上記データ受信装置１から上記データパケットに対応する応答パケットを受信した際に、上記応答パケットに記載されている情報に応じて、正常な受信を確認することなく同時に送信可能なデータパケットの量を決定し、上記送信可能なデータパケットの量に従って上記データ受信装置１にデータパケットを送信するデータ送信装置２である。
【００２７】
さらに図２のシステムは、データ受信装置１とデータ送信装置２とを繋げるネットワーク４を含む。
【００２８】
なお、ここで、データ受信装置１とデータ送信装置２との間の通信に用いられるプロトコルがＴＣＰの場合、上記応答パケットはＡＣＫパケットに該当し、上記送信可能なデータパケットの量はｃｗｎｄに該当する。しかしながら、これに限定されず、例えばデータ受信装置１やデータ送信装置２において動作しているプログラムが独自の応答パケットを送信したり、独自に送信可能なデータパケットの量を決定したりしても良い。
【００２９】
本実施形態のデータ受信装置１は、データ送受信手段１１、目標送信速度推定手段１２、現在送信速度推定手段１３、送信制御状態推定手段１４、および応答送信頻度決定手段１５を含む。これらの手段は、それぞれ概略つぎのように動作する。
【００３０】
データ送受信手段１１は、ネットワーク４を経由してデータ送信装置２から送信されたデータパケットを受信し、正常に受信できたか否かを示す応答パケットを、応答送信頻度決定手段１５が決定した送信頻度で上記データ送信装置２に送信する。
【００３１】
目標送信速度推定手段１２は、データ送受信手段１１によるデータパケットの受信結果をもとにネットワーク４の可用帯域を推定し、推定された可用帯域をもとに目標送信速度を推定する。
【００３２】
現在送信速度推定手段１３は、データ送受信手段１１によるデータパケットの受信結果をもとに、現時点でのデータ送信装置２がデータパケットを送出する速度を推定する。
【００３３】
送信制御状態推定手段１４は、送信可能なデータパケットの量を決定する際に、どのような決定方法を用いているのかを推定する。この決定方法の推定は、データ送受信手段１１によるデータパケットの受信結果と、現在送信速度推定手段１３が推定した現在送信速度をもとに、データ送信装置２が応答パケットの内容や受信状況をもとに送信可能なデータパケットの量を決定する際に、行う。
【００３４】
応答送信頻度決定手段１５は、データ送受信手段１１がデータ送信装置２に送信する応答パケットの送信頻度を決定する。この送信頻度の決定は、目標送信速度推定手段１２が推定した目標送信速度と、現在送信速度推定手段１３が推定した現在送信速度と、送信制御状態推定手段１４が推定した送信可能なデータパケットの量の決定方法のうちの１つ以上の情報をもとに行う。特に、推定した目標送信速度と推定した現在送信速度とをもとに、上記現在送信速度が上記目標送信速度に近付くように応答パケットの送信頻度を決定している。
【００３５】
データ送受信手段１１は、データ送信装置２からデータパケットが送信されてきた際に、上記データパケットを受信する。また、応答送信頻度決定手段１５が応答パケットの送信頻度を決定した際に、データパケットを正常に受信できたか否かを示す応答パケットを、上記決定された送信頻度で上記データ送信装置２に送信する。
【００３６】
ここで、上記送信頻度で応答パケットを送信する方法は、例えば、上記送信頻度に沿うように応答パケットの送信回数を調整する方法である。具体的には、例えば、データパケットの到着頻度の１／５倍の頻度で応答パケットを送信すると応答送信頻度決定手段１５が決定した場合、データ送受信手段１１はデータパケットを５個受信するごとに応答パケットを１個送信する。また、例えば、データパケットの到着頻度の５倍の頻度で応答パケットを送信すると応答送信頻度決定手段１５が決定した場合、データ送受信手段１１はデータパケットを１個受信するごとに応答パケットを５個送信する。
【００３７】
また、上記送信方法に限らず、例えば、上記送信頻度に沿うように応答パケットの送信時間間隔を調整する方法であっても良い。具体的には、例えば、データパケットの到着頻度の５倍の頻度で応答パケットを送信すると応答送信頻度決定手段１５が決定した場合、データ送受信手段１１はデータパケットの受信時間間隔またはその統計値を計算し、上記計算値を１／５倍にした時間間隔で応答パケットを送信する。
【００３８】
また、例えば、データパケットの到着頻度の１／５倍の頻度で応答パケットを送信すると応答送信頻度決定手段１５が決定した場合、データ送受信手段１１は上記計算値を５倍にした時間間隔で応答パケットを送信する。なお、ここで、データ受信装置１とデータ送信装置２との間の通信に用いられるプロトコルがＴＣＰの場合、１個のデータパケットに対して２個以上の応答パケットを送信する際に、重複ＡＣＫにならないようにするため、データパケットの途中のシーケンス番号までを受信済みであるかのように、その次のシーケンス番号を応答パケットに記載して送信する。
【００３９】
具体的には、例えば、シーケンス番号が１０００１〜１１４００のデータパケットを１個受信し、これに対して５個の応答パケットを送信する場合、データ送受信手段１１は、例えば、それぞれ要求するシーケンス番号が１０２８１、１０５６１、１０８４１、１１１２１、１１４０１と記載された応答パケットをデータ送信装置２に送信する。また、応答パケットに記載するシーケンス番号は１以上大きい値を順次記載し、未受信の中で最小のシーケンス番号を最後の応答パケットに記載していれば良い。これにより上記の例のように等差的にシーケンス番号を増加させる制約はなく、例えば、それぞれ要求するシーケンス番号が１０００２、１０００３、１０００４、１０００５、１１４０１と記載された応答パケットをデータ送信装置２に送信しても良い。
【００４０】
目標送信速度推定手段１２は、データ送受信手段１１がデータパケットを受信した際、または、一定時間ごとに、データ送受信手段１１によるデータパケットの受信結果をもとにネットワーク４の可用帯域を推定し、上記可用帯域をもとに目標送信速度を推定する。ここで、上記可用帯域の推定方法は、例えば、データパケットのサイズまたはその統計値をデータパケットのデータ送受信手段１１における受信間隔またはその統計値で除算した値を上記可用帯域と推定する方法である。
【００４１】
また、上記推定方法に限らず、例えば、データ送受信手段１１における受信間隔が予め定められた閾値以下のデータパケットを１まとまりのパケット群と捉え、上記パケット群のサイズまたはその統計値を上記パケット群の受信にかかった時間またはその統計値で除算した値を上記可用帯域と推定する方法であっても良い。
【００４２】
また、ここでの上記目標送信速度の推定方法は、例えば、上記推定された可用帯域をそのまま上記目標送信速度と推定する方法である。また、上記推定方法に限らず、例えば、タイムスタンプの値などを用いてデータ送信装置２とデータ受信装置１との間の往復遅延時間を算出し、上記往復遅延時間またはその統計値を上記推定された可用帯域に乗算した値を上記目標送信速度と推定する方法であっても良い。
【００４３】
現在送信速度推定手段１３は、データ送受信手段１１がデータパケットを受信した際、または、一定時間ごとに、データ送受信手段１１によるデータパケットの受信結果をもとに、現時点でデータ送信装置２がデータパケットを送出する現在送信速度を推定する。ここで、上記現在送信速度の推定方法は、例えば、タイムスタンプの値などを用いてデータ送信装置２とデータ受信装置１との間の往復遅延時間を算出し、上記往復遅延時間の間にデータ送受信手段１１が受信したデータパケットのサイズまたはその統計値を上記現在送信速度と推定する方法である。
【００４４】
また、上記推定方法に限らず、例えば、上記往復遅延時間の間にデータ送受信手段１１が受信したデータパケットのサイズまたはその統計値を、上記往復遅延時間またはその統計値で除算した値を上記現在送信速度と推定する方法であっても良い。
【００４５】
送信制御状態推定手段１４は、データ送受信手段１１がデータパケットを受信した際、または、現在送信速度推定手段１３が現在送信速度を推定した際、または、一定時間ごとに、データ送受信手段１１によるデータパケットの受信結果と、現在送信速度推定手段１３が推定した現在送信速度をもとに、データ送信装置２が応答パケットの内容や受信状況をもとに送信可能なデータパケットの量を決定する際に、どのような決定方法を用いているかという送信制御状態を推定する。
【００４６】
ここで、上記送信制御状態の推定方法は、例えば、データ受信装置１とデータ送信装置２との間の通信に用いられるプロトコルがＴＣＰの場合、データ送信装置２のＴＣＰがスロースタートフェーズにあるか輻輳回避フェーズにあるかを推定する方法である。具体的には、要求するシーケンス番号が同一の応答パケットを、データ送受信手段１１が３回連続で送信した場合、または、現在送信速度推定手段１３が推定した現在送信速度が、前回の値に予め定められた定数αを乗算した値より小さい場合、または、現在送信速度推定手段１３が推定した現在送信速度が、前回の値に予め定められた定数βを加算した値より小さい場合に、輻輳回避フェーズに移行したと推定し、通信開始直後、または、現在送信速度推定手段１３が推定した現在送信速度が、予め定められた閾値より小さい場合に、スロースタートフェーズに移行したと推定する。
【００４７】
また、上記推定方法に限らず、例えば、データ受信装置１とデータ送信装置２との間の通信に用いられるプロトコルがＴＣＰ以外であっても、その決定アルゴリズムが既知または事前に通知しておき、上記決定アルゴリズムの挙動に沿った判別条件を設定することで、同様に送信制御状態を推定する方法であっても良い。
【００４８】
応答送信頻度決定手段１５は、データ送受信手段１１がデータパケットを受信した際、または、目標送信速度推定手段１２が目標送信速度を推定した際、または、現在送信速度推定手段１３が現在送信速度を推定した際、または、送信制御状態推定手段１４が送信制御状態を推定した際、または、一定時間ごとに、目標送信速度推定手段１２が推定した目標送信速度と、現在送信速度推定手段１３が推定した現在送信速度と、送信制御状態推定手段１４が推定した送信可能なデータパケットの量の決定方法のうちの１つ以上の情報をもとに、データ送受信手段１１がデータ送信装置２に送信する応答パケットの送信頻度を決定する。
【００４９】
ここで、上記送信頻度は、１個のデータパケットに対していくつの応答パケットを送信するかという、０より大きい倍率値を表す。具体的な処理としては、応答送信頻度決定手段１５は、高頻度決定方法と低頻度決定方法の２つの異なる送信頻度の決定方法のいずれかを用いるかを判断し、さらに、判断した上記送信頻度の決定方法を用いて応答パケットの送信頻度を決定する。ここで、高頻度決定方法と低頻度決定方法のいずれかを用いるかの判断方法は、例えば、現在送信速度推定手段１３が推定した現在送信速度が、目標送信速度推定手段１２が推定した目標送信速度に予め定められた定数γを乗算した値よりも小さい場合に、高頻度決定方法を用いると判断し、それ以外の場合に低頻度決定方法を用いると判断する方法である。
【００５０】
また、上記判断方法に限らず、送信制御状態推定手段１４が例えば、データ送信装置２のＴＣＰがスロースタートフェーズにあると推定した場合に、高頻度決定方法を用いると判断し、データ送信装置２のＴＣＰが輻輳回避フェーズにあると推定した場合に、低頻度決定方法を用いると判断する方法であっても良い。
【００５１】
また、応答パケットの送信頻度の決定方法としては、高頻度決定方法で決定される送信頻度が、低頻度決定方法で決定される送信頻度よりも大きくなるように決定する方法がある。具体的な決定方法としては、高頻度決定方法における送信頻度の決定方法は、例えば、目標送信速度推定手段１２が推定した目標送信速度が大きいほど上記送信頻度が大きくなる、または、現在送信速度推定手段１３が推定した現在送信速度が大きいほど上記送信頻度が小さくなる関数を用いて、上記送信頻度を決定する方法である。
【００５２】
より具体的には、上記目標送信速度をＡ、上記現在送信速度をＢ、予め定められた定数をδ（正の実数）、ε（実数）としたとき、上記送信頻度を（Ａ／Ｂ）＾（１／δ）−εによって決定する方法である。また、上記決定方法に限らず、例えば、上記送信頻度を（Ａ／Ｂ）×（１／δ）−εによって決定する方法であっても良いし、例えば、上記決定方法のいずれかを、高頻度決定方法に移行した直後または通信開始直後の一度だけ計算し、低頻度決定方法に移行するまでの間は同じ送信頻度を使用し続ける方法であっても良い。
【００５３】
例えば、低頻度決定方法が背景技術のＴＣＰよりも小さい送信頻度を決定している場合に、背景技術のＴＣＰと同じ送信頻度に決定する方法であっても良い。ここで、δはどの程度早く目標送信速度に到達させるかを示しており、例えば往復遅延時間の５倍程度の時間で目標送信速度に到達させる場合は、δ＝５とするのが望ましい。また、εは上記送信頻度を調整するための数値で、ε＝１またはε＝１／δとするのが望ましい。しかし、上記数値例に限らず、別の数値が設定されていても良い。
【００５４】
また、低頻度決定方法における送信頻度の決定方法は、例えば、上記現在送信速度が大きいほど上記送信頻度が小さくなる関数を用いて、上記送信頻度を決定する方法である。より具体的には、予め定められた定数をζ（正の実数）、η（実数）としたとき、上記送信頻度をζ／Ｂ−ηによって決定する方法である。また、上記決定方法に限らず、例えば、上記送信頻度を予め定められた定数θに決定する方法である。また、上記決定方法に限らず、例えば、高頻度決定方法が背景技術のＴＣＰよりも大きい送信頻度を決定している場合に、背景技術のＴＣＰと同じ送信頻度に決定する方法であっても良い。ここで、ζはどの程度の応答パケットを送信するかを示しており、例えば往復遅延時間内に応答パケットを１０個程度送信する場合は、ζ＝１０とするのが望ましい。また、ηは上記送信頻度を調整するための数値で、η＝０とするのが望ましい。しかし、上記数値例に限らず、別の数値が設定されていても良い。
【００５５】
なお、応答送信頻度決定手段１５では、目標送信速度推定手段１２が推定した目標送信速度と、現在送信速度推定手段１３が推定した現在送信速度と、送信制御状態推定手段１４が推定した送信可能なデータパケットの量の決定方法のうちの１つ以上の情報を用いる。しかしながら応答送信頻度決定手段１５では、上記情報のうちのいくつかを使用しない場合、第１実施形態では、使用しない上記情報に該当する推定手段を含まない構成を取ることもできる。
【００５６】
［動作の説明］
次に、図２と図３を参照して、本発明の第１実施形態の動作について説明する。
【００５７】
まずデータ送受信手段１１が、ネットワーク４を経由してデータ送信装置２からデータパケットが送信されてきた際に、上記データパケットを受信する（ステップＳ１１）。
【００５８】
目標送信速度推定手段１２が、データ送受信手段１１がデータパケットを受信した際、または、一定時間ごとに、データ送受信手段１１によるデータパケットの受信結果をもとにネットワーク４の可用帯域を推定する。さらに目標送信速度推定手段１２は、こうして推定した可用帯域をもとに目標送信速度を推定する（ステップＳ１２）。
【００５９】
現在送信速度推定手段１３が、データ送受信手段１１がデータパケットを受信した際、または、一定時間ごとに、データ送受信手段１１によるデータパケットの受信結果をもとに、現時点でデータ送信装置２がデータパケットを送出する現在送信速度を推定する（ステップＳ１３）。
【００６０】
送信制御状態推定手段１４が、データ送受信手段１１がデータパケットを受信した際、または、現在送信速度推定手段１３が現在送信速度を推定した際、または、一定時間ごとに、データ送受信手段１１によるデータパケットの受信結果と、現在送信速度推定手段１３が推定した現在送信速度をもとに、データ送信装置２が応答パケットの内容や受信状況をもとに送信可能なデータパケットの量を決定する際に、どのような決定方法を用いているかという送信制御状態を推定する（ステップＳ１４）。
【００６１】
次に応答送信頻度決定手段１５が、データ送受信手段１１がデータ送信装置２に送信する応答パケットの送信頻度を決定する（ステップＳ１５）。この応答パケットの送信頻度は、目標送信速度推定手段１２が推定した目標送信速度と、現在送信速度推定手段１３が推定した現在送信速度と、送信制御状態推定手段１４が推定した送信可能なデータパケットの量の決定方法のうちの１つ以上の情報をもとに、決定される。特に、推定した目標送信速度と推定した現在送信速度とをもとに、上記現在送信速度が上記目標送信速度に近付くように応答パケットの送信頻度を決定する。さらにこの応答パケットの送信頻度の決定は、データ送受信手段１１がデータパケットを受信した際、または、目標送信速度推定手段１２が目標送信速度を推定した際、または、現在送信速度推定手段１３が現在送信速度を推定した際、または、送信制御状態推定手段１４が送信制御状態を推定した際、または、一定時間ごとに、行う。
【００６２】
次にデータ送受信手段１１が、データパケットを受信した際、または、一定時間ごとに、上記データパケットを正常に受信できたか否かを示す応答パケットを、応答送信頻度決定手段１５が決定した送信頻度で上記データ送信装置２に送信する（ステップＳ１６）。
【００６３】
［効果の説明］
本実施形態によれば、推定した目標送信速度と、推定した現在送信速度と、推定した送信可能なデータパケットの量の決定方法のうちの１つ以上の情報をもとに、データ送受信手段１１がデータ送信装置２に送信する応答パケットの送信頻度を、応答送信頻度決定手段１５が決定している。
【００６４】
これにより、可用帯域を推定し、推定結果に基づいてデータ送信装置２のトランスポートプロトコルの送信可能なデータ量がどこまで、どの程度速く増加するかを判断して、確認応答パケットの返信頻度を変更する。その結果、可用帯域を素早く使い切れるように加速し、且つ不必要な確認応答パケットの返信を抑制することができる。
【００６５】
特に、データ送受信手段１１がデータ送信装置２に送信する応答パケットの送信頻度を、推定した目標送信速度と推定した現在送信速度とをもとに、上記現在送信速度が上記目標送信速度に近付くように応答パケットの送信頻度を決定することにより、応答パケットの送信頻度を最適化することができ、受信トラヒックをより一層高速化することができる
。
【００６６】
〔第２実施形態〕
次に、本発明の第２実施形態による受信トラヒックの高速化装置、および高速化方法について、説明する。図４は、本発明の第２実施形態の、受信トラヒックの高速化装置を説明するためのブロック図である。図５は、本発明の第２実施形態の、受信トラヒックの高速化装置の動作を説明するためのフローチャートである。なお、第１実施形態の受信トラヒックの高速化装置と同様な要素については、同じ参照番号を付して、その詳細な説明を省略することとする。
【００６７】
［構成の説明］
本実施形態は、第１実施形態に対し、データ送信装置２とデータ受信装置１との間のデータ通信を一度終端する中継サーバ３を含むシステムへ適用した場合である。言い換えると本実施形態は、データ送信装置２とデータ受信装置１との間のデータ通信を一度終端する中継サーバ３に、上述した受信トラヒックの高速化装置、および高速化方法を適用した場合である。
【００６８】
図４を参照すると、本発明の第２実施形態は、第１実施形態に対し、例えばキャッシュサーバやプロキシサーバ、ＭＥＣ（Mobile Edge Computing）サーバなどのように、データ送信装置２とデータ受信装置１との間に設置され、データ送信装置２とデータ受信装置１との間のデータ通信を一度終端する中継サーバ３を含む。本実施形態では第１実施形態のネットワーク４のうち、データ送信装置２と中継サーバ３との間の区間を送信側ネットワーク４１、中継サーバ３とデータ受信装置１との間の区間を受信側ネットワーク４２とする。
【００６９】
これらの手段は、それぞれ概略つぎのように動作する。
【００７０】
データ受信装置１は、第１実施形態のデータ受信装置１と同じ構成をしていても良いし、特別な構成は持たずに背景技術のデータ受信装置と同じ構成をしていても良い。
【００７１】
中継サーバ３は、第１実施形態のデータ受信装置１に対し、データ送信装置２から受信したデータパケットを、受信側ネットワーク４２を経由してデータ受信装置１に送信するデータ送受信手段(受信側)１１２をさらに含む。また中継サーバ３は、第１実施形態のデータ送受信手段１１の代わりに、データ送受信手段(送信側)１１１を含む。
【００７２】
データ送受信手段(送信側)１１１は、第１実施形態のデータ送受信手段１１の動作に加えて、データ送信装置２からデータパケットを受信した際に、上記データパケットをデータ送受信手段(受信側)１１２に転送する。
【００７３】
データ送受信手段(受信側)１１２は、データ送受信手段(送信側)１１１からデータパケットを転送された際に、受信側ネットワーク４２を経由して、上記データパケットをデータ受信装置１に送信する。そして、上記データ受信装置１から上記データパケットに対応する応答パケットを受信した際に、上記応答パケットに記載されている情報に応じて、正常な受信を確認することなく同時に送信可能なデータパケットの量を決定し、上記送信可能なデータパケットの量に従って上記データ受信装置１にデータパケットを送信する。
【００７４】
目標送信速度推定手段１２は、第１実施形態の目標送信速度推定手段１２の動作に加えて、データ送受信手段(受信側)１１２が応答パケットを受信した際、または、一定時間ごとに、データ送受信手段(受信側)１１２による応答パケットの受信結果をもとに受信側ネットワーク４２の可用帯域を推定し、第１実施形態の目標送信速度推定手段１２と同様にして推定した送信側ネットワーク４１の可用帯域と、上記受信側の可用帯域をもとに、目標送信速度を推定する。ここで、上記受信側の可用帯域の推定方法は、例えば、データ送受信手段(受信側)１１２が受信した応答パケットによってデータ受信装置１への正常な到着が新たに確認されたデータのサイズまたはその統計値を、上記応答パケットのデータ送受信手段(受信側)１１２における受信間隔またはその統計値で除算した値を上記受信側の可用帯域と推定する方法である。また、上記推定方法に限らず、例えば、データ送受信手段(受信側)１１２における受信間隔が予め定められた閾値以下の応答パケットを１まとまりの応答パケット群と捉え、上記応答パケット群によってデータ受信装置１への正常な到着が新たに確認されたデータのサイズまたはその統計値を、上記応答パケット群の受信にかかった時間またはその統計値で除算した値を上記受信側の可用帯域と推定する方法であっても良いし、中継サーバ３における滞留データサイズ、つまり、データ送受信手段(送信側)１１１が受信済みであり、且つ、データ送受信手段(受信側)１１２がまだ送出していないデータパケットのサイズを計測し、上記滞留データサイズの増加速度（減少しているときは負値の増加速度と捉える）を、第１実施形態の目標送信速度推定手段１２と同様にして推定した送信側ネットワーク４１の可用帯域から減算した値を上記受信側の可用帯域と推定する方法であっても良いし、データ送受信手段(送信側)１１１が受信したデータパケットを中継サーバ３において一時的に滞留させておき、上記滞留させたデータパケットをまとめてデータ送受信手段(受信側)１１２から送信し、上記滞留させたデータパケットの送信で得られたスループットを上記受信側の可用帯域と推定する方法であっても良いし、上記受信側の可用帯域は急変しないと仮定して、中継サーバ３とデータ受信装置１との前回の通信セッションで得られた可用帯域またはスループットの最大値を上記受信側の可用帯域と推定する方法であっても良い。また、ここで、上記目標送信速度の推定方法は、例えば、送信側ネットワーク４１の可用帯域と受信側ネットワーク４２の可用帯域のいずれかの値、または、小さい方の値を上記目標送信速度と推定する方法である。また、上記推定方法に限らず、例えば、タイムスタンプの値などを用いてデータ送信装置２と中継サーバ３との間の往復遅延時間（送信側ネットワーク４１の往復遅延時間）と、中継サーバ３とデータ受信装置１との間の往復遅延時間（受信側ネットワーク４２の往復遅延時間）をそれぞれ算出し、上記送信側ネットワーク４１の往復遅延時間またはその統計値を送信側ネットワーク４１の可用帯域に乗算した値と、上記受信側ネットワーク４２の往復遅延時間またはその統計値を受信側ネットワーク４２の可用帯域に乗算した値のいずれかの値、または、小さい方の値を上記目標送信速度と推定する方法であっても良い。
【００７５】
［動作の説明］
次に、図４および図５を参照して、本発明の第２実施形態の動作について説明する。
【００７６】
まず中継サーバ３のデータ送受信手段(送信側)１１１が、送信側ネットワーク４１を経由してデータ送信装置２からデータパケットが送信されてきた際に、上記データパケットを受信し、上記データパケットをデータ送受信手段(受信側)１１２に転送する（ステップＳ２１）。
【００７７】
中継サーバ３のデータ送受信手段(受信側)１１２が、データ送受信手段(送信側)１１１からデータパケットを転送された際に、受信側ネットワーク４２を経由して上記データパケットをデータ受信装置１に送信する（ステップＳ２２）。
【００７８】
目標送信速度推定手段１２が、データ送受信手段(送信側)１１１がデータパケットを受信した際、または、一定時間ごとに、データ送受信手段(送信側)１１１によるデータパケットの受信結果をもとに送信側ネットワーク４１の可用帯域を推定する。また目標送信速度推定手段１２は、データ送受信手段(受信側)１１２が応答パケットを受信した際、または、一定時間ごとに、データ送受信手段(受信側)１１２による応答パケットの受信結果をもとに受信側ネットワーク４２の可用帯域を推定する。こうして推定した送信側の可用帯域と推定した受信側の可用帯域とをもとに、目標送信速度推定手段１２は目標送信速度を推定する（ステップＳ２３）。
【００７９】
現在送信速度推定手段１３が、データ送受信手段(送信側)１１１がデータパケットを受信した際、または、一定時間ごとに、データ送受信手段(送信側)１１１によるデータパケットの受信結果をもとに、現在送信速度を推定する（ステップＳ２４）。この現在送信速度は、現時点でデータ送信装置２がデータパケットを送出する送信速度である。
【００８０】
送信制御状態推定手段１４が、データ送信装置２が応答パケットの内容や受信状況をもとに送信可能なデータパケットの量を決定する際に、どのような決定方法を用いているかという送信制御状態を推定する（ステップＳ２５）。この送信可能なデータパケットの量の決定は、データ送受信手段(送信側)１１１がデータパケットを受信した際、または、現在送信速度推定手段１３が現在送信速度を推定した際、または、一定時間ごとに行う。
【００８１】
次に応答送信頻度決定手段１５が、標送信速度推定手段１２が推定した目標送信速度と、現在送信速度推定手段１３が推定した現在送信速度と、送信制御状態推定手段１４が推定した送信可能なデータパケットの量の決定方法のうちの１つ以上の情報をもとに、データ送受信手段(送信側)１１１がデータ送信装置２に送信する応答パケットの送信頻度を決定する（ステップＳ２６）。特に、推定した目標送信速度と推定した現在送信速度とをもとに、上記現在送信速度が上記目標送信速度に近付くように応答パケットの送信頻度を決定する。この送信頻度の決定は、データ送受信手段(送信側)１１１がデータパケットを受信した際、または、目標送信速度推定手段１２が目標送信速度を推定した際、または、現在送信速度推定手段１３が現在送信速度を推定した際、または、送信制御状態推定手段１４が送信制御状態を推定した際、または、一定時間ごとに、行う。
【００８２】
次にデータ送受信手段(送信側)１１１が、データパケットを受信した際、または、一定時間ごとに、上記データパケットを正常に受信できたか否かを示す応答パケットを、応答送信頻度決定手段１５が決定した送信頻度で上記データ送信装置２に送信する（ステップＳ２７）。
【００８３】
［効果の説明］
本実施形態によれば、推定した目標送信速度と、推定した現在送信速度と、推定した送信可能なデータパケットの量の決定方法のうちの１つ以上の情報をもとに、データ送受信手段(送信側)１１１がデータ送信装置２に送信する応答パケットの送信頻度を、応答送信頻度決定手段１５が決定している。
【００８４】
これにより、可用帯域を推定し、推定結果に基づいてデータ送信装置２のトランスポートプロトコルの送信可能なデータ量がどこまで、どの程度速く増加するかを判断して、確認応答パケットの返信頻度を変更する。その結果、可用帯域を素早く使い切れるように加速し、且つ不必要な確認応答パケットの返信を抑制することができる。
【００８５】
特に、データ送受信手段(送信側)１１１がデータ送信装置２に送信する応答パケットの送信頻度を、推定した目標送信速度と推定した現在送信速度とをもとに、上記現在送信速度が上記目標送信速度に近付くように応答パケットの送信頻度を決定することにより、応答パケットの送信頻度を最適化することができ、受信トラヒックをより一層高速化することができる。
【００８６】
さらに、本実施形態では中継サーバ３の目標送信速度推定手段１２が、データパケットの受信結果と応答パケットの受信結果をもとに目標送信速度を推定している。これによりデータ送信装置２とデータ受信装置１との間のデータ通信を一度終端する中継サーバ３を含むシステムにおいても、可用帯域を素早く使い切れるように加速し、且つ不必要な確認応答パケットの返信を抑制することができる。
【００８７】
〔その他の実施形態〕
上述した本発明の各実施形態に係る、受信トラヒックの高速化装置は、このような構成や動作を実現するプログラムを実行できる情報処理装置によっても実現されうる。例えば、本発明の受信トラヒックの高速化装置は、情報処理装置に上述した高速化方法を実行させるプログラムを読み込ませて実行させることにより、実現することも考えられる。このプログラムは、コンピュータ読み取り可能な記録媒体の形態で、流通され得る。このような記録媒体に記録されたプログラムを読み込んで、情報処理装置で実行することにより、本実施形態の機能をソフトウェア的に実現してもよい。
【００８８】
図６（ａ）は、本発明のその他の実施形態の受信トラヒックの高速化装置を説明するためのブロック図であり、図６（ｂ）はその他の実施形態の受信トラヒックの高速化装置に用いられる情報処理装置の一例を示すブロック図である。図６（ｂ）の情報処理装置３００は、ＣＰＵ（Central Processing Unit）３０１、およびメモリ３０２を含む。このようなハードウェア構成の情報処理装置３００で、上述した本発明の実施形態の、受信トラヒックの高速化装置は、実現され得る。すなわち、ＣＰＵ３０１に、目標送信速度推定処理、現在送信速度推定処理、および応答送信頻度決定処理などを実行させ、可用帯域を推定し、推定結果に基づいてデータ送信装置のトランスポートプロトコルの送信可能なデータ量がどこまで、どの程度速く増加するかを判断して、確認応答パケットの返信頻度を変更するように構成すればよい。このような処理を実行させるプログラムは、プログラムを記録した記録媒体の形態で、流通され得る。このプログラムは、ＣＦ（Compact Flash（登録商標））およびＳＤ（Secure Digital）等の汎用的な半導体記録デバイス、フレキシブルディスク（Flexible Disk）等の磁気記録媒体、またはＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの光学記録媒体などの形態で、流通され得る。
【００８９】
以上、本発明の好ましい実施形態を説明したが、本発明はこれに限定されるものではない。特許請求の範囲に記載した発明の範囲内で、種々の変形が可能であり、それらも本発明の範囲に含まれることはいうまでもない。
【００９０】
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）データ送信装置から受信したデータパケットに対して応答パケットを返信するデータ受信装置に用いられる受信トラヒックの高速化装置であって、
データパケットの受信結果をもとにネットワークの可用帯域を推定し、推定された可用帯域をもとに目標送信速度を推定する目標送信速度推定手段と、
前記データパケットの受信結果をもとに、前記データパケットを前記データ送信装置が送出する現在の送信速度を推定する現在送信速度推定手段と、
前記推定した目標送信速度と前記推定した現在送信速度とをもとに、前記現在送信速度が前記目標送信速度に近付くように応答パケットの送信頻度を決定する応答送信頻度決定手段と、を含む受信トラヒックの高速化装置。
（付記２）前記応答送信頻度決定手段は、条件に応じて第１の送信頻度決定方法と第２の送信頻度決定方法のうちのどちらを用いて応答パケットの送信頻度を決定するかを判断し、
前記第１の送信頻度決定方法で決定される応答パケットの送信頻度は、前記第２の送信頻度決定方法で決定される応答パケットの送信頻度よりも大きくなるように設定されている、付記１に記載の受信トラヒックの高速化装置。
（付記３）前記応答送信頻度決定手段は、前記第１の送信頻度決定方法を用いる場合、目標送信速度が大きいほど応答パケットの送信頻度が大きくなる、または、現在の送信速度が大きいほど応答パケットの送信頻度が小さくなる関数を用いて、前記応答パケットの送信頻度を決定する、付記２に記載の受信トラヒックの高速化装置。
（付記４）前記応答送信頻度決定手段は、前記第１の送信頻度決定方法を用いる場合、目標送信速度を現在の送信速度で除算した値を、第１の定数乗または第１の定数倍してから、第２の定数を減算した値を用いて、前記応答パケットの送信頻度を決定する、付記２又は付記３に記載の受信トラヒックの高速化装置。
（付記５）前記応答送信頻度決定手段は、前記第２の送信頻度決定方法を用いる場合、現在の送信速度が大きいほど応答パケットの送信頻度が小さくなる関数を用いて、前記応答パケットの送信頻度を決定する、付記２乃至付記４のいずれか一つに記載の受信トラヒックの高速化装置。
（付記６）前記応答送信頻度決定手段は、目標送信速度に第３の定数を乗算した値よりも現在の送信速度が小さい場合に、前記第１の送信頻度決定方法を用いると判断し、それ以外の場合に前記第２の送信頻度決定方法を用いると判断する、付記２乃至付記５のいずれか一つに記載の受信トラヒックの高速化装置。
（付記７）前記データ送信装置とデータ受信装置との間の通信に用いられるプロトコルがＴＣＰ（Transmission Control Protocol）である場合に、
データパケットの受信状況と現在の送信速度をもとに、データ送信装置における輻輳制御の状態がスロースタートであるか輻輳回避であるかを推定する送信制御状態推定手段をさらに備え、
前記応答送信頻度決定手段は、前記送信制御状態推定手段によって輻輳制御の状態がスロースタートであると推定された場合に、前記第１の送信頻度決定方法を用いると判断し、輻輳回避であると推定された場合に、前記第２の送信頻度決定方法を用いると判断する、付記２乃至付記５のいずれか一つに記載の受信トラヒックの高速化装置。
（付記８）前記データ送信装置と前記データ受信装置との間に設置された中継サーバに適用され、
前記目標送信速度推定手段は、前記データ送信装置からのデータパケットの受信状況をもとに、前記データ送信装置と前記中継サーバとの間のネットワークにおける第１の可用帯域を推定し、前記データ受信装置からの応答パケットの受信状況または前記中継サーバに滞留しているデータ量の変化の速度をもとに、前記中継サーバと前記データ受信装置との間のネットワークにおける第２の可用帯域を推定し、前記第１の可用帯域と前記第２の可用帯域をもとに前記目標送信速度を推定する、付記１乃至付記７のいずれか一つに記載の受信トラヒックの高速化装置。
（付記９）データ送信装置から受信したデータパケットに対して応答パケットを返信するデータ受信装置に用いられる受信トラヒックの高速化方法であって、
データパケットの受信結果をもとにネットワークの可用帯域を推定し、推定された可用帯域をもとに目標送信速度を推定し、
前記データパケットの受信結果をもとに、前記データパケットを前記データ送信装置が送出する現在の送信速度を推定し、
前記推定した目標送信速度と前記推定した現在送信速度とをもとに、前記現在送信速度が前記目標送信速度に近付くように応答パケットの送信頻度を決定する、受信トラヒックの高速化方法。
（付記１０）前記応答パケットの送信頻度の決定は、条件に応じて第１の送信頻度決定方法と第２の送信頻度決定方法のうちのどちらを用いて応答パケットの送信頻度を決定するかを判断し、
前記第１の送信頻度決定方法で決定される応答パケットの送信頻度は、前記第２の送信頻度決定方法で決定される応答パケットの送信頻度よりも大きくなるように設定されている、付記９に記載の受信トラヒックの高速化方法。
（付記１１）前記第１の送信頻度決定方法を用いる場合、目標送信速度が大きいほど応答パケットの送信頻度が大きくなる、または、現在の送信速度が大きいほど応答パケットの送信頻度が小さくなる関数を用いて、前記応答パケットの送信頻度を決定する、付記１０に記載の受信トラヒックの高速化方法。
（付記１２）前記第１の送信頻度決定方法を用いる場合、目標送信速度を現在の送信速度で除算した値を、第１の定数乗または第１の定数倍してから、第２の定数を減算した値を用いて、前記応答パケットの送信頻度を決定する、付記１０又は付記１１に記載の受信トラヒックの高速化方法。
（付記１３）前記第２の送信頻度決定方法を用いる場合、現在の送信速度が大きいほど応答パケットの送信頻度が小さくなる関数を用いて、前記応答パケットの送信頻度を決定する、付記１０乃至付記１２のいずれか一つに記載の受信トラヒックの高速化方法。
（付記１４）目標送信速度に第３の定数を乗算した値よりも現在の送信速度が小さい場合に、前記第１の送信頻度決定方法を用いると判断し、それ以外の場合に前記第２の送信頻度決定方法を用いると判断する、付記１０乃至付記１３のいずれか一つに記載の受信トラヒックの高速化方法。
（付記１５）前記データ送信装置とデータ受信装置との間の通信に用いられるプロトコルがＴＣＰ（Transmission Control Protocol）である場合に、
データパケットの受信状況と現在の送信速度をもとに、データ送信装置における輻輳制御の状態がスロースタートであるか輻輳回避であるかを推定し、
輻輳制御の状態がスロースタートであると推定された場合に、前記第１の送信頻度決定方法を用いると判断し、輻輳回避であると推定された場合に、前記第２の送信頻度決定方法を用いると判断する、付記１０乃至付記１３のいずれか一つに記載の受信トラヒックの高速化方法。
（付記１６）前記データ送信装置と前記データ受信装置との間に設置された中継サーバに適用され、
前記データ送信装置からのデータパケットの受信状況をもとに、前記データ送信装置と前記中継サーバとの間のネットワークにおける第１の可用帯域を推定し、前記データ受信装置からの応答パケットの受信状況または前記中継サーバに滞留しているデータ量の変化の速度をもとに、前記中継サーバと前記データ受信装置との間のネットワークにおける第２の可用帯域を推定し、前記第１の可用帯域と前記第２の可用帯域をもとに前記目標送信速度を推定する、付記９乃至付記１５のいずれか一つに記載の受信トラヒックの高速化方法。
（付記１７）データ送信装置から受信したデータパケットに対して応答パケットを返信するデータ受信装置に用いられる受信トラヒックの高速化プログラムであって、
コンピュータに、
データパケットの受信結果をもとにネットワークの可用帯域を推定し、推定された可用帯域をもとに目標送信速度を推定する目標送信速度推定処理と、
前記データパケットの受信結果をもとに、前記データパケットを前記データ送信装置が送出する現在の送信速度を推定する現在送信速度推定処理と、
前記推定した目標送信速度と前記推定した現在送信速度とをもとに、前記現在送信速度が前記目標送信速度に近付くように応答パケットの送信頻度を決定する応答送信頻度決定処理と、を実行させる受信トラヒックの高速化プログラム。
（付記１８）前記応答送信頻度決定処理では、条件に応じて第１の送信頻度決定方法と第２の送信頻度決定方法のうちのどちらを用いて応答パケットの送信頻度を決定するかを判断し、
前記第１の送信頻度決定方法で決定される応答パケットの送信頻度は、前記第２の送信頻度決定方法で決定される応答パケットの送信頻度よりも大きくなるように設定されている、付記１７に記載の受信トラヒックの高速化プログラム。
（付記１９）前記応答送信頻度決定処理では、前記第１の送信頻度決定方法を用いる場合、目標送信速度が大きいほど応答パケットの送信頻度が大きくなる、または、現在の送信速度が大きいほど応答パケットの送信頻度が小さくなる関数を用いて、前記応答パケットの送信頻度を決定する、付記１８に記載の受信トラヒックの高速化プログラム。
（付記２０）前記応答送信頻度決定処理では、前記第１の送信頻度決定方法を用いる場合、目標送信速度を現在の送信速度で除算した値を、第１の定数乗または第１の定数倍してから、第２の定数を減算した値を用いて、前記応答パケットの送信頻度を決定する、付記１８又は付記１９に記載の受信トラヒックの高速化プログラム。
（付記２１）前記応答送信頻度決定処理では、前記第２の送信頻度決定方法を用いる場合、現在の送信速度が大きいほど応答パケットの送信頻度が小さくなる関数を用いて、前記応答パケットの送信頻度を決定する、付記１８乃至付記２０のいずれか一つに記載の受信トラヒックの高速化プログラム。
（付記２２）前記応答送信頻度決定処理では、目標送信速度に第３の定数を乗算した値よりも現在の送信速度が小さい場合に、前記第１の送信頻度決定方法を用いると判断し、それ以外の場合に前記第２の送信頻度決定方法を用いると判断する、付記１８乃至付記２１のいずれか一つに記載の受信トラヒックの高速化プログラム。
（付記２３）前記データ送信装置とデータ受信装置との間の通信に用いられるプロトコルがＴＣＰ（Transmission Control Protocol）である場合に、
データパケットの受信状況と現在の送信速度をもとに、データ送信装置における輻輳制御の状態がスロースタートであるか輻輳回避であるかを推定する送信制御状態推定処理を、さらに前記コンピュータに実行させ、
前記応答送信頻度決定処理では、前記送信制御状態推定処理によって輻輳制御の状態がスロースタートであると推定された場合に、前記第１の送信頻度決定方法を用いると判断し、輻輳回避であると推定された場合に、前記第２の送信頻度決定方法を用いると判断する、付記１８乃至付記２１のいずれか一つに記載の受信トラヒックの高速化プログラム。
（付記２４）前記データ送信装置と前記データ受信装置との間に設置された中継サーバに適用され、
前記目標送信速度推定処理では、前記データ送信装置からのデータパケットの受信状況をもとに、前記データ送信装置と前記中継サーバとの間のネットワークにおける第１の可用帯域を推定し、前記データ受信装置からの応答パケットの受信状況または前記中継サーバに滞留しているデータ量の変化の速度をもとに、前記中継サーバと前記データ受信装置との間のネットワークにおける第２の可用帯域を推定し、前記第１の可用帯域と前記第２の可用帯域をもとに前記目標送信速度を推定する、付記１７乃至付記２３のいずれか一つに記載の受信トラヒックの高速化プログラム。
【産業上の利用可能性】
【００９１】
本発明は、例えばデータダウンロード時のユーザ端末や、データアップロード時のサーバのようなデータ受信装置に適用することができる。また、データ送受信の経路の途中に設置され、データ送受信装置間で通信されるパケットを転送する中継サーバ装置に適用可能である。
【符号の説明】
【００９２】
１    データ受信装置
１１    データ送受信手段
１１１    データ送受信手段(送信側)
１１２    データ送受信手段(受信側)
１２、２０１    目標送信速度推定手段
１３、２０２    現在送信速度推定手段
１４    送信制御状態推定手段
１５、２０３    応答送信頻度決定手段
２    データ送信装置
３    中継サーバ
４    ネットワーク
４１    送信側ネットワーク
４２    受信側ネットワーク
２００    受信トラヒックの高速化装置
３００    情報処理装置
３０１    ＣＰＵ
３０２    メモリ
【図１】
2018067788.tif 000003
【図２】
2018067788.tif 000004
【図３】
2018067788.tif 000005
【図４】
2018067788.tif 000006
【図５】
2018067788.tif 000007
【図６】
2018067788.tif 000008