(57)【要約】【課題】  送信装置と受信装置間の通信網での輻輳や通信効率を悪化させることなく、送信装置が欠落していないデータセグメントを欠落したとみなして再送信してしまう事態の発生を抑制する。【解決手段】  サーバ装置４０のＣＰＵ４１は、データセグメントを送信してからの経過時間を計時し、このデータセグメントに対する確認応答セグメントを受信すると計時を中止する。また、ＣＰＵ４１は、経過時間が再送タイムアウト時間に達したデータセグメントを送信する。また、ＣＰＵ４１は、データセグメントの再送タイムアウト時間として、このデータセグメントの２回目の送信以降の任意の期間においては当該データブロックの送信回数を変数とした指数関数により定められる時間を設定する一方、当該データブロックの１回目の送信から２回目の送信直前までの期間では上記の指数関数により定められる時間とは異なる予め定められた時間を設定する。【選択図】      図７
2005236961.tif 000002
【特許請求の範囲】
【請求項１】
トランスポート層にてデータブロックを受信装置へ送信する送信手段と、
データブロックについて前記送信手段により送信されてからの経過時間を計時する計時手段と、
トランスポート層にて前記受信装置からのデータを受信する受信手段と、
データブロックについて前記計時手段により計時された経過時間が該データブロックの再送タイムアウト時間に達すると、前記送信手段に該データブロックを送信させる再送制御手段と、
データブロックの再送タイムアウト時間として、該データブロックの２回目の送信以降の任意の期間においては該データブロックの送信回数を変数とした単調増加関数により定められる時間を設定する一方、該データブロックの１回目の送信から２回目の送信直前までの期間では前記単調増加関数により定められる時間とは異なる予め定められた時間を設定する特殊設定手段と
を有する送信装置。
【請求項２】
前記単調増加関数は指数関数である
ことを特徴とする請求項１に記載の送信装置。
【請求項３】
データブロックの再送タイムアウト時間として、前記単調増加関数により定められる時間を設定する一般設定手段を有し、
前記再送制御手段は、
前記受信装置の属するネットワークが予め定められたネットワークである場合には、データブロックについて前記計時手段により計時された経過時間が前記特殊設定手段により設定された該データブロックの再送タイムアウト時間に達すると、前記送信手段に該データブロックを送信する一方、
前記受信装置の属するネットワークが予め定められたネットワークでない場合には、データブロックについて前記計時手段により計時された経過時間が前記一般設定手段により設定された該データブロックの再送タイムアウト時間に達すると、前記送信手段に該データブロックを送信する
ことを特徴とする請求項１に記載の送信装置。
【請求項４】
一方のネットワークに接続する第１の接続手段と、
他方のネットワークに接続する第２の接続手段と、
データブロックの再送タイムアウト時間として、前記単調増加関数により定められる時間を設定する一般設定手段とを有し、
前記送信手段は、前記第１の接続手段または前記第２の接続手段を用いて、トランスポート層にてデータブロックを受信装置へ送信し、
前記再送制御手段は、
前記送信手段が前記第１の接続手段を用いてデータブロックを受信装置へ送信する場合には、データブロックについて前記計時手段により計時された経過時間が前記特殊設定手段により設定された該データブロックの再送タイムアウト時間に達すると、前記送信手段に該データブロックを送信する一方、
前記送信手段が前記第２の接続手段を用いてデータブロックを受信装置へ送信する場合には、データブロックについて前記計時手段により計時された経過時間が前記一般設定手段により設定された該データブロックの再送タイムアウト時間に達すると、前記送信手段に該データブロックを送信する
ことを特徴とする請求項１に記載の送信装置。
【請求項５】
トランスポート層にてデータブロックを受信装置へ送信する送信手段と、
データブロックについて前記送信手段により送信されてからの経過時間を計時する計時手段と、
トランスポート層にて前記受信装置からのデータを受信する受信手段と、
データブロックについて前記計時手段により計時された経過時間が該データブロックの再送タイムアウト時間に達すると、前記送信手段に該データブロックを送信させる再送制御手段と、
前記受信装置との間の通信路を構成する、データ転送時間および同一データの再送回数の少なくとも一方について上限値が定められている通信リンクにおける前記上限値を検出する検出手段と、
データブロックの再送タイムアウト時間として、該データブロックの２回目の送信以降の任意の期間においては該データブロックの送信回数を変数とした単調増加関数により定められる時間を設定する一方、該データブロックの１回目の送信から２回目の送信直前までの期間では前記検出手段により検出された前記上限値に応じた時間を設定する特殊設定手段と
を有する送信装置。
【請求項６】
前記上限値は３秒〜６秒の間である
ことを特徴とする請求項５に記載の送信装置
【請求項７】
トランスポート層にてデータブロックを受信装置へ送信する送信手段と、
データブロックについて前記送信手段により送信されてからの経過時間を計時する計時手段と、
トランスポート層にて前記受信装置からのデータを受信する受信手段と、
データブロックについて前記計時手段により計時された経過時間が該データブロックの再送タイムアウト時間に達すると、前記送信手段に該データブロックを送信させる再送制御手段と、
送信したデータが、前記受信装置との間の通信路を構成する、データ転送時間および同一データの再送回数の少なくとも一方について上限値が定められている通信リンクにおいて欠落した場合に、前記少なくとも一方が前記上限値以下であれば前記通信リンクを用いて該データを送信する再送手段と、
データブロックの再送タイムアウト時間として、該データブロックの１回目の送信から２回目の送信直前までの期間では前記上限値に応じた時間を設定する一方、該データブロックの２回目の送信以降の任意の期間においては該データブロックの送信回数を変数とした単調増加関数により定められる時間を設定する特殊設定手段と
を有する送信装置。
【請求項８】
前記通信リンクは無線リンクである
ことを特徴とする請求項７に記載の送信装置。
【請求項９】
コンピュータを、
トランスポート層にてデータブロックを受信装置へ送信する送信手段と、
データブロックについて前記送信手段により送信されてからの経過時間を計時する計時手段と、
トランスポート層にて前記受信装置からのデータを受信する受信手段と、
データブロックについて前記計時手段により計時された経過時間が該データブロックの再送タイムアウト時間に達すると、前記送信手段に該データブロックを送信させる再送制御手段と、
データブロックの再送タイムアウト時間として、該データブロックの２回目の送信以降の任意の期間においては該データブロックの送信回数を変数とした単調増加関数により定められる時間を設定する一方、該データブロックの１回目の送信から２回目の送信直前までの期間では前記単調増加関数により定められる時間とは異なる予め定められた時間を設定する特殊設定手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信効率を向上させる技術に関する。
【背景技術】
【０００２】
ＴＣＰ（Transmission Control Protocol）にしたがってデータ通信を行う送信装置や受信装置が普及している。この種の送信装置は、受信装置へ送信すべきデータストリームから所定のデータサイズの部分データを順に切り出し、切り出した部分データにシーケンス番号を含むヘッダを付加してデータセグメント（データブロック）を生成し、生成したデータセグメントをシーケンス番号の若い順に送信する。シーケンス番号は部分データが切り出される度に所定の規則にしたがって定められる番号であり、送信装置や受信装置において個々のデータセグメントを識別する際に用いられる。一方、受信装置は、データセグメントを受信すると、その旨を通知するための確認応答セグメントを送信装置へ返信する。この確認応答セグメントには、受信したデータセグメントの次に受信装置が受信すべきデータセグメントのシーケンス番号が書き込まれている。このシーケンス番号を用いることにより、送信装置は、送信したデータセグメントが受信装置に正しく受信されたことを確認することができる。
【０００３】
また、送信装置は、送信したデータセグメントが欠落して受信装置に到達しない場合に備えて、再送タイマを用いた再送制御を行う。つまり、送信装置は、データセグメントを送信すると、所定の再送タイムアウト時間でタイムアウトする再送タイマをスタートさせ、この再送タイマがタイムアウトするまでに当該データセグメントに対する確認応答セグメントを受信することがなかった場合には、そのデータセグメントを再送信する。なお、送信装置は、確認応答セグメントを受信すると、該当するデータセグメントの送信時にスタートさせた再送タイマを停止させる。このような再送制御により、送信装置は届かない確認応答セグメントを無駄に待ち続けずに済む。また、送信装置は、輻輳中の通信網に大量のデータセグメントを送出すれば輻輳が悪化するから、これを避ける目的で、同一のデータセグメントの再送が行われる度に再送タイムアウト時間を増加させる。例えば、１ｓ、２ｓ、４ｓ、８ｓ、１６ｓ、３２ｓ、６４ｓ、６４ｓ、６４ｓ、６４ｓというように、初期値から指数関数的に増加させて行き、所定の最大値で一定とする。なお、一般に、あるデータセグメントの送信に関する再送タイムアウト時間の初期値としては、このデータセグメントが通信コネクションの確立直後に送信されたものであれば固定値が、このデータセグメントがＲＴＴ（ラウンドトリップタイム）の実測後に送信されたものであればＲＴＴの実測値に基づいた値が用いられる。
【０００４】
ところで、ＲＬＣ（Radio Link Control）プロトコルのように、無線リンクにおけるデータフレームの再送を規定した通信プロトコルがある。無線リンクでは有線リンクに比較してデータの転送遅延が大きくなり易い。このため、無線リンクにおいて再送が行われると、この無線リンクを通信路としてセグメントを送受信する送信装置および受信装置間でセグメントの転送遅延が大きくなる。このような転送遅延の増大は、データセグメントを送信した送信装置の再送タイマがタイムアウトしてから当該データセグメントに対する確認応答セグメントが送信装置に届くという事態、すなわち欠落していないデータセグメントを欠落したとみなして再送信してしまう事態を招く。この事態は、特に、送信装置における再送タイムアウト時間が初期値に近い値のときに生じ易い。
【０００５】
このような不都合に関連して以下に列記する技術が提案されている。  特許文献１に記載の技術では、移動機が通信コネクションの確立時に固定の再送タイムアウト時間をサーバへ通知する。以降、サーバは通知された再送タイムアウト時間を用いてデータセグメントの再送制御を行う。  特許文献２に記載の技術では、移動機が通信中にベアラの種別に対応した再送タイムアウト時間をサーバへ通知する。以降、サーバは通知された再送タイムアウト時間を用いてデータセグメントの再送制御を行う。  特許文献３に記載の技術では、通信端末装置が再送タイムアウト時間を指数関数的に増加させていく。ただし、再送タイムアウト時間の初期値は有線網を前提とした一般的な値に比較して大きな値（例えば１０ｓ）となっている。
【特許文献１】特開２００３−１０２０５７公報
【特許文献２】特開２００３−２２４６１９号公報
【特許文献３】特開２００２−２８１１０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１や特許文献２に記載の技術では再送タイムアウト時間の初期値ではなく、再送タイムアウト時間そのものが固定値となるから、送信装置と受信装置間の通信網での輻輳が悪化し易くなる。  また、特許文献３に記載の技術では、欠落していないデータセグメントを欠落したとみなして再送信してしまう事態の発生を抑制することができるが、再送タイムアウト時間の立ち上がりの木目が粗くなってしまい、通信効率が低下してしまう。
【０００７】
本発明は、上述した背景の下になされたものであり、送信装置と受信装置間の通信網での輻輳や通信効率を悪化させることなく、送信装置が欠落していないデータセグメントを欠落したとみなして再送信してしまう事態の発生を抑制することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、トランスポート層にてデータブロックを受信装置へ送信する送信手段と、データブロックについて前記送信手段により送信されてからの経過時間を計時する計時手段と、トランスポート層にて前記受信装置からのデータを受信する受信手段と、データブロックについて前記計時手段により計時された経過時間が該データブロックの再送タイムアウト時間に達すると、前記送信手段に該データブロックを送信させる再送制御手段と、データブロックの再送タイムアウト時間として、該データブロックの２回目の送信以降の任意の期間においては該データブロックの送信回数を変数とした単調増加関数により定められる時間を設定する一方、該データブロックの１回目の送信から２回目の送信直前までの期間では前記単調増加関数により定められる時間とは異なる予め定められた時間を設定する特殊設定手段とを有する送信装置を提供する。
【０００９】
また、本発明は、コンピュータを、トランスポート層にてデータブロックを受信装置へ送信する送信手段と、データブロックについて前記送信手段により送信されてからの経過時間を計時する計時手段と、トランスポート層にて前記受信装置からのデータを受信する受信手段と、データブロックについて前記計時手段により計時された経過時間が該データブロックの再送タイムアウト時間に達すると、前記送信手段に該データブロックを送信させる再送制御手段と、データブロックの再送タイムアウト時間として、該データブロックの２回目の送信以降の任意の期間においては該データブロックの送信回数を変数とした単調増加関数により定められる時間を設定する一方、該データブロックの１回目の送信から２回目の送信直前までの期間では前記単調増加関数により定められる時間とは異なる予め定められた時間を設定する特殊設定手段として機能させるためのプログラムを提供する。
【００１０】
上記の送信装置またはプログラムを実行したコンピュータにおいて、データブロックの１回目の送信から２回目の送信直前までの期間では、再送タイムアウト時間が、当該データブロックの２回目の送信以降の任意の期間において再送タイムアウト時間を定める単調増加関数により定められる時間とは異なる予め定められた時間となる。
【００１１】
本発明は、トランスポート層にてデータブロックを受信装置へ送信する送信手段と、データブロックについて前記送信手段により送信されてからの経過時間を計時する計時手段と、トランスポート層にて前記受信装置からのデータを受信する受信手段と、データブロックについて前記計時手段により計時された経過時間が該データブロックの再送タイムアウト時間に達すると、前記送信手段に該データブロックを送信させる再送制御手段と、前記受信装置との間の通信路を構成する、データ転送時間および同一データの再送回数の少なくとも一方について上限値が定められている通信リンクにおける前記上限値を検出する検出手段と、データブロックの再送タイムアウト時間として、該データブロックの２回目の送信以降の任意の期間においては該データブロックの送信回数を変数とした単調増加関数により定められる時間を設定する一方、該データブロックの１回目の送信から２回目の送信直前までの期間では前記検出手段により検出された前記上限値に応じた時間を設定する特殊設定手段とを有する送信装置を提供する。
【００１２】
本発明は、トランスポート層にてデータブロックを受信装置へ送信する送信手段と、データブロックについて前記送信手段により送信されてからの経過時間を計時する計時手段と、トランスポート層にて前記受信装置からのデータを受信する受信手段と、データブロックについて前記計時手段により計時された経過時間が該データブロックの再送タイムアウト時間に達すると、前記送信手段に該データブロックを送信させる再送制御手段と、送信したデータが、前記受信装置との間の通信路を構成する、データ転送時間および同一データの再送回数の少なくとも一方について上限値が定められている通信リンクにおいて欠落した場合に、前記少なくとも一方が前記上限値以下であれば前記通信リンクを用いて該データを送信する再送手段と、データブロックの再送タイムアウト時間として、該データブロックの１回目の送信から２回目の送信直前までの期間では前記上限値に応じた時間を設定する一方、該データブロックの２回目の送信以降の任意の期間においては該データブロックの送信回数を変数とした単調増加関数により定められる時間を設定する特殊設定手段とを有する送信装置を提供する。
【発明の効果】
【００１３】
本発明によれば、通信リンクにおけるデータ転送遅延の上限値に応じた時間を予め定めておけば、この時間が、データブロックの１回目の送信から２回目の送信直前までの期間における再送タイムアウト時間となるから、欠落していないデータセグメントを欠落したとみなして再送信してしまう事態の発生を抑制することができる。または、本発明によれば、送信装置またはプログラムを実行したコンピュータにおいて、データブロックの１回目の送信から２回目の送信直前までの期間では、再送タイムアウト時間が通信リンクにおけるデータ転送時間の上限値および同一データの送信回数の上限値の少なくとも一方に応じた時間となるから、欠落していないデータセグメントを欠落したとみなして再送信してしまう事態の発生を抑制することができる。
【００１４】
また、本発明によれば、送信装置またはプログラムを実行したコンピュータにおいて、データブロックの２回目の送信以降の任意の期間では、再送タイムアウト時間がデータブロックの送信の度に長くなるから、輻輳中の通信網へデータブロックが過剰に送出される事態を回避し、通信網での輻輳や通信効率の悪化を回避することができる。
【発明を実施するための最良の形態】
【００１５】
本発明の実施の形態について、図面を参照して説明する。
［構成］
図１は本発明の一実施形態に係る通信システム１００の構成を示す図である。
この図に示すように、通信システム１００は、使用者に携帯される移動機１０、管轄する無線エリア内の移動機１０と無線通信可能な基地局２０、及び基地局２０が接続されるコアネットワーク３０に接続されるサーバ装置４０を有する。移動機１０は、基地局２０及びコアネットワーク３０を介して、サーバ装置４０と通信可能である。また、サーバ装置４０はゲートウェイサーバであり、インターネット等の外部ネットワーク（図示略）にも接続されている。また、通信システム１００はＩＭＴ−２０００（International Mobile Telecommunications-2000）に準拠しており、移動機１０及び基地局２０の数はそれぞれ、１以上の任意の数である。また、移動機１０及びサーバ装置４０はトランスポート層にて、ＴＣＰにしたがった通信処理を行う。
【００１６】
図２は通信システム１００の通信プロトコル構成を示す図である。
この図に示すように、トランスポート層での通信は移動機１０及びサーバ装置４０のみで終端され、データリンク層での通信は移動機１０、基地局２０、サーバ装置４０、及びコアネットワーク３０を構成する通信装置において終端される。移動機１０と基地局２０との間のデータリンク層はＡＭ（Acknowledgement Mode）モードのＲＬＣ副層を有する。このＲＬＣ副層にて移動機１０及び基地局２０が無線リンクを用いてデータフレームを転送する。この転送では、無線リンクにてデータフレームが欠落すると、このデータフレームがＡＲＱ（Automatic Repeat Request）方式で再送信される。本実施形態では、再送信の上限回数（上限値）は１０回に定められている。上限回数の再送信を行ってもデータフレームの受信を確認できない場合、またはデータ転送時間（データフレームの転送に要する時間）が予め定められた上限時間（上限値）を過ぎた場合、送信ノードは転送対象のデータフレームを破棄する。すなわち、送信ノードは、データ転送遅延が予め定められた上限値を超えたデータフレームを破棄する。
【００１７】
図３はサーバ装置４０の構成を示すブロック図である。
この図から明らかなように、サーバ装置４０は、一般的なコンピュータと同様に、ＣＰＵ（中央処理装置）４１が不揮発性メモリ４２に記憶されているプログラムを、ＲＡＭ（Random Access Memory）４３をワークエリアとして実行し、これにより各種処理を行う構成となっている。また、不揮発性メモリ４２には、プログラムの実行制御を行わせるための制御プログラムと、ＴＣＰにしたがった通信処理をトランスポート層にて行わせるための通信プログラム４２１が記憶されている。図３に示すように、ＣＰＵ４１は計時手段と、再送制御手段と、特殊設定手段と、検出手段を有する。これらの手段は、ＣＰＵ４１が通信プログラム４２１を読み出し実行することにより実現される。特殊設定手段は、データセグメントの１回目の送信時の再送タイムアウト時間の値として、予め定められた時間テーブルに従って定められる値あるいは無線リンクにおけるデータ転送遅延の上限値に基づいて定められる値を設定する。この上限値は検出手段によって検出される。検出手段は１データフレームにつき可能な再送信の上限回数または無線リンクにおけるデータ転送時間の上限時間に基づいてデータ転送遅延の上限値を検出する。
本実施形態においては、特殊設定手段が、後に詳述するような無線リンク用に予め定められた時間テーブル（図５参照）に基づいて再送タイムアウト時間を設定する場合について説明する。このため、本実施形態においては、ＣＰＵ４１が少なくとも計時手段と、再送制御手段と、特殊設定手段の３手段を有すれば発明の実施が可能である。
【００１８】
通信インタフェース４４はコアネットワーク３０との間で信号を送受信するものであり、ＣＰＵ４１から送信すべきデータが供給されると、この送信データにより変調された信号をコアネットワーク３０へ送出し、コアネットワーク３０から供給された信号からデータを復調すると、この受信データをＣＰＵ４１に供給する。この通信インタフェース４４及びＣＰＵ４１により、移動機１０との間でのデータの送受信がコアネットワーク３０を介して行われる。また、通信インタフェース４５は外部ネットワークとの間で信号を送受信するものであり、ＣＰＵ４１から送信すべきデータが供給されると、この送信データにより変調された信号を外部ネットワークへ送出し、外部ネットワークから供給された信号からデータを復調すると、この受信データをＣＰＵ４１に供給する。この通信インタフェース４５及びＣＰＵ４１により、外部ネットワークに接続された装置との間でのデータの送受信が行われる。
【００１９】
また、ＣＰＵ４１は、図示しない電源が投入されると不揮発性メモリ４２から上記の制御プログラムを読み出して実行する。制御プログラムを実行中のＣＰＵ４１は、移動機１０からの要求に応じて、通信プログラム４２１を不揮発性メモリ４２から読み出して実行する。以降、ＣＰＵ４１はトランスポート層にて、ＴＣＰにしたがった通信処理を行う。この通信処理には、通信コネクションの確立時に行われる選択処理と、通信コネクションの確立直後におけるデータセグメントの送信の際に行われる再送タイマ処理が含まれている。
【００２０】
図４は選択処理の流れを示すフローチャートである。
この図に示すように、選択処理において、ＣＰＵ４１は通信コネクションの確立に用いられている通信インタフェースを検出し、検出した通信インタフェースがコアネットワーク３０用の通信インタフェース４４であれば無線網用の時間テーブルを選択する。逆に外部ネットワーク用の通信インタフェース４５であれば、ＣＰＵ４１は通信相手の装置のＩＰ（インターネットプロトコル）アドレスを用いて当該装置が属するサブネットワークを特定し、このサブネットワークが予め定められた特定のサブネットワークであるか否かを判定し、特定のサブネットワークであれば無線網用の時間テーブルを選択する。その他の場合には、ＣＰＵ４１は有線網用の時間テーブルを選択する。選択された時間テーブルは再送タイマ処理において使用される。なお、特定のサブネットワークとは、このサブネットワークを介して通信を行う場合には無線網を経由した通信となるサブネットワークである。
【００２１】
時間テーブルはデータセグメントの１回目の送信後の再送タイムアウト時間、このデータセグメントの２回目の送信後の再送タイムアウト時間、このデータセグメントの３回目の送信後の再送タイムアウト時間、…、及びこのデータセグメントの１０回目の送信後の再送タイムアウト時間を格納したテーブルである。図５に示すように、無線網用の時間テーブルには、１回目の送信後の再送タイムアウト時間として４ｓ、２回目以降の送信後の再送タイムアウト時間として、１ｓを初期値、送信回数を変数とした指数関数により定まる時間が格納されている。１回目の送信後の再送タイムアウト時間（４ｓ、すなわち４秒）は、無線リンクにおけるデータ転送遅延の上限値に応じた時間であり、セグメントを構成するデータフレームのデータ転送遅延が上限値以下であれば、再送タイマがタイムアウトする前に、ＣＰＵ４１が送信したデータセグメントに対する確認応答セグメントを受信することができる程度の時間である。また、図６に示すように、有線網用の時間テーブルには、１回目以降の送信後の再送タイムアウト時間として、１ｓを初期値、送信回数を変数とした指数関数により定まる時間が格納されている。ただし、両時間テーブルに格納される時間の最小値は１ｓ、最大値は６４ｓに制限されている。
【００２２】
図７は再送タイマ処理の流れを示すフローチャートである。
この図に示すように、再送タイマ処理において、ＣＰＵ４１は選択処理にて選択した時間テーブルをＲＡＭ４３に書き込む。以降、ＲＡＭ４３に書き込まれた時間テーブルを時間テーブル４３１と記す。次にＣＰＵ４１は、送信したデータセグメントの送信回数に応じた再送タイムアウト時間を時間テーブル４３１から読み出して当該データセグメント用の再送タイマにセットし、この再送タイマをスタートさせる。この再送タイマはセットされた時間が経過するとタイムアウトする。ＣＰＵ４１は、この再送タイマがタイムアウトすると、このデータセグメントについてタイムアウトが１０回に達したか否かを判定し、達した場合には再送タイマ処理を終了する。逆に達していない場合には、ＣＰＵ４１はこのデータセグメントを再送信し、再送タイムアウト時間の読み出しから始まる処理を繰り返す。なお、ＣＰＵ４１は送信したデータセグメントに対する確認応答セグメントを受信すると、このデータセグメント用の再送タイマを停止し、このデータセグメントに対する再送タイマ処理を終了する。
【００２３】
［動作］
次に、上述した構成の通信システム１００の動作について説明する。
移動機１０との間に通信コネクションが確立されると、サーバ装置４０のＣＰＵ４１は通信コネクションの確立に用いられている通信インタフェースを検出し（図４のステップＳＢ１）、検出した通信インタフェースがコアネットワーク３０用の通信インタフェース４４であれば図５の時間テーブルを選択する（ステップＳＢ２：ＹＥＳ、及びＳＢ３）。逆に外部ネットワーク用の通信インタフェース４５であれば、ＣＰＵ４１は通信相手の装置のＩＰアドレスを用いて当該装置が属するサブネットワークを特定し、このサブネットワークが予め定められた特定のサブネットワークであるか否かを判定し、特定のサブネットワークであれば図５の時間テーブルを選択する（ステップＳＢ２：ＮＯ、ＳＢ４、ＳＢ５：ＹＥＳ、及びＳＢ３）。検出した通信インタフェースがコアネットワーク３０用の通信インタフェース４４でなく、かつ通信相手の装置の属するサブネットワークが特定のサブネットワークでない場合、ＣＰＵ４１は図６の時間テーブルを選択する（ステップＳＢ２：ＮＯ、ＳＢ４、ＳＢ５：ＮＯ、及びＳＢ６）。
【００２４】
図６の時間テーブルを選択した場合のサーバ装置４０の動作は一般的なサーバ装置の動作と同様であるから、以下では、サーバ装置４０が図５の時間テーブルを選択したものとして動作説明を行う。また、通信相手の装置が移動機１０であっても外部ネットワークに接続された装置であっても、サーバ装置４０の動作は使用する通信インタフェースが異なる点を除いて同様であるから、以下では、通信相手の装置が移動機１０である場合の動作説明のみを行う。また、以下では、サーバ装置４０が通信コネクションの確立直後にデータセグメントを送信するものとし、一般的なサーバ装置の動作と対比して動作説明を行う。なお、対比対象の一般的なサーバ装置は再送タイムアウト時間を、１ｓを初期値、送信回数を変数とした指数関数により定まる時間とする装置である。また、以降の説明で用いる図８〜図１１において、ｔ０〜ｔ８はそれぞれ時刻であり、ｔ０からｔ１までの時間、ｔ１からｔ２までの時間、…、ｔ７からｔ８までの時間はいずれも１ｓである。
【００２５】
［セグメントが欠落しない場合］
まず、セグメントが欠落しない場合の動作について図８及び図９を参照して説明する。これらの図に示すシーケンスは、移動機１０と基地局２０との間の無線リンクにおけるデータフレームの転送遅延がｔ０近辺で最も大きく、時間が経つにつれて小さくなっていくことを前提としたものである。
【００２６】
まず、図８を参照して本実施形態に係る通信システム１００の動作について説明する。
サーバ装置４０のＣＰＵ４１がｔ０にてデータセグメントを送信し、再送タイマ処理を開始する。再送タイマ処理では、ＣＰＵ４１は図５に示す内容の時間テーブル４３１をＲＡＭ４３に書き込む（図７のステップＳＡ１）。次にＣＰＵ４１は送信したデータセグメントの送信回数（すなわち１回）に応じた再送タイムアウト時間（４ｓ）を時間テーブル４３１から読み出して当該データセグメント用の再送タイマにセットし、この再送タイマをスタートさせる（ステップＳＡ２及びＳＡ３）。以降、ＣＰＵ４１はこの再送タイマがタイムアウトするまで、すなわちｔ４まで待つ（ステップＳＡ４：ＮＯ）。
【００２７】
一方、ＣＰＵ４１により送信されたデータセグメントは基地局２０を介して移動機１０へ転送される。ただし、基地局２０と移動機１０との間の無線リンクでは、このデータセグメントを構成するデータフレームが上限回数（１０回）以下の回数だけ再送信される。このため、このデータセグメントは大幅に遅延して移動機１０に到達する。移動機１０はこのデータセグメントを受信し、これに対する確認応答セグメントを送信する。この確認応答セグメントは基地局２０を介してサーバ装置４０へ転送される。この際にも、無線リンクにおいてデータフレームの再送信が行われる。結局、この確認応答セグメントがサーバ装置４０に到達するのはｔ３とｔ４の間の時刻になる。この時刻に再送タイマはタイムアウトしていないから、ＣＰＵ４１はこの確認応答セグメントを受信すると、ｔ０に送信したデータセグメント用の再送タイマを停止し、このデータセグメントに対する再送タイマ処理を終了する。
【００２８】
次に、図９を参照して一般的な通信システムの動作について説明する。  サーバ装置がｔ０にてデータセグメントを送信し、このデータセグメント用の再送タイマをスタートさせる。そして、サーバ装置では、送信したデータセグメントに対する確認応答セグメントを受信することなく、この再送タイマがｔ１にてタイムアウトする。よって、サーバ装置はこのデータセグメントが欠落したとみなし、このデータセグメントを再送信するとともに、このデータセグメント用の再送タイマをスタートさせる。そして、サーバ装置では、送信したデータセグメントに対する確認応答セグメントを受信することなく、この再送タイマがｔ３にてタイムアウトする。よって、サーバ装置はこのデータセグメントが欠落したとみなし、このデータセグメントを再送信する。この後に、サーバ装置は、ｔ０、ｔ１及びｔ３にて送信したデータセグメントに対する確認応答セグメントを受信することになる。
【００２９】
以上の対比から明らかなように、本実施形態によれば、送信装置が欠落していないデータセグメントを欠落したとみなして再送信してしまう事態の発生を低減することができる。
【００３０】
［セグメントが欠落する場合］
次に、セグメントが欠落する場合の動作について図１０及び図１１を参照して説明する。これらの図に示すシーケンスは、移動機１０と基地局２０との間の無線リンクにおける通信品質がｔ０からｔ５まで極めて悪く、ｔ５からｔ６にかけて急激に回復することを前提としたものである。
【００３１】
まず、図１０を参照して本実施形態に係る通信システム１００の動作について説明する。
サーバ装置４０のＣＰＵ４１がｔ０にてデータセグメントを送信し、再送タイマ処理を開始する。ここで行われる再送タイマ処理は前述の通りである（ステップＳＡ１、ＳＡ２、ＳＡ３、及びＳＡ４：ＮＯ）。ＣＰＵ４１により送信されたデータセグメントは基地局２０を介して無線区間へ送出されるが、ここで欠落する。したがって、サーバ装置４０では、このデータセグメントに対する確認応答セグメントを受信することなく、このデータセグメント用の再送タイマがｔ４にてタイムアウトする（ステップＳＡ４：ＹＥＳ）。よって、サーバ装置はこのデータセグメントが欠落したとみなし、このデータセグメントを再送信するとともに、このデータセグメント用の再送タイマをスタートさせる（ステップＳＡ５：ＮＯ、ＳＡ６、ＳＡ２、ＳＡ３、及びＳＡ４：ＮＯ）。
【００３２】
このデータセグメントは基地局２０を介して無線区間へ送出されるが、ここで欠落する。したがって、サーバ装置４０では、このデータセグメントに対する確認応答セグメントを受信することなく、このデータセグメント用の再送タイマがｔ５にてタイムアウトする（ステップＳＡ４：ＹＥＳ）。よって、サーバ装置はこのデータセグメントが欠落したとみなし、このデータセグメントを再送信するとともに、このデータセグメント用の再送タイマをスタートさせる（ステップＳＡ５：ＮＯ、ＳＡ６、ＳＡ２、ＳＡ３、ＳＡ４：ＮＯ）。この再送タイマのタイムアウトタイミングはｔ７である。
【００３３】
ＣＰＵ４１により送信されたデータセグメントは基地局２０と通信品質が急速に回復した無線リンクを介して移動機１０へ転送される。移動機１０はこのデータセグメントを受信し、これに対する確認応答セグメントを送信する。この確認応答セグメントは基地局２０を介してサーバ装置４０へ転送される。この確認応答セグメントがサーバ装置４０に到達するのはｔ５とｔ６の間の時刻になる。この時刻に再送タイマはタイムアウトしていないから、ＣＰＵ４１はこの確認応答セグメントを受信すると、ｔ５に送信したデータセグメント用の再送タイマを停止し、このデータセグメントに対する再送タイマ処理を終了する。
【００３４】
次に、図１１を参照して一般的な通信システムの動作について説明する。
サーバ装置がｔ０にてデータセグメントを送信し、このデータセグメント用の再送タイマをスタートさせる。そして、サーバ装置では、送信したデータセグメントに対する確認応答セグメントを受信することなく、この再送タイマがｔ１にてタイムアウトする。よって、サーバ装置はこのデータセグメントが欠落したとみなし、このデータセグメントを再送信するとともに、このデータセグメント用の再送タイマをスタートさせる。そして、サーバ装置では、送信したデータセグメントに対する確認応答セグメントを受信することなく、この再送タイマがｔ３にてタイムアウトする。よって、サーバ装置はこのデータセグメントが欠落したとみなし、このデータセグメントを再送信するとともに、このデータセグメント用の再送タイマをスタートさせる。そして、サーバ装置では、送信したデータセグメントに対する確認応答セグメントを受信することなく、この再送タイマがｔ７にてタイムアウトする。よって、サーバ装置はこのデータセグメントが欠落したとみなし、このデータセグメントを再送信するとともに、このデータセグメント用の再送タイマをスタートさせる。この再送タイマのタイムアウトタイミングは８ｓ後である。結局、サーバ装置はｔ７からｔ８までの時刻に当該データセグメントの確認応答セグメントを受信することになる。
【００３５】
以上の対比から明らかなように、本実施形態によれば、サーバ装置４０が同一のデータセグメントを送信する回数が少なくなるから、サーバ装置４０と移動機１０間の通信網での輻輳や通信効率を悪化させずに済む。
【００３６】
また、本実施形態では、サーバ装置４０が、通信に使用する通信インタフェース（通信に使用する通信網）に応じて、使用する時間テーブルを変更することができる。よって、ゲートウェイサーバのように、複数の通信網を用いて通信する装置に用いて好適である。もちろん、複数の通信網を排他的に切り換えて使用する装置にも適用可能である。
また、本実施形態では、サーバ装置４０が、通信相手の装置のサブネットマスク（通信相手の装置の通信アドレス）に応じて、使用する時間テーブルを変更することができる。よって、無線網を介して通信する装置と有線網のみを介して通信する装置とが混在する環境に用いて好適である。
【００３７】
［変形例］
なお、上述した実施形態では、サーバ装置４０のみが無線網用の時間テーブルを用いて再送タイムアウト時間を定めるようにしたが、これと同様の処理を移動機１０が行うように変形して本発明を実施してもよい。
また、上述した実施形態では、再送タイマ処理において、テーブルに格納されている再送タイムアウト時間を用いるようにしたが、関数により再送タイムアウト時間を適宜算出し、算出した再送タイムアウト時間を用いるようにしてもよい。
また、上述した実施形態では、データリンク層におけるデータ転送遅延の上限値は、データフレームの再送信の上限回数とデータ転送時間の上限時間とに基づいて定まるが、上限回数のみ、または上限時間のみに基づいて定まる上限値を用いる形態としてもよい。
また、上述した実施形態では、トランスポート層における１回目のデータセグメント送信時の再送タイムアウト時間として４ｓが設定されていたが、この値は、１データフレームについて可能な再送信の上限回数および／またはデータ転送時間の上限時間を考慮して定められた、無線リンク（データリンク層）におけるデータ転送遅延の上限値であれば如何なる値をも取り得る。つまり、トランスポート層の下位層である無線リンク特有のデータ転送遅延や無線リンク用のプロトコルに従ってデータフレームの再送信が行われることにより発生するデータ転送遅延に基づいて定められた値でありさえすれば、１ｓあるいは１０ｓに限りなく近い値であってもよい。とは言っても、トランスポート層における１回目のデータセグメント送信時の再送タイムアウト時間は、おおよそ３ｓから６ｓの間の値であることがより好ましい。
また、上述した実施形態では、サーバ装置４０と基地局２０とを別体としたが、両者を一体化してもよい。この際、この装置が、データリンク層におけるデータ転送遅延の上限値を検出し、検出した上限値に応じた時間を、時間テーブルにおける、データセグメントの１回目の送信後の再送タイムアウト時間としてもよい。
また、上述した実施形態では、使用している通信インタフェース及び通信相手の装置の属するサブネットワークに基づいて時間テーブルを選択するようにしたが、いずれか一方のみに基づいて時間テーブルを選択するようにしてもよい。
また、上述した実施形態では、無線リンクにおける転送遅延の要因としてデータフレームの再送信を例示したが、本発明は、他の要因により転送遅延が生じる無線リンクを用いるシステムにも適用可能である。また、転送遅延が生じるリンクは有線リンクであってもよい。
また、上述した実施形態では、時間テーブルにおける、データセグメントの１回目の送信後の再送タイムアウト時間のみをデータリンク層におけるデータ転送遅延の上限値を考慮した時間（例えば４ｓ）としたが、これに限定されない。
例えば、図１２に示すように、１回目および２回目の送信後の再送タイムアウト時間をデータリンク層におけるデータ転送遅延の上限値を考慮した時間（例えば４ｓ）とし、３回目以降の送信後の再送タイムアウト時間が初期値（例えば１ｓ）から指数関数的に増加するようにしてもよい。
また、例えば、図１３に示すように、１回目、２回目および３回目の送信後の再送タイムアウト時間をデータリンク層におけるデータ転送遅延の上限値を考慮した時間（例えば４ｓ）とし、４回目以降の送信後の再送タイムアウト時間が初期値（例えば４ｓ）から指数関数的に増加するようにしてもよい。
また、例えば、図１４に示すように、１回目の送信後の再送タイムアウト時間をデータリンク層におけるデータ転送遅延の上限値を考慮した時間（例えば４ｓ）とし、２回目の送信後の再送タイムアウト時間を１回目の送信後の再送タイムアウト時間の半分とし、３回目以降の送信後の再送タイムアウト時間が初期値（例えば１ｓ）から指数関数的に増加するようにしてもよい。
また、例えば、仕様が許すのであれば、１回目の送信後の再送タイムアウト時間をデータリンク層におけるデータ転送遅延の上限値を考慮した時間（例えば４ｓ）とし、２回目以降の送信後の再送タイムアウト時間が初期値（例えば１ｓ）から単調増加するようにしてもよい。単調増加の例としては線形増加が挙げられる。
【図面の簡単な説明】
【００３８】
【図１】本発明の一実施形態に係る通信システム１００の構成を示す図である。
【図２】同通信システム１００の通信プロトコル構成を示す図である。
【図３】同サーバ装置４０の構成を示すブロック図である。
【図４】同サーバ装置４０にて行われる選択処理の流れを示すフローチャートである。
【図５】同サーバ装置４０が用いる無線網用の時間テーブルの内容を模式的に示す図である。
【図６】同サーバ装置４０が用いる有線網用の時間テーブルの内容を模式的に示す図である。
【図７】同サーバ装置４０にて行われる再送タイマ処理の流れを示すフローチャートである。
【図８】通信システム１００の動作を説明するためのシーケンス図である。
【図９】通信システム１００の動作を説明するためのシーケンス図である。
【図１０】通信システム１００の動作を説明するためのシーケンス図である。
【図１１】通信システム１００の動作を説明するためのシーケンス図である。
【図１２】他の時間テーブルの内容を模式的に示す図である。
【図１３】他の時間テーブルの内容を模式的に示す図である。
【図１４】他の時間テーブルの内容を模式的に示す図である。
【符号の説明】
【００３９】
１０…移動機、２０…基地局、４０…サーバ装置、４１…ＣＰＵ、４２…不揮発性メモリ、４２１…通信プログラム、４３…ＲＡＭ、４３１…時間テーブル、４４，４５…通信インタフェース。
【図１】
2005236961.tif 000003
【図２】
2005236961.tif 000004
【図３】
2005236961.tif 000005
【図４】
2005236961.tif 000006
【図５】
2005236961.tif 000007
【図６】
2005236961.tif 000008
【図７】
2005236961.tif 000009
【図８】
2005236961.tif 000010
【図９】
2005236961.tif 000011
【図１０】
2005236961.tif 000012
【図１１】
2005236961.tif 000013
【図１２】
2005236961.tif 000014
【図１３】
2005236961.tif 000015
【図１４】
2005236961.tif 000016