JP2007116411A - データ通信装置およびデータ通信方法 - Google Patents
データ通信装置およびデータ通信方法 Download PDFInfo
- Publication number
- JP2007116411A JP2007116411A JP2005305500A JP2005305500A JP2007116411A JP 2007116411 A JP2007116411 A JP 2007116411A JP 2005305500 A JP2005305500 A JP 2005305500A JP 2005305500 A JP2005305500 A JP 2005305500A JP 2007116411 A JP2007116411 A JP 2007116411A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- data
- transmitted
- transmission
- failed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
【課題】無線通信において再送しても送信遅延が発生しないようにすることができるデータ通信装置およびデータ通信方法を得ることを目的とする。
【解決手段】通信相手からの肯定応答を所定の時間内に受信したか否かに基づき再送制御を行うデータ通信装置において、送信に失敗したパケットのデータと当該送信に失敗したパケットの次に送信すべきパケットのデータとを1つのデータとするパケットを構築するパケット構築手段を備えたデータ通信装置およびこの装置によって実現されるデータ通信方法。
【選択図】図4
【解決手段】通信相手からの肯定応答を所定の時間内に受信したか否かに基づき再送制御を行うデータ通信装置において、送信に失敗したパケットのデータと当該送信に失敗したパケットの次に送信すべきパケットのデータとを1つのデータとするパケットを構築するパケット構築手段を備えたデータ通信装置およびこの装置によって実現されるデータ通信方法。
【選択図】図4
Description
本発明は、無線ネットワークを使ってデータ通信を行うときの通信エラー発生時のエラー対策を行うことができるデータ通信装置およびデータ通信方法に関し、詳しくは、音声などリアルタイム性の高いデータ通信を行うとき、再送により通信エラーを回避しつつ、リアルタイム性を損なうことなく通信することができるデータ通信装置およびデータ通信方法に関する。
無線によるネットワーク通信において、例えば、(非特許文献1)では、1対1通信であるユニキャスト通信を行うとき、データ受信側は正常にデータを受信したことを示すために、ACKという肯定応答を送信側へ応答することになっている。データ送信側は受信側から返されるこのACK応答を受け取ることにより、送信が成功したと判断し、次のデータを送信することになっている。しかし、ACK応答をある一定時間内に受信できずタイムアウトしたときは、通信に失敗したとして、送信側はデータの再送を行うようになっている。
従来の技術としては、たとえば、(特許文献1)によると、ある無線局がデータを送信したとき、他の無線局からのデータとの衝突が発生したと判断されたときは、先に送信したデータと同じデータの再送を行うように制御する無線パケット通信方法が提案されている。
また(特許文献2)において、データの受信エラーが発生したとき、そのデータ全体またはそのデータの一部を再送するように要求を出すとともに、リアルタイム通信において途切れが生じてしまうような場合は、再送要求を出さないようにした無線通信装置が提案されている。
このように、従来の技術では、送信に失敗したときにデータの再送を行うが、先に送信したデータを再び送るか、または、先に送信したデータの一部を切り出して送ることが多かった。
特開2002−247051号公報
特開2002−223248号公報
ANSI/IEEE Std 802.11,1999 EditioN "9.2.8 ACK procedure"
しかしながら、上記の(特許文献1)に記載の技術では、データの衝突によるパケットエラーが発生した場合は必ず再送が行われるが、例えば、リアルタイム伝送が必要な無線局の場合に、データを再送してもタイムアウトにより、リアルタイム性が損なわれてしまい受信側ではデータを廃棄するしかない場合も発生し、さらには、再送を行うことにより、その次に送信する予定のデータを送信する処理に遅れが発生し、リアルタイム性が破綻してしまうようなことも起きていた。
このようすを図10に示す従来例における再送による遅延を説明する図で説明する。例えば、1番目の送信データP1を送信するときに、送信に3回続けて失敗し、再送を3回行ったとする。このときデータP1は再送を行ったことにより受信側には遅延して届くことになるが、データP1の2回目の再送後に送信予定だった2番目の送信データP2も1番目の送信データP1の遅延に伴い、点線矢印のように送信する時点で遅延が発生していることが分かる。さらに、データP2は1回だけ送信に失敗して再送するので、データP1の4回目の再送後に送信予定だった3番目の送信データも点線矢印のように送信の時点で遅延が発生していることが分かる。このように再送を行うことにより、次々と遅延が発生してしまう。
また、上記の(特許文献2)に記載の技術では、リアルタイム通信において途切れが生じるような場合は、再送要求がなされないが、例えば、補間することによりロスしたデータを擬似的に作るようなシステムの場合には、再送要求がなされないためにデータが送信されないと、補間精度が落ちてしまうことになる。
補間することによりロスしたデータを擬似的に作るようなシステムでは、例えば図11に示すように、データを処理しようとするときに、処理するデータが入ったパケットを受信していなかった場合には、受信できなかったパケットのデータを、1つ前のパケットデータと2つ前のパケットデータとから類推して擬似的に作成して処理するようにしている。このとき図12の上段に示すように、正常受信できなかったパケット3のデータを、図11と同様に、正常受信したパケット1のデータとパケット2のデータとから類推して擬似的に作成したときに、さらにその次のパケット4も受信に失敗した場合は、図12の下段に示すように、パケット2のデータと擬似的に作成したパケット3のデータからパケット4のデータを擬似的に作ることになり、正常受信したパケット2のデータとパケット3とから擬似的に作成したパケット4のデータよりもかなり精度が落ちてしまうこととなる。
本発明は、上記従来の問題に鑑みてなされたものであり、再送による送信遅延の発生を少なくすることができるデータ通信装置およびデータ通信方法を得ることを第1目的とする。
また、本発明は、高い精度での擬似データを作成することができるデータを受信側に提供できるデータ通信装置を得ることができるデータ通信装置およびデータ通信方法を得ることを第2目的とする。
上記課題を解決するために本発明のデータ通信装置は、通信相手からの肯定応答を所定の時間内に受信したか否かに基づき再送制御を行うデータ通信装置において、送信に失敗したパケットのデータと当該送信に失敗したパケットの次に送信すべきパケットのデータとを1つのデータとするパケットを構築するパケット構築手段を備えたものである。
上記課題を解決するために本発明のデータ通信方法は、通信相手からの肯定応答を所定の時間内に受信したか否かに基づき再送制御を行うデータ通信方法において、送信に失敗したパケットの次に送信すべきパケットがある場合、送信に失敗したパケットと該送信に失敗したパケットの次に送信すべきパケットとを1つのデータとするパケットを構築するパケット構築ステップを含むものである。
上記課題を解決するために本発明の他のデータ通信方法は、通信相手からの肯定応答を所定の時間内に受信したか否かに基づき再送制御を行うデータ通信方法において、送信に失敗したパケットがある場合、今から送信するデータと該失敗したパケットのデータとを1つのデータとするパケットを構築するパケット構築ステップを含むものである。
本発明のデータ通信装置およびデータ通信方法によれば、送信に失敗したパケットのデータと次に送信すべきパケットのデータとを1つに合わせて送ることができるので、再送による送信遅延が少なくなる。
本発明の第1の発明のデータ通信装置は、通信相手からの肯定応答を所定の時間内に受信したか否かに基づき再送制御を行うデータ通信装置において、送信に失敗したパケットのデータと当該送信に失敗したパケットの次に送信すべきパケットのデータとを1つのデータとするパケットを構築するパケット構築手段を備えたものである。
この構成により、送信に失敗したパケットのデータと次に送信すべきパケットのデータとを1つに合わせて構築パケットを構築して送ることができるので、再送による送信遅延が少なくなる。
第2の発明のデータ通信装置は、第1の発明において、送信に失敗したパケットのデータは、送信に失敗した複数のパケット分のデータを含むものである。この構成により、構築パケットのもととなる送信に失敗したパケットのデータは、送信に失敗した複数のパケット分のデータを含むこととしてから、連続して送信に失敗した場合でも、そのデータを含めて再構築パケットとして構築できるので、連続して送信に失敗した場合でも再送による送信遅延が少なくなる。
第3の発明のデータ通信装置は、第1または2の発明において、パケット構築手段は、送信すべきパケットを作成するための送信データ作成手段と、送信データ作成手段で作成した送信すべきパケットの送信が失敗した場合に、当該送信すべきパケットを再送する決定を行う再送制御手段と、再送制御手段で送信すべきパケットの再送が決定された場合に、送信データ作成手段において次に送信すべきパケットが作成されているときには、送信が失敗したパケットのデータと次に送信すべきパケットのデータとを1つのデータとするパケットを再送すべきパケットとして構築するための再送データ構築手段と、を備えたものである。
この構成により、データの送信エラーが発生した場合に、その送信エラーのデータを再送する際に、次に送信すべきパケットが存在するか否かを判断して、次に送信すべきパケットが存在する場合は、送信に失敗したパケットのデータと次に送信すべきパケットのデータとを1つにした構築パケットを構築することとしたから、送信失敗によって再送しなければならない場合に次に送信すべきパケットが存在するようなときでも、次に送信すべきパケットも1つにした構築パケットを構築することとしたので、リアルタイム性を破綻させることなく送信を行うことができるという作用を有する。
第4の発明のデータ通信装置は、第1または第2の発明において、パケット構築手段は、送信すべきパケットを作成する送信データ作成手段と、送信すべきパケットの送信が成功しない場合に所定の再送を行う再送制御手段と、再送制御手段において所定の再送を行っても送信が成功しない場合に送信に失敗したパケットと送信失敗の情報を保持する送信結果保持手段と、送信データ作成手段において送信すべきパケットが作成された場合に、送信結果保持手段に送信に失敗したパケットが保持されているときには、送信すべきパケットのデータと送信に失敗したパケットのデータとを1つのデータとするパケットを送信すべきパケットとして再構築するための送信データ再構築手段と、送信データ再構築手段に再構築したパケットが存在する場合は、当該再構築したパケットを取り出し、存在しない場合は送信データ作成手段から送信すべきパケットを取り出して、取り出したパケットを送信すべきパケットとして選択する送信パケット選択手段と、を備えたものである。
この構成により、データの送信エラーが発生した場合に、その送信エラーのパケットの次に送信すべきパケットを送信する際に、送信に失敗したパケットのデータと次に送信すべきパケットのデータとを1つにした構築パケットとして構築して送ることとしたから、送信エラーのパケットの次に送信すべきパケットを送信するときに、送信に失敗したパケットのデータと次に送信すべきパケットのデータとを1つにした構築パケットを構築して送信することとしたから、送信に失敗したデータも再送してできるだけ確実に送信することができるので、高い精度での擬似データを作成することができるデータを受信側に提供できるという作用を有する。
第5の発明のデータ通信方法は、通信相手からの肯定応答を所定の時間内に受信したか否かに基づき再送制御を行うデータ通信方法において、送信に失敗したパケットのデータと当該送信に失敗したパケットの次に送信すべきパケットのデータとを1つのデータとするパケットを構築するパケット構築ステップを含むものである。
この構成により、送信に失敗したパケットのデータと次に送信すべきパケットのデータとを1つに合わせて構築パケットを構築して送ることができるので、再送による送信遅延が少なくなる。
第6の発明のデータ通信方法は、第5の発明において、送信に失敗したパケットのデータは、送信に失敗した複数のパケット分のデータを含むものである。この構成により、構築パケットのもととなる送信に失敗したパケットのデータは、送信に失敗した複数のパケット分のデータを含むこととしたから、連続して送信に失敗した場合でも、そのデータを含めて再構築パケットとして構築できるので、連続して送信に失敗した場合でも再送による送信遅延が少なくなる。
第7の発明のデータ通信方法は、第5または6の発明において、パケット構築ステップは、送信すべきパケットを作成する作成ステップと、作成ステップで作成した送信すべきパケットの送信が失敗したか否かを判定する判定ステップと、判定ステップでパケットの送信が失敗したと判定した場合に、作成ステップにおいて、送信に失敗したパケットの次に送信すべきパケットが作成されているときは、当該送信が失敗したパケットのデータと次に送信すべきパケットのデータとを1つのデータとするパケットを再送すべきパケットとして構築する再送データ構築ステップと、を含むものである。
この構成により、データの送信エラーが発生した場合に、その送信エラーのデータを再送する際に、次に送信すべきパケットが存在するか否かを判断して、次に送信すべきパケットが存在する場合は、送信に失敗したパケットのデータと次に送信すべきパケットのデータとを1つにした構築パケットを構築することとしたから、送信失敗によって再送しなければならない場合に次に送信すべきパケットが存在するようなときでも、次に送信すべきパケットも1つにした構築パケットを構築することとしたので、リアルタイム性を破綻させることなく送信を行うことができるという作用を有する。
第8の発明のデータ通信方法は、第7の発明において、再送データ構築ステップは、送信が失敗したパケットのデータと次に送信すべきパケットのデータとの合計サイズがパケット最大サイズを超えるか否かを判定し、超えない場合にのみ、送信が失敗したパケットのデータと次に送信すべきパケットのデータとを1つのデータとするパケットを構築することができる。
第9の発明のデータ通信方法は、第5または6の発明において、パケット構築ステップは、送信失敗したパケットを保持する保持ステップと、新たに送信すべきパケットを作成する作成ステップと、送信失敗したパケットの保持があるか否かを判定するステップと、送信失敗したパケットの保持があると判定された場合に、当該送信に失敗したパケットのデータと作成ステップで作成した送信すべきパケットのデータとを1つのデータとするパケットを送信すべきパケットとして再構築する送信データ再構築ステップと、再構築ステップで再構築された構築パケットと、作成ステップで作成された新たに送信すべきパケットと、のいずれかを送信すべきかを選択する選択ステップと、を含むものである。
この構成により、データの送信エラーが発生した場合に、その送信エラーのパケットの次に送信すべきパケットを送信する際に、送信に失敗したパケットのデータと次に送信すべきパケットのデータとを1つにした構築パケットとして構築して送ることとしたから、送信エラーのパケットの次に送信すべきパケットを送信するときに、送信に失敗したパケットのデータと次に送信すべきパケットのデータとを1つにした構築パケットを構築して送信することとしたから、送信に失敗したデータも再送してできるだけ確実に送信することができるので、高い精度での擬似データを作成することができるデータを受信側に提供できるという作用を有する。
第10の発明のデータ通信方法は、第9の発明において、送信データ再構築ステップは、送信に失敗したパケットのデータと作成ステップで作成した送信すべきパケットのデータとの合計サイズがパケット最大サイズを超えるか否かを判定し、超えない場合にのみ、送信に失敗したパケットのデータと作成ステップで作成した送信すべきパケットのデータとを1つのデータとするパケットとして再構築することができる。
以下、本発明の実施の形態について説明する。
(実施の形態1)
本発明の実施の形態1のデータ通信装置およびデータ通信方法について、図1〜図5に基づいて以下詳細に説明する。図1は本発明の実施の形態1におけるデータ送信側ブロック図であり、図2は本発明の送信データ作成手段が作成する無線パケットの構成を説明する図であり、図3は本発明の実施の形態1における再送データ構築手段が作成した再送パケットを説明する図であり、図4は本発明の実施の形態1における送信制御のフローチャートであり、図5は本発明における再送のタイミングを説明する図である。
本発明の実施の形態1のデータ通信装置およびデータ通信方法について、図1〜図5に基づいて以下詳細に説明する。図1は本発明の実施の形態1におけるデータ送信側ブロック図であり、図2は本発明の送信データ作成手段が作成する無線パケットの構成を説明する図であり、図3は本発明の実施の形態1における再送データ構築手段が作成した再送パケットを説明する図であり、図4は本発明の実施の形態1における送信制御のフローチャートであり、図5は本発明における再送のタイミングを説明する図である。
図1において、1はデータ送信手段であり、実際のデータ送信を行う。2はデータ受信手段であり、他の通信装置などから送られてくるデータを受信する。3は送信結果判定手段であり、データの受信側から返される肯定応答であるACKを一定時間内にタイムアウトせずに正しく受信できたかどうかにより、送信に成功したかどうかを判定する。4は送信データ作成手段であり、図示しない上位層の送信側から依頼される送信データにヘッダなどをつけて送信データを作成する。5は再送データ構築手段であり、データの送信に失敗したとき、送信データ作成手段4が次に送信するデータを作成していた場合、送信に失敗したデータと送信データ作成手段4が作成した次に送信するデータを1つのデータとするパケット(再送データ)として構築する。6は再送制御手段であり、送信に失敗したときは再送データ構築手段5が構築した再送データを使って、データの再送を行うよう制御を行う。
つぎに、送信データ作成手段4が作成する送信パケットについて説明する。
図2に示すように、送信データ作成手段4は、音声のようなデータ本体16を備えた構成のパケットを作成する。11は送信する送信パケット全体を示し、12は送信パケットに対するフレームヘッダ、13はIPヘッダ、14はUDPヘッダ、15はリアルタイム通信で用いられるRTPヘッダ、16はデータ本体そのものである。図2に示す例においては、無線パケットの最後に付くFCS(frame check sequeNce)は省略している。
つぎに、再送データ構築手段5が作成する再送用のパケット(再送パケット)について説明する。
図3において、21は送信データ作成手段4が作成した送信パケットであり、各種ヘッダは図2のIPヘッダなどのヘッダをまとめて記述している。22も同じく送信データ作成手段4が作成した送信パケットであるが、送信パケット21の次に作成された送信パケットである。23は再送データ構築手段5が作成した再送パケットであり、送信パケット21のデータと送信パケット22のデータを合わせて1つのパケットとして作成している。24は送信データ作成手段4が作成した送信パケットであるが、送信パケット22の次に作成されたパケットである。25は再送データ構築手段5が作成した再送パケット23の送信に失敗したときに送る次の再送パケットであり、再送パケット23のデータとパケット24のデータを合わせて1つのパケットとして作成している。26は送信データ作成手段4が作成した送信パケットであるが、送信パケット24の次に作成されたパケットである。
音声のようなデータの場合、1つのデータはサイズが小さいので、複数のデータをまとめて1つのパケットとして送信することが可能である。例えば、G723.1にて圧縮された音声データの場合、30msの音声は24バイトになるが(6.3Kbpsの場合)、1500バイトのパケットならばヘッダを考慮しても30msの音声データが数十個ほど格納できることになる。ただし、エラーが発生しない通常通信の場合は、システムで遅延が発生しないように制御しながら可能ならば複数の音声データをまとめて送る場合もある。
次に、上記のデータ通信装置の動作について説明する。
まず、図示しないデータの送信を要求するアプリケーションなどの上位層は、送信を要求するにあたって送信データを図1の送信データ作成手段4に与えると、送信データ作成手段4は、上位のアプリケーションなどから送信データを受け取る(ステップS1)。
送信データ作成手段4は受け取った送信データから実際に送信する図2のような送信パケットを作成する(ステップS2)。
今から送信するパケットはまだ再送を行ってないので、再送実施回数を0に設定する(ステップS3)。
次に、データ送信手段1はアンテナを通して作成した送信パケットの送信を行う(ステップS4)。
次に、データ受信手段2は、受信側から返されるACK応答が返されるのを待つ。送信結果判定手段3は、このACK応答があらかじめ決められたタイムアウト時間内にデータ受信手段2において受け取られたかどうかにより、送信が成功したかどうかを判定する(ステップS5)。具体的には、送信結果判定手段3は、受信側からのACKをタイムアウトすることなくデータ受信手段2において正常に受信した場合は、正常に送信した(送信成功)と判定し、タイムアウトした場合は、送信に失敗したと判定して、判定結果を再送制御手段6に出力する。このタイムアウト時間は、例えば、送信パケットの通信時間T1と、受信側がパケットを受け取ってACKを返すまでの待ち時間を示すSIFS(Short INterframe Space)T2と、ACKパケットの通信時間T3と、マージン時間T4とから、例えば、(数1)により決めることができる。
タイムアウト時間=T1+T2+T3+T4 ・・・(数1)
送信成功と判定した場合(ステップS5;Y)、終了するか終了しないかを判断して(ステップS11)、終了すると判断した場合は終了し、終了しないと判断したらステップS1に戻り次のデータの送信処理を行う。
送信成功と判定した場合(ステップS5;Y)、終了するか終了しないかを判断して(ステップS11)、終了すると判断した場合は終了し、終了しないと判断したらステップS1に戻り次のデータの送信処理を行う。
一方、送信に失敗して送信失敗と判定した場合(ステップS5;N)、再送制御手段6は、再送実施回数があらかじめ決められた再送回数を超えていないかどうかチェックする(ステップS6)。
再送実施回数が予め決められた再送回数を超えている(ステップS6;Y)ときは、再送制御手段6は、終了するかしないかを判断して(ステップS11)、終了すると判断した場合は終了する。終了しないと判断したならば、ステップS1へ戻り次のデータを受け取る処理を行う。
一方、再送回数を超えていなければ(ステップS6;Y)、再送制御手段6は、再送データ構築手段5へ再送要求を行うので、再送データ構築手段5は、再送制御手段6から再送要求を受け取り、送信データ作成手段4が次に送信するデータを保持していないかどうかをチェックする(ステップS7)。
送信データ作成手段4が次に送信するデータを保持していない場合(ステップS7;Y)、再送制御手段6は、再送実施回数に1を加えて(ステップS10)、再送データ構築手段5は、送信に失敗したパケットをそのまま再送パケットとする。再送データ構築手段5が再送パケットを構築すると、再びステップS4に戻り、再送制御手段6は、構築された再送パケットをデータ送信手段1を使って送信する。
一方、送信データ作成手段4が次に送信するデータを保持していた場合(ステップS7;Y)、再送データ構築手段5は、送信に失敗したデータと送信データ作成手段4が保持する次のデータの2つのデータを合わせたときパケットの最大サイズを超えていないかどうかチェックする(ステップS8)。
パケットの最大サイズを超えているとき(ステップS8;Y)は、再送制御手段6は、再送実施回数に1を加えて(ステップS10)、再びステップS4に戻り、再送データ構築手段5は、送信に失敗したパケットをそのまま再送パケットとして、再びステップS4に戻る。
一方、パケットの最大サイズを超えていないとき(ステップS8;Y)は、送信に失敗したデータと送信データ作成手段4が保有する次に送信するデータを合わせて1つのデータとするパケットとして再送パケットを構築する(ステップS9)。具体的には、再送データ構築手段5は、図3に示すように、送信パケット21のデータと送信パケット22のデータから再送パケット23を作成する。
このデータ通信装置により送信パケットを送信する様子を図5により説明する。例えば、1番目のデータP1を送信するときに、2回続けて送信に失敗したとする。本データ通信装置は、3回目の送信を行うときに2番目に送信するデータP2の送信要求がきたため、データP1とデータP2を1つに合わせて1つのデータP1P2とし、このデータを送信する。さらに、本データ通信装置は、この合わせたデータも送信に2回続けて失敗したときに、3番目に送信するデータP3の送信要求がくると、データP1P2とデータP3を1つに合わせて1つのデータP1P2P3として、このデータを送信する。
このときデータP1やデータP2は再送を行ったことにより受信側には遅延して届くが、3番目のデータP3は遅延が発生していないことが分かる。このように再送を行うときに次に送信するデータが発生している場合は、そのデータも送信に失敗したデータと一緒に送信することで、遅延の発生を少なくすることができる。
以上のように実施の形態1によれば、送信パケットの送信エラーにより再送が発生したとき、送信に失敗したデータだけでなく次に送信するデータがあれば、そのデータも合わせて1つのパケットとして再送を行うので、再送時に次のデータが送信され、リアルタイム通信が必要な場合にも、再送による遅延を少なくすることができる。
(実施の形態2)
実施の形態1では、送信に失敗した送信パケットの再送時に、次に送信すべき送信パケットが既に作成されている場合には、送信に失敗したパケットと次に送信すべきパケットとの2つのパケットから再送パケットを構築する点に特徴があった。一方、実施の形態2では、送信パケットの新たな作成時に、送信未了のパケットが存在する場合には、これから送信すべきパケットと前に送信すべきであったパケットとの2つのパケットから送信パケットを再構築する点に特徴がある。
実施の形態1では、送信に失敗した送信パケットの再送時に、次に送信すべき送信パケットが既に作成されている場合には、送信に失敗したパケットと次に送信すべきパケットとの2つのパケットから再送パケットを構築する点に特徴があった。一方、実施の形態2では、送信パケットの新たな作成時に、送信未了のパケットが存在する場合には、これから送信すべきパケットと前に送信すべきであったパケットとの2つのパケットから送信パケットを再構築する点に特徴がある。
本発明の実施の形態2のデータ通信装置およびデータ通信方法について、図6〜図9に基づいて以下詳細に説明する。図6は本発明の実施の形態2におけるデータ送信側ブロック図であり、図7は本発明の実施の形態2における送信データ再構築手段が作成した送信パケットを説明する図であり、図8は本発明の実施の形態2における送信制御のフローチャートである。図9は本発明にかかる類推による擬似データ作成を説明する図である。
図6において、データ送信手段31、データ受信手段32、送信結果判定手段33、送信データ作成手段34はそれぞれは実施の形態1のデータ送信手段1、データ受信手段2、送信結果判定手段3、送信データ作成手段4と同様である。35は送信結果保持手段であり、送信結果および送信に失敗した場合は、送信に失敗した送信パケットも保持する。36は送信データ再構築手段であり、データの送信を行うとき、前に送信したデータが送信に失敗していたとき、前に送信したデータと今から送信するデータを1つの送信パケットとして再構築する。37は送信パケット選択手段であり、送信データ作成手段34が作ったパケットかまたは送信データ再構築手段が作ったパケットを送信するべく選択する。38は再送制御手段であり、送信結果判定手段33の判定の結果、送信に失敗した場合、あらかじめ決められた回数まで再送を行い、このあらかじめ決められた回数の再送を行っても送信に失敗したときは、送信結果保持手段35へ送信に失敗したという結果と共に送信に失敗したパケットを提供する。
送信データ作成手段34は、実施の形態1と同様の図2に示すような、パケット構成で音声のようなデータ本体を作成する。
つぎに、送信データ再構築手段3bが作成する送信パケットについて説明する。
図7に示すように、41は送信データ作成手段34が作成した送信パケットであり、各種ヘッダは図2のIPヘッダなどのヘッダをまとめて記述している。42も同じく送信データ作成手段34が作成した送信パケットであるが、送信パケット41の次に作成されたパケットである。43は送信データ再構築手段36が作成した送信パケットであり、送信パケット41のデータと送信パケット42のデータをまとめて1つのパケットとして作成している。
次に、上記のデータ通信装置において実現するデータ通信方法について説明する。
まず、図示しないデータの送信を要求するアプリケーションなどの上位層は、送信を要求するにあたって送信データを図6の送信データ作成手段34に与えると、送信データ作成手段34は送信データを受け取る(ステップS21)。
送信データ作成手段34は、受け取った送信データから実際に送信する図2のような送信パケットを作成する(ステップS22)。
次に、送信データ再構築手段36は、送信結果保持手段35が保持している送信結果として送信に失敗したことを保持していないかどうかをチェックすることにより、今から送信する前の送信パケットの送信に失敗しているか否かを判断する(ステップS23)。
前の送信に失敗している場合(ステップS23;Y)、送信データ再構築手段36は、現在のパケットのデータと前の送信パケットのデータの2つのデータを合わせてパケットの最大サイズを超えているか否かを判定する(ステップS24)。
2つのデータを合わせてパケットの最大サイズを超えていないと判定した場合(ステップS24;Y)、送信データ再構築手段36は、現在のパケットのデータと前の送信パケットのデータを合わせて1つのデータとするパケットを送信パケットとして再構築する(ステップS25)。
具体的には、図7に示すように、送信パケット41のデータと送信パケット42のデータから送信パケット43を作成している。次に、送信パケット選択手段37は、送信データ再構築手段36に送信するパケットがある場合は、そのパケットをデータ送信手段31へ渡し、送信データ再構築手段36に送信するパケットがない場合は、送信データ作成手段34が作成したパケットをデータ送信手段31へ渡す。
送信に失敗していない場合(ステップS23;Y)や、パケットの最大サイズを超える場合(ステップS24;Y)は送信パケットの再構築は行わず、再送制御手段38は、今から送信するパケットはまだ再送を行ってないので、再送実施回数を0に設定する(ステップS26)。
最後にデータ送信手段31は受け取ったパケットをアンテナを通して送信する(ステップS27)。
この後、データ受信手段32は受信側からACK応答が返されるのを待つ。送信結果判定手段33は実施の形態1と同様に送信が成功したかどうかを判定する(ステップS28)。
タイムアウトすることなくACKを正常に受信した場合は、送信結果判定手段33は、正常に送信したと判定し(ステップS28;Y)、送信成功したという結果を送信結果保持手段35に登録し、終了するかしないかを判断して(ステップS32)、終了すると判断した場合は終了し、終了しないと判断した場合はステップS21に戻り次のデータの送信処理を行う。
一方、送信結果判定手段33により送信に失敗したと判断される(ステップS28;Y)と、再送制御手段38は再送実施回数があらかじめ決められた再送回数を超えているか否かをチェックする(ステップS29)。
あらかじめ決められた再送回数を超えている場合(ステップS29;Y)は、再送制御手段38は、送信に失敗したという結果と共に送信に失敗したパケットを送信結果保持手段35へ渡し、送信結果保持手段35が送信失敗という結果および送信に失敗したパケットを保持することで送信失敗パケットの登録を行う(ステップS31)。
一方、あらかじめ決められた再送回数を超えていない場合(ステップS29;Y)は、再送制御手段38は、再送実施回数に1を加え(ステップS30)、ステップS27へ戻り、送信に失敗したパケットをそのままデータ送信手段31へ渡してデータ送信手段31が再送を行う。
この様子を図9により説明する。本発明のデータ通信装置では、パケット5のデータを送るときパケット4のデータも一緒に合わせて1つのデータとするパケットとして送信することが可能なので、受信側がパケット5を正常に受信したときは、パケット5のデータとパケット4のデータを同時に受信できることになる。この後、パケット6が正常に送信できなかった場合、受信側は、正常受信したパケット4のデータとパケット5のデータからパケット6のデータを擬似的に作成することができるため、擬似的に作ったデータと正常受信してから擬似的にデータを作るより、高い精度で擬似データを作ることが可能となる。
また、一般に音声通信などのリアルタイム通信において、送信に失敗したとき、再送しても時間的に間に合わないために再送されないことがあるが、例えば、パケットロスしたデータはその前のデータから類推することでロスデータを擬似的に作成することがあるが、このようなシステムの場合、たとえ受信したデータが処理に間に合わなくても、その次に受信するデータがロスしたときに前に受信したデータを使ってロスしたデータを類推して作成することがあるため、やはり時間的に間に合わなくてもデータを受信した方が良いことがある。本発明ではこのようなときにも有効である。
以上のように実施の形態2によれば、上記の構成によりデータの送信を行うとき、今から送信するデータと共に前に送信に失敗したパケットのデータも合わせて1つのパケットとして送信を行うので、前に送信に失敗したデータも送信されることになり、類推などにより擬似データを作るときなどに有効となる。
以上のように、本発明にかかるデータ通信装置は、送信データが音声などのリアルタイム性が高いデータである場合に有用であり、特に、1つのデータサイズが小さいデータ通信を行う場合に適している。
1、31 データ送信手段
2、32 データ受信手段
3、33 送信結果判定手段
4、34 送信データ作成手段
5 再送データ構築手段
6 再送制御手段
11 送信パケット全体
12、13、14、15 パケットヘッダ
16 データ本体
35 送信結果保持手段
36 送信データ再構築手段
37 送信パケット選択手段
38 再送制御手段
2、32 データ受信手段
3、33 送信結果判定手段
4、34 送信データ作成手段
5 再送データ構築手段
6 再送制御手段
11 送信パケット全体
12、13、14、15 パケットヘッダ
16 データ本体
35 送信結果保持手段
36 送信データ再構築手段
37 送信パケット選択手段
38 再送制御手段
Claims (10)
- 通信相手からの肯定応答を所定の時間内に受信したか否かに基づき再送制御を行うデータ通信装置において、
送信に失敗したパケットのデータと当該送信に失敗したパケットの次に送信すべきパケットのデータとを1つのデータとするパケットを構築するパケット構築手段を備えたことを特徴とするデータ通信装置。 - 前記送信に失敗したパケットのデータは、送信に失敗した複数のパケット分のデータを含むことを特徴とする請求項1記載のデータ通信装置。
- 前記パケット構築手段は、
送信すべきパケットを作成するための送信データ作成手段と、
前記送信データ作成手段で作成した送信すべきパケットの送信が失敗した場合に、当該送信すべきパケットを再送する決定を行う再送制御手段と、
前記再送制御手段で送信すべきパケットの再送が決定された場合に、前記送信データ作成手段において次に送信すべきパケットが作成されているときには、前記送信が失敗したパケットのデータと次に送信すべきパケットのデータとを1つのデータとするパケットを再送すべきパケットとして構築するための再送データ構築手段と、を備えたことを特徴とする請求項1または2記載のデータ通信装置。 - 前記パケット構築手段は、
送信すべきパケットを作成する送信データ作成手段と、
前記送信すべきパケットの送信が成功しない場合に所定の再送を行う再送制御手段と、
前記再送制御手段において所定の再送を行っても送信が成功しない場合に送信に失敗したパケットと送信失敗の情報を保持する送信結果保持手段と、
前記送信データ作成手段において送信すべきパケットが作成された場合に、前記送信結果保持手段に送信に失敗したパケットが保持されているときには、送信すべきパケットのデータと送信に失敗したパケットのデータとを1つのデータとするパケットを送信すべきパケットとして再構築するための送信データ再構築手段と、
前記送信データ再構築手段に再構築したパケットが存在する場合は、当該再構築したパケットを取り出し、存在しない場合は送信データ作成手段から送信すべきパケットを取り出して、取り出したパケットを送信すべきパケットとして選択する送信パケット選択手段と、を備えたことを特徴とする請求項1または2記載のデータ通信装置。 - 通信相手からの肯定応答を所定の時間内に受信したか否かに基づき再送制御を行うデータ通信方法において、
送信に失敗したパケットのデータと当該送信に失敗したパケットの次に送信すべきパケットのデータとを1つのデータとするパケットを構築するパケット構築ステップを含むことを特徴とするデータ通信方法。 - 前記送信に失敗したパケットのデータは、送信に失敗した複数のパケット分のデータを含むことを特徴とする請求項5記載のデータ通信方法。
- 前記パケット構築ステップは、
送信すべきパケットを作成する作成ステップと、
作成ステップで作成した送信すべきパケットの送信が失敗したか否かを判定する判定ステップと、
前記判定ステップでパケットの送信が失敗したと判定した場合に、前記作成ステップにおいて、送信に失敗したパケットの次に送信すべきパケットが作成されているときは、当該送信が失敗したパケットのデータと次に送信すべきパケットのデータとを1つのデータとするパケットを再送すべきパケットとして構築する再送データ構築ステップと、を含むことを特徴とする請求項5または6記載のデータ通信方法。 - 前記再送データ構築ステップは、送信が失敗したパケットのデータと次に送信すべきパケットのデータとの合計サイズがパケット最大サイズを超えるか否かを判定し、超えない場合にのみ、送信が失敗したパケットのデータと次に送信すべきパケットのデータとを1つのデータとするパケットを構築することを特徴とする請求項7記載のデータ通信方法。
- 前記パケット構築ステップは、
送信失敗したパケットを保持する保持ステップと、
新たに送信すべきパケットを作成する作成ステップと、
送信失敗したパケットの保持があるか否かを判定するステップと、
送信失敗したパケットの保持があると判定された場合に、当該送信に失敗したパケットのデータと前記作成ステップで作成した送信すべきパケットのデータとを1つのデータとするパケットを送信すべきパケットとして再構築する送信データ再構築ステップと、
再構築ステップで再構築された構築パケットと、前記作成ステップで作成された新たに送信すべきパケットと、のいずれかを送信すべきかを選択する選択ステップと、を含むことを特徴とする請求項5または6記載のデータ通信方法。 - 前記送信データ再構築ステップは、送信に失敗したパケットのデータと前記作成ステップで作成した送信すべきパケットのデータとの合計サイズがパケット最大サイズを超えるか否かを判定し、超えない場合にのみ、送信に失敗したパケットのデータと前記作成ステップで作成した送信すべきパケットのデータとを1つのデータとするパケットとして再構築することを特徴とする請求項9記載のデータ通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005305500A JP2007116411A (ja) | 2005-10-20 | 2005-10-20 | データ通信装置およびデータ通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005305500A JP2007116411A (ja) | 2005-10-20 | 2005-10-20 | データ通信装置およびデータ通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007116411A true JP2007116411A (ja) | 2007-05-10 |
Family
ID=38098206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005305500A Pending JP2007116411A (ja) | 2005-10-20 | 2005-10-20 | データ通信装置およびデータ通信方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007116411A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009218672A (ja) * | 2008-03-07 | 2009-09-24 | Fujitsu Ltd | 無線通信装置、無線端末装置および無線通信システム |
WO2010001474A1 (ja) * | 2008-07-03 | 2010-01-07 | 富士通株式会社 | 符号化装置、復号化装置、符号化方法、および復号化方法 |
JP2015164277A (ja) * | 2014-02-28 | 2015-09-10 | 日本放送協会 | 送信装置、送信方法、およびプログラム |
-
2005
- 2005-10-20 JP JP2005305500A patent/JP2007116411A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009218672A (ja) * | 2008-03-07 | 2009-09-24 | Fujitsu Ltd | 無線通信装置、無線端末装置および無線通信システム |
WO2010001474A1 (ja) * | 2008-07-03 | 2010-01-07 | 富士通株式会社 | 符号化装置、復号化装置、符号化方法、および復号化方法 |
US8484526B2 (en) | 2008-07-03 | 2013-07-09 | Fujitsu Limited | Encoder, decoder, encoding method, and decoding method |
US8650449B2 (en) | 2008-07-03 | 2014-02-11 | Fujitsu Limited | Encoder, decoder, encoding method, and decoding method |
JP2015164277A (ja) * | 2014-02-28 | 2015-09-10 | 日本放送協会 | 送信装置、送信方法、およびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2020092440A (ja) | Ttiバンドリングによるアップリンク送信の強化 | |
TWI387256B (zh) | 改善傳輸時間間隔集束傳輸之方法及通訊裝置 | |
EP1747644B1 (en) | Method and apparatus for group communication with end-to-end reliability | |
JP5215413B2 (ja) | 再送プロトコルのためのステータス報告 | |
CN102217258B (zh) | 探测处理方法、数据发送端、数据接收端以及通信系统 | |
US8730885B2 (en) | Method for improved robust header compression with low signal energy | |
US20080177884A1 (en) | Error control terminal discovery and updating | |
JP2003521155A (ja) | 無線ネットワーク・システムおよび方法 | |
JP2010045790A (ja) | Ttiバンドルの再送を処理する方法及び通信装置 | |
JP2013507826A (ja) | ネットワークにおける信頼性の高いリアルタイム・データストリーミングのための効率的なアプリケーションレイヤの自動再送要求の再送信方法 | |
JP4648457B2 (ja) | 適当な通信プロトコルを用いてメッセージ送信を提供する方法 | |
JP2009536468A (ja) | 移動通信システムで信号を転送する方法 | |
WO2007052764A1 (ja) | セッション中継装置およびセッション中継方法 | |
US20160218837A1 (en) | Method and apparatus to use more transmission opportunities in a distributed network topology with limited harq processes | |
JP2008098798A (ja) | 通信システムにおけるデータ伝送状況判定方法および通信装置 | |
WO2011079777A1 (zh) | 数据传输的方法和网络侧设备 | |
Mo et al. | Practical coding-based multi-hop reliable data transfer for underwater acoustic networks | |
KR20190097963A (ko) | 무선 통신 시스템에서 데이터 송수신 방법 및 장치 | |
WO2022083371A1 (zh) | 一种数据传输方法和装置 | |
KR20190011898A (ko) | 무선 통신 시스템에서 단말, 기지국 및 이의 통신 방법 | |
JP2007116411A (ja) | データ通信装置およびデータ通信方法 | |
WO2021146865A1 (zh) | 通信方法、装置、设备及存储介质 | |
Hansen et al. | Bridging inter-flow and intra-flow network coding for video applications: Testbed description and performance evaluation | |
CN113316922B (zh) | 用于传输数据分组的设备、方法、装置以及计算机可读存储介质 | |
JP5120457B2 (ja) | 通信装置、通信方法、および通信プログラム |