(57)【要約】【課題】無線通信において再送しても送信遅延が発生しないようにすることができるデータ通信装置およびデータ通信方法を得ることを目的とする。【解決手段】通信相手からの肯定応答を所定の時間内に受信したか否かに基づき再送制御を行うデータ通信装置において、送信に失敗したパケットのデータと当該送信に失敗したパケットの次に送信すべきパケットのデータとを１つのデータとするパケットを構築するパケット構築手段を備えたデータ通信装置およびこの装置によって実現されるデータ通信方法。【選択図】図４
2007116411.tif 000002
【特許請求の範囲】
【請求項１】
通信相手からの肯定応答を所定の時間内に受信したか否かに基づき再送制御を行うデータ通信装置において、
送信に失敗したパケットのデータと当該送信に失敗したパケットの次に送信すべきパケットのデータとを１つのデータとするパケットを構築するパケット構築手段を備えたことを特徴とするデータ通信装置。
【請求項２】
前記送信に失敗したパケットのデータは、送信に失敗した複数のパケット分のデータを含むことを特徴とする請求項１記載のデータ通信装置。
【請求項３】
前記パケット構築手段は、
送信すべきパケットを作成するための送信データ作成手段と、
前記送信データ作成手段で作成した送信すべきパケットの送信が失敗した場合に、当該送信すべきパケットを再送する決定を行う再送制御手段と、
前記再送制御手段で送信すべきパケットの再送が決定された場合に、前記送信データ作成手段において次に送信すべきパケットが作成されているときには、前記送信が失敗したパケットのデータと次に送信すべきパケットのデータとを１つのデータとするパケットを再送すべきパケットとして構築するための再送データ構築手段と、を備えたことを特徴とする請求項１または２記載のデータ通信装置。
【請求項４】
前記パケット構築手段は、
送信すべきパケットを作成する送信データ作成手段と、
前記送信すべきパケットの送信が成功しない場合に所定の再送を行う再送制御手段と、
前記再送制御手段において所定の再送を行っても送信が成功しない場合に送信に失敗したパケットと送信失敗の情報を保持する送信結果保持手段と、
前記送信データ作成手段において送信すべきパケットが作成された場合に、前記送信結果保持手段に送信に失敗したパケットが保持されているときには、送信すべきパケットのデータと送信に失敗したパケットのデータとを１つのデータとするパケットを送信すべきパケットとして再構築するための送信データ再構築手段と、
前記送信データ再構築手段に再構築したパケットが存在する場合は、当該再構築したパケットを取り出し、存在しない場合は送信データ作成手段から送信すべきパケットを取り出して、取り出したパケットを送信すべきパケットとして選択する送信パケット選択手段と、を備えたことを特徴とする請求項１または２記載のデータ通信装置。
【請求項５】
通信相手からの肯定応答を所定の時間内に受信したか否かに基づき再送制御を行うデータ通信方法において、
送信に失敗したパケットのデータと当該送信に失敗したパケットの次に送信すべきパケットのデータとを１つのデータとするパケットを構築するパケット構築ステップを含むことを特徴とするデータ通信方法。
【請求項６】
前記送信に失敗したパケットのデータは、送信に失敗した複数のパケット分のデータを含むことを特徴とする請求項５記載のデータ通信方法。
【請求項７】
前記パケット構築ステップは、
送信すべきパケットを作成する作成ステップと、
作成ステップで作成した送信すべきパケットの送信が失敗したか否かを判定する判定ステップと、
前記判定ステップでパケットの送信が失敗したと判定した場合に、前記作成ステップにおいて、送信に失敗したパケットの次に送信すべきパケットが作成されているときは、当該送信が失敗したパケットのデータと次に送信すべきパケットのデータとを１つのデータとするパケットを再送すべきパケットとして構築する再送データ構築ステップと、を含むことを特徴とする請求項５または６記載のデータ通信方法。
【請求項８】
前記再送データ構築ステップは、送信が失敗したパケットのデータと次に送信すべきパケットのデータとの合計サイズがパケット最大サイズを超えるか否かを判定し、超えない場合にのみ、送信が失敗したパケットのデータと次に送信すべきパケットのデータとを１つのデータとするパケットを構築することを特徴とする請求項７記載のデータ通信方法。
【請求項９】
前記パケット構築ステップは、
送信失敗したパケットを保持する保持ステップと、
新たに送信すべきパケットを作成する作成ステップと、
送信失敗したパケットの保持があるか否かを判定するステップと、
送信失敗したパケットの保持があると判定された場合に、当該送信に失敗したパケットのデータと前記作成ステップで作成した送信すべきパケットのデータとを１つのデータとするパケットを送信すべきパケットとして再構築する送信データ再構築ステップと、
再構築ステップで再構築された構築パケットと、前記作成ステップで作成された新たに送信すべきパケットと、のいずれかを送信すべきかを選択する選択ステップと、を含むことを特徴とする請求項５または６記載のデータ通信方法。
【請求項１０】
前記送信データ再構築ステップは、送信に失敗したパケットのデータと前記作成ステップで作成した送信すべきパケットのデータとの合計サイズがパケット最大サイズを超えるか否かを判定し、超えない場合にのみ、送信に失敗したパケットのデータと前記作成ステップで作成した送信すべきパケットのデータとを１つのデータとするパケットとして再構築することを特徴とする請求項９記載のデータ通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線ネットワークを使ってデータ通信を行うときの通信エラー発生時のエラー対策を行うことができるデータ通信装置およびデータ通信方法に関し、詳しくは、音声などリアルタイム性の高いデータ通信を行うとき、再送により通信エラーを回避しつつ、リアルタイム性を損なうことなく通信することができるデータ通信装置およびデータ通信方法に関する。
【背景技術】
【０００２】
無線によるネットワーク通信において、例えば、（非特許文献１）では、１対１通信であるユニキャスト通信を行うとき、データ受信側は正常にデータを受信したことを示すために、ＡＣＫという肯定応答を送信側へ応答することになっている。データ送信側は受信側から返されるこのＡＣＫ応答を受け取ることにより、送信が成功したと判断し、次のデータを送信することになっている。しかし、ＡＣＫ応答をある一定時間内に受信できずタイムアウトしたときは、通信に失敗したとして、送信側はデータの再送を行うようになっている。
【０００３】
従来の技術としては、たとえば、（特許文献１）によると、ある無線局がデータを送信したとき、他の無線局からのデータとの衝突が発生したと判断されたときは、先に送信したデータと同じデータの再送を行うように制御する無線パケット通信方法が提案されている。
【０００４】
また（特許文献２）において、データの受信エラーが発生したとき、そのデータ全体またはそのデータの一部を再送するように要求を出すとともに、リアルタイム通信において途切れが生じてしまうような場合は、再送要求を出さないようにした無線通信装置が提案されている。
【０００５】
このように、従来の技術では、送信に失敗したときにデータの再送を行うが、先に送信したデータを再び送るか、または、先に送信したデータの一部を切り出して送ることが多かった。
【特許文献１】特開２００２−２４７０５１号公報
【特許文献２】特開２００２−２２３２４８号公報
【非特許文献１】ＡＮＳＩ／ＩＥＥＥ  Ｓｔｄ  ８０２．１１，１９９９  ＥｄｉｔｉｏＮ  "９．２．８  ＡＣＫ  ｐｒｏｃｅｄｕｒｅ"
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の（特許文献１）に記載の技術では、データの衝突によるパケットエラーが発生した場合は必ず再送が行われるが、例えば、リアルタイム伝送が必要な無線局の場合に、データを再送してもタイムアウトにより、リアルタイム性が損なわれてしまい受信側ではデータを廃棄するしかない場合も発生し、さらには、再送を行うことにより、その次に送信する予定のデータを送信する処理に遅れが発生し、リアルタイム性が破綻してしまうようなことも起きていた。
【０００７】
このようすを図１０に示す従来例における再送による遅延を説明する図で説明する。例えば、１番目の送信データＰ１を送信するときに、送信に３回続けて失敗し、再送を３回行ったとする。このときデータＰ１は再送を行ったことにより受信側には遅延して届くことになるが、データＰ１の２回目の再送後に送信予定だった２番目の送信データＰ２も１番目の送信データＰ１の遅延に伴い、点線矢印のように送信する時点で遅延が発生していることが分かる。さらに、データＰ２は１回だけ送信に失敗して再送するので、データＰ１の４回目の再送後に送信予定だった３番目の送信データも点線矢印のように送信の時点で遅延が発生していることが分かる。このように再送を行うことにより、次々と遅延が発生してしまう。
【０００８】
また、上記の（特許文献２）に記載の技術では、リアルタイム通信において途切れが生じるような場合は、再送要求がなされないが、例えば、補間することによりロスしたデータを擬似的に作るようなシステムの場合には、再送要求がなされないためにデータが送信されないと、補間精度が落ちてしまうことになる。
【０００９】
補間することによりロスしたデータを擬似的に作るようなシステムでは、例えば図１１に示すように、データを処理しようとするときに、処理するデータが入ったパケットを受信していなかった場合には、受信できなかったパケットのデータを、１つ前のパケットデータと２つ前のパケットデータとから類推して擬似的に作成して処理するようにしている。このとき図１２の上段に示すように、正常受信できなかったパケット３のデータを、図１１と同様に、正常受信したパケット１のデータとパケット２のデータとから類推して擬似的に作成したときに、さらにその次のパケット４も受信に失敗した場合は、図１２の下段に示すように、パケット２のデータと擬似的に作成したパケット３のデータからパケット４のデータを擬似的に作ることになり、正常受信したパケット２のデータとパケット３とから擬似的に作成したパケット４のデータよりもかなり精度が落ちてしまうこととなる。
【００１０】
本発明は、上記従来の問題に鑑みてなされたものであり、再送による送信遅延の発生を少なくすることができるデータ通信装置およびデータ通信方法を得ることを第１目的とする。
【００１１】
また、本発明は、高い精度での擬似データを作成することができるデータを受信側に提供できるデータ通信装置を得ることができるデータ通信装置およびデータ通信方法を得ることを第２目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために本発明のデータ通信装置は、通信相手からの肯定応答を所定の時間内に受信したか否かに基づき再送制御を行うデータ通信装置において、送信に失敗したパケットのデータと当該送信に失敗したパケットの次に送信すべきパケットのデータとを１つのデータとするパケットを構築するパケット構築手段を備えたものである。
【００１３】
上記課題を解決するために本発明のデータ通信方法は、通信相手からの肯定応答を所定の時間内に受信したか否かに基づき再送制御を行うデータ通信方法において、送信に失敗したパケットの次に送信すべきパケットがある場合、送信に失敗したパケットと該送信に失敗したパケットの次に送信すべきパケットとを１つのデータとするパケットを構築するパケット構築ステップを含むものである。
【００１４】
上記課題を解決するために本発明の他のデータ通信方法は、通信相手からの肯定応答を所定の時間内に受信したか否かに基づき再送制御を行うデータ通信方法において、送信に失敗したパケットがある場合、今から送信するデータと該失敗したパケットのデータとを１つのデータとするパケットを構築するパケット構築ステップを含むものである。
【発明の効果】
【００１５】
本発明のデータ通信装置およびデータ通信方法によれば、送信に失敗したパケットのデータと次に送信すべきパケットのデータとを１つに合わせて送ることができるので、再送による送信遅延が少なくなる。
【発明を実施するための最良の形態】
【００１６】
本発明の第１の発明のデータ通信装置は、通信相手からの肯定応答を所定の時間内に受信したか否かに基づき再送制御を行うデータ通信装置において、送信に失敗したパケットのデータと当該送信に失敗したパケットの次に送信すべきパケットのデータとを１つのデータとするパケットを構築するパケット構築手段を備えたものである。
【００１７】
この構成により、送信に失敗したパケットのデータと次に送信すべきパケットのデータとを１つに合わせて構築パケットを構築して送ることができるので、再送による送信遅延が少なくなる。
【００１８】
第２の発明のデータ通信装置は、第１の発明において、送信に失敗したパケットのデータは、送信に失敗した複数のパケット分のデータを含むものである。この構成により、構築パケットのもととなる送信に失敗したパケットのデータは、送信に失敗した複数のパケット分のデータを含むこととしてから、連続して送信に失敗した場合でも、そのデータを含めて再構築パケットとして構築できるので、連続して送信に失敗した場合でも再送による送信遅延が少なくなる。
【００１９】
第３の発明のデータ通信装置は、第１または２の発明において、パケット構築手段は、送信すべきパケットを作成するための送信データ作成手段と、送信データ作成手段で作成した送信すべきパケットの送信が失敗した場合に、当該送信すべきパケットを再送する決定を行う再送制御手段と、再送制御手段で送信すべきパケットの再送が決定された場合に、送信データ作成手段において次に送信すべきパケットが作成されているときには、送信が失敗したパケットのデータと次に送信すべきパケットのデータとを１つのデータとするパケットを再送すべきパケットとして構築するための再送データ構築手段と、を備えたものである。
【００２０】
この構成により、データの送信エラーが発生した場合に、その送信エラーのデータを再送する際に、次に送信すべきパケットが存在するか否かを判断して、次に送信すべきパケットが存在する場合は、送信に失敗したパケットのデータと次に送信すべきパケットのデータとを１つにした構築パケットを構築することとしたから、送信失敗によって再送しなければならない場合に次に送信すべきパケットが存在するようなときでも、次に送信すべきパケットも１つにした構築パケットを構築することとしたので、リアルタイム性を破綻させることなく送信を行うことができるという作用を有する。
【００２１】
第４の発明のデータ通信装置は、第１または第２の発明において、パケット構築手段は、送信すべきパケットを作成する送信データ作成手段と、送信すべきパケットの送信が成功しない場合に所定の再送を行う再送制御手段と、再送制御手段において所定の再送を行っても送信が成功しない場合に送信に失敗したパケットと送信失敗の情報を保持する送信結果保持手段と、送信データ作成手段において送信すべきパケットが作成された場合に、送信結果保持手段に送信に失敗したパケットが保持されているときには、送信すべきパケットのデータと送信に失敗したパケットのデータとを１つのデータとするパケットを送信すべきパケットとして再構築するための送信データ再構築手段と、送信データ再構築手段に再構築したパケットが存在する場合は、当該再構築したパケットを取り出し、存在しない場合は送信データ作成手段から送信すべきパケットを取り出して、取り出したパケットを送信すべきパケットとして選択する送信パケット選択手段と、を備えたものである。
【００２２】
この構成により、データの送信エラーが発生した場合に、その送信エラーのパケットの次に送信すべきパケットを送信する際に、送信に失敗したパケットのデータと次に送信すべきパケットのデータとを１つにした構築パケットとして構築して送ることとしたから、送信エラーのパケットの次に送信すべきパケットを送信するときに、送信に失敗したパケットのデータと次に送信すべきパケットのデータとを１つにした構築パケットを構築して送信することとしたから、送信に失敗したデータも再送してできるだけ確実に送信することができるので、高い精度での擬似データを作成することができるデータを受信側に提供できるという作用を有する。
【００２３】
第５の発明のデータ通信方法は、通信相手からの肯定応答を所定の時間内に受信したか否かに基づき再送制御を行うデータ通信方法において、送信に失敗したパケットのデータと当該送信に失敗したパケットの次に送信すべきパケットのデータとを１つのデータとするパケットを構築するパケット構築ステップを含むものである。
【００２４】
この構成により、送信に失敗したパケットのデータと次に送信すべきパケットのデータとを１つに合わせて構築パケットを構築して送ることができるので、再送による送信遅延が少なくなる。
【００２５】
第６の発明のデータ通信方法は、第５の発明において、送信に失敗したパケットのデータは、送信に失敗した複数のパケット分のデータを含むものである。この構成により、構築パケットのもととなる送信に失敗したパケットのデータは、送信に失敗した複数のパケット分のデータを含むこととしたから、連続して送信に失敗した場合でも、そのデータを含めて再構築パケットとして構築できるので、連続して送信に失敗した場合でも再送による送信遅延が少なくなる。
【００２６】
第７の発明のデータ通信方法は、第５または６の発明において、パケット構築ステップは、送信すべきパケットを作成する作成ステップと、作成ステップで作成した送信すべきパケットの送信が失敗したか否かを判定する判定ステップと、判定ステップでパケットの送信が失敗したと判定した場合に、作成ステップにおいて、送信に失敗したパケットの次に送信すべきパケットが作成されているときは、当該送信が失敗したパケットのデータと次に送信すべきパケットのデータとを１つのデータとするパケットを再送すべきパケットとして構築する再送データ構築ステップと、を含むものである。
【００２７】
この構成により、データの送信エラーが発生した場合に、その送信エラーのデータを再送する際に、次に送信すべきパケットが存在するか否かを判断して、次に送信すべきパケットが存在する場合は、送信に失敗したパケットのデータと次に送信すべきパケットのデータとを１つにした構築パケットを構築することとしたから、送信失敗によって再送しなければならない場合に次に送信すべきパケットが存在するようなときでも、次に送信すべきパケットも１つにした構築パケットを構築することとしたので、リアルタイム性を破綻させることなく送信を行うことができるという作用を有する。
【００２８】
第８の発明のデータ通信方法は、第７の発明において、再送データ構築ステップは、送信が失敗したパケットのデータと次に送信すべきパケットのデータとの合計サイズがパケット最大サイズを超えるか否かを判定し、超えない場合にのみ、送信が失敗したパケットのデータと次に送信すべきパケットのデータとを１つのデータとするパケットを構築することができる。
【００２９】
第９の発明のデータ通信方法は、第５または６の発明において、パケット構築ステップは、送信失敗したパケットを保持する保持ステップと、新たに送信すべきパケットを作成する作成ステップと、送信失敗したパケットの保持があるか否かを判定するステップと、送信失敗したパケットの保持があると判定された場合に、当該送信に失敗したパケットのデータと作成ステップで作成した送信すべきパケットのデータとを１つのデータとするパケットを送信すべきパケットとして再構築する送信データ再構築ステップと、再構築ステップで再構築された構築パケットと、作成ステップで作成された新たに送信すべきパケットと、のいずれかを送信すべきかを選択する選択ステップと、を含むものである。
【００３０】
この構成により、データの送信エラーが発生した場合に、その送信エラーのパケットの次に送信すべきパケットを送信する際に、送信に失敗したパケットのデータと次に送信すべきパケットのデータとを１つにした構築パケットとして構築して送ることとしたから、送信エラーのパケットの次に送信すべきパケットを送信するときに、送信に失敗したパケットのデータと次に送信すべきパケットのデータとを１つにした構築パケットを構築して送信することとしたから、送信に失敗したデータも再送してできるだけ確実に送信することができるので、高い精度での擬似データを作成することができるデータを受信側に提供できるという作用を有する。
【００３１】
第１０の発明のデータ通信方法は、第９の発明において、送信データ再構築ステップは、送信に失敗したパケットのデータと作成ステップで作成した送信すべきパケットのデータとの合計サイズがパケット最大サイズを超えるか否かを判定し、超えない場合にのみ、送信に失敗したパケットのデータと作成ステップで作成した送信すべきパケットのデータとを１つのデータとするパケットとして再構築することができる。
【００３２】
以下、本発明の実施の形態について説明する。
【００３３】
（実施の形態１）
本発明の実施の形態１のデータ通信装置およびデータ通信方法について、図１〜図５に基づいて以下詳細に説明する。図１は本発明の実施の形態１におけるデータ送信側ブロック図であり、図２は本発明の送信データ作成手段が作成する無線パケットの構成を説明する図であり、図３は本発明の実施の形態１における再送データ構築手段が作成した再送パケットを説明する図であり、図４は本発明の実施の形態１における送信制御のフローチャートであり、図５は本発明における再送のタイミングを説明する図である。
【００３４】
図１において、１はデータ送信手段であり、実際のデータ送信を行う。２はデータ受信手段であり、他の通信装置などから送られてくるデータを受信する。３は送信結果判定手段であり、データの受信側から返される肯定応答であるＡＣＫを一定時間内にタイムアウトせずに正しく受信できたかどうかにより、送信に成功したかどうかを判定する。４は送信データ作成手段であり、図示しない上位層の送信側から依頼される送信データにヘッダなどをつけて送信データを作成する。５は再送データ構築手段であり、データの送信に失敗したとき、送信データ作成手段４が次に送信するデータを作成していた場合、送信に失敗したデータと送信データ作成手段４が作成した次に送信するデータを１つのデータとするパケット（再送データ）として構築する。６は再送制御手段であり、送信に失敗したときは再送データ構築手段５が構築した再送データを使って、データの再送を行うよう制御を行う。
【００３５】
つぎに、送信データ作成手段４が作成する送信パケットについて説明する。
【００３６】
図２に示すように、送信データ作成手段４は、音声のようなデータ本体１６を備えた構成のパケットを作成する。１１は送信する送信パケット全体を示し、１２は送信パケットに対するフレームヘッダ、１３はＩＰヘッダ、１４はＵＤＰヘッダ、１５はリアルタイム通信で用いられるＲＴＰヘッダ、１６はデータ本体そのものである。図２に示す例においては、無線パケットの最後に付くＦＣＳ（ｆｒａｍｅ  ｃｈｅｃｋ  ｓｅｑｕｅＮｃｅ）は省略している。
【００３７】
つぎに、再送データ構築手段５が作成する再送用のパケット（再送パケット）について説明する。
【００３８】
図３において、２１は送信データ作成手段４が作成した送信パケットであり、各種ヘッダは図２のＩＰヘッダなどのヘッダをまとめて記述している。２２も同じく送信データ作成手段４が作成した送信パケットであるが、送信パケット２１の次に作成された送信パケットである。２３は再送データ構築手段５が作成した再送パケットであり、送信パケット２１のデータと送信パケット２２のデータを合わせて１つのパケットとして作成している。２４は送信データ作成手段４が作成した送信パケットであるが、送信パケット２２の次に作成されたパケットである。２５は再送データ構築手段５が作成した再送パケット２３の送信に失敗したときに送る次の再送パケットであり、再送パケット２３のデータとパケット２４のデータを合わせて１つのパケットとして作成している。２６は送信データ作成手段４が作成した送信パケットであるが、送信パケット２４の次に作成されたパケットである。
【００３９】
音声のようなデータの場合、１つのデータはサイズが小さいので、複数のデータをまとめて１つのパケットとして送信することが可能である。例えば、Ｇ７２３．１にて圧縮された音声データの場合、３０ｍｓの音声は２４バイトになるが（６．３Ｋｂｐｓの場合）、１５００バイトのパケットならばヘッダを考慮しても３０ｍｓの音声データが数十個ほど格納できることになる。ただし、エラーが発生しない通常通信の場合は、システムで遅延が発生しないように制御しながら可能ならば複数の音声データをまとめて送る場合もある。
【００４０】
次に、上記のデータ通信装置の動作について説明する。
【００４１】
まず、図示しないデータの送信を要求するアプリケーションなどの上位層は、送信を要求するにあたって送信データを図１の送信データ作成手段４に与えると、送信データ作成手段４は、上位のアプリケーションなどから送信データを受け取る（ステップＳ１）。
【００４２】
送信データ作成手段４は受け取った送信データから実際に送信する図２のような送信パケットを作成する（ステップＳ２）。
【００４３】
今から送信するパケットはまだ再送を行ってないので、再送実施回数を０に設定する（ステップＳ３）。
【００４４】
次に、データ送信手段１はアンテナを通して作成した送信パケットの送信を行う（ステップＳ４）。
【００４５】
次に、データ受信手段２は、受信側から返されるＡＣＫ応答が返されるのを待つ。送信結果判定手段３は、このＡＣＫ応答があらかじめ決められたタイムアウト時間内にデータ受信手段２において受け取られたかどうかにより、送信が成功したかどうかを判定する（ステップＳ５）。具体的には、送信結果判定手段３は、受信側からのＡＣＫをタイムアウトすることなくデータ受信手段２において正常に受信した場合は、正常に送信した（送信成功）と判定し、タイムアウトした場合は、送信に失敗したと判定して、判定結果を再送制御手段６に出力する。このタイムアウト時間は、例えば、送信パケットの通信時間Ｔ１と、受信側がパケットを受け取ってＡＣＫを返すまでの待ち時間を示すＳＩＦＳ（Ｓｈｏｒｔ  ＩＮｔｅｒｆｒａｍｅ  Ｓｐａｃｅ）Ｔ２と、ＡＣＫパケットの通信時間Ｔ３と、マージン時間Ｔ４とから、例えば、（数１）により決めることができる。
【００４６】
タイムアウト時間＝Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４  ・・・（数１）
送信成功と判定した場合（ステップＳ５；Ｙ）、終了するか終了しないかを判断して（ステップＳ１１）、終了すると判断した場合は終了し、終了しないと判断したらステップＳ１に戻り次のデータの送信処理を行う。
【００４７】
一方、送信に失敗して送信失敗と判定した場合（ステップＳ５；Ｎ）、再送制御手段６は、再送実施回数があらかじめ決められた再送回数を超えていないかどうかチェックする（ステップＳ６）。
【００４８】
再送実施回数が予め決められた再送回数を超えている（ステップＳ６；Ｙ）ときは、再送制御手段６は、終了するかしないかを判断して（ステップＳ１１）、終了すると判断した場合は終了する。終了しないと判断したならば、ステップＳ１へ戻り次のデータを受け取る処理を行う。
【００４９】
一方、再送回数を超えていなければ（ステップＳ６；Ｙ）、再送制御手段６は、再送データ構築手段５へ再送要求を行うので、再送データ構築手段５は、再送制御手段６から再送要求を受け取り、送信データ作成手段４が次に送信するデータを保持していないかどうかをチェックする（ステップＳ７）。
【００５０】
送信データ作成手段４が次に送信するデータを保持していない場合（ステップＳ７；Ｙ）、再送制御手段６は、再送実施回数に１を加えて（ステップＳ１０）、再送データ構築手段５は、送信に失敗したパケットをそのまま再送パケットとする。再送データ構築手段５が再送パケットを構築すると、再びステップＳ４に戻り、再送制御手段６は、構築された再送パケットをデータ送信手段１を使って送信する。
【００５１】
一方、送信データ作成手段４が次に送信するデータを保持していた場合（ステップＳ７；Ｙ）、再送データ構築手段５は、送信に失敗したデータと送信データ作成手段４が保持する次のデータの２つのデータを合わせたときパケットの最大サイズを超えていないかどうかチェックする（ステップＳ８）。
【００５２】
パケットの最大サイズを超えているとき（ステップＳ８；Ｙ）は、再送制御手段６は、再送実施回数に１を加えて（ステップＳ１０）、再びステップＳ４に戻り、再送データ構築手段５は、送信に失敗したパケットをそのまま再送パケットとして、再びステップＳ４に戻る。
【００５３】
一方、パケットの最大サイズを超えていないとき（ステップＳ８；Ｙ）は、送信に失敗したデータと送信データ作成手段４が保有する次に送信するデータを合わせて１つのデータとするパケットとして再送パケットを構築する（ステップＳ９）。具体的には、再送データ構築手段５は、図３に示すように、送信パケット２１のデータと送信パケット２２のデータから再送パケット２３を作成する。
【００５４】
このデータ通信装置により送信パケットを送信する様子を図５により説明する。例えば、１番目のデータＰ１を送信するときに、２回続けて送信に失敗したとする。本データ通信装置は、３回目の送信を行うときに２番目に送信するデータＰ２の送信要求がきたため、データＰ１とデータＰ２を１つに合わせて１つのデータＰ１Ｐ２とし、このデータを送信する。さらに、本データ通信装置は、この合わせたデータも送信に２回続けて失敗したときに、３番目に送信するデータＰ３の送信要求がくると、データＰ１Ｐ２とデータＰ３を１つに合わせて１つのデータＰ１Ｐ２Ｐ３として、このデータを送信する。
【００５５】
このときデータＰ１やデータＰ２は再送を行ったことにより受信側には遅延して届くが、３番目のデータＰ３は遅延が発生していないことが分かる。このように再送を行うときに次に送信するデータが発生している場合は、そのデータも送信に失敗したデータと一緒に送信することで、遅延の発生を少なくすることができる。
【００５６】
以上のように実施の形態１によれば、送信パケットの送信エラーにより再送が発生したとき、送信に失敗したデータだけでなく次に送信するデータがあれば、そのデータも合わせて１つのパケットとして再送を行うので、再送時に次のデータが送信され、リアルタイム通信が必要な場合にも、再送による遅延を少なくすることができる。
【００５７】
（実施の形態２）
実施の形態１では、送信に失敗した送信パケットの再送時に、次に送信すべき送信パケットが既に作成されている場合には、送信に失敗したパケットと次に送信すべきパケットとの２つのパケットから再送パケットを構築する点に特徴があった。一方、実施の形態２では、送信パケットの新たな作成時に、送信未了のパケットが存在する場合には、これから送信すべきパケットと前に送信すべきであったパケットとの２つのパケットから送信パケットを再構築する点に特徴がある。
【００５８】
本発明の実施の形態２のデータ通信装置およびデータ通信方法について、図６〜図９に基づいて以下詳細に説明する。図６は本発明の実施の形態２におけるデータ送信側ブロック図であり、図７は本発明の実施の形態２における送信データ再構築手段が作成した送信パケットを説明する図であり、図８は本発明の実施の形態２における送信制御のフローチャートである。図９は本発明にかかる類推による擬似データ作成を説明する図である。
【００５９】
図６において、データ送信手段３１、データ受信手段３２、送信結果判定手段３３、送信データ作成手段３４はそれぞれは実施の形態１のデータ送信手段１、データ受信手段２、送信結果判定手段３、送信データ作成手段４と同様である。３５は送信結果保持手段であり、送信結果および送信に失敗した場合は、送信に失敗した送信パケットも保持する。３６は送信データ再構築手段であり、データの送信を行うとき、前に送信したデータが送信に失敗していたとき、前に送信したデータと今から送信するデータを１つの送信パケットとして再構築する。３７は送信パケット選択手段であり、送信データ作成手段３４が作ったパケットかまたは送信データ再構築手段が作ったパケットを送信するべく選択する。３８は再送制御手段であり、送信結果判定手段３３の判定の結果、送信に失敗した場合、あらかじめ決められた回数まで再送を行い、このあらかじめ決められた回数の再送を行っても送信に失敗したときは、送信結果保持手段３５へ送信に失敗したという結果と共に送信に失敗したパケットを提供する。
【００６０】
送信データ作成手段３４は、実施の形態１と同様の図２に示すような、パケット構成で音声のようなデータ本体を作成する。
【００６１】
つぎに、送信データ再構築手段３ｂが作成する送信パケットについて説明する。
【００６２】
図７に示すように、４１は送信データ作成手段３４が作成した送信パケットであり、各種ヘッダは図２のＩＰヘッダなどのヘッダをまとめて記述している。４２も同じく送信データ作成手段３４が作成した送信パケットであるが、送信パケット４１の次に作成されたパケットである。４３は送信データ再構築手段３６が作成した送信パケットであり、送信パケット４１のデータと送信パケット４２のデータをまとめて１つのパケットとして作成している。
【００６３】
次に、上記のデータ通信装置において実現するデータ通信方法について説明する。
【００６４】
まず、図示しないデータの送信を要求するアプリケーションなどの上位層は、送信を要求するにあたって送信データを図６の送信データ作成手段３４に与えると、送信データ作成手段３４は送信データを受け取る（ステップＳ２１）。
【００６５】
送信データ作成手段３４は、受け取った送信データから実際に送信する図２のような送信パケットを作成する（ステップＳ２２）。
【００６６】
次に、送信データ再構築手段３６は、送信結果保持手段３５が保持している送信結果として送信に失敗したことを保持していないかどうかをチェックすることにより、今から送信する前の送信パケットの送信に失敗しているか否かを判断する（ステップＳ２３）。
【００６７】
前の送信に失敗している場合（ステップＳ２３；Ｙ）、送信データ再構築手段３６は、現在のパケットのデータと前の送信パケットのデータの２つのデータを合わせてパケットの最大サイズを超えているか否かを判定する（ステップＳ２４）。
【００６８】
２つのデータを合わせてパケットの最大サイズを超えていないと判定した場合（ステップＳ２４；Ｙ）、送信データ再構築手段３６は、現在のパケットのデータと前の送信パケットのデータを合わせて１つのデータとするパケットを送信パケットとして再構築する（ステップＳ２５）。
【００６９】
具体的には、図７に示すように、送信パケット４１のデータと送信パケット４２のデータから送信パケット４３を作成している。次に、送信パケット選択手段３７は、送信データ再構築手段３６に送信するパケットがある場合は、そのパケットをデータ送信手段３１へ渡し、送信データ再構築手段３６に送信するパケットがない場合は、送信データ作成手段３４が作成したパケットをデータ送信手段３１へ渡す。
【００７０】
送信に失敗していない場合（ステップＳ２３；Ｙ）や、パケットの最大サイズを超える場合（ステップＳ２４；Ｙ）は送信パケットの再構築は行わず、再送制御手段３８は、今から送信するパケットはまだ再送を行ってないので、再送実施回数を０に設定する（ステップＳ２６）。
【００７１】
最後にデータ送信手段３１は受け取ったパケットをアンテナを通して送信する（ステップＳ２７）。
【００７２】
この後、データ受信手段３２は受信側からＡＣＫ応答が返されるのを待つ。送信結果判定手段３３は実施の形態１と同様に送信が成功したかどうかを判定する（ステップＳ２８）。
【００７３】
タイムアウトすることなくＡＣＫを正常に受信した場合は、送信結果判定手段３３は、正常に送信したと判定し（ステップＳ２８；Ｙ）、送信成功したという結果を送信結果保持手段３５に登録し、終了するかしないかを判断して（ステップＳ３２）、終了すると判断した場合は終了し、終了しないと判断した場合はステップＳ２１に戻り次のデータの送信処理を行う。
【００７４】
一方、送信結果判定手段３３により送信に失敗したと判断される（ステップＳ２８；Ｙ）と、再送制御手段３８は再送実施回数があらかじめ決められた再送回数を超えているか否かをチェックする（ステップＳ２９）。
【００７５】
あらかじめ決められた再送回数を超えている場合（ステップＳ２９；Ｙ）は、再送制御手段３８は、送信に失敗したという結果と共に送信に失敗したパケットを送信結果保持手段３５へ渡し、送信結果保持手段３５が送信失敗という結果および送信に失敗したパケットを保持することで送信失敗パケットの登録を行う（ステップＳ３１）。
【００７６】
一方、あらかじめ決められた再送回数を超えていない場合（ステップＳ２９；Ｙ）は、再送制御手段３８は、再送実施回数に１を加え（ステップＳ３０）、ステップＳ２７へ戻り、送信に失敗したパケットをそのままデータ送信手段３１へ渡してデータ送信手段３１が再送を行う。
【００７７】
この様子を図９により説明する。本発明のデータ通信装置では、パケット５のデータを送るときパケット４のデータも一緒に合わせて１つのデータとするパケットとして送信することが可能なので、受信側がパケット５を正常に受信したときは、パケット５のデータとパケット４のデータを同時に受信できることになる。この後、パケット６が正常に送信できなかった場合、受信側は、正常受信したパケット４のデータとパケット５のデータからパケット６のデータを擬似的に作成することができるため、擬似的に作ったデータと正常受信してから擬似的にデータを作るより、高い精度で擬似データを作ることが可能となる。
【００７８】
また、一般に音声通信などのリアルタイム通信において、送信に失敗したとき、再送しても時間的に間に合わないために再送されないことがあるが、例えば、パケットロスしたデータはその前のデータから類推することでロスデータを擬似的に作成することがあるが、このようなシステムの場合、たとえ受信したデータが処理に間に合わなくても、その次に受信するデータがロスしたときに前に受信したデータを使ってロスしたデータを類推して作成することがあるため、やはり時間的に間に合わなくてもデータを受信した方が良いことがある。本発明ではこのようなときにも有効である。
【００７９】
以上のように実施の形態２によれば、上記の構成によりデータの送信を行うとき、今から送信するデータと共に前に送信に失敗したパケットのデータも合わせて１つのパケットとして送信を行うので、前に送信に失敗したデータも送信されることになり、類推などにより擬似データを作るときなどに有効となる。
【産業上の利用可能性】
【００８０】
以上のように、本発明にかかるデータ通信装置は、送信データが音声などのリアルタイム性が高いデータである場合に有用であり、特に、１つのデータサイズが小さいデータ通信を行う場合に適している。
【図面の簡単な説明】
【００８１】
【図１】本発明の実施の形態１におけるデータ送信側ブロック図
【図２】本発明の送信データ作成手段が作成する無線パケットの構成を説明する図
【図３】本発明の実施の形態１における再送データ構築手段が作成した再送パケットを説明する図
【図４】本発明の実施の形態１における送信制御のフローチャート
【図５】本発明における再送のタイミングを説明する図
【図６】本発明の実施の形態２におけるデータ送信側ブロック図
【図７】本発明の実施の形態２における送信データ再構築手段が作成した送信パケットを説明する図
【図８】本発明の実施の形態２における送信制御のフローチャート
【図９】本発明にかかる類推による擬似データ作成を説明する図
【図１０】従来の技術における再送による遅延を説明する図
【図１１】一般的な類推による擬似データ作成を説明する図
【図１２】従来の技術における類推による擬似データ作成を説明する図
【符号の説明】
【００８２】
１、３１    データ送信手段
２、３２    データ受信手段
３、３３    送信結果判定手段
４、３４    送信データ作成手段
５    再送データ構築手段
６    再送制御手段
１１    送信パケット全体
１２、１３、１４、１５    パケットヘッダ
１６    データ本体
３５    送信結果保持手段
３６    送信データ再構築手段
３７    送信パケット選択手段
３８    再送制御手段
【図１】
2007116411.tif 000003
【図２】
2007116411.tif 000004
【図３】
2007116411.tif 000005
【図４】
2007116411.tif 000006
【図５】
2007116411.tif 000007
【図６】
2007116411.tif 000008
【図７】
2007116411.tif 000009
【図８】
2007116411.tif 000010
【図９】
2007116411.tif 000011
【図１０】
2007116411.tif 000012
【図１１】
2007116411.tif 000013
【図１２】
2007116411.tif 000014