(57)【要約】【課題】ＴＣＰを改変することなしにスプリアス再送の発生を低減させる。【解決手段】パケット中継装置１２は、移動端末１０からデータを受信すると、受信したデータに基づき、サーバ１４において設定される状態変数を推定する。そして、状態変数の推定値に基づいて遅延量を算出し、この遅延量に従ってパケット転送を遅延させる。【選択図】      図２
2005005905.tif 000002
【特許請求の範囲】
【請求項１】
送信端末から受信端末へ、ＴＣＰプロトコルに従って送信されたデータを中継する中継装置であって、
前記データを受信する受信手段と、
前記受信手段により受信されたデータに基づいて、前記送信端末において設定される状態変数を推定する推定手段と、
前記推定手段により得られた状態変数の推定値に基づいて、転送遅延量を決定する遅延量決定手段と、
前記受信手段によって受信されたデータを、前記遅延量決定手段により決定された遅延量に従い遅延して前記受信端末へ送信する転送手段と
を備えることを特徴とする中継装置。
【請求項２】
前記遅延量決定手段は、前記送信端末において設定すべき遅延時間である目標遅延時間を決定し、該決定された目標遅延時間を用いて前記遅延量を決定することを特徴とする請求項１に記載の中継装置。
【請求項３】
前記送信端末と前記受信端末とは、通信品質が時間的に変動する通信網を介して通信を行い、
前記目標遅延時間は前記通信網の通信品質に応じて設定される
ことを特徴とする請求項２に記載の中継装置。
【請求項４】
送信端末から受信端末へＴＣＰプロトコルに従って送信されたデータを転送する方法であって、
前記データを受信するステップと、
該受信されたデータに基づいて、前記送信端末において設定される状態変数を推定するステップと、
該設定された状態変数の推定値に基づいて、遅延量を決定するステップと、
該決定された遅延量に従って、当該受信されたデータを遅延して前記受信端末へ送信するステップと
を備えることを特徴とするデータ転送方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＴＣＰプロトコルに従って通信が行われる通信システムにおいて、データの転送を行う中継装置およびその転送方法に関する。
【０００２】
【従来の技術】
ＴＣＰ（Ｔｒａｎｓｐｏｒｔ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）に従った通信においては、送信したデータに対する確認応答（ＡＣＫ）を受信するまでの時間（ＲＴＴ；Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）を測定し、測定されたＲＴＴの変化に応じて再送タイマ値が決定される。これにより、通信状況に合わせて不要な再送の発生は最小限に抑えられている。
【０００３】
しかしながら、特に、リンク層で再送制御を行う無線通信システムにおいては、無線通信状態の悪化に伴いリンクレイヤでの再送が繰り返される等の現象により、パケット到達時間が急激に増加することがある。この場合、ＲＴＴの変急激な変化に再送タイマ値の設定が追随できずに、再送タイムアウトが発生してしまう。
【０００４】
この再送タイムアウトが発生すると、スロー・スタートによるデータ・セグメント再送が行われる。この際、ＴＣＰ通信においては、オリジナル・セグメントに対するＡＣＫが再送セグメントに対するＡＣＫであると誤って判断され、いわゆるｇｏ−ｂａｃｋ−Ｎ再送によって後続の再送セグメントを送信する無駄な送信（スプリアス再送）が発生する。
【０００５】
このようなスプリアス再送を抑制する技術として，ＴＣＰオプションまたは，統計情報を用いたスプリアス再送を抑制するためのアルゴリズムが提案されている。例えば、非特許文献１においては、ＴＣＰのタイムスタンプ・オプションを用いることによりセグメント再送後に届くＡＣＫがタイムアウト前のオリジナル・セグメントに対するものか再送によるものかを判別し、オリジナル・セグメントに対するＡＣＫであればスプリアス再送を中止するというアルゴリズムが開示されている。
【０００６】
また、非特許文献２には、オリジナル・セグメントに対するＡＣＫの多くはタイムアウト後のセグメント再送から１／２ＲＴＴｍｉｎ時間以内に到着しているという事実を利用し、再送タイムアウト後から一定時間以内にＡＣＫが到着した場合、スプリアス再送を中止するアルゴリズムが開示されている。
【０００７】
【非特許文献１】
Ｌｕｔｗｉｇ  ｅｔ．  ａｌ    ＳＩＧＣＯＭＭ  Ｃｏｍｐｕｔｅｒ  Ｃｏｍｍ．  Ｒｅｖｉｅｗ  ｖｏｌ．  ３０，  Ｎｏ．１，  Ｊａｎｕａｒｙ  ２０００
【非特許文献２】
Ａｌｌｍａｎ  ｅｔ．  ａｌ    ＳＩＧＣＯＭＭ  Ｃｏｍｐｕｔｅｒ  Ｃｏｍｍ．  Ｒｅｖｉｅｗ  ｖｏｌ．  ２９，  Ｎｏ．５，  Ｏｃｔ  １９９９
【０００８】
【発明が解決しようとする課題】
しかしながら、これらのアルゴリズムを用いても、またスプリアス再送発生が判明した時点でスプリアス再送を中止するように動作するため、スプリアス再送を完全になくすことはできない。
【０００９】
これらの事情に鑑み、ＴＣＰがスプリアス再送を行わないようにするために、ＴＣＰの再送アルゴリズムそれ自体を改良することも考えられる。しかしながら、この場合、従来のＴＣＰとの間の間で互換性等の問題が生ずる虞があり、不都合が多い。
【００１０】
本発明は、通信品質が時間的に変動する通信システムにおいて、ＴＣＰの再送アルゴリズムを改変することなしにスプリアス再送を低減させることを目的とする。
【００１１】
【課題を解決するための手段】
上記課題を解決するために、本発明は、送信端末から受信端末へ、ＴＣＰプロトコルに従って送信されたデータを中継する中継装置であって、前記データを受信する受信手段と、前記受信手段により受信されたデータに基づいて、前記送信端末において設定される状態変数を推定する推定手段と、前記推定手段により得られた状態変数の推定値に基づいて、転送遅延量を決定する遅延量決定手段と、当該データを、前記遅延量決定手段により決定された遅延量に従い当該受信されたデータを遅延して前記受信端末へ送信する転送手段とを備えることを特徴とする中継装置を提供する。
【００１２】
好ましい態様において、前記遅延量決定手段は前記送信端末において設定すべき遅延時間である目標遅延時間を決定し、該決定された目標遅延時間を用いて前記遅延量を決定する。
【００１３】
更に好ましい態様において、前記送信端末と前記受信端末とは通信品質が時間的に変動する通信網を介して通信を行い、前記目標遅延時間は前記通信網の通信品質に応じて設定される。
【００１４】
また、本発明は、送信端末から受信端末へＴＣＰプロトコルに従って送信されたデータを転送する方法であって、前記データを受信するステップと、
受信されたデータに基づいて、前記送信端末において設定される状態変数を推定するステップと、前記推定手段により得られた状態変数の推定値に基づいて、転送遅延量を決定するステップと、当該データを、前記遅延量決定手段により決定された遅延量に従い当該受信されたデータを遅延して前記受信端末へ送信するステップとを備えることを特徴とするデータ転送方法を提供する。
【００１５】
【発明の実施の形態】
以下、図面を参照しつつ、本発明の実施例について説明する。
＜１．構成＞
図１は、本発明の実施例に係る通信システムの構成を示す機能ブロック図である。同図に示されるように、本実施形態は、移動端末１０と基地局１１とパケット中継装置１２とインターネット１３とサーバ１４とから構成される。移動端末１０は、基地局１１とパケット中継装置１２とインターネット１３を介し、ＴＣＰに従った通信を行う。なお、移動端末１０および基地局１１は複数存在するが、説明の便宜上、移動端末１０および基地局１１がそれぞれ代表するものとする。
【００１６】
ここで、移動端末１０と基地局１１との間の通信は無線区間を介して行われるため、その伝送速度は時間と共に変化する。さらに、この区間の通信においては、伝送誤り補償のために無線フレーム単位の再送が行われる。これらの要因により、移動端末１０とサーバ１４との間の通信において、伝送遅延が時間と共に変化するのだけではなく、しばしば伝送遅延の急激な変動が生じる。
【００１７】
サーバ１４は通常のＴＣＰに従った通信を行い、測定用パケットを送受信することにより状態変数を設定する。ここで状態変数とは、再送タイマ値の設定に関連する変数であり、遅延量（ｄｅｌｔａ）、平滑化ＲＴＴ（ＳＲＴＴ）、平均偏差（ＲＴＴＶＡＲ）等である。
【００１８】
図２はパケット中継装置１２の機能構成を表すブロック図である。
サーバから移動端末１０宛に送信されたパケットは、下りパケット受信部１２４にて受信され、下りパケット送信部１２５に渡される。移動端末１０からサーバ宛に送信されたパケットは、上りパケット受信部１２０にて受信されパケット遅延部１２１に渡される。上りパケット遅延部１２１は、受信したパケットを、ＴＣＰコネクション識別部１２３によって算出された状態変数の推定値に応じた分だけ遅延させたのち、上りパケット送信部１２２に渡す。
【００１９】
ＴＣＰコネクション識別部１２３は、「移動端末１０から送信され上りパケット受信部１２０にて受信されたセグメントは、必ずサーバ１４にて受信されたのち、サーバ１４において状態変数が更新される」と仮定する。そして、サーバ１４において更新される状態変数の値を推定する。さらに、ＴＣＰコネクション識別部１２３は、状態変数の推定値に対する目標値（ｄｅｌｔａＴＡＲＧＥＴ）を設定する。
【００２０】
パケット遅延部１２１は、ＴＣＰコネクション識別部１２３により算出された状態変数の推定値が、同じくＴＣＰコネクション識別部１２３により設定された状態変数の目標値を満たさない場合には、当該セグメントの送信を遅延させる。その遅延量は、サーバ１４においてタイムアウトを引き起こさない範囲で、サーバ１４にて受信される際に更新される状態変数の値が目標値を満たすように設定される。タイムアウトを引き起こさない範囲で目標値を満たすことができない場合は、当該目標値に最も近い値になるように遅延値が設定される。
【００２１】
＜２．動作＞
以下、図３乃至５を参照して、このパケット中継装置１２において行われる遅延量ｄｅｌｔａおよび状態変数推定値を算出する具体的な手順を示す。
【００２２】
図３は、サーバ１４から通信端末へ送信された下りパケットに対する処理を示すフローチャートである。
同図において、ＴＣＰコネクション識別部１２３は、下りパケット受信部１２４にてサーバが移動端末１０に対して送出したセグメントを受信する（ステップＳ１０）と、該セグメントのＩＰアドレス、ポート番号などのヘッダ情報を抽出する。そして、該抽出されたヘッダ情報に基づいてＴＣＰコネクションリストを参照し、該セグメントが属するＴＣＰコネクションを決定する（ステップＳ１１）。セグメントが属するＴＣＰコネクションが存在しない場合（ステップＳ１１、Ｎ）、ＴＣＰコネクションリストに新規コネクションを登録する（ステップＳ１２）。
【００２３】
ＴＣＰコネクション識別部１２３は、該セグメントがＲＴＴ測定用のセグメントであると判定した場合、ＲＴＴの測定を開始する（ステップＳ１３）。
次に、ＴＣＰコネクション識別部１２３は、該セグメントがタイマ設定用のセグメントであると判定した場合、再送タイマ値の設定を行う（ステップＳ１４）。
【００２４】
図４は、移動端末１０からサーバ１４へ送信された上りパケットに対する処理を示すフローチャートである。
ＴＣＰコネクション識別部１２３は、上りパケット受信部１２０にて移動端末１０がサーバ１４に対して送出したセグメントを受信する（ステップＳ２０１）と、該セグメントのＩＰアドレス、ポート番号などのヘッダ情報を抽出する。そして、抽出された情報に基づきＴＣＰコネクションリストを参照して、該セグメントが属するＴＣＰコネクションを決定する（ステップＳ２０２）。該セグメントが属するＴＣＰコネクションが存在しなければ、ＴＣＰコネクションリストに新規コネクションを登録する（ステップＳ２０３）。
【００２５】
次に、ＴＣＰコネクション識別部１２３は、この受信したセグメントが、サーバ１４において利用されるＲＴＴ測定用若しくは再送タイマ値測定用のセグメント（以下、これを遅延対象セグメントという）であるか否かを判定する（ステップＳ２０４）。この判定にあっては、例えば、受信されたパケットからＴＣＰの状態変数を推定し、この推定値を用いてもよい。
【００２６】
遅延対象セグメントでない場合（ステップＳ２０４、Ｎ）、上りパケット遅延部１２１は遅延値を０に設定した後、処理をステップＳ２０９へ進める。遅延対象セグメントである場合は（ステップＳ２０４、Ｙ）、ＴＣＰコネクション識別部１２３は、まず、この遅延対象セグメントに基づいてＲＴＴの推定値を算出する（ステップＳ２０５）。
【００２７】
続いて、ＴＣＰコネクション識別部１２３は、算出されたＲＴＴ推定値を用いて、再送タイマ完了時間の推定値を算出する（ステップＳ２０６）。次に、この再送タイマ完了時間推定値を用いて、最大遅延可能時間（ｄｅｌｔａＭＡＸ）を算出する（ステップＳ２０７）。この最大遅延可能時間とは、上りパケット遅延部１２１において設定が許容される遅延時間の最大値のことである。
【００２８】
次に、ＴＣＰコネクション識別部１２３は、該算出された最大遅延可能時間、および以前の推定値算出時に算出された状態変数の推定値に基づいて、遅延量（ｄｅｌｔａ）を算出する（ステップＳ２０８）。この遅延量は、サーバ１４が再送タイムアウトを発生しない遅延時間の値の範囲内であって、パケット中継装置１２がサーバ１４に設定させたい遅延時間の値（以下、これを目標遅延時間ｄｅｌｔａＴＡＲＧＥＴという）よりも大きくなるように算出される。図５を用いて算出方法を説明する。
【００２９】
図５は、このステップＳ２０８において算出される遅延量の設定方法を示すフローチャートである。同図に示すように、状態変数のうち遅延量ｄｅｌｔａに対して、まず目標遅延時間ｄｅｌ１ａＴＡＲＧＥＴを設定し、遅延量ｄｅｌｔａの推定値が目標遅延時間ｄｅｌｔａＴＡＲＧＥＴおよび最大遅延可能時間ＤＥＬＡＹＭＡＸに対してそれぞれの条件（ステップＳ３０３およびＳ３０４）を満たすように遅延を設定する。この条件判定は、遅延量ｄｅｌｔａをＳＴＥＰ単位で増加させて繰り返し行われる（ステップＳ３０２およびＳ３０４）。
【００３０】
なお、この目標遅延時間ｄｅｌｔａＴＡＲＧＥＴの設定方法は任意であり、コネクションの状態に応じて適宜最適な値を用いることができる。また、例えば、時間的に変動する無線リンクの通信品質に応じて、時間的に変化する値であってもよい。これにより、より細やかに遅延量を設定することができ、したがってスプリアス再送の抑制はより一層効果的になる。
【００３１】
再び図４に戻り、ＴＣＰコネクション識別部１２３は、パケット遅延部１２１で算出された遅延量だけ遅延させてパケット中継装置１２からサーバ１４へ送信されたセグメントはサーバ１４においてＲＴＴの算出に使用されると判断した場合、サーバ１４で算出されるであろうＲＴＴの推定値を算出する（ステップＳ２０９）。次に、算出されたＲＴＴ推定値を用いて、状態変数の推定値（ｄｅｌｔａ、ＳＲＴＴ、ＲＴＴＶＡＲ等）（ステップＳ２１０）を算出する。最後に、算出した状態推定値を用いて再送タイマ値その結果を基に再送タイマ値を設定する（ステップＳ２１１）。
【００３２】
以上説明したように、本実施例によれば、パケット中継装置１２はサーバ１４が移動端末１０に送信するパケットおよび移動端末１０がサーバに送信するパケットを監視する。そして受信したパケットに基づいてサーバ１４において設定される状態変数を推定する。この推定結果に基づいてパケット転送の際に遅延時間を設ける。このようにすることによって、サーバ１４において算出される状態変数ｄｅｌｔａを目標遅延時間ｄｅｌｔａＴＡＲＧＥＴ以上に誘導するのである。この結果、サーバ１４において設定される再送タイマ値を通常のＴＣＰ通信において設定される値よりも大きくすることができる。換言すれば、サーバ１４における再送タイマ値設定をパケット中継装置１２によって制御することができる。
【００３３】
【発明の効果】
以上脱明したように、本発明によれば、パケットＴＣＰ通信において設定される再送タイマ値を大きく保つように制御することができるので、従来のＴＣＰ再送アルゴリズムを改良することなしにスプリアス再送が減少する。
【図面の簡単な説明】
【図１】本発明の実施例に係る通信システムの構成の例である。
【図２】本発明に係るパケット中継装置の機能構成を示すブロック図である。
【図３】本発明に係るパケット中継装置において、セグメント受信時の動作手順の例を示すフローチャートである。
【図４】本発明によるパケット中継装置において、セグメント受信時の動作手順の例を示すフローチャートである。
【図５】パケット中継装置において遅延量を決定する手順を示すフローチャートである。
【符号の説明】
１０・・・移動端末、
１１・・・基地局、
１２・・・パケット中継装置、
１３・・・インターネット、
１４・・・サーバ、
１２０・・・上りパケット受信部、
１２１・・・上りパケット遅延部、
１２２・・・上りパケット送信部、
１２３・・・ＴＣＰコネクション識別部、
１２４・・・下りパケット受信部、
１２５・・・下りパケット送信部。
【図１】
2005005905.tif 000003
【図２】
2005005905.tif 000004
【図３】
2005005905.tif 000005
【図４】
2005005905.tif 000006
【図５】
2005005905.tif 000007