(57)【要約】【課題】効率的な送信制御を実現する。【解決手段】制御部１１０は、送信データを生成すると、送信待ちバッファ領域１６１と再送バッファ領域１６３にバッファする。通信制御部１２０は、送信待ちバッファ領域１６１にバッファされたパケットの送信を試みる。通信状態が良好でなく通信制御部１２０が送信できない場合、送信データは送信待ちバッファ領域１６１と再送バッファ領域１６３に残留する。この場合、確認応答が得られないので、制御部１１０は、再送バッファ領域１６３の再送用パケットの送信をおこなう。このとき、対象となる再送用パケットと重複するパケットが送信待ちバッファ領域１６１にあれば、その重複パケットを送信待ちバッファ領域１６１から削除する。【選択図】図１
2008283421.tif 000002
【特許請求の範囲】
【請求項１】
送信対象パケットをバッファするバッファ手段と、
前記バッファ手段にバッファされているパケットを送信する送信手段と、を備えた通信装置において、
再送動作によって発生する重複パケットを送信対象パケットから検出する重複パケット検出手段と、
前記重複パケット検出手段が重複パケットを検出した場合、当該重複パケットの一つのみを前記送信手段に送信させる送信制御手段と、
を備えることを特徴とする通信装置。
【請求項２】
前記重複パケット検出手段は、
前記バッファ手段にバッファされたパケットの中で重複するパケットを検出し、
前記送信制御手段は、
前記重複パケット検出手段が検出した重複パケットの一つを残して他の重複パケットを前記バッファ手段から削除する、
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記重複パケット検出手段は、前記バッファ手段にバッファされているパケットを古い順に指定し、該指定したパケットと重複するパケットを検出する、
ことを特徴とする請求項２に記載の通信装置。
【請求項４】
前記重複パケット検出手段は、前記バッファ手段にバッファされているパケットを新しい順に指定し、該指定したパケットと重複するパケットを検出する、
ことを特徴とする請求項２に記載の通信装置。
【請求項５】
前記送信制御手段は、前記重複パケット検出手段が検出した重複パケットを削除する、
ことを特徴とする請求項３または４に記載の通信装置。
【請求項６】
前記送信制御手段は、前記重複パケット検出手段が指定したパケットを削除する、
ことを特徴とする請求項３または４に記載の通信装置。
【請求項７】
前記重複パケット検出手段は、
前記バッファ手段にバッファするパケットから、前記バッファ手段にバッファされているパケットと重複するパケットを検出し、
前記送信制御手段は、
該重複するパケットを前記バッファ手段にバッファさせずに削除する、
ことを特徴とする請求項１乃至６のいずれか１項に記載の通信装置。
【請求項８】
前記重複パケット検出手段は、
前記バッファ手段にバッファされているパケットから、前記バッファ手段にバッファするパケットと重複するパケットを検出し、
前記送信制御手段は、
該重複するパケットを前記バッファ手段から削除する、
ことを特徴とする請求項１乃至６のいずれか１項に記載の通信装置。
【請求項９】
前記重複パケット検出手段は、
前記バッファ手段にバッファされているパケットから、前記送信手段が送信したパケットと重複するパケットを検出し、
前記送信制御手段は、
前記重複パケット検出手段が検出した重複パケットを前記バッファ手段から削除する、
ことを特徴とする請求項１乃至８のいずれか１項に記載の通信装置。
【請求項１０】
前記送信対象パケットは、コネクション型プロトコルによって送信されるパケットであり、
前記重複パケット検出手段は、
前記コネクション型プロトコルによって付加されるヘッダ情報に基づいて、前記送信対象パケットから重複するパケットを検出する、
ことを特徴とする請求項１乃至９のいずれか１項に記載の通信装置。
【請求項１１】
前記通信装置は、移動体通信端末である、
ことを特徴とする請求項１乃至１０のいずれか１項に記載の通信装置。
【請求項１２】
記憶装置に送信パケットをバッファし、該バッファしたパケットを送信する通信装置を制御するコンピュータに、
再送動作によって発生する重複パケットを送信対象パケットから検出する機能と、
重複パケットを検出した場合、当該重複パケットの一つのみを送信する機能と、
を実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置およびプログラムに関し、特に、再送を伴う通信に好適な通信装置およびプログラムに関する。
【背景技術】
【０００２】
インターネットの普及により、ＩＰ（Internet Protocol）をベースとしたデータ通信が広くおこなわれている。このＩＰプロトコルは、ＯＳＩ基本参照モデルのネットワーク層（第３層）のプロトコルであり、ＩＰアドレスによって示される宛先にデータを転送する。このようなＩＰプロトコルで転送されるデータは、通常、上位層となるトランスポート層（第４層）のプロトコルを用いることで、信頼性のある通信をおこなっている。
【０００３】
例えば、トランスポート層の代表的なプロトコルであるＴＣＰ（Transmission Control Protocol）は、転送したデータが相手先で受け取られたことを確認しながら通信することで、転送対象のデータが確実に相手先に届くようにしている（いわゆる、コネクション型プロトコル）。この場合において、受信側では、受信したことを示す確認応答をパケット単位で送信側に返信するが、送信したパケットが受信側に届かない場合、確認応答が送信側に通知されないことになる。このように確認応答の返信が所定時間以上ない場合、送信側がパケットを再送することで、確実なデータ転送をおこなっている（例えば、特許文献１）。
【特許文献１】特開平１１−３３１２６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このようなＴＣＰ／ＩＰなどのプロトコルを用いたデータ通信は、パーソナルコンピュータなどの情報処理装置はもとより、携帯電話などの移動体通信端末でも広くおこなわれている。移動体通信端末の場合、基地局との無線通信によって通信がおこなわれ、かつ、端末の移動が伴うので、例えば、無線通信の寸断や通信速度の低下などといった通信品質の低下が起きることがある。このような通信品質の低下により送信待ちバッファにバッファされたパケットが送信できない場合、送信待ちバッファにバッファされたまま、再送対象としてもバッファされることになる。
【０００５】
一般的な再送動作では、確認応答が返信されるまでの経過時間（タイムアウト時間）に基づいて再送がおこなわれるので、通信品質が低下している期間が長くなると、多くの再送対象パケットがバッファされることになる。つまり、通信できない期間がタイムアウト時間より長ければ、各パケットについて複数回の再送動作がおこなわれることになり、この場合、再送回数に応じて再送対象パケットが重複してバッファに蓄積されることになる。
【０００６】
例えば、再送待ち時間に関する規定を示しているＲＦＣ１１２２では、最初の待ち時間は１秒、次は２秒、その次は４秒、というように再送待ち時間を倍加させる方法が提唱されており、この方法が一般的となっている。そして、例えば、ＩＳ２０００方式の移動体通信端末では、無線通信が途切れた場合、最短５秒で再接続してパケット通信を継続する仕様がとられている。よって、移動体通信端末で無線通信の寸断が生じた場合において、無線通信が途切れた瞬間に送信したパケットについては、無線通信が再接続されるまでに、少なくとも２回の再送動作がおこなわれることになる。このため、送信待ちバッファに残った当初のパケットを含め、最低でも３つの同一パケットがバッファされていることになる。
【０００７】
そして、通信状態が回復して再接続されると、このようにバッファされたパケットがまとめて送信されることになる。しかしながら、同一のパケットについては１つだけが受信側に届けばよいので、このような重複パケットを大量に受信することは、受信側の処理負荷を必要以上に増大させてしまう。また、パケットが大量に送信されることによってネットワークにも負荷がかかる。さらに、データ通信料金がデータ長単位で課金されるのであれば、実質的には無用なパケットの送信によって課金額が増大してしまうので、送信側のユーザにとっても不都合である。
【０００８】
本発明は、上記実状に鑑みてなされたものであり、効率的な送信制御ができる通信装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の第１の観点に係る通信装置は、
送信対象パケットをバッファするバッファ手段と、
前記バッファ手段にバッファされているパケットを送信する送信手段と、を備えた通信装置において、
再送動作によって発生する重複パケットを送信対象パケットから検出する重複パケット検出手段と、
前記重複パケット検出手段が重複パケットを検出した場合、当該重複パケットの一つのみを前記送信手段に送信させる送信制御手段と、
を備えることを特徴とする。
【００１０】
上記通信装置において、
前記重複パケット検出手段は、前記バッファ手段にバッファされたパケットの中で重複するパケットを検出するようにしてもよく、この場合、
前記送信制御手段は、前記重複パケット検出手段が検出した重複パケットの一つを残して他の重複パケットを前記バッファ手段から削除することが望ましい。
【００１１】
この場合、
前記重複パケット検出手段は、前記バッファ手段にバッファされているパケットを古い順に指定し、該指定したパケットと重複するパケットを検出してもよい。
【００１２】
あるいは、
前記重複パケット検出手段は、前記バッファ手段にバッファされているパケットを新しい順に指定し、該指定したパケットと重複するパケットを検出してもよい。
【００１３】
上記通信装置において、
前記送信制御手段は、前記重複パケット検出手段が検出した重複パケットを削除することができる。
【００１４】
あるいは、
前記送信制御手段は、前記重複パケット検出手段が指定したパケットを削除してもよい。
【００１５】
上記通信装置において、
前記重複パケット検出手段は、
前記バッファ手段にバッファするパケットから、前記バッファ手段にバッファされているパケットと重複するパケットを検出してもよく、この場合、
前記送信制御手段は、
該重複するパケットを前記バッファ手段にバッファさせずに削除することが望ましい。
【００１６】
あるいは、
前記重複パケット検出手段は、
前記バッファ手段にバッファされているパケットから、前記バッファ手段にバッファするパケットと重複するパケットを検出してもよく、この場合、
前記送信制御手段は、
該重複するパケットを前記バッファ手段から削除してもよい。
【００１７】
上記通信装置において、
前記重複パケット検出手段は、
前記バッファ手段にバッファされているパケットから、前記送信手段が送信したパケットと重複するパケットを検出してもよく、この場合、
前記送信制御手段は、
前記重複パケット検出手段が検出した重複パケットを前記バッファ手段から削除することが望ましい。
【００１８】
上記通信装置において、
前記送信対象パケットは、コネクション型プロトコルによって送信されるパケットとすることができ、この場合、
前記重複パケット検出手段は、
前記コネクション型プロトコルによって付加されるヘッダ情報に基づいて、前記送信対象パケットから重複するパケットを検出することが望ましい。
【００１９】
上記通信装置は、移動体通信端末とすることができる。
【００２０】
上記目的を達成するため、本発明の第２の観点にかかるプログラムは、
記憶装置に送信パケットをバッファし、該バッファしたパケットを送信する通信装置を制御するコンピュータに、
再送動作によって発生する重複パケットを送信対象パケットから検出する機能と、
重複パケットを検出した場合、当該重複パケットの一つのみを送信する機能と、
を実現させることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、効率的な送信制御をおこなうことができる。
【発明を実施するための最良の形態】
【００２２】
本発明にかかる実施形態を、図面を参照して以下に説明する。本実施形態では、本発明にかかる通信装置を移動体通信端末によって実現した場合を例に説明する。本実施形態にかかる移動体通信端末１００は、例えば、携帯電話やＰＨＳ（Personal Handyphone System）などといった移動体通信に用いられる電話装置であり、基地局との無線通信によって移動体通信網（セルラー網）やＩＰ網（インターネット）などの通信ネットワークに接続され、音声通話やデータ通信などをおこなうものである。
【００２３】
本実施形態にかかる移動体通信端末１００は、少なくともデータ通信機能（例えば、ウェブアクセス機能や電子メールの送受信機能、など）を備えているものとする。このようなデータ通信に用いられるプロトコルとして、本実施形態では、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）が採用されているものとする。ここで、ＩＰは、ＯＳＩ基本参照モデルの第３層（ネットワーク層）のプロトコルであり、ＴＣＰは、その上位レイヤとなる第４層（トランスポート層）のプロトコルである。ＴＣＰは、下位レイヤのＩＰにはない再送制御機能などを備え、このような機能によって通信の信頼性を実現するコネクション型プロトコルである。
【００２４】
本実施形態にかかる移動体通信端末１００の構成を、図面を参照して以下説明する。まず、図１を参照して、移動体通信端末１００のハードウェア構成を説明する。図示するように、移動体通信端末１００は、制御部１１０、通信制御部１２０、操作部１３０、表示部１４０、音声処理部１５０、記憶部１６０、などから構成される。
【００２５】
制御部１１０は、例えば、ＣＰＵ（Central Processing Unit：中央演算処理装置）やワークエリアとなるＲＡＭ（Random Access Memory）などから構成され、所定の動作プログラムを実行することで移動体通信端末１００の各部を制御する。すなわち、移動体通信端末１００の各構成は制御部１１０によって制御されるとともに、各構成間の情報伝達などは制御部１１０を介しておこなわれる。
【００２６】
通信制御部１２０は、例えば、移動体通信用の無線通信デバイスなどから構成され、基地局と無線通信するためのアンテナ１２１による電波送受信を制御することで、基地局との無線通信をおこなう。本実施形態では、通信制御部１２０によって、移動体通信端末１００のデータ通信機能にかかる送受信がおこなわれる。
【００２７】
操作部１３０は、移動体通信端末１００の外面上に構成されたボタンやキーなどから構成され、移動体通信端末１００のユーザによって操作される。また、操作部１３０は、各ボタンやキーなどと接続された入力回路などを備え、ユーザの操作に応じた入力信号を生成して制御部１１０に入力する。
【００２８】
表示部１４０は、例えば、液晶表示装置などから構成された表示出力装置であり、制御部１１０の制御によって画像等を表示出力する。
【００２９】
音声処理部１５０は、例えば、音声入出力用のスピーカ１５１やマイクロフォン１５２、コーデック回路などから構成され、移動体通信端末１００の通話機能などにかかる音声の処理をおこなう。
【００３０】
記憶部１６０は、例えば、ＲＯＭ（Read Only Memory）やフラッシュメモリなどの記憶装置から構成され、制御部１１０が実行する動作プログラムを格納する他、本発明を実現するために必要な種々のデータを格納する。図１に示すように、本実施形態では、送信待ちバッファ領域１６１、受信データ格納領域１６２、再送バッファ領域１６３、プログラム格納領域１６４、などの記憶領域が記憶部１６０に用意されている。
【００３１】
送信待ちバッファ領域１６１は、移動体通信端末１００のデータ通信機能によって通信制御部１２０が送信するデータを一時格納するバッファ領域である。つまり、送信対象となるデータは制御部１１０で生成されるが（詳細後述）、通信制御部１２０による無線通信で送信できる速度と、ＣＰＵなどの制御部１１０がデータを生成する速度には大きな差があるため、このような速度差を緩衝するために、生成された送信データをバッファする。送信待ちバッファ領域１６１ではＦＩＦＯ（First In First Out）方式がとられていることとする。すなわち、送信待ちバッファ領域１６１に格納された順に通信制御部１２０が送信する。
【００３２】
受信データ格納領域１６２は、移動体通信端末１００のデータ通信機能によって通信制御部１２０が受信したデータを格納する記憶領域である。
【００３３】
再送バッファ領域１６３は、ＴＣＰの再送制御機能により再送対象となったパケットを一時格納する。ここでは、送信されたパケットのいずれもが再送対象となる可能性があるので、通信制御部１２０が送信したパケットはすべて再送バッファ領域１６３に一時格納される。
【００３４】
プログラム格納領域１６４は、制御部１１０が実行するプログラムを格納するための領域である。プログラム格納領域１６４には、移動体通信端末１００全体の動作を制御するための基本ソフトウェア（いわゆる、ＯＳ）や、移動体通信端末１００の種々の機能を実現するためのアプリケーションソフトウェアなどが格納される。
【００３５】
本実施形態では、制御部１１０がプログラム格納領域１６４に格納されているプログラムを実行することで、本実施形態にかかる処理をおこなうための機能構成が実現される。制御部１１０によって実現される機能構成を以下説明する。ここでは、移動体通信端末１００がデータ通信の再送制御をおこなう際に必要となる機能構成を説明する。
【００３６】
図２を参照して、移動体通信端末１００の機能構成を説明する。図２は、制御部１１０によって実現される移動体通信端末１００の機能構成を示す機能ブロック図である。図示するように、制御部１１０は、送信データ生成部１１１、送信処理部１１２、再送処理部１１３、などとして機能する。
【００３７】
送信データ生成部１１１は、移動体通信端末１００のデータ通信機能で通信する際に、移動体通信端末１００から送信するデータを生成する。ここで、本実施形態では、ＴＣＰ／ＩＰなどのように複数のプロトコルを用いたデータ通信をおこなうので、送信データ生成部１１１では、各プロトコルに応じた所定のヘッダ情報を付加しながらデータのパケット化をおこなうことで送信データを生成する。本実施形態では、送信データ生成部１１１によってＴＣＰ／ＩＰパケットが生成されるものとする。
【００３８】
送信処理部１１２は、送信データ生成部１１１が生成した送信データを送信待ちバッファ領域１６１にバッファするとともに、バッファした送信データの送信を通信制御部１２０に指示する。
【００３９】
再送処理部１１３は、通信制御部１２０などとの協働により、送信処理部１１２が送信した送信データについて、ＴＣＰなどの再送制御機能に基づいた再送動作をおこなう。
【００４０】
ここで、ＴＣＰでは、送信されたＴＣＰパケットのヘッダに示されているシーケンス番号に基づいた応答確認番号を含んだ応答確認が、受信側から返信されることで送信データが受信側に届いたかを確認している。また、上述したように、通信制御部１２０によって送信がおこなわれたパケットのすべてが再送バッファ領域１６３に一時格納されている。よって、再送処理部１１３は、受信データ格納領域１６２にバッファされている受信パケットを参照し、送信処理部１１２が記録した送信時刻からタイムアウト時間経過しても応答確認を受信していないパケットを再送対象とする。この場合、再送処理部１１３は、再送バッファ領域１６３にある当該パケットを送信待ちバッファ領域１６１にバッファし、通信制御部１２０に送信させる。
【００４１】
本実施形態では、制御部１１０がプログラムを実行することで上述した機能構成が論理的に実現されるものとするが、これらの機能構成を、例えば、ＡＳＩＣ（Application Specific Integrated Circuit：特定用途向け集積回路）などのハードウェアによって物理的に構成してもよい。
【００４２】
以上の構成は、本発明を実現するために必要な構成であり、移動体通信端末としての基本機能や付加機能のために必要なその他の構成については、必要に応じて備えられているものとする。
【００４３】
以上のような構成を有する移動体通信端末１００でデータ送信する際に実行される動作の例を以下説明する。
【００４４】
（実施形態１）
まず、データ通信機能にかかるデータ送信の際に実行される「データ送信処理」を、図３に示すフローチャートを参照して説明する。ここでは、制御部１１０の動作により、データ通信機能にかかるアプリケーション（例えば、ウェブブラウザやメーラなど）が実行されているものとし、このアプリケーションがデータ送信をおこなう場合に本処理が開始されるものとする。
【００４５】
処理が開始されると、送信データ生成部１１１は、実行中のアプリケーションなどが生成した送信対象データを送信するための送信データを生成する（ステップＳ１１）。ここでは、ＴＣＰ／ＩＰに基づいた送信データが生成される。ここで生成される送信データのデータ構成例を図４に示す。図示するように、ＩＰパケットのデータ領域に、ＴＣＰパケット（ＴＣＰセグメント）が含まれるような構造で送信データが生成される。ＴＰＣパケットにおいては、ＴＣＰヘッダが付与されており、送信元ポート番号、送信先ポート番号、シーケンス番号、確認応答番号、などといった制御情報が含まれている。
【００４６】
送信データ生成部１１１によって送信データ（ＴＣＰ／ＩＰパケット）が生成されると、送信処理部１１２は、生成された送信データの複製を生成し、一方を送信待ちバッファ領域１６１にバッファするとともに、他方を再送バッファ領域１６３にバッファする（ステップＳ１２）。
【００４７】
送信したパケットが不達となるのは伝送路上の問題に起因するので、いずれのパケットが確実に到達するかは送信時には不明である。よって、送信するパケットのいずれもが再送対象となり得るので、送信時に複製を生成して再送バッファ領域１６３にバッファしておく。
【００４８】
送信処理部１１２は、このようにして送信データをバッファすると、再送制御をおこなうための時間経過を認識するために、処理したパケットを送信待ちバッファ領域１６１にバッファした時点をそのパケットの送信時刻として記録する（ステップＳ１３）。この場合、少なくとも、当該ＴＣＰパケットを特定するためのシーケンス番号と送信時刻とを、例えば、再送バッファ領域１６３に記録する。
【００４９】
送信処理部１１２は、送信待ちバッファ領域１６１にバッファしたパケットの送信を通信制御部１２０に指示するとともに、送信したパケットを再送処理部１１３に通知する。
【００５０】
この場合、通信制御部１２０は、送信処理部１１２からの指示に応じて、送信待ちバッファ領域１６１にバッファされているパケットの送信を試みる。
【００５１】
再送処理部１１３は、送信処理部１１２からの通知に応じて、受信データ格納領域１６２に格納されている受信パケットを参照し、送信処理部１１２が記録した送信パケットに対する応答確認を含むパケットが、送信時刻からタイムアウト時間が経過するまでに受信されているか否かを判別する（ステップＳ１４）。
【００５２】
ここで、通信状態が良好な場合、送信待ちバッファ領域１６１にバッファされた送信パケットは、通信制御部１２０によって順次送信される。そして、相手先に到達した場合は、確認応答を示すパケット（ＡＣＫ）が返信され受信データ格納領域１６２に一時格納される。
【００５３】
このように、タイムアウト時間が経過する前に応答確認が得られた場合（ステップＳ１４：Ｙｅｓ）、当該パケットを再送する必要はない。よって、再送処理部１１３は、再送バッファ領域１６３にバッファされている当該パケットを削除する（ステップＳ１５）。
【００５４】
一方、タイムアウト時間が経過しても確認応答が得られない場合（ステップＳ１４：Ｎｏ）、当該パケットが相手先に到達していないので再送する必要がある。よって、再送処理部１１３は、送信パケットを再送するための「送信制御処理」を実行する（ステップＳ１００）。
【００５５】
そして、所定の終了要件が発生するまで上記の処理を繰り返しおこなうことにより、移動体通信端末１００からのデータ送信がおこなわれる（ステップＳ１６：Ｎｏ）。
【００５６】
確認応答が得られない場合に再送処理部１１３が実行する「送信制御処理」を以下に説明する。
【００５７】
ここで、本発明にかかる送信制御処理を説明する前に、本実施形態にかかる構成で従来の再送動作をおこなった場合の動作例を、図５に示すフローチャートを参照して説明する。
【００５８】
本実施形態では、パケットの再送がおこなわれる状況として、通信制御部１２０と基地局との無線通信の状態が悪く、通信制御部１２０による送信がおこなえない場合を想定する。つまり、送信待ちバッファ領域１６１にバッファされた送信パケットが送信されない状態である。この場合、送信待ちバッファ領域１６１と再送バッファ領域１６３のそれぞれに同一のパケットがバッファされていることになる。
【００５９】
つまり、図６（ａ）に示すように、例えば、送信待ちバッファ領域１６１にパケットＡ１〜パケットＣ１がバッファされているとした場合、それぞれの複製であるパケットＡ２〜パケットＣ２が再送バッファ領域１６３にも格納されていることになる。
【００６０】
ここで、通信制御部１２０から送信することができないので、送信待ちバッファ領域１６１にバッファされている各パケットについての確認応答は得られていない。この場合において、再送処理部１１３は、送信処理部１１２が処理した時点の送信時刻からタイムアウト時間経過しても確認応答のないパケットを再送対象とするので、再送バッファ領域１６３にバッファされているパケットは再送対象となる。
【００６１】
この場合、再送処理部１１３は、所定の再送待ち時間が経過したことを契機に（ステップＳ１０１：Ｙｅｓ）、再送バッファ領域１６３に格納されているパケットの送信を送信処理部１１２に指示する。
【００６２】
送信処理部１１２は、再送処理部１１３から通知された再送対象パケットを通信制御部１２０に送信させるため、送信待ちバッファ領域１６１にバッファするとともに、当該パケットを再送するため、これらの複製を生成して再送バッファ領域１６３にバッファする（ステップＳ１０２）。また、送信処理部１１２は、その時点の時刻を送信時刻として記録する（ステップＳ１０３）。
【００６３】
ここで、通信状態が依然として回復していない場合、送信待ちバッファ領域１６１にバッファされた送信パケットはまだ送信待ちバッファ領域１６１に残っている。この状態で再送対象パケットも送信待ちバッファ領域１６１にバッファするので、図６（ｂ）に示すように、送信待ちバッファ領域１６１には、当初の送信パケットであるパケットＡ１〜パケットＣ１に加え、これらの複製であるパケットＡ２〜パケットＣ２もバッファされることになる。また、パケットＡ２〜パケットＣ２が送信処理に供されたことにより、これらの複製であるパケットＡ３〜パケットＣ３が再送バッファ領域１６３にバッファされる。
【００６４】
ここで、通信状態が回復すれば、送信待ちバッファ領域１６１にバッファされているパケットは通信制御部１２０によって順次送信されるが、通信制御部１２０による送信ができない状態が継続した場合、送信待ちバッファ領域１６１にバッファした再送対象パケットについての再送動作がおこなわれることになる。
【００６５】
つまり、送信待ちバッファ領域１６１にバッファしているパケットについての確認応答がタイムアウト時間を経過しても得られない場合（ステップＳ１０４：Ｎｏ）、再送バッファ領域１６３にバッファされているパケットを再送対象として（ステップＳ１０５）、ステップＳ１０１以降の処理がおこなわれる。
【００６６】
すなわち、図６（ｃ）に示すように、再送バッファ領域１６３にバッファされているパケットＡ３〜パケットＣ３が送信待ちバッファ領域１６１にバッファされ、これらの複製であるパケットＡ４〜パケットＣ４が再送バッファ領域１６３にバッファされる。
【００６７】
ここで、再送対象パケットについての再送待ち時間が、例えば、ＲＦＣ１１２２などの規定に準じて、最初の待ち時間を１秒、次を２秒、その次を４秒というように倍加して設定されるものとし、かつ、例えば、ＩＳ２０００方式などの仕様に基づき、無線通信の回復までに少なくとも５秒間かかるものとすれば、無線通信が回復するまでに少なくとも２回の再送動作がおこなわれるので、図６（ｃ）に示すように、送信待ちバッファ領域１６１には、同一のパケットが３つバッファされることになる（例えば、パケットＡ１、Ａ２、Ａ３）。つまり、最初の送信対象パケットと、これと重複する２つの再送対象パケットが送信待ちでバッファされていることになる。
【００６８】
このような状況で無線通信が回復すると、通信制御部１２０は、送信待ちバッファ領域１６１にバッファされているパケットを順次送信することになる。
【００６９】
このように送信がおこなわれれば、送信したパケットについての応答確認がえられるので（ステップＳ１０４：Ｙｅｓ）、再送処理部１１３は、再送バッファ領域１６３にバッファされた再送対象パケット（図６（ｃ）におけるパケットＡ４〜パケットＣ４）を削除し（ステップＳ１０６）、図３に示すデータ送信処理のフローに戻ることになる。
【００７０】
このように、従来の再送動作では、送信をおこなえない状況が長時間続くと、送信待ちバッファ領域１６１に大量の重複パケットがバッファされ、これらがまとめて送信されることになる。この場合、重複しているパケットは不要なパケットであるため、このような重複パケットを大量に送信することは好ましくない。
【００７１】
本発明にかかる動作によれば、このような従来の再送動作による不都合の解消を図ることができる。この場合に実行される「送信制御処理」を以下に説明する。
【００７２】
まず、送信待ちバッファ領域１６１に重複パケットがバッファされている場合に有効な処理を説明する。この場合に実行される「送信制御処理（１）」を、図７に示すフローチャートを参照して説明する。この処理は、図３に示すデータ送信処理において、送信待ちバッファ領域１６１にバッファされた送信データについての確認応答がタイムアウト時間経過しても得られない場合に開始される。
【００７３】
処理が開始されると、再送処理部１１３は、所定の再送待ち時間が経過したことを契機に（ステップＳ１１１：Ｙｅｓ）、再送バッファ領域１６３に格納されているパケットの送信を送信処理部１１２に指示する。
【００７４】
送信処理部１１２は、再送処理部１１３から通知された再送対象パケットを通信制御部１２０に送信させるため、送信待ちバッファ領域１６１にバッファするとともに、当該パケットを再送するため、これらの複製を生成して再送バッファ領域１６３にバッファする（ステップＳ１１２）。
【００７５】
送信処理部１１２は、再送対象パケットを送信処理に供したことを再送処理部１１３に通知する。再送処理部１１３は、送信処理部１１２からの通知に応じて、送信待ちバッファ領域１６１にアクセスし、格納されているパケットの中で最も古いパケットを指定する。
【００７６】
ここで、送信待ちバッファ領域１６１はＦＩＦＯ方式であるので、送信処理部１１２から提供された順にパケットが格納されている。ここでは、格納された順に１〜Ｎの格納番号が各パケットに割り当てられているものとする。よって、再送処理部１１３は、格納番号を指定するポインタｎに初期値１を設定し（ステップＳ１１３）、ｎ番目のパケットを最も古いパケットとして指定する（ステップＳ１１４）。
【００７７】
再送処理部１１３は、ステップＳ１１４で指定したパケットのヘッダ情報を取得する（ステップＳ１１５）。そして、送信待ちバッファ領域１６１にバッファされている他のパケット（格納番号が２〜Ｎ）に同じヘッダ情報のパケットがないか検索する。
【００７８】
指定したパケットのヘッダ情報と同じヘッダ情報のパケットがあれば、再送処理部１１３は、指定したパケットと重複するパケットとして検出する（ステップＳ１１６：Ｙｅｓ）。この場合、当該重複パケットを送信待ちバッファ領域１６１から削除する（ステップＳ１１７）。すなわち、送信待ちバッファ領域１６１にバッファされた送信パケットの複製が再送バッファ領域１６３にバッファされているので、再送バッファ領域１６３のパケットを送信待ちバッファ領域１６１にバッファした場合、同じヘッダ情報のパケットが複数送信待ちバッファ領域１６１に存在することになるので、このような重複パケットを削除することで、通信制御部１２０による送信ができない場合には、最初に送信対象として送信待ちバッファ領域１６１にバッファされたパケットのみが送信待ちバッファ領域１６１に残ることになる。
【００７９】
このようにして重複するパケットを削除した場合、あるいは、指定したパケットと重複するパケットがない場合（ステップＳ１１６：Ｎｏ）、再送処理部１１３は、格納番号のポインタｎを＋１し（ステップＳ１１８）、ｎ番目のパケットが最終パケットでなければ（ステップＳ１１９：Ｎｏ）、ｎ番目のパケットについて、ステップＳ１１４〜ステップＳ１１７）の処理をおこなう。すなわち、送信待ちバッファ領域１６１に格納されているパケットを古い順に指定していき、指定したパケットと重複するパケットがあれば送信待ちバッファ領域１６１から削除する。
【００８０】
そして、送信待ちバッファ領域１６１に格納されているすべてのパケットについて、重複パケットの検出と削除をおこなうと（ステップＳ１１９：Ｙｅｓ）、再送処理部１１３は、重複パケットを削除したことを送信処理部１１２に通知する。送信処理部１１２は、再送処理部１１３からの通知に応じて、その時点の時刻を送信時刻して記録し（ステップＳ１２０）、図３に示すデータ送信処理のフローに戻る。
【００８１】
以上のような処理により、送信待ちバッファ領域１６１には重複するパケットが存在しなくなる。よって、通信制御部１２０による送信が可能となったときに送信されるパケットには重複パケットが含まれない。つまり、重複するパケットが送信待ちバッファ領域１６１にある場合、そのうちの一つのみが送信される。
【００８２】
このような処理は、通信制御部１２０が送信できないために送信待ちバッファ領域１６１に重複パケットが多数蓄積されてしまった場合に有効な方法である。ここで、送信待ちバッファ領域１６１にあるパケットを古い順に指定しているので、通信制御部１２０の送信が可能となったときに送信されるパケットの順で重複パケットが削除される。よって、通信制御部１２０が突然送信可能となったときでも、重複パケットが送信されることを防ぐことができる。
【００８３】
なお、重複しているパケットの一つのみが送信されるようにすればよいので、重複パケットが検出された場合に、再送処理部１１３が指定したパケットの方を送信待ちバッファ領域１６１から削除してもよい。
【００８４】
また、再送処理部１１３は、送信待ちバッファ領域１６１にバッファされているパケットを新しい順に指定してもよい。この場合、ステップＳ１１３においてポインタｎに初期値Ｎを設定し、ステップＳ１１８においてポインタｎを−１し、ステップＳ１１９においてｎが１となったか判別するようにすればよい。
【００８５】
新しい順に指定した場合、指定したパケットと重複するパケットを削除してもよいが、重複パケットが検出された場合に指定したパケットを削除することが望ましい。これは、通信状態が突然回復し、送信待ちバッファ領域１６１のパケットが送信され始めてしまった場合、重複パケットの送信順が前の方であると、削除する前に送信されてしまうことが考えられるためである。よって、指定したパケット（すなわち、新たに送信待ちバッファ領域１６１にバッファされたパケット）を削除するようにすれば、通信状態が突然回復しても、重複パケットが送信されることを防ぐことができる。
【００８６】
（実施形態２）
実施形態１では、送信待ちバッファ領域１６１に重複パケットがバッファされている場合に好適な動作例を示したが、送信待ちバッファ領域１６１に重複パケットをバッファさせないように動作してもよい。この場合に実行される「送信制御処理（２）」を、図８に示すフローチャートを参照して説明する。この送信制御処理（２）は、実施形態１におけるデータ送信処理に代わって実行されるものである。よって、上述したデータ送信処理と同様に、データ通信機能にかかるアプリケーションがデータ送信をおこなうことなどを契機に本処理が開始されるものとする。
【００８７】
処理が開始されると、送信データ生成部１１１は、実行中のアプリケーションなどが生成した送信対象データを送信するための送信データを生成する（ステップＳ２０１）。ここでは、上述したデータ送信処理の場合と同様に、図４に示すようなデータ構造の送信データが生成される。
【００８８】
送信データ生成部１１１によって送信データ（ＴＣＰ／ＩＰパケット）が生成されると、送信処理部１１２は、生成された送信データの複製を生成し、一方を送信待ちバッファ領域１６１にバッファするとともに、他方を再送バッファ領域１６３にバッファする（ステップＳ２０２）。
【００８９】
送信処理部１１２は、このようにして送信データをバッファすると、処理したパケットを送信待ちバッファ領域１６１にバッファした時点をそのパケットの送信時刻とし、当該パケットのシーケンス番号と対応づけて再送バッファ領域１６３に記録する（ステップＳ２０３）。
【００９０】
送信処理部１１２は、送信待ちバッファ領域１６１にバッファしたパケットの送信を通信制御部１２０に指示するとともに、送信したパケットを再送処理部１１３に通知する。
【００９１】
通信制御部１２０は、送信処理部１１２からの指示に応じて、送信待ちバッファ領域１６１にバッファされているパケットの送信を試みる。
【００９２】
一方、再送処理部１１３は、送信処理部１１２からの通知に応じて、受信データ格納領域１６２に格納されている受信パケットを参照し、送信処理部１１２が記録した送信パケットに対する応答確認を含むパケットが、送信時刻からタイムアウト時間が経過するまでに受信されているか否かを判別する（ステップＳ２０４）。
【００９３】
タイムアウト時間が経過する前に応答確認が得られた場合（ステップＳ２０４：Ｙｅｓ）、当該パケットを再送する必要はない。よって、再送処理部１１３は、再送バッファ領域１６３にバッファされている当該パケットを削除する（ステップＳ２０５）。
【００９４】
一方、タイムアウト時間が経過しても確認応答が得られない場合（ステップＳ２０４：Ｎｏ）、再送処理部１１３は、所定の再送待ち時間が経過したことを契機に（ステップＳ２０６：Ｙｅｓ）、再送バッファ領域１６３に格納されているパケットを再送対象として指定し、指定したパケットのヘッダ情報を取得する（ステップＳ２０７）。
【００９５】
次に再送処理部１１３は、送信待ちバッファ領域１６１にアクセスし、ステップＳ２０７で取得したヘッダ情報と同じヘッダ情報のパケットが送信待ちバッファ領域１６１にバッファされているか走査する。つまり、再送用パケットと重複するパケットが送信待ちバッファ領域１６１にあるか判別する。
【００９６】
再送パケットと重複するパケットが送信待ちバッファ領域１６１から検出された場合（ステップＳ２０８：Ｙｅｓ）、再送処理部１１３は、当該重複するパケットを送信待ちバッファ領域１６１から削除する（ステップＳ２０９）。
【００９７】
このようにして、再送パケットと重複するパケットを送信待ちバッファ領域１６１から削除した場合、あるいは、再送パケットと重複するパケットが送信待ちバッファ領域１６１にない場合（ステップＳ２０８：Ｎｏ）、再送処理部１１３は、当該再送パケットの送信を送信処理部１１２に指示する。送信処理部１１２は、再送処理部１１３から指示されたパケットを再送バッファ領域１６３から取得して送信待ちバッファ領域１６１にバッファする（ステップＳ２１０）。
【００９８】
そして、バッファした時点をそのパケットの送信時刻とし、当該パケットのシーケンス番号と対応づけて再送バッファ領域１６３に記録するとともに、通信制御部１２０に送信を指示する（ステップＳ２０３）。
【００９９】
ここで、上述したように通信制御部１２０から送信がおこなえない状態であれば、送信待ちバッファ領域１６１に送信待ちのパケットが蓄積されることになるが、再送パケットと重複するパケットは送信待ちバッファ領域１６１から削除されている。よって、通信制御部１２０から送信できる状態になったときでも、重複するパケットが送信されることを防ぐことができる。
【０１００】
このようにして送信された場合、確認応答が受信できることになる（ステップＳ２０４：Ｙｅｓ）。この場合、所定の終了要件が発生するまでステップＳ２０１以降の処理が繰り返されることで、データ送信動作が継続される（ステップＳ２１１：Ｎｏ）。一方、所定の終了要件が発生した際には（ステップＳ２１１：Ｙｅｓ）、本処理を終了する。
【０１０１】
このような処理により、タイムアウトによる再送処理をおこなう際に、再送用として再送バッファ領域１６３にバッファしておいたパケットと重複するパケットが送信待ちバッファ領域１６１から検出された場合、再送パケットと重複するパケットを送信待ちバッファ領域１６１から削除するので、送信待ちバッファ領域１６１に重複パケットが蓄積されることがない。
【０１０２】
つまり、再送バッファ領域１６３のパケットと送信待ちバッファ領域１６１のパケットに重複が生じても、そのうちの一つのみが送信されることになる。
【０１０３】
このように、送信処理部１１２よる複製動作などがおこなわれる前に重複パケットを削除するので、重複となるパケットが生成されてから削除するよりも処理効率が高い。
【０１０４】
（実施形態３）
上記各実施形態では、通信制御部１２０による送信ができない期間中に、重複パケットを削除する動作を例示したが、例えば、通信状態が回復して通信制御部１２０から送信できる状態となったときに、重複パケットが送信されることを回避する動作をおこなってもよい。この場合に実行される「送信制御処理（３）」を、図９に示すフローチャートを参照して説明する。
【０１０５】
この送信制御処理（３）は、上述した送信制御処理（２）の場合と同様、データ送信をおこなうときに開始される。また、本実施形態では、通信制御部１２０の動作によってパケットの送信ができた場合に、その旨を示す送信成否情報が通信制御部１２０から制御部１１０に入力されるものとする。
【０１０６】
処理が開始されると、送信データ生成部１１１は、実行中のアプリケーションなどが生成した送信対象データを送信するための送信データを生成する（ステップＳ３０１）。ここでは、上述したデータ送信処理の場合と同様に、図４に示すようなデータ構造の送信データが生成される。
【０１０７】
送信データ生成部１１１によって送信データ（ＴＣＰ／ＩＰパケット）が生成されると、送信処理部１１２は、生成された送信データの複製を生成し、一方を送信待ちバッファ領域１６１にバッファするとともに、他方を再送バッファ領域１６３にバッファする（ステップＳ３０２）。
【０１０８】
送信処理部１１２は、このようにして送信データをバッファすると、処理したパケットを送信待ちバッファ領域１６１にバッファした時点をそのパケットの送信時刻とし、当該パケットのシーケンス番号と対応づけて再送バッファ領域１６３に記録する（ステップＳ３０３）。
【０１０９】
送信処理部１１２は、送信待ちバッファ領域１６１にバッファしたパケットの送信を通信制御部１２０に指示するとともに、送信したパケットを再送処理部１１３に通知する。
【０１１０】
通信制御部１２０は、送信処理部１１２からの指示に応じて、送信待ちバッファ領域１６１にバッファされているパケットの送信を試みる。
【０１１１】
一方、再送処理部１１３は、送信処理部１１２からの通知に応じて、受信データ格納領域１６２に格納されている受信パケットを参照し、送信処理部１１２が記録した送信パケットに対する応答確認を含むパケットが、送信時刻からタイムアウト時間が経過するまでに受信されているか否かを判別する（ステップＳ３０４）。
【０１１２】
タイムアウト時間が経過する前に応答確認が得られた場合（ステップＳ３０４：Ｙｅｓ）、当該パケットを再送する必要はない。よって、再送処理部１１３は、再送バッファ領域１６３にバッファされている当該パケットを削除する（ステップＳ３０５）。
【０１１３】
一方、タイムアウト時間が経過しても確認応答が得られない場合（ステップＳ３０４：Ｎｏ）、所定の再送待ち時間が経過したことを契機に（ステップＳ３０６：Ｙｅｓ）、再送処理部１１３は、再送バッファ領域１６３にバッファしている再送対象パケットの送信を送信処理部１１２に指示する（ステップＳ３０７）。送信処理部１１２は、再送処理部１１３から指示された再送対象パケットを再送バッファ領域１６３から取得して送信待ちバッファ領域１６１にバッファするとともに、当該パケットの複製を再送バッファ領域１６３に格納する（ステップＳ３０２）。
【０１１４】
送信処理部１１２は、送信待ちバッファ領域１６１にバッファしたパケットの送信を通信制御部１２０に指示するが、通信制御部１２０による送信ができない状態が継続した場合、送信待ちバッファ領域１６１にバッファした再送対象パケットについての再送動作がおこなわれることになる。
【０１１５】
つまり、送信待ちバッファ領域１６１にバッファしているパケットについての確認応答がタイムアウト時間を経過しても得られない場合（ステップＳ３０４：Ｎｏ）、所定の再送待ち時間が経過したことを契機に（ステップＳ３０６：Ｙｅｓ）、再送バッファ領域１６３にバッファされているパケットを再送対象として、ステップＳ３０７の処理がおこなわれることになる。すなわち、通信制御部１２０による送信が可能となるまで、送信待ちバッファ領域１６１には、多数の重複パケットが蓄積されることになる。
【０１１６】
ここで、通信状態が回復し送信できる状態となると、通信制御部１２０は、送信待ちバッファ領域１６１にバッファされているパケットを、バッファされた順に送信をおこなう。このとき通信制御部１２０は、送信したパケット毎に、送信できたことを示す送信成否情報を制御部１１０に入力する。この送信成否情報には、少なくとも、送信できたパケットを特定できる情報（ヘッダ情報など）が含まれているものとする。本実施形態では、当該パケットのシーケンス番号が送信成否情報に示されているものとする。
【０１１７】
制御部１１０では、再送処理部１１３がこの送信成否情報を取得する。再送処理部１１３は、送信成否情報を取得すると（ステップＳ３０８：Ｙｅｓ）、送信待ちバッファ領域１６１にアクセスし、取得した送信成否情報が示すシーケンス番号と同じシーケンス番号がヘッダに含まれているパケットを検索する。
【０１１８】
ここで、送信成否情報が示すパケットはすでに送信されているので、そのシーケンス番号と同じシーケンス番号のパケットは、送信されたパケット（送信済パケット）と重複するパケットである。よって、再送処理部１１３は、このような重複パケットを検出すると（ステップＳ３０９：Ｙｅｓ）、送信待ちバッファ領域１６１から削除する（ステップＳ３１０）。
【０１１９】
これにより、すでに送信したパケットと重複するパケットが送信されることを防ぐことができる。このようにして送信済パケットと重複するパケットを削除した場合、あるいは、送信成否情報の取得がない場合（ステップＳ３０８：Ｎｏ）や送信済パケットと重複するパケットが再送バッファ領域１６３にない場合（ステップＳ３０９：Ｎｏ）、上述した処理が所定の終了要件が発生するまで繰り返され（ステップＳ３１１：Ｎｏ）、終了要件の発生により（ステップＳ３１１：Ｙｅｓ）、本処理は終了する。
【０１２０】
このような動作により、送信できない状態が発生したことで多数の重複パケットが送信待ちバッファ領域１６１に蓄積されても、通信状態の回復によって送信可能となったときに、重複パケットのうちの一つのみが送信されるようにすることができる。
【０１２１】
このような構成によれば、送信できない期間に制御部１１０が重複パケットを削除するための動作をおこなう必要がないので、この間は、例えば、送信データの生成などにリソースを使うことができる。このため、送信待ちバッファ領域１６１に比較的大きな容量を確保できるのであれば、送信できる状態のときにはより効率的な処理をおこなうことができる。
【０１２２】
以上説明したように、本実施形態によれば、送信できない状態が発生したことなどにより、送信対象として同一のパケットが多数用意されてしまう場合であっても、重複するパケットのうちの一つのみを送信するので、効率的な再送制御をおこなうことができる。
【０１２３】
これにより、受信側では不要な重複パケットを大量に受信することがないので、処理負荷が低減される。また、不要なパケットが送信されないので、不必要なネットワーク負荷の増大が生じることもない。さらに、送信側の課金体系がデータ長に基づいている場合、無用な重複パケットの送信で課金額が増大してしまうことを防ぐことができる。
【０１２４】
上記実施形態は一例であり、本発明の適用範囲はこれに限られない。すなわち、種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
【０１２５】
例えば、上記各実施形態では、重複するパケットを削除することとしたが、重複するパケットのうちの一つが送信されるようにできるのであれば、送信制御の方法は任意である。例えば、送信処理部１１２が送信対象パケットを再送用に複製する際に、当該パケットと重複するパケットが送信待ちバッファ領域１６１にバッファされているか調べ、重複パケットが検出された場合には複製をおこなわないようにすることでも重複パケットのうちの一つのみが送信されるようにすることができる。
【０１２６】
あるいは、送信待ちバッファ領域１６１内で重複パケットが検出された場合、当該パケットが重複パケットであることを示す情報（フラグなど）を検出されたパケットに付加し、通信制御部１２０が送信する際に、このような情報が付加されているパケットを送信せずに破棄することでも、重複パケットのうちの一つのみが送信されるようにすることができる。
【０１２７】
また、上記実施形態では、コネクション型プロトコルの例としてＴＣＰを示したが、再送制御をおこなうものであれば、適用できるプロトコルは任意であり、例えば、ＴＦＴＰ（Trivial File Transfer Protocol）などであってもよい。
【０１２８】
また、上記実施形態では、送信待ちバッファや再送バッファを、フラッシュメモリなどで構成されている記憶部１６０に設けたが、バッファをして機能させる記憶装置は任意であり、例えば、制御部１１０を構成しているＲＡＭや通信制御部１２０に任意に設けている記憶領域などにバッファするようにしてもよい。
【０１２９】
また、上記実施形態では、送信できる状態となる前に重複パケットを削除する場合と、送信できる状態となったときに重複パケットを削除する場合とを分けて説明したが、装置の処理能力に応じて、双方の処理をおこなうようにしてもよい。この場合、重複パケットが送信されることをより効果的に防ぐことができる。
【０１３０】
また、上記実施形態では、本発明にかかる通信装置を移動体通信端末で実現した場合を示したが、本発明を適用可能な通信装置は移動体通信端末に限られるものではない。つまり、送信待ちバッファが必要となるような通信装置であれば、本発明を適用することができる。例えば、ネットワーク層（レイヤ３：Ｌ３）のプロトコルで処理するＬ３ルータや無線ＬＡＮアクセスポイントなどといった、通信容量の異なるネットワークを接続するような通信装置に本発明を適用してもよい。
【０１３１】
このような通信装置では、通常、通信容量の大きい回線から受け取ったパケットを送信待ちバッファにバッファし、バッファしたパケットを少しずつ通信容量の小さい回線へ送り出すように動作するが、通信量が通信容量を超える場合、応答時間が長くなり、通信容量の大きい回線側からパケットが再送されることがある。このような場合でも、本発明を適用し、上記各実施形態で示した動作と同様の動作をおこなうことで、再送されたパケットが通信容量の小さい回線側に送信されることを防ぐことができる。
【０１３２】
また、本発明を適用できる通信装置は、上記実施形態に示したような、本発明にかかる機能や構成を予め備えた装置として提供できることはもとより、上述した制御部１１０の機能構成を実現させたプログラムと同様のプログラムを適用することで、既存の通信装置を本発明にかかる通信装置として機能させることもできる。
【０１３３】
この場合、上記実施形態の制御部１１０が実行したようなプログラムを、送信パケットのバッファリング機能を有する既存の通信装置に適用（インストール）し、当該通信装置を制御するコンピュータ（ＣＰＵなど）がこれを実行することで、上述した移動体通信端末１００と同様の機能を有する通信装置を実現することができる。
【０１３４】
このようなプログラムの配布方法は任意であり、ＣＤ−ＲＯＭやメモリカードなどの記録媒体に格納して配布可能な他、インターネットなどのネットワークを介して配布してもよい。
【図面の簡単な説明】
【０１３５】
【図１】本発明の実施形態にかかる移動体通信端末の構成を示す図である。
【図２】図１に示す移動体通信端末の制御部によって実現される機能構成を示すブロック図である。
【図３】本発明の実施形態にかかる「データ送信処理」を説明するためのフローチャートである。
【図４】図３に示すデータ送信処理で送信するデータのデータ構成例を示す図である。
【図５】従来の再送動作を説明するためのフローチャートである。
【図６】図５に示す従来の再送動作におけるバッファの様子を説明するための図であり、（ａ）は送信データを生成した時点のバッファの様子を示し、（ｂ）は送信データが送信できない場合のバッファの様子を示し、（ｃ）は再送データの送信ができない場合のバッファの様子を示す。
【図７】本発明の実施形態１にかかる「送信制御処理（１）」を説明するためのフローチャートである。
【図８】本発明の実施形態２にかかる「送信制御処理（２）」を説明するためのフローチャートである。
【図９】本発明の実施形態３にかかる「送信制御処理（３）」を説明するためのフローチャートである。
【符号の説明】
【０１３６】
１００…移動体通信端末、１１０…制御部、１１１…送信データ生成部、１１２…送信処理部、１１３…再送処理部、１２０…通信制御部、１２１…アンテナ、１３０…操作部、１４０…表示部、１５０…音声処理部、１５１…スピーカ、１５２…マイクロフォン、１６０…記憶部、１６１…送信待ちバッファ領域、１６２…受信データ格納領域、１６３…再送バッファ領域、１６４…プログラム格納領域
【図１】
2008283421.tif 000003
【図２】
2008283421.tif 000004
【図３】
2008283421.tif 000005
【図４】
2008283421.tif 000006
【図５】
2008283421.tif 000007
【図６】
2008283421.tif 000008
【図７】
2008283421.tif 000009
【図８】
2008283421.tif 000010
【図９】
2008283421.tif 000011