(57)【要約】【課題】ＴＣＰに従った通信においてスプリアス再送の発生を低減させるような再送タイマ値を決定する。【解決手段】サーバ１４のＴＣＰ制御部２０において、スプリアス再送判定部２０３はスプリアス再送を検知する。スプリアス再送回数記憶部２０２は検知されたスプリアス再送の回数に関する情報が記憶される。送信データ量記憶部２０１はスプリアス再送のデータ量を記憶する。再送タイマ値算出部２０４は、送信データ量記憶部２０１に記憶されているスプリアス再送の送信データ量と、スプリアス再送回数記憶部２０２に蓄積されている再送回数情報と、測定された確認応答待ち時間ＲＴＴとに基づいて、再送タイマ値を算出する。【選択図】      図２
2005005906.tif 000002
【特許請求の範囲】
【請求項１】
トランスポートプロトコルに従って行われる通信を制御する制御装置であって、
スプリアス再送を検知する再送検知手段と、
前記再送検知手段によりスプリアス再送を検知すると、該スプリアス再送に関する履歴情報を蓄積する履歴蓄積手段と、
前記履歴記憶手段に記憶された履歴情報に基づいて再送タイマ値を決定するタイマ値算出部と
を備えることを特徴とする制御装置。
【請求項２】
前記履歴情報は、スプリアス再送の発生回数を含むことことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記履歴情報は、スプリアス再送のセグメント数を含むことを特徴とする請求項１に記載の制御装置。
【請求項４】
前記履歴情報は、スプリアス再送のデータ量を含むことを特徴とする請求項１に記載の制御装置。
【請求項５】
前記タイマ値算出部は、スプリアス再送のセグメント数を送信セグメント数で除算した値に基づいて再送タイマ値を算出することを特徴とする請求項１に記載の制御装置。
【請求項６】
トランスポートプロトコルに従った通信においてタイマ値を決定する方法であって、
スプリアス再送を検知する再送検知ステップと、
該検知されたスプリアス再送に関する履歴情報を蓄積する履歴蓄積ステップと、
該記憶された履歴情報に基づいて再送タイマ値を決定するタイマ値算出ステップと
を備えることを特徴とする再送タイマ値決定方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、トランスポートプロトコルにおいて用いられる再送タイマ値を決定する方法に関する。
【０００２】
【従来の技術】
ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）に従った通信においては、再送タイマを用いた再送制御が行われる。すなわち、データ送信側では、パケットを送信した後に再送タイマがスタートし、再送タイマで設定された時間が経過しても確認応答（ＡＣＫ：Ａｃｋｎｏｗｌｅｄｇｍｅｎｔ）が返ってこない場合は、パケットが喪失したものと判断され、同一のパケットが再送される。
【０００３】
一般に、ＴＣＰ通信においてデータ送信側では、通信相手との間をパケットが往復するのに要する時間、すなわち、ＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）の測定値を用いて平滑化ＲＴＴ（ＳＲＴＴ）および平滑化した平均偏差（ＲＴＴＶＡＲ）が算出され、このＳＲＴＴとＲＴＴＶＡＲとに基づいて再送タイマ値（ＲＴＯ）が決定される。より具体的には、ＲＴＴの測定に使用するクロックの粒度をＧとすると、最初にＲＴＴ測定を行って値Ｒが得られたとき、ＳＲＴＴ、ＲＴＴＶＡＲ、ＲＴＯは以下の式で算出される。
【０００４】
【数１】
2005005906.tif 000003
【０００５】
２回目以降のＲＴＴ測定値Ｒが得られたときは、ＳＲＴＴ、ＲＴＴＶＡＲ、ＲＴＯは以下の式を用いて算出される。なお、「＝」は右辺の値を左辺の変数に代入することを意味する。数２においても同様とする。
【０００６】
【数２】
2005005906.tif 000004
【０００７】
上記数式から明らかなように、ＴＣＰ通信においては、測定されたＲＴＴが変化することにより算出される再送タイマの値は変化する。しかしながら、通信状態の悪化が頻繁に起こり得るような無線通信システムにおいては、リンク層でのデータの再送が繰り返されることになる。これに伴いパケットの到達時間が急激に増加することがあり、ＲＴＴの変化に再送タイマ値が追随できずに再送タイムアウトが発生することがある。
【０００８】
再送タイムアウトが発生するとスロー・スタートによるデータ・セグメント再送が行われる。この場合、ＴＣＰにおいては、オリジナル・セグメントに対するＡＣＫが再送セグメントに対するものと判断され，いわゆるＧｏ−ｂａｃｋ−Ｎ再送によって後続の再送セグメントを送信する無駄な再送（スプリアス再送）が発生してしまう。
【０００９】
このように、通信状態が変化したとしても再送タイマの算出方法は同じであるため、例えば突発的なＡＣＫの受信間隔変動が発生すると、無駄な再送を引き起こす確率が高い。これにより、無線チャネルの利用効率の低下、トラフィックの増大が招来する。さらに、通信に課金処理がなされる場合は、ユーザの料金負担が増す。
【００１０】
このようなスプリアス再送を抑制する技術として、ＴＣＰオプションまたは統計情報を用いたスプリアス再送を抑制するためのアルゴリズムが提案されている。例えば、非特許文献１においては、ＴＣＰのタイムスタンプ・オプションを用いることによりセグメント再送後に届くＡＣＫがタイムアウト前のオリジナル・セグメントに対するものか再送によるものかを判別し、オリジナル・セグメントに対するＡＣＫであればスプリアス再送を中止するというアルゴリズムが開示されている。
【００１１】
また、非特許文献２には、オリジナル・セグメントに対するＡＣＫの多くはタイムアウト後のセグメント再送から１／２ＲＴＴｍｉｎ時間以内に到着しているという事実を利用し、再送タイムアウト後から−定時間以内にＡＣＫが到着した場合、スプリアス再送をやめるアルゴリズムが提案されている。
【００１２】
また、非特許文献３には、セグメント再送後に届くＡＣＫのシーケンス番号の増分が２セグメント分である場合、届いたＡＣＫはオリジナル・セグメントに対するＡＣＫであることを利用してスプリアス再送を抑制するアルゴリズムが提案されている。
【００１３】
【非特許文献１】
Ｌｕｔｗｉｇ  ｅｔ．  ａｌ    ＳＩＧＣＯＭＭ  Ｃｏｍｐｕｔｅｒ  Ｃｏｍｍ．  Ｒｅｖｉｅｗ  ｖｏｌ．  ３０，  Ｎｏ．１，  Ｊａｎｕａｒｙ  ２０００
【非特許文献２】
Ａｌｌｍａｎ  ｅｔ．  ａｌ    ＳＩＧＣＯＭＭ  Ｃｏｍｐｕｔｅｒ  Ｃｏｍｍ．  Ｒｅｖｉｅｗ  ｖｏｌ．  ２９，  Ｎｏ．５，  Ｏｃｔ  １９９９
【非特許文献３】
三宅、稲村、高橋    情報処理学会  「モバイルコンピューティングとワイヤレス通信」２４―１８  （２００３．３．７）
【００１４】
【発明が解決しようとする課題】
しかしながら、これらの提案では、スプリアス再送発生が判明した時点でスプリアス再送を停止するように動作するため、スプリアス再送を完全になくすことはできない。さらに、類似するＡＣＫの受信間隔変動があった場合は、同じようにスプリアス再送が発生してしまう。従って、一回のスプリアス再送数を低減することはできるが、頻繁にＡＣＫの受信間隔変動があるような場合にはスプリアス再送の抑制には限界があった。
【００１５】
このような状況の下、本願発明者は、過去のスプリアス再送の発生状態に着目し、スプリアス再送に関する履歴情報を蓄積し、蓄積された履歴情報を参照してタイマ値を更新することによりスプリアス再送を効果的に抑制するという着想に至った。
【００１６】
【課題を解決するための手段】
上記課題を解決するために、本発明は、トランスポートプロトコルに従って通信を行う通信装置であって、スプリアス再送を検知する再送検知手段と前記再送検知手段によりスプリアス再送を検知すると、該スプリアス再送に関する履歴情報を蓄積する履歴蓄積手段と、前記履歴記憶手段に記憶された履歴情報に基づいて再送タイマ値を決定する再送タイマ値を決定するタイマ値算出部とを備えることを特徴とする通信装置を提供する。
この発明によれば、過去に発生したスプリアス再送の履歴をふまえて再送タイマ値が決定される。従って、過去にスプリアス再送が発生した通信条件と同様の条件で再発すると予測されるスプリアス再送を効果的に抑制することができる。
【００１７】
ここで、前記履歴情報はスプリアス再送の発生回数、セグメント数、またはデータ量であってもよい。また、前記タイマ値算出部は、スプリアス再送セグメント数を送信セグメント数で除算した値を用いて再送タイマ値を算出してもよい。
【００１８】
本発明は、また、トランスポートプロトコルに従った通信においてタイマ値を決定する方法であって、スプリアス再送を検知する再送検知ステップと、検知されたスプリアス再送に関する履歴情報を蓄積する履歴蓄積ステップと、前記履歴記憶手段に記憶された履歴情報に基づいて再送タイマ値を決定する再送タイマ値を決定するタイマ値算出ステップとを備えることを特徴とする再送タイマ値決定方法を提供する。
【００１９】
【発明の実施の形態】
以下、図面を参照しつつ本発明の実施形態について説明する。
【００２０】
図１は本発明の実施形態にかかる、再送タイマ適用方法を備えたＴＣＰによる通信を行う通信システムの構成である。
移動端末１１  とサーバ１４とは基地局１２を介して通信を行う。移動端末１１と基地局１２との間は無線通信が行われ、通信環境が時時刻刻と変化するのにともない、その伝送速度も変化する。さらに、基地局１２と移動端末１１との間で無線フレーム単位の再送を行うことで誤り補償が行われる。従って、当然に移動端末１１とサーバ１４との間の伝送速度は動的に変化する。さらに、これらの要因が絡み合うことにより、しばしば移動端末１１とサーバ１４との間の通信において突発的なＡＣＫ受信間隔変動が発生する。
【００２１】
図２に、サーバ１４が有するＴＣＰ制御部２０の機能ブロック図を示す。以下、同図を参照しつつ、本発明の再送タイマ適用方法を適用したサーバ１４の動作について説明する。
同図に示すように、ＴＣＰ制御部２０は、送信データ量記憶部２０１、スプリアス再送回数記憶部２０２、スプリアス再送判定部２０３、再送タイマ値算出部２０４から構成される。
【００２２】
スプリアス再送判定部２０３は、スプリアス再送が発生したかどうかを判定する。スプリアス再送判定部２０３で用いられる判定アルゴリズムは、例えば、上記特許文献１ないし３のいずれを用いてもよい。あるいは、これらを組み合わせて用いても構わない。スプリアス再送回数記憶部２０２は、図示せぬカウンタを有し、スプリアス再送判定部にて判定したスプリアス再送の発生回数を記憶する。このスプリアス再送回数記憶部が記憶する回数は、ＴＣＰ制御部が通信を行うＴＣＰコネクション毎に保存される。送信データ量記憶部２０１は、サーバ１４から移動端末１１へ送信されたデータのデータ量を記憶する。
【００２３】
再送タイマ値算出部２０４は、ＲＴＴを測定し、該測定したＲＴＴとスプリアス再送回数記憶部２０２に記憶されている値と送信データ量記憶部２０１で記憶している値、および、再送タイマ値算出部２０４に格納されているパラメータを用いて、再送タイマ値ＲＴＯを決定する。ここで、再送タイマ値算出部２０４に格納されているパラメータとは、前回ＲＴＴの測定を行った際に算出したＲＴＯおよび算出過程で得られたパラメータである。
【００２４】
以下、図３を参照して、上記ＲＴＯ算出過程を具体的に説明する。ここで、ＲＴＴの測定値をＲ、スプリアス再送回数記憶部２０２で記憶している値、すなわちスプリアス再送の発生回数をＳＲＴＯ、送信データ量記憶部で記憶している値、すなわちサーバ１４から移動端末１１へ送信されたデータのデータ量をＤＳＥＮＴとする。以下に、ＲＴＯの算出に用いられる数式を以下に示す。
【００２５】
【数３】
2005005906.tif 000005
【００２６】
ここで、上記数式中の「＝」は、右辺の計算結果を左辺の変数に代入することを意味する。例えば式▲１▼を例にとって説明すると、前回のＲＴＴ測定において得られたＲＴＴＶＡＲとＳＲＴＴ、および今回のＲＴＴ測定で得られたＲＴＴ値Ｒを式▲１▼の右辺に代入し、この結果得られた値を新たなＲＴＴＶＡＲの値とする、ということである。なお、「＞＞」はシフト演算子を表す。例えば、「ｘ＞＞ｙ」であれば、ｘのビットをｙビット分だけ右側にシフトさせる演算を表す。また、Ａ、Ｂ、Ｃはすべて定数である。
【００２７】
まず、ＴＣＰ制御部２０によりＲＴＴが測定される（図３ステップＳ１０）。次に、再送タイマ値算出部２０４は、ＲＴＯが格納されているか否かを判定する（ステップＳ１１）。ＲＴＯが格納されていない、すなわちＲＴＯコネクションを確立してからＲＴＯを最初に計算する場合（ステップＳ１１、Ｎ）、ステップＳ１２へ移り、従来と同様、数１−▲１▼〜▲３▼で示した式を用いてＲＴＯを算出する。
ＲＴＯが格納されている場合（ステップＳ１１、Ｙ）、次に、再送タイマ値算出部２０４に格納されているＳＲＴＴおよびＲＴＴＶＡＲ、そして今回のＲＴＴ測定で得られたＲを用いて、数３−▲１▼および数３−▲２▼により、新たにＲＴＴＶＡＲ、ＳＲＴＴを算出し、続いて数３−▲３▼によりＲＴＯを算出する（ステップＳ１３）。
【００２８】
こうして得られたＲＴＴ、ＲＴＴＶＡＲ、ＳＲＴＴ、およびＲＴＯは再送タイマ値算出部２０４に記憶され（ステップＳ１４）、次回にＲＴＴの測定にともないＲＴＯ値を算出する際に用いられる。このように、ＲＴＴを測定する度にＲＴＯが算出されることにより、ＲＴＯは逐次更新されていく。
【００２９】
数３−▲３▼から分かるように、算出されたＲＴＯにはＤＥＳＮＴおよびＳＲＴＯが反映されている。また、ＴＣＰコネクションの送信データ量に対してスプリアス再送回数が多ければ多いほど、従来のＴＣＰ通信において用いられるＲＴＯ値（数２−▲３▼；当該数式３−▲３▼においてＡ＝１、Ｂ＝０としたものに相当する）に比べ、上記数式により算出されるＲＴＯは増大することがわかる。このように再送タイマ値ＲＴＯを大きく設定することにより、スプリアス再送が抑制されるのである。
【００３０】
ここで、数３−▲３▼に表されるＲＴＯの算出式はあくまで一例であり、必ずしも上記の算出式を用いる必要はない。例えば、以下の式を用いてもよい。
【００３１】
【数４】
ＲＴＯ    ＝  ＳＲＴＴ＋ＲＴＶＡＲ＊（ＳＲＴＯ＋１）／ＤＳＥＮＴ
（「＝」は右辺の値を左辺の変数に代入することを意味する）
【００３２】
送信データ量に対してスプリアス再送回数が多いほど一般のＴＣＰにおいて算出されるＲＴＯに比べて大きくなるもの、あるいは、送信データ量に対してスプリアス再送回数が多いほど平滑化した平均偏差ＲＴＴＶＡＲがＲＴＯに与える影響が支配的になる、等の特徴を有する算出式を用いることが好ましい。
【００３３】
さらに、スプリアス再送回数記憶部２０２に記憶される値およびＲＴＯ算出式に使用されるＳＲＴＯはスプリアス再送の発生回数である必要はない。例えば、スプリアス再送に伴って発生した再送セグメント数またはスプリアス再送に伴って発生した再送データ量も用いてもよい。要は、ＡＣＫの受信間隔の変動が反映されたパラメータであればよい。
【００３４】
また、スプリアス再送回数記憶部２０２に記憶される値および送信データ量記憶部２０１に記憶される値は、ＴＣＰコネクションに対応付けて記憶する以外に、ＴＣＰコネクションがクローズされるときにその経路の統計情報としてルーティング・テーブル・エントリに対応づけて記憶することとしてもよい。この場合、新たにＴＣＰコネクションを確立するときに、そのコネクションに用いられるルーティング・テーブル・エントリに保存済みの値があれば、ＲＴＯ算出式にそれらの値（ＤＳＥＮＴおよびＳＲＴＯ）を用いることが可能である。これにより、同一経路の新たなＴＣＰコネクションにおいて、過去のスプリアス再送履歴を適用することができる。
【００３５】
【発明の効果】
以上説明したように、本発明によれば、過去に発生したスプリアス再送の履歴をふまえて再送タイマ値が決定される。従って、過去にスプリアス再送が発生した通信条件と同様の条件で再発すると予測されるスプリアス再送が効果的に抑制される。
【図面の簡単な説明】
【図１】本発明の実施例にかかるＴＣＰによる通信システムの例である。
【図２】本発明の実施例に係るＴＣＰ制御部２０の機能ブロック図である。
【図３】ＴＣＰ制御部２０においてＲＴＯを算出する手順示すフローチャートである。
【符号の説明】
１１・・・移動端末
１２・・・基地局
１３・・・インターネット
１４・・・サーバ
２０・・・ＴＣＰ制御部
２０１・・・送信データ量記憶部
２０２・・・スプリアス再送回数記憶部
２０３・・・スプリアス再送判定部
２０４・・・再送タイマ値算出部
【図１】
2005005906.tif 000006
【図２】
2005005906.tif 000007
【図３】
2005005906.tif 000008