(57)【要約】【課題】  データ送信において、伝送遅延が急激に変動した場合であっても二重再送や無通信状態の増加を防止する。【解決手段】  サーバ４００は、通信網１，２を介してクライアント端末１００にデータを送信すると共に、データの送信に応じてクライアント端末１００から送信される確認応答を受信するＴＣＰ送受信部４０４と、データを送信してから確認応答を受信するまでの時間を伝送遅延として計測する伝送遅延計測部４０５と、データを送信してから再送タイマ値内に確認応答が受信されていないことを検出してデータを再送するように制御する再送制御部４０６と、設定された再送タイマ値と計測された伝送遅延との乖離状態に基づいて、再送タイマ値を計算して更新する再送タイマ値計算部４０９と、を備える。【選択図】  図６
2008219408.tif 000002
【特許請求の範囲】
【請求項１】
通信網を介して相手先装置にデータを送信する送信手段と、
前記送信手段による前記データの送信に応じて前記相手先装置から送信される確認応答を受信する確認応答受信手段と、
前記送信手段により前記相手先装置に前記データを送信してから、前記確認応答受信手段により前記相手先装置から前記確認応答を受信するまでの時間を、当該相手先装置毎に伝送遅延として計測する伝送遅延計測手段と、
前記送信手段により前記相手先装置に前記データを送信してから、当該相手先装置毎に設定された再送タイマ値内に、前記確認応答受信手段により前記確認応答が受信されていないことを検出して、前記相手先装置に前記データを再送するように前記送信手段を制御する再送制御手段と、
前記設定された再送タイマ値と前記伝送遅延計測手段により計測された伝送遅延との乖離状態に基づいて、当該相手先装置毎に前記再送タイマ値を計算して更新する再送タイマ値計算手段と、
を備える通信装置。
【請求項２】
前記再送タイマ値計算手段は、前記再送タイマ値を計算する複数の再送タイマ値計算式を記憶しており、前記乖離状態に基づいて前記再送タイマ値の計算に用いる再送タイマ値計算式を選択して、選択した再送タイマ値計算式に基づいて当該再送タイマ値を計算することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記再送タイマ値計算手段は、前記設定された再送タイマ値が前記伝送遅延に基づいて設定される閾値を超えているか判断すると共に、当該閾値を超えていると判断される場合に選択される前記再送タイマ値計算式として、設定された再送タイマ値に予め定められた減衰係数を積算した値を更新される再送タイマ値とする式を記憶し、閾値を超えていないと判断される場合に選択される前記再送タイマ値計算式として、前記伝送遅延計測手段により計測される伝送遅延と予め定められたマージン値との和を少なくとも下回らない値を更新される再送タイマ値とする式を記憶したことを特徴とする請求項２に記載の通信装置。
【請求項４】
前記伝送遅延計測手段により計測された伝送遅延の履歴を、前記相手先装置毎に記憶する伝送遅延履歴管理手段を更に備え、
前記再送タイマ値計算手段は、前記伝送遅延履歴管理手段により記憶された伝送遅延の履歴を取得して、当該伝送遅延の履歴を用いて前記再送タイマ値を計算する、
ことを特徴とする請求項１〜３の何れか一項に記載の通信装置。
【請求項５】
前記再送タイマ値計算手段は、前記伝送遅延履歴管理手段に記憶された伝送遅延の履歴から伝送遅延の変動量を算出して、計算した再送タイマ値に補正が必要か否かを、当該変動量を含む予め設定された判定ルールに基づいて判定して、補正が必要であると判定された場合、当該変動量に基づいて当該計算した再送タイマ値を補正することを特徴とする請求項４に記載の通信装置。
【請求項６】
通信装置と、当該通信装置からデータが送信される１台以上の相手先装置とを含んで構成される通信システムであって、
前記通信装置は、
通信網を介して前記相手先装置にデータを送信する送信手段と、
前記送信手段による前記データの送信に応じて前記相手先装置から送信される確認応答を受信する確認応答受信手段と、
前記送信手段により前記相手先装置に前記データを送信してから、前記確認応答受信手段により前記相手先装置から前記確認応答を受信するまでの時間を、当該相手先装置毎に伝送遅延として計測する伝送遅延計測手段と、
前記送信手段により前記相手先装置に前記データを送信してから、当該相手先装置毎に設定された再送タイマ値内に、前記確認応答受信手段により前記確認応答が受信されていないことを検出して、前記相手先装置に前記データを再送するように前記送信手段を制御する再送制御手段と、
前記設定された再送タイマ値と前記伝送遅延計測手段により計測された伝送遅延との乖離状態に基づいて、当該相手先装置毎に前記再送タイマ値を計算して更新する再送タイマ値計算手段と、を備え、
前記相手先装置は、
前記通信網を介して前記通信装置から送信されるデータを受信する受信手段と、
前記受信手段によりデータが受信されると、確認応答を前記通信装置に送信する確認応答送信手段と、を備える、
ことを特徴とする通信システム。
【請求項７】
通信網を介して相手先装置にデータを送信する送信ステップと、
前記送信ステップにおける前記データの送信に応じて前記相手先装置から送信される確認応答を受信する確認応答受信ステップと、
前記送信ステップにおいて前記相手先装置に前記データを送信してから、前記確認応答受信ステップにおいて前記相手先装置から前記確認応答を受信するまでの時間を、当該相手先装置毎に伝送遅延として計測する伝送遅延計測ステップと、
前記送信ステップにおいて前記相手先装置に前記データを送信してから、当該相手先装置毎に設定された再送タイマ値内に、前記確認応答受信ステップにおいて前記確認応答が受信されていないことを検出して、前記相手先装置に前記データを再送するように制御する再送制御ステップと、
前記設定された再送タイマ値と前記伝送遅延計測ステップにおいて計測された伝送遅延との乖離状態に基づいて、当該相手先装置毎に前記再送タイマ値を計算して更新する再送タイマ値計算ステップと、
を含む送信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信システム及び送信制御方法に関する。
【背景技術】
【０００２】
第３世代移動通信システムにおけるデータアクセスサービスは、トランスポートプロトコルとしてＴＣＰ（Transmission Control Protocol）を移動通信向けに最適化したＷ−ＴＣＰ（Wireless ProfiledTCP）（ＲＦＣ３４８１）を採用している。ＴＣＰでは、データを送信した後、再送タイマ値（ＲＴＯ：Retransmission Time Out）までの時間内に確認応答（Ａｃｋ）を受信できなかった場合、送信データがロスしたと判断し、同一データの再送を行う。なお、再送タイマ値は、再送タイムアウト時間等とも呼ばれる。
【０００３】
ＴＣＰにおけるデータ再送において、再送タイマ値が小さい場合、受信側で送信したＡｃｋが送信側に到達する前に再送タイマを満了し、ロスしなかったデータを過剰に再送（スプリアス再送）してしまう。逆に再送タイマ値が大きい場合、一時的な接続環境悪化から回復した状況においても即座にデータ再送ができないため、無通信時間が長大化し、ユーザ体感速度が低下する。
【０００４】
再送タイマ値を適切な大きさにするため、従来から、データ送信に係る伝送遅延を測定して、伝送遅延に基づいて再送タイマ値を動的に更新することが行われている（例えば、特許文献１及び２参照）。また、再送タイマ値の更新方法は、ＲＦＣ２９８８においても規定されている。
【特許文献１】特開２００６−１３５４５４号公報
【特許文献２】特開２００４−２５３９３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記の従来技術に係る再送タイマ値の更新方法は、以下に示すような問題点があった。即ち、上記の従来技術に係る再送タイマ値の更新方法では、再送タイマ値の更新において、伝送遅延の計測値と平均値の差分の絶対値を一定の重み付けで再送タイマ値に反映しているため、伝送遅延が急激に変動し増減量が大きくなると再送タイマが不要に増大するという問題があった。また、伝送遅延の変動量（分散値）が小さい場合、再送タイマ値が伝送遅延の平均値に近い値まで接近していくため、伝送遅延が急変し伝送遅延が大きくなった場合タイムアウトを検出し、不要な再送が発生するという問題があった。
【０００６】
上記のように再送タイマ値が適切でないことは、二重再送や無通信状態の増加等、ユーザ体感速度の低下やネットワークリソースの浪費等のサービス品質の低下につながる。
【０００７】
本発明は、以上の問題点を解決するためになされたものであり、データ送信において、伝送遅延が急激に変動した場合であっても二重再送や無通信状態の増加を防止することを可能とする、適切な再送タイマ値を設定することができる通信装置、通信システム及び送信制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、本発明に係る通信装置は、通信網を介して相手先装置にデータを送信する送信手段と、送信手段によるデータの送信に応じて相手先装置から送信される確認応答を受信する確認応答受信手段と、送信手段により相手先装置にデータを送信してから、確認応答受信手段により相手先装置から確認応答を受信するまでの時間を、当該相手先装置毎に伝送遅延として計測する伝送遅延計測手段と、送信手段により相手先装置にデータを送信してから、当該相手先装置毎に設定された再送タイマ値内に、確認応答受信手段により確認応答が受信されていないことを検出して、相手先装置にデータを再送するように送信手段を制御する再送制御手段と、設定された再送タイマ値と伝送遅延計測手段により計測された伝送遅延との乖離状態に基づいて、当該相手先装置毎に再送タイマ値を計算して更新する再送タイマ値計算手段と、を備えることを特徴とする。
【０００９】
本発明に係る通信装置では、設定された再送タイマ値と伝送遅延との乖離状態に基づいて、再送タイマ値が計算されて更新される。これにより、再送タイマ値と伝送遅延との乖離が大きい場合は、乖離を小さくするように再送タイマ値を計算することができる。また、乖離が小さい場合は、再送タイマ値と伝送遅延とを適切な間隔に保つように再送タイマ値を計算することができる。従って、本発明に係る通信装置によれば、伝送遅延が急激に変動した場合であっても二重再送や無通信状態の増加を防止することを可能とする、適切な再送タイマ値を設定することができる。
【００１０】
再送タイマ値計算手段は、再送タイマ値を計算する複数の再送タイマ値計算式を記憶しており、乖離状態に基づいて再送タイマ値の計算に用いる再送タイマ値計算式を選択して、選択した再送タイマ値計算式に基づいて当該再送タイマ値を計算することが望ましい。この構成によれば、容易かつ確実に本発明を実施することができる。
【００１１】
再送タイマ値計算手段は、設定された再送タイマ値が伝送遅延に基づいて設定される閾値を超えているか判断すると共に、当該閾値を超えていると判断される場合に選択される再送タイマ値計算式として、設定された再送タイマ値に予め定められた減衰係数を積算した値を更新される再送タイマ値とする式を記憶し、閾値を超えていないと判断される場合に選択される再送タイマ値計算式として、伝送遅延計測手段により計測される伝送遅延と予め定められたマージン値との和を少なくとも下回らない値を更新される再送タイマ値とする式を記憶したことが望ましい。この構成によれば、より確実に適切な再送タイマ値を設定することができる。
【００１２】
伝送遅延計測手段により計測された伝送遅延の履歴を、相手先装置毎に記憶する伝送遅延履歴管理手段を更に備え、再送タイマ値計算手段は、伝送遅延履歴管理手段により記憶された伝送遅延の履歴を取得して、当該伝送遅延の履歴を用いて再送タイマ値を計算する、ことが望ましい。この構成によれば、再送タイマ値の計算に伝送遅延の履歴が考慮されるので、更に適切な再送タイマ値を設定することができる。
【００１３】
再送タイマ値計算手段は、伝送遅延履歴管理手段に記憶された伝送遅延の履歴から伝送遅延の変動量を算出して、計算した再送タイマ値に補正が必要か否かを、当該変動量を含む予め設定された判定ルールに基づいて判定して、補正が必要であると判定された場合、当該変動量に基づいて当該計算した再送タイマ値を補正することが望ましい。この構成によれば、更に確実にデータの二重送信を防止することができる。
【００１４】
ところで、本発明は、上記のように通信装置の発明として記述できる他に、以下のように通信システム及び送信制御方法の発明としても記述することができる。これはカテゴリ等が異なるだけで、実質的に同一の発明であり、同様の作用及び効果を奏する。
【００１５】
即ち、本発明に係る通信システムは、通信装置と、当該通信装置からデータが送信される１台以上の相手先装置とを含んで構成される通信システムであって、通信装置は、通信網を介して相手先装置にデータを送信する送信手段と、送信手段によるデータの送信に応じて相手先装置から送信される確認応答を受信する確認応答受信手段と、送信手段により相手先装置にデータを送信してから、確認応答受信手段により相手先装置から確認応答を受信するまでの時間を、当該相手先装置毎に伝送遅延として計測する伝送遅延計測手段と、送信手段により相手先装置にデータを送信してから、当該相手先装置毎に設定された再送タイマ値内に、確認応答受信手段により確認応答が受信されていないことを検出して、相手先装置にデータを再送するように送信手段を制御する再送制御手段と、設定された再送タイマ値と伝送遅延計測手段により計測された伝送遅延との乖離状態に基づいて、当該相手先装置毎に再送タイマ値を計算して更新する再送タイマ値計算手段と、を備え、相手先装置は、通信網を介して通信装置から送信されるデータを受信する受信手段と、受信手段によりデータが受信されると、確認応答を通信装置に送信する確認応答送信手段と、を備える、ことを特徴とする。
【００１６】
また、本発明に係る送信制御方法は、通信網を介して相手先装置にデータを送信する送信ステップと、送信ステップにおけるデータの送信に応じて相手先装置から送信される確認応答を受信する確認応答受信ステップと、送信ステップにおいて相手先装置にデータを送信してから、確認応答受信ステップにおいて相手先装置から確認応答を受信するまでの時間を、当該相手先装置毎に伝送遅延として計測する伝送遅延計測ステップと、送信ステップにおいて相手先装置にデータを送信してから、当該相手先装置毎に設定された再送タイマ値内に、確認応答受信ステップにおいて確認応答が受信されていないことを検出して、相手先装置にデータを再送するように制御する再送制御ステップと、設定された再送タイマ値と伝送遅延計測ステップにおいて計測された伝送遅延との乖離状態に基づいて、当該相手先装置毎に再送タイマ値を計算して更新する再送タイマ値計算ステップと、を含むことを特徴とする。
【発明の効果】
【００１７】
本発明では、再送タイマ値と伝送遅延との乖離が大きい場合は、乖離を小さくするように再送タイマ値を計算することができる。また、乖離が小さい場合は、再送タイマ値と伝送遅延とを適切な間隔に保つように再送タイマ値を計算することができる。従って、本発明によれば、伝送遅延が急激に変動した場合であっても二重再送や無通信状態の増加を防止することを可能とする、適切な再送タイマ値を設定することができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面とともに本発明に係る通信装置、通信システム及び送信制御方法の好適な実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００１９】
図１に本発明の実施形態に係る通信装置であるサーバ４００と、サーバ４００と、サーバ４００の相手先装置であり、通信網１，２を介してデータを送受信するクライアント端末１００を含んで構成される通信システム１０を示す。また、通信システム１０は、サーバ４００とクライアント端末１００との間の通信の伝送路を構成する無線通信網１、有線通信網２、無線制御装置２００及びＰＯＩ（Point of Interface）３００を含んでいる。
【００２０】
無線通信網１は、無線制御装置２００を介してクライアント端末１００から無線接続により接続される通信網である。無線通信網１は、具体的には例えば、無線制御装置２００により構成される無線ＬＡＮ（Local Area Network）に接続されたＷＡＮ（Wide Area Network）やＬＡＮ（Local Area Network）や、無線制御装置２００を含んで構成される携帯電話システムの交換ネットワークの形態をとる。
【００２１】
有線通信網２は、有線により接続される端末間の通信網である。有線通信網２には、サーバ４００が接続されている。また、有線通信網２は、ＰＯＩ３００を介して、無線通信網１に接続されている。有線通信網２は、具体的には例えば、ＬＡＮやインターネットの形態をとる。
【００２２】
クライアント端末１００は、ユーザにより用いられる通信機器であり、具体的には例えば、無線通信を行うことができる携帯電話機又は無線通信機能を有するノートＰＣ（Personal Computer）の端末の形態をとる。クライアント端末１００は、無線制御装置２００との間で無線リンクを確立することで無線通信を行う。クライアント端末１００は、より詳細に後述するように、サーバ４００から送信されたデータを受信する。また、サーバ４００からデータを受信した際に、当該データを受信したことを示す受信応答の信号をサーバに送信する。サーバ４００から送信されるデータは、例えば、Ｗｅｂデータ等のコンテンツデータである。クライアント端末１００は、サーバ４００との間でデータを送受信し、当該データを利用するＷｅｂブラウザ等のアプリケーションを備えている。なお、クライアント端末１００は図１には１つしか描かれていないが、通常、通信システム１０には複数のクライアント端末１００が含まれる。
【００２３】
図２にクライアント端末１００のハードウェア構成を示す。図２に示すように、クライアント端末１００は、ＣＰＵ（Central Processing Unit）１００１、主記憶装置であるＲＡＭ（Random Access Memory）１００２及びＲＯＭ１００３(ReadOnly Memory)、操作部１００４、無線通信部１００５、ディスプレイ１００６並びにアンテナ１００７等のハードウェアにより構成されている。これらの構成要素が動作することにより、上記の機能、及び後述するクライアント端末１００の各機能が発揮される。
【００２４】
無線制御装置２００は、クライアント端末１００と無線リンク３を確立して、クライアント端末１００に無線通信網１に接続させる装置である。即ち、無線制御装置２００は、クライアント端末１００と無線通信網１との間の無線インターフェースとして機能する。無線制御装置２００は、具体的には例えば、無線ＬＡＮのアクセスポイント（ＡＰ）や携帯電話システムの基地局装置の形態をとる。
【００２５】
ＰＯＩ３００は、無線通信網１と有線通信網２とを相互に接続する装置である。ＰＯＩ３００は、具体的には例えば、ルータ装置の形態をとる。
【００２６】
サーバ４００は、クライアント端末１００に送信するデータを格納しており、当該データをクライアント端末１００からの要求等に応じて送信する装置である。データの送信の一形態としてコンテンツを配信するものがある。サーバ４００は、具体的には例えば、ＷｅｂサーバやＦＴＰ（File Transfer Protocol）サーバの形態をとる。サーバ４００は有線通信網２に接続されており、有線通信網２、ＰＯＩ３００、無線通信網１、無線制御装置２００を順に介してクライアント端末１００との間で通信を行う。サーバ４００は、より詳細には後述するように、データの再送制御を行う。具体的には、クライアント端末１００にデータを送信してから、再送タイマ値までの時間にクライアント端末１００から当該データの送信に応じた確認応答が受信されない場合、再度同じデータをクライアント端末１００に送信する。
【００２７】
図３に、サーバ４００のハードウェア構成を示す。図３に示すように、サーバ４００は、ＣＰＵ４００１、主記憶装置であるＲＡＭ４００２及びＲＯＭ４００３、通信を行うための通信モジュール４００４、並びにハードディスク等の補助記憶装置４００５等のハードウェアを備えるコンピュータとして構成される。これらの構成要素が動作することにより、上記の機能、及び後述するサーバ４００の各機能が発揮される。
【００２８】
続いて、図４に通信システム１０のプロトコルスタックを示す。クライアント端末１００、無線制御装置２００、ＰＯＩ３００及びサーバ４００間では、レイヤ１及びレイヤ２に従って通信が行われる。また、クライアント端末１００とサーバ４００との間は、ＩＰ（Internet Protocol）に従った通信が行われ、また、その上位ではＴＣＰに従った通信が行われ、更にその上位ではアプリケーション層のプロトコル（ＡＰＬ）に従った通信が行われる。ＴＣＰでは、上述したようにデータ送信毎に確認応答を待つ通信、即ち確認型通信が行われる。
【００２９】
引き続いて、本実施形態に係るクライアント端末１００及びサーバ４００の機能構成について説明する。図５に示すようにクライアント端末１００は、無線インターフェース１０１と、ＩＰ処理部１０２と、アプリケーション処理部１０３と、ＴＣＰ処理部１０４とを備えて構成される。
【００３０】
無線インターフェース１０１は、無線通信網１とのインターフェースとして機能する手段である。具体的には、無線インターフェース１０１は、無線制御装置２００との間に無線リンク３を確立して、無線制御装置２００を介して無線通信網１に接続する。無線インターフェース１０１は、アンテナ、高周波（ＲＦ）処理部及びベースバンド（ＢＢ）処理部等により構成される。
【００３１】
ＩＰ処理部１０２は、無線通信網１から通知されたアドレス、又はユーザがクライアント端末１００に設定した一意のアドレスによって、無線通信網１及び有線通信網２におけるクライアント端末１００の識別機能を提供する手段である。
【００３２】
アプリケーション処理部１０３は、Ｗｅｂブラウザ、ＦＴＰクライアント、メールクライアント等、ユーザが利用するアプリケーションを実行する手段である。
【００３３】
ＴＣＰ処理部１０４は、アプリケーション処理部１０３からの指示等により、通信網を介してサーバ４００から送信されるデータを受信する受信手段である。ＴＣＰ処理部１０４は、受信したデータをアプリケーション処理部１０３に出力する。ＴＣＰ処理部１０４は、データを受信すると、データの受信結果を示す確認応答（Ａｃｋ）をサーバ４００に送信する確認応答送信手段でもある。また、ＴＣＰ処理部１０４は、ＴＣＰに従ったサーバ４００へのデータの送信も行う。その他、ＴＣＰ処理部１０４は、ＴＣＰに従った再送制御、輻輳制御により信頼性の高い通信を可能とする機能を有する。なお、ＴＣＰ処理部１０４によるデータの送受信は、無線インターフェース１０１により確立された無線リンク３を介して行われ、ＩＰ処理部１０２による識別機能が提供された上で行われる。以上が、クライアント端末１００の構成である。
【００３４】
続いて、サーバ４００の機能構成について説明する。図６に示すようにサーバ４００は、ネットワークインターフェース４０１と、ＩＰ処理部４０２と、アプリケーション処理部４０３と、ＴＣＰ送受信部４０４と、伝送遅延計測部４０５と、再送制御部４０６と、伝送遅延履歴データベース４０７と、乖離状態判定部４０８と、再送タイマ値計算部４０９とを備えて構成される。
【００３５】
ネットワークインターフェース４０１は、有線通信網２との接続を確立して有線通信網２とのインターフェースとして機能する手段である。ネットワークインターフェース４０１は、具体的には例えば、Ethernet（登録商標）インターフェースの形態をとる。
【００３６】
ＩＰ処理部４０２は、有線通信網２から通知されたアドレス又はユーザがサーバ４００に設定した一意のアドレスによって、無線通信網１及び有線通信網２におけるサーバ４００の識別機能を提供する手段である。
【００３７】
アプリケーション処理部４０３は、Ｗｅｂサーバ、ＦＴＰサーバ、メールサーバ等のアプリケーションを実行して、クライアント端末１００からの要求等に応じて、サーバ４００のサーバ機能を提供する手段である。具体的には、アプリケーション処理部４０３は、クライアント端末１００からの要求に応じたデータをクライアント端末１００に送信することでサーバ機能を提供する。送信するデータはＴＣＰ送受信部４０４に出力されて、データの送信はＴＣＰ送受信部４０４によって行われる。
【００３８】
ＴＣＰ送受信部４０４は、相手先装置であるクライアント端末１００にデータを送信する送信手段である。データの送信は、例えば、アプリケーション処理部４０３からの指示により行われ、パケット単位で行われる。データを送信するとＴＣＰ送受信部４０４は、データを送信した時刻の情報をデータ送信時間として、伝送遅延計測部４０５及び再送制御部４０６に通知する。また、ＴＣＰ送受信部４０４は、データの送信に応じてクライアント端末１００から送信される確認応答を受信する確認応答受信手段である。確認応答を受信すると、ＴＣＰ送受信部４０４は、確認応答を受信した時刻の情報を確認応答受信時間として、伝送遅延計測部４０５及び再送制御部４０６に通知する。データ送信時間及び確認応答受信時間の出力は、データ及びクライアント端末１００を特定できるようにして行なわれる。具体的には、データ送信時間及び確認応答受信時間の出力は、データ送信に係るクライアント端末１００のＩＰアドレス及びデータの識別子に対応付けて行われる。
【００３９】
なお、ＴＣＰ処理部１０４によるデータの送受信は、ネットワークインターフェース４０１を通じて、有線通信網２、ＰＯＩ３００、無線通信網１及び無線制御装置２００を介して行われる。また、データの送受信は、ＩＰ処理部４０２による識別機能が提供された上で行われる。
【００４０】
伝送遅延計測部４０５は、ＴＣＰ送受信部４０４がクライアント端末１００にデータを送信してから、確認応答を受信するまでの時間を伝送遅延として計測する伝送遅延計測手段である。伝送遅延計測部４０５は、具体的には、ＴＣＰ送受信部４０４から通知されたデータ送信時間と確認応答受信時間との差分を伝送遅延として算出（計測）する。この算出は、クライアント端末１００毎に行われる。伝送遅延計測部４０５は、計測した伝送遅延の情報を、クライアント端末１００を特定する情報に対応付けて、伝送遅延履歴データベース４０７及び乖離状態判定部４０８に出力する。
【００４１】
再送制御部４０６は、ＴＣＰ送受信部４０４がクライアント端末１００にデータを送信してから、再送タイマ値内に確認応答が受信されていないことを検出して、クライアント端末１００に当該確認応答が受信されていないデータを再送するようにＴＣＰ送受信部４０４を制御する再送制御手段である。再送タイマ値は、クライアント端末１００毎に設定される値であり、再送制御部４０６に記憶されている。具体的には再送制御部４０６は、ＴＣＰ送受信部４０４から通知されたデータ送信時間から再送判定タイマによる時間の測定を開始し、当該データに係る確認応答受信時間が再送タイマ値までに通知されなかった場合に、ＴＣＰ送受信部４０４に対して再送の制御を行う。
【００４２】
伝送遅延履歴データベース４０７は、伝送遅延計測部４０５により計測された伝送遅延を示す情報の履歴を、クライアント端末１００毎に記憶する伝送遅延履歴管理手段である。伝送遅延履歴データベース４０７は、クライアント端末１００毎に最新の伝送遅延を示す情報から遡ってＮ回目までの伝送遅延を示す情報を「Ｍ回前：○○ｍｓ」という形式で記憶する。
【００４３】
乖離状態判定部４０８は、再送制御部４０６に設定された再送タイマ値と伝送遅延計測部に４０５から入力された伝送遅延との乖離状態を判定する再送タイマ値計算手段の一機能である。乖離状態の判定はデータ毎に行われる。なお、再送タイマ値は、再送制御部４０６と同様に乖離状態判定部４０８に記憶されている。
【００４４】
具体的には例えば、乖離状態判定部４０８は、以下のような乖離状態を判定するルールで、乖離状態が“乖離”、“通常”及び“タイムアウト”の何れであるかを判定する。乖離状態が“乖離”とは、再送タイマ値が伝送遅延より非常に大きいことを示している。乖離状態が“通常”とは、再送タイマ値が伝送遅延より非常に大きくはないが、伝送遅延より大きいことを示している。乖離状態が“タイムアウト”とは、再送タイマ値が伝送遅延より小さい、又はデータの送受信に障害が発生して確認応答が受信されなかったことを示している。即ち、乖離状態が“タイムアウト”とは、データの再送が発生したことを示している。
【００４５】
乖離状態を判定するルールとしては例えば、以下のように伝送遅延に基づいて設定される閾値を設定した判定式を含むものが用いられる。
再送タイマ値＞計測した伝送遅延×判定係数
を満たす場合は“乖離”と判断する。ここで判定係数は予め乖離状態判定部４０８に記憶されている値であり、再送タイマ値が伝送遅延からどの程度離れていれば乖離と判断するかの基準となる値である。判定係数は、例えば、２程度の値が用いられる。
再送タイマ値＜計測した伝送遅延
を満たす場合は“タイムアウト”と判断する。また、データの送受信に障害が発生して伝送遅延が計測されなかった場合も“タイムアウト”と判断する。“乖離”及び“タイムアウト”の何れでもない場合は“通常”と判断する。乖離状態判定部４０８は、判定した乖離状態を示す情報を、クライアント端末１００を特定する情報に対応付けて再送タイマ値計算部４０９に出力する。
【００４６】
再送タイマ値計算部４０９は、クライアント端末１００毎に再送タイマ値を計算して、再送制御部４０６に設定されている再送タイマ値を更新する再送タイマ値計算手段である。具体的には、以下に述べるように、再送タイマ値計算部４０９は、再送タイマ値を計算する複数の再送タイマ値計算式を記憶しており、乖離状態判定部４０８から入力された情報に係る乖離状態に基づいて再送タイマ値の計算に用いる再送タイマ値計算式を選択して、選択した再送時間計算式に基づいて当該再送タイマ値を計算する。即ち、再送タイマ値計算部４０９は、“乖離”、“通常”及び“タイムアウト”の乖離状態に応じた３つの再送タイマ値計算式を記憶している。
【００４７】
乖離状態が“乖離”であった場合には以下の再送タイマ値計算式が用いられる。
再送タイマ値＝ＲＴＯ減衰係数×現在の（計算前の）再送タイマ値
ここで、ＲＴＯ減衰係数は、予め定められて再送タイマ値計算部４０９に記憶された数値である。ＲＴＯ減衰係数は、具体的には、０．８５程度の数値が用いられる。即ち、再送タイマ値を８５％にするものである。上記の再送タイマ値計算式は、再送タイマ値を伝送遅延に対して接近しない程度に大きく減少させることを意図したものである。
【００４８】
乖離状態が“通常”であった場合には以下の再送タイマ値計算式が用いられる。乖離状態が“通常”である場合には、蓄積ＲＴＴ（Round Trip Time）変動量を再送タイマ値の計算に用いるため、伝送遅延が計測される毎に蓄積ＲＴＴ変動量を計算しておく。蓄積ＲＴＴ変動量は、計測した伝送遅延から前回の伝送遅延を引いた値を自身に足しこんだ値として算出される。即ち、
蓄積ＲＴＴ変動量＋＝（計測した伝送遅延−前回の伝送遅延）
である。前回の伝送遅延を示す情報は、伝送遅延履歴データベース４０７から取得される。なお、蓄積ＲＴＴ変動量は、再送タイマ値の計算が行われて更新された場合にクリアされる（蓄積ＲＴＴ変動量＝０とする）。
【００４９】
この蓄積ＲＴＴ変動量が以下の条件を満たす場合、再送タイマ値の計算が行われる。なお、条件を満たさない場合は再送タイマ値の計算は行われず更新も行われない。
｜蓄積ＲＴＴ変動量｜＞ＲＴＴ追従感度
ここで、ＲＴＴ追従感度は、予め定められて再送タイマ値計算部４０９に記憶された数値である。ＲＴＴ追従感度は、具体的には３０ｍｓ程度の値が用いられる。上記の条件は、再送タイマ値が計算されて更新された後、計測した伝送遅延が大きく変動していなければ、改めて再送タイマ値を計算しなおす必要がないため、計算しないという意図によるものである。
【００５０】
再送タイマ値の計算が行われる場合は、以下の再送タイマ値計算式が用いられる。
再送タイマ値＝ｍａｘ（現在の（計算前の）再送タイマ値＋蓄積ＲＴＴ変動量，
計測した伝送遅延＋最低マージン）
ここで、最低マージンは、予め定められて再送タイマ値計算部４０９に記憶された数値である。最低マージンは、具体的には４０ｍｓ程度の値が用いられる。また、ｍａｘ（Ａ，Ｂ）は、Ａ及びＢの何れか大きいものを関数値とする関数である。上記の計算を行うかの条件を含む再送タイマ値計算式は、伝送遅延の変動状況に応じて、再送タイマ値を伝送遅延に対して接近しすぎないようにすることを意図したものである。
【００５１】
乖離状態が“タイムアウト”であった場合には以下の再送タイマ値計算式が用いられる。
再送タイマ値＝計測した伝送遅延＋最低マージン
ここで、最低マージンは乖離状態が“通常”の場合の再送タイマ値計算式と同様のものである。上記の再送タイマ値計算式は、現在の伝送遅延に対して一定量（伝送遅延と再送タイマ値との間の乖離量として統計上最低限必要な量）を増加させることを意図したものである。
【００５２】
上記のように乖離状態が“通常”及び“タイムアウト”である場合は、計算される再送タイマ値は、計測される伝送遅延と予め定められたマージン値（最低マージン）との和を少なくとも下回らない値とされる。再送タイマ値を、必ず計測される伝送遅延よりもマージン値分だけ大きな値とすることによって適切な再送タイマ値とするためである。
【００５３】
再送タイマ値計算部４０９は、計算した再送タイマ値で再送制御部４０６における再送タイマ値を更新する。また、再送タイマ値計算部４０９は、計算した再送タイマ値を乖離状態の判定に用いられる再送タイマ値として、乖離状態判定部４０８に出力する。上記のような再送タイマ値計算式を用いることとすれば、より確実に適切な再送タイマ値を設定することができる。
【００５４】
なお、計算した再送タイマ値は補正することが好ましい場合があり、必要に応じて再送タイマ値計算部４０９は、計算した再送タイマ値の補正を行う。再送タイマ値の補正については後述する。以上が、サーバ４００の構成である。
【００５５】
引き続いて、図７のシーケンス図を用いて、通信システム１０に含まれるクライアント端末１００及びサーバ４００で実行される処理（送信制御方法）を説明する。
【００５６】
まず、サーバ４００では、ＴＣＰ送受信部４０４によって、クライアント端末１００にデータが送信される（Ｓ０１、送信ステップ）。このデータの送信は、例えば、クライアント端末１００においてユーザのデータを取得する旨の入力がなされて、その入力をトリガとしてクライアント端末１００からサーバ４００に対してデータの取得要求が行われた場合に行われる。データの送信は、当該取得要求に応じてアプリケーション処理部４０３によって送信されるデータが決定されて、ＴＣＰ送受信部４０４にデータ送信の指示が行われることにより行われる。データの送信は、ネットワークインターフェース４０１を通じて、有線通信網２、ＰＯＩ３００、無線通信網１及び無線制御装置２００を介して行われる。
【００５７】
サーバ４００では、データの送信と同時に、ＴＣＰ送受信部４０４から伝送遅延計測部４０５及び再送制御部４０６にデータ送信時間が通知される（Ｓ０２）。続いて、データ送信時間が通知された再送制御部４０６では、再送制御タイマが起動されて、時間の測定が開始される（Ｓ０３、再送制御ステップ）。
【００５８】
一方、サーバ４００からデータが送信されたクライアント端末１００では、無線インターフェース１０１を通じてＴＣＰ処理部１０４によってデータが受信される（Ｓ０１、受信ステップ）。データが受信されると、ＴＣＰ処理部１０４によってサーバ４００に確認応答が送信される（Ｓ０４、確認応答送信ステップ）。データの送信は、無線インターフェース１０１を通じて、無線制御装置２００、無線通信網１、ＰＯＩ３００及び有線通信網２を介して行われる。ＴＣＰ処理部１０４によって受信されたデータはアプリケーション処理部１０３に出力されて、アプリケーション処理部１０３において利用される。
【００５９】
クライアント端末１００から確認応答が送信されたサーバ４００では、ネットワークインターフェース４０１を通じてＴＣＰ送受信部４０４によって確認応答が受信される（Ｓ０４、確認応答受信ステップ）。なお、確認応答から、どのデータ送信に対する確認応答であり、どのクライアント端末１００からの送信であるかを特定することができる。続いて、ＴＣＰ送受信部４０４から伝送遅延計測部４０５及び再送制御部４０６に確認応答時間が通知される（Ｓ０５）。続いて、確認応答時間が通知された再送制御部４０６によって、再送制御タイマが停止されて時間の測定が終了する（Ｓ０６、再送制御ステップ）。確認応答が受信されたことが、時間の計測開始から再送タイム値満了迄に通知されたので、再送は行われない。なお、時間の計測開始から再送タイム値満了迄に確認応答時間が通知されなかった場合、再送制御部４０６からＴＣＰ送受信部４０４に対してデータの再送の制御が行われて、データの再送が行われる。
【００６０】
一方、確認応答時間が通知された伝送遅延計測部４０５によって、データ送信時間と確認応答受信時間とから、データ送信に係る伝送遅延が計測される（Ｓ０７、伝送遅延計測ステップ）。計測された伝送遅延を示す情報は、伝送遅延計測部４０５から伝送遅延履歴データベース４０７及び乖離状態判定部４０８に出力される（Ｓ０８）。伝送遅延履歴データベース４０７では、入力された伝送遅延を示す情報によって記憶される履歴が更新される（Ｓ０９、伝送履歴管理ステップ）。
【００６１】
一方、伝送遅延を示す情報が入力された乖離状態判定部４０８によって、再送タイマ値と伝送遅延との乖離状態が判定される（Ｓ１０、再送タイマ値計算ステップ）。判定された乖離状態を示す情報は、乖離状態判定部４０８から再送タイマ値計算部４０９に入力される（Ｓ１１）。この入力の際に、再送タイマ値の計算に用いられる、現在の再送タイマ値や伝送遅延を示す情報を合わせて入力する。
【００６２】
続いて、再送タイマ値計算部４０９によって、入力された判定された乖離状態を示す情報に基づいて、再送タイマ値の計算に用いる再送タイマ値計算式が選択される（Ｓ１２、再送タイマ値計算ステップ）。続いて、選択された再送タイマ値計算式等に応じて、再送タイマ値の計算の必要に応じて、再送タイマ値計算部４０９によって、伝送遅延履歴データベース４０７から伝送遅延の履歴の情報が取得される（Ｓ１３、再送タイマ値計算ステップ）。続いて、再送タイマ値計算部４０９によって、選択された再送タイマ値計算式に基づいて、新たな再送タイマ値が計算される（Ｓ１４、再送タイマ値計算ステップ）。
【００６３】
続いて、再送タイマ値計算部４０９から再送制御部４０６及び乖離状態判定部４０８に、計算された新たな再送タイマ値が通知される（Ｓ１５、再送タイマ値計算ステップ）。再送制御部４０６では、新たな再送タイマ値が再送制御に用いる再送タイマ値として設定される（Ｓ１６、再送タイマ値計算ステップ）。即ち、新たな再送タイマ値によって再送タイマ値が更新される。一方、乖離状態判定部４０８では、新たな再送タイマ値が、次に乖離状態を求めるための再送タイマ値として記憶される（Ｓ１７）。なお、再送制御、並びに再送タイマ値の計算及び更新の処理は、上述したようにＩＰアドレス等により一意に特定されるクライアント端末１００毎に行われる。以上が、通信システム１０に含まれるクライアント端末１００及びサーバ４００で実行される処理である。この処理は、サーバ４００からクライアント端末１００にデータが送信される度に繰返される。
【００６４】
次に、再送タイマ値計算部４０９による、上述したように計算された再送タイマ値の補正について説明する。この補正は、図８のグラフにしめすように、計算された再送タイマ値が、次の伝送遅延よりも小さくなるおそれがある場合に行われる。なお、再送タイマ値が伝送遅延よりも小さくなると不要な再送が発生する。ここで、図８のグラフの横軸は、サーバ４００からクライアント端末１００にデータが送信された回数の軸であり、“ｎ”が現在（再送タイマ値計算時点）、“ｎ−１”が現在から１回前（過去）の伝送遅延計測時、“ｎ＋１”が現在から１回後（未来）の伝送遅延計測時を示す。また、図８のグラフの縦軸は伝送遅延及び再送タイマ値を示す時間軸である。
【００６５】
図８に示すように“ｎ”の時点で上述した方法により計算された再送タイマ値８１は、“ｎ−１”から“ｎ”への伝送遅延の変動量ΔＲＴＴと同様の大きさの“ｎ”から“ｎ＋１”への伝送遅延の変動があった場合、“ｎ＋１”の時点で伝送遅延８２よりも小さくなる。そこで、そのような伝送遅延８２となった場合でも、再送タイマ値が伝送遅延８２よりも小さくならないように、補正した再送タイマ値８３を計算する。具体的には、再送タイマ値計算部４０９によって以下の処理が行われる。
【００６６】
まず、予め設定されて再送タイマ値計算部４０９によって記憶された、以下の判定ルールに基づいて補正が必要か否か判定される。この判定には、以下の伝送遅延の変動量ΔＲＴＴを含む判定式が用いられる。この判定式を満たす場合、補正が必要であると判定される
ｍｉｎ（伝送遅延ＲＴＴ＋伝送遅延の変動量ΔＲＴＴ，伝送遅延ＲＴＴ＋上限補償量ΔＭＡＸ）＞計算された再送タイマ値
なお、伝送遅延の変動量ΔＲＴＴは、伝送遅延履歴データベース４０７の履歴の情報が参照されて以下の式により算出される。
伝送遅延の変動量ΔＲＴＴ＝計測した伝送遅延−前回の伝送遅延
また、上記の判定式において、上限補償量ΔＭＡＸは、予め再送タイマ値計算部４０９に記憶されている値であり、例えば統計的に導出された、伝送遅延の変動量がプラス方向に振れる範囲の９９％をカバーする値として設定される値である。また、ｍｉｎ（Ａ，Ｂ）は、Ａ及びＢの何れか小さいものを関数値とする関数である。
【００６７】
上記のように補正が必要であると判定された場合、予め設定されて再送タイマ値計算部４０９によって記憶された、以下の再送タイマ値計算式により補正した再送タイマ値８３が計算される。
再送タイマ値＝ｍｉｎ（伝送遅延ＲＴＴ＋伝送遅延の変動量ΔＲＴＴ，伝送遅延ＲＴＴ＋上限補償量ΔＭＡＸ）＋最低マージン
この計算は、図７の再送タイマ値の計算のステップ（Ｓ１４）において行われる。また、最低マージンは上述したものと同様のものが用いられる。
【００６８】
続いて、図９に本実施形態に係るサーバ４００において、伝送遅延に応じて更新される再送タイマ値の推移を示したグラフを示す。図９のグラフの横軸は、サーバ４００からクライアント端末１００にデータが送信された回数の軸であり、縦軸は伝送遅延及び再送タイマ値を示す時間軸である。図９では、従来方式により更新される再送タイマ値を示している。従来方式では、再送タイマ値ＲＴＯは以下の式により算出される。
ｄｉｆｆ＝｜（ｓｒｔｔ−ｒｔｔ）｜
ｄｅｖ＝３／４×ｄｅｖ＋１／４×ｄｉｆｆ
ｓｒｔｔ＝７／８×ｓｒｔｔ＋１／８×ｒｔｔ
再送タイマ値ＲＴＯ＝ｓｒｔｔ＋４×ｄｅｖ
ここで、ｒｔｔは計測された伝送遅延の値を、ｓｒｔｔはｒｔｔの平均値（初期値＝０）を、ｄｉｆｆはｓｒｔｔとｒｔｔとの差の絶対値を、ｄｅｖは伝送遅延の偏差の平均値（初期値は最初のｒｔｔが１００以下である場合は２００、それ以外の場合はｒｔｔ×２である）をそれぞれ示している。
【００６９】
従来方式では、伝送遅延の平均値と偏差（伝送遅延の計測値と平均値の差分の絶対値）とが一定の重み付けで再送タイマ値に反映され、本実施形態のように現在の再送タイマ値が更新する再送タイマ値に影響を与えることはない。
【００７０】
図９に示すように、伝送遅延の変動が少ないパケット送信回数がＮ１，Ｎ３，Ｎ５の範囲では、本実施形態では再送タイマ値は、伝送遅延と一定の距離をとった値となっている（乖離状態は通常である）。一方、従来方式でも、伝送遅延があまり変動しないので伝送遅延の平均値に少しのマージンを加えた値となる。
【００７１】
伝送遅延が急激に増加するパケット送信回数がＮ２の範囲でも、本実施形態では再送タイマ値は、伝送遅延と一定の距離をとった値となっている（乖離状態は“通常”である）。一方、従来方式では、伝送遅延が再送タイマ値を超えるためタイムアウトが発生してデータの再送が行われる。ここでは、データがロス（パケットロス）した訳ではなく、伝送遅延が増大しただけであるので、不要なデータの再送となる。
【００７２】
伝送遅延が急激に減少するパケット送信回数がＮ４の範囲では、本実施形態では乖離状態が“乖離”であると判定され大幅に減少されるため、再送タイマ値は、伝送遅延とほぼ一定の距離をとった値となっている。一方、従来方式では、伝送遅延が急激に増加したことによって、伝送遅延の偏差が大きくなるため、再送タイマ値もそれに応じて不必要に大きく上昇している。このタイミングで、データのロス（パケットロス）が発生すると、再送タイミングが遅くなり、無通信時間が長大化し、ユーザ体感速度が低下する。
【００７３】
上述したように、本実施形態では、設定された再送タイマ値と伝送遅延との乖離状態に基づいて、再送タイマ値が計算されて更新される。これにより、再送タイマ値と伝送遅延との乖離が大きい場合は、乖離を小さくするように再送タイマ値を計算することができる。また、乖離が小さい場合は、再送タイマ値と伝送遅延とを適切な間隔に保つように再送タイマ値を計算することができる。従って、本実施形態によれば、伝送遅延が急激に変動した場合であっても二重再送や無通信状態の増加を防止することを可能とする、適切な再送タイマ値を設定することができる。
【００７４】
また、本実施形態のように、再送タイマ値計算式を予めサーバ４００に記憶させておき乖離状態に応じて用いる再送タイマ値計算式を選択して、選択された再送タイマ値計算式に基づいて再送タイマ値を構成することとすれば、容易かつ確実に本発明を実施することができる。
【００７５】
また、本実施形態のように、伝送遅延の履歴を記憶した伝送遅延履歴データベース４０７を設け、再送タイマ値を計算する際に計測された伝送遅延だけでなく、それ以前の伝送遅延を再送タイマ値の計算に用いることとすれば、再送タイマ値の計算に伝送遅延の履歴が考慮されるので、伝送遅延の変動状況に対して更に適切かつ高精度な再送タイマ値を設定することができる。
【００７６】
また、本実施形態のように、再送タイマ値計算式で計算された再送タイマ値を必要に応じて補正することとすれば、更に確実にデータの二重送信を防止することができる。
【図面の簡単な説明】
【００７７】
【図１】本発明の実施形態に係る通信装置であるサーバを含む通信システムの構成を示す図である。
【図２】本発明の実施形態に係る相手先装置であるクライアント端末のハードウェア構成を示す図である。
【図３】本発明の実施形態に係る通信装置であるサーバのハードウェア構成を示す図である。
【図４】通信システムのプロトコルスタックを示す図である。
【図５】本発明の実施形態に係る相手先装置であるクライアント端末の機能構成を示す図である。
【図６】本発明の実施形態に係る通信装置であるサーバの機能構成を示す図である。
【図７】本発明の実施形態に係る通信システムに含まれるクライアント端末及びサーバで実行される処理（送信制御方法）を示すシーケンス図である。
【図８】計算された再送タイマ値、伝送遅延の変動量、及び補正後の再送タイマ値の関係を示すグラフである。
【図９】実施形態に係るサーバ４００において、伝送遅延に応じて更新される再送タイマ値の推移を示したグラフである。
【符号の説明】
【００７８】
１…無線通信網、２…有線通信網、１０…通信システム、１００…クライアント端末、１０１…無線インターフェース、１０２…ＩＰ処理部、１０３…アプリケーション処理部、１０４…ＴＣＰ処理部、１００１…ＣＰＵ、１００２…ＲＡＭ、１００３…ＲＯＭ、１００４…操作部、１００５…無線通信部、１００６…ディスプレイ、１００７…アンテナ、２００…無線制御装置、３００…ＰＯＩ、４００…サーバ、４０１…ネットワークインターフェース、４０２…ＩＰ処理部、４０３…アプリケーション処理部、４０４…ＴＣＰ送受信部、４０５…伝送遅延計測部、４０６…再送制御部、４０７…伝送遅延履歴データベース、４０８…乖離状態判定部、４０９…再送タイマ値計算部、４００１…ＣＰＵ、４００２…ＲＡＭ、４００３…ＲＯＭ、４００４…通信モジュール、４００５…補助記憶装置。
【図１】
2008219408.tif 000003
【図２】
2008219408.tif 000004
【図３】
2008219408.tif 000005
【図４】
2008219408.tif 000006
【図５】
2008219408.tif 000007
【図６】
2008219408.tif 000008
【図７】
2008219408.tif 000009
【図８】
2008219408.tif 000010
【図９】
2008219408.tif 000011