(57)【要約】【課題】  通信網の状態、具体的にはキューイングバッファに蓄積されたデータ量を高精度に推定しつつ、新たに送信するデータのデータ送信量を制御する。【解決手段】  クライアント端末１００と、通信網を介してクライアント端末１００へデータを送信するサーバー装置４００とを具備する通信システムであって、クライアント端末１００は、サーバー装置４００が送信したデータの受信結果を示す確認応答をサーバー装置４００へ送信し、サーバー装置４００は、往復時間を計測する往復時間計測部４０６と、確認応答に基づいて、クライアント端末１００が正常に受信したデータの受信量を判定する受信量判定部４０７と、上記往復時間と上記受信量とに基づいて、クライアント端末１００へ新たに送信するデータのデータ送信量を制御する手段とを備える。【選択図】    図４
2008104018.tif 000002
【特許請求の範囲】
【請求項１】
第１通信装置と、通信網を介して前記第１通信装置へデータを送信する第２通信装置とを具備する通信システムであって、
前記第１通信装置は、前記第２通信装置が送信したデータの受信結果を示す確認応答を前記第２通信装置へ送信する確認応答送信部を備え、
前記第２通信装置は、
前記第１通信装置へ前記データを送信してから、前記第１通信装置から前記確認応答を受信するまでの時間を往復時間として計測する往復時間計測部と、
前記確認応答に基づいて、前記第１通信装置が正常に受信したデータの受信量を判定する受信量判定部と、
前記往復時間と前記受信量とに基づいて、前記第１通信装置へ新たに送信するデータの送信量を制御する送信量制御部と
を備える通信システム。
【請求項２】
前記送信量制御部は、
前記往復時間と前記受信量とから、単位時間当たりの前記受信量をスループットとして算出するスループット算出部と、
前記スループットに基づいて、前記送信量を減少させる減少処理部と
を備える請求項１に記載の通信システム。
【請求項３】
前記スループットの履歴を管理する履歴管理部をさらに備え、
前記減少処理部は、前記履歴を参照し、前記スループットが所定の閾値を下回った場合に、前記送信量を減少させる請求項２に記載の通信システム。
【請求項４】
通信網を介して相手先装置へデータを送信する通信装置であって、
前記相手先装置での前記データの受信結果を示す確認応答を、前記相手先装置から受信する確認応答受信部と、
前記相手先装置へ前記データを送信してから、前記受信部が前記確認応答を受信するまでの時間を往復時間として計測する往復時間計測部と、
前記確認応答に基づいて、前記相手先装置が正常に受信したデータの受信量を判定する受信量判定部と、
前記往復時間と前記受信量とに基づいて、前記相手先装置へ新たに送信するデータの送信量を制御する送信量制御部と
を備える通信装置。
【請求項５】
前記送信量制御部は、
前記往復時間と前記受信量とから、単位時間当たりの前記受信量をスループットとして算出するスループット算出部と、
前記スループットに基づいて、前記送信量を減少させる減少処理部と
を備える請求項４に記載の通信装置。
【請求項６】
前記スループットの履歴を管理する履歴管理部をさらに備え、
前記減少処理部は、前記履歴を参照し、前記スループットが所定の閾値を下回った場合に、前記送信量を減少させる請求項５に記載の通信装置。
【請求項７】
通信網を介して相手先装置へデータを送信する通信装置における送信制御方法であって、
前記相手先装置での前記データの受信結果を示す確認応答を、前記相手先装置から受信するステップと、
前記相手先装置へ前記データを送信してから、前記確認応答を受信するまでの時間を往復時間として計測するステップと、
前記確認応答に基づいて、前記相手先装置が正常に受信したデータの受信量を判定するステップと、
前記往復時間と前記受信量とに基づいて、前記相手先装置へ新たに送信するデータの送信量を制御するステップと
を含む送信制御方法。
【請求項８】
前記制御するステップは、
前記往復時間と前記受信量とから、単位時間当たりの前記受信量をスループットとして算出するステップと、
前記スループットに基づいて、前記送信量を減少させるステップと
を含む請求項７に記載の送信制御方法。
【請求項９】
前記スループットの履歴を管理するステップをさらに含み、
前記減少させるステップでは、前記履歴を参照し、前記スループットが所定の閾値を下回った場合に、前記送信量を減少させる請求項８に記載の送信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信網を介して相手先装置へデータを送信する通信装置を具備する通信システム、当該通信システムにおける通信装置、及び当該通信装置における送信制御方法に関する。
【背景技術】
【０００２】
ＯＳＩ参照モデルのトランスポート層のプロトコルとしてＴＣＰ（Transmission Control Protocol）が広く普及している。ＴＣＰに従って行われる通信では、パケットロスが発生した場合に、欠落したデータパケットの再送信を行うとともに、以降のデータ送信量を減少させる動作が行われる。
【０００３】
一般的に、パケットロスは、ネットワークが輻輳状態であることや、受信側の処理能力を超えた数のデータパケットが送信されたことによって引き起こされる。送信側では、ネットワークの輻輳に対処するために輻輳制御と呼ばれる動作を行う。
【０００４】
具体的には、送信側が往復時間、すなわちデータを送信してから、そのデータに対する確認応答を受信するまでに要する時間内に送信可能なデータ送信量は、輻輳ウィンドウサイズに基づいて決定される。輻輳ウィンドウサイズを適切に更新することによって輻輳制御が実現される。輻輳ウィンドウは、１ｋｂｙｔｅから最大ウィンドウサイズで設定した値まで増加することができる。
【０００５】
移動パケット通信システムで提供されているインターネットアクセスサービス及びブラウザフォン等のデータアクセスサービスは、トランスポート層プロトコルとして、ＴＣＰを移動通信向けに最適化したＷ−ＴＣＰ（ＲＦＣ３４８１）を採用している。
【０００６】
近年、無線通信網のブロードバンド化が進み、有線通信網並みの帯域幅が利用可能となったが、無線通信網は、伝送遅延及びパケットロス率については、有線通信網に劣ることが知られている。
【０００７】
Ｗ−ＴＣＰは、大きな伝送遅延及びパケットロスが生じるブロードバンド無線通信網において効率的な伝送を行うため、（１）ウィンドウサイズ拡大、（２）初期ウィンドウサイズ拡大、（３）ＳＡＣＫ（Selective Acknowledgement）有効化、（４）ＭＴＵ（Maximum Transmission Unit）拡大といった最適化プロファイルを規定している。
【０００８】
一般的に、通信網の帯域幅と伝送遅延を掛けた値を帯域幅遅延積といい、帯域幅遅延積より最大ウィンドウサイズが大きくなければ、通信網の帯域幅を有効利用することができない。このため、上記（１）ウィンドウサイズ拡大は、無線通信網の最大帯域幅と伝送遅延量を考慮して決定される。
【０００９】
ＴＣＰでは、伝送路の帯域幅を使い切って最大スループットを得ようとした場合、帯域幅遅延積より大きな最大ウィンドウサイズを設定しなければならない。W-ＴＣＰの輻輳ウィンドウは、データ送信開始時、上記（２）初期ウィンドウサイズ拡大により、４ｋｂｙｔｅに設定されており、確認応答を受信するたびに増加し、ウィンドウサイズの上限値まで拡大する。
【００１０】
一方で、有線通信網において、パケットロスを回避するため、送信側の通信装置が、受信側の通信装置との間の往復時間を用いて、ネットワークが輻輳しているかを監視する手法が提案されている（例えば、非特許文献１、特許文献１参照）。
【非特許文献１】R.Braden、”Requirements for Internet Hosts--Communication Layers”、IETF RFC 1122、1989年10月
【特許文献１】特許第３０４４６５８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、無線通信網の伝送路（無線リンク）の特性は、クライアント端末の移動により刻一刻と変動し、帯域幅と伝送遅延が常に変動する。そのため、最大ウィンドウサイズの値を想定される帯域幅遅延積の上限に設定したとしても、実際の帯域幅遅延積が最大ウィンドウサイズよりもはるかに小さいといった事象が発生する。
【００１２】
帯域幅遅延積を超えて送信されたデータは、主に無線制御装置やルータ上のキューイングバッファに蓄積される。キューイングバッファからデータが溢れて失われた場合、ＴＣＰの輻輳制御動作により輻輳ウィンドウが減じられ、キューイングバッファに過剰にデータが蓄積した状態は避けられる。
【００１３】
キューイングバッファが最大ウィンドウサイズより大きく設定されていた場合、パケットロスが発生せず、キューイングバッファにデータが蓄積されたままの状態になることで様々な弊害が発生する。
【００１４】
第１に、無線制御装置やルータやキューイングバッファを埋め尽くすことにより、各装置のメモリリソースを大量に消費し、装置当たりの収容加入者数が減少してしまうという問題がある。
【００１５】
第２に、キューイングバッファにデータが蓄積された状態では、サーバー装置が送信したデータに対する確認応答が到達する時間が長大化するという問題がある。この問題に付随して、ＴＣＰの再送タイムアウトタイマが伝送遅延に追従して長大化し、パケットロスが発生した際の再送動作が遅れることが考えられる。
【００１６】
上記問題点に鑑み、本発明は、通信網の状態、具体的にはキューイングバッファに蓄積されたデータ量を高精度に推定しつつ、新たに送信するデータの送信量を制御することができる通信システム、通信装置、及び送信制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記目的を達成するために、本発明の第１の特徴は、第１通信装置（クライアント端末１００）と、無線通信網（無線通信網１、有線通信網２）を介して前記第１通信装置へデータを送信する第２通信装置（サーバー装置４００）とを具備する通信システムであって、前記第１通信装置は、前記第２通信装置が送信したデータの受信結果を示す確認応答を前記第２通信装置へ送信する確認応答送信部（ＴＣＰ処理部１０４）を備え、前記第２通信装置は、前記第１通信装置へ前記データを送信してから、前記第１通信装置から前記確認応答を受信するまでの時間を往復時間として計測する往復時間計測部（往復時間計測部４０６）と、前記確認応答に基づいて、前記第１通信装置が正常に受信したデータの受信量を判定する受信量判定部（受信量判定部４０７）と、前記往復時間と前記受信量とに基づいて、前記第１通信装置へ新たに送信するデータの送信量を制御する送信量制御部（スループット算出部４０８、履歴管理部４０９、閾値判定部４１０、輻輳制御起動部４１１）とを備えることを要旨とする。
【００１８】
このような構成によれば、第２通信装置が、往復時間（ＲＴＴ）と第１通信装置における受信量とに基づいて、第１通信装置へ新たに送信するデータの送信量を制御する。すなわち、通信網の帯域幅と伝送遅延とを考慮した送信量制御を行っている。この結果、第２通信装置は、通信網の状態、具体的にはキューイングバッファに蓄積されたデータ量を高精度に推定しつつ、第１通信装置へ新たに送信するデータの送信量を制御することができる。
【００１９】
本発明の第１の特徴に係る通信システムにおいて、前記送信量制御部は、前記往復時間と前記受信量とから、単位時間当たりの前記受信量をスループットとして算出するスループット算出部（スループット算出部４０８）と、前記スループットに基づいて、前記送信量を減少させる減少処理部（閾値判定部４１０、輻輳制御起動部４１１）とを備えることが好ましい。
【００２０】
このような構成によれば、単位時間当たりの受信量をスループットとして算出し、スループットに基づいて送信量を減少させることによって、パケットロスによるＴＣＰの輻輳制御に頼らなくとも、データ送信量（輻輳ウィンドウ）を減少させることができる。
【００２１】
本発明の第１の特徴に係る通信システムにおいて、前記スループットの履歴を管理する履歴管理部（履歴管理部４０９）をさらに備え、前記減少処理部は、前記履歴を参照し、前記スループットが所定の閾値を下回った場合に、前記送信量を減少させることが好ましい。
【００２２】
このような構成によれば、スループットが、所定の閾値（例えば、履歴に存在するスループットの最大値）を下回ったとき、具体的には、スループットが低下したときにデータ送信量（輻輳ウィンドウ）を減少させることによって、データ送信量を適切に減少させることができる。
【００２３】
本発明の第２の特徴は、無線通信網（無線通信網１、有線通信網２）を介して相手先装置（クライアント端末１００）へデータを送信する通信装置（サーバー装置４００）であって、前記相手先装置での前記データの受信結果を示す確認応答を、前記相手先装置から受信する確認応答受信部（ＴＣＰ処理部４０４）と、前記相手先装置へ前記データを送信してから、前記受信部が前記確認応答を受信するまでの時間を往復時間として計測する往復時間計測部（往復時間計測部４０６）と、前記確認応答に基づいて、前記相手先装置が正常に受信したデータの受信量を判定する受信量判定部（受信量判定部４０７）と、前記往復時間と前記受信量とに基づいて、前記相手先装置へ新たに送信するデータの送信量を制御する送信量制御部（スループット算出部４０８、履歴管理部４０９、閾値判定部４１０、輻輳制御起動部４１１）とを備えることを要旨とする。
【００２４】
本発明の第２の特徴に係る通信装置において、前記送信量制御部は、前記往復時間と前記受信量とから、単位時間当たりの前記受信量をスループットとして算出するスループット算出部（スループット算出部４０８）と、前記スループットに基づいて、前記送信量を減少させる減少処理部（閾値判定部４１０、輻輳制御起動部４１１）とを備えることが好ましい。
【００２５】
本発明の第２の特徴に係る通信装置において、前記スループットの履歴を管理する履歴管理部（履歴管理部４０９）をさらに備え、前記減少処理部は、前記履歴を参照し、前記スループットが所定の閾値を下回った場合に、前記送信量を減少させることが好ましい。
【００２６】
本発明の第３の特徴は、通信網を介して相手先装置へデータを送信する通信装置における送信制御方法であって、前記相手先装置での前記データの受信結果を示す確認応答を、前記相手先装置から受信するステップと、前記相手先装置へ前記データを送信してから、前記確認応答を受信するまでの時間を往復時間として計測するステップと、前記確認応答に基づいて、前記相手先装置が正常に受信したデータの受信量を判定するステップと、前記往復時間と前記受信量とに基づいて、前記相手先装置へ新たに送信するデータの送信量を制御するステップとを含むことを要旨とする。
【００２７】
本発明の第３の特徴に係る送信制御方法において、前記制御するステップは、前記往復時間と前記受信量とから、単位時間当たりの前記受信量をスループットとして算出するステップと、前記スループットに基づいて、前記送信量を減少させるステップとを含むことが好ましい。
【００２８】
本発明の第３の特徴に係る送信制御方法において、前記スループットの履歴を管理するステップをさらに含み、前記減少させるステップでは、前記履歴を参照し、前記スループットが所定の閾値を下回った場合に、前記送信量を減少させることが好ましい。
【発明の効果】
【００２９】
本発明によれば、通信網の状態、具体的にはキューイングバッファに蓄積されたデータ量を高精度に推定しつつ、新たに送信するデータの送信量を制御することができる通信システム、通信装置、及び送信制御方法を提供できる。
【発明を実施するための最良の形態】
【００３０】
次に、図面を参照して、本発明の実施形態を説明する。以下の実施形態における図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
【００３１】
（通信システムの構成例）
先ず、本実施形態に係る通信システムの構成例について説明する。図１は、本実施形態に係る通信システムの構成例を示す図である。図２は本実施形態に係る通信システムのプロトコルスタックを示す図である。
【００３２】
図１に示す通信システムは、クライアント端末１００と、無線制御装置２００と、無線通信網１と、ＰＯＩ（Point Of Interface）３００と、有線通信網２と、サーバー装置４００とを備える。
【００３３】
無線通信網１は、無線ＬＡＮが接続されたＷＡＮやＬＡＮ、又は携帯電話システムの交換ネットワークの形態をとる。有線通信網２は、ＬＡＮ又はインターネットの形態をとる。
【００３４】
クライアント端末１００は、携帯電話端末又は無線通信機能を有するノートＰＣなどの形態をとる。本実施形態においてクライアント端末１００は、無線制御装置２００、無線通信網１、ＰＯＩ３００、及び有線通信網２を介して、サーバー装置４００からコンテンツをダウンロードする。
【００３５】
無線制御装置２００は、無線ＬＡＮのアクセスポイント（ＡＰ）、又は携帯電話システムの基地局装置の形態をとる。無線制御装置２００は、クライアント端末１００と無線リンクを介して通信し、クライアント端末１００と無線通信網１との間の無線インターフェースとして機能する。
【００３６】
ＰＯＩ３００は、例えばルータ装置の形態をとる。ＰＯＩ３００は、無線通信網１と有線通信網２とを相互に接続する。
【００３７】
サーバー装置４００は、ＰＣ又はワークステーションの形態をとる。サーバー装置４００は、有線通信網２、ＰＯＩ３００、無線通信網１、及び無線制御装置２００を介して、クライアント端末１００に対してコンテンツ配信を行う。
【００３８】
図２に示すように、クライアント端末１００とサーバー装置４００とは、ＯＳＩ参照モデルのトランスポート層に位置するＴＣＰに従って通信する。ＴＣＰでは、データ送信毎に確認応答を待つ通信、すなわち確認型通信が行われる。
【００３９】
なお、サーバー装置４００は、複数のデータパケットを各データパケットに内包されたシーケンス番号の順にクライアント端末１００へ送信する。クライアント端末１００から送信される確認応答に内包される確認応答番号には、クライアント端末１００が次に受信すべきデータパケットのシーケンス番号の値が格納される。
【００４０】
（クライアント端末の構成例）
次に、クライアント端末１００の構成例について説明する。図３は、クライアント端末１００の構成例を示す機能ブロック図である。
【００４１】
クライアント端末１００は、無線インターフェース１０１と、ＩＰ（Internet Protocol）処理部１０２と、アプリケーション処理部１０３と、ＴＣＰ処理部１０４とを備える。
【００４２】
無線インターフェース１０１は、無線通信網１とのインターフェースとして機能する。具体的には、無線インターフェース１０１は、アンテナ、高周波（ＲＦ）処理部、及びベースバンド（ＢＢ）処理部などを備える。
【００４３】
ＩＰ処理部１０２は、無線通信網１から通知されたアドレス、又はユーザがクライアント端末１００に設定した一意のアドレスによって、無線通信網１及び有線通信網２におけるクライアント端末１００の識別機能を提供する。
【００４４】
アプリケーション処理部１０３は、Ｗｅｂブラウザ、ＦＴＰ（File Transfer Protocol）クライアント、メールクライアントなど、ユーザが利用するアプリケーションを実行する。
【００４５】
ＴＣＰ処理部１０４は、再送制御、輻輳制御により信頼性の高い通信を実施可能とする。  
（サーバー装置の構成例）
次に、サーバー装置４００の構成例について説明する。図４は、サーバー装置４００の構成例を示す機能ブロック図である。
【００４６】
サーバー装置４００は、ネットワークインターフェース４０１と、ＩＰ処理部４０２と、アプリケーション処理部４０３と、ＴＣＰ処理部４０４と、輻輳制御部４０５とを備える。
【００４７】
ネットワークインターフェース４０１は、例えばＥｔｈｅｒｎｅｔ（登録商標）インターフェースの形態をとる。ネットワークインターフェース４０１は、有線通信網２とのインターフェースとして機能する。
【００４８】
ＩＰ処理部４０２は、有線通信網２で一意のＩＰアドレスが付与され、サーバー装置４００の識別機能を提供する。
【００４９】
アプリケーション処理部４０３は、Ｗｅｂサーバー、ＦＴＰサーバー、メールサーバーなどユーザが利用するアプリケーションを提供する。
【００５０】
ＴＣＰ処理部４０４は、再送制御、輻輳制御により信頼性の高い通信を実施可能とする。ここで、ＴＣＰ処理部４０４による再送制御について簡単に説明する。ＴＣＰ処理部４０４は、パケットロスを検出し、欠落したデータパケットを再送信する。具体的には、ＴＣＰデータを送信してから所定の時間（再送タイムアウト時間）内に、そのデータを受信したことを示す確認応答がクライアント端末１００から送信されたかによってパケットロスを検出する。あるいは、ＴＣＰ処理部４０４は、クライアント端末１００から重複確認応答パケットが所定の回数（例えば、３回）送信されてきたか否かによってパケットロスを検出する。
【００５１】
輻輳制御部４０５は、ＴＣＰ処理部４０４と連携して輻輳制御を行う。輻輳制御部４０５は、往復時間計測部４０６と、受信量判定部４０７と、スループット算出部４０８と、履歴管理部４０９と、閾値判定部４１０と、輻輳制御起動部４１１とを備える。
【００５２】
往復時間計測部４０６は、ＴＣＰデータ送信開始から、確認応答までの経過時間、すなわち往復時間（ＲＴＴ）を計測する。
【００５３】
受信量判定部４０７は、確認応答に基づいて、クライアント端末１００が正常に受信したデータの受信量を判定する。
【００５４】
スループット算出部４０８は、往復時間計測部４０６と受信量判定部４０７とから通知された値を元に、データ送信のスループットを算出する。ここで、往復時間計測部４０６が計測した往復時間を“ＲＴＴ”とし、クライアント端末１００が正常に受信したデータの受信量を“ＲＤ”とすると、スループット“ＴＰ”は、
ＴＰ＝ＲＤ／ＲＴＴ            ・・・（１）
により算出される。
【００５５】
履歴管理部４０９は、スループット算出部４０８が算出したスループットの履歴を管理する。
【００５６】
閾値判定部４１０は、スループットの履歴を参照し、スループットが一定の値を下回ったことを検出する。例えば、閾値判定部４１０は、スループット算出部４０８が算出したスループットと、履歴に存在するスループットの最大値とを比較し、スループットが最大値を下回ったことを検出する。
【００５７】
輻輳制御起動部４１１は、閾値判定部４１０による閾値判定の結果に基づき、ＴＣＰ処理部４０４へ輻輳制御の起動を指示する。
【００５８】
（スループット算出シーケンス）
次に、サーバー装置４００によるスループット算出シーケンスについて説明する。図５は、サーバー装置４００によるスループット算出シーケンスを示すシーケンス図である。
【００５９】
ステップＳ１において、サーバー装置４００は、データ（ＳＥＱ：ｘ）をクライアント端末１００へ送信する。“ｘ”はシーケンス番号であり、送信パケットの相対的な位置をバイト単位で示している。
【００６０】
ステップＳ２において、クライアント端末１００は、確認応答（ＡＣＫ：ｘ＋ｙ）をサーバー装置４００へ送信する。“ｘ＋ｙ”は確認応答番号であり、シーケンス番号ｘまでのパケットが正常に受信され、さらにｙバイトのデータ送信を要求することを意味している。
【００６１】
ここで、受信量判定部４０７は、ステップＳ２の確認応答により、ステップＳ１のデータ送信が正常に行われたため、クライアント端末１００のデータ受信量は、ステップＳ１で送信したデータ送信量（ｘバイト）であると判定する。
【００６２】
また、往復時間計測部４０６は、ステップＳ１とステップＳ２のタイミングにより往復時間を計測する。スループット算出部４０８は、上記式（１）からスループットを算出する。算出されたスループットは、履歴管理部４０９に記憶される。
【００６３】
次に、ステップＳ３において、サーバー装置４００は、データ（ＳＥＱ：ｘ＋ｙ）をクライアント端末１００へ送信する。“ｘ＋ｙ”はシーケンス番号である。ステップＳ３で送信したデータ量は、ステップＳ１とステップＳ３のシーケンス番号より、ｘ＋ｙ−ｘ＝ｙバイトである。
【００６４】
ステップＳ４において、クライアント端末１００は、確認応答（ＡＣＫ：ｘ＋ｙ＋ｚ）をサーバー装置４００へ送信する。“ｘ＋ｙ＋ｚ”は確認応答番号であり、シーケンス番号ｘ＋ｙまでのパケットが正常に受信され、さらにｚバイトのデータ送信を要求することを意味している。
【００６５】
ここで、受信量判定部４０７は、ステップＳ４の確認応答により、ステップＳ３のデータ送信が正常に行われたため、クライアント端末１００のデータ受信量は、ステップＳ３で送信したデータ送信量（ｙバイト）であると判定する。
【００６６】
また、往復時間計測部４０６は、ステップＳ３とステップＳ４のタイミングにより往復時間を計測する。スループット算出部４０８は、上記式（１）からスループットを算出する。算出されたスループットは、履歴管理部４０９に記憶される。
【００６７】
（接続確立シーケンス）
次に、クライアント端末１００及びサーバー装置４００間の接続確立シーケンスについて説明する。図６は、クライアント端末１００及びサーバー装置４００間の接続確立シーケンスを示すシーケンス図である。
【００６８】
ステップＳ１０において、クライアント端末１００は、接続要求（ＳＹＮ）パケットをサーバー装置４００へ送信する。なお、このＳＹＮパケットは、クライアント端末１００及びサーバー装置４００においてシーケンス番号と確認応答番号とを同期させるためにも使われる。
【００６９】
ステップＳ２０において、サーバー装置４００は、接続要求・接続応答信号（ＴＣＰ  ＳＹＮ＋ＡＣＫ）をクライアント端末１００へ送信する。
【００７０】
ステップＳ３０において、クライアント端末１００は、接続応答（ＴＣＰ  ＡＣＫ）をサーバー装置４００へ送信する。
【００７１】
このように、クライアント端末１００及びサーバー装置４００で相互にＳＹＮパケットを送信するとともに、ＡＣＫパケットで確認応答を送信する。この結果、３つのパケットが送信又は受信される。なお、このような手順は「３ウェイ・ハンドシェイク」と呼ばれる。
【００７２】
（データ送信シーケンス）
次に、サーバー装置４００からクライアント端末１００へのデータ送信シーケンスについて説明する。図７は、サーバー装置４００からクライアント端末１００へのデータ送信シーケンスを示すシーケンス図である。
【００７３】
ステップＳ４０において、サーバー装置４００は、１パケット分のＴＣＰデータをクライアント端末１００へ送信する。
【００７４】
ステップＳ５０において、クライアント端末１００は、ステップＳ４０で送信されたＴＣＰデータを正常に受信できたことを示す確認応答をサーバー装置４００へ送信する。
【００７５】
ステップＳ６０において、サーバー装置４００は、クライアント端末１００から確認応答を受信すると、データ送信量を２倍に増加させ、２パケット分のＴＣＰデータをクライアント端末１００へ送信する。
【００７６】
以降、サーバー装置４００は、最大ウィンドウサイズに到達するまで、指数的にデータ送信量を増加させる。なお、このような制御は「スロースタート制御」と呼ばれる。
【００７７】
（輻輳制御シーケンス）
次に、サーバー装置４００による輻輳制御シーケンスの一例について説明する。図８は、サーバー装置４００による輻輳制御シーケンスの一例を示すシーケンス図である。
【００７８】
ステップＳ１００において、サーバー装置４００は、４パケット分のＴＣＰデータをクライアント端末１００へ送信する。
【００７９】
ステップＳ１１０において、クライアント端末１００は、確認応答をサーバー装置４００へ送信する。この際、サーバー装置４００の輻輳制御部４０５の閾値判定部４１０が、履歴管理部４０９のスループットの履歴を参照し、所定の条件を満たした場合、輻輳制御起動部４１１がＴＣＰ処理部４０４に対して輻輳制御の起動を指示する。その結果、サーバー装置４００は、次のデータ送信量を減少させる。
【００８０】
ステップＳ１２０において、サーバー装置４００は、例えば１パケット分のＴＣＰデータをクライアント端末１００へ送信する。以降の通信においては、上述したスロースタート制御が実行される。
【００８１】
このようにして、輻輳制御が起動することにより、サーバー装置４００はデータ送信量を減少させる。
【００８２】
（作用・効果）
以上詳細に説明したように、本実施形態によれば、サーバー装置４００は、往復時間（ＲＴＴ）とクライアント端末１００におけるデータ受信量とに基づいて、クライアント端末１００へ新たに送信するデータのデータ送信量（輻輳ウィンドウ）を制御する。すなわち、無線通信網１及び有線通信網２の帯域幅と伝送遅延とを考慮したデータ送信量制御（輻輳制御）を行っている。この結果、サーバー装置４００は、無線通信網１及び有線通信網２の状態、具体的にはキューイングバッファに蓄積されたデータ量を高精度に推定しつつ、クライアント端末１００へ新たに送信するデータのデータ送信量を制御することができる。
【００８３】
また、本実施形態によれば、サーバー装置４００は、単位時間当たりのデータ受信量をスループットとして算出し、スループットに基づいてデータ送信量を減少させる。したがって、パケットロスによるＴＣＰの輻輳制御に頼らなくとも、データ送信量を減少させることができる。
【００８４】
更に、本実施形態によれば、サーバー装置４００は、スループットが履歴に存在するスループットの最大値を下回ったとき、つまりスループットが低下したタイミングで、データ送信量を減少させることによって、データ送信量を適切に減少させることができる。
【００８５】
（その他の実施形態）
上記のように、本発明は実施形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなる。
【００８６】
上述した実施形態においては、スループットが履歴に存在するスループットの最大値を下回ったときに、データ送信量を減少させる一例を説明した。しかしながら、スループットが予め設定された所定の閾値を下回ったときに、データ送信量を減少させる構成としてもよい。あるいは、スループットが、履歴に存在する前回（直前）のスループットの値や、履歴に存在するスループットの平均値などを下回ったときに、データ送信量を減少させる構成としてもよい。
【００８７】
このように、本発明は、ここでは記載していない様々な実施形態などを含むことは勿論である。したがって、本発明の技術的範囲は、上述の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【図面の簡単な説明】
【００８８】
【図１】本発明の実施形態に係る通信システムの構成例を示す図である。
【図２】本発明の実施形態に係る通信システムのプロトコルスタックを示す図である。
【図３】本発明の実施形態に係るクライアント端末の構成例を示す機能ブロック図である。
【図４】本発明の実施形態に係るサーバー装置の構成例を示す機能ブロック図である。
【図５】本発明の実施形態に係るサーバー装置によるスループット算出シーケンスを示すシーケンス図である。
【図６】本発明の実施形態に係るクライアント端末及びサーバー装置間の接続確立シーケンスを示すシーケンス図である。
【図７】本発明の実施形態に係るサーバー装置からクライアント端末へのデータ送信シーケンスを示すシーケンス図である。
【図８】本発明の実施形態に係るサーバー装置による輻輳制御シーケンスを示すシーケンス図である。
【符号の説明】
【００８９】
１００…クライアント端末、１０１…無線インターフェース、１０２…ＩＰ処理部、１０３…アプリケーション処理部、１０４…ＴＣＰ処理部、２００…無線制御装置、３００…ＰＯＩ、４００…サーバー装置、４０１…ネットワークインターフェース、４０２…ＩＰ処理部、４０３…アプリケーション処理部、４０４…ＴＣＰ処理部、４０５…輻輳制御部、４０６…往復時間計測部、４０７…受信量判定部、４０８…スループット算出部、４０９…履歴管理部、４１０…閾値判定部、４１１…輻輳制御起動部
【図１】
2008104018.tif 000003
【図２】
2008104018.tif 000004
【図３】
2008104018.tif 000005
【図４】
2008104018.tif 000006
【図５】
2008104018.tif 000007
【図６】
2008104018.tif 000008
【図７】
2008104018.tif 000009
【図８】
2008104018.tif 000010