(57)【要約】【課題】既存の機器との相互接続性を維持しつつ、環境変化によるスループットの低下を抑制する。【解決手段】第１通信装置は、第２通信装置へ送信する第１フレームに複数個の送信データを集約して送信する。第１通信装置は、第２通信装置における受信状況が所定値Ｐより小さい場合、再送成功状況に応じて、第１フレームの送信レートを減少させることなく第１フレームに集約する送信データの個数を減少させる。あるいは、第１通信装置が、第１フレームに集約する送信データの個数を減少させることなく第１フレームの送信レートを減少させる。【選択図】図３
2009141527.tif 000002
【特許請求の範囲】
【請求項１】
第１通信装置であって、
第２通信装置へ送信する第１フレームに複数個の送信データを集約する集約手段と、
前記第１通信装置から送信された第１フレームについての前記第２通信装置における受信状況を取得する取得手段と、
前記第１通信装置から前記第２通信装置への前記第１フレームの再送成功状況を判断する判断手段と、
前記取得手段により取得した前記第２通信装置における受信状況を所定値Ｐと比較する比較手段と、
前記比較手段による比較の結果、前記第２通信装置における受信状況が前記所定値Ｐより小さい場合、前記判断手段により判断した前記再送成功状況に応じて、前記第１フレームの送信レートを減少させることなく前記第１フレームに集約する送信データの個数を減少させるか、前記第１フレームに集約する送信データの個数を減少させることなく前記第１フレームの送信レートを減少させる送信手段と
を有することを特徴とする第１通信装置。
【請求項２】
前記送信手段は、前記判断手段により判断した前記再送成功状況が所定値Ｑより小さい場合は、前記第１フレームの送信レートを減少させることなく前記第１フレームに集約する送信データの個数を減少させ、前記再送成功状況が所定値Ｑより大きい場合は、前記第１フレームに集約する送信データの個数を減少させることなく前記第１フレームの送信レートを減少させることを特徴とする請求項１に記載の第１通信装置。
【請求項３】
前記取得手段は、前記第２通信装置から前記受信状況を取得することを特徴とする請求項１又は請求項２に記載の第１通信装置。
【請求項４】
前記受信状況は、前記第１通信装置から前記第２通信装置に一定期間に送信した前記第１フレーム数と、前記第２通信装置が前記一定期間に受信した前記第１フレーム数とに基づく情報であることを特徴とする請求項１乃至請求項３の何れか１項に記載の第１通信装置。
【請求項５】
前記送信手段は、前記第１通信装置から前記第２通信装置に一定期間に送信した前記第１フレーム数よりも前記第１通信装置が前記一定期間に受信した前記第２通信装置からの前記第１フレームに対する確認応答の数が一定割合以下になったことをトリガとして、前記第１フレームに集約する送信データの個数の変更又は送信レートの変更制御を行うことを特徴とする請求項１乃至請求項４の何れか１項に記載の第１通信装置。
【請求項６】
前記送信手段は、前記比較手段による比較の結果、前記第２通信装置における受信状況が前記所定値Ｐより大きい場合、前記第１フレームの送信レート及び前記第１フレームに集約する送信データの個数は減少させないことを特徴とする請求項１乃至請求項５の何れか１項に記載の第１通信装置。
【請求項７】
前記送信手段は、前記第１通信装置から前記第２通信装置に一定期間に送信した前記第１フレーム数よりも前記第１通信装置が前記一定期間に受信した前記第２通信装置からの前記第１フレームに対する確認応答の数が一定割合を上回る場合に、前記第１フレームの送信レートを上げ、かつ、前記第１フレームに集約する送信データの個数を増加させることを特徴とする請求項１乃至請求項６の何れか１項に記載の第１通信装置。
【請求項８】
前記送信手段は、前記第１フレームを再送する際には、前記第１フレームに集約する送信データの個数を減少させることなく前記第１フレームの送信レートを減少させることを特徴とする請求項項１乃至請求項７の何れか１項に記載の第１通信装置。
【請求項９】
第２通信装置へ送信する第１フレームに複数個の送信データを集約して送信する第１通信装置における通信方法であって、
前記第１通信装置から送信された第１フレームについての前記第２通信装置における受信状況を取得する取得工程と、
前記第１通信装置から前記第２通信装置への前記第１フレームの再送成功状況を判断する判断工程と、
前記第２通信装置における受信状況が所定値Ｐより小さい場合、前記判断工程おいて判断した前記再送成功状況に応じて、前記第１フレームの送信レートを減少させることなく前記第１フレームに集約する送信データの個数を減少させて送信するか、前記第１フレームに集約する送信データの個数を減少させることなく前記第１フレームの送信レートを減少させて送信する送信工程と、
を有することを特徴とする第１通信装置における通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、通信装置に係り、とりわけ、フレームアグリゲーションを使用する通信装置に関する。
【背景技術】
【０００２】
現在策定が進んでいるＩＥＥＥ８０２．１１ｎによれば、フレームアグリゲーションが採用される予定である。フレームアグリゲーションとは、複数のフレームを１つのフレームに集約して転送するデータ転送方法である。フレームアグリゲーションを採用すれば、ＭＡＣヘッダーを１つに削減できるため、伝送効率が改善することになる。
【０００３】
フレームアグリゲーションを使用する無線ＬＡＮシステムでは、フレームアグリゲーションを使用しない場合と比較し、フレーム長が長くなる。しかし、フレーム長が長くなると、長時間にわたるバースト状ノイズや激しいチャネル変動に起因して、著しくスループットが低下するという課題があった。
【０００４】
この課題を解決すべく、特許文献１によれば、伝播路の変動が激しければ送信フレームのデータ部分の長さを短くし、変動が緩やかであれば送信フレームのデータ部分の長さを長くする発明が提案されている。
【特許文献１】特開２００６−１７３８６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１のように、フレームアグリゲーションによるスループットの低下を防ぐために、規格にない特殊プロトコルを使ってしまうと、相互接続性に問題が生じてしまう。
【０００６】
また、ＩＥＥＥ８０２．１１ｎ（ドラフト２．０）の時空間ブロック符号化（ＳＴＢＣ）を一方の端末のみが送信に使用し、他方の端末はＳＴＢＣを送信に使用しない場合にも問題が生じる。この場合、他方の端末である相手端末での受信信号レベルは向上するが、相手端末から受信したデータの受信信号レベルは向上しない。すなわち、一方の端末にとって、自局のデータは受信されやすくなるのに、他方の端末からのデータは受信しにくいままとなる。
【０００７】
このような状況では、フレームが届かないために受信不良が発生しているのか、それともフレームに対するＡｃｋが帰ってこないために受信不良が発生しているのかを特定できない。このような原因の違いは、アグリゲーション長を変更すべきか否かに影響を及ぼすため、原因を特定することは重要である。例えば、前者はフォワードリンクの伝播状況に問題があるため、アグリゲーション長を変更する必要がある。しかし、後者はリバースリンクの伝播状況に問題があるに過ぎないため、必ずしもアグリゲーション長を変更する必要はない。
【０００８】
そこで、本発明は、このような課題および他の課題のうち、少なくとも１つを解決することを目的とする。例えば、本発明は、既存の機器との相互接続性を維持しつつ、環境変化によるスループットの低下を抑制することが可能なアグリゲーション長の決定アルゴリズムを提案することを目的とする。なお、他の課題については明細書の全体を通して理解できよう。
【課題を解決するための手段】
【０００９】
本発明は、例えば、第２通信装置へ送信する第１フレームに複数個の送信データを集約して送信する第１通信装置は、第２通信装置における受信状況が所定値Ｐより小さい場合、再送成功状況に応じて、第１フレームの送信レートを減少させることなく第１フレームに集約する送信データの個数を減少させ、第１フレームに集約する送信データの個数を減少させることなく第１フレームの送信レートを減少させる。
【発明の効果】
【００１０】
本発明によれば、環境変化によるスループットの低下を抑制しつつアグリゲーション長を決定できる。
【発明を実施するための最良の形態】
【００１１】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念および下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【００１２】
図１は、実施形態に係る複数の無線通信装置を含む通信システムの一例を示す図である。通信システムには、第１通信装置や第２通信装置の一例である無線ＬＡＮ機器（ＳＴＡ１０２、ＳＴＡ１０３）が含まれている。ここでは、一例として、ネットワーク１０１がＩＥＥＥ８０２．１１ｎ（ドラフト２．０）に準拠しているものとする。なお、本発明が他の規格にも適用できることはいうまでもない。ＳＴＡ１０２及びＳＴＡ１０３はネットワーク１０１を確立し、お互いに通信をしている。なお、３つ以上の無線ＬＡＮ機器がネットワーク１０１に参加してもよい。
【００１３】
図２は、実施形態に係る無線ＬＡＮ機器の例示的なブロック図である。ＣＰＵ２００は、メモリ２０１及びＩＦ部２０２と接続されている。ＩＦ部２０２は、無線部２０３と接続されている。ＣＰＵ２００が生成したフレームをＩＦ部２０２及び無線部２０３を通して相手機器に送信される。無線部２０３は、相手機器が送信したフレームを受信する。受信したフレームはＩＦ部２０２を通して、ＣＰＵ２００に渡される。
【００１４】
図３は、実施形態に係る無線ＬＡＮ機器が備える機能を示した例示的なブロック図である。ここでは、各部は、図２に示した各種のハードウエア（主にＣＰＵ２００）によって実現されるものとする。
【００１５】
フレーム集約部３０１は、設定された個数の送信データを集約してアグリゲーションフレームを作成するユニットである。フレーム送信部３０２は、作成されたアグリゲーションフレームを相手局である他の無線ＬＡＮ機器へ送信するユニットである。このように、フレーム集約部３０１は、第２通信装置へ送信する第１フレームに複数個の送信データを集約する集約手段の一例である。また、フレーム送信部３０２は、フレーム送信手段の一例である。
【００１６】
受信状況モニタ３０３は、自局から相手局へ送信したフレームの個数に基づき、自局から送信されたフレームについての他局における受信状況を取得するユニットである。受信状況モニタ３０３は、第１通信装置が第２通信装置へ送信したフレームの個数に基づき、第１通信装置から送信されたフレームについての第２通信装置における受信状況を取得する受信状況取得手段の一例である。また、受信状況モニタ３０３は、第１通信装置から送信された第１フレームについての第２通信装置における受信状況を取得する取得手段の一例である。
【００１７】
送信フレームカウンタ３０４は、自局から送信したフレームの個数を計数するユニットである。このように、送信フレームカウンタ３０４は、第１通信装置から送信したフレームの個数を計数する送信フレーム計数手段の一例である。
【００１８】
確認応答カウンタ３０５は、自局が送信したフレームに対して受信した確認応答の個数を計数するユニットである。確認応答カウンタ３０５は、送信したフレームに対して受信した確認応答の個数を計数する確認応答計数手段の一例である。
【００１９】
通常、相手局は、フレームを受信するたびに確認応答（いわゆるＡｃｋ）を送信することになっている。これは、送信側装置が、送信したフレームが誤りなく受信されたか否かを判定する指標となる。例えば、確認応答カウンタ３０５のカウント値が送信フレームカウンタ３０４のカウント値よりも小さければ、送信したフレームのいくつかが受信されなかったことになる。まれに、送信したフレームは受信側により正しく受信されても送信側が確認応答を受信できないこともある。
【００２０】
なお、受信状況モニタ３０３は、自局が相手局から受信したフレームの個数に基づき、他局から送信されたフレームについての自局における受信状況を取得してもよい。例えば、受信フレームカウンタ３０６が、フレーム受信部３０７により相手局から受信したフレームの個数をカウントすれば、そのカウント値から概略的な伝送路の状況を判断できる。このように、受信状況モニタ３０３は、第１通信装置が第２通信装置から受信したフレームの個数に基づき、第２通信装置から送信されたフレームについての第１通信装置における受信状況を取得する受信状況取得手段の一例である。なお、受信フレームカウンタ３０６は、第２通信装置から受信したフレームの個数を計数する受信フレーム計数手段の一例である。
【００２１】
比較部３０８は、自局の受信状況と他局の受信状況とを比較するユニットである。例えば、比較部３０８は、受信したフレームの個数と送信したフレームの個数とを比較することで、自局の受信状況と他局の受信状況との優劣を判定することができる。よって、比較部３０８は、比較手段の一例である。また、比較部３０８は、優劣の判定手段の一例でもある。
【００２２】
集約制御部３０９は、受信状況の比較結果に応じて、アグリゲーションフレームへと集約される送信データの個数を制御するユニットである。例えば、集約制御部３０９は、他局における受信状況が自局における受信状況よりも良好であれば、アグリゲーションフレームに集約される送信データの個数を維持する。また、集約制御部３０９は、他局における受信状況が自局における受信状況よりも悪化していれば（良好でなければ）、フレームに集約される送信データの個数を減少させてもよい。この場合、アグリゲーションフレームに集約される送信データの個数は、アグリゲーション長と呼ぶこともできる。一般に、アグリゲーション長が長ければ長いほど誤りを受ける可能性が高まり、短ければ短いほど誤りを受ける可能性が低下する。このように、集約制御部３０９は、フレームに集約される送信データの個数を維持したり、減少させたり又は増加させたりする個数制御手段の一例である。
【００２３】
送信レート制御部３１０は、受信状況の比較結果に応じて、アグリゲーションフレームの送信レートを制御するユニットである。一般に、送信レートが高ければ誤りを受ける可能性が高まり、送信レートが低ければ誤りを受ける可能性が低下する。例えば、送信レート制御部３１０は、他局における受信状況が自局における受信状況よりも良好であればフレームの送信レートを維持する。また、送信レート制御部３１０は、他局における受信状況が自局における受信状況よりも悪化していればフレームの送信レートを低下させる。このように、送信レート制御部３１０は、アグリゲーションフレームの送信レートを維持したり、低下させたり又は増加させたりする送信レート制御手段の一例である。
【００２４】
なお、集約制御部３０９や送信レート制御部３１０は、送信したフレームの個数よりも受信した確認応答の個数が減少したことをトリガとして動作を開始してもよい。すなわち、自局の送信状況又は他局の受信状況が悪化したと推定されるときに、集約制御部３０９や送信レート制御部３１０は動作を開始することになる。
【００２５】
図４は、実施形態に係る無線ＬＡＮ機器が備える機能を示した例示的なブロック図である。ここでは、各部は、主にＣＰＵ２００によって実現されるものとする。なお、図３に示したユニットと共通するユニットには同一の参照符号を付すことで説明を簡潔にする。再送カウンタ４０１及び再送成功率算出部４０２が、図３に示したブロック図に追加されてもよい。
【００２６】
受信状況モニタ３０３は、第１通信装置から第２通信装置への第１フレームの再送成功状況を判断する判断手段の一例である。受信状況モニタ３０３は、第１フレームの再送成功状況を判断するために、再送カウンタ４０１、再送成功率算出部４０２及び上述した確認応答カウンタ３０５を備えている。再送カウンタ４０１は、フレーム送信部が再送したアグリゲーションフレームの個数をカウントするユニットである。なお、フレーム送信部３０２は、送信したフレームのうち、対応する確認応答を相手局から受信できなかったフレームを再送する。どのアグリゲーションフレームを再送すべきかは、相手局から送信された再送要求に搭載されているシーケンス番号などにより特定できる。このように、フレーム送信部３０２は、確認応答を受信できなかったフレームを再送する再送手段の一例である。
【００２７】
再送成功率算出部４０２は、再送したフレームの成功率を算出する。例えば、再送成功率算出部４０２は、確認応答のカウント値を、再送したフレームのカウント値で除算することで成功率を算出する。このように、再送成功率算出部４０２は、成功率算出手段の一例である。
【００２８】
比較部３０８は、再送したフレームの成功率と予め定められた閾値とを比較する。なお、閾値は、経験的にスループットを最大にするような値に設定することが望ましい。例えば、再送したフレームの成功率が閾値を超えていれば、集約制御部３０９は、送信データの個数（アグリゲーション長）を維持し、かつ、送信レート制御部３１０は送信レートを低下させる。一方、再送したフレームの成功率が閾値以下であれば、集約制御部３０９は、送信データの個数を減少させ、かつ、送信レート制御部３１０は送信レートを維持する。
【００２９】
図５は、フレームアグリゲーションが実行されない場合のフレームの一例を説明するための図である。アグリゲーションが実行されない場合、３つの送信データ５００、５０１、５０２は、それぞれ対応するヘッダー５０３、５０５、５０７と、フレームチェック５０４、５０６、５０８とが付与され、フレーム５０９、５１０、５１１が作成される。
【００３０】
図６は、フレームアグリゲーションが実行される場合のフレームの一例を説明するための図である。ここでは、アグリゲーション長が３であるものとする。３つの送信データ６００、６０１、６０２は、対応する１つのヘッダー６０３と、１つのフレームチェック６０４とが付与され、アグリゲーションフレーム６０９が作成される。図５と比較するとわかるように、ヘッダーやフレームチェックなどのオーバーヘッドが削減されるため、スループットが向上する。
【００３１】
図７は、実施形態の一例を示すシーケンス図である。ここでは、ＳＴＡ１０２が送信側（自局）として動作し、ＳＴＡ１０３が受信側（相手局）として動作しているものとする。一例として、送信レート制御部３１０は、初期送信レートとして６００Ｍｂｐｓをフレーム送信部３０２に設定する。また、集約制御部３０９は、アグリゲーション長を３に設定する。なお、これらの具体的な数値は、単なる例示に過ぎない。
【００３２】
Ｓ７００で、フレーム集約部３０１は、３つの送信データを集約してアグリゲーションフレームを作成し、フレーム送信部３０２は、設定された送信レートでアグリゲーションフレームをＳＴＡ１０３へ送信する。送信カウンタは、カウント値を１つ増分する。
【００３３】
Ｓ７０１で、ＳＴＡ１０３のＣＰＵ２００は、アグリゲーションフレームを受信すると、正しく受信したことを示すＡｃｋをＳＴＡ１０２へ送信する。確認応答カウンタは、カウント値を１つ増分する。
【００３４】
Ｓ７０２で、ＳＴＡ１０２のＣＰＵ２００は、自局の受信率を算出し、算出した受信率を、下限値ＲＬｏｗ及び上限値ＲＨｉｇｈと比較する。自局の受信率の算術例は、後述する。
【００３５】
通常、自局の受信率が上限値ＲＨｉｇｈを超えていれば、ＣＰＵ２００は、アグリゲーション長や送信レートを増加させる。自局の受信率が下限値ＲＬｏｗ以上かつ上限値ＲＨｉｇｈ以下であれば、ＣＰＵ２００は、アグリゲーション長や送信レートを維持する。自局の受信率が下限値ＲＬｏｗ未満であれば、自局の受信状況の悪化を意味するため、ＣＰＵ２００は、相手局であるＳＴＡ１０３に受信状況を要求する。この要求には、ＳＴＡ１０２が送信したアグリゲーションフレームの個数Ｎが含まれていてもよい。
【００３６】
Ｓ７０３で、ＳＴＡ１０３のＣＰＵ２００は、アグリゲーションフレームの受信状況の要求をＳＴＡ１０２から受信すると、アグリゲーションフレームの受信状況を搭載したレポートをＳＴＡ１０２へ送信する。受信状況は、ある一定期間に、ＳＴＡ１０２が送信したアグリゲーションフレームの個数Ｎと、ＳＴＡ１０３が受信したアグリゲーションフレームの個数Ｍを用いて表現できる。すなわち、受信率＝Ｍ／Ｎである。
【００３７】
Ｓ７０４で、ＳＴＡ１０２のＣＰＵ２００は、受信したレポートから相手局の受信率を抽出し、閾値Ｐと比較する。ここでは、ＣＰＵ２００が、取得手段により取得した第２通信装置における受信状況を所定値Ｐと比較する比較手段として機能している。なお、閾値Ｐは、自局の受信率であってもよいし、予め経験的に求められた値であってもよい。自局の受信率は、相手局から受信した確認応答の個数Ａを用いて表現できる。すなわち、自局の受信率は、受信率＝Ａ／Ｎ。Ｎは、ある一定期間に、ＳＴＡ１０２が送信したアグリゲーションフレームの個数である。ここでは、相手局の受信率がＰよりも大きいとする。よって、ＳＴＡ１０２のＣＰＵ２００は、アグリゲーション長と送信レートを維持する。
【００３８】
Ｓ７０５でＳＴＡ１０２のＣＰＵ２００は、現在の送信レートを初期送信レートとして設定する。初期送信レートは、初回のフレームを送信するときに適用される送信レートである。初回のフレームは、再送フレームと区別するための名称に過ぎない。すなわち、初回フレームに対してＡｃｋが返信されなければ、バッファ（メモリ２０１）に格納されている初回フレームが再度読み出され、再送フレームとして送信される。
【００３９】
Ｓ７０６で、ＳＴＡ１０２は、次のアグリゲーションフレームを作成して送信する。Ｓ７０７で、ＳＴＡ１０２は、受信に成功したので、Ａｃｋを返信する。
【００４０】
このように、相手局の受信状況が悪化していなければ、アグリゲーション長と送信レートが維持されることになる。もちろん、ＣＰＵ２００は、アグリゲーション長と送信レートとの少なくとも一方を増加してもよい。
【００４１】
図８は、実施形態の一例を示すシーケンス図である。図７と共通する箇所には、同一の参照符号を付与することで説明を簡潔にする。例えば、Ｓ７００ないしＳ７０３及びＳ７０７については説明を省略する。
【００４２】
Ｓ８０４で、ＳＴＡ１０２のＣＰＵ２００は、相手局の受信率を閾値Ｐと比較し、相手局の受信率が閾値Ｐ以下であることを認識する。さらに、ＣＰＵ２００は、自局の再送成功状況を判断する。ここでは、再送成功状況は、再送成功率とする。従って、ＣＰＵ２００は、自局の再送成功率を算出し、閾値Ｑと比較する。自局の再送成功率は、例えば、ある一定期間における、再送を含めた同一のアグリゲーションフレームの送信回数ｉと、それに対する確認応答の受信回数ｊとする。この場合のアグリゲーションフレームの再送を含めた送信成功率は、ｊ／ｉとなる。閾値Ｑは、例えば、実環境の中でデータ転送効率が最もよくなる値を経験的に求めることで設定される。ここでは、再送を含めた送信成功率が閾値Ｑより大きかったと仮定する。そこで、ＣＰＵ２００は、アグリゲーション長を維持するものの、送信レートについては所定量だけ低下させる。ここでは、所定量を６０Ｍｂｐｓとする。低下後の送信レートは、５４０Ｍｂｐｓとなる。
【００４３】
Ｓ８０５で、ＳＴＡ１０２のＣＰＵ２００は、現在の送信レート（５４０Ｍｂｐｓ）を初期送信レートとして設定する。Ｓ８０６で、ＣＰＵ２００は、送信レートとして５４０Ｍｂｐｓを適用して、アグリゲーションフレームを送信する。
【００４４】
このように、相手局の受信状況が悪化していれば、少なくとも送信レートを低下させることで、誤り率の改善を図ることができる。なお、ＣＰＵ２００は、送信レートの低下量を受信率から動的に算出してもよい。
【００４５】
図９は、実施形態の一例を示すシーケンス図である。図７と共通する箇所には、同一の参照符号を付与することで説明を簡潔にする。例えば、Ｓ７００ないしＳ７０３及びＳ７０７については説明を省略する。
【００４６】
Ｓ９０４で、ＳＴＡ１０２のＣＰＵ２００は、相手局の受信率を閾値Ｐと比較し、相手局の受信率が閾値Ｐ以下であることを認識する。さらに、ＣＰＵ２００は、自局の再送を含めた送信成功率を算出し、閾値Ｑと比較する。ここでは、再送を含めた送信成功率が閾値Ｑ以下であったと仮定する。ＣＰＵ２００は、アグリゲーション長を削減する一方で、送信レートを維持する。例えば、アグリゲーション長を初期の３から２へと削減する。
【００４７】
Ｓ９０５で、ＳＴＡ１０２のＣＰＵ２００は、現在の送信レート（６００Ｍｂｐｓ）を初期送信レートとして設定する。Ｓ９０６で、ＣＰＵ２００は、削減されたアグリゲーション長にしたがってアグリゲーションフレームを組み立て、送信レートとして６００Ｍｂｐｓを適用してアグリゲーションフレームを送信する。
【００４８】
このように、自局の受信率が低下し、相手局の受信率も低下し、さらに再送成功率も低下してきた場合は、アグリゲーション長を削減しつつ送信レートを維持することで、通信誤りの改善を試行する。なお、自局及び他局の受信率が低下しても、再送を含めた送信成功率が低下していなければ、アグリゲーション長を維持しつつ送信レートを増加させてもよい。
【００４９】
図１０は、実施形態に係る制御方法の一例を示したフローチャートである。各ステップは、上述したＣＰＵ２００や、ＣＰＵ２００によって実現される各種のユニット（図３、図４）によって実行される。なお、図１０に示したフローチャートは、本発明に係るすべてのオプションを実装した場合の処理を示している。そのため、以下で説明するステップのいくつかが省略されてもよい。例えば、Ｓ１００１、Ｓ１０１６及びＳ１０１７が省略されてもよい。ステップＳ１００９、Ｓ１０１２及びＳ１０１３が省略されてもよい。あるいは、ステップＳ１００９、Ｓ１０１０及びＳ１０１１が省略されてもよい。
【００５０】
ステップＳ１００１で、ＣＰＵ２００は、今回のアグリゲーションフレームの送信が初回の送信か又は再送かを判定する。通常、ＣＰＵ２００は、フレームごとに再送回数をメモリに記憶しているため、メモリから再送回数を読み出すことで、初回か否かを判定できる。初回であれば、ステップＳ１００２へ進む。再送であれば、ステップＳ１０１６に進む。
【００５１】
ステップＳ１００２で、ＣＰＵ２００は、自局が送信したアグリゲーションフレームに対して受信したＡｃｋについて、受信率を算出し、下限値ＲＬｏｗ及び上限値ＲＨｉｇｈと比較する。比較の結果、自局のＡｃｋ受信率が下限値ＲＬｏｗ以上かつ上限値ＲＨｉｇｈ以下であれば、ステップＳ１００５に進む。比較の結果、自局のＡｃｋ受信率が下限値ＲＬｏｗ未満であれば、ステップＳ１００３に進む。比較の結果、自局のＡｃｋ受信率が上限値ＲＨｉｇｈを超えていれば、ステップＳ１０１４に進む。
【００５２】
ステップＳ１００３で、ＣＰＵ２００は、第２通信装置の一例である相手局の受信率を取得する。例えば、ＣＰＵ２００は、相手局に受信率要求を送信することで、相手局から受信率レポートを受信する。受信率レポートには、相手局が受信したアグリゲーションフレームの受信率の情報が含まれている。自局（ＳＴＡ１０２）が送信したフレームの個数を相手局（ＳＴＡ１０３）が知得している場合、相手局が受信率を算出し、受信率レポートに搭載する。一方、自局（ＳＴＡ１０２）が送信したフレームの個数を相手局（ＳＴＡ１０３）が知得していない場合、相手局は一定期間内に受信したフレームの個数を、受信率レポートに搭載する。このように、受信率レポートに、相手局が受信したアグリゲーションフレームの個数の情報が含まれている場合、ＣＰＵ２００は、自局が送信したアグリゲーションフレームの個数で除算して相手局の受信率を算出する。このように、受信状況は、第１通信装置から第２通信装置に一定期間に送信した第１フレーム数と、第２通信装置が一定期間に受信した第１フレーム数とに基づく情報である。
【００５３】
ステップＳ１００４で、ＣＰＵ２００は、相手局の受信率が閾値Ｐを超えているか否かを判定する。超えていれば、ステップＳ１００５に進む。一方、超えていなければ、ステップＳ１００９に進む。
【００５４】
ステップＳ１００５で、ＣＰＵ２００は、現在のアグリゲーション長をそのままの値に維持する。ステップＳ１００６で、ＣＰＵ２００は、初期送信レートもそのままの値に維持する。なお、ステップＳ１００５、Ｓ１００６は、アグリゲーション長や送信レートが変更されないため、省略されてもよい。このように、ＣＰＵ２００は、比較手段による比較の結果、第２通信装置における受信状況が所定値Ｐより大きい場合、第１フレームの送信レート及び第１フレームに集約する送信データの個数は減少させない陽に制御する。その後、ステップＳ１００７に進む。現在のアグリゲーション長、現在の送信レート及び初期送信レートの値は、メモリに記憶されており、ＣＰＵ２００によって読み書きされる。アグリゲーション長や送信レートが変更されない事例は、図７に示したとおりである。
【００５５】
ステップＳ１００７で、ＣＰＵ２００は、現在設定されている送信レートを初期送信レートに設定する。ステップＳ１００８で、ＣＰＵ２００は、現在設定されている送信レートを適用してアグリゲーションフレームを送信する。その後、次の送信対象フレームが残存していれば、ステップＳ１０００に戻るが、残存していなければ、本フローチャートの処理を終了する。
【００５６】
ところで、ステップＳ１００４で、相手局の受信率が閾値Ｐ以下であれば、ステップＳ１００９に進む。ステップＳ１００９で、ＣＰＵ２００は、自局の再送を含めた送信成功率を算出し、算出した再送を含めた送信成功率が閾値Ｑを超えているか否かを判定する。超えているときは、ステップＳ１０１０に進み、超えていなければ、ステップＳ１０１２に進む。
【００５７】
ステップＳ１０１０で、ＣＰＵ２００は、アグリゲーション長を維持する。ステップＳ１０１１で、ＣＰＵ２００は、初期送信レートを所定量（例：６０Ｍｂｐｓ）だけ下げる。すなわち、ＣＰＵ２００は、メモリに記憶されている初期送信レートのデータを変更する。その後、ステップＳ１００７に進む。
【００５８】
このように、再送を含めた送信成功率が閾値をこえているときは、現在のアグリゲーション長のフレームを何度か再送すれば相手局が受信に成功する。そのため、現在のアグリゲーション長が維持される。しかし、再送が必要となる状況であるため、送信レートを一時的に低下させることで、相手局の受信状況の改善を図る。このように、アグリゲーション長が維持され、送信レートが削減される事例は、図８に示した通りである。
【００５９】
よって、ＣＰＵ２００は、第１フレームに集約する送信データの個数を減少させることなく第１フレームの送信レートを減少させる送信手段の一例でもある。すなわち、ＣＰＵ２００は、再送成功状況が所定値Ｑより大きい場合は、第１フレームに集約する送信データの個数を減少させることなく第１フレームの送信レートを減少させる。
【００６０】
ところで、ステップＳ１００９で、自局の再送を含めた送信成功率が閾値Ｑ以下であれば、ステップＳ１０１２へ進む。ステップＳ１０１２で、ＣＰＵ２００は、アグリゲーション長を所定量だけ減少させる。ステップＳ１０１３で、ＣＰＵ２００は、初期送信レートを維持する。
【００６１】
このように、再送を含めた送信成功率が閾値を下回るときは、現在のアグリゲーション長のフレームを何度か再送しても相手局が受信に成功する可能性が低い。よって、ＣＰＵ２００は、現在のアグリゲーション長を削減することで、相手局の受信状況の改善を図る。これは、アグリゲーション長を削減した方が、送信レートを低下させるよりも改善効果が高い環境で特に有効であろう。このように、アグリゲーション長が削減され、送信レートが維持される事例は、図９に示した通りである。
【００６２】
なお、ＣＰＵ２００は、比較手段による比較の結果、第２通信装置における受信状況が所定値Ｐより小さい場合、再送成功状況に応じて、第１フレームに集約する送信データの個数を減少させる送信手段の一例である。この際に、ＣＰＵ２００は、第１フレームの送信レートを減少させなくてもよい。このように、ＣＰＵ２００は、判断手段により判断した再送成功状況が所定値Ｑより小さい場合は、第１フレームの送信レートを減少させることなく、第１フレームに集約する送信データの個数を減少させる。
【００６３】
ところで、ステップＳ１００２で、自局のＡｃｋ受信率が上限値ＲＨｉｇｈを超えていれば、ステップＳ１０１４に進む。ステップＳ１０１４で、ＣＰＵ２００は、アグリゲーション長を所定量だけ増加する。ステップＳ１０１５で、ＣＰＵ２００は、初期送信レートを所定量だけ増加する。このように、自局のＡｃｋ受信率が上限値ＲＨｉｇｈを超えていれば、相手局におけるアグリゲーションフレームの受信率も高いと推定できる。よって、スループットを改善するために、アグリゲーション長と初期送信レートとの双方を増加させることが好ましい。すなわち、ＣＰＵ２００は、第１通信装置から第２通信装置に一定期間に送信した第１フレーム数よりも第１通信装置が一定期間に受信した第２通信装置からの第１フレームに対する確認応答の数が一定割合を上回ることを検知する。そして、確認応答の数が第１フレーム数よりも一定割合を超えると、ＣＰＵ２００は、第１フレームの送信レートを上げ、かつ、第１フレームに集約する送信データの個数を増加させる。
【００６４】
ところで、ステップＳ１００１で、再送と判定されたときは、ステップＳ１０１６に進む。ステップＳ１０１６で、初回送信に使用されたアグリゲーション長をメモリから読み出し、今回の再送のアグリゲーション長に設定する。すなわち、初回送信に使用されたアグリゲーション長と、今回の再送に使用されるアグリゲーション長は同一となる。ステップＳ１０１７で、ＣＰＵ２００は、前回の送信レートをメモリから読み出し、前回の送信レートを所定量だけ低下させた値を今回の送信レートに設定する。すなわち、再送時には、送信レートが所定量だけ低下することになる。このように、ＣＰＵ２００は、第１フレームを再送する際には、第１フレームに集約する送信データの個数を減少させることなく、第１フレームの送信レートを減少させてもよい。
【００６５】
以上、様々な実施形態について説明した。例えば、本実施形態によれば、既存のプロトコルを特に改変しなくても相手局の受信状況と自局の受信状況を取得できるため、既存の機器との相互接続性を維持しやすい。さらに、本実施形態によれば、少なくとも相手局の受信状況が相対的に悪化してくるとフレームに集約される送信データの個数を調整する。そのため、環境変化によるスループットの低下を抑制することも可能となる。
【００６６】
また、アグリゲーション長に代えて、又は、アグリゲーション長とともに送信レートを制御することで、環境変化によるスループットの低下をより柔軟に抑制しやすくなる。例えば、アグリゲーション長を変更するよりも、送信レートを変更した方がスループットを改善しやすい情況もありうる。逆に、アグリゲーション長に加えて、送信レートも変更しなければスループットを改善しにくい情況もありうる。よって、環境に応じて柔軟に通信パラメータを制御することが重要と思われる。
【００６７】
送信したアグリゲーションフレームの個数と、確認応答の個数とをそれぞれ計数しておけば、自局の受信状況や他局の送信状況の変化を把握しやすくなる。とりわけ、これらのパラメータは、個数制御や送信レートの制御を開始するためのトリガとして有効と考えられる。このように、ＣＰＵ２００は、所定のトリガを検知して、第１フレームに集約する送信データの個数の変更又は送信レートの変更制御を行ってもよい。所定のトリガとしては、例えば、第１通信装置から第２通信装置に一定期間に送信した第１フレーム数よりも第１通信装置が一定期間に受信した第２通信装置からの第１フレームに対する確認応答の数が一定割合以下になったことである。
【００６８】
また、自局の受信状況と他局の受信状況との優劣を判定するには、自局が他局へ送信したフレームの個数と自局が他局から受信したフレームの個数とを比較することが好ましい。このような判定は、ほぼ同数のフレームを送受信しあう２つの無線通信装置間でとくに有効と考えられる。
【００６９】
さらに、再送を含めたフレームの送信成功率に着目してもよい。例えば、再送を含めたフレームの送信成功率が閾値を超えていれば、アグリゲーション長を維持し、かつ、送信レートを低下させてもよい。また、再送したフレームの成功率が閾値以下であれば、アグリゲーション長を減少させ、かつ、送信レートを維持してもよい。このように、再送を含めた送信成功率は、アグリゲーション長や送信レートの影響を受けるため、その時々の成功率に応じて制御すべきパラメータを選定することが重要と考えられる。
【図面の簡単な説明】
【００７０】
【図１】実施形態に係る無線通信システムの一例を示す図である。
【図２】実施形態に係る無線ＬＡＮ機器の例示的なブロック図である。
【図３】実施形態に係る無線ＬＡＮ機器が備える機能を示した例示的なブロック図である。
【図４】実施形態に係る無線ＬＡＮ機器が備える機能を示した例示的なブロック図である。
【図５】フレームアグリゲーションが実行されない場合のフレームの一例を説明するための図である。
【図６】フレームアグリゲーションが実行される場合のフレームの一例を説明するための図である。
【図７】実施形態の一例を示すシーケンス図である。
【図８】実施形態の一例を示すシーケンス図である。
【図９】実施形態の一例を示すシーケンス図である。
【図１０】実施形態に係る制御方法の一例を示したフローチャートである。
【図１】
2009141527.tif 000003
【図２】
2009141527.tif 000004
【図３】
2009141527.tif 000005
【図４】
2009141527.tif 000006
【図５】
2009141527.tif 000007
【図６】
2009141527.tif 000008
【図７】
2009141527.tif 000009
【図８】
2009141527.tif 000010
【図９】
2009141527.tif 000011
【図１０】
2009141527.tif 000012