(57)【要約】【課題】連続送信数を増加させることによるパケット受信エラーの発生を低減し、通信のスループットを向上すること。【解決手段】複数のパケットを受信端末に送信するパケット送信部１０と、複数のパケットの送信後に受信端末から受信したブロックＡＣＫを受信するブロックＡＣＫ受信部２２と，ブロックＡＣＫに基づいて、連続送信する複数のパケットを決定する再送制御部２４と、連続送信時の送信レートを無線チャネル品質に応じた通常時の値から補正する送信レート補正部２６と、を備える。【選択図】図１
2009088915.tif 000002
【特許請求の範囲】
【請求項１】
複数のパケットを受信端末に送信するパケット送信部と；
前記複数のパケットの送信後に前記受信端末から受信した返信データを受信する返信データ受信部と；
前記返信データに基づいて、連続送信する複数のパケットを決定する送信パケット決定部と；
連続送信時の送信レート又は送信電力を無線チャネル品質に応じた通常時の値から補正する送信条件補正部と；
を備えることを特徴とする、無線送信装置。
【請求項２】
前記送信レートの補正には、変調方式の変更、誤り訂正符号の冗長度の変更、又はＭＩＭＯ通信の空間多重数の変更の少なくとも１つが含まれることを特徴とする、請求項１に記載の無線送信装置。
【請求項３】
前記送信レートの補正の際に、前記変調方式の変更を優先して行うことを特徴とする、請求項２に記載の無線送信装置。
【請求項４】
無線チャネル品質に応じて送信レートを決定する送信レート制御部を備え、
前記送信条件補正部は、連続送信時の送信レートの少なくとも一部を前記送信レート制御部で決定された送信レートよりも低く設定することを特徴とする、請求項１に記載の無線送信装置。
【請求項５】
前記連続送信するパケットには、再送パケットと新規送信パケットが含まれ、
前記送信条件補正部は、前記再送パケットの送信時の送信レートを前記送信レート制御部で決定された送信レートよりも低く設定することを特徴とする、請求項３に記載の無線送信装置。
【請求項６】
前記送信条件補正部は、前記新規送信パケットの送信時の送信レートを前記送信レート制御部で決定された送信レートと同一の送信レート又は前記送信レート制御部で決定された送信レートよりも高い送信レートに設定することを特徴とする、請求項５に記載の無線送信装置。
【請求項７】
前記送信条件補正部は、前記連続送信の開始時の送信レートを前記送信レート制御部で決定された送信レートよりも低く設定し、前記連続送信の開始後、送信パケット数に応じて送信レートを増加させることを特徴とする、請求項４に記載の無線送信装置。
【請求項８】
前記返信データに基づいて、前記受信端末のデータバッファが保持可能なパケットの終端番号を取得する終端番号取得部を備え、
前記送信条件補正部は、前記連続送信することが決定されたパケットのシーケンス番号が前記終端番号を超えている場合に、連続送信時の送信レート又は送信電力を補正することを特徴とする、請求項１に記載の無線送信装置。
【請求項９】
連続送信するパケットをフレームアグリゲーションにより送信するため連続送信するパケット数を管理する連続送信管理部を備え、
前記送信条件補正部は、連続送信時にフレームアグリゲーションにより送信する際の送信レートの少なくとも一部を通常時の値よりも低く設定することを特徴とする、請求項１に記載の無線送信装置。
【請求項１０】
前記送信条件補正部は、連続送信時に送信される複数のフレームアグリゲーションにおいて送信レートを変化させることを特徴とする、請求項９に記載の無線送信装置。
【請求項１１】
前記送信条件補正部は、連続送信時の送信電力を通常時の値よりも増加させることを特徴とする、請求項１に記載の無線送信装置。
【請求項１２】
複数のパケットを受信端末に送信するステップと；
前記複数のパケットの送信後に受信端末から受信した返信データを受信するステップと；
前記返信データに基づいて、連続送信する複数のパケットを決定するステップと；
連続送信時の送信レート又は送信電力を無線チャネル品質に応じた通常時の値から補正するステップと；
を備えることを特徴とする、無線送信方法。
【請求項１３】
送信装置と受信装置とが無線通信ネットワークを介して接続された無線通信システムであって：
前記送信装置は；
複数のパケットを前記受信装置に送信するパケット送信部と；
前記複数のパケットの送信後に前記受信装置から受信した返信データを受信する返信データ受信部と；
前記返信データに基づいて、連続送信する複数のパケットを決定する送信パケット決定部と；
連続送信時の送信レート又は送信電力を無線チャネル品質に応じた通常時の値から補正する送信条件補正部と；
を備えることを特徴とする、無線通信システム。
【請求項１４】
複数のパケットを受信端末に送信する手段；
前記複数のパケットの送信後に前記受信端末から受信した返信データを受信する手段；
前記返信データに基づいて、連続送信する複数のパケットを決定する手段；
連続送信時の送信レート又は送信電力を無線チャネル品質に応じた通常時の値から補正する手段；
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線送信装置、無線送信方法、無線通信システム及びプログラムに関する。
【背景技術】
【０００２】
近年、IEEE802.11に代表される無線ネットワークが、機器の自由度が高い等の利点から、有線ネットワークに代わって普及しつつある。このような無線ネットワークでは、利用されるアプリケーションが多種多様になった結果、要求される伝送速度が高くなりつつある。
【０００３】
このような状況下、IEEE802.11e及びIEEE802.11n(draft)で規定されるＭＡＣ(Medium Access Control)レイヤには、図１１に示すようなブロックＡＣＫ(Block ACK)の仕組みが用意されている。図１１に示すように、STA1からSTA2へシーケンス番号(Sequence Number)１〜８が付与された８つのパケットが連続送信される。STA1は、パケットを連続送信した後、複数パケットによるACK(Block ACK)を受信する。ブロックＡＣＫには、受信が成功したパケットのシーケンス番号と、受信が失敗したパケットのシーケンス番号の情報が含まれている。図１１に示すように、ブロックＡＣＫには、受信を開始したパケットのシーケンス番号(Start Sequence Number=1)が含まれており、受信が成功したか否かは“０”，“１”のビットマップによって表されている。
【０００４】
一方、図１２は、１パケット毎にＡＣＫを受信する場合を示している。図１１に示す手法によれば、図１２に示すように１パケット毎にＡＣＫを受信する場合と比較して、連続送信後にブロックＡＣＫを受信するため、ＡＣＫ送信によるオーバーヘッドを減らすことができ、トータルでのスループットを向上させることができる。
【０００５】
一方、IEEE802.11では、上位レイヤに対するパケットの到達順序を保障しており、到達順序が適正な場合のみ受信したパケットが上位レイヤに上げられる。このため、ブロックＡＣＫを使用する場合、受信側にはリオーダバッファ(Reorder Buffer)と呼ばれるバッファが必要となる。図１３は、リオーダバッファを用いたシステムを示している。各無線端末STA1, STA2は有限サイズのリオーダバッファ１００を持ち、そのバッファサイズは、ブロックＡＣＫによる連続送信手順の開始前に端末間でネゴシエーションを行うことによって、送信端末STA1、受信端末STA2の双方で既知である。上述のようにIEEE802.11で規定される各パケットにはシーケンス番号が付与されており、図１３の例では、STA1からSTA2へシーケンス番号１〜１０のパケットが送信される。STA2のリオーダバッファ２１００、パケット連続送信中にエラーが発生した際に、エラーが生じたパケット以降のシーケンス番号のパケットを一時的に保持する。また、リオーダバッファ２００には、バッファのウィンドウの始点(Win_Start)と、ウィンドウの終点(Win_End)の番号が設定され、Win_Startの番号からWin_Endの番号までのパケットがリオーダバッファ２００に保存可能とされる。ここで、Win_Startは、受信が成功していないパケットのうち最もシーケンス番号が小さい番号に対応する。また、Win_Endは、Win_Startの値に対してリオーダバッファ２００に保持可能なパケット数（バッファサイズ）を加算した値である。ここでは、リオーダバッファ２００のバッファサイズを８とする。
【０００６】
図１３の例では、STA1からパケットの連続送信をした際に、STA2側でシーケンス番号１，３，７のパケットの受信が失敗している。STA2のリオーダバッファ２００には、受信に成功したシーケンス番号２，４〜６，８のパケットが保持される。連続送信後、STA2からブロックＡＣＫを受信してパケットエラーを認識した送信側は、エラーを起こしたパケット１，３，７を再送する。STA2では、パケットの再送を受信すると、リオーダバッファ２００に保持されたパケットのうち、シーケンス番号が小さいものから順次にシーケンス番号が連続するパケットを上位レイヤへ送る。
【０００７】
図１３の例では、パケット１，３，７の再送により、パケット１，７の受信に成功しており、リオーダバッファに２００は、連続するパケット１、２が保持されているため、パケット１、２は上位レイヤに送られる。一方、パケット３は受信に成功していないため、パケット３以降は上位レイヤに送られない。リオーダバッファ２００では、パケット３の受信が成功していないため、Win_Startの値が３に設定され、Win_Endの値が１０に設定される。そして、パケット再送後、ブロックＡＣＫによりパケット３の受信エラーを認識したSTA1は、パケット３を再送するとともに、Win_Endの値が１０であることから、リオーダバッファ２００にパケット１０まで保持できることを認識し、パケット３とともにパケット９、１０を連続送信する。そして、STA2では、パケット３，９，１０の受信に成功した場合は、リオーダバッファ２００内にパケット３からパケット１０まで連続したシーケンス番号のパケットが保持されるため、パケット３〜１０が上位レイヤに送られる。従って、図３に示す手法によれば、リオーダバッファ２００に保持された連続するシーケンス番号のパケットが上位レイヤに送られるため、上位レイヤに対するパケットの到達順序を保障することが可能となる。
【０００８】
【特許文献１】特開２００５−２１０６１８号公報
【特許文献２】特開２００６−２０３２６６号公報
【特許文献３】特開２００６−２８７５２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
図１３に示すような手法では、連続送信するパケット数を増やすことによって、ＡＣＫの送受信によるオーバーヘッドを減らすことができるため、スループットを向上することができる。しかしながら、リオーダバッファ２００に保持可能なパケット数は有限であるため、連続送信数を増やすことによって新たなリスクが発生する。例えば、IEEE802.11n(draft)では、Win_Endの値を超えたシーケンス番号のパケットを受信した場合、Win_Startよりも小さいシーケンス番号のパケットを再送により受信したとしても、このようなパケットを放棄することが定められている。このため、連続送信パケット数を増やすと、全てのパケットを受信することができなくなり、シーケンス番号が連続していないパケットが上位レイヤに送られてしまう場合がある。
【００１０】
以下、この問題について図１４に基づいて詳細に説明する。図１３の例では、ブロックＡＣＫによりパケット１，３，７のエラーを認識した送信側は、エラーを起こした３つのパケット１，３，７を再送しているが、図１４の例では、連続送信を行うため、再送時にパケット１，３，７とともにパケット９，１０を送り、５つのパケットを連続送信している。図１３の場合と同様に、パケット１〜８の連続送信後は、パケット１，３，７にエラーが生じたため、Win_Startが１とされ、Win_Endが８とされている。２回目の連続送信によりパケット１，３，７，９，１０を連続送信すると、パケット９、パケット１０のシーケンス番号はWin_Endの値を超えているため、パケット９，１０をリオーダバッファ２００に追加するため、リオーダバッファ２００のウィンドウが進められ、Win_Endの値が１０に設定され、Win_Startの値が３に設定される。
【００１１】
Win_Startの値が３に設定されると、Win_Startの値よりも小さいシーケンス番号のパケット（パケット１，２）が上位レイヤに送られるが、パケット１は受信に成功していないため、パケット１の受信が抜けた状態で上位レイヤへの転送が行われてしまう。このため、上位レイヤで受信抜けが発生する。そして、以降、新しいWin_Startの値より小さいシーケンス番号のパケット受信は放棄されてしまう。
【００１２】
このようなパケットの受信の放棄が発生すると、上位レイヤからはパケットの受信抜けとして認識され、例えば上位レイヤによる再送制御が発生することによるスループットの低下や、パケットが抜けたまま上位アプリケーションに渡されることによる通信品質の劣化などが起こる。このように連続送信数を増加させることによって受信抜けと、受信していないパケットの受信放棄という問題が発生する。
【００１３】
このような問題を回避するため、データ送信側では、連続送信パケット数を決定する際、パケット抜けのリスクを無くすために、図１５に示すように、受信側のリオーダバッファ２００のウィンドウの終点(Win_End)の値を超えたシーケンス番号のパケットを送信しないよう、連続送信数を制限することができる。図１５の例では、２回目の連続送信の際に、Win_Endの値が８であることを考慮して、Win_Endの値（＝８）を超えないシーケンス番号のパケット１，３，７のみを連続送信している。このように、連続送信パケット数の制限を行うことで、送信パケットのシーケンス番号がWin_Endの値を超えてしまうことを回避することができ、上位レイヤにおける受信抜けの発生を回避することができる。
【００１４】
しかしながら、図１５に示すような連続送信パケット数の制限を行うと、連続送信パケット数が減少してしまうため、図１３と同程度の送信レートしか確保することができず、ブロックＡＣＫによるスループット向上のメリットが低減してしまう。
【００１５】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、連続送信数を増加させることによるパケット受信エラーの発生を低減し、通信のスループットを向上することが可能な、新規かつ改良された無線送信装置、無線送信方法、無線通信システム及びプログラムを提供することにある。
【課題を解決するための手段】
【００１６】
上記課題を解決するために、本発明のある観点によれば、複数のパケットを受信端末に送信するパケット送信部と、前記複数のパケットの送信後に前記受信端末から受信した返信データを受信する返信データ受信部と、前記返信データに基づいて、連続送信する複数のパケットを決定する送信パケット決定部と、連続送信時の送信レート又は送信電力を無線チャネル品質に応じた通常時の値から補正する送信条件補正部と、を備える無線送信装置が提供される。
【００１７】
上記構成によれば、複数のパケットを受信端末に送信した後に受信端末から返信データが受信される。そして、返信データに基づいて連続送信する複数のパケットが決定される。そして、連続送信時の送信レート又は送信電力は無線チャネル品質に応じた通常時の値から補正される。従って、連続送信時の送信エラーの発生を低減することが可能となり、受信端末の上位レイヤでパケット受信抜けが発生する確率を確実に低減することが可能となる。
【００１８】
また、前記送信レートの補正には、変調方式の変更、誤り訂正符号の冗長度の変更、又はＭＩＭＯ通信の空間多重数の変更の少なくとも１つが含まれるものであってもよい。かかる構成によれば、変調方式の変更、誤り訂正符号の冗長度の変更、又はＭＩＭＯ通信の空間多重数の変更により送信レートを補正することができる。
【００１９】
また、前記送信レートの補正の際に、前記変調方式の変更を優先して行うものであってもよい。かかる構成によれば、変調方式の変更は、誤り訂正符号の冗長度の変更は他の方法に比べて送信レートの変化に対する影響度が大きくなる傾向にあるため、送信レートの変化に対する高い効果を得ることができる。
【００２０】
また、無線チャネル品質に応じて送信レートを決定する送信レート制御部を備え、前記送信条件補正部は、連続送信時の送信レートの少なくとも一部を前記送信レート制御部で決定された送信レートよりも低く設定するものであってもよい。かかる構成によれば、連続送信時の送信レートの少なくとも一部を無線チャネル品質に応じて決定された送信レートよりも低く設定するため、連続送信時の送信エラーの発生を低減するとともに、送信時のスループットを向上することができる。
【００２１】
また、前記連続送信するパケットには、再送パケットと新規送信パケットが含まれ、前記送信条件補正部は、前記再送パケットの送信時の送信レートを前記送信レート制御部で決定された送信レートよりも低く設定するものであってもよい。かかる構成によれば、再送パケットの送信時の送信レートを送信レート制御部で決定された送信レートよりも低く設定するため、連続送信時に再送パケットの送信エラーの発生を確実に低減することが可能となる。
【００２２】
また、前記送信条件補正部は、前記新規送信パケットの送信時の送信レートを前記送信レート決定部で決定された送信レートと同一の送信レート又は前記送信レート決定部で決定された送信レートよりも高い送信レートに設定するものであってもよい。かかる構成によれば、新規送信パケットの送信時の送信レートを送信レート制御部で決定された送信レートと同一の送信レート又は送信レート制御部で決定された送信レートよりも高い送信レートに設定するため、再送パケットの送信エラーの発生を確実に低減するとともに、通信のスループットを向上することができる。
【００２３】
また、前記送信条件補正部は、前記連続送信の開始時の送信レートを前記送信レート制御部で決定された送信レートよりも低く設定し、前記連続送信の開始後、送信パケット数に応じて送信レートを増加させるものであってもよい。かかる構成によれば、連続送信の開始時の送信レートが送信レート制御部で決定された送信レートよりも低く設定され、連続送信の開始後、送信パケット数に応じて送信レートが増加するため、特に連続送信の開始時に送信エラーの発生を確実に低減するとともに、連続送信開始後の通信のスループットを向上することができる。
【００２４】
前記返信データに基づいて、前記受信端末のデータバッファが保持可能なパケットの終端番号を取得する終端番号取得部を備え、前記送信条件補正部は、前記連続送信することが決定されたパケットのシーケンス番号が前記終端番号を超えている場合に、連続送信時の送信レート又は送信電力を補正するものであってもよい。かかる構成によれば、連続送信することが決定されたパケットのシーケンス番号が終端番号を超えている場合であっても、連続送信時の送信エラーの発生を低減することが可能となり、受信端末の上位レイヤでパケット受信抜けが発生する確率を確実に低減することが可能となる。
【００２５】
また、連続送信するパケットをフレームアグリゲーションにより送信するため連続送信するパケット数を管理する連続送信管理部を備え、前記送信条件補正部は、連続送信時にフレームアグリゲーションにより送信する際の送信レートの少なくとも一部を通常時の値よりも低く設定するものであってもよい。かかる構成によれば、フレームアグリゲーションによりパケットを連続送信する場合に、連続送信時の送信エラーの発生を低減することが可能となり、受信端末の上位レイヤでパケット受信抜けが発生する確率を確実に低減することが可能となる。
【００２６】
また、前記送信条件補正部は、連続送信時に送信される複数のフレームアグリゲーションにおいて送信レートを変化させるものであってもよい。かかる構成によれば、フレームアグリゲーションによりパケットを連続送信する場合に、送信レートを最適に変化させることができるため、連続送信時の送信エラーの発生を低減するとともに、通信のスループットを向上することが可能となる。
【００２７】
また、前記送信条件補正部は、連続送信時の送信電力を通常時の値よりも増加させるものであってもよい。かかる構成によれば、連続送信時に送信電力が通常時の値よりも増加されるため、連続送信時の送信エラーの発生を低減することが可能となる。
【００２８】
また、上記課題を解決するために、本発明の別の観点によれば、複数のパケットを受信端末に送信するステップと、前記複数のパケットの送信後に受信端末から受信した返信データを受信するステップと、前記返信データに基づいて、連続送信する複数のパケットを決定するステップと、連続送信時の送信レート又は送信電力を無線チャネル品質に応じた通常時の値から補正するステップと、を備える無線送信方法が提供される。
【００２９】
上記構成によれば、複数のパケットを受信端末に送信した後に受信端末から返信データが受信され、返信データに基づいて連続送信する複数のパケットが決定される。そして、連続送信時の送信レート又は送信電力は無線チャネル品質に応じた通常時の値から補正される。従って、連続送信時の送信エラーの発生を低減することが可能となり、受信端末の上位レイヤでパケット受信抜けが発生する確率を確実に低減することが可能となる。
【００３０】
また、上記課題を解決するために、本発明の別の観点によれば、送信装置と受信装置とが無線通信ネットワークを介して接続された無線通信システムであって、前記送信装置は、複数のパケットを前記受信装置に送信するパケット送信部と、前記複数のパケットの送信後に前記受信装置から受信した返信データを受信する返信データ受信部と、前記返信データに基づいて、連続送信する複数のパケットを決定する送信パケット決定部と、連続送信時の送信レート又は送信電力を無線チャネル品質に応じた通常時の値から補正する送信条件補正部と、を備える無線通信システムが提供される。
【００３１】
上記構成によれば、複数のパケットを受信端末に送信した後に受信端末から返信データが受信され、返信データに基づいて連続送信する複数のパケットが決定される。そして、連続送信時の送信レート又は送信電力は無線チャネル品質に応じた通常時の値から補正される。従って、連続送信時の送信エラーの発生を低減することが可能となり、受信端末の上位レイヤでパケット受信抜けが発生する確率を確実に低減することが可能となる。
【００３２】
また、上記課題を解決するために、本発明の別の観点によれば、複数のパケットを受信端末に送信する手段、前記複数のパケットの送信後に前記受信端末から受信した返信データを受信する手段、前記返信データに基づいて、連続送信する複数のパケットを決定する手段、連続送信時の送信レート又は送信電力を無線チャネル品質に応じた通常時の値から補正する手段、としてコンピュータを機能させるためのプログラムが提供される。
【００３３】
上記構成によれば、複数のパケットを受信端末に送信した後に受信端末から返信データが受信され、返信データに基づいて連続送信する複数のパケットが決定される。そして、連続送信時の送信レート又は送信電力は無線チャネル品質に応じた通常時の値から補正される。従って、連続送信時の送信エラーの発生を低減することが可能となり、受信端末の上位レイヤでパケット受信抜けが発生する確率を確実に低減することが可能となる。
【発明の効果】
【００３４】
本発明によれば、連続送信数を増加させることによるパケット受信エラーの発生を低減し、通信のスループットを向上することが可能となる。
【発明を実施するための最良の形態】
【００３５】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００３６】
（第１の実施形態）
図１は、本発明の各実施形態に係る送信装置１００の構成を示すブロック図である。より詳細には、図１は、送信装置１００のＭＡＣレイヤの構成を示している。図１に示すように、通信装置１００は、パケット送信準備部（パケット送信部）１０、データバッファ１２、パケット送信指令部１４、シーケンスナンバー管理部１６、無線チャネル品質測定部１８、送信レート制御部２０、ＡＣＫ(Block ACK)受信部２２、再送制御部（送信パケット決定部）２４、送信レート補正部（送信条件補正部）２６、連続送信管理部２８、を備えている。
【００３７】
図１の構成において、データバッファ１２には、送信しようとするパケットのデータが蓄積される。パケット送信指令部１４は、データバッファ１２にパケットのデータが蓄積されている場合は、パケット送信準備部１０に対してデータバッファ１２に蓄積されたデータを送信するよう指令を出す。シーケンスナンバー管理部１６は、データバッファ１２に保持されているパケットのデータに対してシーケンス番号を付与する処理を行う。また、シーケンス番号の情報は、送信レート補正部２６に送られる。
【００３８】
パケット送信準備部１０は、パケット送信指令部１４のからの指令を受けて、データバッファ１２に保持されたデータからパケットを生成し、パケットのデータをパケットのシーケンス番号、および物理層に対する指令とともに物理層（ＰＨＹ）へ送る。物理層では、パケット送信準備部１０から送られたパケットを受信端末へ送信する。
【００３９】
無線チャネル品質測定部１８は、無線チャネル品質を測定する機能ブロックであり、受信信号のＳＮ比に基づいてパターンマッチング等の手法により受信状態を推定する。送信レート制御部２０は、無線チャネル品質測定部１８によって測定された無線チャネル品質に基づいて、送信レートを決定する。
【００４０】
図２は、無線チャネル品質の品質に応じて送信レート（伝送レート）を変化させている状態を示す模式図である。このように、送信レートの品質が良好になる程、送信レートが高く設定される。
【００４１】
また、ＡＣＫ(Block ACK)受信部２２はブロックＡＣＫを受信し、再送制御部２４はブロックＡＣＫに基づいて再送するパケットを決定する処理を行う。再送制御部２４は、ブロックＡＣＫに基づいて、送信が成功したパケットのデータをデータバッファ１２から削除し、送信が失敗したパケットの情報をデータバッファ１２に残すように処理を行う。
【００４２】
送信レート補正部２６は、送信レート制御部２０によって決定された送信レートを補正する処理を行う。各実施形態において、送信レート補正部２６は、パケットの再送時に送信レートを通常よりも低下させる処理を行う。また、連続送信管理部２８は、連続して送信するパケットの数を管理する。
【００４３】
図３は、第１の実施形態での連続送信数と送信レート決定の動作例を示している。送信側端末STA1は、本実施形態の送信装置１００に対応している。図３は、送信側端末STA1から受信側端末STA2へ１０個のパケット１〜１０を送信する動作を示している。先ず、STA1は、シーケンス番号＃１〜＃８のパケット１〜８を受信側の端末STA2へ連続送信する。連続送信後、STA1はSTA2からブロックＡＣＫを受信し、受信側端末であるSTA2のリオーダバッファ３０の状態を取得する。この処理は、図１のＡＣＫ受信部２２によって行われる。再送制御部２４は、データバッファ１２から、送信に成功したパケットのデータを削除する。
【００４４】
STA1は、データ再送信開始時に送信レートと連続送信数を以下のように決定する。この時点では、再送パケットを含めてデータバッファ１２に５パケット(シーケンス番号１，３，７，９，１０)が残っているため、連続送信パケット数を５に設定する。この処理は、図１のデータバッファ１２から送信すべきパケット残数を得ることによって、連続送信管理部２８が決定する。
【００４５】
また、STA1の再送制御部２４は、ブロックＡＣＫから、STA2のリオーダバッファ３０のWin_Endの値を推定する。ここで、ブロックＡＣＫシーケンスの開始前のネゴシエーションによってSTA2のリオーダバッファのサイズ３０は取得されている。また、ブロックＡＣＫの受信により受信に失敗したパケット数が通知される。従って、その時点までに届いたブロックＡＣＫ内容の累計とリオーダバッファ３０のサイズとから相手のWin_Endの値を推定することができる。そして、Win_Endの値が８であり、再送する５パケットのシーケンス番号の最も大きいものが１０（パケット１０）であることから、５パケットの連続送信は、STA2のリオーダバッファ３０のWin_Endを超える可能性があることを認識する。つまり、再送制御部２４は、リオーダバッファ３０の終端番号を取得するブロックとしても機能する。５パケットの連続送信がリオーダバッファ３０のWin_Endを超える可能性があるため、送信レート補正部２６は、エラーレートを低くするため、５つのパケット１，３，７，９，１０の送信レートを送信レート制御部２０で決定した通常のレートよりも低く設定する。
【００４６】
ここで、送信レート制御部２０で決定した送信レートをＸ［Ｍｂｐｓ］とすると、パケット１，３，７，９，１０を送信する際の送信レートはＹ［Ｍｂｐｓ］とされ、Ｘ＞Ｙとされる。
【００４７】
これにより、パケット再送時に全パケットの送信成功確率が高まり、結果としてSTA2側では再送パケットの受信成功により、リオーダバッファ３０内のパケットが上位レイヤに送られる。図３に示すように、送信レートを低くしたことにより、再送パケット１，３，７，９，１０の受信に全て成功し、リオーダバッファ３０内にはパケット１〜８が保持される。そして、パケット９、１０を受信している間に、パケット１〜８は上位レイヤに送られ、リオーダバッファ３０の状態が更新される。
【００４８】
リオーダバッファ３０の状態が更新されると、Win_Startの値が９となり、Win_Endの値が１６となる。従って、５つのパケット１，３，７，９，１０の連続送信を行った場合に、最も大きいシーケンス番号は１０であるため、STA2側でWin_End（＝１６）を超えるシーケンス番号のパケットの受信は発生しない。従って、パケット９、１０を受信すると、パケット９、１０が更新されたリオーダバッファ３０に保持され、パケット９，１０が上位レイヤに送られる。これにより、上位レイヤでパケット受信抜けが発生する確率を確実に低減することが可能となる。
【００４９】
なお、図１の機能ブロック、図３の処理を送信装置１００に実現させるためのプログラムは、通信装置１００の内部に設けられたメモリなどの記憶部、または通信装置１００の外部に設けられた磁気ディスクなどに格納されることができる。
【００５０】
送信レートの変更は、パケット送信時の変調方式の変更、パケットに含まれる誤り訂正符号の冗長度の変更、または、ＭＩＭＯの空間多重数（Spacial Stream数）の変更により行うことができる。変調方式、冗長度、空間多重数のいずれかを変更することで送信レートを低下させることが可能であり、また、変調方式、冗長度、空間多重数を組み合わせで変更することで送信レートを変更しても良い。なお、変調方式の変更は、冗長度の変更に比べて送信レートの変化に対する影響度が大きくなる傾向にあるため、送信レートの変化に対する高い効果を得ることができる。
【００５１】
図４は、IEEE802.11nにおいて、変調方式、冗長度、空間多重数と送信レートを規定した仕様の一例を示している。この仕様は、IEEE802.11nの仕様策定を推進している業界団体であるＥＷＣによって一般に公開されているものである。図８において、Modurationは、変調方式を示している。また、Ｒは、誤り訂正の冗長度(Cording Rate)を示しており、以下の式から算出できる。
Ｒ＝Ｕｓｅｒ  ｄａｔａ／送信Ｄａｔａ
Ｒの値が小さいほど、Ｕｓｅｒ  ｄａｔａの割合が小さくなり、冗長度が大きくなるため、誤りに強い反面、通信速度は遅くなる。従って、Ｒの値が小さいほど、送信レートは小さくなる。
【００５２】
図４に示すように、変調方式を64QAM→16QAM→QPSK→BPSKと変更すると、送信レートは低くなる。また、同じ変調方式であっても、Ｒの値を小さくするほど、送信レートは低くなる。
【００５３】
また、図４に示すテーブルＡ−１、テーブルＡ−２において、Ｎｓｓの値はＭＩＭＯの空間多重数を示している。テーブルＡ−１、テーブルＡ−２から明らかなように、変調方式、およびＲの値が同じであっても、Ｎｓｓの値が小さいテーブルＡ−１の方が送信レートは低くなる。
【００５４】
図５は、IEEE802.11aにおいて、変調方式、冗長度と送信レートを規定した仕様の一例を示している。IEEE802.11aにおいても、仕様に従って変調方式、冗長度等を選択することで、送信レートを適宜変更することが可能である。
【００５５】
また、送信レートを変更する他、パケット再送時に送信電力を通常よりも増加することで、エラーの発生を抑えるようにしても良い。この場合、図１において、送信レート補正部２６の代わりに送信電力補正部のブロックを設け、送信電力補正部は、上述したパケット再送時に送信レートを低下させるタイミングで送信電力を増加させる。送信電力の増加は、送信レートの低下とともに行っても良いし、送信レートを変更することとなく、送信電力のみを増加させても良い。
【００５６】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。図６は、第２の実施形態での送信装置１００の動作例を示す模式図である。図６において、STA1がブロックＡＣＫを受信するまでの動作は、図３と同様である。図６に示すように、送信側であるSTA1は、ブロックＡＣＫを受け、第１の実施形態と同様に、受信側であるSTA2のリオーダバッファ３０の状態を取得する。SAT1は、パケットの再送開始時に送信レートと連続送信数を以下のように決定する。
【００５７】
STA1は、再送パケットを含めてデータバッファ１２に５パケット(シーケンス番号１，３，７，９，１０)が残っているため、連続送信パケット数を５に設定する。また、STA1は、ブロックＡＣＫから、STA2のリオーダバッファ３０のWin_Endの値を推定する。そして、Win_Endの値が８であり、再送する５パケットのシーケンス番号の最も大きいものが１０（パケット１０）であることから、５パケットの連続送信は、STA2のリオーダバッファのWin_Endを超える可能性があることを認識する。
【００５８】
そして、STA1の再送制御部２４は、ブロックＡＣＫからシーケンス番号１，３，７のパケット１，３，７が再送パケットであることを認識し、この情報を送信レート補正部２６へ送る。送信レート補正部２６は、再送パケット１，３，７のみ送信レートを通常よりも低いレート（Ｙ［Ｍｂｐｓ］）に設定し、パケット９，１０については通常の送信レート、すなわち送信レート制御部２０で決定した送信レート（Ｘ［Ｍｂｐｓ］；Ｘ＞Ｙ）で送信する。
【００５９】
従って、低レートで送信される再送パケット１，３，７の送信成功確率が高まり、この結果、STA2側では再送パケットの受信成功により、リオーダバッファ３０内のパケットが上位レイヤに送られる。図６に示すように、送信レートを低くしたことにより、再送パケット１，３，７，９，１０の受信に全て成功し、リオーダバッファ３０内にはパケット１〜８が保持される。そして、パケット９、１０を受信している間に、パケット１〜８は上位レイヤに送られ、リオーダバッファ３０の状態が更新される。
【００６０】
リオーダバッファ３０の状態が更新されると、Win_Startの値が９となり、Win_Endの値が１６となる。従って、５つのパケット１，３，７，９，１０の連続送信を行った場合に、最も大きいシーケンス番号は１０であるため、STA2側でWin_End（＝１６）を超えるシーケンス番号のパケットの受信は発生しない。従って、パケット９、１０を受信すると、パケット９、１０が更新されたリオーダバッファ３０に保持され、パケット９，１０が上位レイヤに送られる。これにより、上位レイヤでパケット受信抜けが発生する確率を確実に低減することが可能となる。
【００６１】
また、第２の実施形態では、再送パケット１，３，７のみ送信レートを通常よりも低く設定し、パケット９，１０については通常の送信レートで送信するため、連続送信によるスループットを更に向上することが可能となる。
【００６２】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。図７は、第３の実施形態での送信装置１００の動作例を示す模式図である。図７において、STA1がブロックＡＣＫを受信するまでの動作は、図３と同様である。図９に示すように、送信側であるSTA1は、ブロックＡＣＫを受け、第１の実施形態と同様に、受信側であるSTA2のリオーダバッファ３０の状態を取得する。STA1は、パケットの再送開始時に送信レートと連続送信数を以下のように決定する。
【００６３】
STA1は、再送パケット１，３，７を含めてデータバッファ１２に５パケット(シーケンス番号１，３，７，９，１０)が残っているため、連続送信パケット数を５に設定する。また、STA1は、Block
ACKから、STA2のリオーダバッファ３０のWin_Endの値を取得する。そして、Win_Endの値が８であり、再送する５パケットのシーケンス番号の最も大きいものが１０（パケット１０）であることから、５パケットの連続送信は、STA2のリオーダバッファのWin_Endを超える可能性があることを認識する。
【００６４】
そして、STA1は、連続送信する際、送信レート制御部２０で決定された、無線チャネル品質に対応した送信レート（Ｘ［Ｍｂｐｓ］）に対して、連続送信開始時には送信レート補正部２６により送信レートを低く設定（Ｙ１［Ｍｂｐｓ］；Ｘ＞Ｙ１）する。そして、送信レート補正部２６は、連続送信が進むに連れて徐々に送信レートが高くなるように送信レートの設定を行う。この時、連続送信の最後には、送信レート制御部２０で決定された通常の送信レートと同一のレート（Ｘ［Ｍｂｐｓ］）か、または通常の送信レートより高いレート（Ｙ２［Ｍｂｐｓ］；Ｘ＜Ｙ２）で送信しても良い。
【００６５】
再送パケット１，３，７は連続送信の先頭に集めることとする。以上により、パケットを再送する際の連続送信開始時には、低レートで送信される再送パケット１，３，７の送信成功確率が高まり、この結果、STA2側では再送パケットの受信成功により、リオーダバッファ３０内のパケットが上位レイヤに送られる。図７に示すように、送信レートを低くしたことにより、再送パケット１，３，７，９，１０の受信に全て成功し、リオーダバッファ３０内にはパケット１〜８が保持される。そして、パケット９、１０を受信している間に、パケット１〜８は上位レイヤに送られ、リオーダバッファ３０の状態が更新される。
【００６６】
リオーダバッファ３０の状態が更新されると、Win_Startの値が９となり、Win_Endの値が１６となる。従って、５つのパケット１，３，７，９，１０の連続送信を行った場合に、最も大きいシーケンス番号は１０であるため、STA2側でWin_End（＝１６）を超えるシーケンス番号のパケットの受信は発生しない。従って、パケット９、１０を受信すると、パケット９、１０が更新されたリオーダバッファ３０に保持され、パケット９，１０が上位レイヤに送られる。これにより、上位レイヤでパケット受信抜けが発生する確率を確実に低減することが可能となる。
【００６７】
また、第３の実施形態では、パケットの再送時に、連続送信開始時には送信レートを通常よりも低く設定し、連続送信が進むに連れて徐々に送信レートを高くし、連続送信の最後には、通常の送信レートと同一のレートか、または通常の送信レートより高いレートで送信するため、連続送信によるスループットを更に向上することが可能となる。
【００６８】
（第４の実施形態）
次に、本発明の第４の実施形態について説明する。IEEE 802.11n(draft) 無線LANシステムでは、パケット連続送信の形態としてフレームアグリゲーション(Frame Aggregation)が定義されている。第４の実施形態では、フレームアグリゲーションによる通信の場合において、第１の実施形態と同様の動作を行うことにより、上位レイヤでのパケット受信抜けの発生する確率を低減した上で、連続送信数（アグリゲーション数）を増加させるものである。
【００６９】
図８は、フレームバースト(Frame Burst)とフレームアグリゲーションを示す模式図であって、図８（Ａ）はフレームバーストを、図８（Ｂ）はフレームアグリゲーションを示している。より詳細には、図８（Ｂ）は、フレームアグリゲーションの一例であるA-MPDUアグリゲーションの例を示している。
【００７０】
図８（Ｂ）のフレームアグリゲーションでは、通常の連続送信である図８（Ａ）のフレームバーストと比較すると、２つ目のパケット(Packet 2)以降でプリアンブル(Preamble)、ヘッダ情報(PHY Header)を省略することができ、また、パケット間のIFS(Interframe Space)が存在しないため、フレームバーストに比べて伝送効率を高めることができる。
【００７１】
図９、第４の実施形態での送信装置１００の動作例を示す模式図である。本実施形態では、最初の送信時にフレームアグリゲーションによりシーケンス番号＃１〜＃８のパケット１〜８を連続送信する。パケット１〜８の連続送信後、STA1はSTA2からブロックＡＣＫを受信し、受信側端末であるSTA2のリオーダバッファ３０の状態を取得する。送信側であるSTA1は、ブロックＡＣＫを受け、第１の実施形態と同様に、受信側であるSTA2のリオーダバッファ３０の状態を取得する。
【００７２】
STA1は、再送パケットを含めてデータバッファ１２に５パケット(シーケンス番号１，３，７，９，１０)が残っているため、フレームアグリゲーションによる連続送信パケット数を５に設定する。また、STA1は、Block ACKから、STA2のリオーダバッファ３０のWin_Endの値を取得する。そして、Win_Endの値が８であり、再送する５パケットのシーケンス番号の最も大きいものが１０（パケット１０）であることから、５パケットの連続送信は、STA2のリオーダバッファのWin_Endを超える可能性があることを認識する。
【００７３】
送信装置１００の連続送信管理部２８は、フレームアグリゲーションによるパケット数（アグリゲーション数）を５に設定し、パケット送信準備部１０では、パケット１，３，７，９，１０を１つのフレームアグリゲーションとして再送パケットのフレームアグリゲーションを準備する。送信レート補正部２６は、フレームアグリゲーションによるパケット１，３，７，９，１０の再送時に送信レートを通常よりも低いレート（Ｙ［Ｍｂｐｓ］）に設定する。従って、フレームアグリゲーションによる再送パケット１，３，７，９，１０の送信成功確率が高まり、この結果、STA2側では再送パケットの受信成功により、リオーダバッファ３０内のパケットが上位レイヤに送られる。図９に示すように、送信レートを低くしたことにより、再送パケット１，３，７，９，１０の受信に全て成功し、リオーダバッファ３０内にはパケット１〜８が保持される。そして、パケット９、１０を受信している間に、パケット１〜８は上位レイヤに送られ、リオーダバッファ３０の状態が更新される。
【００７４】
リオーダバッファ３０の状態が更新されると、Win_Startの値が９となり、Win_Endの値が１６となる。従って、５つのパケット１，３，７，９，１０の連続送信を行った場合に、最も大きいシーケンス番号は１０であるため、STA2側でWin_End（＝１６）を超えるシーケンス番号のパケットの受信は発生しない。従って、パケット９、１０を受信すると、パケット９、１０が更新されたリオーダバッファ３０に保持され、パケット９，１０が上位レイヤに送られる。これにより、上位レイヤでパケット受信抜けが発生する確率を確実に低減することが可能となる。
【００７５】
従って、第４の実施形態によれば、再送時にフレームアグリゲーションにより５つのパケット１，３，７，９，１０を送信することができるため、上位レイヤでのパケット受信抜けの発生する確率を低減した上で、フレームアグリゲーションによる連続送信数（アグリゲーション数）を増加させることが可能となる。
【００７６】
（第５の実施形態）
次に、本発明の第５の実施形態について説明する。図１０は、第５の実施形態での送信装置１００の動作例を示す模式図である。第５の実施形態は、フレームアグリゲーションとフレームバーストとを併用し、連続送信の途中で送信レートを変更するものである。
【００７７】
図１０において、STA1がブロックＡＣＫを受信するまでの動作は、第１の実施形態と同様にフレームバーストにより行われる。STA1は、ブロックＡＣＫにより再送パケット１，３，７を含めてデータバッファ１２に５パケット残っていることを認識し、連続送信数を５に設定する。また、STA1は、ブロックＡＣＫから、STA2のリオーダバッファ３０のWin_Endの値を取得する。そして、Win_Endの値が８であり、再送する５パケットのシーケンス番号の最も大きいものが１０であることから、５パケットの連続送信は、STA2のリオーダバッファ３０のWin_Endを超える可能性があることを認識する。
【００７８】
そして、STA1は、再送する３つのパケット１，３，７をフレームアグリゲーションにより再送する。この際、通常よりも低い送信レート（Ｙ［Ｍｂｐｓ］）で再送を行う。また、Win_Endの値（＝８）を超えたパケット９，１０についても、パケット１，３，７とは別のフレームアグリゲーションによって再送する。パケット９，１０のフレームアグリゲーションについては、パケット１，３，７のフレームアグリゲーションよりも高い送信レートで送信する。
【００７９】
以上のように、第５の実施形態によれば、再送時に複数のフレームアグリゲーションによりパケットを再送するため、パケット１，３，７のフレームアグリゲーションとパケット９，１０のフレームアグリゲーションの送信レートを可変することができる。従って、パケット９，１０のフレームアグリゲーションの送信レートを、受信に失敗したパケット１，３，７のフレームアグリゲーションよりも高くすることで、再送時のスループットを更に向上することが可能となる。
【００８０】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【００８１】
【図１】本発明の各実施形態に係る送信装置の構成を示すブロック図である。
【図２】無線チャネル品質の品質に応じて送信レート（伝送レート）を変化させている状態を示す模式図である。
【図３】第１の実施形態での連続送信数と送信レート決定の動作例を示す模式図である。
【図４】IEEE802.11nにおいて、変調方式、冗長度、空間多重数と送信レートを規定した仕様の一例を示す模式図である。
【図５】IEEE802.11aにおいて、変調方式、冗長度と送信レートを規定した仕様の一例を示す模式図である。
【図６】第２の実施形態での送信装置の動作例を示す模式図である。
【図７】第３の実施形態での送信装置の動作例を示す模式図である。
【図８】フレームバースト(Frame Burst)とフレームアグリゲーションを対比して示す模式図である。
【図９】第４の実施形態での送信装置の動作例を示す模式図である。
【図１０】第５の実施形態での送信装置の動作例を示す模式図である。
【図１１】ブロックＡＣＫ(Block ACK)の仕組みを説明するための模式図である。
【図１２】１パケット毎にＡＣＫを受信する場合を示す模式図である。
【図１３】リオーダバッファを用いたシステムを示す模式図である。
【図１４】リオーダバッファを用いたシステムで受信抜けが発生する問題を説明するための模式図である。
【図１５】図１４において、連続送信数を制限した場合を示す模式図である。
【符号の説明】
【００８２】
１０    パケット送信準備部
２２    ＡＣＫ受信部
２４    再送制御部
２０    送信レート制御部
２６    送信レート補正部
３０    リオーダバッファ
【図１】
2009088915.tif 000003
【図２】
2009088915.tif 000004
【図３】
2009088915.tif 000005
【図４】
2009088915.tif 000006
【図５】
2009088915.tif 000007
【図６】
2009088915.tif 000008
【図７】
2009088915.tif 000009
【図８】
2009088915.tif 000010
【図９】
2009088915.tif 000011
【図１０】
2009088915.tif 000012
【図１１】
2009088915.tif 000013
【図１２】
2009088915.tif 000014
【図１３】
2009088915.tif 000015
【図１４】
2009088915.tif 000016
【図１５】
2009088915.tif 000017