(57)【要約】【課題】受信バッファの残量を考慮し、送信バッファに格納された滞留時間の良いデータに対し信頼性のある再送処理を行ない、長時間の滞留を回避することができるようにする。【解決手段】本発明の再送制御システムは、送信機と受信機との間のデータ通信で、受信機からの応答信号に基づいて受信機で正しく受信されなかったデータを再送する再送制御システムにおいて、受信機は、受信データを格納するバッファ手段の受信バッファ残量を応答信号に含めて送信機に応答する応答手段を備え、送信機は、受信機からの応答信号に含まれている受信バッファ残量に応じて、受信機でのデータ受信に信頼性のある再送処理を行なうデータ再送手段を備えることを特徴とする。【選択図】      図１
2009081567.tif 000002
【特許請求の範囲】
【請求項１】
送信機と受信機との間のデータ通信で、上記受信機からの応答信号に基づいて上記受信機で正しく受信されなかったデータを再送する再送制御システムにおいて、
上記受信機は、受信データを格納するバッファ手段の受信バッファ残量を上記応答信号に含めて上記送信機に応答する応答手段を備え、
上記送信機は、上記受信機からの上記応答信号に含まれている上記受信バッファ残量に応じて、上記受信機でのデータ受信に信頼性のある再送処理を行なうデータ再送手段を備える
ことを特徴とする再送制御システム。
【請求項２】
上記送信機の上記データ再送手段が、上記受信機の上記受信バッファ残量がない又は残り少ないと判断した場合に、再送すべきデータを複数回連続して送信することを特徴とする請求項１に記載の再送制御システム。
【請求項３】
上記送信機の上記データ再送手段が、上記受信機の上記受信バッファ残量の動的変化に応じて、再送すべきデータの連送回数を変更する連送回数可変部を有することを特徴とする請求項２に記載の再送制御システム。
【請求項４】
上記送信機の上記データ再送手段が、
対向する上記受信機でデータを復元させるために、それぞれ誤り訂正能力が異なる複数の誤り訂正方式を提供する誤り訂正部と、
上記受信機の上記受信バッファ残量に応じて、上記複数の誤り訂正方式のうち、いずれかの上記誤り訂正方式を選択する誤り訂正選択部と
を有することを特徴とする請求項１〜３のいずれかに記載の再送制御システム。
【請求項５】
送信機と受信機との間のデータ通信で、上記受信機からの応答信号に基づいて上記受信機で正しく受信されなかったデータを再送する再送制御方法において、
上記受信機が備える応答手段が、受信データを格納するバッファ手段の受信バッファ残量を上記応答信号に含めて上記送信機に応答し、
上記送信機が備えるデータ再送手段が、上記受信機からの上記応答信号に含まれている上記受信バッファ残量に応じて、上記受信機でのデータ受信に信頼性のある再送処理を行なう
ことを特徴とする再送制御方法。
【請求項６】
データ通信に係る受信機からの応答信号に基づいて上記受信機で正しく受信されなかったデータを再送する送信機において、
上記応答信号には、上記受信機における受信データを格納するバッファ手段の受信バッファ残量が含まれており、
上記受信機からの上記応答信号に含まれている上記受信バッファ残量に応じて、上記受信機でのデータ受信に信頼性のある再送処理を行なうデータ再送手段を備えることを特徴とする送信機。
【請求項７】
上記データ再送手段が、上記受信機の上記受信バッファ残量がない又は残り少ないと判断した場合に、再送すべきデータを複数回連続して送信することを特徴とする請求項６に記載の送信機。
【請求項８】
上記データ再送手段が、上記受信機の上記受信バッファ残量の動的変化に応じて、再送すべきデータの連送回数を変更する連送回数可変部を有することを特徴とする請求項７に記載の送信機。
【請求項９】
上記データ再送手段が、
対向する上記受信機でデータを復元させるために、それぞれ誤り訂正能力が異なる複数の誤り訂正方式を提供する誤り訂正部と、
上記受信機の上記受信バッファ残量に応じて、上記複数の誤り訂正方式のうち、いずれかの上記誤り訂正方式を選択する誤り訂正選択部と
を有することを特徴とする請求項６〜８のいずれかに記載の送信機。
【請求項１０】
送信機から送信されるデータが正しく受信されなかったデータの再送を送信機に要求する受信機において、
受信データを格納するバッファ手段と、
上記バッファ手段の受信バッファ残量を求め、この受信バッファ残量を上記応答信号に含めて上記送信機に応答する応答手段と
を備えることを特徴とする受信機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再送制御システム、再送制御方法、送信機及び受信機に関し、例えば、通信途中に欠落のあったデータを再送する再送制御システム及び方法、並びに、再送制御方法を行なう送信機及び受信機に適用し得るものである。
【背景技術】
【０００２】
一般的な通信システムでは、通信の途中でデータが欠落した場合、送信側が受信側に対してデータを再送する自動再送制御（ＡＲＱ；Automatic  Repeat  reQuest）方式を実装することが多く適用されている（非特許文献１参照）。
【０００３】
従来、ＡＲＱの自動再送制御方式は、大別して、ＳＡＷ（Stop  And  Wait）方式、ＧＢＮ（Go−Back−N）方式、選択的再送方式（Selective  Repeat）などがある。
【０００４】
例えば、ＳＡＷ方式は、１つのデータフレームごとに受信側がＡＣＫフレームを返信する方式であり、ＧＢＮ方式は、欠落したデータ以降のデータを送信側が再送信する方式である。また、選択的再送方式は、連続してデータフレームを送信側が送信し、欠落したデータのみを送信側が再送する方式である。
【０００５】
図２は、選択的再送方式の再送手順を説明する説明図である。図２において、送信側は送信バッファ８１を備え、受信側は受信バッファ９１を備えている。また、各データには番号が付されており、各データは送信側から受信側に番号順で送信されるものとする。
【０００６】
例えば、送信側では、番号順に送信データを送信するために、送信バッファ８１にバッファリングされているデータ「１」，「２」，「３」，「４」が取り出されて連続送信の準備がなされる（ステップＳ７１）。そして、送信データ「１」，「２」，「３」，「４」が送信側から受信側に番号順に送信される（ステップＳ７２）。
【０００７】
このとき、伝搬環境に応じてデータが欠落することがあり、データ「１」，「４」が欠落し、データ「２」，「３」が正しく受信側で受信されたものとする（ステップＳ７３）。そうすると、受信側は、ＡＣＫフレームを利用して、データ「２」，「３」のデータが正しく受信したことを送信側に返答する（ステップＳ７４）。
【０００８】
一方、送信側では、受信したＡＣＫフレームを解析し、確認がとれた番号のデータを送信バッファ８１から削除し（ステップＳ７５）、確認がとれないデータについては送信バッファ８１に残しつつ、確認がとれないデータを再送信する（ステップＳ７６及びＳ７７）。
【０００９】
このように、選択的再送方式は、受信確認がとれないデータのみを送信側が再送信する方式であるから、オーバヘッドが小さく、上述した３方式の中で最も通信効率がよいものである。
【００１０】
【非特許文献１】ＩＥＥＥ  Ｓｔｄ  ８０２．１５．３−２００３
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、通信環境が劣悪である場合に、選択的再送方式をそのまま適用して信用性の高い通信を実現しようとすると、受信側の受信バッファのバッファ容量を大きくする必要があり、実装コストが係るという問題がある。
【００１２】
この点について、図３を参照しながら説明する。図３において、説明便宜上、受信バッファ９１が蓄積できるデータ数を８個とする。
【００１３】
例えば、送信側から送信された送信データ「３」，「１０」，「１１」，「１２」のうち、データ「３」，「１１」が欠落し、データ「１０」，「１２」が正しく受信されたものとする（ステップＳ８１）。
【００１４】
そうすると、受信側では、番号順に従って受信データを上位層に渡すことになるが、データ「３」が届かないから、受信バッファ９１は、データ「４」以降のデータを滞留し続けながら、正しく受信したデータ「１０」，「１２」を蓄積する（ステップＳ８２）。そして、また受信側はＡＣＫフレームを送信側に返答する（ステップＳ８３）。
【００１５】
一方、送信側は、受信したＡＣＫフレームを解析して、データ「３」，「１１」，「１３」，「１４」を送信する（ステップＳ８４）。
【００１６】
この場合、さらにデータ「３」が通信途中で欠落して正しく受信側に届かないと、受信バッファ８１は、滞留しているデータを上位層に渡すことができない。また、正しくデータ「１１」，「１３」，「１４」を受信できたとしても、受信バッファ９１のバッファ容量の残量がないから、データ「１１」，「１３」，「１４」を蓄積できず削除されてしまう（ステップＳ８５）。
【００１７】
このように、データが何度も欠落してしまうような劣悪な通信環境で利用する場合、限られた受信バッファ容量で、従来の選択的再送を実装すると、バッファあふれが多発することがある。
【００１８】
そこで、本発明は、受信バッファの残量を考慮した再送制御方式であって、受信バッファの残量が少なくなると、送信バッファに格納された滞留時間の良いデータに対し信頼性のある再送処理を行ない、長時間の滞留を回避し、限られたバッファサイズで実装できる再送制御システム及び方法、並びに、再送制御方式を行なう送信機及び受信機を提供するものである。
【課題を解決するための手段】
【００１９】
かかる課題を解決するために、第１の本発明の再送制御システムは、送信機と受信機との間のデータ通信で、受信機からの応答信号に基づいて受信機で正しく受信されなかったデータを再送する再送制御システムにおいて、（１）受信機は、受信データを格納するバッファ手段の受信バッファ残量を応答信号に含めて送信機に応答する応答手段を備え、（２）送信機は、受信機からの応答信号に含まれている受信バッファ残量に応じて、受信機でのデータ受信に信頼性のある再送処理を行なうデータ再送手段を備えることを特徴とする。
【００２０】
第２の本発明の再送制御方法は、送信機と受信機との間のデータ通信で、受信機からの応答信号に基づいて受信機で正しく受信されなかったデータを再送する再送制御方法において、（１）受信機が備える応答手段が、受信データを格納するバッファ手段の受信バッファ残量を応答信号に含めて送信機に応答し、（２）送信機が備えるデータ再送手段が、受信機からの上記応答信号に含まれている受信バッファ残量に応じて、受信機でのデータ受信に信頼性のある再送処理を行なうことを特徴とする。
【００２１】
第３の本発明の送信機は、データ通信に係る受信機からの応答信号に基づいて受信機で正しく受信されなかったデータを再送する送信機において、応答信号には、受信機における受信データを格納するバッファ手段の受信バッファ残量が含まれており、受信機からの応答信号に含まれている受信バッファ残量に応じて、受信機でのデータ受信に信頼性のある再送処理を行なうデータ再送手段を備えることを特徴とする。
【００２２】
第４の本発明の受信機は、送信機から送信されるデータが正しく受信されなかったデータの再送を送信機に要求する受信機において、（１）受信データを格納するバッファ手段と、（２）バッファ手段の受信バッファ残量を求め、この受信バッファ残量を応答信号に含めて送信機に応答する応答手段とを備えることを特徴とする。
【発明の効果】
【００２３】
本発明によれば、受信バッファの残量を考慮し、送信バッファに格納された滞留時間の良いデータに対し信頼性のある再送処理を行ない、長時間の滞留を回避することができる。
【発明を実施するための最良の形態】
【００２４】
（Ａ）第１の実施形態
以下では、本発明の再送制御システム、再送制御方法、送信機及び受信機の第１の実施形態について図面を参照しながら説明する。
【００２５】
第１の実施形態は、自動再送制御方式として選択的再送方式を採用した送信機及び受信機に本発明を適用した場合を例示して説明する。
【００２６】
（Ａ−１）第１の実施形態の構成
図１は、第１の実施形態に係る通信装置が備える送信機及び受信機の内部構成を示す内部構成図である。図１において、実線はデータの授受の流れを示しており、点線は再送制御に係る情報の受け渡しを示す。
【００２７】
図１において、送信機１は、送信バッファ部１１、連送判断部１２、送信キュー１３、フレーム作成部１４、送信部１５、受信バッファ残量計算部１６、を少なくとも有して構成される。また、受信機２は、受信部２１、フレーム解析部２２、受信バッファ部２３、受信番号監視部２４、を少なくとも有して構成される。
【００２８】
まず、送信機１の内部構成について説明する。
【００２９】
送信バッファ部１１は、上位層であるアプリケーションデータ発生部１７から受け取った送信データをバッファ領域に格納するものである。送信バッファ部１１は、送信キュー１３に空きがある場合には、番号順にデータを取り出し、送信キュー１３に与える。また、送信バッファ部１１は、受信機２からＡＣＫフレームを受信した場合、そのＡＣＫフレームに含まれているデータ確認番号列のデータを削除する。
【００３０】
さらに、送信バッファ部１１は、連送判断部１２から連送指示を受けると、格納している最も古いデータ、すなわち、ここでは最も番号が小さいデータを、複数回（例えば、２回など）送信キュー１３に与える。これにより、通信相手が受信できていないデータを所定回数だけ連送することができる。
【００３１】
なお、送信バッファ部１１が送信キュー１３に受け渡す回数（すなわち、連送回数）は、システム運用に応じて任意に定めることができる。第１の実施形態では、連送回数を２回とする場合を例示する。
【００３２】
送信キュー１３は、送信バッファ部１１からの送信データを一時的に格納し、フレーム作成部１４から要求を受けると、格納している送信データをフレーム作成部１４に与えるものである。
【００３３】
フレーム作成部１４は、送信フレームを作成し、この送信フレームを送信部１５に与えるものである。当該通信装置が送信側に相当する場合、フレーム作成部１４は、送信キュー１３から送信データを受け取り、この送信データを含むデータフレームを作成する。また、当該通信装置が受信側に相当する場合、フレーム作成部１４は、受信バッファ残量計算部１６から受信機２の受信バッファ残量の値を受け取り、この受信バッファ残量の値を含むＡＣＫフレームを作成する。
【００３４】
ここで、図４は、第１の実施形態の自動再送制御で利用する制御フレームのフォーマットを示す図である。図４（Ａ）はＡＣＫフレームのフォーマットであり、図４（Ｂ）はデータフレームのフォーマットに従って送信フレームを作成する。
【００３５】
図４（Ｂ）に示すデータフレームは、「制御情報」、「受信バッファ残量」、「ペイロード」のフィールドを有して構成される。「制御情報」は、通常の通信システムで利用されるような、送信元識別情報、送信先識別情報、ホップ数、優先制御、プロトコル番号、パケットタイプなどのフィールドを有して構成される。「受信バッファ残量」は、受信機２が自機の受信バッファ部２３のバッファ残量を計算し、そのバッファ残量の値を格納するフィールドである。「ペイロード」は、上位層からの送信データを格納するフィールドである。
【００３６】
図４（Ａ）に示すＡＣＫフレームは、「制御情報」、「受信バッファ残量」、「データ確認番号列」のフィールドを有して構成される。「データ確認番号列」は、受信側が正しく受信したデータの番号列を示すフィールドである。なお、「制御情報」及び「受信バッファ残量」は、データフレームと同様の形式の値が格納されるフィールドである。
【００３７】
送信部１５は、フレーム作成部１４から送信フレームを受け取ると、送信信号に変換して、送信するものである。
【００３８】
連送判断部１２は、フレーム解析部２２が通信相手から受信したＡＣＫフレームを解析し、その結果、通信相手の受信バッファ残量をフレーム解析部２２から受け取り、この通信相手の受信バッファ残量に基づいて、連送するか否かを判断するものである。
【００３９】
つまり、連送判断部１２は、通信相手の受信バッファ残量がない場合、あるいは、受信バッファ残量が閾値未満であり少ない場合、送信バッファ部１１に対して連送を指示する。ここで、連送とは、同じフレームを連続して送信することをいう。
【００４０】
受信バッファ残量計算部１６は、受信バッファ部２３を監視し、この受信バッファ部２３のバッファ残量を計算し、計算したバッファ残量の値をフレーム作成部１４に与えるものである。
【００４１】
次に、受信機２の内部構成について説明する。
【００４２】
受信部２１は、通信相手の送信機１から受信した受信信号を受信フレームに変換し、個の受信フレームをフレーム解析部２２に与えるものである。
【００４３】
フレーム解析部２２は、受信部２１からの受信フレームを解析するものである。フレーム解析部２２は、受信フレームがデータフレームである場合、「ペイロード」に含まれるデータを受信バッファ部２３に与え、また受信したデータ番号をフレーム作成部１４に与えるものである。また、フレーム解析部２２は、受信フレームがＡＣＫフレームである場合、「受信バッファ残量」フィールドに格納されている通信相手の受信バッファ残量を連送判断部１２に与え、また「データ確認番号列」フィールドに含まれる値を送信バッファ部１１に与えるものである。
【００４４】
受信バッファ部２３は、フレーム解析部２２から受信データを受け取ると、受信したデータをバッファ領域に格納するものである。
【００４５】
受信番号監視部２４は、受信バッファ部２３に格納されているデータの番号を監視し、番号の順番に従ってデータを、アプリケーションデータ処理部２５に与えることを指示するものである。受信番号監視部２４は、アプリケーションデータ処理部２５に最後に渡したデータの番号を保持しておき、このデータ番号の次の番号のデータが受信バッファ部２３に到着したことを確認した場合に、この確認した次の番号のデータをアプリケーションデータ処理部２５に渡すことを指示する。そして、アプリケーション処理部２５に渡したデータの番号を順次保持して処理を続ける。
【００４６】
（Ａ−２）第１の実施形態の動作
次に、第１の実施形態の自動再送制御処理の動作を図面を参照しながら詳細に説明する。図５及び図６は、第１の実施形態の自動再送制御方法の処理手順を示す説明図である。
【００４７】
図５及び図６では、データ送信する通信装置を「送信側」とし、データ受信する通信装置を「受信側」とし、送信側及び受信側の両者はいずれも図１に示す送信機１及び受信機２を備えるものとする。
【００４８】
また、以下では、説明便宜上、受信機２の受信バッファ部２３は８個のデータまで格納できるものとして説明する。
【００４９】
図５は、受信バッファ部２３のバッファ容量に余裕がある場合の動作を説明する説明図である。
【００５０】
まず、送信側において、送信バッファ部１１に格納されるデータ「１」，「２」，「３」，「４」が番号順に送信キュー１３に与えられ（ステップＳ１１）、送信キュー１３に格納されているデータ「１」，「２」，「３」，「４」は番号順にフレーム作成部１４に与えられる。
【００５１】
フレーム作成部１４では、データ「１」，「２」，「３」，「４」のそれぞれを、データフレームの「ペイロード」フィールドに格納して、データ「１」，「２」，「３」，「４」のそれぞれを含むデータフレームを作成する。そして、送信部１５が、各データフレームを通信相手に向けて送信する（ステップＳ１２）。
【００５２】
今、伝搬路が劣悪であり、データ「１」，「４」が通信中に欠落したものとする（ステップＳ１３）。そうすると、受信側では、データ「２」，「３」が受信部２１により正しく受信され、データ「２」，「３」のそれぞれを含むデータフレームが、フレーム解析部２２により解析される。
【００５３】
フレーム解析部２２によりデータ「２」，「３」のデータフレームのそれぞれが解析されると、受信したデータの番号をフレーム作成部１４に与えると共に、それぞれのデータフレームに含まれるデータ「２」，「３」が受信バッファ部２３に格納される（ステップＳ１４）。
【００５４】
受信側において、受信バッファ残量計算部１６は、受信機２の受信バッファ部２３の空きバッファ量を監視している。この場合、受信バッファ部２３にはデータ「２」，「３」が格納されたので、受信バッファ残量計算部１６により、受信バッファ部２３のバッファ残量は「６」であると計算される（ステップＳ１５）。
【００５５】
そうすると、受信バッファ残量計算部１６により計算された受信バッファ部２３の受信バッファ残量の値はフレーム作成部１４に与えられる。
【００５６】
受信側の送信機１では、受信したデータフレームに対するＡＣＫフレームの作成処理が行なわれる。
【００５７】
受信側の送信機１において、フレーム作成部１４は、受信バッファ残量計算部１６から受信バッファ残量の値（この場合、「６」）をＡＣＫフレームの「受信バッファ残量」フィールドに格納すると共に、受信したデータの番号「２」，「３」をＡＣＫフレームの「データ確認番号列」フィールドに格納して、ＡＣＫフレームを作成する。そして、送信部１５がＡＣＫフレームを送信側に返信する（ステップＳ１６）。
【００５８】
ＡＣＫフレームが送信側の受信機２に受信されると、ＡＣＫフレームは送信側のフレーム解析部２２により解析され、ＡＣＫフレームの「受信バッファ残量」フィールドに格納される値（すなわち、受信側の受信バッファ残量の値「６」）が連送判断部１２に与えられると共に、ＡＣＫフレームの「データ確認番号列」フィールドに格納される値（すなわち、「２」，「３」）が送信バッファ部１１に与えられる。
【００５９】
そうすると、「データ確認番号列」の値であるデータ「２」，「３」が送信バッファ部１１から削除される（ステップＳ１７）。
【００６０】
一方、連送判断部１２では、フレーム解析部２２からの「受信バッファ残量」の値に基づいて連送するか否かを判断する。図７は、連送判断部１２の動作フローチャートである。
【００６１】
図７に示すように、フレーム解析部２２から「受信バッファ残量」の値を確認すると（ステップＳ３１）、この「受信バッファ残量」の値が「０」であるか否かを判断する（ステップＳ３２）。
【００６２】
この場合、「受信バッファ残量」の値は「６」であるから、受信側の受信バッファ部２３の残量に余裕があると連送判断部１２に判断されるものとし、連送処理はなされない（ステップＳ３３）。
【００６３】
なお、図７では、「受信バッファ残量」の値が０であるか否かを判断する場合を示したが、予め定めた閾値と比較し、「受信バッファ残量」が閾値より小さくなったか否かを判断するようにしてもよい。
【００６４】
これ以降は、受信側が受信できなかったデータ「１」，「４」と次のデータ「５」，「６」とが送信バッファ部１１から送信キュー１３に与えられ（ステップＳ１８）、データ「１」，「４」，「５」，「６」が、上記と同様にして、受信側に送信される（ステップＳ１９）。
【００６５】
次に、受信側の受信バッファ部２３のバッファ残量がなくなった場合（あるいは残量が少なくなった場合）の処理を、図６を参照しながら説明する。
【００６６】
図５に示す処理と同様にして、送信側からデータ「３」，「１０」，「１１」，「１２」が送信キューに挿入され（ステップＳ２１）、データ「３」，「１０」，「１１」，「１２」を含むデータフレームが送信される（ステップＳ２２）。
【００６７】
今、通信途中でデータ「３」，「１１」が欠落したものとする（ステップＳ２３）。
【００６８】
このとき、データ「３」は受信側に正しく受信されていないから、受信側の受信バッファ部２３にはデータ「４」，「５」，「６」，「７」，「８」，「９」が上位層に渡されず蓄積されている。
【００６９】
従って、データ「１０」，「１２」が受信側に正しく受信されると、データ「１０」，「１２」が受信バッファ部２３に格納され（ステップＳ２４）、受信バッファ残量計算部１６により受信バッファ残量が「０」であると計算される（ステップＳ２５）。
【００７０】
受信側の送信機１において、フレーム作成部１４は、受信バッファ残量計算部１６から受信バッファ残量の値（この場合、「０」）をＡＣＫフレームの「受信バッファ残量」フィールドに格納すると共に、受信したデータの番号「１０」，「１２」をＡＣＫフレームの「データ確認番号列」フィールドに格納して、ＡＣＫフレームを作成する。そして、送信部１５がＡＣＫフレームを送信側に返信する（ステップＳ２６）。
【００７１】
ＡＣＫフレームが送信側の受信機２に受信され、ＡＣＫフレームが解析されると、ＡＣＫフレームの「受信バッファ残量」フィールドに格納される値（すなわち、受信側の受信バッファ残量の値「０」）が連送判断部１２に与えられると共に、ＡＣＫフレームの「データ確認番号列」フィールドに格納される値（すなわち、「１０」，「１２」）が送信バッファ部１１に与えられる。
【００７２】
そうすると、「データ確認番号列」の値であるデータ「１０」，「１２」が送信バッファ部１１から削除される（ステップＳ２７）。
【００７３】
一方、連送判断部１２では、フレーム解析部２２からの「受信バッファ残量」の値に基づいて連送するか否かを判断する。
【００７４】
図７に示すように、フレーム解析部２２から「受信バッファ残量」の値を確認すると（ステップＳ３１）、この「受信バッファ残量」の値が「０」であるか否かを判断する（ステップＳ３２）。
【００７５】
この場合、「受信バッファ残量」の値は「０」であるから、受信側の受信バッファ部２３に残量がないと連送判断部１２は判断し、連送処理が行なわれる（ステップＳ３４）。
【００７６】
つまり、連送判断部１２は、送信バッファ部１１に対して連送指示を行なう。そうすると、送信バッファ部１１は、格納しているデータのうち、番号が最も古い番号のデータを２回連続して、送信キュー１３に与え（ステップＳ２８）、受信側で正しく受信されていないデータ「３」を含む複数のデータフレームが連続して受信側に送信される（ステップＳ２９）。
【００７７】
このようにすることで、受信側が正しく受信されていないデータ「３」を連続して送信することができるので、２個のデータのうち、１つ目のデータ「３」が欠落しても、２つ目のデータ「３」が到着できれば、受信側の受信バッファ部２３はデータ「３」から順にデータ「１２」までのデータを上位層に渡すことができ、受信バッファ部２３におけるバッファあふれを避けることができる。
【００７８】
（Ａ−３）第１の実施形態の効果
以上のように、第１の実施形態によれば、送信側が通信相手の受信バッファ部のバッファ残量を確認することで、受信バッファ部の滞留の原因となっている古いデータに対し、連送を発動させる。この結果、該データの到着確率を高め、データの未到着による受信バッファの滞留を早期に解消することができる。
【００７９】
（Ｂ）第２の実施形態
次に、本発明の再送制御システム、再送制御方法、送信機及び受信機の第２の実施形態について図面を参照しながら説明する。
【００８０】
第２の実施形態も、自動再送制御方式として選択的再送方式を採用した送信機及び受信機に本発明を適用した場合を例示して説明する。
【００８１】
（Ｂ−１）第２の実施形態の構成
第２の実施形態では、第１の実施形態で説明した連送方法について、連送するデータの個数を動的に変更する再送方法を実現するものである。
【００８２】
図８は、第２の実施形態に係る通信装置が備える送信機及び受信機の内部構成を示す内部構成図である。
【００８３】
第２の実施形態の構成が第１の実施形態の構成と異なる点は、送信機１の連送判断部３１の機能である。そこで、以下では、送信機１の連送判断部３１の機能を中心に説明し、それ以外の構成については第１の実施形態で説明した構成と対応するので詳細な説明は省略する。
【００８４】
連送判断部３１は、第１の実施形態と同様に、受信側の「受信バッファ残量」の値をフレーム作成部２２から受け取ると、この「受信バッファ残量」の値に基づいて連送するか否かを判断するものである。
【００８５】
また、連送判断部３１は、連送する回数をカウントする連送個数カウンタ３２を備える。連送判断部３１は、「受信バッファ残量」の値が０あるいは閾値より小さくなった場合に、連送個数カウンタ３２のカウンタ値をインクリメントし、そのカウンタ値で連送するよう送信バッファ部１１に指示する。また、「受信バッファ残量」の値が０でないあるいは余裕がある場合には、連送個数カウンタ３２のカウンタ値をリセットして連送処理をしないようにする。
【００８６】
なお、受信バッファ残量に応じて連送回数を動的に変更することができれば、連送個数カウンタ３２のカウンタ値は、「１」ずつインクリメントしてもよいし、「２」以上ずつインクリメントしてもよい。さらに、インクリメント回数に応じて、「１」、「２」、「３」のようにインクリメント値を増やしていくようにしてもよい。
【００８７】
ここで、連送個数とは、連続して同じデータを送信キュー１３に送る個数をいう。例えば、連送個数が「３」であれば、送信バッファ部１１は同じデータを３個連続で送信キュー１３に挿入する。
【００８８】
（Ｂ−２）第２の実施形態の動作
次に、第２の実施形態の自動再送制御処理の動作について図面を参照しながら説明する。
【００８９】
第２の実施形態では、連送判断部３１における処理が第１の実施形態と異なり、それ以外の処理は図５及び図６に示した処理と同じであるから、ここでは、連送判断部３１における処理を中心に説明する。
【００９０】
図９は、第２の実施形態の連送判断部３１における動作フローチャートである。
【００９１】
送信側において受信側からのＡＣＫフレームが受信されると、ＡＣＫフレームはフレーム作成部２２により解析され、ＡＣＫフレームの「受信バッファ残量」の値が連送判断部３１に与えられる。
【００９２】
連送判断部３１では、ＡＣＫフレームの「受信バッファ残量」の値を確認し（ステップＳ４１）、「受信バッファ残量」の値が０であるか否かを判断する（ステップＳ４２）。
【００９３】
そして、「受信バッファ残量」の値が０である場合、連送判断部３１は、連送個数カウンタ３２のカウンタ値をインクリメントし（ステップＳ４３）、そのインクリメントしたカウンタ値を連送個数として送信バッファ部１１に連送指示する（ステップＳ４４）。
【００９４】
これにより、データの欠落割合が高く、受信側の受信バッファ部２３の滞留回復が長引く場合に、それに応じて連送個数を増やすことができる。
【００９５】
一方、「受信バッファ残量」の値が０でない場合、連送判断部３１は、連送個数カウンタ３２のカウンタ値をリセットし（ステップＳ４４）、次回の送信時について通常の送信を開始させるようにする（ステップＳ４５）。
【００９６】
なお、図９では、「受信バッファ残量」の値が０であるか否かを判断する場合を示したが、予め定めた閾値と比較し、「受信バッファ残量」が閾値より小さくなったか否かを判断するようにしてもよい。
【００９７】
（Ｂ−３）第２の実施形態の効果
以上のように、第２の実施形態では、第１の実施形態の効果に加えて、連送判断部が受信側の受信バッファ残量を確認し、受信バッファ部の滞留が回復しない場合には、連送個数を増やしていくことにより、滞留の原因となっている古いデータの到着確率をさらに高めることができる。すなわち、古いデータの到着確率を高めることで、受信バッファのバッファあふれを、より早期に解消することができる。
【００９８】
（Ｃ）第３の実施形態
次に、本発明の再送制御システム、再送制御方法、送信機及び受信機の第２の実施形態について図面を参照しながら説明する。
【００９９】
第３の実施形態も、自動再送制御方式として選択的再送方式を採用した送信機及び受信機に本発明を適用した場合を例示して説明する。
【０１００】
（Ｃ−１）第３の実施形態の構成
第３の実施形態は、受信側の受信バッファ部の受信バッファ残量が少ない場合に、連送ではなく誤り訂正方法を変更する再送方式を実現するものである。
【０１０１】
図１０は、第３の実施形態に係る通信装置が備える送信機及び受信機の内部構成を示す内部構成図である。
【０１０２】
第３の実施形態の構成が第１の実施形態の構成と異なる点は、送信機１の連送判断部１２に変えて誤り訂正選択部４１を備える点、及び、誤り訂正能力がそれぞれ異なる複数の誤り訂正部として第１の誤り訂正部４２及び第２の誤り訂正部４３を備える点である。
【０１０３】
そこで、以下では、送信機１の誤り訂正選択部４１、第１の誤り訂正部４２及び第２の誤り訂正部４３の機能を中心に説明し、それ以外の構成については第１の実施形態で説明した構成と対応するので詳細な説明は省略する。
【０１０４】
誤り訂正選択部４１は、受信側の「受信バッファ残量」の値をフレーム作成部２２から受け取ると、この「受信バッファ残量」の値に応じて、いずれかの誤り訂正方法を選択するものである。
【０１０５】
ここで、誤り訂正選択部４１による誤り訂正方法の選択方法としては、種々の方法を適用することができるが、例えば、受信バッファ残量の値が「０」あるいは閾値より小さい場合には、送信バッファ部１１に格納される最も古いデータに対して誤り訂正能力が高い誤り訂正方法を適用し、そうでない場合には、誤り訂正能力が低い誤り訂正方法を適用する方法を適用できる。
【０１０６】
第１の誤り訂正部４２及び第２の誤り訂正部４３は、それぞれ誤り訂正能力が異なるＦＥＣ（Forward  Error  Correction；前方誤り訂正）方法を行なうものである。
【０１０７】
ここで、ＦＥＣとは、送信側が送信すべきデータに予め誤り訂正用の冗長ビットを付加して伝送し、受信側では受信したデータの中に誤りを検出した場合、予め拭かされた冗長ビットを用いて演算処理を行なうことで誤りを修復して元のデータを復元する誤り訂正方式をいう。
【０１０８】
なお、第３の実施形態では、説明便宜上、第２の誤り訂正部４３が通常のフレーム送信に使用されるＦＥＣを適用するものとし、第１の誤り訂正部４２は、第２の誤り訂正部４３の誤り訂正能力が高いＦＥＣを適用するものとして説明する。
【０１０９】
（Ｃ−２）第３の実施形態の動作
次に、第３の実施形態の自動再送制御処理の動作について図面を参照しながら説明する。
【０１１０】
第３の実施形態では、送信機１における誤り訂正選択部４１による処理が第１の実施形態と異なり、それ以外の処理は図５及び図６に示した処理と同じであるから、ここでは、誤り訂正選択部４１による処理を中心に説明する。
【０１１１】
図１１は、誤り訂正選択部４１による処理を示す動作フローチャートである。
【０１１２】
送信側において受信側からのＡＣＫフレームが受信されると、ＡＣＫフレームはフレーム作成部２２により解析され、ＡＣＫフレームの「受信バッファ残量」の値が誤り訂正選択部４１に与えられる。
【０１１３】
誤り訂正選択部４１では、ＡＣＫフレームの「受信バッファ残量」の値を確認し（ステップＳ５１）、「受信バッファ残量」の値が０であるか否かを判断する（ステップＳ５２）。
【０１１４】
そして、「受信バッファ残量」の値が０である場合、誤り訂正選択部４１は、次回の送信時に、誤り訂正能力が高い第１の誤り訂正部４２を選択し、ＦＥＣを強化したフレームの送信を行ない（ステップＳ５３）、そうでない場合、次回の送信時に、第２の誤り訂正部４３を選択し、通常のフレーム送信を行なう（ステップＳ５４）。
【０１１５】
これにより、受信側の受信バッファ部２３に滞留が生じている場合に、誤り訂正に係る演算負荷は重くなるが受信側のデータ到着率を高くすることができ、受信バッファ部２３の滞留を解消できる。
【０１１６】
（Ｃ−３）第３の実施形態の効果
以上のように、第３の実施形態によれば、相手端末の受信バッファ残量を確認することで、受信バッファの滞留の原因となっている古いデータに対し、より強力な誤り訂正を行ったフレームの送信を発動させる。この結果、該データの到着確率を高め、データの未到着による受信バッファの滞留を早期に解消することができる。
【０１１７】
（Ｄ）他の実施形態
第１〜第３の実施形態においても種々の変形実施形態を説明したが、その他に以下のような変形実施形態を適用することができる。
【０１１８】
本発明は、通信システムに利用可能であり、特に、外的要因により通信環境が変化する通信システムに広く適用することができる。また、本発明を適用する通信システムは、例えば、移動体通信網（例えば、携帯電話網、ＰＨＳなどを含む）、有線回線網、無線回線網、衛星通信網など様々な通信網に適用できる。
【０１１９】
第１〜第３の実施形態では選択的再送方式に適用した場合を例示したが、その他の自動再送制御方式にも広く適用することができる。つまり、受信側が送信側に対して応答フレームを応答する再送方式であれば広く適用できる。
【０１２０】
第１〜第３の実施形態では、「受信バッファ残量」の値を受信バッファ部が格納できる残りのデータ個数を例示して説明したが、受信バッファ部の残りのバイト量としてもよい。
【０１２１】
第３の実施形態は、第１又は第２の実施形態と組み合わせることができる。つまり、第３の実施形態の送信機が、第１又は第２の実施形態の連送判断部を備えることができる。これにより、連送するデータに対して強力な誤り訂正方法を用いることができるので、受信側へのデータ到着率をより高めることができる。また、連送するデータのそれぞれに対して、異なる誤り訂正方法を施すようにしてもよい。例えば、第１回目のデータに対しては通常の誤り訂正方法を施し、第２回目のデータに対しては誤り訂正能力が高い誤り訂正方法を施すようにしてもよい。
【０１２２】
第１及び第２の実施形態で説明した連送判断部は、複数の閾値を用いて受信バッファ残量を多段的に判断して連送の有無や連送個数などを判定するようにしてもよい。
【０１２３】
例えば、図１２は、連送判断部が受信バッファ残量を多段的に判断する場合の処理を例示するフローチャートである。図１２において、連動判断部は、受信バッファ残量が閾値を超える場合（ステップＳ６１、Ｓ６２）、次回の送信時に通常の送信を開始する（ステップＳ６３）。また、そうでない場合に、受信バッファ残量が「０」のとき次回の送信時に３個の連送を開始し（ステップＳ６４、Ｓ６６）、閾値以下であるが「０」でないとき、次回の送信時に２個の連送を開始するようにしてもよい（ステップＳ６５）。
【０１２４】
第１〜第３の実施形態で説明した送信機及び受信機における各種処理は、ソフトウェア処理により実現できる。つまり、送信機及び受信機はそれぞれ、各種処理を実現する処理プログラムをＲＯＭ等の記憶手段に格納し、ＣＰＵが各処理プログラムを実行することにより、上述した各種処理を実現することができる。勿論、可能であれば、ハードウェアで実現できるようにしてもよい。
【図面の簡単な説明】
【０１２５】
【図１】第１の実施形態の送信機及び受信機の内部構成を示す内部構成図である。
【図２】従来の選択的再送方法の処理手順を説明する説明図である。
【図３】従来の選択的再送方法の問題点を説明する説明図である。
【図４】第１の実施形態の制御フレームの構成を示すフォーマット図である。
【図５】第１の実施形態の自動再送制御の処理手順を説明する説明図である（その１）。
【図６】第１の実施形態の自動再送制御の処理手順を説明する説明図である（その２）。
【図７】第１の実施形態の連送判断部における処理を示すフローチャートである。
【図８】第２の実施形態の送信機及び受信機の内部構成を示す内部構成図である。
【図９】第２の実施形態の連送判断部における処理を示すフローチャートである。
【図１０】第３の実施形態の送信機及び受信機の内部構成を示す内部構成図である。
【図１１】第３の実施形態の誤り訂正選択部による処理を示すフローチャートである。
【図１２】連送判断部の変形実施形態の処理を示すフローチャートである。
【符号の説明】
【０１２６】
１…送信機、１１…送信バッファ部、１２、３１…連送判断部、１３…送信キュー、１４…フレーム作成部、１５…送信部、１６…受信バッファ残量計算部、２…受信機、２１…受信部、２２…フレーム解析部、２３…受信バッファ部、２４…受信番号監視部、３２…連送個数カウンタ部、４１…誤り訂正選択部、４２…第１の誤り訂正部、４３…第２の誤り訂正部。
【図１】
2009081567.tif 000003
【図２】
2009081567.tif 000004
【図３】
2009081567.tif 000005
【図４】
2009081567.tif 000006
【図５】
2009081567.tif 000007
【図６】
2009081567.tif 000008
【図７】
2009081567.tif 000009
【図８】
2009081567.tif 000010
【図９】
2009081567.tif 000011
【図１０】
2009081567.tif 000012
【図１１】
2009081567.tif 000013
【図１２】
2009081567.tif 000014