(57)【要約】【課題】ウィンドウ制御を行いながらデータ通信を実行する通信システムにおいて、通信環境に応じた適切なウィンドウ制御を行うことを可能とする。【解決手段】ウィンドウ制御を行いながらデータ通信を実行する通信装置において、通信環境を示す情報とウィンドウサイズとを対応付けて格納する記憶手段と、前記通信装置の通信環境に対応するウィンドウサイズを前記記憶手段から取得し、当該ウィンドウサイズを設定してデータ通信を実行するデータ通信手段とを備える。【選択図】図２
2018085642.tif 000002
【特許請求の範囲】
【請求項１】
ウィンドウ制御を行いながらデータ通信を実行する通信装置であって、
通信環境を示す情報とウィンドウサイズとを対応付けて格納する記憶手段と、
前記通信装置の通信環境に対応するウィンドウサイズを前記記憶手段から取得し、当該ウィンドウサイズを設定してデータ通信を実行するデータ通信手段と
を備えることを特徴とする通信装置。
【請求項２】
前記データ通信手段は、データ通信に使用するウィンドウサイズを下げる際に、当該ウィンドウサイズを前記記憶手段から取得したウィンドウサイズまで下げる
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
ウィンドウ制御を行いながらデータ通信を実行する通信装置に対する制御を実行する通信制御装置であって、
通信環境を示す情報とウィンドウサイズとを対応付けて格納する記憶手段と、
前記通信装置から、通信環境を示す情報を含む問い合わせを受信し、当該通信環境に対応するウィンドウサイズを前記記憶手段から取得する検索手段と、
前記検索手段により取得されたウィンドウサイズを前記通信装置に送信し、当該通信装置に当該ウィンドウサイズを設定したデータ通信を実行させる送信手段と
を備えることを特徴とする通信制御装置。
【請求項４】
ウィンドウ制御を行いながらデータ通信を実行する通信装置であり、通信環境を示す情報とウィンドウサイズとを対応付けて格納する記憶手段を備える通信装置が実行する通信方法であって、
前記通信装置の通信環境に対応するウィンドウサイズを前記記憶手段から取得するステップと、
前記ウィンドウサイズを設定してデータ通信を実行するデータ通信ステップと
を備えることを特徴とする通信方法。
【請求項５】
前記データ通信ステップにおいて、前記通信装置は、データ通信に使用するウィンドウサイズを下げる際に、当該ウィンドウサイズを前記記憶手段から取得したウィンドウサイズまで下げる
ことを特徴とする請求項４に記載の通信方法。
【請求項６】
ウィンドウ制御を行いながらデータ通信を実行する通信装置に対する制御を実行する通信制御装置であり、通信環境を示す情報とウィンドウサイズとを対応付けて格納する記憶手段を備える通信制御装置が実行する通信制御方法であって、
前記通信装置から、通信環境を示す情報を含む問い合わせを受信するステップと、
前記通信環境に対応するウィンドウサイズを前記記憶手段から取得する検索ステップと、
前記検索ステップにより取得されたウィンドウサイズを前記通信装置に送信し、当該通信装置に当該ウィンドウサイズを設定したデータ通信を実行させる送信ステップと
を備えることを特徴とする通信制御方法。
【請求項７】
コンピュータを、請求項１又は２に記載の通信装置における各手段として機能させるプログラム。
【請求項８】
コンピュータを、請求項３に記載の通信制御装置における各手段として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＴＣＰ（Transmission Control Protocol）等のウィンドウ制御を行うプロトコルを用いた通信において、通信スループットの向上や通信スループットの安定化を実現する技術に関連するものである。
【背景技術】
【０００２】
近年様々な通信がインターネット上で行われ、特にＴＣＰというトランスポート層プロトコルを用いた通信がそのうちで大半を占めており、このＴＣＰを用いた通信での通信品質への要求が高まっている。求められている通信品質としては、データ転送のスループット向上や、安定したスループットの実現等が挙げられる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】TRANSMISSION CONTROL PROTOCOL, RFC793 IETF
【非特許文献２】CUBIC: A New TCP-Friendly High-Speed TCP Variant, Injong Rhee, and Lisong Xu
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＴＣＰでは送信側、受信側それぞれにウィンドウと呼ばれるパラメータを持ち、これを両端でのやり取りと輻輳状態により変動させながら（フロー制御、輻輳制御）、ネットワークや受信端末での輻輳を回避し、効率の良いデータの送受信を行っている。
【０００５】
しかしながら、ネットワーク品質の変動が激しく、ＴＣＰでのウィンドウ制御がそのタイミングに追従仕切れず、通信品質の低下を招くケースが存在する。例えば、３Ｇ・ＬＴＥ等を用いたモバイル環境においては、ユーザが接続する基地局をわたり歩きながら通信をしており、また基地局毎に通信品質が異なることも多く、こういった環境では通信品質の変動が大きくなり、高いスループット、安定したスループットの実現が困難である。
【０００６】
非特許文献１及び２は、実際にＴＣＰで通信中のデータ転送のスループットが下がる、つまりパケットロスが発生することによってはじめてウィンドウサイズの調整を行うため、こういった課題が存在した。例えば、パケットロス（輻輳）が発生した際には、通常、データ送信側は送信ウィンドウサイズを最小限の値に変化させる、又はその時点の送信ウィンドウサイズの半分に減らす、といった実装になっているが、これが必要以上に送信ウィンドウサイズを低下させ、通信中のスループットを大きく上下させ、通信を不安定にさせる要因となっている。
【０００７】
上述のように、従来のＴＣＰ通信では、パケットロスを契機とする後追い形のウィンドウ制御を行うため、ネットワーク品質変動が激しい状況での通信においてはウィンドウサイズ調整が追随できない場合があった。また、パケットロス発生後に設定する送信ウィンドウサイズは大幅に減少されることが多く、ネットワーク品質によっては過剰なウィンドウサイズ縮小となることがあった。このように、従来技術では、大きく変動するネットワーク品質に応じた適切なウィンドウ制御ができない課題があった。
【０００８】
なお、上記の課題はＴＣＰに限らず、ウィンドウ制御を行いながらデータ通信を実行するプロトコル全般に生じ得る課題である。
【０００９】
本発明は上記の点に鑑みてなされたものであり、ウィンドウ制御を行いながらデータ通信を実行する通信システムにおいて、通信環境に応じた適切なウィンドウ制御を行うことを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
開示の技術によれば、ウィンドウ制御を行いながらデータ通信を実行する通信装置であって、
通信環境を示す情報とウィンドウサイズとを対応付けて格納する記憶手段と、
前記通信装置の通信環境に対応するウィンドウサイズを前記記憶手段から取得し、当該ウィンドウサイズを設定してデータ通信を実行するデータ通信手段と
を備えることを特徴とする通信装置が提供される。
【００１１】
また、開示の技術によれば、ウィンドウ制御を行いながらデータ通信を実行する通信装置に対する制御を実行する通信制御装置であって、
通信環境を示す情報とウィンドウサイズとを対応付けて格納する記憶手段と、
前記通信装置から、通信環境を示す情報を含む問い合わせを受信し、当該通信環境に対応するウィンドウサイズを前記記憶手段から取得する検索手段と、
前記検索手段により取得されたウィンドウサイズを前記通信装置に送信し、当該通信装置に当該ウィンドウサイズを設定したデータ通信を実行させる送信手段と
を備えることを特徴とする通信制御装置が提供される。
【発明の効果】
【００１２】
開示の技術によれば、ウィンドウ制御を行いながらデータ通信を実行する通信システムにおいて、通信環境に応じた適切なウィンドウ制御を行うことを可能とする技術が提供される。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態における通信システムの構成図である。
【図２】第１の実施の形態におけるＴＣＰ通信装置１００の機能構成図である。
【図３】ＴＣＰ通信装置１００（ＴＣＰ通信装置２００、通信最適化サーバ３００）のハードウェア構成図である。
【図４】第１の実施の形態における処理手順を説明するための図である。
【図５】電波強度と受信ウィンドウサイズとの対応関係の例を示す図である。
【図６】第２の実施の形態におけるＴＣＰ通信装置２００の機能構成図である。
【図７】第２の実施の形態における処理手順を説明するための図である。
【図８】第３の実施の形態における通信システムの構成図である。
【図９】第３の実施の形態における通信最適化サーバ３００の機能構成図である。
【図１０】第３の実施の形態における処理手順を説明するための図である。
【図１１】記憶部３４０に格納される表の例を示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施の形態（本実施の形態）を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。例えば、以下では、ウィンドウ制御を実行するプロトコルの例として、ＴＣＰを取り上げて説明を行っているが、本発明は、ＴＣＰに限らずに適用可能である。例えば、ＴＣＰと同様のスライディングウィンドウによるフロー制御を採用しているＳＣＴＰ、ＱＵＩＣ等のプロトコルにも同様に本発明を適用することが可能である。
【００１５】
（概要）
本実施の形態では、ＴＣＰ通信が実行される通信システムにおいて、通信を行う環境に適した送信及び／又は受信ウィンドウを設定することにより、ＴＣＰの通信品質を向上・安定させる。通信を行う環境（通信環境と呼んでもよい）とは、例えば、通信を行う通信相手の地理的場所、地理的場所に対応する電波強度、自端末の地理的場所、通信相手のネットワーク内の論理的場所、自端末のネットワーク内の論理的場所、通信を行う時刻等のうちのいずれか１つ又は複数又は全部を指す。また、通信環境が、これら以外の要素で示されるものであってもよい。
【００１６】
本実施の形態では、ＴＣＰ通信装置は、ＴＣＰの通信開始時に、通信環境に適した送信ウィンドウサイズ及び／又は受信ウィンドウサイズを取得し、これをＴＣＰ通信に初期ウィンドウサイズとして適用させる。また、通信途中であっても、通信品質の変化が検出された場合には、変化後の通信品質に適した送信ウィンドウサイズ及び／又は受信ウィンドウサイズを取得し、これを継続中のＴＣＰ通信に適用する。
【００１７】
通信中にパケットロスが発生した際（あるいは、パケットロスが生じるような通信品質劣化の発生を予測した際）には、上記のように取得したウィンドウサイズの初期値までウィンドウサイズを減らすことにより、通信環境に適したウィンドウサイズまで減少させ、通信中のスループット変化を安定させる。
【００１８】
このような処理により、ＴＣＰ通信におけるスループットの向上、また安定を実現することができ、様々なＴＣＰを用いたアプリケーションひいてはユーザのサービス体感品質を向上させることができる。以下、本発明の実施の形態として、第１〜第３の実施の形態を説明する。
【００１９】
（第１の実施の形態：データ受信側の通信装置での受信ウィンドウ制御）
＜システム構成＞
図１に第１の実施の形態における通信システムの構成図を示す。この構成図は第２の実施の形態にも適用される。図１に示すように、当該通信システムは、データ受信側のＴＣＰ通信装置１００と、データ送信側のＴＣＰ通信装置２００を有する。
【００２０】
ＴＣＰ通信装置１００とＴＣＰ通信装置２００はそれぞれ、ＴＣＰクライアント及びＴＣＰサーバとしてＴＣＰ通信を行う装置であればどのような装置でもよいが、例えば、モバイル端末である。ＴＣＰ通信装置１００とＴＣＰ通信装置２００との間の接続に関しても、どのようなネットワークで接続がなされていてもよいが、例えばモバイルネットワークにより接続されている。
【００２１】
第１の実施の形態では、データ受信側のＴＣＰ通信装置１００において本発明に係る受信ウィンドウ制御が行われる。ＴＣＰ通信装置２００については、一般的なＴＣＰ通信機能が備えられていればよい。ただし、ＴＣＰ通信装置２００について、後述する第２の実施の形態に係る機能が備えられていてもよい。
【００２２】
図２に、ＴＣＰ通信装置１００の機能構成図を示す。図２に示すように、ＴＣＰ通信装置１００は、送信部１１０、受信部１２０、受信ウィンドウ制御部１３０、記憶部１４０を有する。
【００２３】
受信部１２０は、受信ウィンドウを管理し、ＴＣＰによりＴＣＰ通信装置２００からデータを受信する機能を含み、送信部１１０は、確認応答、受信ウィンドウサイズ等をＴＣＰ通信装置２００に送信する機能を含む。
【００２４】
受信ウィンドウ制御部１３０は、例えば通信環境に応じて通信品質劣化を事前検知し、記憶部１４０に格納された情報に基づいて、通信品質劣化に応じた適切な受信ウィンドウサイズを決定する機能を含む。具体的な決定方法及び記憶部１４０に格納される情報については後述する。
【００２５】
ＴＣＰ通信装置１００は、例えば、１つ又は複数のコンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、ＴＣＰ通信装置１００が有する機能は、当該コンピュータに内蔵されるＣＰＵやメモリ、ハードディスク等のハードウェア資源を用いて、ＴＣＰ通信装置１００で実施される処理に対応するプログラムを実行することによって実現することが可能である。また、上記プログラムは、コンピュータが読み取り可能な記録媒体（可搬メモリ等）に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【００２６】
このように、コンピュータとプログラムで装置を実現できる点は第１〜第３の実施の形態で登場する全ての装置について同様である。また、以下に説明するハードウェア構成例についても、第１〜第３の実施の形態で登場する全ての装置について同様である。
【００２７】
図３は、ＴＣＰ通信装置１００をコンピュータで実現する場合のハードウェア構成例を示す図である。図３のＴＣＰ通信装置１００は、それぞれバスＢで相互に接続されているドライブ装置１０８、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、インタフェース装置１０５、表示装置１０６、及び入力装置１０７等を有する。
【００２８】
ＴＣＰ通信装置１００での処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ又はメモリカード等の記録媒体１０１によって提供される。プログラムを記憶した記録媒体１０１がドライブ装置１０８にセットされると、プログラムが記録媒体１０１からドライブ装置１０８を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００２９】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従ってＴＣＰ通信装置１００に係る機能を実現する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１０６はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置１０７はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。
【００３０】
＜動作例＞
次に、図４を参照して、第１の実施の形態における通信システムの動作例を説明する。図４のステップＳ１０１の前の時点でＴＣＰ通信装置１００とＴＣＰ通信装置２００との間のＴＣＰセッションが確立されており、ＴＣＰ通信装置２００の送信ウィンドウサイズが３０００バイトであり、ＴＣＰ通信装置１００の受信ウィンドウサイズが３０００バイトであるとする。
【００３１】
まず、ステップＳ１０１〜Ｓ１０３において、ＴＣＰ通信装置２００が各１０００バイトのサイズのデータ１、２、３をＴＣＰ通信装置１００に送信する。前述したとおり、ＴＣＰ通信装置２００での送信ウィンドウサイズとＴＣＰ通信装置１００の受信ウィンドウサイズはともに３０００バイトである。ここで、ＴＣＰ通信装置１００の受信ウィンドウ制御部１３０が通信品質の劣化を検知、又は今後すぐに劣化が発生することを検知したとする。
【００３２】
通信品質劣化を検知（又は事前検知）したＴＣＰ通信装置１００の受信ウィンドウ制御部１３０は、通信中のＴＣＰセッションにおける受信ウィンドウサイズの値を例えば１０００バイトに下げ、また受信ウィンドウサイズを送信部１１０を介して通信相手であるＴＣＰ通信装置２００に確認応答１、２、３を用いて通知する（ステップＳ１０４〜Ｓ１０６）。ＴＣＰ通信装置２００は、受信した受信ウィンドウサイズが１０００バイトであることから、自装置の送信ウィンドウサイズを１０００に下げ、データ４（１０００バイト）のデータを送信する。
【００３３】
図示しないが、逆に通信品質劣化が解消した際（通信品質劣化が解消することを事前検知することを含む）、例えば電波強度がより高いレベルに変化した際には、ＴＣＰ通信装置１００は、受信ウィンドウを３０００等のサイズまで引き上げる。
【００３４】
なお、上記の動作例では、確立済みのＴＣＰセッションにおける受信ウィンドウの制御の例を説明したが、この受信ウィンドウの制御は、確立済みのＴＣＰセッションに対してだけではなく、新規にＴＣＰセッションを開始する際の受信ウィンドウサイズの設定にも同様に適用することができる。
【００３５】
ＴＣＰ通信装置１００による通信品質劣化の事前検知方法は特定の方法に限られないが、例えばＴＣＰ通信装置１００が無線ＬＡＮもしくは３Ｇ・ＬＴＥ等の無線方式によってネットワークに接続されている場合に、ＴＣＰ通信装置１００の受信部１２０により検知される信号強度（ＲＳＲＰ等）が低下したこと（例えばある閾値以下となったこと）をもって通信品質劣化を事前検知する、つまり、スループット等の劣化が生じることを予測することができる。
【００３６】
また、モバイル端末としてのＴＣＰ通信装置１００が、携帯基地局もしくは無線ＬＡＮアクセスポイントを渡り歩く場合において、移動先の基地局／アクセスポイントにＴＣＰ通信装置１００が過去に接続していた際の通信品質履歴等から通信品質の劣化を予想することとしてもよい。この場合、例えば、ＴＣＰ通信装置１００は、ある基地局ＩＤのセルに在圏した場合に、当該基地局ＩＤを検出し、当該基地局ＩＤに対する通信品質履歴を取得する。そして、当該通信品質履歴から通信品質の劣化が予想される場合に、図４に示したように、受信ウィンドウサイズを下げる制御を実施する。
【００３７】
上記の通信品質履歴等は、ＴＣＰ通信装置１００の記憶部１４０が保持してもよいし、ネットワーク上のサーバに保持し、ＴＣＰ通信装置１００が当該サーバから取得することとしてもよい。
【００３８】
上記の無線の信号強度を用いた受信ウィンドウサイズの決定方法の一例を説明する。この場合、図５に示す電波強度と受信ウィンドウサイズとの対応関係の表をＴＣＰ通信装置１００の記憶部１４０に保持しておく。なお、この受信ウィンドウサイズの対応関係の表の作成方法としては、例えば、過去の同様の環境におけるＴＣＰセッションの受信ウィンドウサイズの平均値を用いる方法が考えられる。
【００３９】
例えば図５の対応関係を用いる場合、通信開始時に電波強度が-60dBmであった際には、ＴＣＰ通信装置１００の受信ウィンドウ制御部１３０は受信ウィンドウサイズとして３０００バイトを設定する。通信中に電波強度が変化し、-80dBmとなった場合には、受信ウィンドウサイズを１０００バイトに変更する。
【００４０】
なお、第１の実施の形態では、ＴＣＰ通信装置２００は通常のＴＣＰ通信方式が実装されていればよく、ＴＣＰ通信装置１００のようにウィンドウサイズを変更する手段は不要である。ただし、ＴＣＰ通信装置２００が、第２の実施の形態に係る送信ウィンドウ制御機能を備えていてもよい。
【００４１】
（第２の実施の形態：データ送信側の装置での送信ウィンドウ制御）
＜システム構成＞
第２の実施の形態における通信システムの構成は、第１の実施の形態と同じであり、図１に示したとおりである。
【００４２】
第２の実施の形態では、データ送信側のＴＣＰ通信装置２００において本発明に係る送信ウィンドウ制御が行われる。ＴＣＰ通信装置１００については、一般的なＴＣＰ通信機能が備えられていればよい。ただし、ＴＣＰ通信装置１００について、第１の実施の形態に係る機能が備えられていてもよい。
【００４３】
図６に、ＴＣＰ通信装置２００の機能構成図を示す。図６に示すように、ＴＣＰ通信装置２００は、送信部２１０、受信部２２０、送信ウィンドウ制御部２３０、記憶部２４０を有する。
【００４４】
送信部２１０は、送信ウィンドウを管理し、ＴＣＰによりＴＣＰ通信装置１００にデータを送信する機能を含み、受信部２２０は、確認応答、受信ウィンドウサイズ等をＴＣＰ通信装置１００から受信する機能を含む。
【００４５】
送信ウィンドウ制御部２３０は、例えば通信環境に応じて通信品質劣化を事前検知し、記憶部２４０に格納された情報に基づいて、通信環境に応じた送信ウィンドウサイズを決定する機能を含む。通信品質劣化の事前検知方法は第１の実施の形態で説明した方法と同様である。また、記憶部２４０に格納される情報については、第１の実施の形態において図５を参照して説明した情報と同様である。ただし、第２の実施の形態では、図５に示した対応関係は、電波強度と送信ウィンドウサイズとの対応関係となる。
【００４６】
＜動作例＞
次に、図７を参照して、第２の実施の形態における通信システムの動作例を説明する。図７のステップＳ２０１の前の時点でＴＣＰ通信装置１００とＴＣＰ通信装置２００との間のＴＣＰセッションが確立されており、ＴＣＰ通信装置２００の送信ウィンドウサイズが３０００バイトであり、ＴＣＰ通信装置１００の受信ウィンドウサイズが３０００バイトであるとする。
【００４７】
まず、ステップＳ２０１〜Ｓ２０３において、ＴＣＰ通信装置２００が各１０００バイトのサイズのデータ１、２、３をＴＣＰ通信装置１００に送信する。その後、ＴＣＰ通信装置２００の送信ウィンドウ制御部１３０が通信品質の劣化、又は今後すぐに劣化が発生することを検知したとする。通信品質の劣化の事前検知方法は第１の実施の形態で説明したとおりである。
【００４８】
通信品質劣化を検知（又は事前検知）したＴＣＰ通信装置２００の送信ウィンドウ制御部２３０は、通信中のＴＣＰセッションにおける送信ウィンドウサイズの値を例えば１０００バイトに下げる。送信ウィンドウサイズの決定方法は、第１の実施の形態における受信ウィンドウサイズの決定方法と同様である。つまり、通信環境（例：電波強度）に対応する送信ウィンドウサイズを記憶部２４０から取得し、当該送信ウィンドウサイズを適用する。
【００４９】
ステップＳ２０４〜Ｓ２０６において、ＴＣＰ通信装置１００は、ＴＣＰ通信装置２００に対し、受信ウィンドウサイズ（３０００）とともに確認応答１、２、３を返す。ＴＣＰ通信装置２００は、変更後の送信ウィンドウサイズ（１０００）に基づき、データ４（１０００バイト）のデータを送信するとともに（ステップＳ２０７）、確認応答４を待ち、当該確認応答４を受信する（ステップＳ２０８）。
【００５０】
また、上記変更後の送信ウィンドウサイズ（１０００）が設定され、その後、新たな送信ウィンドウサイズが記憶部２４０からの値として設定されていない状態において、ＴＣＰ通信装置２００は、輻輳が発生した際（例：輻輳によるパケットロスが発生した際）に、送信ウィンドウサイズが、上記変更後の送信ウィンドウサイズ（１０００）を上回っていた場合には、１０００バイトに送信ウィンドウサイズを減らす。
【００５１】
上記の動作例では、確立済みのＴＣＰセッションにおける送信ウィンドウの制御の例を説明したが、この送信ウィンドウの制御は、確立済みのＴＣＰセッションに対してだけではなく、新規にＴＣＰセッションを開始する際の送信ウィンドウサイズの設定にも同様に適用することができる。
【００５２】
なお、第２の実施の形態では、ＴＣＰ通信装置１００は通常のＴＣＰ通信方式が実装されていればよく、ＴＣＰ通信装置２００のようにウィンドウサイズを変更する手段は不要である。ただし、ＴＣＰ通信装置１００が、第１の実施の形態に係る受信ウィンドウ制御機能を備えていてもよい。
【００５３】
（第３の実施の形態：外部サーバを用いたウィンドウ制御）
＜システム構成＞
図８に第３の実施の形態における通信システムの構成図を示す。図３に示すように、当該通信システムは、ＴＣＰ通信装置１００、ＴＣＰ通信装置２００、及び通信最適化サーバ３００を有する。
【００５４】
ＴＣＰ通信装置１００とＴＣＰ通信装置２００はそれぞれ、ＴＣＰクライアント及びＴＣＰサーバとしてＴＣＰ通信を行う装置であればどのような装置でもよいが、例えば、モバイル端末である。ＴＣＰ通信装置１００とＴＣＰ通信装置２００との間の接続に関しても、どのようなネットワークで接続がなされていれもよいが、例えばモバイルネットワークにより接続されている。
【００５５】
通信最適化サーバ３００は、例えばインターネット上に備えられ、ＴＣＰ通信装置１００とＴＣＰ通信装置２００はそれぞれ通信最適化サーバ３００にアクセスして、通信最適化サーバ３００から情報を取得することが可能である。第３の実施の形態では、通信最適化サーバ３００を用いることで、ＴＣＰ通信装置１００とＴＣＰ通信装置２００における送信ウィンドウの制御が実施される。
【００５６】
図９に、通信最適化サーバ３００の機能構成図を示す。図９に示すように、通信最適化サーバ３００は、問い合わせ受信部３１０、パラメータ送信部３２０、検索部３３０、記憶部３４０を有する。
【００５７】
問い合わせ受信部３１０は、ＴＣＰ通信装置１００／２００からパラメータ問い合わせを受信する。検索部３３０は、ＴＣＰ通信装置１００／２００から受信したパラメータ問い合わせの情報に基づいて記憶部３４０に格納された対応表を検索し、問い合わせの情報（通信環境と呼んでもよい）に適合するパラメータ（送信ウィンドウサイズ）を取得する。記憶部３４０には上記の対応表が格納されている。なお、対応表の具体例については後述する。パラメータ送信部３２０は、検索部３３０により取得されたパラメータを、問い合わせ元のＴＣＰ通信装置１００／２００に送信する。
【００５８】
第３の実施の形態におけるＴＣＰ通信装置１００とＴＣＰ通信装置２００はそれぞれ、通信最適化サーバ３００に問い合わせを行って、通信最適化サーバ３００から受信した送信ウィンドウサイズを設定してＴＣＰ通信を行う機能を有する。ＴＣＰ通信機能自体は一般的なＴＣＰ通信機能でよい。
【００５９】
＜動作例＞
次に、図１０を参照して、第３の実施の形態における通信システムの動作例を説明する。
【００６０】
ステップＳ３０１において、ＴＣＰ通信装置１００は、通信最適化サーバ３００に対してパラメータ問い合わせを行う。同様に、ステップＳ３０４において、ＴＣＰ通信装置２００は、通信最適化サーバ３００に対してパラメータ問い合わせを行う。
【００６１】
各ＴＣＰ通信装置によるパラメータ問い合わせのタイミングは、通信開始時でもよいし、通信途中の任意のタイミングでもよいし、定期的であってもよいし、通信環境に変化があった場合（例：基地局ＩＤが変わった場合、現在時刻の時間帯が変わった場合、通信相手の通信環境が変わった場合等）でもよい。
【００６２】
パラメータ問い合わせに含まれる情報は、＜時刻、データ送信元IPアドレス、データ送信先IPアドレス＞である。ただし、これらは例であり、これら以外の情報が含まれてもよいし、これらの情報のうちの一部が含まれないこととしてもよい。例えば、時刻については、パラメータ問い合わせの情報として含めずに、通信最適化サーバ３００がパラメータ問い合わせを受信した時刻（≒パラメータ問い合わせを送信した時刻）を使用してもよい。
【００６３】
ＴＣＰ通信機器１００からパラメータ問い合わせを受信した通信最適化サーバ３００において、検索部３３０が、パラメータ問い合わせに含まれる情報に基づき、記憶部３４０に格納される対応表を検索する。そして、パラメータ送信部３２０が、検索部３３０により取得された該当エントリの送信ウィンドウサイズを応答する（ステップＳ３０２）。ＴＣＰ通信機器２００からパラメータ問い合わせを受信した場合にも同様の動作が実行される（ステップＳ３０５）。
【００６４】
図１１に、通信最適化サーバ３００の記憶部３４０に格納される対応表の例を示す。図１１に示すように、この対応表は、時刻、送信先IPアドレス、送信元IPアドレス、及び送信ウィンドウサイズを対応付けて保持する表である。当該対応表の作成方法については、特定の方法に限定されないが、例えば、過去の同様の環境（同様の時刻、送信先IPアドレス、送信元IPアドレス）におけるＴＣＰセッションの送信ウィンドウサイズの平均値を用いる方法が考えられる。
【００６５】
図１１の表を使用する場合、例えば、通信最適化サーバ３００が、ＴＣＰ通信機器１００から送信先IPアドレス＝1.1.1.1、送信元IPアドレス＝1.1.1.2、時刻＝平日の00:20を設定したパラメータ問い合わせを受信した場合、検索部３３０は、送信ウィンドウサイズ＝３０００を取得する。
【００６６】
そして、当該送信ウィンドウサイズ＝３０００がＴＣＰ通信装置１００に送信され、ＴＣＰ通信装置１００は、送信ウィンドウサイズとして３０００を設定してデータ送信を行う（ステップＳ３０３）。また、輻輳が発生した際（例：輻輳によるパケットロスが発生した際）に、送信ウィンドウサイズがパラメータ問い合わせによって得られた送信ウィンドウサイズ（３０００）を上回っていた場合には、３０００に送信ウィンドウサイズを減らす。
【００６７】
ＴＣＰ通信装置２００に関しても同様であり、ＴＣＰ通信装置２００は、通信最適化サーバ３００から受信した送信ウィンドウサイズを設定してデータ送信を行う（ステップＳ３０６）。また、輻輳が発生した際（例：輻輳によるパケットロスが発生した際）に、送信ウィンドウサイズがパラメータ問い合わせによって得られた送信ウィンドウサイズを上回っていた場合には、パラメータ問い合わせによって得られた送信ウィンドウサイズに送信ウィンドウサイズを減らす。
【００６８】
なお、第３の実施の形態では、送信ウィンドウサイズを制御する例を説明したが、受信ウィンドウサイズの制御に関しても同様に適用可能である。
【００６９】
（実施の形態のまとめ）
以上、説明したように、本発明の実施の形態によれば、ウィンドウ制御を行いながらデータ通信を実行する通信装置であって、通信環境を示す情報とウィンドウサイズとを対応付けて格納する記憶手段と、前記通信装置の通信環境に対応するウィンドウサイズを前記記憶手段から取得し、当該ウィンドウサイズを設定してデータ通信を実行するデータ通信手段とを備えることを特徴とする通信装置が提供される。
【００７０】
第１、第２の実施の形態で説明したＴＣＰ通信装置１００、２００は上記の通信装置の例である。また、記憶部１４０、２４０は記憶手段の例であり、送信部１１０・受信部１２０・受信ウィンドウ制御部１３０は、データ通信手段の例であり、送信部２１０・受信部２２０・送信ウィンドウ制御部２３０は、データ通信手段の例である。
【００７１】
前記データ通信手段は、データ通信に使用するウィンドウサイズを下げる際に、当該ウィンドウサイズを前記記憶手段から取得したウィンドウサイズまで下げることとしてもよい。
【００７２】
また、本発明の実施の形態によれば、ウィンドウ制御を行いながらデータ通信を実行する通信装置に対する制御を実行する通信制御装置であって、通信環境を示す情報とウィンドウサイズとを対応付けて格納する記憶手段と、前記通信装置から、通信環境を示す情報を含む問い合わせを受信し、当該通信環境に対応するウィンドウサイズを前記記憶手段から取得する検索手段と、前記検索手段により取得されたウィンドウサイズを前記通信装置に送信し、当該通信装置に当該ウィンドウサイズを設定したデータ通信を実行させる送信手段とを備えることを特徴とする通信制御装置が提供される。
【００７３】
第３の実施の形態で説明した通信最適化サーバ３００は、通信制御装置の例である。また、記憶部３４０は記憶手段の例であり、問い合わせ受信部３１０・検索部３３０は、検索手段の例であり、パラメータ送信部３２０は、送信手段の例である。
【００７４】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００７５】
１００  ＴＣＰ通信装置
１１０  送信部
１２０  受信部
１３０  受信ウィンドウ制御部
１４０  記憶部
２００  ＴＣＰ通信装置
２１０  送信部
２２０  受信部
２３０  送信ウィンドウ制御部
２４０  記憶部
３００  通信最適化サーバ
３１０  問い合わせ受信部
３２０  パラメータ送信部
３３０  検索部
３４０  記憶部
【図１】
2018085642.tif 000003
【図２】
2018085642.tif 000004
【図３】
2018085642.tif 000005
【図４】
2018085642.tif 000006
【図５】
2018085642.tif 000007
【図６】
2018085642.tif 000008
【図７】
2018085642.tif 000009
【図８】
2018085642.tif 000010
【図９】
2018085642.tif 000011
【図１０】
2018085642.tif 000012
【図１１】
2018085642.tif 000013