本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る無線LAN通信システムは、図1に例示するように、無線LAN通信装置としての親機10と、中継機20と、子機30とを含んで構成される。ここで中継機20と子機30とは複数あっても構わない。また親機10と中継機20とは一般に、建物内で定められた場所に固定して置かれるのに対し、子機30はノート型のPCやスマートフォン等であり、ユーザによって携帯されて移動するものである。
ここで親機10はアクセスポイント機能部を有し、子機30はクライアント機能部を有する。また中継機20はアクセスポイント機能部を備える。この中継機20はまたクライアント機能部を備えてもよく、このクライアント機能部により親機10との間の通信を行ってもよい。また中継機20はWDS(Wireless Distribution System)機能により、親機10との間の通信を行ってもよい。
親機10は、図1に例示するように、制御部11、記憶部12、有線通信部13及び無線通信部14を備えている。また中継機20は、制御部21、記憶部22、及び無線通信部23を備えている。
ここで親機10の制御部11は、CPU等のプログラム制御デバイスであり、記憶部12に格納されたプログラムに従って動作する。本実施の形態では、この制御部11は、アクセスポイント機能部を有し、無線LANアクセスポイントとしての動作を行う。この制御部11は、無線通信部14を介した無線通信の相手先として接続された他の無線LAN通信装置のそれぞれを特定する情報(そのMACアドレスでよい)と、対応する無線LAN通信装置との通信に用いるリンクレート(変調方式、コーディングレート等)の情報とを関連付けたリンクレートテーブル情報を、記憶部12に格納している。具体的には、通信の相手方となった無線LAN通信装置との接続時に、通信に用いるリンクレート情報が生成され、このリンクレートテーブル情報に含めて、記憶部12に格納される。
また本実施の形態の制御部11は、無線通信の相手先となった他の無線LAN通信装置のそれぞれについて、その種別を判別する。具体的にこの種別は、所定の制御機能を有し、所定の制御の対象となる装置であるか否かの種別(他の無線LAN通信装置が制御対象装置であるか否かの種別)である。
制御部11は、当該判別の結果、無線通信の相手先が制御対象装置の種別であるときに、予め定められた判断基準によりリンクレートの上昇可否等、リンクレートを制御すべきか否かを判断し、リンクレートを制御すべきと判断したときに、リンクレートを制御する処理を実行する。またこの制御部11は、上記判別の結果、無線通信の相手先が制御対象装置の種別であるときに、予め定められた方法で、当該無線通信の相手先である他の無線LAN通信装置とのリンクレートの上限値を設定してもよい。この場合制御部11は、無線通信の相手先に対して設定された上限値以下のリンクレートにて、対応する通信の相手先との無線通信を行うよう無線通信部14を制御する。
また本実施の形態では、制御対象装置の種別が第1種の制御対象装置、第2種の制御対象装置…というように複数あってもよい。この場合、制御部11は、無線通信部14を介した無線通信の相手先となる他の無線LAN通信装置の種別として、制御対象装置であるか否かだけでなく、どの種の制御対象装置であるかを判別し、当該判別された無線通信の相手先の種別ごとに異なる判断基準として、種別ごとに定められた回数Ni(i=1,2…;Niはいずれも2以上の整数)だけ繰り返して無線通信の成否を判断する。そして制御部11は、この判断の結果に応じて、リンクレートを制御する処理を実行する。また、制御部11は、判別された無線通信の相手先の種別ごとに異なる方法でリンクレートの上限値を設定することとしてもよい。これらの制御部11の動作については、後に詳しく述べる。
記憶部12は、メモリデバイス等であり、制御部11によって実行されるプログラムを保持する。このプログラムは、DVD−ROM等のコンピュータ可読、かつ持続的(non-transitory)な記録媒体によって提供され、この記憶部12に複写されたものであってもよいし、ネットワーク等の通信回線を介して提供され、この記憶部12に複写されたものであってもよい。またこの記憶部12は、制御部11のワークメモリとしても動作する。
有線通信部13は、有線LANインタフェースであり、有線LANに接続されて、有線LANを介して情報を受信し、当該受信した情報を制御部11に出力する。またこの有線通信部13は、制御部11から入力される指示に従い、有線LANを介して指示された情報を送出する。
無線通信部14は、無線LANインタフェースであり、他の無線LAN通信装置との間で無線にて通信を行い、他の無線LAN通信装置から受信した情報を制御部11に出力する。またこの無線通信部14は、制御部11から入力される指示に従い、指示された情報を、指示されたリンクレートで、他の無線LAN通信装置へ送出する。
また中継機20の制御部21は、CPU等のプログラム制御デバイスであり、記憶部22に格納されたプログラムに従って動作する。本実施の形態では、この制御部21は、無線LAN中継機としての動作を行い、他の無線LAN通信装置である第1の無線LAN通信装置(例えば子機30、または他の中継機20)との間で通信可能に接続されるとともに、この第1の無線LAN通信装置とは異なる無線LAN通信装置であってアクセスポイント機能部を有する第2の無線LAN通信装置(例えば親機10)との間で通信可能に接続されて、第1の無線LAN通信装置と第2の無線LAN通信装置との間の通信を中継する。
また本実施の形態においてこの制御部21は、親機10の例と同様に、無線通信部23を介した無線通信の相手先として接続された他の無線LAN通信装置のそれぞれを特定する情報(そのMACアドレスでよい)と、対応する無線LAN通信装置との通信に用いるリンクレート(変調方式、コーディングレート等)の情報とを関連付けたリンクレートテーブル情報を、記憶部22に格納している。この中継機20においても、通信の相手方となった無線LAN通信装置との接続時に、通信に用いるリンクレート情報が生成され、このリンクレートテーブル情報に含めて、記憶部22に格納される。
また本実施の形態の制御部21は、無線通信の相手先となった他の無線LAN通信装置のそれぞれについて、その種別を判別する。この種別もまた、例えば所定の制御機能を有し、所定の制御の対象となる装置であるか否かの種別(他の無線LAN通信装置が制御対象装置であるか否かの種別)である。
制御部21は、当該判別の結果、無線通信の相手先が制御対象装置の種別であるときに、予め定められた判断基準によりリンクレートの上昇可否等、リンクレートを制御すべきか否かを判断し、リンクレートを制御すべきと判断したときに、リンクレートを制御する処理を実行する。またこの制御部21は、上記判別の結果、無線通信の相手先が制御対象装置の種別であるときに、予め定められた方法で、当該無線通信の相手先である他の無線LAN通信装置とのリンクレートの上限値を設定してもよい。この場合、制御部21は、無線通信の相手先に対して設定された上限値以下のリンクレートにて、対応する無線通信の相手先との通信を行うよう無線通信部23を制御する。
この場合も制御対象装置の種別には第1種の制御対象装置、第2種の制御対象装置…というように複数の種別があってもよい。この場合、制御部21は、無線通信部23を介した無線通信の相手先となる他の無線LAN通信装置についてその種別として、制御対象装置であるか否かだけでなく、どの種の制御対象装置であるかを判別し、当該判別された無線通信の相手先の種別ごとに異なる判断基準として、種別ごとに定められた回数Ni(i=1,2…;Niはいずれも2以上の整数)だけ繰り返して、無線通信の成否を判断する。そして制御部21は、この判断の結果に応じて、リンクレートの上昇可否等、リンクレートを制御すべきか否かを判断し、リンクレートを制御すべきと判断したときに、リンクレートを制御する処理を実行する。また、制御部11は、判別された無線通信の相手先の種別ごとに異なる方法でリンクレートの上限値を設定することとしてもよい。これらの制御部21の動作については、後に詳しく述べる。
記憶部22は、メモリデバイス等であり、制御部21によって実行されるプログラムを保持する。このプログラムは、DVD−ROM等のコンピュータ可読、かつ持続的(non-transitory)な記録媒体によって提供され、この記憶部22に複写されたものであってもよいし、ネットワーク等の通信回線を介して提供され、この記憶部22に複写されたものであってもよい。またこの記憶部22は、制御部21のワークメモリとしても動作する。
無線通信部23は、無線LANインタフェースであり、他の無線LAN通信装置である親機10や子機30、さらには他の中継機20との間で無線にて通信を行い、これらの他の無線LAN通信装置から受信した情報を制御部21に出力する。またこの無線通信部23は、制御部21から入力される指示に従い、指示された情報を、指示されたリンクレートで、他の無線LAN通信装置へ送出する。
本実施の形態の一例において、親機10の制御部11と、中継機20の制御部21は、それぞれ記憶部12または記憶部22に格納されたプログラムに従って動作し、図2に例示するように、アクセスポイント機能部40としての機能を実現する。このアクセスポイント機能部40はアクセスポイント機能としての動作を行うもので、本実施の形態ではさらに、通信先種別判断部41と、上限設定部42と、通信成否判断部43と、リンクレート制御部44を機能的に有している。
通信先種別判断部41は、無線通信部14または無線通信部23を介して直接通信を行っている通信相手ごとに、その種別を判断する。ここで種別は既に例示したように、所定の制御機能を有する制御対象装置であるか否かの別であってもよいし、アクセスポイント機能部やクライアント機能部の有無等の別であってもよい。また、相対的な位置の変動に制限がある(固定された位置に設置されているか、ともに移動する)機器であるか、相対的な位置が比較的大きく変動する機器であるかの別としてもよい。具体的に、この通信先種別判断部41は、次の方法によって通信相手の種別を判別する。
すなわち本実施の形態のある例では、中継機20の制御部21は、無線通信部23を介して送出する通信データ中(例えばプローブ・リクエストや、オーセンティケーション・リクエスト、アソシエーション・リクエスト等、IEEE802.11の標準規格に定義される無線LAN管理フレーム内に定義されるVender IE(Information Element)中)に、自己が特定の制御機能を保有する制御対象装置である旨(あるいは所定の制御としての、所定のリンクレート制御の対象である旨、以下、制御対象装置である旨という)の情報を含めておく。
そして通信先種別判断部41は、通信相手ごとに、当該通信相手が送出する通信データ中に制御対象装置である旨の情報が含まれているか否かを調べることで、通信先の種別を判断する。
具体的に、中継機20がアソシエーション・リクエスト内に制御対象装置である旨の情報を含める例について説明する。この例では、通信先種別判断部41は、アソシエーション・リクエストを受信した通信相手ごとに、当該アソシエーション・リクエスト内に制御対象装置である旨の情報が含まれているか否かを調べる。そしてアソシエーション要求内に制御対象装置である旨の情報が含まれていれば、当該通信相手との接続を行ったときに、当該通信相手を特定する情報に対して、当該通信相手が制御対象装置であることを表す情報を関連付けて、種別データベースとして記憶部12または記憶部22に格納する。
また通信先種別判断部41は、通信相手が送出するアソシエーション・リクエスト内に、制御対象装置である旨の情報が含まれていなければ、種別データベースに情報を追記しない。
さらに本実施の形態の別の例では、通信先種別判断部41は、各通信相手とのスループットの時間変化により通信相手の種別を判断してもよい。この例では中継機20が、その送出する通信データ中に、自身が制御対象装置である旨の情報を含める必要はない。
この例に係る通信先種別判断部41は、通信相手ごとに所定の時間に亘ってスループットの変化を調べる(例えばその最小値と最大値を記憶するか、またはその直近所定回数分の測定結果の分散を演算する)。そして通信先種別判断部41は、ある通信相手について得られたスループットの変化を表す情報が、比較的安定していることを表す条件を満足する場合に、当該通信相手との位置の変動に制限のある(相対的な位置があまり変わらない)無線LAN通信装置であると判断する。このような機器の組み合わせには例えば双方が据置型の無線LAN通信装置である場合や、双方が携帯型の無線LAN通信装置(ともに携帯されて、ともに移動する)である場合などがある。
具体的に、所定の時間に亘って、ある通信相手に対してスループットなどの通信実績を表す情報を測定した結果、そのスループットの測定結果が、予め定めたしきい値を下回る場合に、通信先種別判断部41は、スループットの変化を表す情報が、比較的安定しているとして、当該通信相手が相対的に移動しない無線LAN通信装置であると判断し、当該通信相手を特定する情報と、当該情報で特定される通信相手との相対的位置があまり変動しない無線LAN通信装置であることを表す情報を関連付けて種別データベースとして記憶部12または記憶部22に格納する。なお、ここでは通信実績を表す実績情報はスループットである例について述べたが、実績情報としてこのほかに合わせて無線電波強度(RSSI)の変化の情報を参照し、RSSIの変動が所定範囲内にある場合に、当該通信相手が相対的に移動しない無線LAN通信装置であると判断してもよい。さらにスループットの測定は1回だけでなく複数回行って、その分散等の統計演算結果を実績情報として用いてもよい。
例えば通信先種別判断部41は、複数回のスループットの測定結果の分散が、予め定めたしきい値をこえる場合に、スループットの変化を表す情報が、比較的安定していないとして、当該通信相手が、自己との位置関係が比較的大きく移動する無線LAN通信装置であると判断する。この場合には、通信先種別判断部41は、種別データベースに情報を追記しない。
上限設定部42は、通信先種別判断部41が出力する情報の入力を受けて、無線通信の相手先が制御対象装置の種別である場合に、当該無線通信の相手先である他の無線LAN通信装置とのリンクレートの上限値を設定する。また制御対象装置の種別に複数の種別がある場合は、判別された種別に応じて予め定められた方法で、制御対象装置の種別と判断された各無線通信の相手先である他の無線LAN通信装置とのリンクレートの上限値を設定する。
具体的に本実施の形態では、上限設定部42は、記憶部12または記憶部22に格納された、種別データベースを参照し、当該種別データベースに記録されている情報で特定される無線LAN通信装置(制御対象装置)に対して情報の送信が行われるときに、その送信スループットを所定のタイミングごとに繰り返し測定し、直近m回分の測定結果を、対象機器である無線LAN通信装置を特定する情報に関連付けて記憶部12または記憶部22に記録する。ここで測定のタイミングは例えばn秒ごとの定期的なタイミングなどとして設定しておく。
上限設定部42は、例えばm×n秒が経過するごとに、制御対象装置である無線LAN通信装置ごとの
(1)直近m回分の測定結果の統計値(平均値、最大値、最小値など)
(2)最後に測定した送信スループットの測定結果
の少なくとも一方を用いて、制御対象装置である無線LAN通信装置ごとのリンクレートの上限値を決定する。例えば、このリンクレートの上限値は、直近m回分の送信スループットの測定結果の平均値(移動平均となる)Saveと、最後に測定した送信スループットの測定結果Slastとのうち、大きい方S=MAX[Save,Slast]の値に基づいて定める。ここでMAX[a,b]は、a,bのうち大きい方の値を表す(つまりa≧bならばMAX[a,b]=a、a<bならばMAX[a,b]=b)。
一例として上限設定部42は、リンクレート上限値を、MAX[Save,Slast]×α(αは、例えば1,1.5,2,2.5,3…等、適宜定められた定数)とする。なお、実際には、リンクレートは無線通信部14,23における変調方式等によって、段階的に、6Mbps、9Mbps、12Mbps…といった離散的な値から選択されるものである。そこで本実施の形態の上限設定部42では設定可能なリンクレートの値の候補{LR1=6Mbps,LR2=9Mbps,LR3=12Mbps,…}のうち、LRi≦MAX[Save,Slast]×α(i=1,2,…)なる最大のLRiを、リンクレート上限として選択する。
上限設定部42は、このようにして対象機器ごとのリンクレート上限値を決定すると、対象機器ごとに当該対象機器である無線LAN通信装置を特定する情報に関連付けて、決定したリンクレート上限値を、上限値データベースとして記憶する。この上限値データベースは、記憶部12又は記憶部22に格納される。
また本実施の形態では、上限設定部42は、種別データベースに記録されていない情報で特定される無線LAN通信装置(制御対象装置の種別でない無線LAN通信装置)との間で情報の送信が行われるときには、リンクレートの上限値を定める処理を行わないこととする。
通信成否判断部43は、無線通信の相手先である無線LAN通信装置ごとに、情報の送受を行う際にその無線通信の成否を判断する。具体的にこの通信成否判断部43は、所定のタイミングが到来するごとに、無線通信の相手先である無線LAN通信装置のそれぞれに対して予め定められた回数(成否判断回数)だけ繰り返してテストパケットを送出する。このテストパケットの送出は、この時点で宛先となる無線LAN通信装置(テスト対象と呼ぶ)について定められたリンクレートで行われる。そして通信成否判断部43は、テスト対象から受信確認応答がなかった場合をエラーとして、上記送出したテストパケットに対して所定のエラー発生条件が満足されたか否かを判断する。通信成否判断部43は当該所定のエラー発生条件が満足されたと判断される場合に、当該テスト対象との間の通信品質が保たれていないと判断して、テスト対象である無線LAN通信装置を特定する情報とともにリンクレートを下げるべき旨の信号をリンクレート制御部44へ出力する。
具体的にエラー発生条件は、連続してエラーが発生した回数(連続エラー回数)が予め定めた閾値を超えている、などの条件とすることができる。また、連続エラー回数だけでなく、所定時間内のエラー発生回数や、前回エラーが発生した時点から今回エラー発生した時点までの時間を、予め定めた基準時間で除した値が所定閾値を下回る、など、エラーの発生割合に関わる条件としてもよい。
また、通信成否判断部43はエラー発生条件が満足されない(例えば連続エラー回数が「0」である(エラーがない)などの)場合に、テスト対象である無線LAN通信装置を特定する情報とともにリンクレートを上げることが可能である旨の信号をリンクレート制御部44へ出力する。
リンクレート制御部44は、他の無線LAN通信装置から通信開始の要求(アソシエーション・リクエスト等)を受信すると、リンクレートテーブル情報に記録する情報の生成処理を開始し、他の無線LAN通信装置を特定する情報と、予め定められた初期リンクレートを表す情報とを関連付けて、記憶部12または記憶部22内のリンクレートテーブル情報に記録する。ここで初期リンクレートは、設定可能なリンクレートであればどれでもよく、例えば最大のリンクレートであってもよいし、最低のリンクレートであってもよい。
なお、過去の通信において決定されたリンクレートの情報を記憶している場合、つまり、通信開始の要求の送信元である他の無線LAN通信装置を特定する情報に関連付けられたリンクレートの情報が、通信開始の要求があった時点で既に記憶部12または記憶部22内のリンクレートテーブル情報に記録されている可能性がある場合がある。
この場合は、リンクレート制御部44は、他の無線LAN通信装置から通信開始の要求(アソシエーション・リクエスト等)を受信したときに、まず、過去の通信による記録が、記憶部12または記憶部22に格納されたリンクレートテーブル情報に含まれているか否かを調べる。
すなわち、この場合のリンクレート制御部44は、記憶部12または記憶部22に格納されたリンクレートテーブル情報に当該他の無線LAN通信装置を特定する情報に関連付けられたリンクレートの情報が既に格納されているか否かを調べる。そしてリンクレート制御部44は、他の無線LAN通信装置を特定する情報に関連付けてリンクレートテーブル情報にリンクレートの情報が過去の通信により格納されていればそのままこの初期化処理を終了する。
また、リンクレート制御部44は、他の無線LAN通信装置を特定する情報に関連付けてリンクレートテーブル情報にリンクレートの情報が格納されていなければ、他の無線LAN通信装置を特定する情報と、予め定められた初期リンクレートを表す情報とを関連付けて、記憶部12または記憶部22内のリンクレートテーブル情報に記録する。
さらにリンクレート制御部44は、通信成否判断部43が無線LAN通信装置を特定する情報(対象特定情報)とともにリンクレートを下げるべき旨の信号を出力したときには、記憶部12または記憶部22に格納されたリンクレートテーブル情報から当該対象特定情報に関連付けられたリンクレートの情報を読み出す。またリンクレート制御部44は、記憶部12または記憶部22に格納された上限値データベースを参照し、当該上限値データベースに、対象特定情報に関連付けられたリンクレート上限値が記録されているか否かを調べる。
ここで上限値データベースに、対象特定情報に関連付けられたリンクレート上限値が記録されていなければ、リンクレート制御部44は、先に読み出した情報で特定されるリンクレートよりも低い(例えば一段階低い)リンクレートを表す情報を、当該対象特定情報に関連付けられたリンクレートの情報に上書きしてリンクレートテーブル情報を更新する。なお、ここで読み出した情報で特定されるリンクレートが既に最低のリンクレートとなっている場合は、リンクレート制御部44はそのまま処理を終了する(リンクレートの情報を更新しない)。
また上限値データベースに、対象特定情報に関連付けられたリンクレート上限値が記録されていたときには、リンクレート制御部44は、先に読み出した情報で特定されるリンクレートよりも低い(例えば一段階低い)リンクレートが、当該記録されているリンクレート上限値以下であるか否かを調べ、記録されているリンクレート上限値以下であれば、先に読み出した情報で特定されるリンクレートよりも低い(例えば一段階低い)リンクレートを表す情報を、当該対象特定情報に関連付けられたリンクレートの情報に上書きしてリンクレートテーブル情報を更新する。また、先に読み出した情報で特定されるリンクレートよりも低い(例えば一段階低い)リンクレートが、当該記録されているリンクレート上限値以下でなければ、記録されていたリンクレート上限値のリンクレートを表す情報を、当該対象特定情報に関連付けられたリンクレートの情報に上書きしてリンクレートテーブル情報を更新する。
なお、上限値データベースに、対象特定情報に関連付けられたリンクレート上限値が記録されていたときにも、読み出した情報で特定されるリンクレートが既に最低のリンクレートとなっている場合は、リンクレート制御部44はそのまま処理を終了する(リンクレートの情報を更新しない)。
ここで、リンクレート上限値を参照しているのは、リンクレート上限値が動的に変更されている結果、使用しているリンクレートが、設定されたリンクレート上限値を超えることがあるためであり、本実施の形態では、こうした状態においてリンクレートを下げるべき旨の判断があったときに、リンクレート上限値以下のリンクレートに設定する。
さらにリンクレート制御部44は、通信成否判断部43が無線LAN通信装置を特定する情報(対象特定情報)とともにリンクレートを上げることが可能である旨の信号を出力したときには、記憶部12または記憶部22に格納されたリンクレートテーブル情報から当該対象特定情報に関連付けられたリンクレートの情報を読み出す。またリンクレート制御部44は、記憶部12または記憶部22に格納された上限値データベースを参照し、当該上限値データベースに、対象特定情報に関連付けられたリンクレート上限値が記録されているか否かを調べる。
ここで上限値データベースに、対象特定情報に関連付けられたリンクレート上限値が記録されていなければ、リンクレート制御部44は、先にリンクレートテーブル情報から読み出した情報で特定されるリンクレートよりも高い(例えば一段階高い)リンクレートを表す情報を、当該対象特定情報に関連付けられたリンクレートの情報に上書きしてリンクレートテーブル情報を更新する。なお、ここで読み出した情報で特定されるリンクレートが既に最大のリンクレートとなっている場合は、リンクレート制御部44はそのまま処理を終了する(リンクレートの情報を更新しない)。
一方、上限値データベースに、対象特定情報に関連付けられたリンクレート上限値が記録されていたときには、リンクレート制御部44は、先にリンクレートテーブル情報から読み出した情報で特定されるリンクレートよりも高い(例えば一段階高い)リンクレートを候補リンクレートとして、当該候補リンクレートが上記記録されていたリンクレート上限値より大きいか否かを調べる。ここで候補リンクレートが上記記録されていたリンクレート上限値より大きい場合は、リンクレート制御部44はそのまま処理を終了する(リンクレートの情報を更新しない)。
また、候補リンクレートが上記記録されていたリンクレート上限値より大きくなければ、リンクレート制御部44は、候補リンクレートを表す情報を、当該対象特定情報に関連付けられたリンクレートの情報に上書きしてリンクレートテーブル情報を更新する。
本実施の形態の無線LAN通信システムでは、親機10、中継機20、及び子機30が上述のように構成され、次の例のように動作する。以下の例では、図3に例示するように、親機10が中継機20aと子機30aとの間の通信を中継し、中継機20aが親機10、中継機20b、及び子機30bとの間で通信を行い、中継機20bが中継機20a、及び子機30cとの間で通信を行っている場合を例として説明する。なお、本実施形態の中継機20はアクセスポイント機能部40を有し、クライアント機能部を有する子機30との間で無線LAN接続するとともに、クライアント機能部またはWDS(Wireless Distribution System)機能により、当該中継機20は親機10との間で通信する。つまり、本実施形態の中継機20は、上記の無線LAN接続と自身が有する中継機能により、子機30と親機10との間の無線通信を中継する。
この例において、親機10は中継機20aからアソシエーション・リクエストを受けたときに、当該アソシエーション・リクエストに含まれていた情報に基づいて、中継機20aが特定のリンクレート制御の対象、つまり対象機器であると判断しているものとする。子機30aについてはアソシエーション・リクエストに対象機器である旨の情報を含めないため、親機10は子機30aを対象機器であるとは判断しない。
また中継機20aは、中継機20bからアソシエーション・リクエストを受けたときに、当該アソシエーション・リクエストに含まれていた情報に基づいて、中継機20bが特定のリンクレート制御の対象、つまり対象機器であると判断する。中継機20aは、子機30bがアソシエーション・リクエストに対象機器である旨の情報を含めないため、子機30bを対象機器であるとは判断しない。さらに中継機20bは、子機30cがアソシエーション・リクエストに対象機器である旨の情報を含めないため、子機30cを対象機器であるとは判断していない。
この例において、親機10は、中継機20aに対して情報の送信が行われるときに、その送信スループットを1秒ごとに繰り返し測定し、直近3回分の測定結果を、対象機器である無線LAN通信装置を特定する情報に関連付けて記憶部12に記録する。親機10はまた3回分の測定結果が少なくとも得られた後、例えば2秒経過ごとに、対象機器である中継機20aについて
(1)直近3回分の測定結果の平均値Saveと、
(2)最後に測定した送信スループットの測定結果Slastと
のうち、大きい方S=MAX[Save,Slast]の値を用いて、中継機20aに対するリンクレート上限値LRlimitを、LRlimit=MAX[Save,Slast]×α(αは、ここで例えば1.5としておく)とし、設定可能なリンクレートの値の候補{LR1=6Mbps,LR2=9Mbps,LR3=12Mbps,…}のうち、LRi≦LRlimitなる最大のLRiを、リンクレート上限として選択する。例えばここではリンクレート上限が36Mbpsと定められたものとする。
親機10はそして、中継機20aを特定する情報と、上記決定したリンクレート上限値36Mbpsとを関連付けて、上限値データベースとして記憶部12に格納しておく。また親機10は、子機30aについては対象機器でないため、リンクレート上限値を定めない。
中継機20aは、中継機20bに対して情報の送信が行われるときに、その送信スループットを1秒ごとに繰り返し測定し、直近3回分の測定結果を、対象機器である無線LAN通信装置を特定する情報に関連付けて記憶部22に記録する。中継機20aはまた3回分の測定結果が少なくとも得られた後、例えば2秒経過ごとに、対象機器である中継機20bについて
(1)直近3回分の測定結果の平均値Saveと、
(2)最後に測定した送信スループットの測定結果Slastと
のうち、大きい方S=MAX[Save,Slast]の値を用いて、中継機20bに対するリンクレート上限値LRlimitを、LRlimit=MAX[Save,Slast]×α(αは、ここで例えば1.5としておく)とし、設定可能なリンクレートの値の候補{LR1=6Mbps,LR2=9Mbps,LR3=12Mbps,…}のうち、LRi≦LRlimitなる最大のLRiを、リンクレート上限として選択する。
中継機20aはそして、中継機20bを特定する情報と、上記決定したリンクレート上限値LRiとを関連付けて、上限値データベースとして記憶部22に格納しておく。また中継機20aは、子機30bについては対象機器でないため、リンクレート上限値を定めない。
以下、親機10は中継機20aに対して、所定の回数だけテストパケットを送出する。このテストパケットはこの時点で中継機20aとの間で定められているリンクレート(例えば12Mbpsとする)で行われる。ここで親機10から中継機20aへのテストパケットの送信において、エラーが生じなかったときには、親機10はリンクレートを上げることが可能であると判断し、現在のリンクレート12Mbpsよりも、例えば一段階高いリンクレート18Mbpsを候補とする。この候補であるリンクレート18Mbpsは、中継機20aについて定められたリンクレート上限値36Mbpsよりも低いので、図4(a)に例示するように、親機10は中継機20aに対するリンクレートを18Mbpsに変更する(P)。
その後、親機10は中継機20aに対して、所定のタイミングごとに、このテストパケットの送出によるエラー発生の有無の確認(通信成否の判断)を行い、エラーが生じなかったときにリンクレートを18Mbps→24Mbps→36Mbpsと高めていく。そして親機10は、リンクレートが36Mbpsであるときに、通信成否の判断の結果、エラーが生じなかったとしたときには、その時点でのリンクレート36Mbpsよりも、例えば一段階高いリンクレート48Mbpsを候補とする。しかしながら候補となったリンクレート48Mbpsは、中継機20aについて定められたリンクレート上限値36Mbpsよりも大きいので、図4(a)に例示されているように、親機10は中継機20aに対するリンクレートを36Mbpsから変更しない(Q)。
一方、子機30aに対しても親機10は、同様に、所定のタイミングごとに、テストパケットの送出によるエラー発生の有無の確認(通信成否の判断)を行う。そして例えば当初のリンクレートが12Mpbsであったときに、その後の通信成否の判断でエラーが発生しなかったときには、親機10はこの子機30aに対する無線通信のリンクレートを、12Mbps→18Mbps→24Mbps→36Mbps→48Mbps→54Mbpsと上昇させる。ここで子機30aに対してはリンクレート上限値が定められていないので、エラーが生じない限り、親機10は、最大のリンクレート(例えば54Mbps)まで、この子機30aとの間の無線通信のリンクレートを上昇させる(図4(b))。
また中継機20aでも同様に、中継機20bに対してはリンクレート上限値を設定し、当該リンクレート上限値を限度として、リンクレート上限値以下のリンクレートを設定して通信を行う(図4(a)と同様)が、子機30bに対しては従来と同様に、リンクレート上限値を設けることなく、通信成否の判断に応じてリンクレートを設定して通信を行う(図4(b)の例と同様)。さらに中継機20bでも同様に、子機30cに対してはリンクレート上限値を設けることなく、通信成否の判断に応じてリンクレートを設定して通信を行うこととなる。
[成否判断回数を通信相手の種別で異ならせる例]
また上述の通り、通信成否判断部43は、無線通信の相手先である無線LAN通信装置ごとに、情報の送受を行う際にその無線通信の成否を判断するのであるが、当該判断の際のテストパケットの送出回数(成否判断回数)を無線通信の相手先である無線LAN通信装置の種別により異ならせてもよい。
例えばこの通信成否判断部43は、所定のタイミングが到来するごとに、無線通信の相手先である無線LAN通信装置を順次、判断対象として選択する。そして判断対象を選択すると、通信成否判断部43は、記憶部12または記憶部22に格納された、種別データベースを参照し、当該選択した判断対象を特定する情報が、種別データベースに記録されているか(判断対象は対象機器であるか)否かを調べる。
ここで選択した判断対象を特定する情報が、種別データベースに記録されていない(判断対象が対象機器でない:種別「1」である)ときには、通信成否判断部43は成否判断回数を、対象機器でないものについて予め定められた回数N1とする。また選択した判断対象を特定する情報が、種別データベースに記録されている(判断対象が対象機器である:種別「2」である)ときには、通信成否判断部43は成否判断回数を、対象機器について予め定められた回数N2とする。ここで回数N1,N2は、いずれも2以上の整数とする。またN1<N2としてもよい。
そして通信成否判断部43は、判断対象として選択した無線LAN通信装置に対して当該定めた成否判断回数だけ繰り返してテストパケットを送出する。このテストパケットの送出は、この時点で宛先となる無線LAN通信装置(テスト対象と呼ぶ)について定められたリンクレートで行われる。そして通信成否判断部43は、テスト対象から受信確認応答がなかった場合をエラーとして、上記送出したテストパケットに対して連続してエラーが発生した回数(連続エラー回数)を調べる。通信成否判断部43はこの連続エラー回数が予め定めたエラー回数閾値を超える場合に、当該テスト対象との間の通信品質が保たれていないと判断して、テスト対象である無線LAN通信装置を特定する情報とともにリンクレートを下げるべき旨の信号を出力する(リンクレートの下降制御)。
また、通信成否判断部43はこの連続エラー回数が「0」である(エラーがない)場合、または上記エラー回数閾値を超えない場合に、テスト対象である無線LAN通信装置を特定する情報とともにリンクレートを上げることが可能である旨の信号を出力する(リンクレートの上昇制御)。
なお、ここではリンクレートを下げるか否かの判断と、上げることが可能か否かの判断とにおいて同じ回数N1またはN2を用いているが本実施の形態はこれに限られない。例えば通信成否判断部43は、判断対象として選択した無線LAN通信装置に対して当該定めた成否判断回数だけ繰り返してテストパケットを送出するが、この送出中、直近M回(MはN1,N2…のうち最小のもの以下とする)のテストパケットに対して連続してエラーが発生した回数(連続エラー回数)を調べる。通信成否判断部43はこの連続エラー回数が予め定めたエラー回数閾値を超える場合に、当該テスト対象との間の通信品質が保たれていないと判断して、テスト対象である無線LAN通信装置を特定する情報とともにリンクレートを下げるべき旨の信号を出力する(リンクレートの下降制御をする)こととしてもよい。
そしてこの場合、通信成否判断部43は上記判断対象として選択した無線LAN通信装置に対して当該定めた成否判断回数のテストパケットのすべてについてエラーがない場合に、テスト対象である無線LAN通信装置を特定する情報とともにリンクレートを上げることが可能である旨の信号を出力する(リンクレートの上昇制御をする)こととしてもよい。
この例によると、無線通信の相手先の種別に応じて互いに異なる成否判断回数(N1,N2…)を定めるものの、リンクレートを下降制御するか否かの判断においては相手先の種別に関わらずに定められた所定M回(M≦N1<N2<…)のうちに通信にエラーが生じたときに下降制御をすることとし、一方、上昇制御するか否かの判断においては、無線通信の相手先の種別に応じて互いに異なる成否判断回数(N1,N2…)だけ続けて、通信にエラーが生じないことを条件とすることとなる。
このように構成した場合、図3に示した例における各無線LAN通信装置は次のように動作することとなる。なおこの場合も、親機10は中継機20aからアソシエーション・リクエストを受けたときに、当該アソシエーション・リクエストに含まれていた情報に基づいて、中継機20aが特定のリンクレート制御の対象、つまり対象機器であると判断しているものとするので、中継機20aについてはリンクレート上限値を定める(例えばここではリンクレート上限が36Mbpsと定められたものとする)。また子機30aについてはアソシエーション・リクエストに対象機器である旨の情報を含めないため、親機10は子機30aを対象機器であるとは判断しない。
中継機20aも同様に、中継機20bからアソシエーション・リクエストを受けたときに、当該アソシエーション・リクエストに含まれていた情報に基づいて、中継機20bが特定のリンクレート制御の対象、つまり対象機器であると判断するので、中継機20bについてはリンクレート上限値を定める。また子機30bについてはアソシエーション・リクエストに対象機器である旨の情報を含めないため、中継機20aは子機30bを対象機器であるとは判断しない。さらに中継機20bは、子機30cがアソシエーション・リクエストに対象機器である旨の情報を含めないため、子機30cを対象機器であるとは判断しない。
通信が開始された後、親機10は所定のタイミングが到来すると、無線通信の相手先である中継機20aと子機30aとを順次、判断対象として選択する。親機10は、例えばまず中継機20aを判断対象とする。そして親機10は、記憶部12に格納された、種別データベースを参照し、当該選択した判断対象である中継機20aを特定する情報が、種別データベースに記録されているか(判断対象である中継機20aは対象機器であるか)否かを調べる。
ここで中継機20aは対象機器であるので、親機10は成否判断回数を、対象機器について予め定められた回数N2(例えば10回)とする。
このテストパケットはこの時点で中継機20aとの間で定められているリンクレート(例えば12Mbpsとする)で行われる。ここで親機10から中継機20aへのN2回のテストパケットの送信において、エラーが生じなかったときには、親機10はリンクレートを上げることが可能であると判断し、現在のリンクレート12Mbpsよりも、例えば一段階高いリンクレート18Mbpsを候補とする。この候補であるリンクレート18Mbpsは、中継機20aについて定められたリンクレート上限値36Mbpsよりも低いので、図4(a)に例示するように、親機10は中継機20aに対するリンクレートを18Mbpsに変更する(P)。
また、この親機10から中継機20aへのテストパケットの送信において、例えば予め定められた回数M(M<N2)である3回のうちに、エラーが発生したときには、親機10は中継機20aに対するリンクレートを下降制御し、現在のリンクレート12Mbpsよりも、例えば一段階低いリンクレートである9Mbpsに変更する。
次に親機10は、無線通信の相手先である子機30aを判断対象として選択する。親機10は、記憶部12に格納された、種別データベースを参照し、当該選択した判断対象である子機30aを特定する情報が、種別データベースに記録されているか(判断対象である子機30aは対象機器であるか)否かを調べる。
ここで子機30aは対象機器でないので、親機10は成否判断回数を、対象機器でないものについて予め定められた回数N1(例えば3回)とする。
このテストパケットはこの時点で子機30aとの間で定められているリンクレート(例えば12Mbpsとする)で行われる。ここで親機10から子機30aへのテストパケットの送信において、エラーが生じなかったときには、親機10はリンクレートを上げることが可能であると判断し、現在のリンクレート12Mbpsよりも、例えば一段階高いリンクレート18Mbpsに変更する。
また、この親機10から子機30aへのテストパケットの送信において、例えば予め定められた回数M(M≦N1)である3回のうちに、エラーが発生したときには、親機10は子機30aに対するリンクレートを下降制御し、現在のリンクレート12Mbpsよりも、例えば一段階低いリンクレートである9Mbpsに変更する。
その後、親機10は中継機20a,子機30aのそれぞれに対して、所定のタイミングごとに、このテストパケットの送出によるエラー発生の有無の確認(通信成否の判断)を行う。そして中継機20aについては、それぞれの通信成否の判断において、N2回のテストパケットのすべてにおいてエラーが生じなければ、リンクレートを18Mbps→24Mbps→36Mbpsと段階的に高めていく。そして親機10は、リンクレートが36Mbpsであるときに、通信成否の判断の結果、エラーが生じなかったとしたときには、その時点でのリンクレート36Mbpsよりも、例えば一段階高いリンクレート48Mbpsを候補とする。しかしながら候補となったリンクレート48Mbpsは、中継機20aについて定められたリンクレート上限値36Mbpsよりも大きいので、図4(a)に例示されているように、親機10は中継機20aに対するリンクレートを36Mbpsから変更しない(Q)。
一方、子機30aに対してもそれぞれの通信成否の判断において、N1回のテストパケットのすべてにおいてエラーが生じなければ、親機10はこの子機30aに対する無線通信のリンクレートを、12Mbps→18Mbps→24Mbps→36Mbps→48Mbps→54Mbpsと上昇させる。ここで子機30aに対してはリンクレート上限値が定められていないので、エラーが生じない限り、親機10は、最大のリンクレート(例えば54Mbps)まで、この子機30aとの間の無線通信のリンクレートを上昇させる(図4(b))。
また中継機20aでも同様に、中継機20bに対してはリンクレート上限値を設定する。そして中継機20aは、中継機20bに対する通信成否の判断において、N2回のテストパケットの送信を行い、そのすべてでエラーが生じなかったときに、リンクレートを上げることが可能であると判断し、上記リンクレート上限値を限度として、リンクレート上限値以下のリンクレートを設定して通信を行う(図4(a)と同様)。また、予め定められた回数M(M<N2)のうちにエラーが発生したときには、中継機20aは中継機20bに対するリンクレートを下降制御し、リンクレートを低下させる。
また中継機20aは、子機30bに対してはリンクレート上限値を設けない。そして中継機20aは、子機30bに対する通信成否の判断において、N1回(ここでは例えばN1<N2とする)のテストパケットの送信を行い、そのすべてでエラーが生じなかったときに、リンクレートを上げることが可能であると判断し、一段階高めたリンクレートを設定して通信を行う(図4(b)と同様)。また、予め定められた回数M(M<N2)のうちにエラーが発生したときには、中継機20aは子機30bに対するリンクレートを下降制御し、リンクレートを低下させる。
なお、中継機20bでも同様に、子機30cに対してはリンクレート上限値を設けることなく、中継機20aの子機30bに対する通信成否の判断と同様にリンクレートを設定して通信を行うこととなる。
この動作により、リンクレートの変更頻度が無線通信の相手先の種別に応じて変わる(子機は比較的少ないテストパケットでエラーがなければリンクレートが上昇するのに対して、中継機等は比較的多くのテストパケットでエラーが出ない限りリンクレートが上昇しない)こととなり、無線通信の相手先の種別ごとの事情に合わせたリンクレート設定が行われ、無線通信の安定化に資することとなる。
[リンクレートの上昇速度を制御する例]
さらに本実施の形態のこの例では、成否判断回数を通信相手の種別だけでなく、通信相手に対して定めたリンクレート上限値に基づいて異ならせてもよい。
この例では通信成否判断部43が次のように動作する。すなわち所定のタイミングが到来するごとに、通信成否判断部43は無線通信の相手先である無線LAN通信装置を順次、判断対象として選択する。そして判断対象を選択すると、通信成否判断部43は、記憶部12または記憶部22に格納された、種別データベースを参照し、当該選択した判断対象を特定する情報が、種別データベースに記録されているか(判断対象は対象機器であるか)否かを調べる。
ここで選択した判断対象を特定する情報が、種別データベースに記録されていない(判断対象が対象機器でない:種別「1」である)ときには、通信成否判断部43は成否判断回数を、対象機器でないものについて予め定められた回数N1とする。
また選択した判断対象を特定する情報が、種別データベースに記録されている(判断対象が対象機器である:種別「2」である)ときには、通信成否判断部43は成否判断回数を、対象機器について予め定められた回数N2と、その時点で当該判断対象である無線LAN通信装置に対して定められたリンクレートL、及び当該判断対象である無線LAN通信装置を特定する情報に関連付けて上限値データベースに記録されているリンクレート上限値LRlimitとに基づいて定める。
具体的にここで通信成否判断部43はこの判断対象についての成否判断回数Nを、
N=[N2×(1−LRlimit/L×γ)]
とする。ここで[*]は*を越えない最大の整数値、γは適宜に定められる係数としておく。
本実施の形態の一例ではN2=10とし、γ=0.1とする。この場合、例えば処理の時点で対象機器について定められたリンクレートL=9Mbps、リンクレート上限値LRlimit=48Mbpsであれば、
N=[3×(1−48/9×0.1)]=4
となる。またリンクレート上限値LRlimit=48Mbpsとして、処理の時点で対象機器について定められたリンクレートLがそれぞれ12Mbps、18Mbps、…36Mbpsであれば、
N=[3×(1−48/12×0.1)]=6
N=[3×(1−48/18×0.1)]=7
…
N=[3×(1−48/36×0.1)]=8
となる。なお、ここで回数N1,N2は、いずれも2以上の整数であり、N1<N2としてもよい。
通信成否判断部43は、判断対象として選択した無線LAN通信装置に対して当該定めた成否判断回数だけ繰り返してテストパケットを送出する。このテストパケットの送出は、この時点で宛先となる無線LAN通信装置(テスト対象と呼ぶ)について定められたリンクレートで行われる。そして通信成否判断部43は、テスト対象から受信確認応答がなかった場合をエラーとして、上記送出したテストパケットに対して連続してエラーが発生した回数(連続エラー回数)を調べる。通信成否判断部43はこの連続エラー回数が予め定めたエラー回数閾値を超える場合に、当該テスト対象との間の通信品質が保たれていないと判断して、テスト対象である無線LAN通信装置を特定する情報とともにリンクレートを下げるべき旨の信号を出力する(リンクレートの下降制御)。
また、通信成否判断部43はこの連続エラー回数が「0」である(エラーがない)場合に、テスト対象である無線LAN通信装置を特定する情報とともにリンクレートを上げることが可能である旨の信号を出力する(リンクレートの上昇制御)。
なお、この場合も、リンクレートを下げるか否かの判断と、上げることが可能か否かの判断とにおいて同じ回数N1またはN(上記N2,L,LRlimitを用いて定められる回数)を用いることに代えて、下降制御をするか否かの判断では、テストパケットの送出中、直近M回(MはN1,N2…のうち最小のもの以下とする)のテストパケットに対して連続してエラーが発生した回数(連続エラー回数)が予め定めたエラー回数閾値を超える場合に、当該テスト対象との間の通信品質が保たれていないと判断して、テスト対象である無線LAN通信装置を特定する情報とともにリンクレートを下げるべき旨の信号を出力する(リンクレートの下降制御をする)こととしてもよい。
本実施の形態のこの例によると、対象機器となっている無線LAN通信装置に対する通信にエラーが生じないときに、リンクレートが9Mbpsであるときには4回つづけてエラーが発生しなければリンクレートが一段階上昇して12Mbpsとなり、リンクレートが12Mbpsであるときには6回つづけてエラーが発生しなければリンクレートが一段階上昇して18Mbpsとなる。これによると、親機10または中継機20は、現在のリンクレートとリンクレート上限値との差が大きいほど(リンクレート上限値までの余裕があるほど)迅速にリンクレートを上昇させるよう制御することとなる。またこのような制御の例は、上述の方法に限られず、例えば上昇制御をするか否かを判断する際のエラー回数閾値を現在のリンクレートとリンクレート上限値との差が大きいほど大きくなるようにしてもよい(この場合エラーが生じなかった回数がエラー回数閾値を下回ればリンクレートが上昇制御される)。また、上述のような演算ではなく、予め処理時点のリンクレートに応じて成否判断回数を定めておいてもよい。
[リンクレート上限の設定を行わない例]
ここまでに説明したように、本実施の形態のある例では、
(1)無線LAN通信装置を、中継機等、位置を固定して配される機器と、子機等の移動を前提とした機器とに種別分けし、
(2)種別によってはリンクレート上限値を設け、
(3)無線LAN通信機器ごとに、当該無線LAN通信機器の種別に応じて定めた無線通信の成否判断回数だけ無線通信の成否を判断してリンクレートを上昇制御するか否かを決定し、
(4)上昇制御する場合は、上昇制御の対象とした無線LAN通信機器についてリンクレート上限値が設けられていれば、当該リンクレート上限値よりも低いリンクレートの範囲で上昇制御を行う。
しかしながら、本実施の形態はこれに限られるものではなく、例えばいずれの種別においてもリンクレート上限値を設けないこととしてもよい。
この場合、本実施の形態の、親機10の制御部11と、中継機20の制御部21は、それぞれ記憶部12または記憶部22に格納されたプログラムに従って動作することで、図5に例示するように、アクセスポイント機能部40としての機能を実現する。このアクセスポイント機能部40はアクセスポイント機能としての動作を行うもので、本実施の形態では通信先種別判断部41と、通信成否判断部43と、リンクレート制御部44′としての機能を実現することとなる。なお、既に説明したものと同様の動作を行う構成については同じ符号を付して、繰り返しての説明を省略する。
この例においてリンクレート制御部44′は、他の無線LAN通信装置から通信開始の要求(アソシエーション・リクエスト等)を受信したときの動作、また通信成否判断部43からリンクレートを下げるべき旨の信号を受けたときの動作は、既に説明したリンクレート制御部44と同様であるが、通信成否判断部43からリンクレートを上げることが可能である旨の信号を受けたときの動作が次のように、少々異なる。
すなわちリンクレート制御部44′は、通信成否判断部43が無線LAN通信装置を特定する情報(対象特定情報)とともにリンクレートを上げることが可能である旨の信号を出力したときには、記憶部12に格納されたリンクレートテーブル情報から当該対象特定情報に関連付けられたリンクレートの情報を読み出す。
そしてリンクレート制御部44′は、当該リンクレートテーブル情報から読み出した情報で特定されるリンクレートよりも高い(例えば一段階高い)リンクレートを表す情報を、当該対象特定情報に関連付けられたリンクレートの情報に上書きしてリンクレートテーブル情報を更新する。なお、ここで読み出した情報で特定されるリンクレートが既に最大のリンクレートとなっている場合は、リンクレート制御部44′はそのまま処理を終了する(リンクレートの情報を更新しない)。
つまりこの例では、上限値データベースが設定されないため、リンクレート制御部44′はリンクレート上限値を考慮しない動作を行うこととなる。
[テストパケット以外での動作]
またここまでの例では、通信成否判断部43が通信の成否を判断する際には、通信成否の判断のためにテストパケットを送出することとしていたが、本実施の形態はこれに限られず、ユーザデータを含んだデータパケットを用いて通信の成否を判断することとしてもよい。具体的に、本実施の形態の無線LAN通信装置は、ユーザデータを含んだデータパケットの通信が失敗したときに、当該データパケットを再送するが、この再送されるデータパケットが上述のテストパケットの代わりとなる。なお、再送を行う際に、その時点でのリンクレートよりも低い(例えば一段階低い)リンクレートを用いて再送するよう、リンクレートの情報の設定を変更してもよい。
また通信成否判断部43は、通信の相手先との間の通信スループットの実績情報を得て、当該実績情報に基づいて、リンクレートを設定する情報を出力してもよい。例えば通信成否判断部43は、通信の相手先である無線LAN通信装置ごとに次の処理を行う。すなわち通信成否判断部43は、所定のタイミングごとに繰り返して情報の送受を行っている通信の相手先である無線LAN通信装置との通信のスループットを計測し、その直近複数回を記憶しておく。そして通信成否判断部43は、通信の相手先である無線LAN通信装置ごとに記憶した、直近複数回の通信のスループットの計測結果に対する所定の統計演算(例えば平均等)を実績情報として得る。また実績情報は、最後に計測された通信のスループットそのものとしてもよい。
通信成否判断部43は、無線通信の相手先である無線LAN通信装置ごとに演算された実績情報TPと、当該無線LAN通信装置に対して設定された現在のリンクレートLRとの比R=TP/LRを求める。
また、この比Rについて予め複数のしきい値Rth1,Rth2…(Rth1>Rth2>…)を定め、各しきい値に対してリンクレートを何段階上昇または下降させるかを表す情報を関連付けて記憶部12または記憶部22に格納しておく。通信成否判断部43は、無線通信の相手先である無線LAN通信装置ごとに求めた比Rと、このしきい値とを比較して、この比を越えない最大のしきい値Rthnを得る。そして当該得られたしきい値Rthnに対して関連付けられていた情報によって特定される段階(例えば段階LS)だけリンクレートを上昇または下降させるべき旨の情報を、対応する無線通信の相手先である無線LAN通信装置を特定する情報とともに出力する。
この例では、リンクレート制御部44,44′は、リンクレートを上昇または下降させることとしたときには、当該通信成否判断部43から入力される指示に基づき、指示された段階LSだけリンクレートの上昇または下降を試みる。このとき段階s<LSだけ上昇させるとリンクレート上限値(設定されている場合)、または設定可能なリンクレートの上限に至ってしまう場合は、リンクレート制御部44,44′は、上記指示に含まれる情報で特定される無線LAN通信装置との通信に係るリンクレートを、当該リンクレート上限値(設定されている場合)または設定可能なリンクレートの上限に設定する。
また同様に、このとき段階s<LSだけ下降させると設定可能なリンクレートの下限に至ってしまう場合は、リンクレート制御部44,44′は、上記指示に含まれる情報で特定される無線LAN通信装置との通信に係るリンクレートを、当該設定可能なリンクレートの下限に設定する。
[種別の数]
また上述のように、制御対象装置であっても、通信経路の事情など、通信速度の変動要因の相違に応じて複数の種別に分けてリンクレート上限値の設定方法や、通信成否の成否判断回数を制御してもよい。一例として、本実施の形態では、通信相手が固定した場所に配置される過去の通信実績等から判断して比較的エラーの発生しやすい(リンクレートの下降制御の回数や頻度(単位時間あたりの回数)が閾値以上であるなど)制御対象装置であるとの種別と、そうでない制御対象装置であるとの種別とに分けて制御(上限値の設定の仕方を変える)してもよい。
[アップリンクへの適用]
なお、ここまでの例では、親機から中継機、親機側の中継機から他の中継機、親機または中継機から子機への通信(ダウンリンク)に基づいてリンクレート上限値や、成否判断回数、実際のリンクレートなどを定めていたが、本実施の形態においては、子機側から親機や中継機への通信等アップリンクの通信についても同様に、当該アップリンクの通信に基づいてリンクレート上限値や、成否判断回数、実際のリンクレートなどを定めてもよい。